@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 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite WAL mode helper with NFS/SMB/FUSE fallback to DELETE (ADR D63).
|
|
3
|
+
*
|
|
4
|
+
* WAL is faster (concurrent readers + one writer) but unsupported on some
|
|
5
|
+
* network/FUSE filesystems. Try WAL; if the pragma returns something else
|
|
6
|
+
* or throws, fall back to DELETE journal mode. Warn one time per label.
|
|
7
|
+
*
|
|
8
|
+
* This block is the MODULE header and must stay at offset 0. Sitting below the import it became a
|
|
9
|
+
* leading comment of the first declaration instead, which is how its tag deleted `PragmaCapable`
|
|
10
|
+
* from the emitted `.d.ts` while `applyWalWithFallback` — which names it — survived.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* The narrow slice of a SQLite handle this module needs: anything with a `pragma()` method, which
|
|
14
|
+
* `better-sqlite3` satisfies without being named here.
|
|
15
|
+
*
|
|
16
|
+
* Not exported, but it appears in the signature of `applyWalWithFallback`, so it is emitted into
|
|
17
|
+
* the published declarations and a consumer can structurally satisfy it.
|
|
18
|
+
*/
|
|
19
|
+
interface PragmaCapable {
|
|
20
|
+
pragma: (statement: string, options?: {
|
|
21
|
+
simple?: boolean;
|
|
22
|
+
}) => unknown;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* What journal mode a connection ended up in after `applyWalWithFallback`.
|
|
26
|
+
*
|
|
27
|
+
* `mode` is the mode actually in effect, never the one that was requested. `fellBack` is `true`
|
|
28
|
+
* only when WAL was attempted and refused — either the pragma threw or it reported a mode other
|
|
29
|
+
* than `wal` — and the connection was put into DELETE instead.
|
|
30
|
+
*
|
|
31
|
+
* `fellBack: true` is normal on NFS, SMB and FUSE, where WAL needs shared memory the filesystem
|
|
32
|
+
* does not provide. It is not an error and nothing further is required of the caller; the
|
|
33
|
+
* consequence is slower concurrent access, since DELETE mode does not allow readers alongside a
|
|
34
|
+
* writer. Treat it as a signal about the storage, not about the database.
|
|
35
|
+
*
|
|
36
|
+
* @public — re-exported from the semver-protected `@theokit/sdk/persistence` barrel, and (for
|
|
37
|
+
* back-compat) from the semver-exempt `@theokit/sdk/internal/persistence` alias.
|
|
38
|
+
*/
|
|
39
|
+
export interface WalApplyResult {
|
|
40
|
+
/** Final journal_mode actually in effect. */
|
|
41
|
+
mode: "wal" | "delete";
|
|
42
|
+
/** True if we wanted WAL but the filesystem refused. */
|
|
43
|
+
fellBack: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Apply WAL mode with DELETE fallback. Idempotent — safe to call multiple
|
|
47
|
+
* times on the same connection.
|
|
48
|
+
*
|
|
49
|
+
* @param db any `pragma()`-capable SQLite handle (e.g., `better-sqlite3`)
|
|
50
|
+
* @param label short identifier used in the warning (e.g., "memory-index")
|
|
51
|
+
*
|
|
52
|
+
*/
|
|
53
|
+
export declare function applyWalWithFallback(db: PragmaCapable, label: string): WalApplyResult;
|
|
1
54
|
export {};
|
|
@@ -1 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite WAL mode helper with NFS/SMB/FUSE fallback to DELETE (ADR D63).
|
|
3
|
+
*
|
|
4
|
+
* WAL is faster (concurrent readers + one writer) but unsupported on some
|
|
5
|
+
* network/FUSE filesystems. Try WAL; if the pragma returns something else
|
|
6
|
+
* or throws, fall back to DELETE journal mode. Warn one time per label.
|
|
7
|
+
*
|
|
8
|
+
* This block is the MODULE header and must stay at offset 0. Sitting below the import it became a
|
|
9
|
+
* leading comment of the first declaration instead, which is how its tag deleted `PragmaCapable`
|
|
10
|
+
* from the emitted `.d.ts` while `applyWalWithFallback` — which names it — survived.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* The narrow slice of a SQLite handle this module needs: anything with a `pragma()` method, which
|
|
14
|
+
* `better-sqlite3` satisfies without being named here.
|
|
15
|
+
*
|
|
16
|
+
* Not exported, but it appears in the signature of `applyWalWithFallback`, so it is emitted into
|
|
17
|
+
* the published declarations and a consumer can structurally satisfy it.
|
|
18
|
+
*/
|
|
19
|
+
interface PragmaCapable {
|
|
20
|
+
pragma: (statement: string, options?: {
|
|
21
|
+
simple?: boolean;
|
|
22
|
+
}) => unknown;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* What journal mode a connection ended up in after `applyWalWithFallback`.
|
|
26
|
+
*
|
|
27
|
+
* `mode` is the mode actually in effect, never the one that was requested. `fellBack` is `true`
|
|
28
|
+
* only when WAL was attempted and refused — either the pragma threw or it reported a mode other
|
|
29
|
+
* than `wal` — and the connection was put into DELETE instead.
|
|
30
|
+
*
|
|
31
|
+
* `fellBack: true` is normal on NFS, SMB and FUSE, where WAL needs shared memory the filesystem
|
|
32
|
+
* does not provide. It is not an error and nothing further is required of the caller; the
|
|
33
|
+
* consequence is slower concurrent access, since DELETE mode does not allow readers alongside a
|
|
34
|
+
* writer. Treat it as a signal about the storage, not about the database.
|
|
35
|
+
*
|
|
36
|
+
* @public — re-exported from the semver-protected `@theokit/sdk/persistence` barrel, and (for
|
|
37
|
+
* back-compat) from the semver-exempt `@theokit/sdk/internal/persistence` alias.
|
|
38
|
+
*/
|
|
39
|
+
export interface WalApplyResult {
|
|
40
|
+
/** Final journal_mode actually in effect. */
|
|
41
|
+
mode: "wal" | "delete";
|
|
42
|
+
/** True if we wanted WAL but the filesystem refused. */
|
|
43
|
+
fellBack: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Apply WAL mode with DELETE fallback. Idempotent — safe to call multiple
|
|
47
|
+
* times on the same connection.
|
|
48
|
+
*
|
|
49
|
+
* @param db any `pragma()`-capable SQLite handle (e.g., `better-sqlite3`)
|
|
50
|
+
* @param label short identifier used in the warning (e.g., "memory-index")
|
|
51
|
+
*
|
|
52
|
+
*/
|
|
53
|
+
export declare function applyWalWithFallback(db: PragmaCapable, label: string): WalApplyResult;
|
|
1
54
|
export {};
|
|
@@ -70,7 +70,6 @@ export declare function forkTranscript(src: string, dst: string, options?: ForkT
|
|
|
70
70
|
export interface ReadJsonlTailOptions {
|
|
71
71
|
/** Maximum records to return, counted from the END. */
|
|
72
72
|
readonly maxRecords?: number;
|
|
73
|
-
/** Stop once a line contains this marker (exclusive). */
|
|
74
73
|
/**
|
|
75
74
|
* Start the window AFTER the last record whose `subtype` (or `type`) equals this.
|
|
76
75
|
*
|
|
@@ -81,4 +80,11 @@ export interface ReadJsonlTailOptions {
|
|
|
81
80
|
/** Test-only: also report how many bytes were read, to prove the read is not whole-file. */
|
|
82
81
|
readonly _stats?: boolean;
|
|
83
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Read the LAST records of a JSONL file without loading the whole thing.
|
|
85
|
+
*
|
|
86
|
+
* Reads fixed-size chunks backwards from EOF until enough newlines have been seen. A session
|
|
87
|
+
* transcript grows without bound; loading megabytes to show the last three turns is the cost this
|
|
88
|
+
* exists to avoid — and a `slice` over a full read would be that same cost with a better name.
|
|
89
|
+
*/
|
|
84
90
|
export declare function readJsonlTail<T = Record<string, unknown>>(path: string, options?: ReadJsonlTailOptions): T[];
|
|
@@ -70,7 +70,6 @@ export declare function forkTranscript(src: string, dst: string, options?: ForkT
|
|
|
70
70
|
export interface ReadJsonlTailOptions {
|
|
71
71
|
/** Maximum records to return, counted from the END. */
|
|
72
72
|
readonly maxRecords?: number;
|
|
73
|
-
/** Stop once a line contains this marker (exclusive). */
|
|
74
73
|
/**
|
|
75
74
|
* Start the window AFTER the last record whose `subtype` (or `type`) equals this.
|
|
76
75
|
*
|
|
@@ -81,4 +80,11 @@ export interface ReadJsonlTailOptions {
|
|
|
81
80
|
/** Test-only: also report how many bytes were read, to prove the read is not whole-file. */
|
|
82
81
|
readonly _stats?: boolean;
|
|
83
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Read the LAST records of a JSONL file without loading the whole thing.
|
|
85
|
+
*
|
|
86
|
+
* Reads fixed-size chunks backwards from EOF until enough newlines have been seen. A session
|
|
87
|
+
* transcript grows without bound; loading megabytes to show the last three turns is the cost this
|
|
88
|
+
* exists to avoid — and a `slice` over a full read would be that same cost with a better name.
|
|
89
|
+
*/
|
|
84
90
|
export declare function readJsonlTail<T = Record<string, unknown>>(path: string, options?: ReadJsonlTailOptions): T[];
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
13
13
|
import type { Plugin as PluginType } from "../../types/plugin.js";
|
|
14
|
-
export type { CommandHandler, CommandOptions, HookHandler, HookName, LlmCallContext, PluginContext, PostAssistantReplyContext, PostToolCallContext, PreToolCallContext, PreToolCallDecision, PreUserSendContext, PreUserSendResult, SessionLifecycleContext, ToolCallSummary, ToolContext, ToolResultTransformContext, TransformContext, } from "../../types/plugin.js";
|
|
14
|
+
export type { CommandHandler, CommandOptions, HookHandler, HookName, LlmCallContext, MemoryProviderFactory, PluginContext, PostAssistantReplyContext, PostToolCallContext, PreToolCallContext, PreToolCallDecision, PreUserSendContext, PreUserSendResult, SessionLifecycleContext, ToolCallSummary, ToolContext, ToolResultTransformContext, TransformContext, } from "../../types/plugin.js";
|
|
15
15
|
export type Plugin = PluginType;
|
|
16
16
|
/**
|
|
17
17
|
* Identity helper for plugin authors. TS-only convenience — preserves
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @public
|
|
12
12
|
*/
|
|
13
13
|
import type { Plugin as PluginType } from "../../types/plugin.js";
|
|
14
|
-
export type { CommandHandler, CommandOptions, HookHandler, HookName, LlmCallContext, PluginContext, PostAssistantReplyContext, PostToolCallContext, PreToolCallContext, PreToolCallDecision, PreUserSendContext, PreUserSendResult, SessionLifecycleContext, ToolCallSummary, ToolContext, ToolResultTransformContext, TransformContext, } from "../../types/plugin.js";
|
|
14
|
+
export type { CommandHandler, CommandOptions, HookHandler, HookName, LlmCallContext, MemoryProviderFactory, PluginContext, PostAssistantReplyContext, PostToolCallContext, PreToolCallContext, PreToolCallDecision, PreUserSendContext, PreUserSendResult, SessionLifecycleContext, ToolCallSummary, ToolContext, ToolResultTransformContext, TransformContext, } from "../../types/plugin.js";
|
|
15
15
|
export type Plugin = PluginType;
|
|
16
16
|
/**
|
|
17
17
|
* Identity helper for plugin authors. TS-only convenience — preserves
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* M45 — Cerebras.
|
|
3
|
-
*
|
|
2
|
+
* M45 — Cerebras. The integration header value is theokit's own: the header attributes TRAFFIC.
|
|
3
|
+
* Models per models.dev (2026-07 snapshot).
|
|
4
4
|
*/
|
|
5
5
|
export declare const CEREBRAS: import("../types.js").ProviderProfile;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/** M45 — DeepInfra. OpenAI-compat surface under /v1/openai (models.dev `deepinfra
|
|
1
|
+
/** M45 — DeepInfra. OpenAI-compat surface under /v1/openai (models.dev `deepinfra`). */
|
|
2
2
|
export declare const DEEPINFRA: import("../types.js").ProviderProfile;
|
|
@@ -1,2 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* M43 — the ChatGPT "Codex" backend as a first-class builtin `ProviderProfile`. Migrated from the
|
|
3
|
+
* agent-builder M40 workaround; the SDK now owns the provider, so a consumer only selects
|
|
4
|
+
* `openai-chatgpt/<model>` and logs in — ZERO provider logic in the consumer.
|
|
5
|
+
*
|
|
6
|
+
* The provider-auth model (see the codex-provider-in-sdk blueprint):
|
|
7
|
+
* - static profile + a `transform.fetch` that resolves the LIVE credential per HTTP request (fresh Bearer +
|
|
8
|
+
* dynamic `ChatGPT-Account-Id`), so a mid-turn expiry refreshes transparently with NO agent rebuild;
|
|
9
|
+
* - the protocol values (endpoint, models, oauth config, `originator` header) are SDK-owned constants.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
1
13
|
import type { ProviderProfile } from "../types.js";
|
|
2
14
|
export declare const OPENAI_CHATGPT: ProviderProfile;
|
|
@@ -38,6 +38,14 @@ export interface CatalogEntry {
|
|
|
38
38
|
*/
|
|
39
39
|
models?: Record<string, CatalogModel>;
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Look up per-model catalog data by `provider/model` key.
|
|
43
|
+
*
|
|
44
|
+
* Semver-exempt: not declared in `package.json` `exports`, but re-exported by
|
|
45
|
+
* `catalog-source-models-dev.ts`, whose declaration is reachable from published entries — so it
|
|
46
|
+
* must be EMITTED.
|
|
47
|
+
*/
|
|
48
|
+
export declare function getCatalogModelInfo(key: string): CatalogModel | undefined;
|
|
41
49
|
interface LoadOptions {
|
|
42
50
|
_testInjectMalformed?: boolean;
|
|
43
51
|
}
|
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* M44 — the per-model catalog sub-schema. Field names mirror models.dev VERBATIM (snake_case) so
|
|
4
|
+
* `scripts/refresh-catalog.mjs` regenerates the vendored data mechanically from `api.json` with zero
|
|
5
|
+
* renaming (ADR D1).
|
|
6
|
+
* TOLERANT by design: every field optional, unknown keys ignored — models.dev adds fields over time and
|
|
7
|
+
* additive drift must never break the loader (Blueprint §6.4).
|
|
8
|
+
*
|
|
9
|
+
* theokit extensions beyond models.dev: `structured_output` / `cache_control` (both already exist on the
|
|
10
|
+
* SDK's `ModelCapabilities`; models.dev has no such flags).
|
|
11
|
+
*
|
|
12
|
+
* Semver-exempt: nothing here is declared in `package.json` `exports`. `MODALITIES` is nonetheless
|
|
13
|
+
* reachable from published declarations through the type graph, so it must be EMITTED.
|
|
14
|
+
*
|
|
15
|
+
* NOTE — no internal-visibility tag in this block. `tsconfig.base.json` sets `stripInternal: true`,
|
|
16
|
+
* and TypeScript scans EVERY leading comment range of the declaration that follows; the tag that
|
|
17
|
+
* used to sit here deleted the `MODALITIES` declaration below from the emitted `.d.ts`.
|
|
18
|
+
*/
|
|
19
|
+
export declare const MODALITIES: readonly ["text", "audio", "image", "video", "pdf"];
|
|
20
|
+
/**
|
|
21
|
+
* One input or output medium a model accepts or produces.
|
|
22
|
+
*
|
|
23
|
+
* The union is derived from `MODALITIES`, so it is closed: a models.dev entry whose
|
|
24
|
+
* `modalities.input` or `modalities.output` array contains a string outside this set fails
|
|
25
|
+
* `catalogModelSchema.safeParse`, and `patchIndexFromApiJson` drops that single model rather
|
|
26
|
+
* than the whole payload. Widening the catalog to a new medium means adding it to `MODALITIES`
|
|
27
|
+
* first — nothing else in the schema enumerates media.
|
|
28
|
+
*/
|
|
2
29
|
export type Modality = (typeof MODALITIES)[number];
|
|
3
30
|
declare const costSchema: z.ZodObject<{
|
|
4
31
|
input: z.ZodNumber;
|
|
@@ -48,6 +75,34 @@ export declare const catalogModelSchema: z.ZodObject<{
|
|
|
48
75
|
deprecated: "deprecated";
|
|
49
76
|
}>>;
|
|
50
77
|
}, z.core.$loose>;
|
|
78
|
+
/**
|
|
79
|
+
* One model entry as it is stored in the vendored catalog and as models.dev publishes it.
|
|
80
|
+
*
|
|
81
|
+
* Every field is optional, so an entry that carries only `name` still parses. Reading a value
|
|
82
|
+
* therefore means handling `undefined` at each level — `model.cost?.cache_read`, not
|
|
83
|
+
* `model.cost.cache_read`. Field names are models.dev's own snake_case, kept verbatim so the
|
|
84
|
+
* refresh script can copy `api.json` across without renaming.
|
|
85
|
+
*
|
|
86
|
+
* The schema is loose rather than strict: unknown keys survive parsing and stay on the returned
|
|
87
|
+
* object instead of being rejected or dropped. That is what lets models.dev add a field without
|
|
88
|
+
* breaking the loader — the cost is that a typo in a key name parses silently, so a caller
|
|
89
|
+
* cannot use "it parsed" as evidence that a field it expected was present.
|
|
90
|
+
*
|
|
91
|
+
* `structured_output` and `cache_control` are theokit's own additions; models.dev publishes
|
|
92
|
+
* neither.
|
|
93
|
+
*/
|
|
51
94
|
export type CatalogModel = z.infer<typeof catalogModelSchema>;
|
|
95
|
+
/**
|
|
96
|
+
* Per-token pricing for one model, in USD per 1M tokens (models.dev's unit — not per token, and
|
|
97
|
+
* not per 1K).
|
|
98
|
+
*
|
|
99
|
+
* `input` and `output` are required and non-negative; the two cache buckets are optional and
|
|
100
|
+
* absent for models that do not price caching separately. Absent is not zero: a missing
|
|
101
|
+
* `cache_read` means the catalog says nothing about the cost of a cache hit, so a caller that
|
|
102
|
+
* defaults it to 0 is asserting free cache reads on its own authority.
|
|
103
|
+
*
|
|
104
|
+
* Like `CatalogModel`, the shape is loose — unknown pricing keys published upstream are kept on
|
|
105
|
+
* the parsed value.
|
|
106
|
+
*/
|
|
52
107
|
export type CatalogModelCost = z.infer<typeof costSchema>;
|
|
53
108
|
export {};
|
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import { getCatalogModelInfo } from "./catalog-loader.js";
|
|
2
|
+
/**
|
|
3
|
+
* Arguments to `refreshModelCatalog`, the SDK's only network trigger for model metadata.
|
|
4
|
+
*
|
|
5
|
+
* `url` wins over the `THEOKIT_MODELS_URL` environment variable, which in turn wins over
|
|
6
|
+
* `https://models.dev/api.json`. A non-default URL gets its own cache file, named by a hash of
|
|
7
|
+
* the URL, so switching sources never reads another source's cache.
|
|
8
|
+
*
|
|
9
|
+
* `force` skips only the freshness check — it does not skip the kill switch. When
|
|
10
|
+
* `THEOKIT_DISABLE_MODELS_FETCH` is set to anything other than an empty string, `"0"` or
|
|
11
|
+
* `"false"`, the call returns `source: "skipped"` with no fetch and no cache read, whatever
|
|
12
|
+
* `force` says.
|
|
13
|
+
*
|
|
14
|
+
* Without `force`, a cache file whose mtime is under an hour old is served directly and no
|
|
15
|
+
* request is made.
|
|
16
|
+
*
|
|
17
|
+
* `deps` exists so tests can drive the fetch and the clock; production leaves it unset.
|
|
18
|
+
*/
|
|
2
19
|
export interface RefreshModelCatalogOptions {
|
|
3
20
|
/** Override the source URL (`THEOKIT_MODELS_URL` env also honored). */
|
|
4
21
|
url?: string;
|
|
@@ -10,13 +27,32 @@ export interface RefreshModelCatalogOptions {
|
|
|
10
27
|
now?: () => number;
|
|
11
28
|
};
|
|
12
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* What `refreshModelCatalog` did. It never throws on a failed refresh, so this is the only place
|
|
32
|
+
* the outcome is reported.
|
|
33
|
+
*
|
|
34
|
+
* `source` is `"network"` only when a request succeeded, its body parsed as JSON, and the models
|
|
35
|
+
* were patched in. Every failure path — kill switch aside — returns `"cache"`: an HTTP error
|
|
36
|
+
* after retries, a timeout, an unparseable body, or a patch that threw. `"cache"` therefore means
|
|
37
|
+
* "serving what was already there", which may be a fresh cache, a stale one, or nothing but the
|
|
38
|
+
* vendored catalog. Read `models` to tell those apart. `"skipped"` means the kill switch was set.
|
|
39
|
+
*
|
|
40
|
+
* `models` counts the models patched into the index during this call, not the catalog's size. It
|
|
41
|
+
* counts each model once even when the provider has aliases and the model is written under several
|
|
42
|
+
* index keys, and it excludes models whose payload failed schema validation and models under
|
|
43
|
+
* providers the SDK does not know. It is 0 whenever there was no cache to fall back on, and 0 for
|
|
44
|
+
* `"skipped"`.
|
|
45
|
+
*
|
|
46
|
+
* A cache write that fails is logged and otherwise ignored: the result can still say `"network"`
|
|
47
|
+
* with the data live in memory and nothing on disk.
|
|
48
|
+
*/
|
|
13
49
|
export interface RefreshModelCatalogResult {
|
|
14
50
|
/** Where the data came from: a fresh network fetch, the still-fresh disk cache, or skipped entirely. */
|
|
15
51
|
source: "network" | "cache" | "skipped";
|
|
16
52
|
/** How many models were patched into the index. */
|
|
17
53
|
models: number;
|
|
18
54
|
}
|
|
19
|
-
/** The cache file for a source URL (custom URLs get a hash-suffixed name
|
|
55
|
+
/** The cache file for a source URL (custom URLs get a hash-suffixed name). */
|
|
20
56
|
export declare function cachePathFor(url: string): string;
|
|
21
57
|
/**
|
|
22
58
|
* Load an existing disk cache into the index (called by refresh when fresh, or opportunistically by a
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #364 — how deep the current delegation chain already is, delivered through the CALL.
|
|
3
|
+
*
|
|
4
|
+
* ## The bug this replaces
|
|
5
|
+
*
|
|
6
|
+
* `maxDelegationDepth` was checked once, at tool-CONSTRUCTION time, against a `_parentDepth`
|
|
7
|
+
* argument that nothing in the SDK ever incremented. Constructing a tool says nothing about how
|
|
8
|
+
* deep it will later be invoked, so with the documented call — `SubAgent.create(spec)` — the test
|
|
9
|
+
* was `1 > maxDepth`, false for every spec that did not ask for depth 0. A subagent whose tools
|
|
10
|
+
* include another subagent recursed unbounded, which is precisely what the guard exists to stop.
|
|
11
|
+
* The only path that ever tripped it was a caller threading the number by hand.
|
|
12
|
+
*
|
|
13
|
+
* ## Why the async scope closes it
|
|
14
|
+
*
|
|
15
|
+
* Depth is a property of the RUN, not of the object. A child's run loop — and therefore every tool
|
|
16
|
+
* it dispatches — executes inside the async continuation of its parent's handler, so a value
|
|
17
|
+
* published on that context is exactly what a nested dispatch needs to read. This is the same seam
|
|
18
|
+
* `subagent-credentials.ts` uses, and for the same reason: what survives every layer that rebuilds
|
|
19
|
+
* a tool object is the call, never the object.
|
|
20
|
+
*
|
|
21
|
+
* It is kept in its own module rather than folded into the credentials payload because depth is a
|
|
22
|
+
* separate concern with a separate lifetime — the credentials scope is opened once per run by the
|
|
23
|
+
* run loop, while depth is opened per delegation by the dispatching tool.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export {};
|
|
@@ -32,4 +32,36 @@
|
|
|
32
32
|
*
|
|
33
33
|
* @internal
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
import type { ModelSelection } from "../../../types/agent-prims.js";
|
|
36
|
+
import type { Plugin } from "../../plugins/types.js";
|
|
37
|
+
/**
|
|
38
|
+
* Credentials a parent agent hands down to its subagent tools so the child inherits the parent's
|
|
39
|
+
* auth (and, absent an explicit `spec.model`, its model).
|
|
40
|
+
*
|
|
41
|
+
* Declared here rather than in `a2a/subagent.ts` so the delivery mechanism owns the payload shape
|
|
42
|
+
* and the dependency runs one way (`a2a/subagent` -> this module). `a2a/subagent.ts` briefly
|
|
43
|
+
* re-exported it "for back-compat"; knip proved there was no back-compat surface to preserve — the
|
|
44
|
+
* type was never in the public barrel nor the exports map — so the re-export was deleted.
|
|
45
|
+
*
|
|
46
|
+
* Emitted rather than erased: `a2a/subagent.d.ts` imports it by name, and that entry IS published,
|
|
47
|
+
* so erasing this declaration ships a `.d.ts` that does not compile. Not being in the exports map
|
|
48
|
+
* is what keeps it out of the semver contract; erasure is not what does that.
|
|
49
|
+
*/
|
|
50
|
+
export interface InheritedCredentials {
|
|
51
|
+
readonly apiKey?: string;
|
|
52
|
+
readonly model?: ModelSelection;
|
|
53
|
+
/**
|
|
54
|
+
* The parent's shell-sandbox posture (`local.sandboxOptions.enabled`), handed down so a delegated
|
|
55
|
+
* child of a sandboxed parent stays sandboxed unless its role explicitly opts out. Without this a
|
|
56
|
+
* child ran unsandboxed whenever its role omitted `sandbox` — a default-open the sandbox wiring
|
|
57
|
+
* exists to prevent.
|
|
58
|
+
*/
|
|
59
|
+
readonly sandbox?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* #55 — the parent's code-registered plugins (e.g. a `PermissionPlugin`) handed down so the child
|
|
62
|
+
* runs under the SAME policy. Without this, a delegated child's inner tool calls escape the
|
|
63
|
+
* parent's argument-level permission gate. First-party delegation path only — never exposed to
|
|
64
|
+
* third-party tool `ctx`.
|
|
65
|
+
*/
|
|
66
|
+
readonly plugins?: readonly Plugin[];
|
|
67
|
+
}
|
|
@@ -12,7 +12,22 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @internal
|
|
14
14
|
*/
|
|
15
|
+
import type { AggregatorSource } from "./context-aggregator.js";
|
|
15
16
|
import { type DiscoverySpec } from "./context-discovery.js";
|
|
17
|
+
/**
|
|
18
|
+
* Input to the context-discovery run: where to walk, how much of each file to keep, and which
|
|
19
|
+
* trust boundary an `@import` may not cross.
|
|
20
|
+
*
|
|
21
|
+
* `cwd` and `maxBytesPerFile` are required because neither has a safe default — an unset root walks
|
|
22
|
+
* the wrong tree, and an unset cap lets one large file consume the context window.
|
|
23
|
+
*
|
|
24
|
+
* `importRoot` is the field to reach for when the caller's trust boundary is narrower than the
|
|
25
|
+
* repository. Left unset, the repository IS the boundary (`gitRoot ?? cwd`), which is the honest
|
|
26
|
+
* default for a document found by walking the repository — but it does mean an `@import` can pull
|
|
27
|
+
* in any file the repo contains.
|
|
28
|
+
*
|
|
29
|
+
* @public — re-exported from '@theokit/sdk/context', and therefore under semver.
|
|
30
|
+
*/
|
|
16
31
|
export interface DiscoveryRunnerOptions {
|
|
17
32
|
/** Workspace root passed to all discovery scopes. */
|
|
18
33
|
readonly cwd: string;
|
|
@@ -34,3 +49,32 @@ export interface DiscoveryRunnerOptions {
|
|
|
34
49
|
*/
|
|
35
50
|
readonly importRoot?: string;
|
|
36
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Find, read and parse every context file the specs describe, and return them ready for the
|
|
54
|
+
* aggregator.
|
|
55
|
+
*
|
|
56
|
+
* Specs are processed in the order given — `opts.specs` when supplied, otherwise
|
|
57
|
+
* `DEFAULT_DISCOVERY_SPECS` — and within a spec, in the order its scope resolves paths. The
|
|
58
|
+
* returned array carries `priority` on each source; it is NOT sorted here, so the aggregator is
|
|
59
|
+
* what applies the ordering.
|
|
60
|
+
*
|
|
61
|
+
* A path already emitted is skipped, across specs as well as within one. Paths arrive resolved
|
|
62
|
+
* through `realpath`, so two specs pointing at the same physical file through a symlink produce
|
|
63
|
+
* one source rather than two.
|
|
64
|
+
*
|
|
65
|
+
* Missing and unreadable files are not errors: a file that does not exist is simply not matched,
|
|
66
|
+
* and one that fails to read or parse is dropped and the run continues. A frontmatter file whose
|
|
67
|
+
* activation conditions do not hold — `enabled: false`, or a scope that no touched file matches —
|
|
68
|
+
* is dropped the same way. So a shorter result than expected means "nothing qualified", and this
|
|
69
|
+
* function will not tell you which of those it was.
|
|
70
|
+
*
|
|
71
|
+
* Reads the filesystem and nothing else. No network, no writes, and no mutation of `opts`.
|
|
72
|
+
*
|
|
73
|
+
* Privacy: `<source name="">` is built from the path RELATIVE to the git root (or `cwd` when
|
|
74
|
+
* there is no git root), never an absolute path, so a home directory never reaches the prompt.
|
|
75
|
+
* `@import` resolution is bounded by `opts.importRoot`, defaulting to that same root — a document
|
|
76
|
+
* cannot pull in a file from outside the repository.
|
|
77
|
+
*
|
|
78
|
+
* @public — re-exported from `@theokit/sdk/context`, and therefore under semver.
|
|
79
|
+
*/
|
|
80
|
+
export declare function runDiscovery(opts: DiscoveryRunnerOptions): Promise<AggregatorSource[]>;
|
|
@@ -19,3 +19,61 @@
|
|
|
19
19
|
export type DiscoveryScope = "cwd-only" | "git-root-walk" | "globbed";
|
|
20
20
|
/** Parser to apply once file is read. */
|
|
21
21
|
export type DiscoveryParser = "plain-markdown" | "mdc" | "frontmatter-zod" | "rules-frontmatter";
|
|
22
|
+
/**
|
|
23
|
+
* One kind of context file the runner knows how to find and read. The shipped registry is
|
|
24
|
+
* `DEFAULT_DISCOVERY_SPECS`; a caller supplies its own array to change the set.
|
|
25
|
+
*
|
|
26
|
+
* `scope` decides how `pattern` is used and how many files a single spec can yield:
|
|
27
|
+
* `cwd-only` looks for one path and stops, `git-root-walk` collects a match in every directory
|
|
28
|
+
* from `cwd` up to the git root (nearest first), and `globbed` expands `pattern` as a glob
|
|
29
|
+
* relative to `cwd`. So `pattern` is a filename for the first two and a glob for the third —
|
|
30
|
+
* putting a glob on a walk scope silently finds nothing.
|
|
31
|
+
*
|
|
32
|
+
* `priority` orders the merged prompt, ascending, and is a plain number rather than an index, so
|
|
33
|
+
* a new spec can be slotted between two existing ones. Lower means earlier and therefore more
|
|
34
|
+
* general; later content wins on conflict.
|
|
35
|
+
*
|
|
36
|
+
* `parser` must match the file format — `plain-markdown` reads the whole file, `mdc` and
|
|
37
|
+
* `rules-frontmatter` parse frontmatter and can DECLINE the file when its activation conditions
|
|
38
|
+
* do not hold, and `frontmatter-zod` is the legacy path the runner currently skips entirely.
|
|
39
|
+
*
|
|
40
|
+
* `followImports` is honored only by `plain-markdown`, and turns `@path` directives in the body
|
|
41
|
+
* into inlined content bounded by the import root. Setting it on a frontmatter parser does
|
|
42
|
+
* nothing.
|
|
43
|
+
*
|
|
44
|
+
* `id` names the source in `<source name="">` and in telemetry. When one spec matches files in
|
|
45
|
+
* several directories, the runner suffixes it with the path relative to the git root to keep them
|
|
46
|
+
* apart.
|
|
47
|
+
*
|
|
48
|
+
* @public — re-exported from `@theokit/sdk/context`, and therefore under semver.
|
|
49
|
+
*/
|
|
50
|
+
export interface DiscoverySpec {
|
|
51
|
+
/** Stable identifier — used as `<source name="">` and telemetry key. */
|
|
52
|
+
readonly id: string;
|
|
53
|
+
/** Priority for merge (lower = earlier in prompt). */
|
|
54
|
+
readonly priority: number;
|
|
55
|
+
/** Filename (cwd-only/git-root-walk) or glob (globbed). */
|
|
56
|
+
readonly pattern: string;
|
|
57
|
+
readonly scope: DiscoveryScope;
|
|
58
|
+
readonly parser: DiscoveryParser;
|
|
59
|
+
/** Whether to follow `@path` import directives (CLAUDE.md / GEMINI.md). */
|
|
60
|
+
readonly followImports: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The context files theokit looks for out of the box, in the order they are concatenated.
|
|
64
|
+
*
|
|
65
|
+
* Two things follow from the ordering. `AGENTS.md` comes first at priority 10 and `THEO.md` last,
|
|
66
|
+
* so theokit-specific instruction wins over the vendor-neutral file on conflict. And the array is
|
|
67
|
+
* consumed in the order written — the runner does not re-sort it — so a caller passing its own
|
|
68
|
+
* array is responsible for keeping `priority` and array position consistent.
|
|
69
|
+
*
|
|
70
|
+
* `CLAUDE.md` and `GEMINI.md` are the only two entries with `followImports: true`, which means
|
|
71
|
+
* they are the only files whose `@path` directives pull other files into the prompt. Those
|
|
72
|
+
* imports cannot escape the import root.
|
|
73
|
+
*
|
|
74
|
+
* Frozen only by type: `ReadonlyArray` is a compile-time constraint, and the array and its
|
|
75
|
+
* elements are not deep-frozen at runtime. Build a new array rather than mutating this one.
|
|
76
|
+
*
|
|
77
|
+
* @public — re-exported from `@theokit/sdk/context`, and therefore under semver.
|
|
78
|
+
*/
|
|
79
|
+
export declare const DEFAULT_DISCOVERY_SPECS: ReadonlyArray<DiscoverySpec>;
|
|
@@ -21,10 +21,79 @@
|
|
|
21
21
|
*
|
|
22
22
|
* Glob + YAML subset are shared with the MDC parser (DRY, no new dependency).
|
|
23
23
|
*
|
|
24
|
-
*
|
|
24
|
+
* NOTE — no internal-visibility tag in this block. `tsconfig.base.json` sets `stripInternal: true`,
|
|
25
|
+
* and TypeScript scans EVERY leading comment range of the declaration that follows, including the
|
|
26
|
+
* import right below this one. The tag that used to sit here deleted that import from the emitted
|
|
27
|
+
* `.d.ts`, leaving the types it binds unresolvable for any consumer running type-aware lint
|
|
28
|
+
* (usetheodev/theokit-sdk#283 records the same trap on a declaration).
|
|
25
29
|
*/
|
|
30
|
+
import { z } from "zod";
|
|
31
|
+
/**
|
|
32
|
+
* YAML frontmatter schema for `.theokit/rules/*.md` files.
|
|
33
|
+
*
|
|
34
|
+
* Every field is optional, and unknown keys are dropped rather than rejected — `safeParse` failing
|
|
35
|
+
* therefore means a declared key had the wrong TYPE (`paths` as a bare string, `enabled` as the
|
|
36
|
+
* string `"false"`), never that an unexpected key was present.
|
|
37
|
+
*
|
|
38
|
+
* Exported because {@link RulesFrontmatter} is inferred from it and appears in the signature of
|
|
39
|
+
* {@link shouldActivateRule}, which `@theokit/sdk/context` publishes: the constant has to reach the
|
|
40
|
+
* emitted declarations for that inferred type to resolve in a consumer's project.
|
|
41
|
+
*/
|
|
42
|
+
export declare const RulesFrontmatterSchema: z.ZodObject<{
|
|
43
|
+
description: z.ZodOptional<z.ZodString>;
|
|
44
|
+
paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
45
|
+
globs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
46
|
+
alwaysApply: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
}, z.core.$strip>;
|
|
26
49
|
export type RulesFrontmatter = z.infer<typeof RulesFrontmatterSchema>;
|
|
27
50
|
export interface RulesParseResult {
|
|
28
51
|
readonly frontmatter: RulesFrontmatter;
|
|
29
52
|
readonly body: string;
|
|
30
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Split a `.theokit/rules/*.md` document into its frontmatter and its body.
|
|
56
|
+
*
|
|
57
|
+
* A file with no `---` fence is not an error: the whole text becomes the body and the frontmatter
|
|
58
|
+
* is synthesised as `{ alwaysApply: true }`, so a plain markdown rule with no metadata applies
|
|
59
|
+
* unconditionally. That default is the one thing to know before adding a fence — adding one and
|
|
60
|
+
* omitting both `alwaysApply` and a path pattern turns an always-on rule into a dormant one.
|
|
61
|
+
*
|
|
62
|
+
* `undefined` means the fence was there and its contents did not survive: YAML the lite parser
|
|
63
|
+
* could not read, or a shape the schema rejected (`paths` as a bare string rather than a list,
|
|
64
|
+
* `enabled` as `"false"` rather than `false`). It never throws, and it does not say WHICH of the
|
|
65
|
+
* two happened — the caller drops the file and counts it.
|
|
66
|
+
*
|
|
67
|
+
* Unknown frontmatter keys are dropped rather than rejected, so a misspelled `alwaysAply` parses
|
|
68
|
+
* fine and simply has no effect.
|
|
69
|
+
*
|
|
70
|
+
* Nothing here decides whether the rule applies; that is `shouldActivateRule`.
|
|
71
|
+
*
|
|
72
|
+
* @public — re-exported from `@theokit/sdk/context`, and therefore under semver.
|
|
73
|
+
*/
|
|
74
|
+
export declare function parseRules(content: string): RulesParseResult | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Decide whether a parsed rule applies to this turn, given the files in scope.
|
|
77
|
+
*
|
|
78
|
+
* Checked in strict order, first match wins:
|
|
79
|
+
*
|
|
80
|
+
* 1. `enabled: false` — never applies, whatever else the frontmatter says. This overrides
|
|
81
|
+
* `alwaysApply: true`, which is the point of having it.
|
|
82
|
+
* 2. `alwaysApply: true` — applies, and `inScopePaths` is not consulted.
|
|
83
|
+
* 3. otherwise — applies only if some pattern from `paths` or `globs` matches some path in
|
|
84
|
+
* `inScopePaths`. The two lists are a union, not alternatives; `globs` exists for
|
|
85
|
+
* Cursor compatibility and behaves identically.
|
|
86
|
+
*
|
|
87
|
+
* A scoped rule with an EMPTY `inScopePaths` never applies. That is the case worth planning for:
|
|
88
|
+
* `contextPaths` is empty on a plain `agent.send()`, so a rule scoped by path stays dormant until
|
|
89
|
+
* the caller declares which files the turn is about. It is quiet — a dormant rule looks exactly
|
|
90
|
+
* like a rule that was never written.
|
|
91
|
+
*
|
|
92
|
+
* A rule with a fence but no patterns and no `alwaysApply` also never applies, since step 3 has
|
|
93
|
+
* nothing to match.
|
|
94
|
+
*
|
|
95
|
+
* `description` is not consulted. It is a note for humans, not an activation condition.
|
|
96
|
+
*
|
|
97
|
+
* @public — re-exported from `@theokit/sdk/context`, and therefore under semver.
|
|
98
|
+
*/
|
|
99
|
+
export declare function shouldActivateRule(fm: RulesFrontmatter, inScopePaths: ReadonlyArray<string>): boolean;
|
|
@@ -13,4 +13,18 @@
|
|
|
13
13
|
*
|
|
14
14
|
* @internal
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* The provider credentials `shouldUseRealLocalRuntime` consults by name.
|
|
18
|
+
*
|
|
19
|
+
* Exported so the "Missing API key" refusal can name the ones the caller actually set (#338 item
|
|
20
|
+
* 5). The list used to live only inside the predicate below, which meant a caller with
|
|
21
|
+
* `OPENROUTER_API_KEY` set and `THEOKIT_API_KEY` unset was refused by a message naming neither —
|
|
22
|
+
* the SDK checks this exact variable a few lines down to decide the runtime, so the environment
|
|
23
|
+
* looks configured to the person who set it up. Reported as a three-hour diagnosis.
|
|
24
|
+
*
|
|
25
|
+
* One list, two readers: a variable added here is recognised by the predicate AND named by the
|
|
26
|
+
* error on the same commit, which is the only way the two stay in step.
|
|
27
|
+
*/
|
|
28
|
+
export declare const PROVIDER_CREDENTIAL_ENV_VARS: readonly string[];
|
|
29
|
+
/** Those of {@link PROVIDER_CREDENTIAL_ENV_VARS} that are non-empty in this process. */
|
|
30
|
+
export declare function presentProviderCredentialEnvVars(): readonly string[];
|
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Every subprocess the SDK spawns previously inherited the FULL `process.env`,
|
|
5
5
|
* so API keys, tokens and passwords leaked into hook scripts and shell tools.
|
|
6
|
-
* `resolveChildEnv` computes the env a child receives under an explicit policy
|
|
7
|
-
* modeled on codex's `ShellEnvironmentPolicy`
|
|
8
|
-
* (reference: codex/codex-rs/protocol/src/shell_environment.rs).
|
|
6
|
+
* `resolveChildEnv` computes the env a child receives under an explicit policy.
|
|
9
7
|
*
|
|
10
8
|
* Modes:
|
|
11
9
|
* - `inherit-scrubbed` (DEFAULT) — inherit all parent vars EXCEPT secret-like
|