@theokit/sdk 4.53.1 → 4.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1184 -0
- package/README.md +9 -4
- package/dist/a2a/agent-mailbox.d.cts +27 -0
- package/dist/a2a/agent-mailbox.d.ts +27 -0
- package/dist/a2a/index.cjs +9 -4
- package/dist/a2a/index.cjs.map +1 -1
- package/dist/a2a/index.js +7 -2
- package/dist/a2a/index.js.map +1 -1
- package/dist/a2a/message-bus.d.cts +39 -0
- package/dist/a2a/message-bus.d.ts +39 -0
- package/dist/a2a/subagent.d.cts +68 -7
- package/dist/a2a/subagent.d.ts +68 -7
- package/dist/a2a/types.d.cts +26 -0
- package/dist/a2a/types.d.ts +26 -0
- package/dist/{agent-B9HXlwID.d.ts → agent-D3Xr_-6Z.d.cts} +245 -850
- package/dist/{agent-nLqeXKIX.d.cts → agent-DIu6FooJ.d.ts} +245 -850
- package/dist/agent-HDEVVUBS.js +52 -0
- package/dist/{agent-FFVV4U5N.js.map → agent-HDEVVUBS.js.map} +1 -1
- package/dist/agent-R2HOJFZJ.cjs +61 -0
- package/dist/{agent-YLAHVHEH.cjs.map → agent-R2HOJFZJ.cjs.map} +1 -1
- package/dist/agent-builder.d.ts +19 -0
- package/dist/agent-session-store-P6V3FINW.js +7 -0
- package/dist/{agent-session-store-TNCGL5RN.js.map → agent-session-store-P6V3FINW.js.map} +1 -1
- package/dist/agent-session-store-ZJ3JSRS4.cjs +24 -0
- package/dist/{agent-session-store-DUGBAX5V.cjs.map → agent-session-store-ZJ3JSRS4.cjs.map} +1 -1
- package/dist/agent.d.ts +9 -6
- package/dist/auth/index.cjs +52 -35
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.js +26 -9
- package/dist/auth/index.js.map +1 -1
- package/dist/{batch-UPKN4SG6.js → batch-2TGJMNCJ.js} +14 -13
- package/dist/batch-2TGJMNCJ.js.map +1 -0
- package/dist/{batch-ZEFN5SO7.cjs → batch-ND32UKZS.cjs} +31 -30
- package/dist/batch-ND32UKZS.cjs.map +1 -0
- package/dist/{chunk-TTJ54H3E.cjs → chunk-2ADR2GSO.cjs} +8 -8
- package/dist/chunk-2ADR2GSO.cjs.map +1 -0
- package/dist/chunk-2BDH744Z.js +15 -0
- package/dist/chunk-2BDH744Z.js.map +1 -0
- package/dist/{chunk-VGPXHHF3.cjs → chunk-2C72DXQF.cjs} +63 -27
- package/dist/chunk-2C72DXQF.cjs.map +1 -0
- package/dist/{chunk-4Q4K4WB5.js → chunk-2D34UTDC.js} +20 -4
- package/dist/chunk-2D34UTDC.js.map +1 -0
- package/dist/{chunk-UFIXH26P.js → chunk-2QKTVKH3.js} +4 -4
- package/dist/{chunk-UFIXH26P.js.map → chunk-2QKTVKH3.js.map} +1 -1
- package/dist/{chunk-GBBDINFK.js → chunk-3E77SX4H.js} +4 -4
- package/dist/{chunk-GBBDINFK.js.map → chunk-3E77SX4H.js.map} +1 -1
- package/dist/{chunk-VYHJZVL5.cjs → chunk-3EE6LVWT.cjs} +2 -2
- package/dist/chunk-3EE6LVWT.cjs.map +1 -0
- package/dist/{chunk-5NBUH3NO.js → chunk-3OR54XG4.js} +2 -2
- package/dist/{chunk-C6Y6CWYD.cjs.map → chunk-3OR54XG4.js.map} +1 -1
- package/dist/{chunk-ZN2DGEY3.cjs → chunk-3YJNUKYN.cjs} +15 -15
- package/dist/{chunk-ZN2DGEY3.cjs.map → chunk-3YJNUKYN.cjs.map} +1 -1
- package/dist/{chunk-POWRZSK4.js → chunk-44JAAH4X.js} +3 -3
- package/dist/{chunk-POWRZSK4.js.map → chunk-44JAAH4X.js.map} +1 -1
- package/dist/{chunk-SSDD676S.js → chunk-44MBDIHG.js} +4 -4
- package/dist/{chunk-SSDD676S.js.map → chunk-44MBDIHG.js.map} +1 -1
- package/dist/{chunk-OY7O3Q6R.js → chunk-4ERPXIVB.js} +5 -5
- package/dist/{chunk-OY7O3Q6R.js.map → chunk-4ERPXIVB.js.map} +1 -1
- package/dist/{chunk-3BK6YR5P.cjs → chunk-4I55V454.cjs} +4 -4
- package/dist/{chunk-3BK6YR5P.cjs.map → chunk-4I55V454.cjs.map} +1 -1
- package/dist/{chunk-B4YA6BRS.cjs → chunk-4O5TGQBW.cjs} +30 -7
- package/dist/chunk-4O5TGQBW.cjs.map +1 -0
- package/dist/{chunk-4JBHSLQO.cjs → chunk-4OTIXDMU.cjs} +2 -2
- package/dist/{chunk-4JBHSLQO.cjs.map → chunk-4OTIXDMU.cjs.map} +1 -1
- package/dist/{chunk-C6Y6CWYD.cjs → chunk-52NKC5HT.cjs} +2 -2
- package/dist/chunk-52NKC5HT.cjs.map +1 -0
- package/dist/{chunk-665SFFFR.cjs → chunk-53CBTBWO.cjs} +11 -11
- package/dist/{chunk-665SFFFR.cjs.map → chunk-53CBTBWO.cjs.map} +1 -1
- package/dist/{chunk-FFM3SJTQ.js → chunk-5JLFFPCH.js} +4 -4
- package/dist/{chunk-FFM3SJTQ.js.map → chunk-5JLFFPCH.js.map} +1 -1
- package/dist/{chunk-34XOCZJO.js → chunk-5PHVENFV.js} +3 -3
- package/dist/chunk-5PHVENFV.js.map +1 -0
- package/dist/{chunk-BDTVFIPB.cjs → chunk-5UOVYM3P.cjs} +36 -31
- package/dist/chunk-5UOVYM3P.cjs.map +1 -0
- package/dist/{chunk-VF7X6HDR.cjs → chunk-5USCYPPI.cjs} +15 -15
- package/dist/{chunk-VF7X6HDR.cjs.map → chunk-5USCYPPI.cjs.map} +1 -1
- package/dist/chunk-6HTXPPHK.cjs +18 -0
- package/dist/chunk-6HTXPPHK.cjs.map +1 -0
- package/dist/{chunk-D24WJWN2.js → chunk-AEOZTXVW.js} +3 -3
- package/dist/{chunk-D24WJWN2.js.map → chunk-AEOZTXVW.js.map} +1 -1
- package/dist/{chunk-DGOG5NXR.js → chunk-AG5JPQIY.js} +3 -3
- package/dist/{chunk-DGOG5NXR.js.map → chunk-AG5JPQIY.js.map} +1 -1
- package/dist/{chunk-BFYGJGC5.js → chunk-AQLGBKNT.js} +3 -3
- package/dist/chunk-AQLGBKNT.js.map +1 -0
- package/dist/{chunk-7W7ZWMLQ.js → chunk-AWO27VRZ.js} +3 -3
- package/dist/chunk-AWO27VRZ.js.map +1 -0
- package/dist/{chunk-VYCKUKPA.cjs → chunk-B2J4ZMZL.cjs} +3 -2
- package/dist/chunk-B2J4ZMZL.cjs.map +1 -0
- package/dist/{chunk-BERBYXFH.js → chunk-BMAZLQQ4.js} +3 -3
- package/dist/{chunk-BERBYXFH.js.map → chunk-BMAZLQQ4.js.map} +1 -1
- package/dist/{chunk-5YKNEMXR.cjs → chunk-BVZW2B5V.cjs} +4 -4
- package/dist/chunk-BVZW2B5V.cjs.map +1 -0
- package/dist/{chunk-MSFLYJDY.js → chunk-CQ2TQ32Y.js} +4 -4
- package/dist/chunk-CQ2TQ32Y.js.map +1 -0
- package/dist/{chunk-C5DEO6OI.cjs → chunk-CQGYNZ3K.cjs} +4 -4
- package/dist/{chunk-C5DEO6OI.cjs.map → chunk-CQGYNZ3K.cjs.map} +1 -1
- package/dist/{chunk-D75S2X6I.cjs → chunk-CTCGWIUD.cjs} +5 -5
- package/dist/{chunk-D75S2X6I.cjs.map → chunk-CTCGWIUD.cjs.map} +1 -1
- package/dist/{chunk-NZL4BNFQ.js → chunk-CV7XMBHP.js} +4 -4
- package/dist/chunk-CV7XMBHP.js.map +1 -0
- package/dist/{chunk-SEL2ZQMT.js → chunk-DAPSQZT4.js} +15 -10
- package/dist/chunk-DAPSQZT4.js.map +1 -0
- package/dist/{chunk-SVO5WPZX.cjs → chunk-DQKERTND.cjs} +11 -11
- package/dist/{chunk-SVO5WPZX.cjs.map → chunk-DQKERTND.cjs.map} +1 -1
- package/dist/{chunk-N5CR3TJZ.js → chunk-DZBSJX6J.js} +4 -4
- package/dist/{chunk-N5CR3TJZ.js.map → chunk-DZBSJX6J.js.map} +1 -1
- package/dist/{chunk-RAHSWE5C.cjs → chunk-EI2Q7SJ5.cjs} +12 -12
- package/dist/chunk-EI2Q7SJ5.cjs.map +1 -0
- package/dist/{chunk-UCFONJBG.js → chunk-EPSICJLZ.js} +2 -2
- package/dist/{chunk-UCFONJBG.js.map → chunk-EPSICJLZ.js.map} +1 -1
- package/dist/{chunk-3X6PM7DU.cjs → chunk-F3YZMOAU.cjs} +8 -8
- package/dist/{chunk-3X6PM7DU.cjs.map → chunk-F3YZMOAU.cjs.map} +1 -1
- package/dist/{chunk-F77UENR6.cjs → chunk-F5WMX4EA.cjs} +586 -398
- package/dist/chunk-F5WMX4EA.cjs.map +1 -0
- package/dist/{chunk-HE4BIAOS.js → chunk-F7AQV62G.js} +5 -4
- package/dist/chunk-F7AQV62G.js.map +1 -0
- package/dist/{chunk-2RW7K6FN.cjs → chunk-GHX4P3V2.cjs} +2 -2
- package/dist/chunk-GHX4P3V2.cjs.map +1 -0
- package/dist/{chunk-B6HOIWQ6.js → chunk-GJ6RK75E.js} +5 -5
- package/dist/chunk-GJ6RK75E.js.map +1 -0
- package/dist/{chunk-FOXKFTVZ.cjs → chunk-GNT35C5U.cjs} +13 -13
- package/dist/chunk-GNT35C5U.cjs.map +1 -0
- package/dist/{chunk-4NAKHID5.js → chunk-GTKFV7O5.js} +2 -2
- package/dist/chunk-GTKFV7O5.js.map +1 -0
- package/dist/{chunk-ELKO4ZLR.cjs → chunk-GWC3HADL.cjs} +4 -4
- package/dist/{chunk-ELKO4ZLR.cjs.map → chunk-GWC3HADL.cjs.map} +1 -1
- package/dist/{chunk-OXNYIMZZ.js → chunk-H73MEMQB.js} +2 -2
- package/dist/chunk-H73MEMQB.js.map +1 -0
- package/dist/{chunk-E7FJOO4G.cjs → chunk-HJBMA5MB.cjs} +11 -11
- package/dist/{chunk-E7FJOO4G.cjs.map → chunk-HJBMA5MB.cjs.map} +1 -1
- package/dist/{chunk-2FYEVT2B.cjs → chunk-HLPSLDGL.cjs} +275 -160
- package/dist/chunk-HLPSLDGL.cjs.map +1 -0
- package/dist/{chunk-VW6M4B3Z.cjs → chunk-HY57ULY2.cjs} +5 -5
- package/dist/{chunk-VW6M4B3Z.cjs.map → chunk-HY57ULY2.cjs.map} +1 -1
- package/dist/{chunk-CAH3G4IS.js → chunk-HY66GLM6.js} +2 -2
- package/dist/chunk-HY66GLM6.js.map +1 -0
- package/dist/{chunk-G3JWXOGY.js → chunk-I5BE5M5L.js} +310 -122
- package/dist/chunk-I5BE5M5L.js.map +1 -0
- package/dist/{chunk-C4H6PB5J.cjs → chunk-I6TGFUCO.cjs} +4 -4
- package/dist/{chunk-C4H6PB5J.cjs.map → chunk-I6TGFUCO.cjs.map} +1 -1
- package/dist/{chunk-U4UJHOSH.js → chunk-IDCKSLYH.js} +3 -3
- package/dist/{chunk-U4UJHOSH.js.map → chunk-IDCKSLYH.js.map} +1 -1
- package/dist/{chunk-WQ53UQL4.cjs → chunk-ILCGLTSA.cjs} +4 -4
- package/dist/{chunk-WQ53UQL4.cjs.map → chunk-ILCGLTSA.cjs.map} +1 -1
- package/dist/{chunk-QBTVATSF.cjs → chunk-ITSSOVOB.cjs} +44 -47
- package/dist/chunk-ITSSOVOB.cjs.map +1 -0
- package/dist/{chunk-V6HWJQQV.js → chunk-IVNNSANC.js} +27 -30
- package/dist/chunk-IVNNSANC.js.map +1 -0
- package/dist/{chunk-SZHU7A5B.cjs → chunk-IWBGCBR6.cjs} +4 -4
- package/dist/{chunk-SZHU7A5B.cjs.map → chunk-IWBGCBR6.cjs.map} +1 -1
- package/dist/{chunk-Q4RESANI.cjs → chunk-J24VJOH3.cjs} +20 -4
- package/dist/chunk-J24VJOH3.cjs.map +1 -0
- package/dist/{chunk-Y4AXQOT4.cjs → chunk-JHPGF3FP.cjs} +8 -8
- package/dist/{chunk-Y4AXQOT4.cjs.map → chunk-JHPGF3FP.cjs.map} +1 -1
- package/dist/{chunk-BM6N4KHO.cjs → chunk-JTB5Q42C.cjs} +6 -22
- package/dist/chunk-JTB5Q42C.cjs.map +1 -0
- package/dist/{chunk-LPVIRJVF.cjs → chunk-K3FW2XZD.cjs} +9 -9
- package/dist/{chunk-LPVIRJVF.cjs.map → chunk-K3FW2XZD.cjs.map} +1 -1
- package/dist/{chunk-LS3LMQ23.js → chunk-MVAPK2BX.js} +162 -49
- package/dist/chunk-MVAPK2BX.js.map +1 -0
- package/dist/{chunk-XPR366DL.cjs → chunk-NGESVVJN.cjs} +17 -17
- package/dist/chunk-NGESVVJN.cjs.map +1 -0
- package/dist/{chunk-VUKQL3L2.cjs → chunk-NIRE5CNO.cjs} +20 -13
- package/dist/chunk-NIRE5CNO.cjs.map +1 -0
- package/dist/{chunk-VC5ABJXC.js → chunk-NLTVXLGT.js} +3 -3
- package/dist/{chunk-VC5ABJXC.js.map → chunk-NLTVXLGT.js.map} +1 -1
- package/dist/chunk-NUKRL3I6.cjs +23 -0
- package/dist/chunk-NUKRL3I6.cjs.map +1 -0
- package/dist/{chunk-R5YZACGK.js → chunk-OC4NTGMN.js} +3 -3
- package/dist/{chunk-R5YZACGK.js.map → chunk-OC4NTGMN.js.map} +1 -1
- package/dist/{chunk-GOVJO4YE.js → chunk-OHBIUXKM.js} +6 -6
- package/dist/chunk-OHBIUXKM.js.map +1 -0
- package/dist/{chunk-FPYT5WZP.cjs → chunk-P6A3M6VD.cjs} +10 -10
- package/dist/{chunk-FPYT5WZP.cjs.map → chunk-P6A3M6VD.cjs.map} +1 -1
- package/dist/{chunk-OKLYRPKL.cjs → chunk-Q47R5E2X.cjs} +8 -8
- package/dist/chunk-Q47R5E2X.cjs.map +1 -0
- package/dist/{chunk-HSQ5Q3I5.js → chunk-Q4CMI2LP.js} +12 -5
- package/dist/chunk-Q4CMI2LP.js.map +1 -0
- package/dist/{chunk-2XLKLVVR.js → chunk-Q5EWJPRY.js} +2 -2
- package/dist/chunk-Q5EWJPRY.js.map +1 -0
- package/dist/{chunk-SK4QLUBK.js → chunk-QARJGQSA.js} +16 -7
- package/dist/chunk-QARJGQSA.js.map +1 -0
- package/dist/{chunk-CZ2GKKYL.cjs → chunk-QDED6YO6.cjs} +5 -5
- package/dist/{chunk-CZ2GKKYL.cjs.map → chunk-QDED6YO6.cjs.map} +1 -1
- package/dist/{chunk-VK7MAV65.cjs → chunk-QKLOP4VC.cjs} +2 -2
- package/dist/{chunk-VK7MAV65.cjs.map → chunk-QKLOP4VC.cjs.map} +1 -1
- package/dist/{chunk-FIOCJYLA.js → chunk-QRSUA2CV.js} +3 -3
- package/dist/{chunk-FIOCJYLA.js.map → chunk-QRSUA2CV.js.map} +1 -1
- package/dist/{chunk-ZT57WTUJ.cjs → chunk-R3UPQFKK.cjs} +21 -12
- package/dist/chunk-R3UPQFKK.cjs.map +1 -0
- package/dist/{chunk-X2FR4OIT.js → chunk-R7WIIPUR.js} +2 -2
- package/dist/chunk-R7WIIPUR.js.map +1 -0
- package/dist/{chunk-RP5HQVLD.js → chunk-RNB4APBZ.js} +30 -7
- package/dist/chunk-RNB4APBZ.js.map +1 -0
- package/dist/{chunk-GD63JPGC.cjs → chunk-ROYPRJH4.cjs} +9 -9
- package/dist/{chunk-GD63JPGC.cjs.map → chunk-ROYPRJH4.cjs.map} +1 -1
- package/dist/{chunk-V26QVGUG.js → chunk-RUDY2GTT.js} +59 -23
- package/dist/chunk-RUDY2GTT.js.map +1 -0
- package/dist/{chunk-JIQRXKTA.cjs → chunk-SKXBJ2NU.cjs} +7 -7
- package/dist/chunk-SKXBJ2NU.cjs.map +1 -0
- package/dist/{chunk-XROIW6BH.js → chunk-SUKXXLWD.js} +6 -6
- package/dist/chunk-SUKXXLWD.js.map +1 -0
- package/dist/{chunk-LTSTGCL6.js → chunk-T73NA43R.js} +3 -3
- package/dist/{chunk-LTSTGCL6.js.map → chunk-T73NA43R.js.map} +1 -1
- package/dist/chunk-T7O6K6PX.js +20 -0
- package/dist/chunk-T7O6K6PX.js.map +1 -0
- package/dist/{chunk-5F5NWKPN.js → chunk-T7XEKOVW.js} +5 -20
- package/dist/chunk-T7XEKOVW.js.map +1 -0
- package/dist/{chunk-HAWE74GQ.cjs → chunk-U2AC6JUP.cjs} +8 -8
- package/dist/chunk-U2AC6JUP.cjs.map +1 -0
- package/dist/{chunk-3WVMJY7F.js → chunk-UC3HT2S4.js} +3 -3
- package/dist/{chunk-3WVMJY7F.js.map → chunk-UC3HT2S4.js.map} +1 -1
- package/dist/{chunk-PBZ7HMBP.js → chunk-UPRJR6IP.js} +4 -4
- package/dist/chunk-UPRJR6IP.js.map +1 -0
- package/dist/{chunk-3V7UJLQT.js → chunk-UQGQFBRL.js} +3 -3
- package/dist/chunk-UQGQFBRL.js.map +1 -0
- package/dist/{chunk-2D43RD5D.cjs → chunk-V2UUGUY4.cjs} +27 -27
- package/dist/chunk-V2UUGUY4.cjs.map +1 -0
- package/dist/{chunk-6AZDM6LK.js → chunk-VF7EWVDG.js} +3 -3
- package/dist/{chunk-6AZDM6LK.js.map → chunk-VF7EWVDG.js.map} +1 -1
- package/dist/{chunk-PNVDQL5Y.cjs → chunk-VTYY7XL5.cjs} +2 -2
- package/dist/chunk-VTYY7XL5.cjs.map +1 -0
- package/dist/{chunk-Y4I4EQFK.js → chunk-WKRSH2VR.js} +3 -3
- package/dist/{chunk-Y4I4EQFK.js.map → chunk-WKRSH2VR.js.map} +1 -1
- package/dist/{chunk-4QEC4CCS.js → chunk-WTMU7J4U.js} +2 -2
- package/dist/{chunk-4QEC4CCS.js.map → chunk-WTMU7J4U.js.map} +1 -1
- package/dist/{chunk-KSWHTR54.js → chunk-XN7NOENA.js} +6 -6
- package/dist/chunk-XN7NOENA.js.map +1 -0
- package/dist/{chunk-ADLLFY3H.cjs → chunk-XSX2UU6Y.cjs} +10 -9
- package/dist/chunk-XSX2UU6Y.cjs.map +1 -0
- package/dist/{chunk-LD4MOBFX.js → chunk-XV4IZNV4.js} +9 -9
- package/dist/chunk-XV4IZNV4.js.map +1 -0
- package/dist/{chunk-EZ2YEF4F.cjs → chunk-XWL6O3SW.cjs} +4 -4
- package/dist/chunk-XWL6O3SW.cjs.map +1 -0
- package/dist/{chunk-PGP7IOJ2.js → chunk-YMA4S2WO.js} +4 -4
- package/dist/{chunk-PGP7IOJ2.js.map → chunk-YMA4S2WO.js.map} +1 -1
- package/dist/{chunk-OUOXM36O.cjs → chunk-YPJ5NH5N.cjs} +11 -11
- package/dist/chunk-YPJ5NH5N.cjs.map +1 -0
- package/dist/{chunk-YLQQX5W2.cjs → chunk-ZF2LDKQQ.cjs} +2 -2
- package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
- package/dist/{chunk-L5YO6PWL.cjs → chunk-ZNW6V4Y6.cjs} +2 -2
- package/dist/chunk-ZNW6V4Y6.cjs.map +1 -0
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/theokit-client.d.cts +36 -0
- package/dist/client/theokit-client.d.ts +36 -0
- package/dist/client/types.d.cts +30 -0
- package/dist/client/types.d.ts +30 -0
- package/dist/compact-session-FUJDVF7B.js +22 -0
- package/dist/{compact-session-4MNKNMO2.js.map → compact-session-FUJDVF7B.js.map} +1 -1
- package/dist/compact-session-LEWF554G.cjs +59 -0
- package/dist/{compact-session-EPFBQ46Z.cjs.map → compact-session-LEWF554G.cjs.map} +1 -1
- package/dist/compaction.cjs +17 -16
- package/dist/compaction.d.cts +13 -13
- package/dist/compaction.d.ts +13 -13
- package/dist/compaction.js +4 -3
- package/dist/concurrency.cjs +7 -6
- package/dist/concurrency.cjs.map +1 -1
- package/dist/concurrency.js +5 -4
- package/dist/concurrency.js.map +1 -1
- package/dist/context/index.cjs +7 -7
- package/dist/context/index.js +3 -3
- package/dist/context-FDOON2DB.js +6 -0
- package/dist/{context-ENXZNF6J.js.map → context-FDOON2DB.js.map} +1 -1
- package/dist/context-VMIE4BMD.cjs +23 -0
- package/dist/{context-7USNN6LP.cjs.map → context-VMIE4BMD.cjs.map} +1 -1
- package/dist/cron-BcWmzWzT.d.cts +240 -0
- package/dist/cron-De6hzWCF.d.ts +240 -0
- package/dist/cron.cjs +43 -41
- package/dist/cron.d.cts +5 -3
- package/dist/cron.d.ts +5 -3
- package/dist/cron.js +42 -40
- package/dist/define-tool.d.ts +14 -6
- package/dist/{errors-BSoXcl3F.d.cts → errors-BgJH9PHi.d.cts} +39 -24
- package/dist/{errors-CHllybaU.d.ts → errors-C5fJUqLk.d.ts} +39 -24
- package/dist/errors.cjs +22 -21
- package/dist/errors.d.cts +2 -2
- package/dist/errors.d.ts +2 -2
- package/dist/errors.js +3 -2
- package/dist/eval.cjs +61 -58
- package/dist/eval.cjs.map +1 -1
- package/dist/eval.d.cts +38 -0
- package/dist/eval.d.ts +38 -0
- package/dist/eval.js +51 -48
- package/dist/eval.js.map +1 -1
- package/dist/event-bus.d.ts +16 -0
- package/dist/{executor-2Z6XJJJG.js → executor-BMEHFOXZ.js} +8 -7
- package/dist/executor-BMEHFOXZ.js.map +1 -0
- package/dist/{executor-2Z3LGG3I.cjs → executor-ZERJ3DGN.cjs} +25 -24
- package/dist/executor-ZERJ3DGN.cjs.map +1 -0
- package/dist/filesystem/index.cjs +8 -7
- package/dist/filesystem/index.cjs.map +1 -1
- package/dist/filesystem/index.js +4 -3
- package/dist/filesystem/index.js.map +1 -1
- package/dist/filesystem/local-filesystem.d.cts +18 -0
- package/dist/filesystem/local-filesystem.d.ts +18 -0
- package/dist/filesystem/types.d.cts +12 -0
- package/dist/filesystem/types.d.ts +12 -0
- package/dist/fs-session-store-3MOJQGP2.cjs +20 -0
- package/dist/{fs-session-store-VVY2AHWG.cjs.map → fs-session-store-3MOJQGP2.cjs.map} +1 -1
- package/dist/fs-session-store-IN7JTTXD.js +11 -0
- package/dist/{fs-session-store-R5FD3EN6.js.map → fs-session-store-IN7JTTXD.js.map} +1 -1
- package/dist/generate-object-N5MDZUJI.js +8 -0
- package/dist/{generate-object-WQRCXFD2.js.map → generate-object-N5MDZUJI.js.map} +1 -1
- package/dist/generate-object-PGSP5U7N.cjs +21 -0
- package/dist/{generate-object-AVXOJK2I.cjs.map → generate-object-PGSP5U7N.cjs.map} +1 -1
- package/dist/generate-object.d.ts +20 -0
- package/dist/index-manager-NG5YENWO.cjs +22 -0
- package/dist/{index-manager-VRU3A2YL.cjs.map → index-manager-NG5YENWO.cjs.map} +1 -1
- package/dist/index-manager-ZMRJ6ZII.js +13 -0
- package/dist/{index-manager-WS7TVKUW.js.map → index-manager-ZMRJ6ZII.js.map} +1 -1
- package/dist/index.cjs +169 -155
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +702 -54
- package/dist/index.d.ts +702 -54
- package/dist/index.js +61 -58
- package/dist/index.js.map +1 -1
- package/dist/{inject-session-GMBMJVNZ.js → inject-session-BJMJH5BX.js} +9 -8
- package/dist/inject-session-BJMJH5BX.js.map +1 -0
- package/dist/inject-session-WQGGMCQY.cjs +29 -0
- package/dist/inject-session-WQGGMCQY.cjs.map +1 -0
- package/dist/internal/auth/auth-types.d.ts +83 -1
- package/dist/internal/auth/credential-store.d.ts +34 -6
- package/dist/internal/auth/oauth-device.d.ts +0 -1
- package/dist/internal/auth/resolve-credential.d.ts +40 -0
- package/dist/internal/budget/tracker/budget.d.ts +12 -14
- package/dist/internal/budget/usage-accumulator.d.ts +15 -0
- package/dist/internal/llm/anthropic-shared.d.ts +8 -4
- package/dist/internal/llm/model-identifier.d.ts +26 -0
- package/dist/internal/llm/openai.d.ts +8 -0
- package/dist/internal/llm/prompt-cache-key.d.ts +1 -0
- package/dist/internal/llm/responses.d.ts +67 -1
- package/dist/internal/llm/router.d.ts +8 -0
- package/dist/internal/llm/types.d.ts +27 -1
- package/dist/internal/local-agent/real-local-run-provider.d.ts +8 -3
- package/dist/internal/local-agent/real-local-run-tools.d.ts +23 -4
- package/dist/internal/mcp/oauth.d.ts +5 -0
- package/dist/internal/mcp/token-storage.d.ts +34 -0
- package/dist/internal/memory/adapters/index.cjs +12 -11
- package/dist/internal/memory/adapters/index.d.cts +3 -1
- package/dist/internal/memory/adapters/index.d.ts +3 -1
- package/dist/internal/memory/adapters/index.js +9 -8
- package/dist/internal/memory/adapters/openai-compatible.d.cts +45 -0
- package/dist/internal/memory/adapters/openai-compatible.d.ts +45 -0
- package/dist/internal/memory/embedding-cache.d.ts +42 -1
- package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
- package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -3
- package/dist/internal/memory/storage/markdown-store.d.ts +0 -5
- package/dist/internal/persistence/cwd-mutex.d.cts +34 -0
- package/dist/internal/persistence/cwd-mutex.d.ts +34 -0
- package/dist/internal/persistence/exclusive-create.d.cts +31 -0
- package/dist/internal/persistence/exclusive-create.d.ts +31 -0
- package/dist/internal/persistence/file-lock.d.cts +28 -0
- package/dist/internal/persistence/file-lock.d.ts +28 -0
- package/dist/internal/persistence/fs-session-store.d.cts +3 -0
- package/dist/internal/persistence/fs-session-store.d.ts +3 -0
- package/dist/internal/persistence/fts5-sanitize.d.cts +20 -0
- package/dist/internal/persistence/fts5-sanitize.d.ts +20 -0
- package/dist/internal/persistence/index.cjs +40 -39
- package/dist/internal/persistence/index.cjs.map +1 -1
- package/dist/internal/persistence/index.d.cts +6 -1
- package/dist/internal/persistence/index.d.ts +6 -1
- package/dist/internal/persistence/index.js +9 -8
- package/dist/internal/persistence/index.js.map +1 -1
- package/dist/internal/persistence/paths.d.cts +54 -1
- package/dist/internal/persistence/paths.d.ts +54 -1
- package/dist/internal/persistence/persistence-schema.d.cts +9 -1
- package/dist/internal/persistence/persistence-schema.d.ts +9 -1
- package/dist/internal/persistence/schema-version.d.cts +215 -1
- package/dist/internal/persistence/schema-version.d.ts +215 -1
- package/dist/internal/persistence/session-writer.d.cts +7 -7
- package/dist/internal/persistence/session-writer.d.ts +7 -7
- package/dist/internal/persistence/sqlite-cas.d.cts +37 -1
- package/dist/internal/persistence/sqlite-cas.d.ts +37 -1
- package/dist/internal/persistence/sqlite-open.d.cts +14 -0
- package/dist/internal/persistence/sqlite-open.d.ts +14 -0
- package/dist/internal/persistence/sqlite-wal.d.cts +45 -0
- package/dist/internal/persistence/sqlite-wal.d.ts +45 -0
- package/dist/internal/persistence/transcript-ops.d.cts +7 -1
- package/dist/internal/persistence/transcript-ops.d.ts +7 -1
- package/dist/internal/plugins/types.d.cts +1 -1
- package/dist/internal/plugins/types.d.ts +1 -1
- package/dist/internal/providers/builtin/openai-chatgpt.d.ts +12 -0
- package/dist/internal/providers/catalog-loader.d.ts +8 -0
- package/dist/internal/providers/catalog-schema.d.ts +55 -0
- package/dist/internal/providers/catalog-source-models-dev.d.ts +36 -0
- package/dist/internal/runtime/concurrency/delegation-depth.d.ts +27 -0
- package/dist/internal/runtime/concurrency/subagent-credentials.d.ts +33 -1
- package/dist/internal/runtime/context/context-discovery-runner.d.ts +44 -0
- package/dist/internal/runtime/context/context-discovery.d.ts +58 -0
- package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +70 -1
- package/dist/internal/runtime/fixtures/fixture-mode.d.ts +15 -1
- package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +15 -0
- package/dist/internal/runtime/registry/agent-registry-store.d.ts +12 -0
- package/dist/internal/runtime/registry/live-agent-registry.d.ts +37 -0
- package/dist/internal/scorers/llm-judge.d.ts +6 -1
- package/dist/internal/security/index.cjs +14 -13
- package/dist/internal/security/index.d.cts +4 -1
- package/dist/internal/security/index.d.ts +4 -1
- package/dist/internal/security/index.js +4 -3
- package/dist/internal/security/path-guard.d.cts +46 -0
- package/dist/internal/security/path-guard.d.ts +46 -0
- package/dist/internal/security/redact.d.cts +71 -0
- package/dist/internal/security/redact.d.ts +71 -0
- package/dist/internal/session/agent-session.d.ts +15 -4
- package/dist/internal/session/session-cache.d.ts +5 -0
- package/dist/internal/task/store.d.ts +91 -5
- package/dist/internal/telemetry/span-names.d.ts +0 -1
- package/dist/internal/telemetry/tracer.d.ts +14 -0
- package/dist/job-queue.d.ts +18 -0
- package/dist/judge-call-DWHAJATE.js +6 -0
- package/dist/{judge-call-MDIPTBJI.js.map → judge-call-DWHAJATE.js.map} +1 -1
- package/dist/judge-call-EGYRC2RE.cjs +23 -0
- package/dist/{judge-call-G5SGV2M2.cjs.map → judge-call-EGYRC2RE.cjs.map} +1 -1
- package/dist/mcp-auth.cjs +41 -25
- package/dist/mcp-auth.cjs.map +1 -1
- package/dist/mcp-auth.js +34 -18
- package/dist/mcp-auth.js.map +1 -1
- package/dist/models.cjs +42 -27
- package/dist/models.cjs.map +1 -1
- package/dist/models.js +25 -10
- package/dist/models.js.map +1 -1
- package/dist/oauth-transaction-store-BT4GLTLK.cjs +36 -0
- package/dist/{oauth-transaction-store-7CKHPQRN.cjs.map → oauth-transaction-store-BT4GLTLK.cjs.map} +1 -1
- package/dist/oauth-transaction-store-W52KVHQ4.js +3 -0
- package/dist/{oauth-transaction-store-W74I6EFD.js.map → oauth-transaction-store-W52KVHQ4.js.map} +1 -1
- package/dist/path-safety.cjs +11 -10
- package/dist/path-safety.js +4 -3
- package/dist/permission-engine.d.ts +55 -0
- package/dist/persistence.cjs +43 -42
- package/dist/persistence.cjs.map +1 -1
- package/dist/persistence.js +13 -12
- package/dist/persistence.js.map +1 -1
- package/dist/project.cjs +9 -8
- package/dist/project.cjs.map +1 -1
- package/dist/project.js +5 -4
- package/dist/project.js.map +1 -1
- package/dist/providers.cjs +23 -0
- package/dist/providers.cjs.map +1 -0
- package/dist/providers.d.cts +29 -0
- package/dist/providers.d.ts +29 -0
- package/dist/providers.js +10 -0
- package/dist/providers.js.map +1 -0
- package/dist/registry-VFKX7WOP.cjs +47 -0
- package/dist/{registry-63ASMXT4.cjs.map → registry-VFKX7WOP.cjs.map} +1 -1
- package/dist/registry-VFP3WWQP.js +10 -0
- package/dist/{registry-O7FJ2MPM.js.map → registry-VFP3WWQP.js.map} +1 -1
- package/dist/retry.cjs +5 -4
- package/dist/retry.js +4 -3
- package/dist/{run-C8FBAC8o.d.cts → run-BYSHf58D.d.cts} +185 -33
- package/dist/{run-C8FBAC8o.d.ts → run-BYSHf58D.d.ts} +185 -33
- package/dist/{run-to-completion-JDPIUKSH.js → run-to-completion-DRO77625.js} +3 -3
- package/dist/{run-to-completion-JDPIUKSH.js.map → run-to-completion-DRO77625.js.map} +1 -1
- package/dist/{run-to-completion-J73I6IY4.cjs → run-to-completion-X4OWM673.cjs} +13 -13
- package/dist/{run-to-completion-J73I6IY4.cjs.map → run-to-completion-X4OWM673.cjs.map} +1 -1
- package/dist/sandbox/bwrap.d.cts +27 -13
- package/dist/sandbox/bwrap.d.ts +27 -13
- package/dist/sandbox/index.cjs +20 -19
- package/dist/sandbox/index.cjs.map +1 -1
- package/dist/sandbox/index.js +5 -4
- package/dist/sandbox/index.js.map +1 -1
- package/dist/sandbox/linux-sandbox.d.cts +72 -0
- package/dist/sandbox/linux-sandbox.d.ts +72 -0
- package/dist/sandbox/local-sandbox.d.cts +41 -0
- package/dist/sandbox/local-sandbox.d.ts +41 -0
- package/dist/sandbox/seccomp.d.cts +6 -0
- package/dist/sandbox/seccomp.d.ts +6 -0
- package/dist/sandbox/types.d.cts +64 -0
- package/dist/sandbox/types.d.ts +64 -0
- package/dist/scorers.d.ts +38 -7
- package/dist/sdk-agent-D8qJVkuV.d.ts +860 -0
- package/dist/sdk-agent-DEoKhA8a.d.cts +860 -0
- package/dist/server/auth/errors.d.cts +1 -1
- package/dist/server/auth/errors.d.ts +1 -1
- package/dist/server/auth/index.cjs +29 -21
- package/dist/server/auth/index.cjs.map +1 -1
- package/dist/server/auth/index.d.cts +25 -15
- package/dist/server/auth/index.d.ts +25 -15
- package/dist/server/auth/index.js +15 -7
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/auth/oauth-transaction-store.d.cts +13 -1
- package/dist/server/auth/oauth-transaction-store.d.ts +13 -1
- package/dist/server/auth/orchestrator.d.cts +1 -1
- package/dist/server/auth/orchestrator.d.ts +1 -1
- package/dist/server/auth/types.d.cts +1 -1
- package/dist/server/auth/types.d.ts +1 -1
- package/dist/server/auth/validate-return-to.d.cts +21 -11
- package/dist/server/auth/validate-return-to.d.ts +21 -11
- package/dist/server/errors-envelope.cjs +15 -14
- package/dist/server/errors-envelope.cjs.map +1 -1
- package/dist/server/errors-envelope.d.cts +4 -4
- package/dist/server/errors-envelope.d.ts +4 -4
- package/dist/server/errors-envelope.js +4 -3
- package/dist/server/errors-envelope.js.map +1 -1
- package/dist/session-transcript-AKDYYGXQ.js +6 -0
- package/dist/{session-transcript-RAKEK76V.js.map → session-transcript-AKDYYGXQ.js.map} +1 -1
- package/dist/session-transcript-JXHFTB7G.cjs +51 -0
- package/dist/{session-transcript-DOM3UTXR.cjs.map → session-transcript-JXHFTB7G.cjs.map} +1 -1
- package/dist/skills.cjs +8 -7
- package/dist/skills.js +6 -5
- package/dist/stream-object-BUCF5PHO.cjs +21 -0
- package/dist/{stream-object-L3Q7PBMF.cjs.map → stream-object-BUCF5PHO.cjs.map} +1 -1
- package/dist/stream-object-L57K4OFS.js +8 -0
- package/dist/{stream-object-ZYXWS4B2.js.map → stream-object-L57K4OFS.js.map} +1 -1
- package/dist/{stream-to-completion-DFJ5T3BK.js → stream-to-completion-QV5HCL3J.js} +3 -3
- package/dist/{stream-to-completion-DFJ5T3BK.js.map → stream-to-completion-QV5HCL3J.js.map} +1 -1
- package/dist/{stream-to-completion-H2MHISSK.cjs → stream-to-completion-SRISU5AB.cjs} +10 -10
- package/dist/{stream-to-completion-H2MHISSK.cjs.map → stream-to-completion-SRISU5AB.cjs.map} +1 -1
- package/dist/subagents-loader-AZIXJ7D3.cjs +16 -0
- package/dist/{subagents-loader-VRW73QQT.cjs.map → subagents-loader-AZIXJ7D3.cjs.map} +1 -1
- package/dist/subagents-loader-J54ESLDV.js +7 -0
- package/dist/{subagents-loader-I56GSKAQ.js.map → subagents-loader-J54ESLDV.js.map} +1 -1
- package/dist/subagents-loader.cjs +7 -6
- package/dist/subagents-loader.cjs.map +1 -1
- package/dist/subagents-loader.d.cts +3 -2
- package/dist/subagents-loader.d.ts +3 -2
- package/dist/subagents-loader.js +5 -4
- package/dist/subagents-loader.js.map +1 -1
- package/dist/subscription/define-subscription.d.cts +1 -1
- package/dist/subscription/define-subscription.d.ts +1 -1
- package/dist/subscription/index.cjs +22 -9
- package/dist/subscription/index.cjs.map +1 -1
- package/dist/subscription/index.d.cts +1 -1
- package/dist/subscription/index.d.ts +1 -1
- package/dist/subscription/index.js +21 -8
- package/dist/subscription/index.js.map +1 -1
- package/dist/subscription/internal/adapter-types.d.cts +1 -1
- package/dist/subscription/internal/adapter-types.d.ts +1 -1
- package/dist/subscription/internal/server-integration.d.cts +1 -1
- package/dist/subscription/internal/server-integration.d.ts +1 -1
- package/dist/subscription/internal/sse-encoder.d.cts +1 -1
- package/dist/subscription/internal/sse-encoder.d.ts +1 -1
- package/dist/subscription/internal/sse-parser.d.cts +1 -1
- package/dist/subscription/internal/sse-parser.d.ts +1 -1
- package/dist/subscription/internal/subscription-runtime.d.cts +1 -1
- package/dist/subscription/internal/subscription-runtime.d.ts +1 -1
- package/dist/subscription/internal/ws-adapter-node.d.cts +1 -1
- package/dist/subscription/internal/ws-adapter-node.d.ts +1 -1
- package/dist/subscription/theokit-subscribe.d.cts +14 -1
- package/dist/subscription/theokit-subscribe.d.ts +14 -1
- package/dist/subscription/types.d.cts +19 -1
- package/dist/subscription/types.d.ts +19 -1
- package/dist/task-store.cjs +8 -7
- package/dist/task-store.js +5 -4
- package/dist/types/agent-prims.d.ts +14 -0
- package/dist/types/agent.d.ts +92 -11
- package/dist/types/batch.d.ts +7 -1
- package/dist/types/conversation.d.ts +18 -5
- package/dist/types/goal-events.d.ts +4 -8
- package/dist/types/memory-adapter.d.ts +12 -1
- package/dist/types/plugin.d.ts +101 -0
- package/dist/types/provider-profile.d.ts +32 -0
- package/dist/types/run-events.d.ts +28 -1
- package/dist/types/run.d.ts +35 -23
- package/dist/types/sdk-agent.d.ts +14 -0
- package/dist/types/session-record.d.ts +18 -1
- package/dist/types/task.d.ts +15 -1
- package/dist/types/theokit.d.ts +10 -1
- package/dist/types/updates.d.ts +35 -4
- package/dist/types/workflow.d.ts +155 -0
- package/dist/workflow.cjs +29 -28
- package/dist/workflow.d.cts +666 -17
- package/dist/workflow.d.ts +666 -17
- package/dist/workflow.js +8 -7
- package/docs/error-codes.md +215 -0
- package/docs/harness-capability-map.md +1358 -0
- package/package.json +29 -16
- package/bin/init-claude.mjs +0 -68
- package/claude-template/AGENTS.md +0 -157
- package/claude-template/CLAUDE.md +0 -66
- package/claude-template/dot-claude/rules/theokit-conventions.md +0 -32
- package/claude-template/dot-claude/settings.json +0 -16
- package/claude-template/dot-claude/skills/theokit-agent-core/SKILL.md +0 -209
- package/claude-template/dot-claude/skills/theokit-auth/SKILL.md +0 -102
- package/claude-template/dot-claude/skills/theokit-budget/SKILL.md +0 -176
- package/claude-template/dot-claude/skills/theokit-client/SKILL.md +0 -58
- package/claude-template/dot-claude/skills/theokit-compaction/SKILL.md +0 -102
- package/claude-template/dot-claude/skills/theokit-concurrency/SKILL.md +0 -68
- package/claude-template/dot-claude/skills/theokit-config/SKILL.md +0 -139
- package/claude-template/dot-claude/skills/theokit-cron/SKILL.md +0 -148
- package/claude-template/dot-claude/skills/theokit-di/SKILL.md +0 -233
- package/claude-template/dot-claude/skills/theokit-di-agent/SKILL.md +0 -294
- package/claude-template/dot-claude/skills/theokit-errors/SKILL.md +0 -172
- package/claude-template/dot-claude/skills/theokit-eval/SKILL.md +0 -179
- package/claude-template/dot-claude/skills/theokit-filesystem/SKILL.md +0 -74
- package/claude-template/dot-claude/skills/theokit-gateways/SKILL.md +0 -209
- package/claude-template/dot-claude/skills/theokit-memory/SKILL.md +0 -176
- package/claude-template/dot-claude/skills/theokit-messages/SKILL.md +0 -58
- package/claude-template/dot-claude/skills/theokit-models/SKILL.md +0 -79
- package/claude-template/dot-claude/skills/theokit-path-safety/SKILL.md +0 -60
- package/claude-template/dot-claude/skills/theokit-persistence/SKILL.md +0 -85
- package/claude-template/dot-claude/skills/theokit-project/SKILL.md +0 -55
- package/claude-template/dot-claude/skills/theokit-retry/SKILL.md +0 -50
- package/claude-template/dot-claude/skills/theokit-sandbox/SKILL.md +0 -93
- package/claude-template/dot-claude/skills/theokit-sanitize/SKILL.md +0 -66
- package/claude-template/dot-claude/skills/theokit-skills/SKILL.md +0 -68
- package/claude-template/dot-claude/skills/theokit-streaming/SKILL.md +0 -156
- package/claude-template/dot-claude/skills/theokit-subagents/SKILL.md +0 -109
- package/claude-template/dot-claude/skills/theokit-subscriptions/SKILL.md +0 -148
- package/claude-template/dot-claude/skills/theokit-task-store/SKILL.md +0 -75
- package/claude-template/dot-claude/skills/theokit-tools/SKILL.md +0 -170
- package/claude-template/dot-claude/skills/theokit-workflows/SKILL.md +0 -218
- package/dist/agent-FFVV4U5N.js +0 -50
- package/dist/agent-YLAHVHEH.cjs +0 -59
- package/dist/agent-session-store-DUGBAX5V.cjs +0 -23
- package/dist/agent-session-store-TNCGL5RN.js +0 -6
- package/dist/batch-UPKN4SG6.js.map +0 -1
- package/dist/batch-ZEFN5SO7.cjs.map +0 -1
- package/dist/chunk-2D43RD5D.cjs.map +0 -1
- package/dist/chunk-2FYEVT2B.cjs.map +0 -1
- package/dist/chunk-2RW7K6FN.cjs.map +0 -1
- package/dist/chunk-2XLKLVVR.js.map +0 -1
- package/dist/chunk-34XOCZJO.js.map +0 -1
- package/dist/chunk-3V7UJLQT.js.map +0 -1
- package/dist/chunk-4NAKHID5.js.map +0 -1
- package/dist/chunk-4Q4K4WB5.js.map +0 -1
- package/dist/chunk-5F5NWKPN.js.map +0 -1
- package/dist/chunk-5NBUH3NO.js.map +0 -1
- package/dist/chunk-5YKNEMXR.cjs.map +0 -1
- package/dist/chunk-7W7ZWMLQ.js.map +0 -1
- package/dist/chunk-ADLLFY3H.cjs.map +0 -1
- package/dist/chunk-B4YA6BRS.cjs.map +0 -1
- package/dist/chunk-B6HOIWQ6.js.map +0 -1
- package/dist/chunk-BDTVFIPB.cjs.map +0 -1
- package/dist/chunk-BFYGJGC5.js.map +0 -1
- package/dist/chunk-BM6N4KHO.cjs.map +0 -1
- package/dist/chunk-CAH3G4IS.js.map +0 -1
- package/dist/chunk-EZ2YEF4F.cjs.map +0 -1
- package/dist/chunk-F77UENR6.cjs.map +0 -1
- package/dist/chunk-FOXKFTVZ.cjs.map +0 -1
- package/dist/chunk-G3JWXOGY.js.map +0 -1
- package/dist/chunk-GOVJO4YE.js.map +0 -1
- package/dist/chunk-HAWE74GQ.cjs.map +0 -1
- package/dist/chunk-HE4BIAOS.js.map +0 -1
- package/dist/chunk-HSQ5Q3I5.js.map +0 -1
- package/dist/chunk-JIQRXKTA.cjs.map +0 -1
- package/dist/chunk-KSWHTR54.js.map +0 -1
- package/dist/chunk-L5YO6PWL.cjs.map +0 -1
- package/dist/chunk-LD4MOBFX.js.map +0 -1
- package/dist/chunk-LS3LMQ23.js.map +0 -1
- package/dist/chunk-MSFLYJDY.js.map +0 -1
- package/dist/chunk-NZL4BNFQ.js.map +0 -1
- package/dist/chunk-OKLYRPKL.cjs.map +0 -1
- package/dist/chunk-OUOXM36O.cjs.map +0 -1
- package/dist/chunk-OXNYIMZZ.js.map +0 -1
- package/dist/chunk-PBZ7HMBP.js.map +0 -1
- package/dist/chunk-PNVDQL5Y.cjs.map +0 -1
- package/dist/chunk-Q4RESANI.cjs.map +0 -1
- package/dist/chunk-QBTVATSF.cjs.map +0 -1
- package/dist/chunk-RAHSWE5C.cjs.map +0 -1
- package/dist/chunk-RP5HQVLD.js.map +0 -1
- package/dist/chunk-SEL2ZQMT.js.map +0 -1
- package/dist/chunk-SK4QLUBK.js.map +0 -1
- package/dist/chunk-TTJ54H3E.cjs.map +0 -1
- package/dist/chunk-V26QVGUG.js.map +0 -1
- package/dist/chunk-V6HWJQQV.js.map +0 -1
- package/dist/chunk-VGPXHHF3.cjs.map +0 -1
- package/dist/chunk-VUKQL3L2.cjs.map +0 -1
- package/dist/chunk-VYCKUKPA.cjs.map +0 -1
- package/dist/chunk-VYHJZVL5.cjs.map +0 -1
- package/dist/chunk-X2FR4OIT.js.map +0 -1
- package/dist/chunk-XPR366DL.cjs.map +0 -1
- package/dist/chunk-XROIW6BH.js.map +0 -1
- package/dist/chunk-YLQQX5W2.cjs.map +0 -1
- package/dist/chunk-ZT57WTUJ.cjs.map +0 -1
- package/dist/compact-session-4MNKNMO2.js +0 -21
- package/dist/compact-session-EPFBQ46Z.cjs +0 -58
- package/dist/context-7USNN6LP.cjs +0 -22
- package/dist/context-ENXZNF6J.js +0 -5
- package/dist/cron-BMjgFH-_.d.ts +0 -631
- package/dist/cron-DFDdCdMM.d.cts +0 -631
- package/dist/executor-2Z3LGG3I.cjs.map +0 -1
- package/dist/executor-2Z6XJJJG.js.map +0 -1
- package/dist/fs-session-store-R5FD3EN6.js +0 -10
- package/dist/fs-session-store-VVY2AHWG.cjs +0 -19
- package/dist/generate-object-AVXOJK2I.cjs +0 -20
- package/dist/generate-object-WQRCXFD2.js +0 -7
- package/dist/index-manager-VRU3A2YL.cjs +0 -21
- package/dist/index-manager-WS7TVKUW.js +0 -12
- package/dist/inject-session-AUQLBDRS.cjs +0 -28
- package/dist/inject-session-AUQLBDRS.cjs.map +0 -1
- package/dist/inject-session-GMBMJVNZ.js.map +0 -1
- package/dist/judge-call-G5SGV2M2.cjs +0 -22
- package/dist/judge-call-MDIPTBJI.js +0 -5
- package/dist/oauth-transaction-store-7CKHPQRN.cjs +0 -32
- package/dist/oauth-transaction-store-W74I6EFD.js +0 -3
- package/dist/registry-63ASMXT4.cjs +0 -46
- package/dist/registry-O7FJ2MPM.js +0 -9
- package/dist/session-transcript-DOM3UTXR.cjs +0 -50
- package/dist/session-transcript-RAKEK76V.js +0 -5
- package/dist/stream-object-L3Q7PBMF.cjs +0 -20
- package/dist/stream-object-ZYXWS4B2.js +0 -7
- package/dist/subagents-loader-I56GSKAQ.js +0 -6
- package/dist/subagents-loader-VRW73QQT.cjs +0 -15
package/dist/workflow.d.ts
CHANGED
|
@@ -1,3 +1,567 @@
|
|
|
1
|
+
import { ZodType, z } from 'zod';
|
|
2
|
+
import { u as MessageOrigin, C as CustomTool } from './run-BYSHf58D.js';
|
|
3
|
+
import { S as SDKAgent } from './sdk-agent-D8qJVkuV.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Public type contract for `Workflow.create / .run / .resume` (Adoption
|
|
7
|
+
* Roadmap #5; ADRs D230-D248).
|
|
8
|
+
*
|
|
9
|
+
* Step types form a discriminated union by `kind`. Helper factory functions
|
|
10
|
+
* (`fn()`, `agentStep()`) live in `workflow.ts` and hide the discriminator
|
|
11
|
+
* from end users.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Any node of a committed workflow, discriminated by `kind`.
|
|
18
|
+
*
|
|
19
|
+
* Build these with the helpers rather than by hand: `fn()` and `agentStep()` set the discriminator,
|
|
20
|
+
* validate the id, and parse the retry policy at construction — where a mistake is cheap — while the
|
|
21
|
+
* builder methods `.parallel()`, `.branch()`, `.foreach()`, `.dowhile()`, `.sleep()` and `.suspend()`
|
|
22
|
+
* cover the remaining variants and mint a positional default id (`parallel_0`, `branch_1`, ...) when
|
|
23
|
+
* you do not pass one.
|
|
24
|
+
*
|
|
25
|
+
* Every id, nested ones included, must match `^[a-z0-9][a-z0-9_-]*$` case-insensitively and be at
|
|
26
|
+
* most 64 characters, and must be unique across the whole workflow. `.commit()` walks the tree —
|
|
27
|
+
* parallel branches, branch predicates, the fallback, and the inner step of a `foreach`/`dowhile` —
|
|
28
|
+
* and throws {@link WorkflowDuplicateStepIdError} on the second occurrence.
|
|
29
|
+
*/
|
|
30
|
+
type Step = FnStep | AgentStep | ParallelStep | BranchStep | ForeachStep | DowhileStep | SleepStep | SuspendStep;
|
|
31
|
+
/** A pure function step. */
|
|
32
|
+
interface FnStep {
|
|
33
|
+
readonly kind: "fn";
|
|
34
|
+
readonly id: string;
|
|
35
|
+
readonly fn: (input: unknown, ctx: StepContext) => Promise<unknown> | unknown;
|
|
36
|
+
readonly inputSchema?: ZodType;
|
|
37
|
+
readonly outputSchema?: ZodType;
|
|
38
|
+
readonly retry?: RetryPolicy;
|
|
39
|
+
/** D238 — slot reserved; runtime throws if engine not yet implemented. */
|
|
40
|
+
readonly compensate?: (input: unknown, output: unknown, error: Error) => Promise<void> | void;
|
|
41
|
+
}
|
|
42
|
+
/** An agent.send-driven step. */
|
|
43
|
+
interface AgentStep {
|
|
44
|
+
readonly kind: "agent";
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly agent: SDKAgent;
|
|
47
|
+
readonly promptTemplate: string | ((input: unknown) => string);
|
|
48
|
+
readonly retry?: RetryPolicy;
|
|
49
|
+
/**
|
|
50
|
+
* SE3 — provenance stamped onto this step's `agent.send()` (forwarded to
|
|
51
|
+
* `RunResult.origin`). Squad sets `{ kind: "peer", from: "agent-<i-1>" }` on
|
|
52
|
+
* every step after the first so a peer-driven turn is attributable.
|
|
53
|
+
*/
|
|
54
|
+
readonly origin?: MessageOrigin;
|
|
55
|
+
}
|
|
56
|
+
/** N concurrent branches, each its own mini-step-list. */
|
|
57
|
+
interface ParallelStep {
|
|
58
|
+
readonly kind: "parallel";
|
|
59
|
+
readonly id: string;
|
|
60
|
+
readonly branches: ReadonlyArray<ReadonlyArray<Step>>;
|
|
61
|
+
readonly concurrency?: number;
|
|
62
|
+
readonly errorPolicy?: "fail-fast" | "collect";
|
|
63
|
+
}
|
|
64
|
+
/** First-match-wins predicates + optional fallback. */
|
|
65
|
+
interface BranchStep {
|
|
66
|
+
readonly kind: "branch";
|
|
67
|
+
readonly id: string;
|
|
68
|
+
readonly predicates: ReadonlyArray<readonly [(input: unknown) => boolean | Promise<boolean>, ReadonlyArray<Step>]>;
|
|
69
|
+
readonly fallback?: ReadonlyArray<Step>;
|
|
70
|
+
}
|
|
71
|
+
/** Map a step over an upstream array output. */
|
|
72
|
+
interface ForeachStep {
|
|
73
|
+
readonly kind: "foreach";
|
|
74
|
+
readonly id: string;
|
|
75
|
+
/** ID of an upstream top-level step whose output is iterable. */
|
|
76
|
+
readonly iterableFrom: string;
|
|
77
|
+
readonly step: Step;
|
|
78
|
+
readonly concurrency?: number;
|
|
79
|
+
}
|
|
80
|
+
/** Loop a step until condFn returns false. */
|
|
81
|
+
interface DowhileStep {
|
|
82
|
+
readonly kind: "dowhile";
|
|
83
|
+
readonly id: string;
|
|
84
|
+
readonly step: Step;
|
|
85
|
+
readonly condFn: (output: unknown, iteration: number) => boolean | Promise<boolean>;
|
|
86
|
+
readonly maxIterations?: number;
|
|
87
|
+
}
|
|
88
|
+
/** Pause for a fixed duration. */
|
|
89
|
+
interface SleepStep {
|
|
90
|
+
readonly kind: "sleep";
|
|
91
|
+
readonly id: string;
|
|
92
|
+
readonly durationMs: number;
|
|
93
|
+
}
|
|
94
|
+
/** Standalone explicit suspend point. */
|
|
95
|
+
interface SuspendStep {
|
|
96
|
+
readonly kind: "suspend";
|
|
97
|
+
readonly id: string;
|
|
98
|
+
readonly payloadSchema?: ZodType;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* theokit#161 — one step of a workflow, as a reflection surface sees it.
|
|
102
|
+
*
|
|
103
|
+
* `id` and `kind` are the only fields every step variant shares, and they are what a reflection
|
|
104
|
+
* endpoint renders. Everything else a step carries is an executable — a predicate, a condition, an
|
|
105
|
+
* agent, a prompt template — which cannot cross a process boundary and means nothing to a caller
|
|
106
|
+
* enumerating shape.
|
|
107
|
+
*
|
|
108
|
+
* @public
|
|
109
|
+
*/
|
|
110
|
+
interface WorkflowStepDescription {
|
|
111
|
+
readonly id: string;
|
|
112
|
+
readonly kind: Step["kind"];
|
|
113
|
+
/**
|
|
114
|
+
* Nested steps, for the variants that contain them: `parallel` (all branches, flattened — the
|
|
115
|
+
* branch grouping is a scheduling detail, not shape a reader needs), `branch` (each predicate's
|
|
116
|
+
* steps plus the fallback), `foreach` and `dowhile` (their single inner step).
|
|
117
|
+
*
|
|
118
|
+
* Absent for leaf steps. A flat list would misreport a parallel or branching workflow as linear.
|
|
119
|
+
*/
|
|
120
|
+
readonly steps?: readonly WorkflowStepDescription[];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* theokit#161 — the read-only shape of a committed workflow.
|
|
124
|
+
*
|
|
125
|
+
* Returned by `Workflow.describe()`. There is deliberately NO workflow registry to enumerate: a
|
|
126
|
+
* `Workflow` is a value the caller constructs and holds, so the caller already knows which ones
|
|
127
|
+
* exist. What it lacked was a way to DESCRIBE one. A registry would have added process-global state
|
|
128
|
+
* that nothing ever releases, to re-answer a question the host can answer itself.
|
|
129
|
+
*
|
|
130
|
+
* @public
|
|
131
|
+
*/
|
|
132
|
+
interface WorkflowDescription {
|
|
133
|
+
readonly name: string;
|
|
134
|
+
readonly steps: readonly WorkflowStepDescription[];
|
|
135
|
+
}
|
|
136
|
+
/** D237 — retry policy applied per fn/agent step. */
|
|
137
|
+
interface RetryPolicy {
|
|
138
|
+
/** Total attempts (MIN 1, MAX 20). `1` = no retry. */
|
|
139
|
+
readonly maxAttempts: number;
|
|
140
|
+
readonly initialBackoffMs?: number;
|
|
141
|
+
readonly backoffCoefficient?: number;
|
|
142
|
+
readonly maximumBackoffMs?: number;
|
|
143
|
+
readonly nonRetryableErrors?: ReadonlyArray<string>;
|
|
144
|
+
}
|
|
145
|
+
/** D247 — context handed to every step.fn. */
|
|
146
|
+
interface StepContext {
|
|
147
|
+
readonly runId: string;
|
|
148
|
+
readonly signal: AbortSignal;
|
|
149
|
+
readonly log: {
|
|
150
|
+
debug: (msg: string, attrs?: Record<string, unknown>) => void;
|
|
151
|
+
info: (msg: string, attrs?: Record<string, unknown>) => void;
|
|
152
|
+
warn: (msg: string, attrs?: Record<string, unknown>) => void;
|
|
153
|
+
};
|
|
154
|
+
/** Pause the workflow; resume via `Workflow.resume({...})`. */
|
|
155
|
+
readonly suspend: (payload?: unknown) => Promise<never>;
|
|
156
|
+
/**
|
|
157
|
+
* SE29 — the workflow's shared state (from `WorkflowOptions.initialState`,
|
|
158
|
+
* mutated by {@link setState}), visible to every subsequent step in the run.
|
|
159
|
+
* `undefined` when no `initialState`/`setState` has run. Persisted across
|
|
160
|
+
* suspend/resume.
|
|
161
|
+
*/
|
|
162
|
+
readonly state: unknown;
|
|
163
|
+
/**
|
|
164
|
+
* SE29 — update the shared state for subsequent steps. Validated against
|
|
165
|
+
* `WorkflowOptions.stateSchema` when set (a mismatch throws
|
|
166
|
+
* {@link WorkflowStateError}, which fails the step/run — Rule 8).
|
|
167
|
+
*/
|
|
168
|
+
readonly setState: (next: unknown) => void;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* The outcome of one step, appended to `WorkflowRun.stepResults` in execution order.
|
|
172
|
+
*
|
|
173
|
+
* A failing step does not throw out of `run()`. It lands here with `status: "failed"` and its error
|
|
174
|
+
* flattened to `{ name, message }` — the thrown instance is gone by the time a caller sees it, so
|
|
175
|
+
* match on `error.name` and never on `instanceof`.
|
|
176
|
+
*
|
|
177
|
+
* `"skipped"` occurs only for a `branch` step whose predicates all returned false and which declared
|
|
178
|
+
* no fallback; its `output` is the step input, passed through unchanged. `"suspended"` marks the step
|
|
179
|
+
* that called `StepContext.suspend()`, is always the last entry of the run, and carries no output.
|
|
180
|
+
*
|
|
181
|
+
* `attempts` means different things per kind. For `fn` and `agent` it counts execution attempts: 1
|
|
182
|
+
* without a `retry` policy, and 0 when the step failed before its body ran — an `inputSchema`
|
|
183
|
+
* rejection, a prompt template that threw, a `compensate` v1 refuses, or a cloud agent. For `dowhile`
|
|
184
|
+
* it counts loop iterations instead.
|
|
185
|
+
*/
|
|
186
|
+
interface StepResult {
|
|
187
|
+
readonly stepId: string;
|
|
188
|
+
readonly kind: Step["kind"];
|
|
189
|
+
readonly status: "completed" | "failed" | "skipped" | "suspended";
|
|
190
|
+
readonly attempts: number;
|
|
191
|
+
readonly durationMs: number;
|
|
192
|
+
readonly output?: unknown;
|
|
193
|
+
readonly error?: {
|
|
194
|
+
name: string;
|
|
195
|
+
message: string;
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* The terminal record of one run — what `Workflow.run()` resolves to, what `Workflow.resume()`
|
|
200
|
+
* returns, and what the `result` promise of `Workflow.stream()` settles with.
|
|
201
|
+
*
|
|
202
|
+
* Read `status`; do not rely on `catch`. A step that throws does not reject the promise, it ends the
|
|
203
|
+
* run with `status: "failed"` and the error in `error`. Only `completed` populates `output`; `failed`
|
|
204
|
+
* and `cancelled` (an aborted `signal`) populate `error`; `suspended` populates neither and means a
|
|
205
|
+
* snapshot exists under `id` for `Workflow.resume()`. `running` is part of the union for the benefit
|
|
206
|
+
* of a host tracking a run in flight — the executor only ever assembles a terminal one.
|
|
207
|
+
*
|
|
208
|
+
* `stepResults` is cumulative across a resume: the executor seeds it with the snapshot's prior
|
|
209
|
+
* results, so the record of a resumed run covers the steps that ran before the suspend as well.
|
|
210
|
+
*/
|
|
211
|
+
interface WorkflowRun<TOutput = unknown> {
|
|
212
|
+
readonly id: string;
|
|
213
|
+
readonly name: string;
|
|
214
|
+
readonly status: "running" | "completed" | "failed" | "suspended" | "cancelled";
|
|
215
|
+
readonly output?: TOutput;
|
|
216
|
+
readonly error?: {
|
|
217
|
+
name: string;
|
|
218
|
+
message: string;
|
|
219
|
+
};
|
|
220
|
+
readonly startedAt: number;
|
|
221
|
+
readonly endedAt?: number;
|
|
222
|
+
readonly stepResults: ReadonlyArray<StepResult>;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* The persisted state of a suspended run: written when a step calls `StepContext.suspend()`, read
|
|
226
|
+
* back by `Workflow.resume()`. Callers never construct one — the type is exported so a host can
|
|
227
|
+
* inspect what the persistence backend wrote.
|
|
228
|
+
*
|
|
229
|
+
* Snapshots are single-shot. `resume()` deletes the snapshot before re-entering the executor, so the
|
|
230
|
+
* same one cannot be resumed twice; a second attempt raises
|
|
231
|
+
* {@link WorkflowSnapshotNotFoundError}.
|
|
232
|
+
*
|
|
233
|
+
* Everything reachable from here must survive `JSON.stringify` — the store serializes on save even
|
|
234
|
+
* for the memory backend, and raises `WorkflowNotSerializableError` rather than letting a `TypeError`
|
|
235
|
+
* escape. That rules out BigInt, circular references and class instances in step outputs, in
|
|
236
|
+
* `accumulatedInput` and in `state`.
|
|
237
|
+
*
|
|
238
|
+
* `currentStepId` is the suspending step, and resume continues from the step AFTER it. A workflow
|
|
239
|
+
* definition edited between suspend and resume therefore either fails with
|
|
240
|
+
* `WorkflowResumeStepNotFoundError` (the id is gone) or resumes at a position the author did not
|
|
241
|
+
* intend (the id moved).
|
|
242
|
+
*/
|
|
243
|
+
interface WorkflowSnapshot {
|
|
244
|
+
/** v1 = pre-SE29 (no `state`); v2 = SE29 (carries `state`). Resume reads both. */
|
|
245
|
+
readonly _schemaVersion: 1 | 2;
|
|
246
|
+
readonly runId: string;
|
|
247
|
+
readonly workflowName: string;
|
|
248
|
+
readonly currentStepId: string;
|
|
249
|
+
readonly suspendedPayload?: unknown;
|
|
250
|
+
readonly stepResults: ReadonlyArray<StepResult>;
|
|
251
|
+
readonly accumulatedInput: unknown;
|
|
252
|
+
/** SE29 — shared state captured at suspend (v2). Absent on a v1 snapshot. */
|
|
253
|
+
readonly state?: unknown;
|
|
254
|
+
readonly suspendedAt: number;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* SE28 — a step-level workflow event emitted by `Workflow.stream()` as top-level
|
|
258
|
+
* steps run. Coarse-grained (one event per top-level step; nested
|
|
259
|
+
* parallel/branch/foreach emit as their single wrapping step), distinct from the
|
|
260
|
+
* token-delta agent stream. Discriminate on `type`.
|
|
261
|
+
*
|
|
262
|
+
* @public
|
|
263
|
+
*/
|
|
264
|
+
type WorkflowEvent = {
|
|
265
|
+
readonly type: "step_started";
|
|
266
|
+
readonly stepId: string;
|
|
267
|
+
} | {
|
|
268
|
+
readonly type: "step_completed";
|
|
269
|
+
readonly stepId: string;
|
|
270
|
+
readonly output: unknown;
|
|
271
|
+
} | {
|
|
272
|
+
readonly type: "step_failed";
|
|
273
|
+
readonly stepId: string;
|
|
274
|
+
readonly error: {
|
|
275
|
+
readonly name: string;
|
|
276
|
+
readonly message: string;
|
|
277
|
+
};
|
|
278
|
+
} | {
|
|
279
|
+
readonly type: "workflow_suspended";
|
|
280
|
+
readonly stepId: string;
|
|
281
|
+
} | {
|
|
282
|
+
readonly type: "workflow_completed";
|
|
283
|
+
};
|
|
284
|
+
/**
|
|
285
|
+
* SE28 — the async iterator returned by `Workflow.stream()`. Yields
|
|
286
|
+
* {@link WorkflowEvent}s in execution order; `result` resolves to the same
|
|
287
|
+
* terminal {@link WorkflowRun} the `run()` path returns (the authoritative
|
|
288
|
+
* outcome — the stream ends when the run terminates).
|
|
289
|
+
*
|
|
290
|
+
* @public
|
|
291
|
+
*/
|
|
292
|
+
type WorkflowStream<TOutput = unknown> = AsyncIterableIterator<WorkflowEvent> & {
|
|
293
|
+
readonly result: Promise<WorkflowRun<TOutput>>;
|
|
294
|
+
};
|
|
295
|
+
/**
|
|
296
|
+
* Where suspend snapshots are kept. Omitting `WorkflowOptions.persistence` selects the same store
|
|
297
|
+
* `backend: "memory"` selects explicitly.
|
|
298
|
+
*
|
|
299
|
+
* `"memory"` is one process-wide map shared by every workflow, so a run suspended under it can only
|
|
300
|
+
* be resumed by the process that suspended it, and only until it exits. `"json"` writes one
|
|
301
|
+
* `{runId}.json` per snapshot into `dir` through an atomic write and survives a restart. Any suspend
|
|
302
|
+
* point that waits on a human or an external system needs `"json"`; `"memory"` is for tests and for
|
|
303
|
+
* suspends resolved within the same process.
|
|
304
|
+
*
|
|
305
|
+
* `dir` is required when `backend` is `"json"` and ignored otherwise — `Workflow.create()` rejects
|
|
306
|
+
* the options up front when it is missing or empty, rather than failing at the first suspend.
|
|
307
|
+
*/
|
|
308
|
+
interface WorkflowPersistenceOptions {
|
|
309
|
+
readonly backend: "memory" | "json";
|
|
310
|
+
/** Required for `backend: "json"`. */
|
|
311
|
+
readonly dir?: string;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Configuration for `Workflow.create()`, validated by Zod before the builder is handed back: a `name`
|
|
315
|
+
* outside 1..128 characters, or `persistence.backend: "json"` without a `dir`, throws there rather
|
|
316
|
+
* than at run time.
|
|
317
|
+
*
|
|
318
|
+
* `name` is an observability and error-message label, not an identity. Two workflows may share one;
|
|
319
|
+
* the identity behind the single-flight lock is minted per `.commit()` call, so two separately
|
|
320
|
+
* committed workflows never block each other however they are named.
|
|
321
|
+
*
|
|
322
|
+
* The three schemas are independent and each optional: `inputSchema` guards `run(input)` before step
|
|
323
|
+
* 1, `outputSchema` guards the final value on the completed path only (a suspended or failed run
|
|
324
|
+
* skips it), and `stateSchema` guards `initialState` plus every `StepContext.setState()` call. All
|
|
325
|
+
* three must be synchronous — a schema carrying an async refinement is reported as a validation
|
|
326
|
+
* failure with that explanation, never awaited.
|
|
327
|
+
*/
|
|
328
|
+
interface WorkflowOptions {
|
|
329
|
+
readonly name: string;
|
|
330
|
+
readonly persistence?: WorkflowPersistenceOptions;
|
|
331
|
+
/**
|
|
332
|
+
* SE27 — Zod schema for the WHOLE workflow's input. When set, `run(input)`
|
|
333
|
+
* validates `input` BEFORE step 1; a mismatch yields `status: "failed"` with a
|
|
334
|
+
* typed {@link WorkflowInputError} in `error` (fail-fast, no step runs, no
|
|
335
|
+
* silent coerce). Absent ⇒ no whole-workflow input validation (unchanged).
|
|
336
|
+
*/
|
|
337
|
+
readonly inputSchema?: ZodType;
|
|
338
|
+
/**
|
|
339
|
+
* SE27 — Zod schema for the workflow's final output. When set, the terminal
|
|
340
|
+
* `completed` output is validated before `WorkflowRun.output` is populated; a
|
|
341
|
+
* mismatch yields `status: "failed"` with a typed {@link WorkflowOutputError}.
|
|
342
|
+
* Only validated on the `completed` path (suspended/failed runs skip it).
|
|
343
|
+
*/
|
|
344
|
+
readonly outputSchema?: ZodType;
|
|
345
|
+
/**
|
|
346
|
+
* SE29 — Zod schema for the workflow's shared state (see `StepContext.state` /
|
|
347
|
+
* `setState`). When set, `initialState` and every `setState(next)` are
|
|
348
|
+
* validated against it (a mismatch throws {@link WorkflowStateError}). When
|
|
349
|
+
* `initialState` is absent, `state` starts as `undefined` and validation fires
|
|
350
|
+
* on the first `setState` call.
|
|
351
|
+
*/
|
|
352
|
+
readonly stateSchema?: ZodType;
|
|
353
|
+
/**
|
|
354
|
+
* SE29 — the initial shared state, seeded onto `StepContext.state` before
|
|
355
|
+
* step 1. Validated against `stateSchema` when both are set. Persisted across
|
|
356
|
+
* suspend/resume.
|
|
357
|
+
*/
|
|
358
|
+
readonly initialState?: unknown;
|
|
359
|
+
/** Internal — minted at `.commit()`. Not user-facing. */
|
|
360
|
+
readonly workflowId?: string;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Per-run options for `Workflow.run()` and `Workflow.stream()`.
|
|
364
|
+
*
|
|
365
|
+
* `signal` is combined with the run's internal single-flight signal and reaches every step through
|
|
366
|
+
* `StepContext.signal`. The executor itself checks it at step boundaries, so a step that ignores the
|
|
367
|
+
* signal runs to completion before the run reports `status: "cancelled"` — a step doing long I/O
|
|
368
|
+
* should pass `ctx.signal` down to make abort prompt.
|
|
369
|
+
*
|
|
370
|
+
* `runId` is minted per call (`wfr-` plus 8 hex) unless you pass it, which is why concurrent runs of
|
|
371
|
+
* one workflow do not interfere. Pinning it buys a deterministic id for resume, and buys the
|
|
372
|
+
* single-flight lock with it: starting a second run of the same committed workflow under a `runId`
|
|
373
|
+
* that is still in flight throws {@link WorkflowAlreadyRunningError}.
|
|
374
|
+
*/
|
|
375
|
+
interface WorkflowRunOptions {
|
|
376
|
+
readonly signal?: AbortSignal;
|
|
377
|
+
/** Override run ID for deterministic resume (advanced; default = mintRunId). */
|
|
378
|
+
readonly runId?: string;
|
|
379
|
+
/**
|
|
380
|
+
* Opt-in Task wrapping (ADRs D363, D374). Registers the workflow run
|
|
381
|
+
* as a `Task` (kind="workflow") with a `wf-` namespaced id (D368,
|
|
382
|
+
* EC-5). The task transitions terminal when `Workflow.run` resolves.
|
|
383
|
+
*
|
|
384
|
+
* Auto-id: `wf-{runId}`.
|
|
385
|
+
*
|
|
386
|
+
* @public
|
|
387
|
+
*/
|
|
388
|
+
readonly task?: true | {
|
|
389
|
+
id?: string;
|
|
390
|
+
meta?: Record<string, unknown>;
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Arguments for `Workflow.resume()`.
|
|
395
|
+
*
|
|
396
|
+
* `workflow` is typed structurally as `{ run }`, but resume needs more than `run`: it reads the
|
|
397
|
+
* committed steps and options off the instance and throws a plain `Error` — "Workflow.resume requires
|
|
398
|
+
* an instance from Workflow.create().commit()" — for anything else. Pass the same committed
|
|
399
|
+
* `Workflow` the suspended run came from, not a stand-in.
|
|
400
|
+
*
|
|
401
|
+
* `runId` selects the snapshot. An id with no snapshot throws
|
|
402
|
+
* {@link WorkflowSnapshotNotFoundError}.
|
|
403
|
+
*
|
|
404
|
+
* `payload` becomes the input of the step after the suspend point, and is parsed against the
|
|
405
|
+
* suspending step's `payloadSchema` first when it declared one (a mismatch throws out of `resume`).
|
|
406
|
+
* Omit it to resume from the accumulated input captured in the snapshot instead — the two are
|
|
407
|
+
* alternatives, not a merge.
|
|
408
|
+
*/
|
|
409
|
+
interface WorkflowResumeOptions<TI = unknown> {
|
|
410
|
+
readonly runId: string;
|
|
411
|
+
readonly workflow: {
|
|
412
|
+
run: (input: TI, opts?: WorkflowRunOptions) => Promise<WorkflowRun>;
|
|
413
|
+
};
|
|
414
|
+
readonly payload?: unknown;
|
|
415
|
+
readonly signal?: AbortSignal;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Thrown by `.commit()` when one step id appears twice anywhere in the workflow — including inside a
|
|
419
|
+
* parallel branch, a branch predicate, the fallback, and the inner step of a `foreach` or `dowhile`.
|
|
420
|
+
*
|
|
421
|
+
* Ids address steps in snapshots and on resume, so this is refused at build time rather than
|
|
422
|
+
* discovered mid-run. Workflows nested with `workflowStep()` are exempt: the child runs in its own
|
|
423
|
+
* executor with its own id-space, so its ids cannot collide with the parent's.
|
|
424
|
+
*/
|
|
425
|
+
declare class WorkflowDuplicateStepIdError extends Error {
|
|
426
|
+
readonly stepId: string;
|
|
427
|
+
readonly name = "WorkflowDuplicateStepIdError";
|
|
428
|
+
constructor(stepId: string);
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* SE27 — the whole-workflow `inputSchema` rejected `run(input)` (before step 1).
|
|
432
|
+
* `detail` is a pre-formatted issues summary (a string, NOT Zod's `ZodIssue[]`).
|
|
433
|
+
*/
|
|
434
|
+
declare class WorkflowInputError extends Error {
|
|
435
|
+
readonly workflowName: string;
|
|
436
|
+
readonly detail: string;
|
|
437
|
+
readonly name = "WorkflowInputError";
|
|
438
|
+
constructor(workflowName: string, detail: string);
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* SE27 — the whole-workflow `outputSchema` rejected the final output (on `completed`).
|
|
442
|
+
* `detail` is a pre-formatted issues summary (a string, NOT Zod's `ZodIssue[]`).
|
|
443
|
+
*/
|
|
444
|
+
declare class WorkflowOutputError extends Error {
|
|
445
|
+
readonly workflowName: string;
|
|
446
|
+
readonly detail: string;
|
|
447
|
+
readonly name = "WorkflowOutputError";
|
|
448
|
+
constructor(workflowName: string, detail: string);
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* SE29 — `WorkflowOptions.stateSchema` rejected an `initialState` or a
|
|
452
|
+
* `setState(next)` call. `detail` is a pre-formatted issues summary.
|
|
453
|
+
*/
|
|
454
|
+
declare class WorkflowStateError extends Error {
|
|
455
|
+
readonly workflowName: string;
|
|
456
|
+
readonly detail: string;
|
|
457
|
+
readonly name = "WorkflowStateError";
|
|
458
|
+
constructor(workflowName: string, detail: string);
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* SE30 — a nested workflow (via `workflowStep`) did not `complete`. A nested
|
|
462
|
+
* `suspended` is NOT resumable in v1 (resume continues AFTER the step, so the
|
|
463
|
+
* child would be skipped) — restructure with a top-level suspend. A nested
|
|
464
|
+
* `failed`/`cancelled` fails the parent step with the child's error attached.
|
|
465
|
+
*/
|
|
466
|
+
declare class WorkflowNestedError extends Error {
|
|
467
|
+
readonly stepId: string;
|
|
468
|
+
readonly childName: string;
|
|
469
|
+
readonly childStatus: Exclude<WorkflowRun["status"], "completed">;
|
|
470
|
+
readonly childError?: {
|
|
471
|
+
name: string;
|
|
472
|
+
message: string;
|
|
473
|
+
} | undefined;
|
|
474
|
+
readonly name = "WorkflowNestedError";
|
|
475
|
+
constructor(stepId: string, childName: string, childStatus: Exclude<WorkflowRun["status"], "completed">, childError?: {
|
|
476
|
+
name: string;
|
|
477
|
+
message: string;
|
|
478
|
+
} | undefined);
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Thrown out of `Workflow.run()` — one of the few workflow failures that rejects instead of arriving
|
|
482
|
+
* as `run.status === "failed"` — when the committed workflow already has a run in flight under the
|
|
483
|
+
* same run id.
|
|
484
|
+
*
|
|
485
|
+
* The lock key pairs the id minted at `.commit()` with the run id, not `WorkflowOptions.name`, so
|
|
486
|
+
* two workflows sharing a name are independent and concurrent runs with distinct minted ids never
|
|
487
|
+
* collide. In practice this only fires when a caller pins `WorkflowRunOptions.runId`, or resumes a
|
|
488
|
+
* run id that is still executing. The registry is an in-process map: a crash releases every lock, and
|
|
489
|
+
* it says nothing about runs in other processes.
|
|
490
|
+
*/
|
|
491
|
+
declare class WorkflowAlreadyRunningError extends Error {
|
|
492
|
+
readonly workflowName: string;
|
|
493
|
+
readonly runId: string;
|
|
494
|
+
readonly name = "WorkflowAlreadyRunningError";
|
|
495
|
+
constructor(workflowName: string, runId: string);
|
|
496
|
+
}
|
|
497
|
+
/**
|
|
498
|
+
* Thrown by `Workflow.resume()` when no snapshot exists for the given run id.
|
|
499
|
+
*
|
|
500
|
+
* The message suggests configuring persistence, which is the common cause but not the only one. The
|
|
501
|
+
* run may never have suspended; it may have suspended under the default memory backend in a process
|
|
502
|
+
* that has since exited; or the snapshot may already have been consumed, since resume deletes it
|
|
503
|
+
* before re-entering the executor and a second resume of the same run id lands here.
|
|
504
|
+
*/
|
|
505
|
+
declare class WorkflowSnapshotNotFoundError extends Error {
|
|
506
|
+
readonly runId: string;
|
|
507
|
+
readonly name = "WorkflowSnapshotNotFoundError";
|
|
508
|
+
constructor(runId: string);
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Raised when a `dowhile` step's condition kept returning true past `maxIterations` (default 100).
|
|
512
|
+
*
|
|
513
|
+
* It does not escape `run()`: the step fails, the run ends `status: "failed"`, and the error reaches
|
|
514
|
+
* the caller flattened as `run.error` with `name: "WorkflowMaxIterationsExceededError"` — match on
|
|
515
|
+
* the name, the instance does not survive. The guard is evaluated before each iteration, so the inner
|
|
516
|
+
* step runs at most `maxIterations` times; raising the ceiling is a `maxIterations` on the step, and
|
|
517
|
+
* there is no global default to change.
|
|
518
|
+
*/
|
|
519
|
+
declare class WorkflowMaxIterationsExceededError extends Error {
|
|
520
|
+
readonly stepId: string;
|
|
521
|
+
readonly maxIterations: number;
|
|
522
|
+
readonly name = "WorkflowMaxIterationsExceededError";
|
|
523
|
+
constructor(stepId: string, maxIterations: number);
|
|
524
|
+
}
|
|
525
|
+
/** EC-4 absorbed — JSON.stringify failed on snapshot payload. */
|
|
526
|
+
declare class WorkflowNotSerializableError extends Error {
|
|
527
|
+
readonly stepId: string;
|
|
528
|
+
readonly underlying: Error;
|
|
529
|
+
readonly name = "WorkflowNotSerializableError";
|
|
530
|
+
constructor(stepId: string, underlying: Error);
|
|
531
|
+
}
|
|
532
|
+
/** EC-8 absorbed — `currentStepId` from snapshot not found in resumed workflow. */
|
|
533
|
+
declare class WorkflowResumeStepNotFoundError extends Error {
|
|
534
|
+
readonly stepId: string;
|
|
535
|
+
readonly workflowName: string;
|
|
536
|
+
readonly name = "WorkflowResumeStepNotFoundError";
|
|
537
|
+
constructor(stepId: string, workflowName: string);
|
|
538
|
+
}
|
|
539
|
+
/** Aggregate failure from parallel branches. */
|
|
540
|
+
declare class WorkflowParallelError extends AggregateError {
|
|
541
|
+
readonly stepId: string;
|
|
542
|
+
readonly name = "WorkflowParallelError";
|
|
543
|
+
constructor(errors: ReadonlyArray<Error>, stepId: string);
|
|
544
|
+
}
|
|
545
|
+
/** D238 — saga engine not yet implemented. */
|
|
546
|
+
declare class WorkflowCompensateNotImplementedError extends Error {
|
|
547
|
+
readonly stepId: string;
|
|
548
|
+
readonly name = "WorkflowCompensateNotImplementedError";
|
|
549
|
+
constructor(stepId: string);
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
/**
|
|
553
|
+
* Snapshot store interface + InMemory and JsonFile backends (ADR D235).
|
|
554
|
+
*
|
|
555
|
+
* EC-4 absorbed: serialization happens here. `JSON.stringify` failure raises
|
|
556
|
+
* `WorkflowNotSerializableError` instead of letting the underlying `TypeError`
|
|
557
|
+
* leak.
|
|
558
|
+
*
|
|
559
|
+
* @internal
|
|
560
|
+
*/
|
|
561
|
+
|
|
562
|
+
/** Test seam — clear in-memory store between tests. */
|
|
563
|
+
declare function __resetSnapshotStoresForTests(): void;
|
|
564
|
+
|
|
1
565
|
/**
|
|
2
566
|
* Public `Workflow` class — declarative multi-step orchestration over
|
|
3
567
|
* `Agent.send`, `Handoff`, `Agent.batch` and friends (Adoption Roadmap #5;
|
|
@@ -22,12 +586,51 @@
|
|
|
22
586
|
*
|
|
23
587
|
* @public
|
|
24
588
|
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
589
|
+
|
|
590
|
+
/**
|
|
591
|
+
* Fluent step accumulator returned by {@link Workflow.create}. Each method
|
|
592
|
+
* appends a step and returns the SAME builder (mutated in place, never a copy);
|
|
593
|
+
* `.commit()` freezes the list into a {@link Workflow} and mints the id its
|
|
594
|
+
* single-flight lock uses.
|
|
595
|
+
*
|
|
596
|
+
* const wf = Workflow.create({ name: "demo" })
|
|
597
|
+
* .then(fn("validate", (i: { id: string }) => i))
|
|
598
|
+
* .commit();
|
|
599
|
+
*
|
|
600
|
+
* You never construct one directly — `Workflow.create(options)` validates the
|
|
601
|
+
* options with Zod and hands it back. Import it from `@theokit/sdk/workflow`; the
|
|
602
|
+
* root `@theokit/sdk` barrel does not export it.
|
|
603
|
+
*
|
|
604
|
+
* How it fails:
|
|
605
|
+
* - Every appending method throws a plain `Error` after `.commit()` —
|
|
606
|
+
* "Workflow already committed; create a fresh Workflow.create(...) call." A
|
|
607
|
+
* builder is single-use.
|
|
608
|
+
* - A step id is validated on the spot by `sanitizeIdentifier`
|
|
609
|
+
* (`^[a-z0-9][a-z0-9-_]*$`, max 64 chars). Every rejection — length, a space,
|
|
610
|
+
* `/`, `..`, a leading `-`, a NUL or control char — throws `ConfigurationError`
|
|
611
|
+
* with code `invalid_identifier`, not a plain `Error` (#368 collapsed a second
|
|
612
|
+
* class that the control-char branch used to raise).
|
|
613
|
+
* - `sleep(durationMs)` throws a plain `Error` on a negative or non-finite value.
|
|
614
|
+
* - A duplicate id anywhere in the tree, including inside `parallel`, `branch`,
|
|
615
|
+
* `foreach` and `dowhile`, throws `WorkflowDuplicateStepIdError` at
|
|
616
|
+
* `.commit()` — not at the `.then()` that introduced it.
|
|
617
|
+
*
|
|
618
|
+
* Traps:
|
|
619
|
+
* - `.then(step)` is a STEP APPENDER, not a promise continuation. That makes the
|
|
620
|
+
* builder a JavaScript thenable, so `await Workflow.create({ ... })` — the
|
|
621
|
+
* shape `await Agent.create({ ... })` trains you into — is a mistake:
|
|
622
|
+
* TypeScript rejects it (TS1320) and plain JavaScript throws an unrelated
|
|
623
|
+
* `TypeError: Cannot read properties of undefined (reading 'length')` out of
|
|
624
|
+
* the id validator. `Workflow.create` is synchronous.
|
|
625
|
+
* - `parallel`, `branch`, `foreach`, `dowhile` and `suspend` widen the output
|
|
626
|
+
* type to `unknown` (or `unknown[]`); only `.then<T>()` and `sleep` carry a
|
|
627
|
+
* type through. The generics are a convenience, not a checked pipeline —
|
|
628
|
+
* nothing verifies that one step's output matches the next step's input.
|
|
629
|
+
* - Auto-generated ids are POSITIONAL (`parallel_2`, `foreach_5`), so inserting a
|
|
630
|
+
* step earlier renames the later ones. Pass `opts.id` for any step whose id you
|
|
631
|
+
* rely on in event streams or resume snapshots.
|
|
632
|
+
*/
|
|
633
|
+
declare class WorkflowBuilder<TInput = unknown, TOutput = unknown> {
|
|
31
634
|
private readonly options;
|
|
32
635
|
private readonly _steps;
|
|
33
636
|
private _committed;
|
|
@@ -58,7 +661,53 @@ export declare class WorkflowBuilder<TInput = unknown, TOutput = unknown> {
|
|
|
58
661
|
private validateUniqueIds;
|
|
59
662
|
private assertNotCommitted;
|
|
60
663
|
}
|
|
61
|
-
|
|
664
|
+
/**
|
|
665
|
+
* A committed, immutable workflow: a fixed list of steps you can `run`, `stream`
|
|
666
|
+
* or `resume`. Built with `Workflow.create(options)` plus `.commit()`; the
|
|
667
|
+
* constructor is not part of the published surface.
|
|
668
|
+
*
|
|
669
|
+
* import { Workflow, fn } from "@theokit/sdk/workflow";
|
|
670
|
+
* const wf = Workflow.create({ name: "demo" })
|
|
671
|
+
* .then(fn("validate", (i: { id: string }) => i))
|
|
672
|
+
* .commit();
|
|
673
|
+
* const run = await wf.run({ id: "x" }); // run.status, run.output
|
|
674
|
+
*
|
|
675
|
+
* THE IMPORT SPECIFIER MATTERS. `Workflow` is emitted TWICE — once as the
|
|
676
|
+
* `@theokit/sdk/workflow` sub-path entry, and once inside the shared chunk behind
|
|
677
|
+
* the root `@theokit/sdk` barrel. Both declarations carry private fields, so the
|
|
678
|
+
* two are DISTINCT nominal types and TypeScript refuses to pass one where the
|
|
679
|
+
* other is expected:
|
|
680
|
+
*
|
|
681
|
+
* Types have separate declarations of a private property '_options'.
|
|
682
|
+
*
|
|
683
|
+
* Import `Workflow` — and everything that consumes one, such as `workflowStep`
|
|
684
|
+
* and `cloneWorkflow` — from `@theokit/sdk/workflow`, and do not mix the two
|
|
685
|
+
* specifiers in one program. The root barrel re-exports only `Workflow`,
|
|
686
|
+
* `agentStep` and `fn`; the builder, the step helpers, the error classes and every
|
|
687
|
+
* workflow type live on the sub-path. (`workflowAsTool` is exempt: it accepts any
|
|
688
|
+
* `{ run }`-shaped value structurally, so either `Workflow` satisfies it.)
|
|
689
|
+
*
|
|
690
|
+
* How it fails: a step that throws does NOT reject `run()`. The promise resolves
|
|
691
|
+
* with `status: "failed"` and the cause on `run.error`; `"suspended"` and
|
|
692
|
+
* `"cancelled"` are the other non-`"completed"` terminals, and an `outputSchema`
|
|
693
|
+
* mismatch also lands as `"failed"` (`WorkflowOutputError`) rather than a throw.
|
|
694
|
+
* What DOES throw out of `run()` is pre-flight: `WorkflowAlreadyRunningError` when
|
|
695
|
+
* you pin `WorkflowRunOptions.runId` to one still in flight. `Workflow.resume`
|
|
696
|
+
* throws `WorkflowSnapshotNotFoundError` for an unknown `runId`.
|
|
697
|
+
*
|
|
698
|
+
* Traps:
|
|
699
|
+
* - Without an explicit `runId` each call mints its own, so concurrent runs of
|
|
700
|
+
* the same committed workflow do NOT collide — the single-flight lock only
|
|
701
|
+
* bites when you pin the id yourself.
|
|
702
|
+
* - `stream()` reports progress; its `result` promise is the AUTHORITATIVE
|
|
703
|
+
* outcome. Not every terminal emits a closing event, so a consumer that only
|
|
704
|
+
* drains events can miss a failure. Always `await result`.
|
|
705
|
+
* - `run()` and `stream()` load the executor by dynamic `import()`, so the first
|
|
706
|
+
* call pays a module load and cannot be made synchronous.
|
|
707
|
+
*
|
|
708
|
+
* @public
|
|
709
|
+
*/
|
|
710
|
+
declare class Workflow<TInput = unknown, TOutput = unknown> {
|
|
62
711
|
private readonly _options;
|
|
63
712
|
private readonly _steps;
|
|
64
713
|
/**
|
|
@@ -114,7 +763,7 @@ export declare class Workflow<TInput = unknown, TOutput = unknown> {
|
|
|
114
763
|
/**
|
|
115
764
|
* Build a `FnStep`. `id` must match `^[a-z0-9][a-z0-9_-]*$`.
|
|
116
765
|
*/
|
|
117
|
-
|
|
766
|
+
declare function fn<I = unknown, O = unknown>(id: string, step: (input: I, ctx: StepContext) => Promise<O> | O, opts?: {
|
|
118
767
|
inputSchema?: ZodType;
|
|
119
768
|
outputSchema?: ZodType;
|
|
120
769
|
retry?: RetryPolicy;
|
|
@@ -123,7 +772,7 @@ export declare function fn<I = unknown, O = unknown>(id: string, step: (input: I
|
|
|
123
772
|
* Build an `AgentStep`. The `promptTemplate` can be a static string or a
|
|
124
773
|
* function that receives the input and returns the prompt.
|
|
125
774
|
*/
|
|
126
|
-
|
|
775
|
+
declare function agentStep(id: string, agent: SDKAgent, promptTemplate: string | ((input: unknown) => string), opts?: {
|
|
127
776
|
retry?: RetryPolicy;
|
|
128
777
|
origin?: MessageOrigin;
|
|
129
778
|
}): AgentStep;
|
|
@@ -138,7 +787,7 @@ export declare function agentStep(id: string, agent: SDKAgent, promptTemplate: s
|
|
|
138
787
|
*
|
|
139
788
|
* @public
|
|
140
789
|
*/
|
|
141
|
-
|
|
790
|
+
declare function workflowStep<TI = unknown, TO = unknown>(child: Workflow<TI, TO>, opts?: {
|
|
142
791
|
id?: string;
|
|
143
792
|
}): FnStep;
|
|
144
793
|
/**
|
|
@@ -148,12 +797,10 @@ export declare function workflowStep<TI = unknown, TO = unknown>(child: Workflow
|
|
|
148
797
|
*
|
|
149
798
|
* @public
|
|
150
799
|
*/
|
|
151
|
-
|
|
800
|
+
declare function cloneWorkflow<TI = unknown, TO = unknown>(wf: Workflow<TI, TO>, opts: {
|
|
152
801
|
id: string;
|
|
153
802
|
}): Workflow<TI, TO>;
|
|
154
|
-
|
|
155
|
-
export type * from "./types/workflow.js";
|
|
156
|
-
export { WorkflowAlreadyRunningError, WorkflowCompensateNotImplementedError, WorkflowDuplicateStepIdError, WorkflowInputError, WorkflowMaxIterationsExceededError, WorkflowNestedError, WorkflowNotSerializableError, WorkflowOutputError, WorkflowParallelError, WorkflowResumeStepNotFoundError, WorkflowSnapshotNotFoundError, WorkflowStateError, } from "./types/workflow.js";
|
|
803
|
+
|
|
157
804
|
/**
|
|
158
805
|
* Raised by a {@link workflowAsTool} tool when the wrapped workflow run does not
|
|
159
806
|
* reach `status: "completed"` (a step failed, the run was cancelled/suspended).
|
|
@@ -161,7 +808,7 @@ export { WorkflowAlreadyRunningError, WorkflowCompensateNotImplementedError, Wor
|
|
|
161
808
|
*
|
|
162
809
|
* @public
|
|
163
810
|
*/
|
|
164
|
-
|
|
811
|
+
declare class WorkflowToolError extends Error {
|
|
165
812
|
readonly toolName: string;
|
|
166
813
|
readonly workflowStatus: string;
|
|
167
814
|
readonly workflowError?: {
|
|
@@ -175,7 +822,7 @@ export declare class WorkflowToolError extends Error {
|
|
|
175
822
|
} | undefined);
|
|
176
823
|
}
|
|
177
824
|
/** Spec for {@link workflowAsTool}. `inputSchema` is the workflow's input shape (Zod). */
|
|
178
|
-
|
|
825
|
+
interface WorkflowAsToolSpec<T extends ZodType> {
|
|
179
826
|
/** Tool name surfaced to the LLM. Same constraints as a `CustomTool.name`. */
|
|
180
827
|
name: string;
|
|
181
828
|
/** Description surfaced to the LLM — when the agent should trigger the workflow. */
|
|
@@ -196,6 +843,8 @@ export interface WorkflowAsToolSpec<T extends ZodType> {
|
|
|
196
843
|
*
|
|
197
844
|
* @public
|
|
198
845
|
*/
|
|
199
|
-
|
|
846
|
+
declare function workflowAsTool<T extends ZodType, TOutput = unknown>(workflow: {
|
|
200
847
|
run: (input: z.infer<T>) => Promise<WorkflowRun<TOutput>>;
|
|
201
848
|
}, spec: WorkflowAsToolSpec<T>): CustomTool;
|
|
849
|
+
|
|
850
|
+
export { type AgentStep, type BranchStep, type DowhileStep, type FnStep, type ForeachStep, type ParallelStep, type RetryPolicy, type SleepStep, type Step, type StepContext, type StepResult, type SuspendStep, Workflow, WorkflowAlreadyRunningError, type WorkflowAsToolSpec, WorkflowBuilder, WorkflowCompensateNotImplementedError, type WorkflowDescription, WorkflowDuplicateStepIdError, type WorkflowEvent, WorkflowInputError, WorkflowMaxIterationsExceededError, WorkflowNestedError, WorkflowNotSerializableError, type WorkflowOptions, WorkflowOutputError, WorkflowParallelError, type WorkflowPersistenceOptions, type WorkflowResumeOptions, WorkflowResumeStepNotFoundError, type WorkflowRun, type WorkflowRunOptions, type WorkflowSnapshot, WorkflowSnapshotNotFoundError, WorkflowStateError, type WorkflowStepDescription, type WorkflowStream, WorkflowToolError, __resetSnapshotStoresForTests, agentStep, cloneWorkflow, fn, workflowAsTool, workflowStep };
|