@theokit/sdk 0.0.0-compat-580-20260905204608

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 (1141) hide show
  1. package/CHANGELOG.md +7923 -0
  2. package/LICENSE +201 -0
  3. package/README.md +114 -0
  4. package/dist/a2a/agent-mailbox.d.cts +54 -0
  5. package/dist/a2a/agent-mailbox.d.ts +54 -0
  6. package/dist/a2a/index.cjs +138 -0
  7. package/dist/a2a/index.cjs.map +1 -0
  8. package/dist/a2a/index.d.cts +10 -0
  9. package/dist/a2a/index.d.ts +10 -0
  10. package/dist/a2a/index.js +125 -0
  11. package/dist/a2a/index.js.map +1 -0
  12. package/dist/a2a/message-bus.d.cts +118 -0
  13. package/dist/a2a/message-bus.d.ts +118 -0
  14. package/dist/a2a/subagent.d.cts +231 -0
  15. package/dist/a2a/subagent.d.ts +231 -0
  16. package/dist/a2a/types.d.cts +45 -0
  17. package/dist/a2a/types.d.ts +45 -0
  18. package/dist/agent-ARLOD4JX.cjs +67 -0
  19. package/dist/agent-ARLOD4JX.cjs.map +1 -0
  20. package/dist/agent-C3KO5LKm.d.cts +1871 -0
  21. package/dist/agent-CvmTR9uf.d.ts +1871 -0
  22. package/dist/agent-N6WJ54ML.js +58 -0
  23. package/dist/agent-N6WJ54ML.js.map +1 -0
  24. package/dist/agent-builder.d.ts +72 -0
  25. package/dist/agent-factory-registry-UU46BUMU.cjs +16 -0
  26. package/dist/agent-factory-registry-UU46BUMU.cjs.map +1 -0
  27. package/dist/agent-factory-registry-ZVTABLEY.js +3 -0
  28. package/dist/agent-factory-registry-ZVTABLEY.js.map +1 -0
  29. package/dist/agent-factory.d.ts +24 -0
  30. package/dist/agent-generate.d.ts +12 -0
  31. package/dist/agent-session-store-AFML3AXC.js +6 -0
  32. package/dist/agent-session-store-AFML3AXC.js.map +1 -0
  33. package/dist/agent-session-store-MTSIY3MH.cjs +23 -0
  34. package/dist/agent-session-store-MTSIY3MH.cjs.map +1 -0
  35. package/dist/agent.d.ts +276 -0
  36. package/dist/auth/index.cjs +306 -0
  37. package/dist/auth/index.cjs.map +1 -0
  38. package/dist/auth/index.d.cts +34 -0
  39. package/dist/auth/index.d.ts +34 -0
  40. package/dist/auth/index.js +247 -0
  41. package/dist/auth/index.js.map +1 -0
  42. package/dist/batch-I6T6MXZO.cjs +263 -0
  43. package/dist/batch-I6T6MXZO.cjs.map +1 -0
  44. package/dist/batch-US4F6WPK.js +260 -0
  45. package/dist/batch-US4F6WPK.js.map +1 -0
  46. package/dist/chunk-24MGQDK3.js +31 -0
  47. package/dist/chunk-24MGQDK3.js.map +1 -0
  48. package/dist/chunk-24SYBZPL.cjs +121 -0
  49. package/dist/chunk-24SYBZPL.cjs.map +1 -0
  50. package/dist/chunk-2HPNT6HH.cjs +3373 -0
  51. package/dist/chunk-2HPNT6HH.cjs.map +1 -0
  52. package/dist/chunk-2SFBB54R.js +23 -0
  53. package/dist/chunk-2SFBB54R.js.map +1 -0
  54. package/dist/chunk-2WXHA33T.js +105 -0
  55. package/dist/chunk-2WXHA33T.js.map +1 -0
  56. package/dist/chunk-2XC6KDJM.js +22 -0
  57. package/dist/chunk-2XC6KDJM.js.map +1 -0
  58. package/dist/chunk-2XRAWOZZ.js +172 -0
  59. package/dist/chunk-2XRAWOZZ.js.map +1 -0
  60. package/dist/chunk-2ZPEDVLM.cjs +59 -0
  61. package/dist/chunk-2ZPEDVLM.cjs.map +1 -0
  62. package/dist/chunk-3EE6LVWT.cjs +29 -0
  63. package/dist/chunk-3EE6LVWT.cjs.map +1 -0
  64. package/dist/chunk-3JHIFQ4I.js +102 -0
  65. package/dist/chunk-3JHIFQ4I.js.map +1 -0
  66. package/dist/chunk-44I6UYVH.js +133 -0
  67. package/dist/chunk-44I6UYVH.js.map +1 -0
  68. package/dist/chunk-47TF32NQ.js +79 -0
  69. package/dist/chunk-47TF32NQ.js.map +1 -0
  70. package/dist/chunk-4A3SKJ53.cjs +297 -0
  71. package/dist/chunk-4A3SKJ53.cjs.map +1 -0
  72. package/dist/chunk-4HS6FFGL.cjs +433 -0
  73. package/dist/chunk-4HS6FFGL.cjs.map +1 -0
  74. package/dist/chunk-4MMWFSCD.js +25 -0
  75. package/dist/chunk-4MMWFSCD.js.map +1 -0
  76. package/dist/chunk-4NLCWGH7.cjs +177 -0
  77. package/dist/chunk-4NLCWGH7.cjs.map +1 -0
  78. package/dist/chunk-55GB6JYQ.js +208 -0
  79. package/dist/chunk-55GB6JYQ.js.map +1 -0
  80. package/dist/chunk-5WKQDIGO.js +136 -0
  81. package/dist/chunk-5WKQDIGO.js.map +1 -0
  82. package/dist/chunk-67SBTGMA.cjs +457 -0
  83. package/dist/chunk-67SBTGMA.cjs.map +1 -0
  84. package/dist/chunk-6LHQPOMI.cjs +193 -0
  85. package/dist/chunk-6LHQPOMI.cjs.map +1 -0
  86. package/dist/chunk-6M2OIS4Y.js +158 -0
  87. package/dist/chunk-6M2OIS4Y.js.map +1 -0
  88. package/dist/chunk-6PWOWXMC.js +121 -0
  89. package/dist/chunk-6PWOWXMC.js.map +1 -0
  90. package/dist/chunk-6X6ID4MO.js +20 -0
  91. package/dist/chunk-6X6ID4MO.js.map +1 -0
  92. package/dist/chunk-7A6535RA.cjs +231 -0
  93. package/dist/chunk-7A6535RA.cjs.map +1 -0
  94. package/dist/chunk-7FDKWDA2.cjs +135 -0
  95. package/dist/chunk-7FDKWDA2.cjs.map +1 -0
  96. package/dist/chunk-7I5Z3UBJ.js +10 -0
  97. package/dist/chunk-7I5Z3UBJ.js.map +1 -0
  98. package/dist/chunk-7JJ3A6AT.cjs +88 -0
  99. package/dist/chunk-7JJ3A6AT.cjs.map +1 -0
  100. package/dist/chunk-7SZAV6QG.js +593 -0
  101. package/dist/chunk-7SZAV6QG.js.map +1 -0
  102. package/dist/chunk-A4RAL2ER.cjs +51 -0
  103. package/dist/chunk-A4RAL2ER.cjs.map +1 -0
  104. package/dist/chunk-AA27GEYS.cjs +12 -0
  105. package/dist/chunk-AA27GEYS.cjs.map +1 -0
  106. package/dist/chunk-AAEZSPTC.js +133 -0
  107. package/dist/chunk-AAEZSPTC.js.map +1 -0
  108. package/dist/chunk-AGACYRJ2.js +11 -0
  109. package/dist/chunk-AGACYRJ2.js.map +1 -0
  110. package/dist/chunk-ALUN2B4W.js +356 -0
  111. package/dist/chunk-ALUN2B4W.js.map +1 -0
  112. package/dist/chunk-ANMJJD6D.cjs +18 -0
  113. package/dist/chunk-ANMJJD6D.cjs.map +1 -0
  114. package/dist/chunk-ATT276RD.cjs +173 -0
  115. package/dist/chunk-ATT276RD.cjs.map +1 -0
  116. package/dist/chunk-AW6F6HZR.js +166 -0
  117. package/dist/chunk-AW6F6HZR.js.map +1 -0
  118. package/dist/chunk-AWINL3ZC.js +109 -0
  119. package/dist/chunk-AWINL3ZC.js.map +1 -0
  120. package/dist/chunk-BJUJT5ED.cjs +186 -0
  121. package/dist/chunk-BJUJT5ED.cjs.map +1 -0
  122. package/dist/chunk-BUUUWQMB.cjs +34 -0
  123. package/dist/chunk-BUUUWQMB.cjs.map +1 -0
  124. package/dist/chunk-BV2MWEMV.cjs +26 -0
  125. package/dist/chunk-BV2MWEMV.cjs.map +1 -0
  126. package/dist/chunk-CFE6QF2Q.js +221 -0
  127. package/dist/chunk-CFE6QF2Q.js.map +1 -0
  128. package/dist/chunk-CZJ6Q7CW.js +183 -0
  129. package/dist/chunk-CZJ6Q7CW.js.map +1 -0
  130. package/dist/chunk-D3CCY3A2.cjs +10995 -0
  131. package/dist/chunk-D3CCY3A2.cjs.map +1 -0
  132. package/dist/chunk-D6POWE7E.cjs +210 -0
  133. package/dist/chunk-D6POWE7E.cjs.map +1 -0
  134. package/dist/chunk-DMRT67Y6.js +100 -0
  135. package/dist/chunk-DMRT67Y6.js.map +1 -0
  136. package/dist/chunk-DQZU7JK6.cjs +125 -0
  137. package/dist/chunk-DQZU7JK6.cjs.map +1 -0
  138. package/dist/chunk-EFMFILPG.js +77 -0
  139. package/dist/chunk-EFMFILPG.js.map +1 -0
  140. package/dist/chunk-EH6XD3FY.js +222 -0
  141. package/dist/chunk-EH6XD3FY.js.map +1 -0
  142. package/dist/chunk-EIQFAOFD.js +229 -0
  143. package/dist/chunk-EIQFAOFD.js.map +1 -0
  144. package/dist/chunk-EPSICJLZ.js +79 -0
  145. package/dist/chunk-EPSICJLZ.js.map +1 -0
  146. package/dist/chunk-EXTRW7GW.cjs +155 -0
  147. package/dist/chunk-EXTRW7GW.cjs.map +1 -0
  148. package/dist/chunk-FD2UT76F.js +3 -0
  149. package/dist/chunk-FD2UT76F.js.map +1 -0
  150. package/dist/chunk-FJWQP6EE.js +122 -0
  151. package/dist/chunk-FJWQP6EE.js.map +1 -0
  152. package/dist/chunk-FRITRLZQ.cjs +24 -0
  153. package/dist/chunk-FRITRLZQ.cjs.map +1 -0
  154. package/dist/chunk-FUSDYC2B.cjs +280 -0
  155. package/dist/chunk-FUSDYC2B.cjs.map +1 -0
  156. package/dist/chunk-G7BLGBRN.js +43 -0
  157. package/dist/chunk-G7BLGBRN.js.map +1 -0
  158. package/dist/chunk-GBCVPKHE.js +282 -0
  159. package/dist/chunk-GBCVPKHE.js.map +1 -0
  160. package/dist/chunk-GHX4P3V2.cjs +34 -0
  161. package/dist/chunk-GHX4P3V2.cjs.map +1 -0
  162. package/dist/chunk-GZV6AVRL.cjs +282 -0
  163. package/dist/chunk-GZV6AVRL.cjs.map +1 -0
  164. package/dist/chunk-H73MEMQB.js +31 -0
  165. package/dist/chunk-H73MEMQB.js.map +1 -0
  166. package/dist/chunk-HCT4HPCL.cjs +235 -0
  167. package/dist/chunk-HCT4HPCL.cjs.map +1 -0
  168. package/dist/chunk-HFEJE7AC.js +424 -0
  169. package/dist/chunk-HFEJE7AC.js.map +1 -0
  170. package/dist/chunk-HKCKOAIO.js +57 -0
  171. package/dist/chunk-HKCKOAIO.js.map +1 -0
  172. package/dist/chunk-HUFSABUZ.cjs +48 -0
  173. package/dist/chunk-HUFSABUZ.cjs.map +1 -0
  174. package/dist/chunk-HW7SEELD.cjs +46 -0
  175. package/dist/chunk-HW7SEELD.cjs.map +1 -0
  176. package/dist/chunk-HY66GLM6.js +13 -0
  177. package/dist/chunk-HY66GLM6.js.map +1 -0
  178. package/dist/chunk-I2PWY7VM.cjs +27 -0
  179. package/dist/chunk-I2PWY7VM.cjs.map +1 -0
  180. package/dist/chunk-IJ7M6GOG.cjs +28 -0
  181. package/dist/chunk-IJ7M6GOG.cjs.map +1 -0
  182. package/dist/chunk-IU5N5224.cjs +288 -0
  183. package/dist/chunk-IU5N5224.cjs.map +1 -0
  184. package/dist/chunk-IUMAQURF.js +130 -0
  185. package/dist/chunk-IUMAQURF.js.map +1 -0
  186. package/dist/chunk-J7J7J2GN.cjs +377 -0
  187. package/dist/chunk-J7J7J2GN.cjs.map +1 -0
  188. package/dist/chunk-JLRLCBJ4.cjs +108 -0
  189. package/dist/chunk-JLRLCBJ4.cjs.map +1 -0
  190. package/dist/chunk-JMDDYA22.js +171 -0
  191. package/dist/chunk-JMDDYA22.js.map +1 -0
  192. package/dist/chunk-JNAA4G4H.js +43 -0
  193. package/dist/chunk-JNAA4G4H.js.map +1 -0
  194. package/dist/chunk-JOFVLOFY.js +268 -0
  195. package/dist/chunk-JOFVLOFY.js.map +1 -0
  196. package/dist/chunk-K2BQQ445.js +30 -0
  197. package/dist/chunk-K2BQQ445.js.map +1 -0
  198. package/dist/chunk-K2VMFZQ5.js +487 -0
  199. package/dist/chunk-K2VMFZQ5.js.map +1 -0
  200. package/dist/chunk-K3NH62DG.js +3343 -0
  201. package/dist/chunk-K3NH62DG.js.map +1 -0
  202. package/dist/chunk-KGANQYP7.cjs +172 -0
  203. package/dist/chunk-KGANQYP7.cjs.map +1 -0
  204. package/dist/chunk-KRD3GQAA.cjs +71 -0
  205. package/dist/chunk-KRD3GQAA.cjs.map +1 -0
  206. package/dist/chunk-KTTHHYEW.cjs +45 -0
  207. package/dist/chunk-KTTHHYEW.cjs.map +1 -0
  208. package/dist/chunk-KVNWIAO4.js +68 -0
  209. package/dist/chunk-KVNWIAO4.js.map +1 -0
  210. package/dist/chunk-KVSAY6NZ.cjs +497 -0
  211. package/dist/chunk-KVSAY6NZ.cjs.map +1 -0
  212. package/dist/chunk-LOHMT36V.cjs +178 -0
  213. package/dist/chunk-LOHMT36V.cjs.map +1 -0
  214. package/dist/chunk-LX7SEXOQ.js +152 -0
  215. package/dist/chunk-LX7SEXOQ.js.map +1 -0
  216. package/dist/chunk-MUUQ2WFJ.cjs +4 -0
  217. package/dist/chunk-MUUQ2WFJ.cjs.map +1 -0
  218. package/dist/chunk-N6OOOYFZ.js +281 -0
  219. package/dist/chunk-N6OOOYFZ.js.map +1 -0
  220. package/dist/chunk-NAF4L3T6.js +22 -0
  221. package/dist/chunk-NAF4L3T6.js.map +1 -0
  222. package/dist/chunk-NINIJCHU.cjs +23 -0
  223. package/dist/chunk-NINIJCHU.cjs.map +1 -0
  224. package/dist/chunk-NJWYQWDL.js +43 -0
  225. package/dist/chunk-NJWYQWDL.js.map +1 -0
  226. package/dist/chunk-NQTD6QOW.cjs +226 -0
  227. package/dist/chunk-NQTD6QOW.cjs.map +1 -0
  228. package/dist/chunk-NQTNSHSB.cjs +843 -0
  229. package/dist/chunk-NQTNSHSB.cjs.map +1 -0
  230. package/dist/chunk-NVXXWAU7.cjs +13 -0
  231. package/dist/chunk-NVXXWAU7.cjs.map +1 -0
  232. package/dist/chunk-NYQ3IS7K.cjs +130 -0
  233. package/dist/chunk-NYQ3IS7K.cjs.map +1 -0
  234. package/dist/chunk-O6USDERH.js +165 -0
  235. package/dist/chunk-O6USDERH.js.map +1 -0
  236. package/dist/chunk-OBA6YK2R.cjs +8 -0
  237. package/dist/chunk-OBA6YK2R.cjs.map +1 -0
  238. package/dist/chunk-OQRGVTQF.js +169 -0
  239. package/dist/chunk-OQRGVTQF.js.map +1 -0
  240. package/dist/chunk-OR6XIWLB.js +19 -0
  241. package/dist/chunk-OR6XIWLB.js.map +1 -0
  242. package/dist/chunk-OYD3U3LY.js +10981 -0
  243. package/dist/chunk-OYD3U3LY.js.map +1 -0
  244. package/dist/chunk-PRZ3BES7.cjs +79 -0
  245. package/dist/chunk-PRZ3BES7.cjs.map +1 -0
  246. package/dist/chunk-PY2RQOA7.js +6 -0
  247. package/dist/chunk-PY2RQOA7.js.map +1 -0
  248. package/dist/chunk-Q5EWJPRY.js +18 -0
  249. package/dist/chunk-Q5EWJPRY.js.map +1 -0
  250. package/dist/chunk-QATRS7JD.cjs +158 -0
  251. package/dist/chunk-QATRS7JD.cjs.map +1 -0
  252. package/dist/chunk-QC55H6RJ.cjs +601 -0
  253. package/dist/chunk-QC55H6RJ.cjs.map +1 -0
  254. package/dist/chunk-QDM3OHUT.cjs +134 -0
  255. package/dist/chunk-QDM3OHUT.cjs.map +1 -0
  256. package/dist/chunk-QKLOP4VC.cjs +90 -0
  257. package/dist/chunk-QKLOP4VC.cjs.map +1 -0
  258. package/dist/chunk-QOGNZMHD.cjs +34 -0
  259. package/dist/chunk-QOGNZMHD.cjs.map +1 -0
  260. package/dist/chunk-QWD3CZWE.cjs +108 -0
  261. package/dist/chunk-QWD3CZWE.cjs.map +1 -0
  262. package/dist/chunk-QWD4RDZ3.cjs +136 -0
  263. package/dist/chunk-QWD4RDZ3.cjs.map +1 -0
  264. package/dist/chunk-QYLZQ43D.cjs +172 -0
  265. package/dist/chunk-QYLZQ43D.cjs.map +1 -0
  266. package/dist/chunk-R7WIIPUR.js +27 -0
  267. package/dist/chunk-R7WIIPUR.js.map +1 -0
  268. package/dist/chunk-RQMCOFAI.cjs +85 -0
  269. package/dist/chunk-RQMCOFAI.cjs.map +1 -0
  270. package/dist/chunk-SA6K24NB.cjs +25 -0
  271. package/dist/chunk-SA6K24NB.cjs.map +1 -0
  272. package/dist/chunk-SADXXGWU.js +809 -0
  273. package/dist/chunk-SADXXGWU.js.map +1 -0
  274. package/dist/chunk-SAGRF4IB.js +25 -0
  275. package/dist/chunk-SAGRF4IB.js.map +1 -0
  276. package/dist/chunk-SVQIW5RJ.js +81 -0
  277. package/dist/chunk-SVQIW5RJ.js.map +1 -0
  278. package/dist/chunk-TA3K7SBK.js +180 -0
  279. package/dist/chunk-TA3K7SBK.js.map +1 -0
  280. package/dist/chunk-TFG5IBZS.cjs +139 -0
  281. package/dist/chunk-TFG5IBZS.cjs.map +1 -0
  282. package/dist/chunk-TMKTSYDS.cjs +21 -0
  283. package/dist/chunk-TMKTSYDS.cjs.map +1 -0
  284. package/dist/chunk-UADQJBHR.cjs +172 -0
  285. package/dist/chunk-UADQJBHR.cjs.map +1 -0
  286. package/dist/chunk-UBR5PWD7.js +275 -0
  287. package/dist/chunk-UBR5PWD7.js.map +1 -0
  288. package/dist/chunk-UKMBRMGT.js +22 -0
  289. package/dist/chunk-UKMBRMGT.js.map +1 -0
  290. package/dist/chunk-V22DZIXO.js +147 -0
  291. package/dist/chunk-V22DZIXO.js.map +1 -0
  292. package/dist/chunk-VE6DFSKU.js +107 -0
  293. package/dist/chunk-VE6DFSKU.js.map +1 -0
  294. package/dist/chunk-VPK6PHIE.cjs +211 -0
  295. package/dist/chunk-VPK6PHIE.cjs.map +1 -0
  296. package/dist/chunk-VTYY7XL5.cjs +15 -0
  297. package/dist/chunk-VTYY7XL5.cjs.map +1 -0
  298. package/dist/chunk-VWUXIVEI.js +583 -0
  299. package/dist/chunk-VWUXIVEI.js.map +1 -0
  300. package/dist/chunk-WE22OXQA.js +48 -0
  301. package/dist/chunk-WE22OXQA.js.map +1 -0
  302. package/dist/chunk-WMWEI3NS.js +120 -0
  303. package/dist/chunk-WMWEI3NS.js.map +1 -0
  304. package/dist/chunk-WS5ULCL4.js +204 -0
  305. package/dist/chunk-WS5ULCL4.js.map +1 -0
  306. package/dist/chunk-XB4GI5RZ.js +115 -0
  307. package/dist/chunk-XB4GI5RZ.js.map +1 -0
  308. package/dist/chunk-XU6MLSC6.js +455 -0
  309. package/dist/chunk-XU6MLSC6.js.map +1 -0
  310. package/dist/chunk-XYFGKVZ7.js +15 -0
  311. package/dist/chunk-XYFGKVZ7.js.map +1 -0
  312. package/dist/chunk-Y2KYR2ED.cjs +118 -0
  313. package/dist/chunk-Y2KYR2ED.cjs.map +1 -0
  314. package/dist/chunk-YIFFF23U.cjs +109 -0
  315. package/dist/chunk-YIFFF23U.cjs.map +1 -0
  316. package/dist/chunk-YJNYDJ2T.cjs +27 -0
  317. package/dist/chunk-YJNYDJ2T.cjs.map +1 -0
  318. package/dist/chunk-YSTXFWQE.cjs +127 -0
  319. package/dist/chunk-YSTXFWQE.cjs.map +1 -0
  320. package/dist/chunk-Z2JFX372.cjs +595 -0
  321. package/dist/chunk-Z2JFX372.cjs.map +1 -0
  322. package/dist/chunk-Z3NTRKIC.cjs +111 -0
  323. package/dist/chunk-Z3NTRKIC.cjs.map +1 -0
  324. package/dist/chunk-ZF2LDKQQ.cjs +20 -0
  325. package/dist/chunk-ZF2LDKQQ.cjs.map +1 -0
  326. package/dist/client/index.cjs +73 -0
  327. package/dist/client/index.cjs.map +1 -0
  328. package/dist/client/index.d.cts +12 -0
  329. package/dist/client/index.d.ts +12 -0
  330. package/dist/client/index.js +71 -0
  331. package/dist/client/index.js.map +1 -0
  332. package/dist/client/theokit-client.d.cts +60 -0
  333. package/dist/client/theokit-client.d.ts +60 -0
  334. package/dist/client/types.d.cts +51 -0
  335. package/dist/client/types.d.ts +51 -0
  336. package/dist/compact-session-BHTPCIHA.cjs +61 -0
  337. package/dist/compact-session-BHTPCIHA.cjs.map +1 -0
  338. package/dist/compact-session-W4WLJTHA.js +24 -0
  339. package/dist/compact-session-W4WLJTHA.js.map +1 -0
  340. package/dist/compaction.cjs +66 -0
  341. package/dist/compaction.cjs.map +1 -0
  342. package/dist/compaction.d.cts +240 -0
  343. package/dist/compaction.d.ts +240 -0
  344. package/dist/compaction.js +5 -0
  345. package/dist/compaction.js.map +1 -0
  346. package/dist/concurrency.cjs +23 -0
  347. package/dist/concurrency.cjs.map +1 -0
  348. package/dist/concurrency.d.cts +22 -0
  349. package/dist/concurrency.d.ts +22 -0
  350. package/dist/concurrency.js +17 -0
  351. package/dist/concurrency.js.map +1 -0
  352. package/dist/context/index.cjs +37 -0
  353. package/dist/context/index.cjs.map +1 -0
  354. package/dist/context/index.d.cts +78 -0
  355. package/dist/context/index.d.ts +78 -0
  356. package/dist/context/index.js +20 -0
  357. package/dist/context/index.js.map +1 -0
  358. package/dist/context-4QOEWRDF.cjs +23 -0
  359. package/dist/context-4QOEWRDF.cjs.map +1 -0
  360. package/dist/context-Z3CFTT3H.js +6 -0
  361. package/dist/context-Z3CFTT3H.js.map +1 -0
  362. package/dist/create-skill.d.ts +40 -0
  363. package/dist/cron-C3PhZED0.d.cts +246 -0
  364. package/dist/cron-crfMMdAw.d.ts +246 -0
  365. package/dist/cron.cjs +68 -0
  366. package/dist/cron.cjs.map +1 -0
  367. package/dist/cron.d.cts +7 -0
  368. package/dist/cron.d.ts +7 -0
  369. package/dist/cron.js +59 -0
  370. package/dist/cron.js.map +1 -0
  371. package/dist/define-tool.d.ts +86 -0
  372. package/dist/errors-CLOAyuiv.d.ts +569 -0
  373. package/dist/errors-DrDEgyz1.d.cts +569 -0
  374. package/dist/errors-base-B5g01neU.d.cts +75 -0
  375. package/dist/errors-base-B5g01neU.d.ts +75 -0
  376. package/dist/errors-base.d.ts +73 -0
  377. package/dist/errors.cjs +89 -0
  378. package/dist/errors.cjs.map +1 -0
  379. package/dist/errors.d.cts +4 -0
  380. package/dist/errors.d.ts +4 -0
  381. package/dist/errors.js +4 -0
  382. package/dist/errors.js.map +1 -0
  383. package/dist/eval.cjs +1056 -0
  384. package/dist/eval.cjs.map +1 -0
  385. package/dist/eval.d.cts +77 -0
  386. package/dist/eval.d.ts +77 -0
  387. package/dist/eval.js +1042 -0
  388. package/dist/eval.js.map +1 -0
  389. package/dist/event-bus.d.ts +42 -0
  390. package/dist/executor-XQAOQOHD.cjs +993 -0
  391. package/dist/executor-XQAOQOHD.cjs.map +1 -0
  392. package/dist/executor-ZNDQDX6Q.js +989 -0
  393. package/dist/executor-ZNDQDX6Q.js.map +1 -0
  394. package/dist/filesystem/index.cjs +204 -0
  395. package/dist/filesystem/index.cjs.map +1 -0
  396. package/dist/filesystem/index.d.cts +12 -0
  397. package/dist/filesystem/index.d.ts +12 -0
  398. package/dist/filesystem/index.js +195 -0
  399. package/dist/filesystem/index.js.map +1 -0
  400. package/dist/filesystem/local-filesystem.d.cts +54 -0
  401. package/dist/filesystem/local-filesystem.d.ts +54 -0
  402. package/dist/filesystem/types.d.cts +136 -0
  403. package/dist/filesystem/types.d.ts +136 -0
  404. package/dist/fork-agent-S2EPIML7.js +61 -0
  405. package/dist/fork-agent-S2EPIML7.js.map +1 -0
  406. package/dist/fork-agent-WAEQI2DL.cjs +64 -0
  407. package/dist/fork-agent-WAEQI2DL.cjs.map +1 -0
  408. package/dist/fs-session-store-77JU46UZ.js +10 -0
  409. package/dist/fs-session-store-77JU46UZ.js.map +1 -0
  410. package/dist/fs-session-store-E4U3P56L.cjs +19 -0
  411. package/dist/fs-session-store-E4U3P56L.cjs.map +1 -0
  412. package/dist/generate-object-BXV7BZRP.js +7 -0
  413. package/dist/generate-object-BXV7BZRP.js.map +1 -0
  414. package/dist/generate-object-YBI2TDJ3.cjs +20 -0
  415. package/dist/generate-object-YBI2TDJ3.cjs.map +1 -0
  416. package/dist/generate-object.d.ts +111 -0
  417. package/dist/index-manager-3UNPYH34.cjs +26 -0
  418. package/dist/index-manager-3UNPYH34.cjs.map +1 -0
  419. package/dist/index-manager-W7FDMGEG.js +17 -0
  420. package/dist/index-manager-W7FDMGEG.js.map +1 -0
  421. package/dist/index.cjs +2487 -0
  422. package/dist/index.cjs.map +1 -0
  423. package/dist/index.d.cts +4166 -0
  424. package/dist/index.d.ts +4166 -0
  425. package/dist/index.js +2289 -0
  426. package/dist/index.js.map +1 -0
  427. package/dist/inject-session-SUM6TDJF.js +27 -0
  428. package/dist/inject-session-SUM6TDJF.js.map +1 -0
  429. package/dist/inject-session-W6A46J3E.cjs +29 -0
  430. package/dist/inject-session-W6A46J3E.cjs.map +1 -0
  431. package/dist/interactive/index.cjs +35 -0
  432. package/dist/interactive/index.cjs.map +1 -0
  433. package/dist/interactive/index.d.cts +12 -0
  434. package/dist/interactive/index.d.ts +12 -0
  435. package/dist/interactive/index.js +30 -0
  436. package/dist/interactive/index.js.map +1 -0
  437. package/dist/interactive/types.d.cts +95 -0
  438. package/dist/interactive/types.d.ts +95 -0
  439. package/dist/internal/agent/batch.d.ts +11 -0
  440. package/dist/internal/agent/helpers.d.ts +1 -0
  441. package/dist/internal/agent-loop/budget-gate.d.ts +1 -0
  442. package/dist/internal/agent-loop/doom-loop-tracker.d.ts +22 -0
  443. package/dist/internal/agent-loop/live-events.d.ts +46 -0
  444. package/dist/internal/agent-loop/loop-context-init.d.ts +2 -0
  445. package/dist/internal/agent-loop/loop-finalize.d.ts +25 -0
  446. package/dist/internal/agent-loop/loop-llm-stream.d.ts +1 -0
  447. package/dist/internal/agent-loop/loop-thinking-steps.d.ts +28 -0
  448. package/dist/internal/agent-loop/loop.d.ts +7 -0
  449. package/dist/internal/agent-loop/message-builders.d.ts +21 -0
  450. package/dist/internal/agent-loop/replay-messages.d.ts +41 -0
  451. package/dist/internal/agent-loop/tool-dispatch.d.ts +27 -0
  452. package/dist/internal/agent-loop/tool-executors.d.ts +1 -0
  453. package/dist/internal/agent-loop/tool-result-guard.d.ts +20 -0
  454. package/dist/internal/agent-loop/tool-timeout.d.ts +23 -0
  455. package/dist/internal/agent-loop/types.d.ts +43 -0
  456. package/dist/internal/agent-loop/usage-and-cost.d.ts +25 -0
  457. package/dist/internal/auth/api-key-prefix.d.ts +23 -0
  458. package/dist/internal/auth/api-key-validator.d.ts +46 -0
  459. package/dist/internal/auth/credential-availability.d.ts +61 -0
  460. package/dist/internal/auth/credential-store.d.ts +77 -0
  461. package/dist/internal/auth/oauth-device.d.ts +54 -0
  462. package/dist/internal/auth/oauth-engine.d.ts +21 -0
  463. package/dist/internal/auth/resolve-credential.d.ts +56 -0
  464. package/dist/internal/auth/types.d.ts +175 -0
  465. package/dist/internal/base-url.d.ts +14 -0
  466. package/dist/internal/budget/compute-cost.d.ts +28 -0
  467. package/dist/internal/budget/pricing-registry.d.ts +36 -0
  468. package/dist/internal/budget/tracker/budget-tracker.d.ts +11 -0
  469. package/dist/internal/budget/tracker/budget.d.ts +34 -0
  470. package/dist/internal/budget/usage-accumulator.d.ts +46 -0
  471. package/dist/internal/cloud-agent/cloud-agent.d.ts +1 -0
  472. package/dist/internal/cloud-agent/cloud-config-serializer.d.ts +3 -0
  473. package/dist/internal/cloud-agent/cloud-run.d.ts +1 -0
  474. package/dist/internal/cloud-agent/cloud-tool-parity.d.ts +1 -0
  475. package/dist/internal/cloud-agent/index.d.ts +7 -0
  476. package/dist/internal/cloud-agent/real-cloud-run.d.ts +2 -0
  477. package/dist/internal/cloud-agent/types.d.ts +56 -0
  478. package/dist/internal/concurrency/abort-utils.d.ts +21 -0
  479. package/dist/internal/concurrency/async-local-storage.d.ts +20 -0
  480. package/dist/internal/concurrency/async-semaphore.d.ts +24 -0
  481. package/dist/internal/concurrency/delegation-depth.d.ts +27 -0
  482. package/dist/internal/concurrency/map-with-concurrency.d.ts +28 -0
  483. package/dist/internal/concurrency/subagent-credentials.d.ts +112 -0
  484. package/dist/internal/diagnostics.d.ts +69 -0
  485. package/dist/internal/emit-run-event.d.ts +16 -0
  486. package/dist/internal/env.d.ts +1 -0
  487. package/dist/internal/error-mappers/anthropic.d.ts +30 -0
  488. package/dist/internal/error-mappers/bedrock.d.ts +16 -0
  489. package/dist/internal/error-mappers/default-retriable.d.ts +1 -0
  490. package/dist/internal/error-mappers/ollama.d.ts +41 -0
  491. package/dist/internal/error-mappers/openai-compatible.d.ts +25 -0
  492. package/dist/internal/error-mappers/shared.d.ts +23 -0
  493. package/dist/internal/error-mappers/vertex.d.ts +15 -0
  494. package/dist/internal/eval/aggregate.d.ts +9 -0
  495. package/dist/internal/eval/assert.d.ts +27 -0
  496. package/dist/internal/eval/code-runner.d.ts +28 -0
  497. package/dist/internal/eval/dataset-iter.d.ts +9 -0
  498. package/dist/internal/eval/runner.d.ts +9 -0
  499. package/dist/internal/eval/single-flight.d.ts +17 -0
  500. package/dist/internal/eval/telemetry.d.ts +23 -0
  501. package/dist/internal/eval/trials.d.ts +19 -0
  502. package/dist/internal/global-singleton.d.ts +16 -0
  503. package/dist/internal/http.d.ts +1 -0
  504. package/dist/internal/ids.d.ts +1 -0
  505. package/dist/internal/judge/judge-call.d.ts +48 -0
  506. package/dist/internal/judge/parse-verdict.d.ts +11 -0
  507. package/dist/internal/llm/abort-error.d.ts +1 -0
  508. package/dist/internal/llm/anthropic-shared.d.ts +100 -0
  509. package/dist/internal/llm/anthropic.d.ts +9 -0
  510. package/dist/internal/llm/bedrock-anthropic.d.ts +36 -0
  511. package/dist/internal/llm/bedrock-token-cache.d.ts +18 -0
  512. package/dist/internal/llm/credential-pool-context.d.ts +11 -0
  513. package/dist/internal/llm/credential-pool-types.d.ts +22 -0
  514. package/dist/internal/llm/credential-pool.d.ts +18 -0
  515. package/dist/internal/llm/fallback-client.d.ts +1 -0
  516. package/dist/internal/llm/fault-injection.d.ts +50 -0
  517. package/dist/internal/llm/finish.d.ts +1 -0
  518. package/dist/internal/llm/hermes-tool-extract.d.ts +11 -0
  519. package/dist/internal/llm/model-capabilities.d.ts +40 -0
  520. package/dist/internal/llm/model-identifier.d.ts +58 -0
  521. package/dist/internal/llm/model-option.d.ts +38 -0
  522. package/dist/internal/llm/ollama-native.d.ts +27 -0
  523. package/dist/internal/llm/openai-messages.d.ts +2 -0
  524. package/dist/internal/llm/openai.d.ts +146 -0
  525. package/dist/internal/llm/pool-aware-client.d.ts +16 -0
  526. package/dist/internal/llm/prompt-cache-key.d.ts +1 -0
  527. package/dist/internal/llm/responses.d.ts +97 -0
  528. package/dist/internal/llm/retry.d.ts +22 -0
  529. package/dist/internal/llm/retrying-client.d.ts +53 -0
  530. package/dist/internal/llm/router.d.ts +40 -0
  531. package/dist/internal/llm/sse.d.ts +21 -0
  532. package/dist/internal/llm/stream-relay.d.ts +17 -0
  533. package/dist/internal/llm/tool-result-content.d.ts +40 -0
  534. package/dist/internal/llm/transport-error.d.ts +9 -0
  535. package/dist/internal/llm/types.d.ts +226 -0
  536. package/dist/internal/llm/vertex-anthropic.d.ts +40 -0
  537. package/dist/internal/llm/vertex-auth.d.ts +30 -0
  538. package/dist/internal/llm/vertex-gemini.d.ts +28 -0
  539. package/dist/internal/llm/vertex-router.d.ts +21 -0
  540. package/dist/internal/local-agent/index.d.ts +6 -0
  541. package/dist/internal/local-agent/local-agent-bootstrap.d.ts +37 -0
  542. package/dist/internal/local-agent/local-agent-capabilities.d.ts +38 -0
  543. package/dist/internal/local-agent/local-agent-dispatch.d.ts +57 -0
  544. package/dist/internal/local-agent/local-agent-invalidate.d.ts +1 -0
  545. package/dist/internal/local-agent/local-agent-lifecycle.d.ts +13 -0
  546. package/dist/internal/local-agent/local-agent-memory-direct.d.ts +12 -0
  547. package/dist/internal/local-agent/local-agent-memory-hooks.d.ts +41 -0
  548. package/dist/internal/local-agent/local-agent-memory-provider.d.ts +57 -0
  549. package/dist/internal/local-agent/local-agent-memory.d.ts +1 -0
  550. package/dist/internal/local-agent/local-agent-personality-extensions.d.ts +43 -0
  551. package/dist/internal/local-agent/local-agent-runtime-extensions.d.ts +13 -0
  552. package/dist/internal/local-agent/local-agent-send.d.ts +42 -0
  553. package/dist/internal/local-agent/local-agent-task-wrap.d.ts +11 -0
  554. package/dist/internal/local-agent/local-agent.d.ts +1 -0
  555. package/dist/internal/local-agent/local-option-keys.d.ts +2 -0
  556. package/dist/internal/local-agent/local-run.d.ts +1 -0
  557. package/dist/internal/local-agent/mcp-pool.d.ts +43 -0
  558. package/dist/internal/local-agent/real-local-run-mcp.d.ts +26 -0
  559. package/dist/internal/local-agent/real-local-run-options.d.ts +26 -0
  560. package/dist/internal/local-agent/real-local-run-provider.d.ts +13 -0
  561. package/dist/internal/local-agent/real-local-run-tools.d.ts +55 -0
  562. package/dist/internal/local-agent/real-local-run.d.ts +4 -0
  563. package/dist/internal/mcp/client.d.ts +16 -0
  564. package/dist/internal/mcp/handshake-timeout.d.ts +53 -0
  565. package/dist/internal/mcp/oauth.d.ts +19 -0
  566. package/dist/internal/mcp/token-storage.d.ts +52 -0
  567. package/dist/internal/memory/active-memory-cache.d.ts +10 -0
  568. package/dist/internal/memory/active-memory-types.d.ts +8 -0
  569. package/dist/internal/memory/active-memory.d.ts +56 -0
  570. package/dist/internal/memory/adapters/azure-openai-embedding.d.cts +2 -0
  571. package/dist/internal/memory/adapters/azure-openai-embedding.d.ts +2 -0
  572. package/dist/internal/memory/adapters/catalog.d.cts +1 -0
  573. package/dist/internal/memory/adapters/catalog.d.ts +1 -0
  574. package/dist/internal/memory/adapters/cohere-embedding.d.cts +2 -0
  575. package/dist/internal/memory/adapters/cohere-embedding.d.ts +2 -0
  576. package/dist/internal/memory/adapters/deepinfra-embedding.d.cts +2 -0
  577. package/dist/internal/memory/adapters/deepinfra-embedding.d.ts +2 -0
  578. package/dist/internal/memory/adapters/gemini-embedding.d.cts +2 -0
  579. package/dist/internal/memory/adapters/gemini-embedding.d.ts +2 -0
  580. package/dist/internal/memory/adapters/index.cjs +30 -0
  581. package/dist/internal/memory/adapters/index.cjs.map +1 -0
  582. package/dist/internal/memory/adapters/index.d.cts +18 -0
  583. package/dist/internal/memory/adapters/index.d.ts +18 -0
  584. package/dist/internal/memory/adapters/index.js +13 -0
  585. package/dist/internal/memory/adapters/index.js.map +1 -0
  586. package/dist/internal/memory/adapters/jina-embedding.d.cts +2 -0
  587. package/dist/internal/memory/adapters/jina-embedding.d.ts +2 -0
  588. package/dist/internal/memory/adapters/mistral-embedding.d.cts +2 -0
  589. package/dist/internal/memory/adapters/mistral-embedding.d.ts +2 -0
  590. package/dist/internal/memory/adapters/ollama-embedding.d.cts +34 -0
  591. package/dist/internal/memory/adapters/ollama-embedding.d.ts +34 -0
  592. package/dist/internal/memory/adapters/openai-compatible.d.cts +96 -0
  593. package/dist/internal/memory/adapters/openai-compatible.d.ts +96 -0
  594. package/dist/internal/memory/adapters/openai-embedding.d.cts +12 -0
  595. package/dist/internal/memory/adapters/openai-embedding.d.ts +12 -0
  596. package/dist/internal/memory/adapters/openrouter-embedding.d.cts +2 -0
  597. package/dist/internal/memory/adapters/openrouter-embedding.d.ts +2 -0
  598. package/dist/internal/memory/adapters/voyage-embedding.d.cts +2 -0
  599. package/dist/internal/memory/adapters/voyage-embedding.d.ts +2 -0
  600. package/dist/internal/memory/corpus-sync.d.ts +23 -0
  601. package/dist/internal/memory/dreaming/diary.d.ts +41 -0
  602. package/dist/internal/memory/dreaming/phases.d.ts +35 -0
  603. package/dist/internal/memory/dreaming/run.d.ts +10 -0
  604. package/dist/internal/memory/embedding-adapter.d.ts +42 -0
  605. package/dist/internal/memory/embedding-cache.d.ts +42 -0
  606. package/dist/internal/memory/escape-like-pattern.d.ts +22 -0
  607. package/dist/internal/memory/index-db.d.ts +67 -0
  608. package/dist/internal/memory/index-manager-contract.d.ts +48 -0
  609. package/dist/internal/memory/index-manager-dispatch.d.ts +23 -0
  610. package/dist/internal/memory/index-manager-helpers.d.ts +20 -0
  611. package/dist/internal/memory/index-manager.d.ts +44 -0
  612. package/dist/internal/memory/index-repository.d.ts +58 -0
  613. package/dist/internal/memory/index-schema.d.ts +21 -0
  614. package/dist/internal/memory/lance-index.d.ts +46 -0
  615. package/dist/internal/memory/lance-memory-adapter.d.ts +45 -0
  616. package/dist/internal/memory/memory-index.d.ts +67 -0
  617. package/dist/internal/memory/migrate-sqlite-to-lance.d.ts +58 -0
  618. package/dist/internal/memory/migration.d.ts +9 -0
  619. package/dist/internal/memory/sdk-memory-peer-loader.d.ts +74 -0
  620. package/dist/internal/memory/sqlite-vec-loader.d.ts +1 -0
  621. package/dist/internal/memory/storage/chunk-markdown.d.cts +2 -0
  622. package/dist/internal/memory/storage/chunk-markdown.d.ts +2 -0
  623. package/dist/internal/memory/storage/index.cjs +141 -0
  624. package/dist/internal/memory/storage/index.cjs.map +1 -0
  625. package/dist/internal/memory/storage/index.d.cts +28 -0
  626. package/dist/internal/memory/storage/index.d.ts +28 -0
  627. package/dist/internal/memory/storage/index.js +16 -0
  628. package/dist/internal/memory/storage/index.js.map +1 -0
  629. package/dist/internal/memory/storage/list-markdown.d.cts +1 -0
  630. package/dist/internal/memory/storage/list-markdown.d.ts +1 -0
  631. package/dist/internal/memory/storage/markdown-store.d.cts +48 -0
  632. package/dist/internal/memory/storage/markdown-store.d.ts +48 -0
  633. package/dist/internal/memory/storage/memory-file.d.cts +90 -0
  634. package/dist/internal/memory/storage/memory-file.d.ts +90 -0
  635. package/dist/internal/memory/storage/memory-root.d.cts +119 -0
  636. package/dist/internal/memory/storage/memory-root.d.ts +119 -0
  637. package/dist/internal/memory/storage/reader.d.cts +8 -0
  638. package/dist/internal/memory/storage/reader.d.ts +8 -0
  639. package/dist/internal/memory/storage/session-loader.d.cts +35 -0
  640. package/dist/internal/memory/storage/session-loader.d.ts +35 -0
  641. package/dist/internal/memory/storage/session-summary-writer.d.cts +50 -0
  642. package/dist/internal/memory/storage/session-summary-writer.d.ts +50 -0
  643. package/dist/internal/memory/storage/threat-scan.d.cts +62 -0
  644. package/dist/internal/memory/storage/threat-scan.d.ts +62 -0
  645. package/dist/internal/memory/storage/transcript-store.d.cts +38 -0
  646. package/dist/internal/memory/storage/transcript-store.d.ts +38 -0
  647. package/dist/internal/memory/storage/wiki-loader.d.cts +27 -0
  648. package/dist/internal/memory/storage/wiki-loader.d.ts +27 -0
  649. package/dist/internal/memory/tools.d.ts +21 -0
  650. package/dist/internal/memory/types.d.ts +78 -0
  651. package/dist/internal/memory/vec-index.d.ts +28 -0
  652. package/dist/internal/persistence/atomic-write.d.cts +107 -0
  653. package/dist/internal/persistence/atomic-write.d.ts +107 -0
  654. package/dist/internal/persistence/cwd-mutex.d.cts +35 -0
  655. package/dist/internal/persistence/cwd-mutex.d.ts +35 -0
  656. package/dist/internal/persistence/exclusive-create.d.cts +53 -0
  657. package/dist/internal/persistence/exclusive-create.d.ts +53 -0
  658. package/dist/internal/persistence/file-lock.d.cts +54 -0
  659. package/dist/internal/persistence/file-lock.d.ts +54 -0
  660. package/dist/internal/persistence/fs-session-store.d.cts +68 -0
  661. package/dist/internal/persistence/fs-session-store.d.ts +68 -0
  662. package/dist/internal/persistence/fts5-sanitize.d.cts +44 -0
  663. package/dist/internal/persistence/fts5-sanitize.d.ts +44 -0
  664. package/dist/internal/persistence/index.cjs +127 -0
  665. package/dist/internal/persistence/index.cjs.map +1 -0
  666. package/dist/internal/persistence/index.d.cts +33 -0
  667. package/dist/internal/persistence/index.d.ts +33 -0
  668. package/dist/internal/persistence/index.js +40 -0
  669. package/dist/internal/persistence/index.js.map +1 -0
  670. package/dist/internal/persistence/jsonl.d.cts +43 -0
  671. package/dist/internal/persistence/jsonl.d.ts +43 -0
  672. package/dist/internal/persistence/markdown-config-loader.d.cts +35 -0
  673. package/dist/internal/persistence/markdown-config-loader.d.ts +35 -0
  674. package/dist/internal/persistence/pagination.d.cts +21 -0
  675. package/dist/internal/persistence/pagination.d.ts +21 -0
  676. package/dist/internal/persistence/paths.d.cts +137 -0
  677. package/dist/internal/persistence/paths.d.ts +137 -0
  678. package/dist/internal/persistence/persistence-schema.d.cts +29 -0
  679. package/dist/internal/persistence/persistence-schema.d.ts +29 -0
  680. package/dist/internal/persistence/schema-version.d.cts +227 -0
  681. package/dist/internal/persistence/schema-version.d.ts +227 -0
  682. package/dist/internal/persistence/session-artifacts.d.cts +27 -0
  683. package/dist/internal/persistence/session-artifacts.d.ts +27 -0
  684. package/dist/internal/persistence/session-dir.d.cts +1 -0
  685. package/dist/internal/persistence/session-dir.d.ts +1 -0
  686. package/dist/internal/persistence/session-transcript.d.cts +128 -0
  687. package/dist/internal/persistence/session-transcript.d.ts +128 -0
  688. package/dist/internal/persistence/session-writer.d.cts +104 -0
  689. package/dist/internal/persistence/session-writer.d.ts +104 -0
  690. package/dist/internal/persistence/sqlite-cas.d.cts +61 -0
  691. package/dist/internal/persistence/sqlite-cas.d.ts +61 -0
  692. package/dist/internal/persistence/sqlite-open.d.cts +61 -0
  693. package/dist/internal/persistence/sqlite-open.d.ts +61 -0
  694. package/dist/internal/persistence/sqlite-wal.d.cts +54 -0
  695. package/dist/internal/persistence/sqlite-wal.d.ts +54 -0
  696. package/dist/internal/persistence/transcript-ops.d.cts +99 -0
  697. package/dist/internal/persistence/transcript-ops.d.ts +99 -0
  698. package/dist/internal/personality/context.d.ts +17 -0
  699. package/dist/internal/personality/registry.d.ts +17 -0
  700. package/dist/internal/personality/store.d.ts +27 -0
  701. package/dist/internal/personality/switch.d.ts +36 -0
  702. package/dist/internal/personality/types.d.ts +18 -0
  703. package/dist/internal/plugins/context.d.cts +21 -0
  704. package/dist/internal/plugins/context.d.ts +21 -0
  705. package/dist/internal/plugins/enabled-names.d.cts +1 -0
  706. package/dist/internal/plugins/enabled-names.d.ts +1 -0
  707. package/dist/internal/plugins/index.d.cts +9 -0
  708. package/dist/internal/plugins/index.d.ts +9 -0
  709. package/dist/internal/plugins/lifecycle.d.cts +15 -0
  710. package/dist/internal/plugins/lifecycle.d.ts +15 -0
  711. package/dist/internal/plugins/manager.d.cts +57 -0
  712. package/dist/internal/plugins/manager.d.ts +57 -0
  713. package/dist/internal/plugins/plugin-guards.d.cts +13 -0
  714. package/dist/internal/plugins/plugin-guards.d.ts +13 -0
  715. package/dist/internal/plugins/types.d.cts +26 -0
  716. package/dist/internal/plugins/types.d.ts +26 -0
  717. package/dist/internal/providers/builtin/anthropic.d.ts +2 -0
  718. package/dist/internal/providers/builtin/bedrock.d.ts +25 -0
  719. package/dist/internal/providers/builtin/cerebras.d.ts +5 -0
  720. package/dist/internal/providers/builtin/cohere.d.ts +8 -0
  721. package/dist/internal/providers/builtin/deepinfra.d.ts +2 -0
  722. package/dist/internal/providers/builtin/gemini.d.ts +10 -0
  723. package/dist/internal/providers/builtin/google.d.ts +6 -0
  724. package/dist/internal/providers/builtin/groq.d.ts +2 -0
  725. package/dist/internal/providers/builtin/index.d.ts +20 -0
  726. package/dist/internal/providers/builtin/llamacpp.d.ts +1 -0
  727. package/dist/internal/providers/builtin/lmstudio.d.ts +1 -0
  728. package/dist/internal/providers/builtin/mistral.d.ts +2 -0
  729. package/dist/internal/providers/builtin/ollama.d.ts +17 -0
  730. package/dist/internal/providers/builtin/openai-chatgpt.d.ts +14 -0
  731. package/dist/internal/providers/builtin/openai-compatible.d.ts +1 -0
  732. package/dist/internal/providers/builtin/openai.d.ts +2 -0
  733. package/dist/internal/providers/builtin/openrouter.d.ts +2 -0
  734. package/dist/internal/providers/builtin/perplexity.d.ts +5 -0
  735. package/dist/internal/providers/builtin/together.d.ts +2 -0
  736. package/dist/internal/providers/builtin/vertex.d.ts +27 -0
  737. package/dist/internal/providers/builtin/xai.d.ts +2 -0
  738. package/dist/internal/providers/catalog-loader.d.ts +55 -0
  739. package/dist/internal/providers/catalog-schema.d.ts +202 -0
  740. package/dist/internal/providers/catalog-source-models-dev.d.ts +80 -0
  741. package/dist/internal/providers/discovery.d.ts +14 -0
  742. package/dist/internal/providers/index.d.ts +8 -0
  743. package/dist/internal/providers/register-plugin-providers.d.ts +22 -0
  744. package/dist/internal/providers/registry.d.ts +13 -0
  745. package/dist/internal/providers/types.d.ts +11 -0
  746. package/dist/internal/retry/circuit-breaker.d.ts +26 -0
  747. package/dist/internal/retry/with-retry.d.ts +40 -0
  748. package/dist/internal/runtime/compat/compat-config-file.d.ts +31 -0
  749. package/dist/internal/runtime/compat/foreign-config-sources.d.ts +139 -0
  750. package/dist/internal/runtime/compression/compression-attempt.d.ts +24 -0
  751. package/dist/internal/runtime/compression/compression-config.d.ts +33 -0
  752. package/dist/internal/runtime/compression/compression-decision.d.ts +10 -0
  753. package/dist/internal/runtime/compression/compression-helpers.d.ts +18 -0
  754. package/dist/internal/runtime/compression/compression-model-registry.d.ts +41 -0
  755. package/dist/internal/runtime/compression/compression-summarizer.d.ts +34 -0
  756. package/dist/internal/runtime/config/default-model.d.ts +1 -0
  757. package/dist/internal/runtime/config/providers-manager.d.ts +1 -0
  758. package/dist/internal/runtime/config/workspace-dir.d.ts +9 -0
  759. package/dist/internal/runtime/context/context-aggregator.d.ts +26 -0
  760. package/dist/internal/runtime/context/context-discovery-runner.d.ts +80 -0
  761. package/dist/internal/runtime/context/context-discovery.d.ts +79 -0
  762. package/dist/internal/runtime/context/context-frontmatter.d.ts +16 -0
  763. package/dist/internal/runtime/context/context-glob.d.ts +1 -0
  764. package/dist/internal/runtime/context/context-import-resolver.d.ts +41 -0
  765. package/dist/internal/runtime/context/context-loaders.d.ts +42 -0
  766. package/dist/internal/runtime/context/context-manager.d.ts +28 -0
  767. package/dist/internal/runtime/context/context-mdc-parser.d.ts +25 -0
  768. package/dist/internal/runtime/context/context-rules-frontmatter.d.ts +99 -0
  769. package/dist/internal/runtime/context/context-yaml-lite.d.ts +26 -0
  770. package/dist/internal/runtime/context/project-instructions.d.ts +66 -0
  771. package/dist/internal/runtime/context/yaml-frontmatter.d.ts +20 -0
  772. package/dist/internal/runtime/fixtures/fixture-events.d.ts +12 -0
  773. package/dist/internal/runtime/fixtures/fixture-mode.d.ts +24 -0
  774. package/dist/internal/runtime/fixtures/fixture-responder.d.ts +1 -0
  775. package/dist/internal/runtime/fixtures/fixture-run-base.d.ts +96 -0
  776. package/dist/internal/runtime/fixtures/fixture-scripts.d.ts +21 -0
  777. package/dist/internal/runtime/fixtures/types.d.ts +1 -0
  778. package/dist/internal/runtime/hooks/hooks-executor.d.ts +49 -0
  779. package/dist/internal/runtime/hooks/hooks-source.d.ts +35 -0
  780. package/dist/internal/runtime/lifecycle/context-budget-event.d.ts +25 -0
  781. package/dist/internal/runtime/lifecycle/env-policy.d.ts +29 -0
  782. package/dist/internal/runtime/lifecycle/fork-agent.d.ts +15 -0
  783. package/dist/internal/runtime/lifecycle/goal-marker.d.ts +13 -0
  784. package/dist/internal/runtime/lifecycle/post-run-lifecycle.d.ts +16 -0
  785. package/dist/internal/runtime/lifecycle/run-to-completion.d.ts +22 -0
  786. package/dist/internal/runtime/lifecycle/run-until.d.ts +21 -0
  787. package/dist/internal/runtime/lifecycle/spawn-collect.d.ts +8 -0
  788. package/dist/internal/runtime/lifecycle/stream-to-completion.d.ts +31 -0
  789. package/dist/internal/runtime/lifecycle/wrap-completion-check-run.d.ts +30 -0
  790. package/dist/internal/runtime/memory-glue/memory-provider.d.ts +11 -0
  791. package/dist/internal/runtime/memory-glue/memory-store.d.ts +4 -0
  792. package/dist/internal/runtime/memory-glue/select-facts.d.ts +63 -0
  793. package/dist/internal/runtime/model-selection.d.ts +14 -0
  794. package/dist/internal/runtime/plugin-loader/plugin-bundles.d.ts +22 -0
  795. package/dist/internal/runtime/plugin-loader/plugin-frontmatter.d.ts +17 -0
  796. package/dist/internal/runtime/plugin-loader/plugins-manager.d.ts +1 -0
  797. package/dist/internal/runtime/processors/run-processors.d.ts +10 -0
  798. package/dist/internal/runtime/processors/tripwire-run.d.ts +16 -0
  799. package/dist/internal/runtime/processors/wrap-output-run.d.ts +18 -0
  800. package/dist/internal/runtime/registry/agent-factory-registry.d.ts +19 -0
  801. package/dist/internal/runtime/registry/agent-registry-contract.d.ts +31 -0
  802. package/dist/internal/runtime/registry/agent-registry-store.d.ts +75 -0
  803. package/dist/internal/runtime/registry/agent-registry.d.ts +6 -0
  804. package/dist/internal/runtime/registry/live-agent-registry.d.ts +132 -0
  805. package/dist/internal/runtime/registry/run-registry.d.ts +4 -0
  806. package/dist/internal/runtime/skills/discover-skills.d.ts +103 -0
  807. package/dist/internal/runtime/skills/skill-frontmatter.d.ts +6 -0
  808. package/dist/internal/runtime/skills/skills-block.d.ts +18 -0
  809. package/dist/internal/runtime/skills/skills-manager.d.ts +1 -0
  810. package/dist/internal/runtime/skills/subagent-tool-scope.d.ts +25 -0
  811. package/dist/internal/runtime/skills/subagents-loader.d.ts +1 -0
  812. package/dist/internal/runtime/system-prompt/escape.d.ts +1 -0
  813. package/dist/internal/runtime/system-prompt/local-assembly.d.ts +2 -0
  814. package/dist/internal/runtime/system-prompt/native-reasoning.d.ts +25 -0
  815. package/dist/internal/runtime/system-prompt/pipeline.d.ts +1 -0
  816. package/dist/internal/runtime/system-prompt/safe-call.d.ts +1 -0
  817. package/dist/internal/runtime/system-prompt/sources/active-memory-provider.d.ts +1 -0
  818. package/dist/internal/runtime/system-prompt/sources/base-provider.d.ts +1 -0
  819. package/dist/internal/runtime/system-prompt/sources/context-provider.d.ts +1 -0
  820. package/dist/internal/runtime/system-prompt/sources/memory-provider.d.ts +6 -0
  821. package/dist/internal/runtime/system-prompt/sources/reasoning-provider.d.ts +1 -0
  822. package/dist/internal/runtime/system-prompt/sources/skills-provider.d.ts +1 -0
  823. package/dist/internal/runtime/system-prompt/system-prompt.d.ts +1 -0
  824. package/dist/internal/runtime/system-prompt/types.d.ts +5 -0
  825. package/dist/internal/runtime/tools/shell-tool.d.ts +7 -0
  826. package/dist/internal/runtime/validation/validate-agent-options.d.ts +1 -0
  827. package/dist/internal/runtime/validation/validate-response.d.ts +18 -0
  828. package/dist/internal/scorers/levenshtein.d.ts +11 -0
  829. package/dist/internal/scorers/llm-judge.d.ts +41 -0
  830. package/dist/internal/security/index.cjs +52 -0
  831. package/dist/internal/security/index.cjs.map +1 -0
  832. package/dist/internal/security/index.d.cts +19 -0
  833. package/dist/internal/security/index.d.ts +19 -0
  834. package/dist/internal/security/index.js +7 -0
  835. package/dist/internal/security/index.js.map +1 -0
  836. package/dist/internal/security/path-containment.d.cts +24 -0
  837. package/dist/internal/security/path-containment.d.ts +24 -0
  838. package/dist/internal/security/path-guard.d.cts +166 -0
  839. package/dist/internal/security/path-guard.d.ts +166 -0
  840. package/dist/internal/security/redact.d.cts +74 -0
  841. package/dist/internal/security/redact.d.ts +74 -0
  842. package/dist/internal/security/test-reset.d.cts +10 -0
  843. package/dist/internal/security/test-reset.d.ts +10 -0
  844. package/dist/internal/session/agent-session-store.d.ts +65 -0
  845. package/dist/internal/session/agent-session.d.ts +48 -0
  846. package/dist/internal/session/compact-session.d.ts +97 -0
  847. package/dist/internal/session/index.d.ts +7 -0
  848. package/dist/internal/session/inject-session.d.ts +15 -0
  849. package/dist/internal/session/session-cache.d.ts +31 -0
  850. package/dist/internal/session/types.d.ts +46 -0
  851. package/dist/internal/structured-output-helpers.d.ts +54 -0
  852. package/dist/internal/task/registry.d.ts +60 -0
  853. package/dist/internal/task/ring-buffer.d.ts +10 -0
  854. package/dist/internal/task/store.d.ts +145 -0
  855. package/dist/internal/task/subscribe.d.ts +15 -0
  856. package/dist/internal/task/task-id.d.ts +22 -0
  857. package/dist/internal/task/task-run-event-bridge.d.ts +10 -0
  858. package/dist/internal/task/telemetry.d.ts +27 -0
  859. package/dist/internal/telemetry/adapter-registry.d.ts +12 -0
  860. package/dist/internal/telemetry/adapters/arize.d.ts +2 -0
  861. package/dist/internal/telemetry/adapters/braintrust.d.ts +7 -0
  862. package/dist/internal/telemetry/adapters/datadog.d.ts +2 -0
  863. package/dist/internal/telemetry/adapters/langfuse.d.ts +2 -0
  864. package/dist/internal/telemetry/adapters/langsmith.d.ts +7 -0
  865. package/dist/internal/telemetry/adapters/posthog.d.ts +2 -0
  866. package/dist/internal/telemetry/adapters/sentry.d.ts +2 -0
  867. package/dist/internal/telemetry/safe-require.d.ts +1 -0
  868. package/dist/internal/telemetry/span-names.d.ts +10 -0
  869. package/dist/internal/telemetry/tracer-loader.d.ts +20 -0
  870. package/dist/internal/telemetry/tracer.d.ts +57 -0
  871. package/dist/internal/tool-dispatch/repair-middleware.d.ts +34 -0
  872. package/dist/internal/tool-dispatch/strip-think.d.ts +22 -0
  873. package/dist/internal/tool-registry/personality-filter.d.ts +37 -0
  874. package/dist/internal/workflow/ctx.d.ts +24 -0
  875. package/dist/internal/workflow/error-shape.d.ts +7 -0
  876. package/dist/internal/workflow/event-stream.d.ts +13 -0
  877. package/dist/internal/workflow/evented-executor.d.ts +42 -0
  878. package/dist/internal/workflow/executor-helpers.d.ts +30 -0
  879. package/dist/internal/workflow/executor.d.ts +16 -0
  880. package/dist/internal/workflow/retry-policy.d.ts +14 -0
  881. package/dist/internal/workflow/run-id.d.ts +9 -0
  882. package/dist/internal/workflow/scheduler.d.ts +23 -0
  883. package/dist/internal/workflow/single-flight.d.ts +18 -0
  884. package/dist/internal/workflow/snapshot-store.d.ts +23 -0
  885. package/dist/internal/workflow/step-agent.d.ts +12 -0
  886. package/dist/internal/workflow/step-branch.d.ts +10 -0
  887. package/dist/internal/workflow/step-dowhile.d.ts +8 -0
  888. package/dist/internal/workflow/step-execution.d.ts +25 -0
  889. package/dist/internal/workflow/step-fn.d.ts +10 -0
  890. package/dist/internal/workflow/step-foreach.d.ts +11 -0
  891. package/dist/internal/workflow/step-parallel.d.ts +17 -0
  892. package/dist/internal/workflow/step-sleep.d.ts +7 -0
  893. package/dist/internal/workflow/telemetry.d.ts +21 -0
  894. package/dist/internal/zod-to-json-schema.d.ts +11 -0
  895. package/dist/job-queue.d.ts +68 -0
  896. package/dist/judge-call-46M2E5FA.cjs +22 -0
  897. package/dist/judge-call-46M2E5FA.cjs.map +1 -0
  898. package/dist/judge-call-FGUNNWEI.js +5 -0
  899. package/dist/judge-call-FGUNNWEI.js.map +1 -0
  900. package/dist/mcp-auth.cjs +314 -0
  901. package/dist/mcp-auth.cjs.map +1 -0
  902. package/dist/mcp-auth.d.cts +19 -0
  903. package/dist/mcp-auth.d.ts +19 -0
  904. package/dist/mcp-auth.js +307 -0
  905. package/dist/mcp-auth.js.map +1 -0
  906. package/dist/messages.cjs +24 -0
  907. package/dist/messages.cjs.map +1 -0
  908. package/dist/messages.d.cts +33 -0
  909. package/dist/messages.d.ts +33 -0
  910. package/dist/messages.js +20 -0
  911. package/dist/messages.js.map +1 -0
  912. package/dist/models.cjs +295 -0
  913. package/dist/models.cjs.map +1 -0
  914. package/dist/models.d.cts +18 -0
  915. package/dist/models.d.ts +18 -0
  916. package/dist/models.js +286 -0
  917. package/dist/models.js.map +1 -0
  918. package/dist/oauth-transaction-store-5RIR6D5C.js +5 -0
  919. package/dist/oauth-transaction-store-5RIR6D5C.js.map +1 -0
  920. package/dist/oauth-transaction-store-SXIE57OD.cjs +38 -0
  921. package/dist/oauth-transaction-store-SXIE57OD.cjs.map +1 -0
  922. package/dist/path-safety.cjs +39 -0
  923. package/dist/path-safety.cjs.map +1 -0
  924. package/dist/path-safety.d.cts +16 -0
  925. package/dist/path-safety.d.ts +16 -0
  926. package/dist/path-safety.js +6 -0
  927. package/dist/path-safety.js.map +1 -0
  928. package/dist/permission-engine.d.ts +134 -0
  929. package/dist/persistence.cjs +197 -0
  930. package/dist/persistence.cjs.map +1 -0
  931. package/dist/persistence.d.cts +40 -0
  932. package/dist/persistence.d.ts +40 -0
  933. package/dist/persistence.js +100 -0
  934. package/dist/persistence.js.map +1 -0
  935. package/dist/project.cjs +45 -0
  936. package/dist/project.cjs.map +1 -0
  937. package/dist/project.d.cts +14 -0
  938. package/dist/project.d.ts +14 -0
  939. package/dist/project.js +42 -0
  940. package/dist/project.js.map +1 -0
  941. package/dist/provider-catalog.json +1295 -0
  942. package/dist/providers.cjs +23 -0
  943. package/dist/providers.cjs.map +1 -0
  944. package/dist/providers.d.cts +31 -0
  945. package/dist/providers.d.ts +31 -0
  946. package/dist/providers.js +10 -0
  947. package/dist/providers.js.map +1 -0
  948. package/dist/registry-BZQFYRTL.cjs +46 -0
  949. package/dist/registry-BZQFYRTL.cjs.map +1 -0
  950. package/dist/registry-DMWCJKRF.js +9 -0
  951. package/dist/registry-DMWCJKRF.js.map +1 -0
  952. package/dist/retry.cjs +14 -0
  953. package/dist/retry.cjs.map +1 -0
  954. package/dist/retry.d.cts +35 -0
  955. package/dist/retry.d.ts +35 -0
  956. package/dist/retry.js +5 -0
  957. package/dist/retry.js.map +1 -0
  958. package/dist/run-CTAdRU3U.d.cts +1813 -0
  959. package/dist/run-CTAdRU3U.d.ts +1813 -0
  960. package/dist/run-to-completion-DRO77625.js +3 -0
  961. package/dist/run-to-completion-DRO77625.js.map +1 -0
  962. package/dist/run-to-completion-X4OWM673.cjs +48 -0
  963. package/dist/run-to-completion-X4OWM673.cjs.map +1 -0
  964. package/dist/run-until-6D6TQ4JN.js +146 -0
  965. package/dist/run-until-6D6TQ4JN.js.map +1 -0
  966. package/dist/run-until-DG2KXWB2.cjs +149 -0
  967. package/dist/run-until-DG2KXWB2.cjs.map +1 -0
  968. package/dist/sandbox/bwrap.d.cts +112 -0
  969. package/dist/sandbox/bwrap.d.ts +112 -0
  970. package/dist/sandbox/index.cjs +495 -0
  971. package/dist/sandbox/index.cjs.map +1 -0
  972. package/dist/sandbox/index.d.cts +13 -0
  973. package/dist/sandbox/index.d.ts +13 -0
  974. package/dist/sandbox/index.js +451 -0
  975. package/dist/sandbox/index.js.map +1 -0
  976. package/dist/sandbox/linux-sandbox.d.cts +218 -0
  977. package/dist/sandbox/linux-sandbox.d.ts +218 -0
  978. package/dist/sandbox/local-sandbox.d.cts +66 -0
  979. package/dist/sandbox/local-sandbox.d.ts +66 -0
  980. package/dist/sandbox/provision.d.cts +60 -0
  981. package/dist/sandbox/provision.d.ts +60 -0
  982. package/dist/sandbox/seccomp.d.cts +16 -0
  983. package/dist/sandbox/seccomp.d.ts +16 -0
  984. package/dist/sandbox/shell-escape.d.cts +8 -0
  985. package/dist/sandbox/shell-escape.d.ts +8 -0
  986. package/dist/sandbox/types.d.cts +143 -0
  987. package/dist/sandbox/types.d.ts +143 -0
  988. package/dist/sanitize/coerce.d.cts +1 -0
  989. package/dist/sanitize/coerce.d.ts +1 -0
  990. package/dist/sanitize/index.cjs +12 -0
  991. package/dist/sanitize/index.cjs.map +1 -0
  992. package/dist/sanitize/index.d.cts +9 -0
  993. package/dist/sanitize/index.d.ts +9 -0
  994. package/dist/sanitize/index.js +3 -0
  995. package/dist/sanitize/index.js.map +1 -0
  996. package/dist/sanitize/sanitize-tool-input.d.cts +11 -0
  997. package/dist/sanitize/sanitize-tool-input.d.ts +11 -0
  998. package/dist/sanitize/types.d.cts +52 -0
  999. package/dist/sanitize/types.d.ts +52 -0
  1000. package/dist/scorers.d.ts +181 -0
  1001. package/dist/sdk-agent-BOiKqOgL.d.cts +940 -0
  1002. package/dist/sdk-agent-D4a_BR_6.d.ts +940 -0
  1003. package/dist/server/auth/errors.d.cts +54 -0
  1004. package/dist/server/auth/errors.d.ts +54 -0
  1005. package/dist/server/auth/index.cjs +210 -0
  1006. package/dist/server/auth/index.cjs.map +1 -0
  1007. package/dist/server/auth/index.d.cts +244 -0
  1008. package/dist/server/auth/index.d.ts +244 -0
  1009. package/dist/server/auth/index.js +189 -0
  1010. package/dist/server/auth/index.js.map +1 -0
  1011. package/dist/server/auth/oauth-transaction-store.d.cts +52 -0
  1012. package/dist/server/auth/oauth-transaction-store.d.ts +52 -0
  1013. package/dist/server/auth/orchestrator.d.cts +15 -0
  1014. package/dist/server/auth/orchestrator.d.ts +15 -0
  1015. package/dist/server/auth/types.d.cts +109 -0
  1016. package/dist/server/auth/types.d.ts +109 -0
  1017. package/dist/server/auth/validate-return-to.d.cts +27 -0
  1018. package/dist/server/auth/validate-return-to.d.ts +27 -0
  1019. package/dist/server/errors-envelope.cjs +101 -0
  1020. package/dist/server/errors-envelope.cjs.map +1 -0
  1021. package/dist/server/errors-envelope.d.cts +67 -0
  1022. package/dist/server/errors-envelope.d.ts +67 -0
  1023. package/dist/server/errors-envelope.js +95 -0
  1024. package/dist/server/errors-envelope.js.map +1 -0
  1025. package/dist/session-transcript-LGHSNVY5.cjs +62 -0
  1026. package/dist/session-transcript-LGHSNVY5.cjs.map +1 -0
  1027. package/dist/session-transcript-VTBTCGQX.js +5 -0
  1028. package/dist/session-transcript-VTBTCGQX.js.map +1 -0
  1029. package/dist/skills.cjs +25 -0
  1030. package/dist/skills.cjs.map +1 -0
  1031. package/dist/skills.d.cts +19 -0
  1032. package/dist/skills.d.ts +19 -0
  1033. package/dist/skills.js +8 -0
  1034. package/dist/skills.js.map +1 -0
  1035. package/dist/stream-object-HBFMIZLD.js +7 -0
  1036. package/dist/stream-object-HBFMIZLD.js.map +1 -0
  1037. package/dist/stream-object-QSKHISDJ.cjs +20 -0
  1038. package/dist/stream-object-QSKHISDJ.cjs.map +1 -0
  1039. package/dist/stream-object.d.ts +73 -0
  1040. package/dist/stream-to-completion-QV5HCL3J.js +30 -0
  1041. package/dist/stream-to-completion-QV5HCL3J.js.map +1 -0
  1042. package/dist/stream-to-completion-SRISU5AB.cjs +32 -0
  1043. package/dist/stream-to-completion-SRISU5AB.cjs.map +1 -0
  1044. package/dist/subagents-loader-DOBTTICM.js +7 -0
  1045. package/dist/subagents-loader-DOBTTICM.js.map +1 -0
  1046. package/dist/subagents-loader-GEHYCMEX.cjs +16 -0
  1047. package/dist/subagents-loader-GEHYCMEX.cjs.map +1 -0
  1048. package/dist/subagents-loader.cjs +35 -0
  1049. package/dist/subagents-loader.cjs.map +1 -0
  1050. package/dist/subagents-loader.d.cts +90 -0
  1051. package/dist/subagents-loader.d.ts +90 -0
  1052. package/dist/subagents-loader.js +32 -0
  1053. package/dist/subagents-loader.js.map +1 -0
  1054. package/dist/subagents.cjs +18 -0
  1055. package/dist/subagents.cjs.map +1 -0
  1056. package/dist/subagents.d.cts +14 -0
  1057. package/dist/subagents.d.ts +14 -0
  1058. package/dist/subagents.js +15 -0
  1059. package/dist/subagents.js.map +1 -0
  1060. package/dist/subscription/define-subscription.d.cts +71 -0
  1061. package/dist/subscription/define-subscription.d.ts +71 -0
  1062. package/dist/subscription/index.cjs +408 -0
  1063. package/dist/subscription/index.cjs.map +1 -0
  1064. package/dist/subscription/index.d.cts +20 -0
  1065. package/dist/subscription/index.d.ts +20 -0
  1066. package/dist/subscription/index.js +400 -0
  1067. package/dist/subscription/index.js.map +1 -0
  1068. package/dist/subscription/internal/backpressure.d.cts +24 -0
  1069. package/dist/subscription/internal/backpressure.d.ts +24 -0
  1070. package/dist/subscription/internal/server-integration.d.cts +22 -0
  1071. package/dist/subscription/internal/server-integration.d.ts +22 -0
  1072. package/dist/subscription/internal/sse-encoder.d.cts +13 -0
  1073. package/dist/subscription/internal/sse-encoder.d.ts +13 -0
  1074. package/dist/subscription/internal/sse-parser.d.cts +15 -0
  1075. package/dist/subscription/internal/sse-parser.d.ts +15 -0
  1076. package/dist/subscription/internal/subscription-runtime.d.cts +21 -0
  1077. package/dist/subscription/internal/subscription-runtime.d.ts +21 -0
  1078. package/dist/subscription/internal/types.d.cts +11 -0
  1079. package/dist/subscription/internal/types.d.ts +11 -0
  1080. package/dist/subscription/internal/ws-adapter-node.d.cts +10 -0
  1081. package/dist/subscription/internal/ws-adapter-node.d.ts +10 -0
  1082. package/dist/subscription/theokit-subscribe.d.cts +54 -0
  1083. package/dist/subscription/theokit-subscribe.d.ts +54 -0
  1084. package/dist/subscription/types.d.cts +158 -0
  1085. package/dist/subscription/types.d.ts +158 -0
  1086. package/dist/task-errors.d.ts +58 -0
  1087. package/dist/task-store.cjs +23 -0
  1088. package/dist/task-store.cjs.map +1 -0
  1089. package/dist/task-store.d.cts +10 -0
  1090. package/dist/task-store.d.ts +10 -0
  1091. package/dist/task-store.js +6 -0
  1092. package/dist/task-store.js.map +1 -0
  1093. package/dist/tool-error.d.ts +30 -0
  1094. package/dist/types/agent-prims.d.ts +137 -0
  1095. package/dist/types/agent.d.ts +947 -0
  1096. package/dist/types/batch.d.ts +121 -0
  1097. package/dist/types/budget-tracker.d.ts +80 -0
  1098. package/dist/types/budget.d.ts +97 -0
  1099. package/dist/types/content-blocks.d.ts +50 -0
  1100. package/dist/types/context.d.ts +96 -0
  1101. package/dist/types/conversation.d.ts +127 -0
  1102. package/dist/types/cron.d.ts +172 -0
  1103. package/dist/types/env-policy.d.ts +21 -0
  1104. package/dist/types/eval.d.ts +255 -0
  1105. package/dist/types/fork.d.ts +52 -0
  1106. package/dist/types/goal-events.d.ts +144 -0
  1107. package/dist/types/index.d.ts +19 -0
  1108. package/dist/types/mcp.d.ts +90 -0
  1109. package/dist/types/memory-adapter.d.ts +189 -0
  1110. package/dist/types/memory-provider.d.ts +206 -0
  1111. package/dist/types/messages-base.d.ts +24 -0
  1112. package/dist/types/messages.d.ts +161 -0
  1113. package/dist/types/plugin.d.ts +308 -0
  1114. package/dist/types/processors.d.ts +87 -0
  1115. package/dist/types/provider-profile.d.ts +116 -0
  1116. package/dist/types/providers.d.ts +116 -0
  1117. package/dist/types/run-events.d.ts +197 -0
  1118. package/dist/types/run.d.ts +671 -0
  1119. package/dist/types/sdk-agent.d.ts +342 -0
  1120. package/dist/types/session-message.d.ts +62 -0
  1121. package/dist/types/session-record.d.ts +103 -0
  1122. package/dist/types/session-store.d.ts +104 -0
  1123. package/dist/types/task.d.ts +146 -0
  1124. package/dist/types/theokit.d.ts +73 -0
  1125. package/dist/types/trajectory.d.ts +52 -0
  1126. package/dist/types/updates.d.ts +184 -0
  1127. package/dist/types/usage.d.ts +64 -0
  1128. package/dist/types/workflow.d.ts +426 -0
  1129. package/dist/workflow-as-tool.d.ts +66 -0
  1130. package/dist/workflow-errors.d.ts +164 -0
  1131. package/dist/workflow.cjs +100 -0
  1132. package/dist/workflow.cjs.map +1 -0
  1133. package/dist/workflow.d.cts +911 -0
  1134. package/dist/workflow.d.ts +911 -0
  1135. package/dist/workflow.js +11 -0
  1136. package/dist/workflow.js.map +1 -0
  1137. package/docs/adr/README.md +2604 -0
  1138. package/docs/error-codes.md +253 -0
  1139. package/docs/harness-capability-map.md +1435 -0
  1140. package/docs/memory-decisions.md +265 -0
  1141. package/package.json +455 -0
