@theokit/sdk 5.6.0 → 5.8.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.
Files changed (367) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/dist/a2a/index.cjs +6 -6
  3. package/dist/a2a/index.js +2 -2
  4. package/dist/{agent-82d_DrCL.d.cts → agent-3RcPVGMo.d.cts} +22 -4
  5. package/dist/agent-7ERQNV66.js +59 -0
  6. package/dist/{agent-JJZM2VIK.js.map → agent-7ERQNV66.js.map} +1 -1
  7. package/dist/agent-LNTR4QH5.cjs +68 -0
  8. package/dist/{agent-47NS6ZVL.cjs.map → agent-LNTR4QH5.cjs.map} +1 -1
  9. package/dist/{agent-G6g-uwcB.d.ts → agent-lS68mYIL.d.ts} +22 -4
  10. package/dist/agent.d.ts +11 -0
  11. package/dist/auth/index.cjs +32 -32
  12. package/dist/auth/index.js +5 -5
  13. package/dist/{batch-US4F6WPK.js → batch-427O54FQ.js} +7 -7
  14. package/dist/{batch-US4F6WPK.js.map → batch-427O54FQ.js.map} +1 -1
  15. package/dist/{batch-I6T6MXZO.cjs → batch-U4SO4RLX.cjs} +24 -24
  16. package/dist/{batch-I6T6MXZO.cjs.map → batch-U4SO4RLX.cjs.map} +1 -1
  17. package/dist/{chunk-44I6UYVH.js → chunk-26NEAJ6T.js} +4 -4
  18. package/dist/{chunk-44I6UYVH.js.map → chunk-26NEAJ6T.js.map} +1 -1
  19. package/dist/{chunk-GCHZMH42.cjs → chunk-2STSX2SY.cjs} +264 -260
  20. package/dist/chunk-2STSX2SY.cjs.map +1 -0
  21. package/dist/{chunk-2UXQASTX.js → chunk-3CU5J7V3.js} +38 -34
  22. package/dist/chunk-3CU5J7V3.js.map +1 -0
  23. package/dist/{chunk-5NELQ6LB.js → chunk-4QCJAJAG.js} +12 -3
  24. package/dist/chunk-4QCJAJAG.js.map +1 -0
  25. package/dist/{chunk-XYFGKVZ7.js → chunk-53RDNK3H.js} +3 -3
  26. package/dist/{chunk-XYFGKVZ7.js.map → chunk-53RDNK3H.js.map} +1 -1
  27. package/dist/{chunk-2QKV4CGK.js → chunk-5522X223.js} +3 -3
  28. package/dist/{chunk-2QKV4CGK.js.map → chunk-5522X223.js.map} +1 -1
  29. package/dist/{chunk-EH6XD3FY.js → chunk-5DD4NJN3.js} +3 -3
  30. package/dist/{chunk-EH6XD3FY.js.map → chunk-5DD4NJN3.js.map} +1 -1
  31. package/dist/{chunk-V22DZIXO.js → chunk-5Q4RTLMP.js} +3 -3
  32. package/dist/{chunk-V22DZIXO.js.map → chunk-5Q4RTLMP.js.map} +1 -1
  33. package/dist/{chunk-4A3SKJ53.cjs → chunk-6PB5AQCY.cjs} +14 -14
  34. package/dist/{chunk-4A3SKJ53.cjs.map → chunk-6PB5AQCY.cjs.map} +1 -1
  35. package/dist/{chunk-PRZ3BES7.cjs → chunk-72CPLZPC.cjs} +5 -5
  36. package/dist/{chunk-PRZ3BES7.cjs.map → chunk-72CPLZPC.cjs.map} +1 -1
  37. package/dist/{chunk-GFFBXSQT.cjs → chunk-76PIKR4P.cjs} +22 -22
  38. package/dist/{chunk-GFFBXSQT.cjs.map → chunk-76PIKR4P.cjs.map} +1 -1
  39. package/dist/{chunk-EFMFILPG.js → chunk-7F7XE6CM.js} +3 -3
  40. package/dist/{chunk-EFMFILPG.js.map → chunk-7F7XE6CM.js.map} +1 -1
  41. package/dist/{chunk-N2KAIZ5D.js → chunk-7GDHFV2M.js} +4 -20
  42. package/dist/chunk-7GDHFV2M.js.map +1 -0
  43. package/dist/{chunk-CA5VUAP3.js → chunk-7HUCU3KK.js} +5 -5
  44. package/dist/{chunk-CA5VUAP3.js.map → chunk-7HUCU3KK.js.map} +1 -1
  45. package/dist/{chunk-4MMWFSCD.js → chunk-7JAKO3NM.js} +3 -3
  46. package/dist/{chunk-4MMWFSCD.js.map → chunk-7JAKO3NM.js.map} +1 -1
  47. package/dist/{chunk-UADQJBHR.cjs → chunk-7NQ7HJ3E.cjs} +6 -6
  48. package/dist/{chunk-UADQJBHR.cjs.map → chunk-7NQ7HJ3E.cjs.map} +1 -1
  49. package/dist/{chunk-HG4UN4MN.cjs → chunk-AOHRKGAA.cjs} +22 -22
  50. package/dist/{chunk-HG4UN4MN.cjs.map → chunk-AOHRKGAA.cjs.map} +1 -1
  51. package/dist/{chunk-C4ZQPWXJ.cjs → chunk-ARMFXTY6.cjs} +143 -190
  52. package/dist/chunk-ARMFXTY6.cjs.map +1 -0
  53. package/dist/{chunk-5WKQDIGO.js → chunk-AY43232P.js} +4 -4
  54. package/dist/{chunk-5WKQDIGO.js.map → chunk-AY43232P.js.map} +1 -1
  55. package/dist/{chunk-7FDKWDA2.cjs → chunk-B3XXQX6L.cjs} +7 -7
  56. package/dist/{chunk-7FDKWDA2.cjs.map → chunk-B3XXQX6L.cjs.map} +1 -1
  57. package/dist/{chunk-ALUN2B4W.js → chunk-B5MHRQJZ.js} +9 -3
  58. package/dist/chunk-B5MHRQJZ.js.map +1 -0
  59. package/dist/{chunk-TA3K7SBK.js → chunk-BKMDRBJ7.js} +3 -3
  60. package/dist/{chunk-TA3K7SBK.js.map → chunk-BKMDRBJ7.js.map} +1 -1
  61. package/dist/{chunk-FUSDYC2B.cjs → chunk-CQYBJOB2.cjs} +4 -4
  62. package/dist/{chunk-FUSDYC2B.cjs.map → chunk-CQYBJOB2.cjs.map} +1 -1
  63. package/dist/{chunk-7JJ3A6AT.cjs → chunk-D5KXKBEN.cjs} +5 -5
  64. package/dist/{chunk-7JJ3A6AT.cjs.map → chunk-D5KXKBEN.cjs.map} +1 -1
  65. package/dist/{chunk-HUDNLFY4.js → chunk-DDRX4LYS.js} +13 -4
  66. package/dist/chunk-DDRX4LYS.js.map +1 -0
  67. package/dist/{chunk-QDM3OHUT.cjs → chunk-ECD6ER3E.cjs} +4 -4
  68. package/dist/{chunk-QDM3OHUT.cjs.map → chunk-ECD6ER3E.cjs.map} +1 -1
  69. package/dist/{chunk-JMDDYA22.js → chunk-EJROML3Q.js} +4 -4
  70. package/dist/{chunk-JMDDYA22.js.map → chunk-EJROML3Q.js.map} +1 -1
  71. package/dist/{chunk-FPIY5CLV.js → chunk-FRL35MFN.js} +5 -5
  72. package/dist/{chunk-FPIY5CLV.js.map → chunk-FRL35MFN.js.map} +1 -1
  73. package/dist/{chunk-EIQFAOFD.js → chunk-GGRPAQ3B.js} +3 -3
  74. package/dist/{chunk-EIQFAOFD.js.map → chunk-GGRPAQ3B.js.map} +1 -1
  75. package/dist/{chunk-HCT4HPCL.cjs → chunk-GHHIJEFX.cjs} +4 -4
  76. package/dist/{chunk-HCT4HPCL.cjs.map → chunk-GHHIJEFX.cjs.map} +1 -1
  77. package/dist/{chunk-7A6535RA.cjs → chunk-GM54F4FE.cjs} +9 -9
  78. package/dist/{chunk-7A6535RA.cjs.map → chunk-GM54F4FE.cjs.map} +1 -1
  79. package/dist/{chunk-6M2OIS4Y.js → chunk-GMRFAX4I.js} +74 -4
  80. package/dist/chunk-GMRFAX4I.js.map +1 -0
  81. package/dist/{chunk-O6USDERH.js → chunk-GMSRRJ53.js} +3 -3
  82. package/dist/{chunk-O6USDERH.js.map → chunk-GMSRRJ53.js.map} +1 -1
  83. package/dist/{chunk-VE6DFSKU.js → chunk-GTX6FEDP.js} +3 -3
  84. package/dist/{chunk-VE6DFSKU.js.map → chunk-GTX6FEDP.js.map} +1 -1
  85. package/dist/{chunk-NJWYQWDL.js → chunk-H3CVJSFC.js} +3 -3
  86. package/dist/{chunk-NJWYQWDL.js.map → chunk-H3CVJSFC.js.map} +1 -1
  87. package/dist/{chunk-MYJGWS2J.cjs → chunk-HG5LKFG7.cjs} +16 -16
  88. package/dist/{chunk-MYJGWS2J.cjs.map → chunk-HG5LKFG7.cjs.map} +1 -1
  89. package/dist/{chunk-55GB6JYQ.js → chunk-HOHR75KF.js} +5 -5
  90. package/dist/{chunk-55GB6JYQ.js.map → chunk-HOHR75KF.js.map} +1 -1
  91. package/dist/{chunk-GBCVPKHE.js → chunk-HV4V63CO.js} +3 -3
  92. package/dist/{chunk-GBCVPKHE.js.map → chunk-HV4V63CO.js.map} +1 -1
  93. package/dist/{chunk-I2PWY7VM.cjs → chunk-IIYJMXYW.cjs} +4 -4
  94. package/dist/{chunk-I2PWY7VM.cjs.map → chunk-IIYJMXYW.cjs.map} +1 -1
  95. package/dist/chunk-J4SA2ZEJ.cjs +24 -0
  96. package/dist/chunk-J4SA2ZEJ.cjs.map +1 -0
  97. package/dist/{chunk-ATT276RD.cjs → chunk-J5623RIV.cjs} +78 -6
  98. package/dist/chunk-J5623RIV.cjs.map +1 -0
  99. package/dist/{chunk-KVSAY6NZ.cjs → chunk-J6GXS5A2.cjs} +13 -13
  100. package/dist/{chunk-KVSAY6NZ.cjs.map → chunk-J6GXS5A2.cjs.map} +1 -1
  101. package/dist/{chunk-NQTD6QOW.cjs → chunk-JW3GVLM6.cjs} +4 -4
  102. package/dist/{chunk-NQTD6QOW.cjs.map → chunk-JW3GVLM6.cjs.map} +1 -1
  103. package/dist/{chunk-TFG5IBZS.cjs → chunk-KGZ66JVZ.cjs} +14 -14
  104. package/dist/{chunk-TFG5IBZS.cjs.map → chunk-KGZ66JVZ.cjs.map} +1 -1
  105. package/dist/{chunk-47TF32NQ.js → chunk-KO6SHCEH.js} +3 -3
  106. package/dist/{chunk-47TF32NQ.js.map → chunk-KO6SHCEH.js.map} +1 -1
  107. package/dist/{chunk-EIOMN5VA.cjs → chunk-KTA7YTZQ.cjs} +17 -8
  108. package/dist/chunk-KTA7YTZQ.cjs.map +1 -0
  109. package/dist/{chunk-D6POWE7E.cjs → chunk-MEUBLCM4.cjs} +11 -11
  110. package/dist/{chunk-D6POWE7E.cjs.map → chunk-MEUBLCM4.cjs.map} +1 -1
  111. package/dist/{chunk-VWUXIVEI.js → chunk-MFZODA5Y.js} +5 -5
  112. package/dist/{chunk-VWUXIVEI.js.map → chunk-MFZODA5Y.js.map} +1 -1
  113. package/dist/{chunk-4HS6FFGL.cjs → chunk-MPQJE3G4.cjs} +15 -15
  114. package/dist/{chunk-4HS6FFGL.cjs.map → chunk-MPQJE3G4.cjs.map} +1 -1
  115. package/dist/{chunk-QRVS2PRE.cjs → chunk-MPR2ISL2.cjs} +4 -4
  116. package/dist/{chunk-QRVS2PRE.cjs.map → chunk-MPR2ISL2.cjs.map} +1 -1
  117. package/dist/{chunk-UOLBAPDM.js → chunk-MQGSOKR3.js} +3 -3
  118. package/dist/{chunk-UOLBAPDM.js.map → chunk-MQGSOKR3.js.map} +1 -1
  119. package/dist/{chunk-HFEJE7AC.js → chunk-MU7IAA7G.js} +9 -9
  120. package/dist/{chunk-HFEJE7AC.js.map → chunk-MU7IAA7G.js.map} +1 -1
  121. package/dist/{chunk-EXTRW7GW.cjs → chunk-NAGPKWOD.cjs} +4 -4
  122. package/dist/{chunk-EXTRW7GW.cjs.map → chunk-NAGPKWOD.cjs.map} +1 -1
  123. package/dist/{chunk-KTTHHYEW.cjs → chunk-NJSIAJEK.cjs} +4 -4
  124. package/dist/{chunk-KTTHHYEW.cjs.map → chunk-NJSIAJEK.cjs.map} +1 -1
  125. package/dist/{chunk-Z3NTRKIC.cjs → chunk-NKIQTLFA.cjs} +4 -4
  126. package/dist/{chunk-Z3NTRKIC.cjs.map → chunk-NKIQTLFA.cjs.map} +1 -1
  127. package/dist/{chunk-KZSKIUXZ.js → chunk-NOO6GZTZ.js} +37 -85
  128. package/dist/chunk-NOO6GZTZ.js.map +1 -0
  129. package/dist/{chunk-7IZKTQ5G.cjs → chunk-OCEQ6DW2.cjs} +10 -29
  130. package/dist/chunk-OCEQ6DW2.cjs.map +1 -0
  131. package/dist/{chunk-BJUJT5ED.cjs → chunk-OF2CLCTH.cjs} +4 -4
  132. package/dist/{chunk-BJUJT5ED.cjs.map → chunk-OF2CLCTH.cjs.map} +1 -1
  133. package/dist/{chunk-HUFSABUZ.cjs → chunk-OLSEWLK5.cjs} +6 -6
  134. package/dist/{chunk-HUFSABUZ.cjs.map → chunk-OLSEWLK5.cjs.map} +1 -1
  135. package/dist/{chunk-DQZU7JK6.cjs → chunk-P22BZE7G.cjs} +4 -4
  136. package/dist/{chunk-DQZU7JK6.cjs.map → chunk-P22BZE7G.cjs.map} +1 -1
  137. package/dist/{chunk-QWD3CZWE.cjs → chunk-P7NNKEWO.cjs} +4 -4
  138. package/dist/{chunk-QWD3CZWE.cjs.map → chunk-P7NNKEWO.cjs.map} +1 -1
  139. package/dist/chunk-PQCTDMUI.js +20 -0
  140. package/dist/chunk-PQCTDMUI.js.map +1 -0
  141. package/dist/{chunk-DZG77WU7.cjs → chunk-PSLCVSCS.cjs} +3 -3
  142. package/dist/{chunk-DZG77WU7.cjs.map → chunk-PSLCVSCS.cjs.map} +1 -1
  143. package/dist/{chunk-STGSMJMJ.js → chunk-QDQQYRJI.js} +4 -4
  144. package/dist/{chunk-STGSMJMJ.js.map → chunk-QDQQYRJI.js.map} +1 -1
  145. package/dist/{chunk-7MMTZBTT.js → chunk-R2C3HXR3.js} +4 -4
  146. package/dist/{chunk-7MMTZBTT.js.map → chunk-R2C3HXR3.js.map} +1 -1
  147. package/dist/chunk-R3ZQBPA5.cjs +18 -0
  148. package/dist/{chunk-ANMJJD6D.cjs.map → chunk-R3ZQBPA5.cjs.map} +1 -1
  149. package/dist/{chunk-4NLCWGH7.cjs → chunk-RA7IE4NK.cjs} +15 -15
  150. package/dist/{chunk-4NLCWGH7.cjs.map → chunk-RA7IE4NK.cjs.map} +1 -1
  151. package/dist/{chunk-UBR5PWD7.js → chunk-SUVCHX4L.js} +3 -3
  152. package/dist/{chunk-UBR5PWD7.js.map → chunk-SUVCHX4L.js.map} +1 -1
  153. package/dist/{chunk-LD6HASA5.cjs → chunk-SWALPLFQ.cjs} +12 -2
  154. package/dist/chunk-SWALPLFQ.cjs.map +1 -0
  155. package/dist/{chunk-52FDUJSV.cjs → chunk-T5KOSR5Y.cjs} +11 -11
  156. package/dist/{chunk-52FDUJSV.cjs.map → chunk-T5KOSR5Y.cjs.map} +1 -1
  157. package/dist/{chunk-BZ3YMAMP.js → chunk-TC4RWP3Y.js} +6 -6
  158. package/dist/{chunk-BZ3YMAMP.js.map → chunk-TC4RWP3Y.js.map} +1 -1
  159. package/dist/{chunk-XB4GI5RZ.js → chunk-TE6XVTOA.js} +3 -3
  160. package/dist/{chunk-XB4GI5RZ.js.map → chunk-TE6XVTOA.js.map} +1 -1
  161. package/dist/{chunk-VUHXC74Q.cjs → chunk-TTBIQTO5.cjs} +19 -19
  162. package/dist/{chunk-VUHXC74Q.cjs.map → chunk-TTBIQTO5.cjs.map} +1 -1
  163. package/dist/{chunk-J7J7J2GN.cjs → chunk-UNFBHV46.cjs} +9 -2
  164. package/dist/chunk-UNFBHV46.cjs.map +1 -0
  165. package/dist/{chunk-AAEZSPTC.js → chunk-UNZOJVVC.js} +4 -4
  166. package/dist/{chunk-AAEZSPTC.js.map → chunk-UNZOJVVC.js.map} +1 -1
  167. package/dist/{chunk-T3ZDEYTJ.js → chunk-W4VQMXBZ.js} +4 -4
  168. package/dist/{chunk-T3ZDEYTJ.js.map → chunk-W4VQMXBZ.js.map} +1 -1
  169. package/dist/{chunk-24SYBZPL.cjs → chunk-WPO3VCY4.cjs} +9 -9
  170. package/dist/{chunk-24SYBZPL.cjs.map → chunk-WPO3VCY4.cjs.map} +1 -1
  171. package/dist/{chunk-IUMAQURF.js → chunk-X6DUEDAF.js} +3 -3
  172. package/dist/{chunk-IUMAQURF.js.map → chunk-X6DUEDAF.js.map} +1 -1
  173. package/dist/{chunk-CFE6QF2Q.js → chunk-XCQ432OX.js} +3 -3
  174. package/dist/{chunk-CFE6QF2Q.js.map → chunk-XCQ432OX.js.map} +1 -1
  175. package/dist/{chunk-QWD4RDZ3.cjs → chunk-XDUGSTYJ.cjs} +15 -15
  176. package/dist/{chunk-QWD4RDZ3.cjs.map → chunk-XDUGSTYJ.cjs.map} +1 -1
  177. package/dist/{chunk-K2VMFZQ5.js → chunk-XKMVJ443.js} +5 -5
  178. package/dist/{chunk-K2VMFZQ5.js.map → chunk-XKMVJ443.js.map} +1 -1
  179. package/dist/{chunk-RWPLWMCZ.cjs → chunk-XW4POZ6V.cjs} +11 -11
  180. package/dist/{chunk-RWPLWMCZ.cjs.map → chunk-XW4POZ6V.cjs.map} +1 -1
  181. package/dist/{chunk-6PWOWXMC.js → chunk-XZHJYSPB.js} +3 -3
  182. package/dist/{chunk-6PWOWXMC.js.map → chunk-XZHJYSPB.js.map} +1 -1
  183. package/dist/{chunk-QC55H6RJ.cjs → chunk-YRJA2POB.cjs} +9 -9
  184. package/dist/{chunk-QC55H6RJ.cjs.map → chunk-YRJA2POB.cjs.map} +1 -1
  185. package/dist/{chunk-DMRT67Y6.js → chunk-ZJZ7LV3A.js} +3 -3
  186. package/dist/{chunk-DMRT67Y6.js.map → chunk-ZJZ7LV3A.js.map} +1 -1
  187. package/dist/{chunk-G7BLGBRN.js → chunk-ZWFTECOE.js} +3 -3
  188. package/dist/{chunk-G7BLGBRN.js.map → chunk-ZWFTECOE.js.map} +1 -1
  189. package/dist/compact-session-2N3ZYJTW.js +24 -0
  190. package/dist/{compact-session-YSEK7NQF.js.map → compact-session-2N3ZYJTW.js.map} +1 -1
  191. package/dist/compact-session-RBPLUPCK.cjs +65 -0
  192. package/dist/{compact-session-7FMYJXQ7.cjs.map → compact-session-RBPLUPCK.cjs.map} +1 -1
  193. package/dist/compaction.cjs +20 -16
  194. package/dist/compaction.d.cts +2 -0
  195. package/dist/compaction.d.ts +2 -0
  196. package/dist/compaction.js +2 -2
  197. package/dist/concurrency.cjs +5 -5
  198. package/dist/concurrency.js +3 -3
  199. package/dist/context/index.cjs +15 -7
  200. package/dist/context/index.cjs.map +1 -1
  201. package/dist/context/index.d.cts +2 -0
  202. package/dist/context/index.d.ts +2 -0
  203. package/dist/context/index.js +7 -3
  204. package/dist/context/index.js.map +1 -1
  205. package/dist/context-SXR2HLHT.js +7 -0
  206. package/dist/{context-J5BJ3LBS.js.map → context-SXR2HLHT.js.map} +1 -1
  207. package/dist/context-ZOULM2RB.cjs +24 -0
  208. package/dist/{context-HR4KMXMA.cjs.map → context-ZOULM2RB.cjs.map} +1 -1
  209. package/dist/{cron-DWv69ZSD.d.cts → cron-CGxoEKlx.d.cts} +2 -2
  210. package/dist/{cron-GynWtAax.d.ts → cron-DJv8zMa3.d.ts} +2 -2
  211. package/dist/cron.cjs +34 -33
  212. package/dist/cron.d.cts +4 -4
  213. package/dist/cron.d.ts +4 -4
  214. package/dist/cron.js +33 -32
  215. package/dist/{errors-DrDEgyz1.d.cts → errors-BWOJeWTZ.d.cts} +25 -2
  216. package/dist/{errors-CLOAyuiv.d.ts → errors-DDvG18IB.d.ts} +25 -2
  217. package/dist/errors.cjs +25 -21
  218. package/dist/errors.d.cts +2 -2
  219. package/dist/errors.d.ts +2 -2
  220. package/dist/errors.js +1 -1
  221. package/dist/eval.cjs +44 -43
  222. package/dist/eval.cjs.map +1 -1
  223. package/dist/eval.js +34 -33
  224. package/dist/eval.js.map +1 -1
  225. package/dist/{executor-XQAOQOHD.cjs → executor-2SUGI3ZT.cjs} +21 -21
  226. package/dist/{executor-XQAOQOHD.cjs.map → executor-2SUGI3ZT.cjs.map} +1 -1
  227. package/dist/{executor-ZNDQDX6Q.js → executor-3NI7KNL4.js} +6 -6
  228. package/dist/{executor-ZNDQDX6Q.js.map → executor-3NI7KNL4.js.map} +1 -1
  229. package/dist/filesystem/index.cjs +11 -11
  230. package/dist/filesystem/index.js +2 -2
  231. package/dist/fs-session-store-JHBJFKVV.cjs +19 -0
  232. package/dist/{fs-session-store-E4U3P56L.cjs.map → fs-session-store-JHBJFKVV.cjs.map} +1 -1
  233. package/dist/fs-session-store-STZZFXH2.js +10 -0
  234. package/dist/{fs-session-store-77JU46UZ.js.map → fs-session-store-STZZFXH2.js.map} +1 -1
  235. package/dist/generate-object-NTKAWE7D.js +7 -0
  236. package/dist/{generate-object-BXV7BZRP.js.map → generate-object-NTKAWE7D.js.map} +1 -1
  237. package/dist/generate-object-YHTWG5DB.cjs +20 -0
  238. package/dist/{generate-object-YBI2TDJ3.cjs.map → generate-object-YHTWG5DB.cjs.map} +1 -1
  239. package/dist/index-manager-ONQJSWX5.js +17 -0
  240. package/dist/{index-manager-27WLNQEE.js.map → index-manager-ONQJSWX5.js.map} +1 -1
  241. package/dist/{index-manager-BBHDKMQS.cjs → index-manager-ZGJN25FD.cjs} +9 -9
  242. package/dist/{index-manager-BBHDKMQS.cjs.map → index-manager-ZGJN25FD.cjs.map} +1 -1
  243. package/dist/index.cjs +148 -145
  244. package/dist/index.cjs.map +1 -1
  245. package/dist/index.d.cts +57 -10
  246. package/dist/index.d.ts +57 -10
  247. package/dist/index.js +49 -48
  248. package/dist/index.js.map +1 -1
  249. package/dist/{inject-session-PC73TMP2.cjs → inject-session-3FPXJDJP.cjs} +4 -4
  250. package/dist/{inject-session-PC73TMP2.cjs.map → inject-session-3FPXJDJP.cjs.map} +1 -1
  251. package/dist/{inject-session-J4LBWAPH.js → inject-session-YNNOE3O6.js} +3 -3
  252. package/dist/{inject-session-J4LBWAPH.js.map → inject-session-YNNOE3O6.js.map} +1 -1
  253. package/dist/interactive/index.cjs +3 -3
  254. package/dist/interactive/index.js +1 -1
  255. package/dist/internal/memory/adapters/index.cjs +7 -7
  256. package/dist/internal/memory/adapters/index.js +6 -6
  257. package/dist/internal/memory/storage/index.cjs +35 -35
  258. package/dist/internal/memory/storage/index.js +6 -6
  259. package/dist/internal/persistence/index.cjs +11 -11
  260. package/dist/internal/persistence/index.js +3 -3
  261. package/dist/internal/runtime/compression/compression-model-registry.d.ts +1 -0
  262. package/dist/internal/runtime/compression/compression-summarizer.d.ts +0 -14
  263. package/dist/internal/runtime/context/context-discovery.d.ts +42 -0
  264. package/dist/internal/runtime/context/context-loaders.d.ts +5 -1
  265. package/dist/internal/security/index.cjs +9 -9
  266. package/dist/internal/security/index.js +2 -2
  267. package/dist/internal/session/compact-session.d.ts +36 -0
  268. package/dist/judge-call-AQQYK6VT.cjs +22 -0
  269. package/dist/{judge-call-46M2E5FA.cjs.map → judge-call-AQQYK6VT.cjs.map} +1 -1
  270. package/dist/judge-call-LOL5FQEX.js +5 -0
  271. package/dist/{judge-call-FGUNNWEI.js.map → judge-call-LOL5FQEX.js.map} +1 -1
  272. package/dist/mcp-auth.cjs +9 -9
  273. package/dist/mcp-auth.js +2 -2
  274. package/dist/models.cjs +15 -15
  275. package/dist/models.js +6 -6
  276. package/dist/oauth-transaction-store-NP2YHZ6D.js +5 -0
  277. package/dist/{oauth-transaction-store-5RIR6D5C.js.map → oauth-transaction-store-NP2YHZ6D.js.map} +1 -1
  278. package/dist/oauth-transaction-store-ZINDV7AF.cjs +38 -0
  279. package/dist/{oauth-transaction-store-SXIE57OD.cjs.map → oauth-transaction-store-ZINDV7AF.cjs.map} +1 -1
  280. package/dist/path-safety.cjs +9 -9
  281. package/dist/path-safety.js +2 -2
  282. package/dist/persistence.cjs +16 -16
  283. package/dist/persistence.js +4 -4
  284. package/dist/project.cjs +5 -5
  285. package/dist/project.js +2 -2
  286. package/dist/providers.cjs +8 -8
  287. package/dist/providers.js +6 -6
  288. package/dist/{registry-DMWCJKRF.js → registry-5FK42CRV.js} +6 -6
  289. package/dist/{registry-DMWCJKRF.js.map → registry-5FK42CRV.js.map} +1 -1
  290. package/dist/{registry-BZQFYRTL.cjs → registry-BVTNO73E.cjs} +14 -14
  291. package/dist/{registry-BZQFYRTL.cjs.map → registry-BVTNO73E.cjs.map} +1 -1
  292. package/dist/retry.cjs +3 -3
  293. package/dist/retry.js +2 -2
  294. package/dist/{run-CTAdRU3U.d.cts → run-DsA5Ip2i.d.cts} +1 -1
  295. package/dist/{run-CTAdRU3U.d.ts → run-DsA5Ip2i.d.ts} +1 -1
  296. package/dist/sandbox/index.cjs +18 -18
  297. package/dist/sandbox/index.js +3 -3
  298. package/dist/{sdk-agent-BOiKqOgL.d.cts → sdk-agent-dNwjwCt5.d.cts} +2 -2
  299. package/dist/{sdk-agent-D4a_BR_6.d.ts → sdk-agent-wEOLXD3F.d.ts} +2 -2
  300. package/dist/server/auth/index.cjs +21 -21
  301. package/dist/server/auth/index.js +6 -6
  302. package/dist/server/errors-envelope.cjs +13 -13
  303. package/dist/server/errors-envelope.d.cts +2 -2
  304. package/dist/server/errors-envelope.d.ts +2 -2
  305. package/dist/server/errors-envelope.js +2 -2
  306. package/dist/skills.cjs +7 -7
  307. package/dist/skills.js +4 -4
  308. package/dist/stream-object-QAEHG4YO.js +7 -0
  309. package/dist/{stream-object-HBFMIZLD.js.map → stream-object-QAEHG4YO.js.map} +1 -1
  310. package/dist/stream-object-TKVGGA54.cjs +20 -0
  311. package/dist/{stream-object-QSKHISDJ.cjs.map → stream-object-TKVGGA54.cjs.map} +1 -1
  312. package/dist/subagents-loader-7GE7YUDI.cjs +16 -0
  313. package/dist/{subagents-loader-MOO7DC4E.cjs.map → subagents-loader-7GE7YUDI.cjs.map} +1 -1
  314. package/dist/subagents-loader-S2PMZY7J.js +7 -0
  315. package/dist/{subagents-loader-CJFYQQU2.js.map → subagents-loader-S2PMZY7J.js.map} +1 -1
  316. package/dist/subagents-loader.cjs +5 -5
  317. package/dist/subagents-loader.d.cts +3 -3
  318. package/dist/subagents-loader.d.ts +3 -3
  319. package/dist/subagents-loader.js +3 -3
  320. package/dist/subscription/index.cjs +3 -2
  321. package/dist/subscription/index.d.cts +1 -1
  322. package/dist/subscription/index.d.ts +1 -1
  323. package/dist/subscription/index.js +2 -2
  324. package/dist/task-store.cjs +5 -5
  325. package/dist/task-store.js +2 -2
  326. package/dist/types/agent.d.ts +1 -1
  327. package/dist/workflow.cjs +25 -25
  328. package/dist/workflow.d.cts +2 -2
  329. package/dist/workflow.d.ts +2 -2
  330. package/dist/workflow.js +4 -4
  331. package/docs/error-codes.md +1 -1
  332. package/docs/harness-capability-map.md +17 -1
  333. package/package.json +1 -1
  334. package/dist/agent-47NS6ZVL.cjs +0 -67
  335. package/dist/agent-JJZM2VIK.js +0 -58
  336. package/dist/chunk-2UXQASTX.js.map +0 -1
  337. package/dist/chunk-5NELQ6LB.js.map +0 -1
  338. package/dist/chunk-6M2OIS4Y.js.map +0 -1
  339. package/dist/chunk-7IZKTQ5G.cjs.map +0 -1
  340. package/dist/chunk-ALUN2B4W.js.map +0 -1
  341. package/dist/chunk-ANMJJD6D.cjs +0 -18
  342. package/dist/chunk-ATT276RD.cjs.map +0 -1
  343. package/dist/chunk-C4ZQPWXJ.cjs.map +0 -1
  344. package/dist/chunk-EIOMN5VA.cjs.map +0 -1
  345. package/dist/chunk-GCHZMH42.cjs.map +0 -1
  346. package/dist/chunk-HUDNLFY4.js.map +0 -1
  347. package/dist/chunk-J7J7J2GN.cjs.map +0 -1
  348. package/dist/chunk-KZSKIUXZ.js.map +0 -1
  349. package/dist/chunk-LD6HASA5.cjs.map +0 -1
  350. package/dist/chunk-N2KAIZ5D.js.map +0 -1
  351. package/dist/compact-session-7FMYJXQ7.cjs +0 -61
  352. package/dist/compact-session-YSEK7NQF.js +0 -24
  353. package/dist/context-HR4KMXMA.cjs +0 -23
  354. package/dist/context-J5BJ3LBS.js +0 -6
  355. package/dist/fs-session-store-77JU46UZ.js +0 -10
  356. package/dist/fs-session-store-E4U3P56L.cjs +0 -19
  357. package/dist/generate-object-BXV7BZRP.js +0 -7
  358. package/dist/generate-object-YBI2TDJ3.cjs +0 -20
  359. package/dist/index-manager-27WLNQEE.js +0 -17
  360. package/dist/judge-call-46M2E5FA.cjs +0 -22
  361. package/dist/judge-call-FGUNNWEI.js +0 -5
  362. package/dist/oauth-transaction-store-5RIR6D5C.js +0 -5
  363. package/dist/oauth-transaction-store-SXIE57OD.cjs +0 -38
  364. package/dist/stream-object-HBFMIZLD.js +0 -7
  365. package/dist/stream-object-QSKHISDJ.cjs +0 -20
  366. package/dist/subagents-loader-CJFYQQU2.js +0 -7
  367. package/dist/subagents-loader-MOO7DC4E.cjs +0 -16
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkJLRLCBJ4_cjs = require('./chunk-JLRLCBJ4.cjs');
4
- var chunkJ7J7J2GN_cjs = require('./chunk-J7J7J2GN.cjs');
4
+ var chunkUNFBHV46_cjs = require('./chunk-UNFBHV46.cjs');
5
5
  var promises = require('fs/promises');