@@ -0,0 +1,107 @@
1
+ import { TheokitAgentError } from './chunk-ALUN2B4W.js';
2
+ import { existsSync, openSync, closeSync, rmSync, readFileSync, writeSync, fchmodSync } from 'fs';
3
+ import { hostname } from 'os';
4
+
5
+ var SessionBusyError = class extends TheokitAgentError {
6
+ constructor(sessionPath) {
7
+ super(
8
+ `another process is already writing this session: ${sessionPath}. Fork it to a new id instead of appending \u2014 two writers interleave lines into a sequence that parses but is not what either process wrote.`,
9
+ { code: "session_busy", isRetryable: false }
10
+ );
11
+ this.sessionPath = sessionPath;
12
+ }
13
+ sessionPath;
14
+ name = "SessionBusyError";
15
+ };
16
+ var HEARTBEAT_WINDOW_MS = 3e4;
17
+ function ownerNow() {
18
+ return { pid: process.pid, hostname: hostname(), mtime: Date.now() };
19
+ }
20
+ function writeOwner(lockPath, owner) {
21
+ const fd = openSync(lockPath, "w", 384);
22
+ try {
23
+ writeSync(fd, JSON.stringify(owner));
24
+ fchmodSync(fd, 384);
25
+ } finally {
26
+ closeSync(fd);
27
+ }
28
+ }
29
+ function readOwner(lockPath) {
30
+ let raw;
31
+ try {
32
+ raw = readFileSync(lockPath, "utf8");
33
+ } catch (err) {
34
+ const code = err.code;
35
+ if (code === "ENOENT") return void 0;
36
+ if (code === "EISDIR") return void 0;
37
+ throw new SessionBusyError(lockPath.replace(/\.writer\.lock$/, ""));
38
+ }
39
+ try {
40
+ const d = JSON.parse(raw);
41
+ if (typeof d.pid !== "number" || typeof d.hostname !== "string" || typeof d.mtime !== "number") {
42
+ return void 0;
43
+ }
44
+ return { pid: d.pid, hostname: d.hostname, mtime: d.mtime };
45
+ } catch {
46
+ return void 0;
47
+ }
48
+ }
49
+ function processAlive(pid) {
50
+ try {
51
+ process.kill(pid, 0);
52
+ return true;
53
+ } catch (err) {
54
+ return err.code === "EPERM";
55
+ }
56
+ }
57
+ function reclaimable(owner) {
58
+ if (owner === void 0) return true;
59
+ if (owner.hostname !== hostname()) {
60
+ return Date.now() - owner.mtime > HEARTBEAT_WINDOW_MS;
61
+ }
62
+ return !processAlive(owner.pid);
63
+ }
64
+ function sessionHasWriter(sessionPath) {
65
+ const lockPath = `${sessionPath}.writer.lock`;
66
+ if (!existsSync(lockPath)) return false;
67
+ try {
68
+ return !reclaimable(readOwner(lockPath));
69
+ } catch {
70
+ return true;
71
+ }
72
+ }
73
+ async function acquireSessionWriter(sessionPath) {
74
+ const lockPath = `${sessionPath}.writer.lock`;
75
+ const mine = ownerNow();
76
+ let fd;
77
+ try {
78
+ fd = openSync(lockPath, "wx", 384);
79
+ } catch (err) {
80
+ if (err.code !== "EEXIST") throw err;
81
+ if (!reclaimable(readOwner(lockPath))) throw new SessionBusyError(sessionPath);
82
+ writeOwner(lockPath, mine);
83
+ return createLease(sessionPath, lockPath);
84
+ }
85
+ closeSync(fd);
86
+ writeOwner(lockPath, mine);
87
+ return createLease(sessionPath, lockPath);
88
+ }
89
+ function createLease(sessionPath, lockPath) {
90
+ let released = false;
91
+ return {
92
+ sessionPath,
93
+ release: async () => {
94
+ if (released) return;
95
+ released = true;
96
+ rmSync(lockPath, { force: true });
97
+ },
98
+ renew: () => {
99
+ if (released) return;
100
+ writeOwner(lockPath, ownerNow());
101
+ }
102
+ };
103
+ }
104
+
105
+ export { SessionBusyError, acquireSessionWriter, sessionHasWriter };
106
+ //# sourceMappingURL=chunk-VE6DFSKU.js.map
107
+ //# sourceMappingURL=chunk-VE6DFSKU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/persistence/session-writer.ts"],"names":[],"mappings":"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","file":"chunk-VE6DFSKU.js","sourcesContent":["/**\n * M81 — single-writer lease for a session transcript.\n *\n * ## The problem\n *\n * Nothing stops two processes appending to the same JSONL transcript. The concrete case: `exec\n * resume --last` can write into the TUI's live session. Two interleaved appends to an append-only\n * file produce lines that are each individually valid and whose SEQUENCE is fiction — and nothing\n * reports it, because every line parses.\n *\n * ## Why an exclusive lockfile rather than `withFileLock`\n *\n * The plan's ADR D2 said to compose `withFileLock`, and that was the right instinct — do not build a\n * second lock mechanism. It turned out not to fit the SHAPE: `withFileLock(path, fn)` is\n * scope-based — it holds the lock for the duration of a callback. A session lease is **held across\n * turns**, for as long as the process owns the session, with an explicit `release()`. Wrapping the\n * whole session lifetime in a callback would invert control of the entire agent loop.\n *\n * So this uses the same underlying primitive `withFileLock` uses (an exclusive-create lockfile,\n * `wx`) with lease semantics on top. That keeps the mechanism single — the file-existence lock —\n * while giving it the lifetime the caller needs. The deviation from D2 is recorded here because the\n * plan's rationale (no second mechanism) still holds; only its shape assumption did not.\n *\n * ## Fail fast, never wait\n *\n * A second writer that WAITED would block `exec` behind a TUI session that can last hours. The typed\n * error lets the caller choose: fork to a new id, or give up with a real diagnosis.\n *\n * @internal\n */\n\nimport {\n closeSync,\n existsSync,\n fchmodSync,\n openSync,\n readFileSync,\n rmSync,\n writeSync,\n} from \"node:fs\";\nimport { hostname } from \"node:os\";\n\nimport { TheokitAgentError } from \"../../errors.js\";\n\n/**\n * M81 — another process already holds the writer lease for this session.\n *\n * Carries `sessionPath` because knowing WHICH session is busy is what lets the caller decide between\n * forking and waiting for the user to close the TUI (`rules/error-handling.md § 2` — context enough\n * to act on).\n */\nexport class SessionBusyError extends TheokitAgentError {\n override readonly name = \"SessionBusyError\";\n\n constructor(readonly sessionPath: string) {\n super(\n `another process is already writing this session: ${sessionPath}. ` +\n \"Fork it to a new id instead of appending — two writers interleave lines into a sequence \" +\n \"that parses but is not what either process wrote.\",\n { code: \"session_busy\", isRetryable: false },\n );\n }\n}\n\n/** A held writer lease. `release()` is idempotent. */\nexport interface SessionWriterLease {\n readonly sessionPath: string;\n release(): Promise<void>;\n /**\n * Re-stamp the ownership record, so a **live** owner never crosses the staleness window.\n *\n * Idempotent and cheap: one `write` of a ~80-byte JSON. Call it on the path that already writes to\n * the session — appending a turn — and the cross-host window stops being a lie about liveness.\n *\n * A no-op after `release()`: renewing a lease you no longer hold would re-create the lock file and\n * hand this process ownership it gave up. That is the one direction of this API that could\n * *create* the double-writer it exists to prevent.\n */\n renew(): void;\n}\n\n/**\n * Staleness window **between machines** — and only between them.\n *\n * 30 s from ACQUISITION. Calling it a \"heartbeat\" would be a lie: the record is written once, when\n * the lease is taken, and is **not** renewed on every write. An earlier version of this comment\n * claimed \"the owner touches the file on every acquisition, so a live process never crosses the\n * window\" — false twice over, and adversarial review measured both.\n *\n * On the **same host** this does not matter: `reclaimable` decides by `pid`, which is exact, and age\n * never enters the calculation. Across hosts it does matter, and it is a real limit: a **live**\n * remote owner loses the lease after 30 s, because there is no way to ask another machine whether\n * its process still exists.\n *\n * **The residue is now closable by the caller** (`agent-builder#118`). `SessionWriterLease.renew()`\n * re-stamps the record; calling it on the path that already writes to the session — appending a turn\n * — keeps a live owner from ever crossing the window. It costs one `write` of ~80 bytes on a file\n * that was previously written once per session.\n *\n * It is `renew()` and not an internal timer on purpose. A timer inside the lease would keep the event\n * loop alive (or need `unref` plus its own teardown), and it would renew a lease belonging to a\n * process that is hung rather than working — which is precisely the state the window exists to\n * detect. Tying the renewal to a real write means the record tracks **progress**, not mere existence.\n */\nexport const HEARTBEAT_WINDOW_MS = 30_000;\n\n/** Who holds the lock. Written as JSON into `.writer.lock`. */\ninterface LockOwner {\n pid: number;\n hostname: string;\n mtime: number;\n}\n\n/** The ownership record for THIS process, stamped now. One place, so acquire and renew cannot drift. */\nfunction ownerNow(): LockOwner {\n return { pid: process.pid, hostname: hostname(), mtime: Date.now() };\n}\n\n/**\n * Writes the owner with user-only permissions.\n *\n * `0600` because the lock is an assertion of OWNERSHIP: with the `0664` the usual umask produces,\n * another user in the same group can overwrite the file and forge ownership of the session — and\n * from then on it is the legitimate owner who starts receiving `SessionBusyError`. The content\n * (`pid`, `hostname`) is low-sensitivity; what the permission protects is the signal's\n * **integrity**, not its secrecy.\n */\nfunction writeOwner(lockPath: string, owner: LockOwner): void {\n const fd = openSync(lockPath, \"w\", 0o600);\n try {\n writeSync(fd, JSON.stringify(owner));\n // `open`'s `mode` only applies on CREATION. A `.writer.lock` inherited from an earlier version —\n // or left behind by a process with a different umask — would stay `0664` after being reclaimed,\n // and the forgery window the mode closes for new locks would remain open for old ones.\n fchmodSync(fd, 0o600);\n } finally {\n closeSync(fd);\n }\n}\n\n/** Reads the lock's owner. `undefined` when the file vanished or the content is unreadable. */\nfunction readOwner(lockPath: string): LockOwner | undefined {\n let raw: string;\n try {\n raw = readFileSync(lockPath, \"utf8\");\n } catch (err) {\n const code = (err as NodeJS.ErrnoException).code;\n // `ENOENT` — vanished between the `EEXIST` and the read. Benign race: the lock is gone.\n if (code === \"ENOENT\") return undefined;\n // `EISDIR` — the lock path is a DIRECTORY. No process in this library creates one; it is debris\n // from something else, and it will never become a readable lock. Failing closed here would lock\n // the session out forever. Treated as owner-less: acquisition proceeds and fails with the real\n // FS error, which says what is wrong — instead of a permanent SessionBusyError that says\n // nothing. It is NOT \"reclaimable\": the lock is not removed, and the caller proceeds without a\n // lease.\n if (code === \"EISDIR\") return undefined;\n // Any other read failure (`EACCES` in a shared directory, `EIO`) differs in kind: the lock\n // **exists** and it is we who cannot read the owner. Treating it as free would let two writers\n // coexist — precisely what the lease exists to prevent — and the `0600` that protects the lock\n // against forgery WIDENS that surface: in a shared directory, another user's lock is unreadable\n // by design.\n //\n // Not knowing who the owner is differs from there being no owner. Fail closed.\n throw new SessionBusyError(lockPath.replace(/\\.writer\\.lock$/, \"\"));\n }\n try {\n const d = JSON.parse(raw) as Partial<LockOwner>;\n if (\n typeof d.pid !== \"number\" ||\n typeof d.hostname !== \"string\" ||\n typeof d.mtime !== \"number\"\n ) {\n return undefined;\n }\n return { pid: d.pid, hostname: d.hostname, mtime: d.mtime };\n } catch {\n // Unreadable JSON: a lock nobody can interpret must not lock the session out forever. Treating\n // it as stale is the recoverable choice; the cost is the same as that of an old lock.\n return undefined;\n }\n}\n\n/** Does the process exist? `signal 0` sends nothing — it only queries permission/existence. */\nfunction processAlive(pid: number): boolean {\n try {\n process.kill(pid, 0);\n return true;\n } catch (err) {\n // EPERM means it EXISTS and belongs to another user.\n return (err as NodeJS.ErrnoException).code === \"EPERM\";\n }\n}\n\n/**\n * Can the lock be taken from whoever holds it?\n *\n * ADR-2 of the plan: reclaiming by `pid` alone has a false positive across machines — the same\n * number exists on another host, pointing at an unrelated process. So:\n *\n * - **same host:** the `pid` is authoritative, and it **alone**. Dead process => reclaimable at\n * once; live process => never, however old the lock is.\n * - **other host:** the `pid` says nothing here. Only the heartbeat window counts, because it is\n * the one signal that does not lie across machines.\n *\n * ## Why age does NOT count on the same host\n *\n * The first version did `stale || !processAlive(pid)`, and that was a serious defect: `mtime` is\n * written at **acquisition** and is not touched on each append, so any session lasting longer than\n * the window — that is, **every real session** — became stealable by another process. Two writers\n * on the same transcript is exactly what the lease exists to prevent.\n *\n * On the same host the question \"does the owner still exist?\" has an exact answer, and age adds no\n * information to it — only a way to be wrong. Keeping the window there would be heuristic layered\n * on top of a fact.\n */\nfunction reclaimable(owner: LockOwner | undefined): boolean {\n if (owner === undefined) return true; // unreadable or vanished\n if (owner.hostname !== hostname()) {\n return Date.now() - owner.mtime > HEARTBEAT_WINDOW_MS;\n }\n return !processAlive(owner.pid);\n}\n\n/**\n * Does the session have a writer **right now**? A query that does NOT take the lease.\n *\n * M95 — it exists because asking by taking creates the very contention it meant to detect: two\n * processes querying a **free** session at the same time made one of them lose, and the consumer\n * forked for no reason. Measured in adversarial review: `RACE: spurious forks = 1`.\n *\n * It is a snapshot, not a guarantee: between the query and the real acquisition someone may take\n * the session. Callers needing the guarantee use {@link acquireSessionWriter}; callers needing to\n * **decide an id before opening anything** use this, and handle the race where it shows up.\n *\n */\nexport function sessionHasWriter(sessionPath: string): boolean {\n const lockPath = `${sessionPath}.writer.lock`;\n if (!existsSync(lockPath)) return false;\n try {\n return !reclaimable(readOwner(lockPath));\n } catch {\n // `readOwner` throws when the lock exists and cannot be read — fail closed, for the same reason\n // as there: not knowing who the owner is differs from there being no owner.\n return true;\n }\n}\n\n/**\n * Take the exclusive writer lease for `sessionPath`, or reject with {@link SessionBusyError}.\n *\n * The lock is a sibling `.lock` file created with `wx` — the same file-existence primitive the\n * SDK's `withFileLock` builds on. Exclusivity comes from the filesystem, so it holds across\n * processes, not just across async tasks in one process.\n */\nexport async function acquireSessionWriter(sessionPath: string): Promise<SessionWriterLease> {\n // M95 — `.writer.lock`, NOT `.lock`.\n //\n // `withFileLock(path, fn)` already uses `<path>.lock` as its companion. While the lease was called\n // from nowhere (the defect this milestone fixes) the collision was theoretical; wiring it to the\n // same file would make the long-lived lease block every short critical section on the same path.\n //\n // Two files because they are two things: `withFileLock` protects a section with a start and an\n // end; the lease is OWNERSHIP, held across turns, with an explicit `release()` — the distinction\n // the M81 docstring above already explains.\n const lockPath = `${sessionPath}.writer.lock`;\n const mine: LockOwner = ownerNow();\n let fd: number;\n try {\n // The mode applies on CREATION — the `w` in `writeOwner` does not alter an existing file.\n fd = openSync(lockPath, \"wx\", 0o600);\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code !== \"EEXIST\") throw err;\n // M95 — the lock exists. Until now that alone was enough to refuse, and that was the defect: a\n // TUI killed by SIGKILL locked the user out of their own session PERMANENTLY, with no documented\n // recovery path. Now the lock says who the owner is, and a dead owner yields its place.\n if (!reclaimable(readOwner(lockPath))) throw new SessionBusyError(sessionPath);\n writeOwner(lockPath, mine);\n return createLease(sessionPath, lockPath);\n }\n closeSync(fd);\n writeOwner(lockPath, mine);\n\n return createLease(sessionPath, lockPath);\n}\n\n/** The lease itself — idempotent `release()`. Extracted because acquisition has two exit paths. */\nfunction createLease(sessionPath: string, lockPath: string): SessionWriterLease {\n let released = false;\n return {\n sessionPath,\n release: async (): Promise<void> => {\n if (released) return;\n released = true;\n rmSync(lockPath, { force: true });\n },\n renew: (): void => {\n // A released lease does not own the lock. Re-stamping here would RE-CREATE the file and give\n // this process ownership it explicitly gave up — the one way this method could manufacture the\n // double-writer the lease exists to prevent.\n if (released) return;\n writeOwner(lockPath, ownerNow());\n },\n };\n}\n"]}
@@ -0,0 +1,211 @@
1
+ 'use strict';
2
+
3
+ var chunkNQTNSHSB_cjs = require('./chunk-NQTNSHSB.cjs');
4
+ var chunkJLRLCBJ4_cjs = require('./chunk-JLRLCBJ4.cjs');
5
+ var chunkJ7J7J2GN_cjs = require('./chunk-J7J7J2GN.cjs');
6
+ var chunk6LHQPOMI_cjs = require('./chunk-6LHQPOMI.cjs');
7
+ var crypto = require('crypto');
8
+ var promises = require('fs/promises');
9
+ var path = require('path');
10
+ var fs = require('fs');
11
+
12
+ function diaryPath(root) {
13
+ return path.join(root, "dream-diary.md");
14
+ }
15
+ function renderDiaryEntry(entry) {
16
+ const stamp = new Date(entry.timestampMs).toISOString();
17
+ const hash = entryHash(entry).slice(0, 8);
18
+ return [
19
+ `## ${stamp}`,
20
+ "",
21
+ `- entry-hash: ${hash}`,
22
+ `- facts before: ${entry.factsBefore}`,
23
+ `- facts after: ${entry.factsAfter}`,
24
+ `- duplicates removed: ${entry.duplicatesRemoved}`,
25
+ `- clusters created: ${entry.clustersCreated}`,
26
+ `- notes written: ${entry.notesWritten}`,
27
+ ""
28
+ ].join("\n");
29
+ }
30
+ async function appendDiaryEntry(root, entry) {
31
+ const path = diaryPath(root);
32
+ let raw = "";
33
+ try {
34
+ raw = await promises.readFile(path, "utf8");
35
+ } catch {
36
+ raw = "# Dream Diary\n\n";
37
+ }
38
+ const next = `${raw.endsWith("\n") ? raw : `${raw}
39
+ `}${renderDiaryEntry(entry)}`;
40
+ await chunkJLRLCBJ4_cjs.replaceFileAtomic(path, next);
41
+ }
42
+ function entryHash(entry) {
43
+ return crypto.createHash("sha256").update(
44
+ [
45
+ entry.factsBefore,
46
+ entry.factsAfter,
47
+ entry.duplicatesRemoved,
48
+ entry.clustersCreated,
49
+ entry.notesWritten
50
+ ].join("|")
51
+ ).digest("hex");
52
+ }
53
+ async function readAllSqliteFacts(root) {
54
+ const dbPath = chunkNQTNSHSB_cjs.defaultIndexPath(root);
55
+ if (!fs.existsSync(dbPath)) return [];
56
+ const db = await chunkNQTNSHSB_cjs.openMemoryDb({ filePath: dbPath });
57
+ try {
58
+ const stmt = db.prepare("SELECT id, path, source, start_line, end_line, text FROM chunks");
59
+ const rows = stmt.all();
60
+ return rows.map((r) => ({
61
+ ...r,
62
+ namespace: "default",
63
+ scope: "agent",
64
+ user_id: "default"
65
+ }));
66
+ } finally {
67
+ db.close();
68
+ }
69
+ }
70
+ function nfcEqual(a, b) {
71
+ return a.normalize("NFC") === b.normalize("NFC");
72
+ }
73
+ function assertUsableBatchSize(batchSize) {
74
+ if (batchSize === void 0) return;
75
+ if (!Number.isInteger(batchSize) || batchSize < 1) {
76
+ throw new chunkJ7J7J2GN_cjs.ConfigurationError(
77
+ `migrateSqliteToLance: batchSize must be a whole number of at least 1; received ${String(batchSize)}.`,
78
+ { code: "invalid_batch_size" }
79
+ );
80
+ }
81
+ }
82
+ async function migrateSqliteToLance(opts) {
83
+ assertUsableBatchSize(opts.batchSize);
84
+ const cwd = opts.cwd;
85
+ const memoryRoot = chunkNQTNSHSB_cjs.resolveMemoryRoot(cwd, { directory: opts.directory });
86
+ const finalPath = chunkNQTNSHSB_cjs.lanceStoragePath(memoryRoot);
87
+ const newPath = path.join(memoryRoot, "lance-new");
88
+ const rawLog = opts.logger ?? ((m) => console.log(m));
89
+ const log = (m) => rawLog(chunk6LHQPOMI_cjs.redactSecrets(m));
90
+ if (fs.existsSync(finalPath)) {
91
+ throw new chunkJ7J7J2GN_cjs.ConfigurationError(
92
+ `Destination already exists: ${finalPath}. Remove it manually (\`rm -rf ${finalPath}\`) and re-run.`,
93
+ { code: "migration_destination_exists" }
94
+ );
95
+ }
96
+ if (fs.existsSync(newPath)) {
97
+ log(`Removing stale ${newPath} from a previous run...`);
98
+ fs.rmSync(newPath, { recursive: true, force: true });
99
+ }
100
+ log(`Reading SQLite facts from ${cwd}/.theokit/memory/index.sqlite ...`);
101
+ const sqliteFacts = await readAllSqliteFacts(memoryRoot);
102
+ log(`SQLite has ${sqliteFacts.length} facts.`);
103
+ if (sqliteFacts.length === 0) {
104
+ return {
105
+ countSqlite: 0,
106
+ countLance: 0,
107
+ validated: true,
108
+ sampleComparisons: [],
109
+ lancePath: finalPath,
110
+ committed: false
111
+ };
112
+ }
113
+ const placeholderEmbedding = {
114
+ id: "migration-placeholder",
115
+ model: "deterministic-hash",
116
+ dimension: 8,
117
+ embed: async (texts) => {
118
+ return texts.map((t) => {
119
+ const arr = new Array(8).fill(0);
120
+ for (let i = 0; i < t.length; i += 1) {
121
+ arr[i % 8] += t.charCodeAt(i);
122
+ }
123
+ return arr.map((x) => x / 1e3);
124
+ });
125
+ },
126
+ stats: () => ({ cacheHits: 0, cacheMisses: 0, httpCalls: 0, retries: 0 })
127
+ };
128
+ fs.mkdirSync(newPath, { recursive: true });
129
+ log(`Writing Lance index to ${newPath} ...`);
130
+ const lance = await chunkNQTNSHSB_cjs.LanceIndex.open({
131
+ cwd,
132
+ embedding: placeholderEmbedding,
133
+ storagePath: newPath
134
+ });
135
+ const batchSize = opts.batchSize ?? 100;
136
+ for (let i = 0; i < sqliteFacts.length; i += batchSize) {
137
+ const batch = sqliteFacts.slice(i, i + batchSize).map((f) => ({
138
+ id: f.id,
139
+ text: f.text,
140
+ source: f.source,
141
+ namespace: f.namespace ?? "default",
142
+ scope: f.scope ?? "agent",
143
+ user_id: f.user_id ?? "default",
144
+ timestamp: 0
145
+ }));
146
+ await lance.addFacts(batch);
147
+ log(` Migrated ${Math.min(i + batchSize, sqliteFacts.length)}/${sqliteFacts.length}`);
148
+ }
149
+ const lanceCount = await lance.countFacts("default");
150
+ log(`Lance has ${lanceCount} facts (expected ${sqliteFacts.length}).`);
151
+ const sampleSize = Math.min(10, sqliteFacts.length);
152
+ const sampleComparisons = [];
153
+ for (let i = 0; i < sampleSize; i += 1) {
154
+ const sqliteFact = sqliteFacts[Math.floor(i * sqliteFacts.length / sampleSize)];
155
+ if (sqliteFact === void 0) continue;
156
+ const hits = await lance.search(sqliteFact.text, {
157
+ namespace: sqliteFact.namespace ?? "default",
158
+ limit: 1
159
+ });
160
+ const hit = hits[0];
161
+ const match = hit !== void 0 && nfcEqual(hit.text, sqliteFact.text);
162
+ sampleComparisons.push({ id: sqliteFact.id, match });
163
+ }
164
+ const allMatch = sampleComparisons.every((c) => c.match);
165
+ const countMatch = lanceCount === sqliteFacts.length;
166
+ const validated = allMatch && countMatch;
167
+ await lance.close();
168
+ if (opts.dryRun === true) {
169
+ log("Dry-run mode \u2014 discarding Lance staging dir.");
170
+ fs.rmSync(newPath, { recursive: true, force: true });
171
+ return {
172
+ countSqlite: sqliteFacts.length,
173
+ countLance: lanceCount,
174
+ validated,
175
+ sampleComparisons,
176
+ lancePath: finalPath,
177
+ committed: false
178
+ };
179
+ }
180
+ if (!validated) {
181
+ log("Validation FAILED \u2014 leaving SQLite intact, removing Lance staging dir.");
182
+ fs.rmSync(newPath, { recursive: true, force: true });
183
+ return {
184
+ countSqlite: sqliteFacts.length,
185
+ countLance: lanceCount,
186
+ validated: false,
187
+ sampleComparisons,
188
+ lancePath: finalPath,
189
+ committed: false
190
+ };
191
+ }
192
+ fs.renameSync(newPath, finalPath);
193
+ log(`Migration committed to ${finalPath}.`);
194
+ return {
195
+ countSqlite: sqliteFacts.length,
196
+ countLance: lanceCount,
197
+ validated: true,
198
+ sampleComparisons,
199
+ lancePath: finalPath,
200
+ committed: true
201
+ };
202
+ }
203
+
204
+ exports.appendDiaryEntry = appendDiaryEntry;
205
+ exports.diaryPath = diaryPath;
206
+ exports.entryHash = entryHash;
207
+ exports.migrateSqliteToLance = migrateSqliteToLance;
208
+ exports.readAllSqliteFacts = readAllSqliteFacts;
209
+ exports.renderDiaryEntry = renderDiaryEntry;
210
+ //# sourceMappingURL=chunk-VPK6PHIE.cjs.map
211
+ //# sourceMappingURL=chunk-VPK6PHIE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/memory/dreaming/diary.ts","../src/internal/memory/migrate-sqlite-to-lance.ts"],"names":["join","readFile","replaceFileAtomic","createHash","defaultIndexPath","existsSync","openMemoryDb","ConfigurationError","resolveMemoryRoot","lanceStoragePath","redactSecrets","rmSync","mkdirSync","LanceIndex","renameSync"],"mappings":"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","file":"chunk-VPK6PHIE.cjs","sourcesContent":["import { createHash } from \"node:crypto\";\nimport { readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { replaceFileAtomic } from \"../../persistence/atomic-write.js\";\nimport type { MemoryRoot } from \"../storage/memory-root.js\";\n\n/**\n * Dream-diary append (ADR D7).\n *\n * Diary lives at `.theokit/memory/dream-diary.md` and grows with one entry\n * per sweep. Each entry is content-hashed so the same input produces the\n * same entry — idempotency contract.\n *\n * Writes go through `replaceFileAtomic` (EC-3 of edge-case review) so a\n * crash mid-write can never leave a half-written diary.\n *\n * Shared with `@theokit/sdk-memory`; see the memory-store barrel.\n */\n\nexport interface DiaryEntry {\n timestampMs: number;\n factsBefore: number;\n factsAfter: number;\n duplicatesRemoved: number;\n clustersCreated: number;\n notesWritten: number;\n}\n\n/** `<memory root>/dream-diary.md`. Takes the RESOLVED ROOT — see `storage/memory-root.ts` (#463). */\nexport function diaryPath(root: MemoryRoot): string {\n return join(root, \"dream-diary.md\");\n}\n\n/**\n * One diary entry as the markdown that gets appended: a timestamp heading, the short entry hash,\n * and the counts the sweep produced. The hash is what makes a re-run recognisable as the same\n * sweep rather than a new one.\n */\nexport function renderDiaryEntry(entry: DiaryEntry): string {\n const stamp = new Date(entry.timestampMs).toISOString();\n const hash = entryHash(entry).slice(0, 8);\n return [\n `## ${stamp}`,\n \"\",\n `- entry-hash: ${hash}`,\n `- facts before: ${entry.factsBefore}`,\n `- facts after: ${entry.factsAfter}`,\n `- duplicates removed: ${entry.duplicatesRemoved}`,\n `- clusters created: ${entry.clustersCreated}`,\n `- notes written: ${entry.notesWritten}`,\n \"\",\n ].join(\"\\n\");\n}\n\n/**\n * Append one sweep's entry to `<memory root>/dream-diary.md`, creating the file with its header\n * when this is the first sweep. The diary is a human-readable record of what dreaming changed —\n * consolidations are otherwise invisible, because they alter the notes rather than announce\n * themselves.\n */\nexport async function appendDiaryEntry(root: MemoryRoot, entry: DiaryEntry): Promise<void> {\n const path = diaryPath(root);\n let raw = \"\";\n try {\n raw = await readFile(path, \"utf8\");\n } catch {\n raw = \"# Dream Diary\\n\\n\";\n }\n const next = `${raw.endsWith(\"\\n\") ? raw : `${raw}\\n`}${renderDiaryEntry(entry)}`;\n await replaceFileAtomic(path, next);\n}\n\n/**\n * A stable hash of one entry's counts, so two sweeps that did the same work read as the same work.\n * Rendered truncated in the entry; the full value is what callers compare.\n */\nexport function entryHash(entry: DiaryEntry): string {\n return createHash(\"sha256\")\n .update(\n [\n entry.factsBefore,\n entry.factsAfter,\n entry.duplicatesRemoved,\n entry.clustersCreated,\n entry.notesWritten,\n ].join(\"|\"),\n )\n .digest(\"hex\");\n}\n","import { existsSync, mkdirSync, renameSync, rmSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nimport { ConfigurationError } from \"../../errors.js\";\nimport { redactSecrets } from \"../security/index.js\";\nimport { defaultIndexPath, openMemoryDb } from \"./index-db.js\";\nimport { LanceIndex, lanceStoragePath } from \"./lance-index.js\";\nimport { type MemoryRoot, resolveMemoryRoot } from \"./storage/memory-root.js\";\n\n/**\n * Migrate Memory.index from SQLite to LanceDB (ADR D44).\n *\n * EC-3 MUST FIX: validation uses NFC unicode normalization on both sides.\n *\n * Shared with `@theokit/sdk-memory` through the memory-store barrel (#463).\n */\n\nexport interface MigrateOptions {\n cwd: string;\n /**\n * Absolute path (or `~/`-prefixed) of the memory root to migrate, when the agent that wrote it\n * set `memory.directory`. Defaults to `<cwd>/.theokit/memory` (#463).\n */\n directory?: string;\n dryRun?: boolean;\n batchSize?: number;\n /** Inject for tests; defaults to console.log. */\n logger?: (msg: string) => void;\n}\n\nexport interface MigrateResult {\n countSqlite: number;\n countLance: number;\n /** Set when validation succeeded (or dryRun); false on validation failure. */\n validated: boolean;\n /** Per-fact compare results (size = sample count, up to 10). */\n sampleComparisons: ReadonlyArray<{ id: string; match: boolean }>;\n /** Lance storage location (final, after migration). */\n lancePath: string;\n /** Was the migration committed (false for dry-run). */\n committed: boolean;\n}\n\n/**\n * One row of the SQLite memory index, as the Lance migration reads it: the chunk plus the tenant\n * columns the target table needs. Shared with `@theokit/sdk-memory`, which migrates the same table.\n */\nexport interface SqliteFactRow {\n id: string;\n path: string;\n source: \"memory\" | \"sessions\" | \"wiki\";\n start_line: number;\n end_line: number;\n text: string;\n namespace?: string | null;\n scope?: string | null;\n user_id?: string | null;\n}\n\n/**\n * Read all facts from the SQLite memory index. Returns empty array if the\n * SQLite db file does not exist (workspace never used Memory).\n *\n * Shared with `@theokit/sdk-memory` through the memory-store barrel, so it carries no visibility\n * tag — naming that tag in this block would delete the function below it (#463).\n */\nexport async function readAllSqliteFacts(root: MemoryRoot): Promise<SqliteFactRow[]> {\n const dbPath = defaultIndexPath(root);\n if (!existsSync(dbPath)) return [];\n const db = await openMemoryDb({ filePath: dbPath });\n try {\n // SQLite schema: chunks table holds the facts. Schema may vary; we\n // probe column existence and fall back to safe defaults.\n const stmt = db.prepare(\"SELECT id, path, source, start_line, end_line, text FROM chunks\");\n const rows = stmt.all() as Array<{\n id: string;\n path: string;\n source: \"memory\" | \"sessions\" | \"wiki\";\n start_line: number;\n end_line: number;\n text: string;\n }>;\n return rows.map((r) => ({\n ...r,\n namespace: \"default\",\n scope: \"agent\",\n user_id: \"default\",\n }));\n } finally {\n db.close();\n }\n}\n\n/**\n * Compare two strings via NFC normalization (EC-3 MUST FIX). Required\n * because SQLite/Lance native bindings can normalize unicode differently\n * (NFC vs NFD), producing false negatives on facts with accents/emojis.\n *\n * @internal\n */\nfunction nfcEqual(a: string, b: string): boolean {\n return a.normalize(\"NFC\") === b.normalize(\"NFC\");\n}\n\n/**\n * Refuse a `batchSize` the loop below cannot make progress with, before anything is migrated.\n *\n * The loop is `for (let i = 0; i < facts.length; i += batchSize)`, so the three ways this goes wrong\n * are all silent and all different:\n *\n * - 0 or negative: `i` never advances past the guard. The migration SPINS FOREVER, calling\n * `addFacts([])` and writing a \"Migrated x/y\" line every iteration — a hang with unbounded output,\n * which is the worst shape a failure can take because it looks like work.\n * - NaN (`Number(\"abc\")`): `i += NaN` makes the guard false on the first check, zero facts move, and\n * the caller is told \"Validation FAILED. SQLite preserved.\" A typo in an argument is reported as a\n * migration failure.\n * - a fraction: `slice` truncates and the loop still terminates, but the batch boundaries stop\n * matching the number the caller asked for.\n *\n * Validated HERE rather than only in the CLI that motivated the finding, because the CLI is a wrapper\n * over this function and a programmatic caller reaches it with no wrapper at all.\n *\n * @internal\n */\nfunction assertUsableBatchSize(batchSize: number | undefined): void {\n if (batchSize === undefined) return;\n if (!Number.isInteger(batchSize) || batchSize < 1) {\n throw new ConfigurationError(\n `migrateSqliteToLance: batchSize must be a whole number of at least 1; received ${String(batchSize)}.`,\n { code: \"invalid_batch_size\" },\n );\n }\n}\n\n/**\n * Run the migration. Writes Lance to `<cwd>/.theokit/memory/lance-new/`\n * first, validates round-trip, then renames to `lance/` on success.\n * SQLite db is preserved (CLI prompts user to delete).\n *\n * @internal\n */\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: migration is a single transaction (read → write → validate → commit-or-rollback); splitting harms atomicity reasoning.\nexport async function migrateSqliteToLance(opts: MigrateOptions): Promise<MigrateResult> {\n assertUsableBatchSize(opts.batchSize);\n const cwd = opts.cwd;\n // One resolution, reused by every path this migration touches (#463).\n const memoryRoot = resolveMemoryRoot(cwd, { directory: opts.directory });\n const finalPath = lanceStoragePath(memoryRoot);\n const newPath = join(memoryRoot, \"lance-new\");\n // T1.4 (ADR D68): wrap logger so any fact text containing secrets is\n // masked before reaching the destination (console or user-supplied sink).\n // Caller-supplied loggers cannot bypass — by design (D70).\n const rawLog = opts.logger ?? ((m: string) => console.log(m));\n const log = (m: string) => rawLog(redactSecrets(m));\n\n // EC: destination exists → typed error.\n if (existsSync(finalPath)) {\n throw new ConfigurationError(\n `Destination already exists: ${finalPath}. Remove it manually (\\`rm -rf ${finalPath}\\`) and re-run.`,\n { code: \"migration_destination_exists\" },\n );\n }\n if (existsSync(newPath)) {\n // Leftover from a previous failed/interrupted migration. Safe to delete.\n log(`Removing stale ${newPath} from a previous run...`);\n rmSync(newPath, { recursive: true, force: true });\n }\n\n log(`Reading SQLite facts from ${cwd}/.theokit/memory/index.sqlite ...`);\n const sqliteFacts = await readAllSqliteFacts(memoryRoot);\n log(`SQLite has ${sqliteFacts.length} facts.`);\n if (sqliteFacts.length === 0) {\n return {\n countSqlite: 0,\n countLance: 0,\n validated: true,\n sampleComparisons: [],\n lancePath: finalPath,\n committed: false,\n };\n }\n\n // Reuse the embedding runtime configured in the workspace? For v1.2 we\n // require the caller to pass embedding explicitly via env. The migration\n // path is documented as: \"set OPENAI_API_KEY (or similar) before running.\"\n // Here we ship a placeholder embedder that uses a deterministic\n // content-hash — sufficient for migration validation; consumers should\n // re-embed on first real query after migration if needed.\n const placeholderEmbedding = {\n id: \"migration-placeholder\",\n model: \"deterministic-hash\",\n dimension: 8,\n embed: async (texts: ReadonlyArray<string>) => {\n // Simple deterministic hash → 8-dim vector (migration validation only).\n return texts.map((t) => {\n const arr = new Array(8).fill(0);\n for (let i = 0; i < t.length; i += 1) {\n arr[i % 8] += t.charCodeAt(i);\n }\n return arr.map((x) => x / 1000);\n });\n },\n stats: () => ({ cacheHits: 0, cacheMisses: 0, httpCalls: 0, retries: 0 }),\n };\n\n mkdirSync(newPath, { recursive: true });\n log(`Writing Lance index to ${newPath} ...`);\n\n const lance = await LanceIndex.open({\n cwd,\n embedding: placeholderEmbedding,\n storagePath: newPath,\n });\n\n const batchSize = opts.batchSize ?? 100;\n for (let i = 0; i < sqliteFacts.length; i += batchSize) {\n const batch = sqliteFacts.slice(i, i + batchSize).map((f) => ({\n id: f.id,\n text: f.text,\n source: f.source,\n namespace: f.namespace ?? \"default\",\n scope: f.scope ?? \"agent\",\n user_id: f.user_id ?? \"default\",\n timestamp: 0,\n }));\n await lance.addFacts(batch);\n log(` Migrated ${Math.min(i + batchSize, sqliteFacts.length)}/${sqliteFacts.length}`);\n }\n\n // Validation: count + sample compare (10 random) with NFC normalization.\n const lanceCount = await lance.countFacts(\"default\");\n log(`Lance has ${lanceCount} facts (expected ${sqliteFacts.length}).`);\n\n const sampleSize = Math.min(10, sqliteFacts.length);\n const sampleComparisons: { id: string; match: boolean }[] = [];\n for (let i = 0; i < sampleSize; i += 1) {\n const sqliteFact = sqliteFacts[Math.floor((i * sqliteFacts.length) / sampleSize)];\n if (sqliteFact === undefined) continue;\n // Search Lance for this fact's text — best-effort round-trip.\n const hits = await lance.search(sqliteFact.text, {\n namespace: sqliteFact.namespace ?? \"default\",\n limit: 1,\n });\n // EC-3: compare with NFC normalization.\n const hit = hits[0];\n const match = hit !== undefined && nfcEqual(hit.text, sqliteFact.text);\n sampleComparisons.push({ id: sqliteFact.id, match });\n }\n\n const allMatch = sampleComparisons.every((c) => c.match);\n const countMatch = lanceCount === sqliteFacts.length;\n const validated = allMatch && countMatch;\n\n await lance.close();\n\n if (opts.dryRun === true) {\n log(\"Dry-run mode — discarding Lance staging dir.\");\n rmSync(newPath, { recursive: true, force: true });\n return {\n countSqlite: sqliteFacts.length,\n countLance: lanceCount,\n validated,\n sampleComparisons,\n lancePath: finalPath,\n committed: false,\n };\n }\n\n if (!validated) {\n log(\"Validation FAILED — leaving SQLite intact, removing Lance staging dir.\");\n rmSync(newPath, { recursive: true, force: true });\n return {\n countSqlite: sqliteFacts.length,\n countLance: lanceCount,\n validated: false,\n sampleComparisons,\n lancePath: finalPath,\n committed: false,\n };\n }\n\n // Atomic commit via rename.\n renameSync(newPath, finalPath);\n log(`Migration committed to ${finalPath}.`);\n return {\n countSqlite: sqliteFacts.length,\n countLance: lanceCount,\n validated: true,\n sampleComparisons,\n lancePath: finalPath,\n committed: true,\n };\n}\n"]}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ var zod = require('zod');
4
+
5
+ // src/internal/persistence/persistence-schema.ts
6
+ var PersistenceSchema = zod.z.object({
7
+ backend: zod.z.enum(["memory", "json"]),
8
+ dir: zod.z.string().optional()
9
+ }).refine((p) => p.backend !== "json" || typeof p.dir === "string" && p.dir.length > 0, {
10
+ message: 'persistence.dir is required when backend = "json"'
11
+ }).optional();
12
+
13
+ exports.PersistenceSchema = PersistenceSchema;
14
+ //# sourceMappingURL=chunk-VTYY7XL5.cjs.map
15
+ //# sourceMappingURL=chunk-VTYY7XL5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/persistence/persistence-schema.ts"],"names":["z"],"mappings":";;;;;AAwBO,IAAM,iBAAA,GAAoBA,MAC9B,MAAA,CAAO;AAAA,EACN,SAASA,KAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,MAAM,CAAC,CAAA;AAAA,EAClC,GAAA,EAAKA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAClB,CAAC,CAAA,CACA,MAAA,CAAO,CAAC,CAAA,KAAM,EAAE,OAAA,KAAY,MAAA,IAAW,OAAO,CAAA,CAAE,GAAA,KAAQ,QAAA,IAAY,CAAA,CAAE,GAAA,CAAI,SAAS,CAAA,EAAI;AAAA,EACtF,OAAA,EAAS;AACX,CAAC,EACA,QAAA","file":"chunk-VTYY7XL5.cjs","sourcesContent":["/**\n * Shared Zod schema for the `{ backend: \"memory\" | \"json\", dir? }` options\n * used by both `Workflow` snapshots and `Cache` semantic store persistence.\n * Extracted to remove the cross-module clone flagged by jscpd.\n *\n * `PersistenceSchema` is re-exported from the semver-protected `@theokit/sdk/persistence` barrel\n * and from the semver-exempt `@theokit/sdk/internal/persistence` alias.\n *\n * NOTE — no internal-visibility tag in this block. `tsconfig.base.json` sets `stripInternal: true`,\n * and TypeScript scans EVERY leading comment range of the declaration that follows, including the\n * import right below this one. The tag that used to sit here deleted that import from the emitted\n * `.d.ts`, leaving the types it binds unresolvable for any consumer running type-aware lint\n * (usetheodev/theokit-sdk#283 records the same trap on a declaration).\n */\n\nimport { z } from \"zod\";\n\n/**\n * `persistence?` opt-in JSON disk backend with `dir` required when chosen.\n *\n * `.refine()` restored after Zod v4-only migration (plan zod-v4-migration\n * T1.1, ADR D4). With single v4 instance across workspace, ZodEffects\n * inside `z.object()` works correctly.\n */\nexport const PersistenceSchema = z\n .object({\n backend: z.enum([\"memory\", \"json\"]),\n dir: z.string().optional(),\n })\n .refine((p) => p.backend !== \"json\" || (typeof p.dir === \"string\" && p.dir.length > 0), {\n message: 'persistence.dir is required when backend = \"json\"',\n })\n .optional();\n"]}