6
6
  var path = require('path');
7
7
 
8
8
  // src/workflow-errors.ts
9
- var WorkflowDuplicateStepIdError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
9
+ var WorkflowDuplicateStepIdError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
10
10
  constructor(stepId) {
11
11
  super(`Duplicate step id "${stepId}" in workflow.`, {
12
12
  code: "workflow_duplicate_step_id",
@@ -17,7 +17,7 @@ var WorkflowDuplicateStepIdError = class extends chunkJ7J7J2GN_cjs.TheokitAgentE
17
17
  stepId;
18
18
  name = "WorkflowDuplicateStepIdError";
19
19
  };
20
- var WorkflowInputError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
20
+ var WorkflowInputError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
21
21
  constructor(workflowName, detail) {
22
22
  super(`Workflow "${workflowName}" input failed schema validation: ${detail}`, {
23
23
  code: "workflow_input_invalid",
@@ -30,7 +30,7 @@ var WorkflowInputError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
30
30
  detail;
31
31
  name = "WorkflowInputError";
32
32
  };
33
- var WorkflowOutputError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
33
+ var WorkflowOutputError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
34
34
  constructor(workflowName, detail) {
35
35
  super(`Workflow "${workflowName}" output failed schema validation: ${detail}`, {
36
36
  code: "workflow_output_invalid",
@@ -43,7 +43,7 @@ var WorkflowOutputError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
43
43
  detail;
44
44
  name = "WorkflowOutputError";
45
45
  };
46
- var WorkflowStateError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
46
+ var WorkflowStateError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
47
47
  constructor(workflowName, detail) {
48
48
  super(`Workflow "${workflowName}" state failed schema validation: ${detail}`, {
49
49
  code: "workflow_state_invalid",
@@ -56,7 +56,7 @@ var WorkflowStateError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
56
56
  detail;
57
57
  name = "WorkflowStateError";
58
58
  };
59
- var WorkflowNestedError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
59
+ var WorkflowNestedError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
60
60
  constructor(stepId, childName, childStatus, childError) {
61
61
  super(
62
62
  `Nested workflow "${childName}" (step "${stepId}") ended with status "${childStatus}"${childStatus === "suspended" ? " \u2014 nested suspend/resume is not supported in v1 (use a top-level suspend)" : ""}${childError ? `: ${childError.name}: ${childError.message}` : ""}`,
@@ -81,7 +81,7 @@ var WorkflowNestedError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
81
81
  childError;
82
82
  name = "WorkflowNestedError";
83
83
  };
84
- var WorkflowAlreadyRunningError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
84
+ var WorkflowAlreadyRunningError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
85
85
  constructor(workflowName, runId) {
86
86
  super(`Workflow "${workflowName}" run "${runId}" already in-flight.`, {
87
87
  code: "workflow_already_running",
@@ -94,7 +94,7 @@ var WorkflowAlreadyRunningError = class extends chunkJ7J7J2GN_cjs.TheokitAgentEr
94
94
  runId;
95
95
  name = "WorkflowAlreadyRunningError";
96
96
  };
97
- var WorkflowSnapshotNotFoundError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
97
+ var WorkflowSnapshotNotFoundError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
98
98
  constructor(runId) {
99
99
  super(`No snapshot found for runId "${runId}". Configure persistence to enable resume.`, {
100
100
  code: "workflow_snapshot_not_found",
@@ -105,7 +105,7 @@ var WorkflowSnapshotNotFoundError = class extends chunkJ7J7J2GN_cjs.TheokitAgent
105
105
  runId;
106
106
  name = "WorkflowSnapshotNotFoundError";
107
107
  };
108
- var WorkflowMaxIterationsExceededError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
108
+ var WorkflowMaxIterationsExceededError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
109
109
  constructor(stepId, maxIterations) {
110
110
  super(`Step "${stepId}" exceeded max iterations (${maxIterations}).`, {
111
111
  code: "workflow_max_iterations_exceeded",
@@ -118,7 +118,7 @@ var WorkflowMaxIterationsExceededError = class extends chunkJ7J7J2GN_cjs.Theokit
118
118
  maxIterations;
119
119
  name = "WorkflowMaxIterationsExceededError";
120
120
  };
121
- var WorkflowNotSerializableError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
121
+ var WorkflowNotSerializableError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
122
122
  constructor(stepId, underlying) {
123
123
  super(
124
124
  `Workflow snapshot at step "${stepId}" failed to serialize as JSON: ${underlying.message}. Persisted snapshots support only JSON-serializable values (no BigInt, no circular refs, no class instances with cycles).`,
@@ -131,7 +131,7 @@ var WorkflowNotSerializableError = class extends chunkJ7J7J2GN_cjs.TheokitAgentE
131
131
  underlying;
132
132
  name = "WorkflowNotSerializableError";
133
133
  };
134
- var WorkflowResumeStepNotFoundError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
134
+ var WorkflowResumeStepNotFoundError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
135
135
  constructor(stepId, workflowName) {
136
136
  super(
137
137
  `Cannot resume: step "${stepId}" not found in workflow "${workflowName}". The Workflow definition diverged from the snapshot.`,
@@ -152,7 +152,7 @@ var WorkflowParallelError = class extends AggregateError {
152
152
  stepId;
153
153
  name = "WorkflowParallelError";
154
154
  };
155
- var WorkflowCompensateNotImplementedError = class extends chunkJ7J7J2GN_cjs.TheokitAgentError {
155
+ var WorkflowCompensateNotImplementedError = class extends chunkUNFBHV46_cjs.TheokitAgentError {
156
156
  constructor(stepId) {
157
157
  super(
158
158
  `Step "${stepId}" defines compensate, but saga engine is deferred to v1.2. Remove compensate or implement rollback manually.`,
@@ -293,5 +293,5 @@ exports.WorkflowSnapshotNotFoundError = WorkflowSnapshotNotFoundError;
293
293
  exports.WorkflowStateError = WorkflowStateError;
294
294
  exports.__resetSnapshotStoresForTests = __resetSnapshotStoresForTests;
295
295
  exports.getSnapshotStoreFor = getSnapshotStoreFor;
296
- //# sourceMappingURL=chunk-4A3SKJ53.cjs.map
297
- //# sourceMappingURL=chunk-4A3SKJ53.cjs.map
296
+ //# sourceMappingURL=chunk-6PB5AQCY.cjs.map
297
+ //# sourceMappingURL=chunk-6PB5AQCY.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/workflow-errors.ts","../src/internal/workflow/snapshot-store.ts"],"names":["TheokitAgentError","join","mkdir","atomicWriteText","readFile","readdir"],"mappings":"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","file":"chunk-4A3SKJ53.cjs","sourcesContent":["/**\n * The workflow error hierarchy — runtime classes, deliberately NOT in `types/`.\n *\n * `types/index.ts` calls itself \"the canonical public contract\" and re-exports every sibling with\n * `export type *`, which cannot carry a value; `.dependency-cruiser.cjs` restates the same rule as\n * \"src/types/* are pure type definitions\". These twelve classes lived in `types/workflow.ts` anyway\n * and reached consumers only because the DTS rollup hoists a declaration the runtime bundle never\n * emitted — the shape that shipped #279 for `isValidTaskId`. `tests/lint/types-are-types-only.test.ts`\n * is what stops it recurring.\n *\n * The home mirrors `task-errors.ts`: errors for one public surface, next to it, at the src root.\n * Re-exported by name from `workflow.ts`, so `@theokit/sdk/workflow` is unchanged.\n *\n * @public\n */\n\nimport { TheokitAgentError } from \"./errors-base.js\";\nimport type { WorkflowRun } from \"./types/workflow.js\";\n\n/**\n * Thrown by `.commit()` when one step id appears twice anywhere in the workflow — including inside a\n * parallel branch, a branch predicate, the fallback, and the inner step of a `foreach` or `dowhile`.\n *\n * Ids address steps in snapshots and on resume, so this is refused at build time rather than\n * discovered mid-run. Workflows nested with `workflowStep()` are exempt: the child runs in its own\n * executor with its own id-space, so its ids cannot collide with the parent's.\n */\nexport class WorkflowDuplicateStepIdError extends TheokitAgentError {\n override readonly name = \"WorkflowDuplicateStepIdError\";\n constructor(public readonly stepId: string) {\n super(`Duplicate step id \"${stepId}\" in workflow.`, {\n code: \"workflow_duplicate_step_id\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE27 — the whole-workflow `inputSchema` rejected `run(input)` (before step 1).\n * `detail` is a pre-formatted issues summary (a string, NOT Zod's `ZodIssue[]`).\n */\nexport class WorkflowInputError extends TheokitAgentError {\n override readonly name = \"WorkflowInputError\";\n constructor(\n public readonly workflowName: string,\n public readonly detail: string,\n ) {\n super(`Workflow \"${workflowName}\" input failed schema validation: ${detail}`, {\n code: \"workflow_input_invalid\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE27 — the whole-workflow `outputSchema` rejected the final output (on `completed`).\n * `detail` is a pre-formatted issues summary (a string, NOT Zod's `ZodIssue[]`).\n */\nexport class WorkflowOutputError extends TheokitAgentError {\n override readonly name = \"WorkflowOutputError\";\n constructor(\n public readonly workflowName: string,\n public readonly detail: string,\n ) {\n super(`Workflow \"${workflowName}\" output failed schema validation: ${detail}`, {\n code: \"workflow_output_invalid\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE29 — `WorkflowOptions.stateSchema` rejected an `initialState` or a\n * `setState(next)` call. `detail` is a pre-formatted issues summary.\n */\nexport class WorkflowStateError extends TheokitAgentError {\n override readonly name = \"WorkflowStateError\";\n constructor(\n public readonly workflowName: string,\n public readonly detail: string,\n ) {\n super(`Workflow \"${workflowName}\" state failed schema validation: ${detail}`, {\n code: \"workflow_state_invalid\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE30 — a nested workflow (via `workflowStep`) did not `complete`. A nested\n * `suspended` is NOT resumable in v1 (resume continues AFTER the step, so the\n * child would be skipped) — restructure with a top-level suspend. A nested\n * `failed`/`cancelled` fails the parent step with the child's error attached.\n */\nexport class WorkflowNestedError extends TheokitAgentError {\n override readonly name = \"WorkflowNestedError\";\n constructor(\n public readonly stepId: string,\n public readonly childName: string,\n public readonly childStatus: Exclude<WorkflowRun[\"status\"], \"completed\">,\n public readonly childError?: { name: string; message: string },\n ) {\n super(\n `Nested workflow \"${childName}\" (step \"${stepId}\") ended with status \"${childStatus}\"${\n childStatus === \"suspended\"\n ? \" — nested suspend/resume is not supported in v1 (use a top-level suspend)\"\n : \"\"\n }${childError ? `: ${childError.name}: ${childError.message}` : \"\"}`,\n // Reconstruct a synthetic Error from the serialized child-error shape so\n // debuggers surface the nested cause chain — the original Error instance is\n // lost at the WorkflowRun serialization boundary, so this is the best\n // achievable without changing the run protocol.\n {\n code: \"workflow_nested_failed\",\n isRetryable: false,\n ...(childError\n ? { cause: Object.assign(new Error(childError.message), { name: childError.name }) }\n : {}),\n },\n );\n }\n}\n\n/**\n * Thrown out of `Workflow.run()` — one of the few workflow failures that rejects instead of arriving\n * as `run.status === \"failed\"` — when the committed workflow already has a run in flight under the\n * same run id.\n *\n * The lock key pairs the id minted at `.commit()` with the run id, not `WorkflowOptions.name`, so\n * two workflows sharing a name are independent and concurrent runs with distinct minted ids never\n * collide. In practice this only fires when a caller pins `WorkflowRunOptions.runId`, or resumes a\n * run id that is still executing. The registry is an in-process map: a crash releases every lock, and\n * it says nothing about runs in other processes.\n */\nexport class WorkflowAlreadyRunningError extends TheokitAgentError {\n override readonly name = \"WorkflowAlreadyRunningError\";\n constructor(\n public readonly workflowName: string,\n public readonly runId: string,\n ) {\n super(`Workflow \"${workflowName}\" run \"${runId}\" already in-flight.`, {\n code: \"workflow_already_running\",\n isRetryable: true,\n });\n }\n}\n\n/**\n * Thrown by `Workflow.resume()` when no snapshot exists for the given run id.\n *\n * The message suggests configuring persistence, which is the common cause but not the only one. The\n * run may never have suspended; it may have suspended under the default memory backend in a process\n * that has since exited; or the snapshot may already have been consumed, since resume deletes it\n * before re-entering the executor and a second resume of the same run id lands here.\n */\nexport class WorkflowSnapshotNotFoundError extends TheokitAgentError {\n override readonly name = \"WorkflowSnapshotNotFoundError\";\n constructor(public readonly runId: string) {\n super(`No snapshot found for runId \"${runId}\". Configure persistence to enable resume.`, {\n code: \"workflow_snapshot_not_found\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * Raised when a `dowhile` step's condition kept returning true past `maxIterations` (default 100).\n *\n * It does not escape `run()`: the step fails, the run ends `status: \"failed\"`, and the error reaches\n * the caller flattened as `run.error` with `name: \"WorkflowMaxIterationsExceededError\"` — match on\n * the name, the instance does not survive. The guard is evaluated before each iteration, so the inner\n * step runs at most `maxIterations` times; raising the ceiling is a `maxIterations` on the step, and\n * there is no global default to change.\n */\nexport class WorkflowMaxIterationsExceededError extends TheokitAgentError {\n override readonly name = \"WorkflowMaxIterationsExceededError\";\n constructor(\n public readonly stepId: string,\n public readonly maxIterations: number,\n ) {\n super(`Step \"${stepId}\" exceeded max iterations (${maxIterations}).`, {\n code: \"workflow_max_iterations_exceeded\",\n isRetryable: false,\n });\n }\n}\n\n/** EC-4 absorbed — JSON.stringify failed on snapshot payload. */\nexport class WorkflowNotSerializableError extends TheokitAgentError {\n override readonly name = \"WorkflowNotSerializableError\";\n constructor(\n public readonly stepId: string,\n public readonly underlying: Error,\n ) {\n super(\n `Workflow snapshot at step \"${stepId}\" failed to serialize as JSON: ${underlying.message}. ` +\n `Persisted snapshots support only JSON-serializable values (no BigInt, no circular refs, no class instances with cycles).`,\n { code: \"workflow_not_serializable\", isRetryable: false },\n );\n }\n}\n\n/** EC-8 absorbed — `currentStepId` from snapshot not found in resumed workflow. */\nexport class WorkflowResumeStepNotFoundError extends TheokitAgentError {\n override readonly name = \"WorkflowResumeStepNotFoundError\";\n constructor(\n public readonly stepId: string,\n public readonly workflowName: string,\n ) {\n super(\n `Cannot resume: step \"${stepId}\" not found in workflow \"${workflowName}\". ` +\n `The Workflow definition diverged from the snapshot.`,\n { code: \"workflow_resume_step_not_found\", isRetryable: false },\n );\n }\n}\n\n/**\n * Aggregate failure from parallel branches.\n *\n * THE ONE PUBLIC WORKFLOW ERROR STILL OUTSIDE THE SDK HIERARCHY, deliberately. Its ten siblings were\n * reparented onto `TheokitAgentError` so `isTransientError` — and therefore `Retry.create`'s default\n * predicate — can see them at all. This one cannot follow without ceasing to be an `AggregateError`,\n * and `instanceof AggregateError` plus the standard `errors` array is the whole reason a caller\n * catches it: they want the branch failures, not a single message.\n *\n * The cost is stated rather than hidden: `isTransientError(err)` is `false` for this class, so a\n * parallel step whose branches failed transiently is not retried by the SDK's own helper. Inspect\n * `err.errors` and decide per branch — which is what an aggregate asks of a caller anyway, since\n * \"should this be retried\" has no single answer when the branches failed for different reasons.\n */\nexport class WorkflowParallelError extends AggregateError {\n override readonly name = \"WorkflowParallelError\";\n constructor(\n errors: ReadonlyArray<Error>,\n public readonly stepId: string,\n ) {\n super(errors, `${errors.length} branch(es) failed in parallel step \"${stepId}\".`);\n }\n}\n\n/** D238 — saga engine not yet implemented. */\nexport class WorkflowCompensateNotImplementedError extends TheokitAgentError {\n override readonly name = \"WorkflowCompensateNotImplementedError\";\n constructor(public readonly stepId: string) {\n super(\n `Step \"${stepId}\" defines compensate, but saga engine is deferred to v1.2. ` +\n `Remove compensate or implement rollback manually.`,\n { code: \"workflow_compensate_not_implemented\", isRetryable: false },\n );\n }\n}\n","/**\n * Snapshot store interface + InMemory and JsonFile backends (ADR D235).\n *\n * EC-4 absorbed: serialization happens here. `JSON.stringify` failure raises\n * `WorkflowNotSerializableError` instead of letting the underlying `TypeError`\n * leak.\n *\n * @internal\n */\n\nimport { mkdir, readdir, readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { WorkflowOptions, WorkflowSnapshot } from \"../../types/workflow.js\";\nimport { WorkflowNotSerializableError } from \"../../workflow-errors.js\";\nimport { atomicWriteText } from \"../persistence/atomic-write.js\";\n\nexport interface WorkflowSnapshotStore {\n save(snapshot: WorkflowSnapshot): Promise<void>;\n load(runId: string): Promise<WorkflowSnapshot | undefined>;\n delete(runId: string): Promise<void>;\n list(\n workflowName?: string,\n ): Promise<ReadonlyArray<{ runId: string; workflowName: string; suspendedAt: number }>>;\n}\n\n/* ─── InMemory backend (default) ─── */\n\nclass InMemoryWorkflowSnapshotStore implements WorkflowSnapshotStore {\n private readonly map = new Map<string, WorkflowSnapshot>();\n\n async save(snapshot: WorkflowSnapshot): Promise<void> {\n // Verify serializability even in-memory so behavior is consistent with json backend.\n try {\n JSON.stringify(snapshot);\n } catch (err) {\n throw new WorkflowNotSerializableError(\n snapshot.currentStepId,\n err instanceof Error ? err : new Error(String(err)),\n );\n }\n this.map.set(snapshot.runId, snapshot);\n }\n async load(runId: string): Promise<WorkflowSnapshot | undefined> {\n return this.map.get(runId);\n }\n async delete(runId: string): Promise<void> {\n this.map.delete(runId);\n }\n async list(\n workflowName?: string,\n ): Promise<ReadonlyArray<{ runId: string; workflowName: string; suspendedAt: number }>> {\n return [...this.map.values()]\n .filter((s) => workflowName === undefined || s.workflowName === workflowName)\n .map((s) => ({\n runId: s.runId,\n workflowName: s.workflowName,\n suspendedAt: s.suspendedAt,\n }));\n }\n}\n\n/* ─── Json file backend (opt-in) ─── */\n\nclass JsonFileWorkflowSnapshotStore implements WorkflowSnapshotStore {\n constructor(private readonly dir: string) {}\n\n private filePath(runId: string): string {\n return join(this.dir, `${runId}.json`);\n }\n\n async save(snapshot: WorkflowSnapshot): Promise<void> {\n let serialized: string;\n try {\n serialized = JSON.stringify(snapshot);\n } catch (err) {\n throw new WorkflowNotSerializableError(\n snapshot.currentStepId,\n err instanceof Error ? err : new Error(String(err)),\n );\n }\n await mkdir(this.dir, { recursive: true });\n await atomicWriteText(this.filePath(snapshot.runId), serialized);\n }\n\n async load(runId: string): Promise<WorkflowSnapshot | undefined> {\n try {\n const raw = await readFile(this.filePath(runId), \"utf8\");\n return JSON.parse(raw) as WorkflowSnapshot;\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return undefined;\n throw err;\n }\n }\n\n async delete(runId: string): Promise<void> {\n try {\n await (await import(\"node:fs/promises\")).unlink(this.filePath(runId));\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== \"ENOENT\") throw err;\n }\n }\n\n private async readEntriesOrEmpty(): Promise<string[]> {\n try {\n return await readdir(this.dir);\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return [];\n throw err;\n }\n }\n\n private async readSnapshotSafe(file: string): Promise<WorkflowSnapshot | undefined> {\n try {\n const raw = await readFile(join(this.dir, file), \"utf8\");\n return JSON.parse(raw) as WorkflowSnapshot;\n } catch {\n return undefined;\n }\n }\n\n async list(\n workflowName?: string,\n ): Promise<ReadonlyArray<{ runId: string; workflowName: string; suspendedAt: number }>> {\n const entries = await this.readEntriesOrEmpty();\n const results: Array<{ runId: string; workflowName: string; suspendedAt: number }> = [];\n for (const file of entries) {\n if (!file.endsWith(\".json\")) continue;\n const snap = await this.readSnapshotSafe(file);\n if (snap === undefined) continue;\n if (workflowName !== undefined && snap.workflowName !== workflowName) continue;\n results.push({\n runId: snap.runId,\n workflowName: snap.workflowName,\n suspendedAt: snap.suspendedAt,\n });\n }\n return results;\n }\n}\n\n/* ─── Resolver: per-Workflow store cache ─── */\n\nconst memoryStore = new InMemoryWorkflowSnapshotStore();\nconst jsonStores = new Map<string, JsonFileWorkflowSnapshotStore>();\n\nexport function getSnapshotStoreFor(options: WorkflowOptions): WorkflowSnapshotStore {\n if (options.persistence?.backend === \"json\") {\n const dir = options.persistence.dir as string; // schema enforces dir is set\n let store = jsonStores.get(dir);\n if (store === undefined) {\n store = new JsonFileWorkflowSnapshotStore(dir);\n jsonStores.set(dir, store);\n }\n return store;\n }\n return memoryStore;\n}\n\n/** Test seam — clear in-memory store between tests. */\nexport function __resetSnapshotStoresForTests(): void {\n jsonStores.clear();\n // memoryStore has private map; reset via assignment.\n // biome-ignore lint/suspicious/noExplicitAny: test-only seam\n (memoryStore as any).map.clear();\n}\n"]}
1
+ {"version":3,"sources":["../src/workflow-errors.ts","../src/internal/workflow/snapshot-store.ts"],"names":["TheokitAgentError","join","mkdir","atomicWriteText","readFile","readdir"],"mappings":"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","file":"chunk-6PB5AQCY.cjs","sourcesContent":["/**\n * The workflow error hierarchy — runtime classes, deliberately NOT in `types/`.\n *\n * `types/index.ts` calls itself \"the canonical public contract\" and re-exports every sibling with\n * `export type *`, which cannot carry a value; `.dependency-cruiser.cjs` restates the same rule as\n * \"src/types/* are pure type definitions\". These twelve classes lived in `types/workflow.ts` anyway\n * and reached consumers only because the DTS rollup hoists a declaration the runtime bundle never\n * emitted — the shape that shipped #279 for `isValidTaskId`. `tests/lint/types-are-types-only.test.ts`\n * is what stops it recurring.\n *\n * The home mirrors `task-errors.ts`: errors for one public surface, next to it, at the src root.\n * Re-exported by name from `workflow.ts`, so `@theokit/sdk/workflow` is unchanged.\n *\n * @public\n */\n\nimport { TheokitAgentError } from \"./errors-base.js\";\nimport type { WorkflowRun } from \"./types/workflow.js\";\n\n/**\n * Thrown by `.commit()` when one step id appears twice anywhere in the workflow — including inside a\n * parallel branch, a branch predicate, the fallback, and the inner step of a `foreach` or `dowhile`.\n *\n * Ids address steps in snapshots and on resume, so this is refused at build time rather than\n * discovered mid-run. Workflows nested with `workflowStep()` are exempt: the child runs in its own\n * executor with its own id-space, so its ids cannot collide with the parent's.\n */\nexport class WorkflowDuplicateStepIdError extends TheokitAgentError {\n override readonly name = \"WorkflowDuplicateStepIdError\";\n constructor(public readonly stepId: string) {\n super(`Duplicate step id \"${stepId}\" in workflow.`, {\n code: \"workflow_duplicate_step_id\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE27 — the whole-workflow `inputSchema` rejected `run(input)` (before step 1).\n * `detail` is a pre-formatted issues summary (a string, NOT Zod's `ZodIssue[]`).\n */\nexport class WorkflowInputError extends TheokitAgentError {\n override readonly name = \"WorkflowInputError\";\n constructor(\n public readonly workflowName: string,\n public readonly detail: string,\n ) {\n super(`Workflow \"${workflowName}\" input failed schema validation: ${detail}`, {\n code: \"workflow_input_invalid\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE27 — the whole-workflow `outputSchema` rejected the final output (on `completed`).\n * `detail` is a pre-formatted issues summary (a string, NOT Zod's `ZodIssue[]`).\n */\nexport class WorkflowOutputError extends TheokitAgentError {\n override readonly name = \"WorkflowOutputError\";\n constructor(\n public readonly workflowName: string,\n public readonly detail: string,\n ) {\n super(`Workflow \"${workflowName}\" output failed schema validation: ${detail}`, {\n code: \"workflow_output_invalid\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE29 — `WorkflowOptions.stateSchema` rejected an `initialState` or a\n * `setState(next)` call. `detail` is a pre-formatted issues summary.\n */\nexport class WorkflowStateError extends TheokitAgentError {\n override readonly name = \"WorkflowStateError\";\n constructor(\n public readonly workflowName: string,\n public readonly detail: string,\n ) {\n super(`Workflow \"${workflowName}\" state failed schema validation: ${detail}`, {\n code: \"workflow_state_invalid\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * SE30 — a nested workflow (via `workflowStep`) did not `complete`. A nested\n * `suspended` is NOT resumable in v1 (resume continues AFTER the step, so the\n * child would be skipped) — restructure with a top-level suspend. A nested\n * `failed`/`cancelled` fails the parent step with the child's error attached.\n */\nexport class WorkflowNestedError extends TheokitAgentError {\n override readonly name = \"WorkflowNestedError\";\n constructor(\n public readonly stepId: string,\n public readonly childName: string,\n public readonly childStatus: Exclude<WorkflowRun[\"status\"], \"completed\">,\n public readonly childError?: { name: string; message: string },\n ) {\n super(\n `Nested workflow \"${childName}\" (step \"${stepId}\") ended with status \"${childStatus}\"${\n childStatus === \"suspended\"\n ? \" — nested suspend/resume is not supported in v1 (use a top-level suspend)\"\n : \"\"\n }${childError ? `: ${childError.name}: ${childError.message}` : \"\"}`,\n // Reconstruct a synthetic Error from the serialized child-error shape so\n // debuggers surface the nested cause chain — the original Error instance is\n // lost at the WorkflowRun serialization boundary, so this is the best\n // achievable without changing the run protocol.\n {\n code: \"workflow_nested_failed\",\n isRetryable: false,\n ...(childError\n ? { cause: Object.assign(new Error(childError.message), { name: childError.name }) }\n : {}),\n },\n );\n }\n}\n\n/**\n * Thrown out of `Workflow.run()` — one of the few workflow failures that rejects instead of arriving\n * as `run.status === \"failed\"` — when the committed workflow already has a run in flight under the\n * same run id.\n *\n * The lock key pairs the id minted at `.commit()` with the run id, not `WorkflowOptions.name`, so\n * two workflows sharing a name are independent and concurrent runs with distinct minted ids never\n * collide. In practice this only fires when a caller pins `WorkflowRunOptions.runId`, or resumes a\n * run id that is still executing. The registry is an in-process map: a crash releases every lock, and\n * it says nothing about runs in other processes.\n */\nexport class WorkflowAlreadyRunningError extends TheokitAgentError {\n override readonly name = \"WorkflowAlreadyRunningError\";\n constructor(\n public readonly workflowName: string,\n public readonly runId: string,\n ) {\n super(`Workflow \"${workflowName}\" run \"${runId}\" already in-flight.`, {\n code: \"workflow_already_running\",\n isRetryable: true,\n });\n }\n}\n\n/**\n * Thrown by `Workflow.resume()` when no snapshot exists for the given run id.\n *\n * The message suggests configuring persistence, which is the common cause but not the only one. The\n * run may never have suspended; it may have suspended under the default memory backend in a process\n * that has since exited; or the snapshot may already have been consumed, since resume deletes it\n * before re-entering the executor and a second resume of the same run id lands here.\n */\nexport class WorkflowSnapshotNotFoundError extends TheokitAgentError {\n override readonly name = \"WorkflowSnapshotNotFoundError\";\n constructor(public readonly runId: string) {\n super(`No snapshot found for runId \"${runId}\". Configure persistence to enable resume.`, {\n code: \"workflow_snapshot_not_found\",\n isRetryable: false,\n });\n }\n}\n\n/**\n * Raised when a `dowhile` step's condition kept returning true past `maxIterations` (default 100).\n *\n * It does not escape `run()`: the step fails, the run ends `status: \"failed\"`, and the error reaches\n * the caller flattened as `run.error` with `name: \"WorkflowMaxIterationsExceededError\"` — match on\n * the name, the instance does not survive. The guard is evaluated before each iteration, so the inner\n * step runs at most `maxIterations` times; raising the ceiling is a `maxIterations` on the step, and\n * there is no global default to change.\n */\nexport class WorkflowMaxIterationsExceededError extends TheokitAgentError {\n override readonly name = \"WorkflowMaxIterationsExceededError\";\n constructor(\n public readonly stepId: string,\n public readonly maxIterations: number,\n ) {\n super(`Step \"${stepId}\" exceeded max iterations (${maxIterations}).`, {\n code: \"workflow_max_iterations_exceeded\",\n isRetryable: false,\n });\n }\n}\n\n/** EC-4 absorbed — JSON.stringify failed on snapshot payload. */\nexport class WorkflowNotSerializableError extends TheokitAgentError {\n override readonly name = \"WorkflowNotSerializableError\";\n constructor(\n public readonly stepId: string,\n public readonly underlying: Error,\n ) {\n super(\n `Workflow snapshot at step \"${stepId}\" failed to serialize as JSON: ${underlying.message}. ` +\n `Persisted snapshots support only JSON-serializable values (no BigInt, no circular refs, no class instances with cycles).`,\n { code: \"workflow_not_serializable\", isRetryable: false },\n );\n }\n}\n\n/** EC-8 absorbed — `currentStepId` from snapshot not found in resumed workflow. */\nexport class WorkflowResumeStepNotFoundError extends TheokitAgentError {\n override readonly name = \"WorkflowResumeStepNotFoundError\";\n constructor(\n public readonly stepId: string,\n public readonly workflowName: string,\n ) {\n super(\n `Cannot resume: step \"${stepId}\" not found in workflow \"${workflowName}\". ` +\n `The Workflow definition diverged from the snapshot.`,\n { code: \"workflow_resume_step_not_found\", isRetryable: false },\n );\n }\n}\n\n/**\n * Aggregate failure from parallel branches.\n *\n * THE ONE PUBLIC WORKFLOW ERROR STILL OUTSIDE THE SDK HIERARCHY, deliberately. Its ten siblings were\n * reparented onto `TheokitAgentError` so `isTransientError` — and therefore `Retry.create`'s default\n * predicate — can see them at all. This one cannot follow without ceasing to be an `AggregateError`,\n * and `instanceof AggregateError` plus the standard `errors` array is the whole reason a caller\n * catches it: they want the branch failures, not a single message.\n *\n * The cost is stated rather than hidden: `isTransientError(err)` is `false` for this class, so a\n * parallel step whose branches failed transiently is not retried by the SDK's own helper. Inspect\n * `err.errors` and decide per branch — which is what an aggregate asks of a caller anyway, since\n * \"should this be retried\" has no single answer when the branches failed for different reasons.\n */\nexport class WorkflowParallelError extends AggregateError {\n override readonly name = \"WorkflowParallelError\";\n constructor(\n errors: ReadonlyArray<Error>,\n public readonly stepId: string,\n ) {\n super(errors, `${errors.length} branch(es) failed in parallel step \"${stepId}\".`);\n }\n}\n\n/** D238 — saga engine not yet implemented. */\nexport class WorkflowCompensateNotImplementedError extends TheokitAgentError {\n override readonly name = \"WorkflowCompensateNotImplementedError\";\n constructor(public readonly stepId: string) {\n super(\n `Step \"${stepId}\" defines compensate, but saga engine is deferred to v1.2. ` +\n `Remove compensate or implement rollback manually.`,\n { code: \"workflow_compensate_not_implemented\", isRetryable: false },\n );\n }\n}\n","/**\n * Snapshot store interface + InMemory and JsonFile backends (ADR D235).\n *\n * EC-4 absorbed: serialization happens here. `JSON.stringify` failure raises\n * `WorkflowNotSerializableError` instead of letting the underlying `TypeError`\n * leak.\n *\n * @internal\n */\n\nimport { mkdir, readdir, readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { WorkflowOptions, WorkflowSnapshot } from \"../../types/workflow.js\";\nimport { WorkflowNotSerializableError } from \"../../workflow-errors.js\";\nimport { atomicWriteText } from \"../persistence/atomic-write.js\";\n\nexport interface WorkflowSnapshotStore {\n save(snapshot: WorkflowSnapshot): Promise<void>;\n load(runId: string): Promise<WorkflowSnapshot | undefined>;\n delete(runId: string): Promise<void>;\n list(\n workflowName?: string,\n ): Promise<ReadonlyArray<{ runId: string; workflowName: string; suspendedAt: number }>>;\n}\n\n/* ─── InMemory backend (default) ─── */\n\nclass InMemoryWorkflowSnapshotStore implements WorkflowSnapshotStore {\n private readonly map = new Map<string, WorkflowSnapshot>();\n\n async save(snapshot: WorkflowSnapshot): Promise<void> {\n // Verify serializability even in-memory so behavior is consistent with json backend.\n try {\n JSON.stringify(snapshot);\n } catch (err) {\n throw new WorkflowNotSerializableError(\n snapshot.currentStepId,\n err instanceof Error ? err : new Error(String(err)),\n );\n }\n this.map.set(snapshot.runId, snapshot);\n }\n async load(runId: string): Promise<WorkflowSnapshot | undefined> {\n return this.map.get(runId);\n }\n async delete(runId: string): Promise<void> {\n this.map.delete(runId);\n }\n async list(\n workflowName?: string,\n ): Promise<ReadonlyArray<{ runId: string; workflowName: string; suspendedAt: number }>> {\n return [...this.map.values()]\n .filter((s) => workflowName === undefined || s.workflowName === workflowName)\n .map((s) => ({\n runId: s.runId,\n workflowName: s.workflowName,\n suspendedAt: s.suspendedAt,\n }));\n }\n}\n\n/* ─── Json file backend (opt-in) ─── */\n\nclass JsonFileWorkflowSnapshotStore implements WorkflowSnapshotStore {\n constructor(private readonly dir: string) {}\n\n private filePath(runId: string): string {\n return join(this.dir, `${runId}.json`);\n }\n\n async save(snapshot: WorkflowSnapshot): Promise<void> {\n let serialized: string;\n try {\n serialized = JSON.stringify(snapshot);\n } catch (err) {\n throw new WorkflowNotSerializableError(\n snapshot.currentStepId,\n err instanceof Error ? err : new Error(String(err)),\n );\n }\n await mkdir(this.dir, { recursive: true });\n await atomicWriteText(this.filePath(snapshot.runId), serialized);\n }\n\n async load(runId: string): Promise<WorkflowSnapshot | undefined> {\n try {\n const raw = await readFile(this.filePath(runId), \"utf8\");\n return JSON.parse(raw) as WorkflowSnapshot;\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return undefined;\n throw err;\n }\n }\n\n async delete(runId: string): Promise<void> {\n try {\n await (await import(\"node:fs/promises\")).unlink(this.filePath(runId));\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== \"ENOENT\") throw err;\n }\n }\n\n private async readEntriesOrEmpty(): Promise<string[]> {\n try {\n return await readdir(this.dir);\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return [];\n throw err;\n }\n }\n\n private async readSnapshotSafe(file: string): Promise<WorkflowSnapshot | undefined> {\n try {\n const raw = await readFile(join(this.dir, file), \"utf8\");\n return JSON.parse(raw) as WorkflowSnapshot;\n } catch {\n return undefined;\n }\n }\n\n async list(\n workflowName?: string,\n ): Promise<ReadonlyArray<{ runId: string; workflowName: string; suspendedAt: number }>> {\n const entries = await this.readEntriesOrEmpty();\n const results: Array<{ runId: string; workflowName: string; suspendedAt: number }> = [];\n for (const file of entries) {\n if (!file.endsWith(\".json\")) continue;\n const snap = await this.readSnapshotSafe(file);\n if (snap === undefined) continue;\n if (workflowName !== undefined && snap.workflowName !== workflowName) continue;\n results.push({\n runId: snap.runId,\n workflowName: snap.workflowName,\n suspendedAt: snap.suspendedAt,\n });\n }\n return results;\n }\n}\n\n/* ─── Resolver: per-Workflow store cache ─── */\n\nconst memoryStore = new InMemoryWorkflowSnapshotStore();\nconst jsonStores = new Map<string, JsonFileWorkflowSnapshotStore>();\n\nexport function getSnapshotStoreFor(options: WorkflowOptions): WorkflowSnapshotStore {\n if (options.persistence?.backend === \"json\") {\n const dir = options.persistence.dir as string; // schema enforces dir is set\n let store = jsonStores.get(dir);\n if (store === undefined) {\n store = new JsonFileWorkflowSnapshotStore(dir);\n jsonStores.set(dir, store);\n }\n return store;\n }\n return memoryStore;\n}\n\n/** Test seam — clear in-memory store between tests. */\nexport function __resetSnapshotStoresForTests(): void {\n jsonStores.clear();\n // memoryStore has private map; reset via assignment.\n // biome-ignore lint/suspicious/noExplicitAny: test-only seam\n (memoryStore as any).map.clear();\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkJ7J7J2GN_cjs = require('./chunk-J7J7J2GN.cjs');
3
+ var chunkUNFBHV46_cjs = require('./chunk-UNFBHV46.cjs');
4
4
 
5
5
  // src/internal/retry/with-retry.ts
6
6
  function defaultSleep(ms, signal) {
@@ -23,14 +23,14 @@ function defaultSleep(ms, signal) {
23
23
  function resolveRetryOptions(options) {
24
24
  const retries = options?.retries ?? 3;
25
25
  if (!Number.isInteger(retries) || retries < 0) {
26
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
26
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
27
27
  `withRetry: retries must be a non-negative integer, got ${retries}`,
28
28
  { code: "invalid_retry_config" }
29
29
  );
30
30
  }
31
31
  return {
32
32
  retries,
33
- isRetryable: options?.isRetryable ?? chunkJ7J7J2GN_cjs.isTransientError,
33
+ isRetryable: options?.isRetryable ?? chunkUNFBHV46_cjs.isTransientError,
34
34
  initialDelayMs: options?.initialDelayMs ?? 100,
35
35
  maxDelayMs: options?.maxDelayMs ?? 3e4,
36
36
  backoffMultiplier: options?.backoffMultiplier ?? 2,
@@ -75,5 +75,5 @@ var Retry = class _Retry {
75
75
  };
76
76
 
77
77
  exports.Retry = Retry;
78
- //# sourceMappingURL=chunk-PRZ3BES7.cjs.map
79
- //# sourceMappingURL=chunk-PRZ3BES7.cjs.map
78
+ //# sourceMappingURL=chunk-72CPLZPC.cjs.map
79
+ //# sourceMappingURL=chunk-72CPLZPC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/internal/retry/with-retry.ts","../src/retry.ts"],"names":["ConfigurationError","isTransientError"],"mappings":"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","file":"chunk-PRZ3BES7.cjs","sourcesContent":["/**\n * Generic retry wrapper (plan m0-foundation-expose-primitives, M0-3).\n *\n * Exponential backoff with full jitter, deterministically testable via an\n * injectable `sleep` and `rng` (no real timers in unit tests, per the repo\n * testing rule). The default `isRetryable` predicate is {@link isTransientError}\n * so SDK errors retry exactly as the SDK classifies them. The workflow-internal\n * `withRetry` (RetryPolicy-coupled) is intentionally separate (ADR-M0-3).\n *\n * @internal — public via `@theokit/sdk/retry`\n */\n\nimport { ConfigurationError, isTransientError } from \"../../errors.js\";\n\n/** Options for {@link withRetry}. All fields optional; sensible defaults applied. */\nexport interface RetryOptions {\n /** Number of retries after the first attempt (total attempts = retries + 1). Default 3. */\n retries?: number;\n /** Predicate deciding whether a thrown error is worth retrying. Default {@link isTransientError}. */\n isRetryable?: (err: unknown) => boolean;\n /** Base backoff in ms for the first retry. Default 100. */\n initialDelayMs?: number;\n /** Upper bound for a single backoff sleep. Default 30_000. */\n maxDelayMs?: number;\n /** Exponential multiplier applied per retry. Default 2. */\n backoffMultiplier?: number;\n /** [0, 1) source for full-jitter. Default `Math.random`. Inject for deterministic tests. */\n rng?: () => number;\n /** Sleep function. Default a `setTimeout`-based abortable sleep. Inject for deterministic tests. */\n sleep?: (ms: number, signal?: AbortSignal) => Promise<void>;\n /** Abort signal; once aborted, the abortable default sleep rejects and the loop stops. */\n signal?: AbortSignal;\n}\n\nfunction defaultSleep(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (signal?.aborted) {\n reject(signal.reason instanceof Error ? signal.reason : new Error(\"withRetry: aborted\"));\n return;\n }\n const timer = setTimeout(() => {\n signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, ms);\n function onAbort(): void {\n clearTimeout(timer);\n reject(signal?.reason instanceof Error ? signal.reason : new Error(\"withRetry: aborted\"));\n }\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n}\n\ninterface ResolvedRetry {\n retries: number;\n isRetryable: (err: unknown) => boolean;\n initialDelayMs: number;\n maxDelayMs: number;\n backoffMultiplier: number;\n rng: () => number;\n sleep: (ms: number, signal?: AbortSignal) => Promise<void>;\n signal?: AbortSignal;\n}\n\nfunction resolveRetryOptions(options?: RetryOptions): ResolvedRetry {\n const retries = options?.retries ?? 3;\n if (!Number.isInteger(retries) || retries < 0) {\n throw new ConfigurationError(\n `withRetry: retries must be a non-negative integer, got ${retries}`,\n { code: \"invalid_retry_config\" },\n );\n }\n return {\n retries,\n isRetryable: options?.isRetryable ?? isTransientError,\n initialDelayMs: options?.initialDelayMs ?? 100,\n maxDelayMs: options?.maxDelayMs ?? 30_000,\n backoffMultiplier: options?.backoffMultiplier ?? 2,\n rng: options?.rng ?? Math.random,\n sleep: options?.sleep ?? defaultSleep,\n signal: options?.signal,\n };\n}\n\n/** Full-jitter backoff for the given (0-indexed) retry attempt. */\nfunction backoffMs(cfg: ResolvedRetry, attempt: number): number {\n const ceiling = Math.min(cfg.maxDelayMs, cfg.initialDelayMs * cfg.backoffMultiplier ** attempt);\n return Math.floor(cfg.rng() * ceiling);\n}\n\n/**\n * Run `fn`, retrying transient failures with exponential backoff + full jitter.\n *\n * @returns the resolved value of the first successful `fn()` call\n * @throws the last error when retries are exhausted or the error is not retryable\n *\n * @example\n * const data = await withRetry(() => fetchJson(url)); // retries rate-limit/network\n */\nexport async function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T> {\n const cfg = resolveRetryOptions(options);\n let attempt = 0;\n for (;;) {\n try {\n return await fn();\n } catch (err) {\n if (attempt >= cfg.retries || !cfg.isRetryable(err)) throw err;\n await cfg.sleep(backoffMs(cfg, attempt), cfg.signal);\n attempt += 1;\n }\n }\n}\n","/**\n * Public generic retry primitive (plan m0-foundation-expose-primitives, M0-3).\n *\n * Split into its own top-level module so `tsup` builds a dedicated\n * `@theokit/sdk/retry` sub-path entry, mirroring the `path-safety` pattern.\n * The default retry predicate is `isTransientError`, so retries follow the\n * SDK's own error classification.\n */\n\nimport { type RetryOptions, withRetry } from \"./internal/retry/with-retry.js\";\n\nexport type { RetryOptions };\n\n/**\n * SE36 — replaces `withRetry` (ADR 0015 / ADR-P2).\n *\n * `Retry` is a static NAMESPACE, not a factory: the uniformity mandate spells every public entry\n * point `X.create(...)` so callers learn one verb, and twelve classes in this package follow it.\n *\n * This is the one place the mandate produced a false name, and it is fixed here rather than by\n * unwinding the mandate — consistency across a published API is worth more than the indirection.\n * `withRetry` is an EXECUTOR: it RUNS `fn` and resolves to `fn`'s result, so `create` named a\n * construction that never happens. `run` is the honest spelling and `create` is a deprecated alias,\n * because removing a published member is a major-version decision and the alias is what carries the\n * correction to a caller's editor in the meantime.\n *\n * @public\n */\nexport class Retry {\n private constructor() {}\n\n /** Run `fn`, retrying per `options`. Resolves to `fn`'s result. */\n static run<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T> {\n return withRetry(fn, options);\n }\n\n /**\n * @deprecated Renamed to {@link Retry.run}. This never created anything — it runs `fn` and\n * resolves to its result — and the name said otherwise. Still honoured; removed in the next major.\n */\n static create<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T> {\n return Retry.run(fn, options);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/internal/retry/with-retry.ts","../src/retry.ts"],"names":["ConfigurationError","isTransientError"],"mappings":"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","file":"chunk-72CPLZPC.cjs","sourcesContent":["/**\n * Generic retry wrapper (plan m0-foundation-expose-primitives, M0-3).\n *\n * Exponential backoff with full jitter, deterministically testable via an\n * injectable `sleep` and `rng` (no real timers in unit tests, per the repo\n * testing rule). The default `isRetryable` predicate is {@link isTransientError}\n * so SDK errors retry exactly as the SDK classifies them. The workflow-internal\n * `withRetry` (RetryPolicy-coupled) is intentionally separate (ADR-M0-3).\n *\n * @internal — public via `@theokit/sdk/retry`\n */\n\nimport { ConfigurationError, isTransientError } from \"../../errors.js\";\n\n/** Options for {@link withRetry}. All fields optional; sensible defaults applied. */\nexport interface RetryOptions {\n /** Number of retries after the first attempt (total attempts = retries + 1). Default 3. */\n retries?: number;\n /** Predicate deciding whether a thrown error is worth retrying. Default {@link isTransientError}. */\n isRetryable?: (err: unknown) => boolean;\n /** Base backoff in ms for the first retry. Default 100. */\n initialDelayMs?: number;\n /** Upper bound for a single backoff sleep. Default 30_000. */\n maxDelayMs?: number;\n /** Exponential multiplier applied per retry. Default 2. */\n backoffMultiplier?: number;\n /** [0, 1) source for full-jitter. Default `Math.random`. Inject for deterministic tests. */\n rng?: () => number;\n /** Sleep function. Default a `setTimeout`-based abortable sleep. Inject for deterministic tests. */\n sleep?: (ms: number, signal?: AbortSignal) => Promise<void>;\n /** Abort signal; once aborted, the abortable default sleep rejects and the loop stops. */\n signal?: AbortSignal;\n}\n\nfunction defaultSleep(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (signal?.aborted) {\n reject(signal.reason instanceof Error ? signal.reason : new Error(\"withRetry: aborted\"));\n return;\n }\n const timer = setTimeout(() => {\n signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, ms);\n function onAbort(): void {\n clearTimeout(timer);\n reject(signal?.reason instanceof Error ? signal.reason : new Error(\"withRetry: aborted\"));\n }\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n}\n\ninterface ResolvedRetry {\n retries: number;\n isRetryable: (err: unknown) => boolean;\n initialDelayMs: number;\n maxDelayMs: number;\n backoffMultiplier: number;\n rng: () => number;\n sleep: (ms: number, signal?: AbortSignal) => Promise<void>;\n signal?: AbortSignal;\n}\n\nfunction resolveRetryOptions(options?: RetryOptions): ResolvedRetry {\n const retries = options?.retries ?? 3;\n if (!Number.isInteger(retries) || retries < 0) {\n throw new ConfigurationError(\n `withRetry: retries must be a non-negative integer, got ${retries}`,\n { code: \"invalid_retry_config\" },\n );\n }\n return {\n retries,\n isRetryable: options?.isRetryable ?? isTransientError,\n initialDelayMs: options?.initialDelayMs ?? 100,\n maxDelayMs: options?.maxDelayMs ?? 30_000,\n backoffMultiplier: options?.backoffMultiplier ?? 2,\n rng: options?.rng ?? Math.random,\n sleep: options?.sleep ?? defaultSleep,\n signal: options?.signal,\n };\n}\n\n/** Full-jitter backoff for the given (0-indexed) retry attempt. */\nfunction backoffMs(cfg: ResolvedRetry, attempt: number): number {\n const ceiling = Math.min(cfg.maxDelayMs, cfg.initialDelayMs * cfg.backoffMultiplier ** attempt);\n return Math.floor(cfg.rng() * ceiling);\n}\n\n/**\n * Run `fn`, retrying transient failures with exponential backoff + full jitter.\n *\n * @returns the resolved value of the first successful `fn()` call\n * @throws the last error when retries are exhausted or the error is not retryable\n *\n * @example\n * const data = await withRetry(() => fetchJson(url)); // retries rate-limit/network\n */\nexport async function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T> {\n const cfg = resolveRetryOptions(options);\n let attempt = 0;\n for (;;) {\n try {\n return await fn();\n } catch (err) {\n if (attempt >= cfg.retries || !cfg.isRetryable(err)) throw err;\n await cfg.sleep(backoffMs(cfg, attempt), cfg.signal);\n attempt += 1;\n }\n }\n}\n","/**\n * Public generic retry primitive (plan m0-foundation-expose-primitives, M0-3).\n *\n * Split into its own top-level module so `tsup` builds a dedicated\n * `@theokit/sdk/retry` sub-path entry, mirroring the `path-safety` pattern.\n * The default retry predicate is `isTransientError`, so retries follow the\n * SDK's own error classification.\n */\n\nimport { type RetryOptions, withRetry } from \"./internal/retry/with-retry.js\";\n\nexport type { RetryOptions };\n\n/**\n * SE36 — replaces `withRetry` (ADR 0015 / ADR-P2).\n *\n * `Retry` is a static NAMESPACE, not a factory: the uniformity mandate spells every public entry\n * point `X.create(...)` so callers learn one verb, and twelve classes in this package follow it.\n *\n * This is the one place the mandate produced a false name, and it is fixed here rather than by\n * unwinding the mandate — consistency across a published API is worth more than the indirection.\n * `withRetry` is an EXECUTOR: it RUNS `fn` and resolves to `fn`'s result, so `create` named a\n * construction that never happens. `run` is the honest spelling and `create` is a deprecated alias,\n * because removing a published member is a major-version decision and the alias is what carries the\n * correction to a caller's editor in the meantime.\n *\n * @public\n */\nexport class Retry {\n private constructor() {}\n\n /** Run `fn`, retrying per `options`. Resolves to `fn`'s result. */\n static run<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T> {\n return withRetry(fn, options);\n }\n\n /**\n * @deprecated Renamed to {@link Retry.run}. This never created anything — it runs `fn` and\n * resolves to its result — and the name said otherwise. Still honoured; removed in the next major.\n */\n static create<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T> {\n return Retry.run(fn, options);\n }\n}\n"]}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkKRD3GQAA_cjs = require('./chunk-KRD3GQAA.cjs');
4
- var chunkLD6HASA5_cjs = require('./chunk-LD6HASA5.cjs');
5
- var chunk7A6535RA_cjs = require('./chunk-7A6535RA.cjs');
4
+ var chunkSWALPLFQ_cjs = require('./chunk-SWALPLFQ.cjs');
5
+ var chunkGM54F4FE_cjs = require('./chunk-GM54F4FE.cjs');
6
6
  var chunkGZV6AVRL_cjs = require('./chunk-GZV6AVRL.cjs');
7
- var chunkDQZU7JK6_cjs = require('./chunk-DQZU7JK6.cjs');
7
+ var chunkP22BZE7G_cjs = require('./chunk-P22BZE7G.cjs');
8
8
  var chunkZF2LDKQQ_cjs = require('./chunk-ZF2LDKQQ.cjs');
9
9
  var chunkJLRLCBJ4_cjs = require('./chunk-JLRLCBJ4.cjs');
10
- var chunkJ7J7J2GN_cjs = require('./chunk-J7J7J2GN.cjs');
10
+ var chunkUNFBHV46_cjs = require('./chunk-UNFBHV46.cjs');
11
11
  var chunk6LHQPOMI_cjs = require('./chunk-6LHQPOMI.cjs');
12
12
  var os = require('os');
13
13
  var path = require('path');
@@ -27,7 +27,7 @@ function projectMemoryDir(cwd) {
27
27
  function claudeProjectMemoryDir(cwd) {
28
28
  const home = process.env.CLAUDE_CONFIG_DIR?.trim();
29
29
  const root = home !== void 0 && home.length > 0 ? home : path.join(os.homedir(), ".claude");
30
- return path.join(root, "projects", chunkGZV6AVRL_cjs.encodeProjectDir(chunkLD6HASA5_cjs.findGitRoot(cwd) ?? cwd), "memory");
30
+ return path.join(root, "projects", chunkGZV6AVRL_cjs.encodeProjectDir(chunkSWALPLFQ_cjs.findGitRoot(cwd) ?? cwd), "memory");
31
31
  }
32
32
  function resolveMemoryRoot(cwd, config) {
33
33
  const declared = config?.directory;
@@ -35,7 +35,7 @@ function resolveMemoryRoot(cwd, config) {
35
35
  const trimmed = declared.trim();
36
36
  if (trimmed.startsWith("~/")) return path.join(os.homedir(), trimmed.slice(2));
37
37
  if (trimmed.length === 0 || !path.isAbsolute(trimmed)) {
38
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
38
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
39
39
  `memory.directory must be an absolute path or start with "~/". Received: ${JSON.stringify(declared)}`,
40
40
  { code: "invalid_memory_directory" }
41
41
  );
@@ -80,10 +80,10 @@ function legacyMemoryJsonPath(cwd, config) {
80
80
  if (config.storePath !== void 0) {
81
81
  return path.resolve(cwd, config.storePath);
82
82
  }
83
- const namespace = chunk7A6535RA_cjs.sanitizeIdentifier(config.namespace ?? "default");
84
- const scope = chunk7A6535RA_cjs.sanitizeIdentifier(config.scope ?? "agent", { maxLen: 16 });
85
- const userId = chunk7A6535RA_cjs.sanitizeIdentifier(config.userId ?? "default");
86
- return chunk7A6535RA_cjs.safePathJoin(cwd, ".theokit", "memory", namespace, `${scope}-${userId}.json`);
83
+ const namespace = chunkGM54F4FE_cjs.sanitizeIdentifier(config.namespace ?? "default");
84
+ const scope = chunkGM54F4FE_cjs.sanitizeIdentifier(config.scope ?? "agent", { maxLen: 16 });
85
+ const userId = chunkGM54F4FE_cjs.sanitizeIdentifier(config.userId ?? "default");
86
+ return chunkGM54F4FE_cjs.safePathJoin(cwd, ".theokit", "memory", namespace, `${scope}-${userId}.json`);
87
87
  }
88
88
 
89
89
  // src/internal/memory/storage/memory-file.ts
@@ -202,7 +202,7 @@ function slugForFact(text) {
202
202
  if (slug.length === 0) {
203
203
  slug = text.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, MAX_SLUG_LENGTH).replace(/-+$/, "");
204
204
  }
205
- return SAFE_SLUG.test(slug) ? slug : chunk7A6535RA_cjs.safeFilenameForId(text);
205
+ return SAFE_SLUG.test(slug) ? slug : chunkGM54F4FE_cjs.safeFilenameForId(text);
206
206
  }
207
207
  function titleForFact(text) {
208
208
  const words = topicWords(text);
@@ -402,14 +402,14 @@ async function readMemoryFileIn(dir, entry) {
402
402
  }
403
403
  function assertWritable(fact, text) {
404
404
  if (fact.kind !== void 0 && !MEMORY_KINDS.includes(fact.kind)) {
405
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
405
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
406
406
  `Unknown memory fact kind "${fact.kind}". Expected one of: ${MEMORY_KINDS.join(", ")}.`,
407
407
  { code: "invalid_memory_kind" }
408
408
  );
409
409
  }
410
410
  const threat = scanForThreats(text);
411
411
  if (threat !== void 0) {
412
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
412
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
413
413
  `Refusing to write a memory entry that ${threat.why}: ${threat.excerpt}`,
414
414
  { code: "memory_threat_rejected" }
415
415
  );
@@ -457,7 +457,7 @@ async function resolveName(dir, base, text) {
457
457
  if (parsed === void 0) return candidate;
458
458
  if (normalizeFactText(parsed.body) === wanted) return candidate;
459
459
  }
460
- return slugForFact(text) === base ? chunk7A6535RA_cjs.safeFilenameForId(text) : slugForFact(text);
460
+ return slugForFact(text) === base ? chunkGM54F4FE_cjs.safeFilenameForId(text) : slugForFact(text);
461
461
  }
462
462
  async function nextObservationCount(dir, name, text) {
463
463
  let existing;
@@ -513,7 +513,7 @@ function sessionsDir(root) {
513
513
  return path.join(root, "sessions");
514
514
  }
515
515
  function sessionSummaryPath(root, runId) {
516
- return path.join(sessionsDir(root), `${chunk7A6535RA_cjs.safeFilenameForId(runId, { maxLen: 128 })}.md`);
516
+ return path.join(sessionsDir(root), `${chunkGM54F4FE_cjs.safeFilenameForId(runId, { maxLen: 128 })}.md`);
517
517
  }
518
518
  function truncate(text) {
519
519
  if (text.length <= MAX_TURN_CHARS) return text;
@@ -676,7 +676,7 @@ var PRAGMA_STATEMENTS = [
676
676
 
677
677
  // src/internal/memory/index-db.ts
678
678
  async function openMemoryDb(opts) {
679
- return chunkDQZU7JK6_cjs.openSqliteResilient({
679
+ return chunkP22BZE7G_cjs.openSqliteResilient({
680
680
  filePath: opts.filePath,
681
681
  label: "memory-index",
682
682
  recoverCorrupt: opts.recoverCorrupt,
@@ -691,10 +691,10 @@ function defaultIndexPath(root) {
691
691
  }
692
692
  function requireLance() {
693
693
  try {
694
- const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-GFFBXSQT.cjs', document.baseURI).href)));
694
+ const r = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-76PIKR4P.cjs', document.baseURI).href)));
695
695
  return r("@lancedb/lancedb");
696
696
  } catch (cause) {
697
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
697
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
698
698
  'Lance backend selected but `@lancedb/lancedb` is not installed. Install with: `pnpm add @lancedb/lancedb`. SQLite remains available as the default (omit `backend: "lance"`).',
699
699
  { code: "lance_backend_unavailable", cause }
700
700
  );
@@ -724,7 +724,7 @@ var LanceIndex = class _LanceIndex {
724
724
  const embField = schema.fields.find((f) => f.name === "embedding");
725
725
  const existingDim = embField?.type?.listSize ?? embField?.type?.fixedSize;
726
726
  if (typeof existingDim === "number" && existingDim !== dim) {
727
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
727
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
728
728
  `Embedding dimension mismatch in Lance index: storage has ${existingDim}-dim vectors, current provider yields ${dim}-dim. Re-embed with \`migrateSqliteToLance\` after switching providers, or use a different storagePath.`,
729
729
  { code: "embedding_dimension_mismatch" }
730
730
  );
@@ -795,7 +795,7 @@ function escapeSqlValue(value) {
795
795
  for (let i = 0; i < value.length; i++) {
796
796
  const code = value.charCodeAt(i);
797
797
  if (code === 0 || code >= 1 && code <= 31 || code === 127) {
798
- throw new chunkJ7J7J2GN_cjs.ConfigurationError(
798
+ throw new chunkUNFBHV46_cjs.ConfigurationError(
799
799
  `SQL filter value contains control character at position ${i} (0x${code.toString(16)}). This may indicate an injection attempt.`,
800
800
  { code: "sql_injection_blocked" }
801
801
  );
@@ -839,5 +839,5 @@ exports.sha256 = sha256;
839
839
  exports.truncateSnippet = truncateSnippet;
840
840
  exports.wikiDir = wikiDir;
841
841
  exports.writeSessionSummary = writeSessionSummary;
842
- //# sourceMappingURL=chunk-GFFBXSQT.cjs.map
843
- //# sourceMappingURL=chunk-GFFBXSQT.cjs.map
842
+ //# sourceMappingURL=chunk-76PIKR4P.cjs.map
843
+ //# sourceMappingURL=chunk-76PIKR4P.cjs.map