@mastra/server 1.12.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (510) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/chunk-2AUSWWKT.js +75 -0
  3. package/dist/chunk-2AUSWWKT.js.map +1 -0
  4. package/dist/{chunk-RLZPX2YZ.js → chunk-2E5ZB7FH.js} +7 -5
  5. package/dist/{chunk-RLZPX2YZ.js.map → chunk-2E5ZB7FH.js.map} +1 -1
  6. package/dist/chunk-2ERW3HSX.js +71 -0
  7. package/dist/chunk-2ERW3HSX.js.map +1 -0
  8. package/dist/{chunk-QRQAZI3Q.js → chunk-2GOCJDE2.js} +6 -73
  9. package/dist/chunk-2GOCJDE2.js.map +1 -0
  10. package/dist/{chunk-SVQNZ6U2.js → chunk-2OBRONRW.js} +4 -15
  11. package/dist/chunk-2OBRONRW.js.map +1 -0
  12. package/dist/chunk-43MOXX6D.cjs +74 -0
  13. package/dist/chunk-43MOXX6D.cjs.map +1 -0
  14. package/dist/chunk-47RDD2HN.js +61 -0
  15. package/dist/chunk-47RDD2HN.js.map +1 -0
  16. package/dist/{chunk-S7BVUW44.cjs → chunk-4NZHZQ6Q.cjs} +13 -8
  17. package/dist/chunk-4NZHZQ6Q.cjs.map +1 -0
  18. package/dist/{chunk-HFOR62M4.js → chunk-4V5MHFM6.js} +4 -343
  19. package/dist/chunk-4V5MHFM6.js.map +1 -0
  20. package/dist/chunk-574U64WA.cjs +103 -0
  21. package/dist/chunk-574U64WA.cjs.map +1 -0
  22. package/dist/chunk-5HJQACVQ.cjs +32 -0
  23. package/dist/chunk-5HJQACVQ.cjs.map +1 -0
  24. package/dist/chunk-5N4O5XJZ.js +259 -0
  25. package/dist/chunk-5N4O5XJZ.js.map +1 -0
  26. package/dist/chunk-5WFMCDP6.cjs +42 -0
  27. package/dist/chunk-5WFMCDP6.cjs.map +1 -0
  28. package/dist/{chunk-NBYRUVSE.cjs → chunk-6LFZL6QU.cjs} +100 -443
  29. package/dist/chunk-6LFZL6QU.cjs.map +1 -0
  30. package/dist/{chunk-D6AEONK2.js → chunk-6LTXNJU5.js} +4 -4
  31. package/dist/chunk-6LTXNJU5.js.map +1 -0
  32. package/dist/{chunk-VKBYR4V4.js → chunk-6M6OX2GI.js} +5 -5
  33. package/dist/{chunk-VKBYR4V4.js.map → chunk-6M6OX2GI.js.map} +1 -1
  34. package/dist/chunk-6P7P7Y5U.cjs +11959 -0
  35. package/dist/chunk-6P7P7Y5U.cjs.map +1 -0
  36. package/dist/{chunk-E4NYFEOQ.cjs → chunk-6T2DK2GP.cjs} +16 -71
  37. package/dist/chunk-6T2DK2GP.cjs.map +1 -0
  38. package/dist/chunk-7D3YBNO6.cjs +76 -0
  39. package/dist/chunk-7D3YBNO6.cjs.map +1 -0
  40. package/dist/chunk-7NDOPT3W.js +73 -0
  41. package/dist/chunk-7NDOPT3W.js.map +1 -0
  42. package/dist/{chunk-XQURD55R.js → chunk-7RVXUWRC.js} +4 -33
  43. package/dist/chunk-7RVXUWRC.js.map +1 -0
  44. package/dist/{chunk-S5SBIVKP.js → chunk-A37KSL6V.js} +4 -69
  45. package/dist/chunk-A37KSL6V.js.map +1 -0
  46. package/dist/{chunk-Y6UBLYBC.cjs → chunk-ALE53JHX.cjs} +13 -13
  47. package/dist/{chunk-Y6UBLYBC.cjs.map → chunk-ALE53JHX.cjs.map} +1 -1
  48. package/dist/chunk-AUPN3AM6.js +34 -0
  49. package/dist/chunk-AUPN3AM6.js.map +1 -0
  50. package/dist/chunk-BAECEBZY.cjs +117 -0
  51. package/dist/chunk-BAECEBZY.cjs.map +1 -0
  52. package/dist/{chunk-ELLQE6XA.js → chunk-BBMSARPV.js} +4 -46
  53. package/dist/chunk-BBMSARPV.js.map +1 -0
  54. package/dist/chunk-BNJI7YMJ.cjs +89 -0
  55. package/dist/chunk-BNJI7YMJ.cjs.map +1 -0
  56. package/dist/chunk-BOIOGPBE.js +24 -0
  57. package/dist/chunk-BOIOGPBE.js.map +1 -0
  58. package/dist/chunk-BTRFBBRF.js +102 -0
  59. package/dist/chunk-BTRFBBRF.js.map +1 -0
  60. package/dist/{chunk-RCEX4V4N.cjs → chunk-C3U5LR4X.cjs} +24 -124
  61. package/dist/chunk-C3U5LR4X.cjs.map +1 -0
  62. package/dist/{chunk-GAATB3SN.cjs → chunk-CMGZD5UE.cjs} +29 -94
  63. package/dist/chunk-CMGZD5UE.cjs.map +1 -0
  64. package/dist/chunk-CWPZX27X.cjs +88 -0
  65. package/dist/chunk-CWPZX27X.cjs.map +1 -0
  66. package/dist/{chunk-DX7T3ZCH.js → chunk-D64GTBXM.js} +5 -5
  67. package/dist/{chunk-DX7T3ZCH.js.map → chunk-D64GTBXM.js.map} +1 -1
  68. package/dist/{chunk-IXWCFFVU.cjs → chunk-DK4A344H.cjs} +28 -74
  69. package/dist/chunk-DK4A344H.cjs.map +1 -0
  70. package/dist/{chunk-VFRQX7CD.cjs → chunk-DMAGP2MP.cjs} +28 -79
  71. package/dist/chunk-DMAGP2MP.cjs.map +1 -0
  72. package/dist/{chunk-3P34AJWW.js → chunk-DWDLH2Q5.js} +5 -60
  73. package/dist/chunk-DWDLH2Q5.js.map +1 -0
  74. package/dist/{chunk-DRFNY77Q.cjs → chunk-EFX5WYRT.cjs} +12 -10
  75. package/dist/chunk-EFX5WYRT.cjs.map +1 -0
  76. package/dist/{chunk-S46TMT6A.cjs → chunk-F4HPG2WH.cjs} +35 -152
  77. package/dist/chunk-F4HPG2WH.cjs.map +1 -0
  78. package/dist/{chunk-DW6ZTEJ4.cjs → chunk-FBIKXU4U.cjs} +29 -88
  79. package/dist/chunk-FBIKXU4U.cjs.map +1 -0
  80. package/dist/chunk-FU22BXAG.cjs +29 -0
  81. package/dist/chunk-FU22BXAG.cjs.map +1 -0
  82. package/dist/{chunk-PYO3IWOR.js → chunk-GESVIYWC.js} +74 -388
  83. package/dist/chunk-GESVIYWC.js.map +1 -0
  84. package/dist/{chunk-43WGLEEB.js → chunk-GRI42AT7.js} +5 -5
  85. package/dist/chunk-GRI42AT7.js.map +1 -0
  86. package/dist/{chunk-BAWISNLT.cjs → chunk-GU5KJAMA.cjs} +14 -37
  87. package/dist/chunk-GU5KJAMA.cjs.map +1 -0
  88. package/dist/{chunk-MOR4VVBW.js → chunk-H4AABNBB.js} +4 -4
  89. package/dist/chunk-H4AABNBB.js.map +1 -0
  90. package/dist/{chunk-B5JKQOIU.cjs → chunk-HERQV6YY.cjs} +22 -22
  91. package/dist/{chunk-B5JKQOIU.cjs.map → chunk-HERQV6YY.cjs.map} +1 -1
  92. package/dist/{chunk-BZMWUSOF.js → chunk-HMUJSYUR.js} +4 -4
  93. package/dist/chunk-HMUJSYUR.js.map +1 -0
  94. package/dist/{chunk-WQWSVABP.cjs → chunk-HOAPZDJV.cjs} +81 -81
  95. package/dist/{chunk-WQWSVABP.cjs.map → chunk-HOAPZDJV.cjs.map} +1 -1
  96. package/dist/{chunk-KJ3H6ED4.js → chunk-HWOBV3IH.js} +11 -176
  97. package/dist/{chunk-KJ3H6ED4.js.map → chunk-HWOBV3IH.js.map} +1 -1
  98. package/dist/chunk-I4THGZHE.js +52 -0
  99. package/dist/chunk-I4THGZHE.js.map +1 -0
  100. package/dist/chunk-II6TN6MR.js +171 -0
  101. package/dist/chunk-II6TN6MR.js.map +1 -0
  102. package/dist/chunk-J3SEZ24R.cjs +70 -0
  103. package/dist/chunk-J3SEZ24R.cjs.map +1 -0
  104. package/dist/{chunk-CPEJA5XY.cjs → chunk-JGK2MALT.cjs} +9 -42
  105. package/dist/chunk-JGK2MALT.cjs.map +1 -0
  106. package/dist/{chunk-MWWNB5KJ.js → chunk-JK3GI25F.js} +6 -102
  107. package/dist/chunk-JK3GI25F.js.map +1 -0
  108. package/dist/{chunk-QYPZ4IND.js → chunk-JTAGYRQP.js} +3 -3
  109. package/dist/chunk-JTAGYRQP.js.map +1 -0
  110. package/dist/{chunk-7F2JBD7F.cjs → chunk-JWCTCYDF.cjs} +13 -81
  111. package/dist/chunk-JWCTCYDF.cjs.map +1 -0
  112. package/dist/{chunk-OBA7KIAW.js → chunk-KF2QGKT3.js} +4 -68
  113. package/dist/chunk-KF2QGKT3.js.map +1 -0
  114. package/dist/chunk-KPMEA5UE.js +121 -0
  115. package/dist/chunk-KPMEA5UE.js.map +1 -0
  116. package/dist/chunk-KTKTSTDR.cjs +297 -0
  117. package/dist/chunk-KTKTSTDR.cjs.map +1 -0
  118. package/dist/chunk-KXXILK3T.cjs +134 -0
  119. package/dist/chunk-KXXILK3T.cjs.map +1 -0
  120. package/dist/chunk-LCP4G5CT.cjs +83 -0
  121. package/dist/chunk-LCP4G5CT.cjs.map +1 -0
  122. package/dist/{chunk-2RQXCCD4.js → chunk-LIPXZWEY.js} +7 -7
  123. package/dist/{chunk-2RQXCCD4.js.map → chunk-LIPXZWEY.js.map} +1 -1
  124. package/dist/{chunk-GDE4YNSF.cjs → chunk-LKBYAMJS.cjs} +31 -31
  125. package/dist/{chunk-GDE4YNSF.cjs.map → chunk-LKBYAMJS.cjs.map} +1 -1
  126. package/dist/{chunk-LIXI3MOA.cjs → chunk-LNIERC4T.cjs} +27 -87
  127. package/dist/chunk-LNIERC4T.cjs.map +1 -0
  128. package/dist/chunk-LOA2QO6H.cjs +391 -0
  129. package/dist/chunk-LOA2QO6H.cjs.map +1 -0
  130. package/dist/{chunk-OQZPEQXU.cjs → chunk-LTJHINYX.cjs} +17 -96
  131. package/dist/chunk-LTJHINYX.cjs.map +1 -0
  132. package/dist/chunk-LU7HU7KW.cjs +65 -0
  133. package/dist/chunk-LU7HU7KW.cjs.map +1 -0
  134. package/dist/chunk-LW2FKUW5.js +94 -0
  135. package/dist/chunk-LW2FKUW5.js.map +1 -0
  136. package/dist/chunk-NLMVQMCR.js +85 -0
  137. package/dist/chunk-NLMVQMCR.js.map +1 -0
  138. package/dist/{chunk-LFB6AUDW.js → chunk-NOT4JSQJ.js} +7 -7
  139. package/dist/chunk-NOT4JSQJ.js.map +1 -0
  140. package/dist/{chunk-OQG4AAGQ.cjs → chunk-NSB6AGO3.cjs} +27 -92
  141. package/dist/chunk-NSB6AGO3.cjs.map +1 -0
  142. package/dist/chunk-O272KKXN.cjs +111 -0
  143. package/dist/chunk-O272KKXN.cjs.map +1 -0
  144. package/dist/chunk-OLKVMPNB.js +11943 -0
  145. package/dist/chunk-OLKVMPNB.js.map +1 -0
  146. package/dist/{chunk-O26N7P6R.js → chunk-ONORVWSC.js} +3 -3
  147. package/dist/{chunk-O26N7P6R.js.map → chunk-ONORVWSC.js.map} +1 -1
  148. package/dist/chunk-OP626LZY.js +61 -0
  149. package/dist/chunk-OP626LZY.js.map +1 -0
  150. package/dist/chunk-P2ZMGGHF.cjs +19 -0
  151. package/dist/chunk-P2ZMGGHF.cjs.map +1 -0
  152. package/dist/{chunk-V4RWTVRV.cjs → chunk-P445W4ET.cjs} +76 -334
  153. package/dist/chunk-P445W4ET.cjs.map +1 -0
  154. package/dist/chunk-PALNMAC6.js +1 -1
  155. package/dist/{chunk-JSX4LRMG.cjs → chunk-PEG4SKER.cjs} +33 -33
  156. package/dist/{chunk-JSX4LRMG.cjs.map → chunk-PEG4SKER.cjs.map} +1 -1
  157. package/dist/{chunk-27QSSHGX.js → chunk-PGABFIYY.js} +4 -51
  158. package/dist/chunk-PGABFIYY.js.map +1 -0
  159. package/dist/chunk-PNJPBMSY.js +69 -0
  160. package/dist/chunk-PNJPBMSY.js.map +1 -0
  161. package/dist/chunk-PONEV4T5.js +47 -0
  162. package/dist/chunk-PONEV4T5.js.map +1 -0
  163. package/dist/{chunk-LIMSH6CA.js → chunk-Q7KDJZGD.js} +23 -136
  164. package/dist/chunk-Q7KDJZGD.js.map +1 -0
  165. package/dist/chunk-QB3ZGAO4.js +57 -0
  166. package/dist/chunk-QB3ZGAO4.js.map +1 -0
  167. package/dist/{chunk-YHXHZINI.js → chunk-QGDZ4IB6.js} +6 -62
  168. package/dist/chunk-QGDZ4IB6.js.map +1 -0
  169. package/dist/chunk-QIP5UCDX.js +16 -0
  170. package/dist/chunk-QIP5UCDX.js.map +1 -0
  171. package/dist/{chunk-5OOQPDVS.cjs → chunk-QOLNS6MT.cjs} +109 -291
  172. package/dist/chunk-QOLNS6MT.cjs.map +1 -0
  173. package/dist/{chunk-MKIO7LCE.cjs → chunk-QQGEBRIG.cjs} +6 -17
  174. package/dist/chunk-QQGEBRIG.cjs.map +1 -0
  175. package/dist/chunk-QTBCX6KF.cjs +84 -0
  176. package/dist/chunk-QTBCX6KF.cjs.map +1 -0
  177. package/dist/{chunk-TRIYMJ4C.cjs → chunk-R2DKW2EK.cjs} +26 -120
  178. package/dist/chunk-R2DKW2EK.cjs.map +1 -0
  179. package/dist/{chunk-W7PA7IJX.js → chunk-R3SMI5BC.js} +5 -259
  180. package/dist/chunk-R3SMI5BC.js.map +1 -0
  181. package/dist/{chunk-E2UIA7IY.cjs → chunk-RCSPGNEZ.cjs} +3 -2
  182. package/dist/chunk-RCSPGNEZ.cjs.map +1 -0
  183. package/dist/{chunk-SAHA4QAC.js → chunk-RKKIUW52.js} +6 -75
  184. package/dist/chunk-RKKIUW52.js.map +1 -0
  185. package/dist/{chunk-R3WEUP7P.cjs → chunk-SE3VUDBK.cjs} +14 -3
  186. package/dist/chunk-SE3VUDBK.cjs.map +1 -0
  187. package/dist/{chunk-6JJCLDVS.cjs → chunk-SI3B7F4U.cjs} +28 -98
  188. package/dist/chunk-SI3B7F4U.cjs.map +1 -0
  189. package/dist/{chunk-ONKZNI7W.cjs → chunk-STHQS3QR.cjs} +116 -116
  190. package/dist/chunk-STHQS3QR.cjs.map +1 -0
  191. package/dist/chunk-TB3QXBEC.js +65 -0
  192. package/dist/chunk-TB3QXBEC.js.map +1 -0
  193. package/dist/chunk-TJIN7OPG.js +69 -0
  194. package/dist/chunk-TJIN7OPG.js.map +1 -0
  195. package/dist/{chunk-SCSCPEXU.cjs → chunk-TKBRQY5C.cjs} +24 -97
  196. package/dist/chunk-TKBRQY5C.cjs.map +1 -0
  197. package/dist/{chunk-TOAWPUWG.cjs → chunk-TSMZEPL3.cjs} +27 -27
  198. package/dist/chunk-TSMZEPL3.cjs.map +1 -0
  199. package/dist/{chunk-4Q3QO4MB.cjs → chunk-U3PO2SCK.cjs} +6 -5
  200. package/dist/chunk-U3PO2SCK.cjs.map +1 -0
  201. package/dist/chunk-U4YUXGDH.cjs +195 -0
  202. package/dist/chunk-U4YUXGDH.cjs.map +1 -0
  203. package/dist/chunk-ULL6VJ5E.cjs +90 -0
  204. package/dist/chunk-ULL6VJ5E.cjs.map +1 -0
  205. package/dist/{chunk-MHYPFRBW.js → chunk-UOJM27PI.js} +4 -83
  206. package/dist/chunk-UOJM27PI.js.map +1 -0
  207. package/dist/{chunk-U53P5KGY.js → chunk-URPQ6FHZ.js} +6 -6
  208. package/dist/chunk-URPQ6FHZ.js.map +1 -0
  209. package/dist/{chunk-R6M5RX3R.cjs → chunk-USD6C4ZL.cjs} +25 -16
  210. package/dist/chunk-USD6C4ZL.cjs.map +1 -0
  211. package/dist/{chunk-5CRPJSGU.js → chunk-USZD5AX2.js} +4 -4
  212. package/dist/chunk-USZD5AX2.js.map +1 -0
  213. package/dist/chunk-V7DWWIJ6.js +18 -0
  214. package/dist/chunk-V7DWWIJ6.js.map +1 -0
  215. package/dist/chunk-VDG7SNSS.js +343 -0
  216. package/dist/chunk-VDG7SNSS.js.map +1 -0
  217. package/dist/{chunk-Z3LL4AAE.js → chunk-VKTJMAUK.js} +6 -8
  218. package/dist/chunk-VKTJMAUK.js.map +1 -0
  219. package/dist/{chunk-KD3YOO6V.cjs → chunk-VTHT3PPM.cjs} +7 -5
  220. package/dist/chunk-VTHT3PPM.cjs.map +1 -0
  221. package/dist/{chunk-BJ7PYBAM.cjs → chunk-W34IV6DV.cjs} +24 -95
  222. package/dist/chunk-W34IV6DV.cjs.map +1 -0
  223. package/dist/{chunk-42NL52FN.js → chunk-WAWVGCSA.js} +5 -24
  224. package/dist/chunk-WAWVGCSA.js.map +1 -0
  225. package/dist/chunk-WOMVBFIP.cjs +81 -0
  226. package/dist/chunk-WOMVBFIP.cjs.map +1 -0
  227. package/dist/{chunk-6WDBVMGU.js → chunk-WXS6DNFY.js} +4 -65
  228. package/dist/chunk-WXS6DNFY.js.map +1 -0
  229. package/dist/{chunk-OFVMF4SA.js → chunk-X2UK65IJ.js} +5 -95
  230. package/dist/chunk-X2UK65IJ.js.map +1 -0
  231. package/dist/{chunk-Q5HPZJ5K.js → chunk-YEGGGHMD.js} +4 -4
  232. package/dist/{chunk-Q5HPZJ5K.js.map → chunk-YEGGGHMD.js.map} +1 -1
  233. package/dist/chunk-YUWWXTL2.cjs +69 -0
  234. package/dist/chunk-YUWWXTL2.cjs.map +1 -0
  235. package/dist/{chunk-WQW3XWRQ.js → chunk-YVN3HW3L.js} +4 -55
  236. package/dist/chunk-YVN3HW3L.js.map +1 -0
  237. package/dist/{chunk-AILL53XB.cjs → chunk-Z2QBLWUE.cjs} +1008 -1325
  238. package/dist/chunk-Z2QBLWUE.cjs.map +1 -0
  239. package/dist/{chunk-QTII22RU.js → chunk-ZMQY23MO.js} +4 -70
  240. package/dist/chunk-ZMQY23MO.js.map +1 -0
  241. package/dist/{chunk-RWLJZWDL.cjs → chunk-ZYXDUS6Q.cjs} +4 -3
  242. package/dist/chunk-ZYXDUS6Q.cjs.map +1 -0
  243. package/dist/dist-47C5ZLC7.js +1 -1
  244. package/dist/dist-BSWYTOHE.js +1 -1
  245. package/dist/dist-GKNLMW5G.js +1 -1
  246. package/dist/dist-RVKG65AN.js +1 -1
  247. package/dist/docs/SKILL.md +1 -1
  248. package/dist/docs/assets/SOURCE_MAP.json +1 -1
  249. package/dist/{observational-memory-YRWU6CY3-OSS4UPF4.cjs → observational-memory-XXD6E2SO-3I4EZBKC.cjs} +308 -40
  250. package/dist/observational-memory-XXD6E2SO-3I4EZBKC.cjs.map +1 -0
  251. package/dist/{observational-memory-YRWU6CY3-I7PD5THQ.js → observational-memory-XXD6E2SO-QVSLOLI6.js} +308 -40
  252. package/dist/observational-memory-XXD6E2SO-QVSLOLI6.js.map +1 -0
  253. package/dist/server/handlers/a2a.cjs +9 -9
  254. package/dist/server/handlers/a2a.d.ts +95 -2
  255. package/dist/server/handlers/a2a.d.ts.map +1 -1
  256. package/dist/server/handlers/a2a.js +1 -1
  257. package/dist/server/handlers/agent-builder.cjs +16 -16
  258. package/dist/server/handlers/agent-builder.d.ts +377 -15
  259. package/dist/server/handlers/agent-builder.d.ts.map +1 -1
  260. package/dist/server/handlers/agent-builder.js +1 -1
  261. package/dist/server/handlers/agent-versions.cjs +8 -8
  262. package/dist/server/handlers/agent-versions.d.ts +13233 -2792
  263. package/dist/server/handlers/agent-versions.d.ts.map +1 -1
  264. package/dist/server/handlers/agent-versions.js +1 -1
  265. package/dist/server/handlers/agents.cjs +33 -33
  266. package/dist/server/handlers/agents.d.ts +4721 -134
  267. package/dist/server/handlers/agents.d.ts.map +1 -1
  268. package/dist/server/handlers/agents.js +1 -1
  269. package/dist/server/handlers/auth.cjs +10 -10
  270. package/dist/server/handlers/auth.d.ts +152 -13
  271. package/dist/server/handlers/auth.d.ts.map +1 -1
  272. package/dist/server/handlers/auth.js +1 -1
  273. package/dist/server/handlers/datasets.cjs +21 -21
  274. package/dist/server/handlers/datasets.d.ts +416 -20
  275. package/dist/server/handlers/datasets.d.ts.map +1 -1
  276. package/dist/server/handlers/datasets.js +1 -1
  277. package/dist/server/handlers/logs.cjs +4 -4
  278. package/dist/server/handlers/logs.d.ts +105 -3
  279. package/dist/server/handlers/logs.d.ts.map +1 -1
  280. package/dist/server/handlers/logs.js +1 -1
  281. package/dist/server/handlers/mcp-client-versions.cjs +8 -8
  282. package/dist/server/handlers/mcp-client-versions.d.ts +197 -7
  283. package/dist/server/handlers/mcp-client-versions.d.ts.map +1 -1
  284. package/dist/server/handlers/mcp-client-versions.js +1 -1
  285. package/dist/server/handlers/mcp.cjs +9 -9
  286. package/dist/server/handlers/mcp.d.ts +73 -8
  287. package/dist/server/handlers/mcp.d.ts.map +1 -1
  288. package/dist/server/handlers/mcp.js +1 -1
  289. package/dist/server/handlers/memory.cjs +27 -27
  290. package/dist/server/handlers/memory.d.ts +579 -25
  291. package/dist/server/handlers/memory.d.ts.map +1 -1
  292. package/dist/server/handlers/memory.js +1 -1
  293. package/dist/server/handlers/observability.cjs +5 -5
  294. package/dist/server/handlers/observability.d.ts +181 -10
  295. package/dist/server/handlers/observability.d.ts.map +1 -1
  296. package/dist/server/handlers/observability.js +1 -1
  297. package/dist/server/handlers/processor-providers.cjs +3 -3
  298. package/dist/server/handlers/processor-providers.d.ts +29 -2
  299. package/dist/server/handlers/processor-providers.d.ts.map +1 -1
  300. package/dist/server/handlers/processor-providers.js +1 -1
  301. package/dist/server/handlers/processors.cjs +4 -4
  302. package/dist/server/handlers/processors.d.ts +113 -3
  303. package/dist/server/handlers/processors.d.ts.map +1 -1
  304. package/dist/server/handlers/processors.js +1 -1
  305. package/dist/server/handlers/prompt-block-versions.cjs +8 -8
  306. package/dist/server/handlers/prompt-block-versions.d.ts +563 -7
  307. package/dist/server/handlers/prompt-block-versions.d.ts.map +1 -1
  308. package/dist/server/handlers/prompt-block-versions.js +1 -1
  309. package/dist/server/handlers/scorer-versions.cjs +8 -8
  310. package/dist/server/handlers/scorer-versions.d.ts +311 -7
  311. package/dist/server/handlers/scorer-versions.d.ts.map +1 -1
  312. package/dist/server/handlers/scorer-versions.js +1 -1
  313. package/dist/server/handlers/scores.cjs +7 -7
  314. package/dist/server/handlers/scores.d.ts +84 -6
  315. package/dist/server/handlers/scores.d.ts.map +1 -1
  316. package/dist/server/handlers/scores.js +1 -1
  317. package/dist/server/handlers/stored-agents.cjs +7 -7
  318. package/dist/server/handlers/stored-agents.d.ts +5965 -6883
  319. package/dist/server/handlers/stored-agents.d.ts.map +1 -1
  320. package/dist/server/handlers/stored-agents.js +1 -1
  321. package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
  322. package/dist/server/handlers/stored-mcp-clients.d.ts +191 -5
  323. package/dist/server/handlers/stored-mcp-clients.d.ts.map +1 -1
  324. package/dist/server/handlers/stored-mcp-clients.js +1 -1
  325. package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
  326. package/dist/server/handlers/stored-prompt-blocks.d.ts +561 -5
  327. package/dist/server/handlers/stored-prompt-blocks.d.ts.map +1 -1
  328. package/dist/server/handlers/stored-prompt-blocks.js +1 -1
  329. package/dist/server/handlers/stored-scorers.cjs +6 -6
  330. package/dist/server/handlers/stored-scorers.d.ts +305 -5
  331. package/dist/server/handlers/stored-scorers.d.ts.map +1 -1
  332. package/dist/server/handlers/stored-scorers.js +1 -1
  333. package/dist/server/handlers/stored-skills.cjs +7 -7
  334. package/dist/server/handlers/stored-skills.d.ts +235 -6
  335. package/dist/server/handlers/stored-skills.d.ts.map +1 -1
  336. package/dist/server/handlers/stored-skills.js +1 -1
  337. package/dist/server/handlers/stored-workspaces.cjs +6 -6
  338. package/dist/server/handlers/stored-workspaces.d.ts +331 -5
  339. package/dist/server/handlers/stored-workspaces.d.ts.map +1 -1
  340. package/dist/server/handlers/stored-workspaces.js +1 -1
  341. package/dist/server/handlers/system.cjs +2 -2
  342. package/dist/server/handlers/system.d.ts +8 -1
  343. package/dist/server/handlers/system.d.ts.map +1 -1
  344. package/dist/server/handlers/system.js +1 -1
  345. package/dist/server/handlers/tool-providers.cjs +5 -5
  346. package/dist/server/handlers/tool-providers.d.ts +48 -4
  347. package/dist/server/handlers/tool-providers.d.ts.map +1 -1
  348. package/dist/server/handlers/tool-providers.js +1 -1
  349. package/dist/server/handlers/tools.cjs +6 -6
  350. package/dist/server/handlers/tools.d.ts +41 -5
  351. package/dist/server/handlers/tools.d.ts.map +1 -1
  352. package/dist/server/handlers/tools.js +1 -1
  353. package/dist/server/handlers/vector.cjs +16 -16
  354. package/dist/server/handlers/vector.d.ts +67 -8
  355. package/dist/server/handlers/vector.d.ts.map +1 -1
  356. package/dist/server/handlers/vector.js +1 -1
  357. package/dist/server/handlers/voice.cjs +8 -8
  358. package/dist/server/handlers/voice.d.ts +41 -7
  359. package/dist/server/handlers/voice.d.ts.map +1 -1
  360. package/dist/server/handlers/voice.js +1 -1
  361. package/dist/server/handlers/workflows.cjs +24 -24
  362. package/dist/server/handlers/workflows.d.ts +551 -23
  363. package/dist/server/handlers/workflows.d.ts.map +1 -1
  364. package/dist/server/handlers/workflows.js +1 -1
  365. package/dist/server/handlers/workspace.cjs +26 -26
  366. package/dist/server/handlers/workspace.d.ts +664 -39
  367. package/dist/server/handlers/workspace.d.ts.map +1 -1
  368. package/dist/server/handlers/workspace.js +1 -1
  369. package/dist/server/handlers.cjs +26 -26
  370. package/dist/server/handlers.js +13 -13
  371. package/dist/server/schemas/__tests__/route-contracts.typetest.d.ts +2 -0
  372. package/dist/server/schemas/__tests__/route-contracts.typetest.d.ts.map +1 -0
  373. package/dist/server/schemas/index.cjs +1717 -0
  374. package/dist/server/schemas/index.cjs.map +1 -0
  375. package/dist/server/schemas/index.d.ts +33 -0
  376. package/dist/server/schemas/index.d.ts.map +1 -0
  377. package/dist/server/schemas/index.js +32 -0
  378. package/dist/server/schemas/index.js.map +1 -0
  379. package/dist/server/schemas/route-contracts.d.ts +74 -0
  380. package/dist/server/schemas/route-contracts.d.ts.map +1 -0
  381. package/dist/server/server-adapter/index.cjs +290 -294
  382. package/dist/server/server-adapter/index.cjs.map +1 -1
  383. package/dist/server/server-adapter/index.d.ts +4 -0
  384. package/dist/server/server-adapter/index.d.ts.map +1 -1
  385. package/dist/server/server-adapter/index.js +65 -69
  386. package/dist/server/server-adapter/index.js.map +1 -1
  387. package/dist/server/server-adapter/openapi-utils.d.ts +2 -2
  388. package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
  389. package/dist/server/server-adapter/routes/a2a.d.ts +187 -2
  390. package/dist/server/server-adapter/routes/a2a.d.ts.map +1 -1
  391. package/dist/server/server-adapter/routes/agent-builder.d.ts +607 -2
  392. package/dist/server/server-adapter/routes/agent-builder.d.ts.map +1 -1
  393. package/dist/server/server-adapter/routes/agents.d.ts +43 -1
  394. package/dist/server/server-adapter/routes/agents.d.ts.map +1 -1
  395. package/dist/server/server-adapter/routes/datasets.d.ts +768 -2
  396. package/dist/server/server-adapter/routes/datasets.d.ts.map +1 -1
  397. package/dist/server/server-adapter/routes/index.d.ts +75 -4
  398. package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
  399. package/dist/server/server-adapter/routes/legacy.d.ts +347 -2
  400. package/dist/server/server-adapter/routes/legacy.d.ts.map +1 -1
  401. package/dist/server/server-adapter/routes/logs.d.ts +193 -2
  402. package/dist/server/server-adapter/routes/logs.d.ts.map +1 -1
  403. package/dist/server/server-adapter/routes/mcp.d.ts +131 -2
  404. package/dist/server/server-adapter/routes/mcp.d.ts.map +1 -1
  405. package/dist/server/server-adapter/routes/memory.d.ts +1082 -2
  406. package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
  407. package/dist/server/server-adapter/routes/observability.d.ts +308 -2
  408. package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
  409. package/dist/server/server-adapter/routes/processor-providers.d.ts +43 -2
  410. package/dist/server/server-adapter/routes/processor-providers.d.ts.map +1 -1
  411. package/dist/server/server-adapter/routes/processors.d.ts +197 -2
  412. package/dist/server/server-adapter/routes/processors.d.ts.map +1 -1
  413. package/dist/server/server-adapter/routes/route-builder.d.ts +6 -6
  414. package/dist/server/server-adapter/routes/route-builder.d.ts.map +1 -1
  415. package/dist/server/server-adapter/routes/scorers.d.ts +157 -2
  416. package/dist/server/server-adapter/routes/scorers.d.ts.map +1 -1
  417. package/dist/server/server-adapter/routes/stored-agents.d.ts +22 -1
  418. package/dist/server/server-adapter/routes/stored-agents.d.ts.map +1 -1
  419. package/dist/server/server-adapter/routes/stored-mcp-clients.d.ts +720 -2
  420. package/dist/server/server-adapter/routes/stored-mcp-clients.d.ts.map +1 -1
  421. package/dist/server/server-adapter/routes/stored-prompt-blocks.d.ts +1697 -2
  422. package/dist/server/server-adapter/routes/stored-prompt-blocks.d.ts.map +1 -1
  423. package/dist/server/server-adapter/routes/stored-scorers.d.ts +1077 -2
  424. package/dist/server/server-adapter/routes/stored-scorers.d.ts.map +1 -1
  425. package/dist/server/server-adapter/routes/stored-skills.d.ts +459 -2
  426. package/dist/server/server-adapter/routes/stored-skills.d.ts.map +1 -1
  427. package/dist/server/server-adapter/routes/stored-workspaces.d.ts +653 -2
  428. package/dist/server/server-adapter/routes/stored-workspaces.d.ts.map +1 -1
  429. package/dist/server/server-adapter/routes/system.d.ts +8 -1
  430. package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
  431. package/dist/server/server-adapter/routes/tool-providers.d.ts +89 -2
  432. package/dist/server/server-adapter/routes/tool-providers.d.ts.map +1 -1
  433. package/dist/server/server-adapter/routes/tools.d.ts +43 -2
  434. package/dist/server/server-adapter/routes/tools.d.ts.map +1 -1
  435. package/dist/server/server-adapter/routes/vectors.d.ts +119 -2
  436. package/dist/server/server-adapter/routes/vectors.d.ts.map +1 -1
  437. package/dist/server/server-adapter/routes/workflows.d.ts +897 -2
  438. package/dist/server/server-adapter/routes/workflows.d.ts.map +1 -1
  439. package/dist/server/server-adapter/routes/workspace.d.ts +650 -2
  440. package/dist/server/server-adapter/routes/workspace.d.ts.map +1 -1
  441. package/package.json +19 -9
  442. package/schemas.d.ts +1 -0
  443. package/dist/chunk-27QSSHGX.js.map +0 -1
  444. package/dist/chunk-3P34AJWW.js.map +0 -1
  445. package/dist/chunk-42NL52FN.js.map +0 -1
  446. package/dist/chunk-43WGLEEB.js.map +0 -1
  447. package/dist/chunk-4Q3QO4MB.cjs.map +0 -1
  448. package/dist/chunk-5CRPJSGU.js.map +0 -1
  449. package/dist/chunk-5OOQPDVS.cjs.map +0 -1
  450. package/dist/chunk-6JJCLDVS.cjs.map +0 -1
  451. package/dist/chunk-6WDBVMGU.js.map +0 -1
  452. package/dist/chunk-7F2JBD7F.cjs.map +0 -1
  453. package/dist/chunk-AILL53XB.cjs.map +0 -1
  454. package/dist/chunk-BAWISNLT.cjs.map +0 -1
  455. package/dist/chunk-BJ7PYBAM.cjs.map +0 -1
  456. package/dist/chunk-BZMWUSOF.js.map +0 -1
  457. package/dist/chunk-CPEJA5XY.cjs.map +0 -1
  458. package/dist/chunk-D6AEONK2.js.map +0 -1
  459. package/dist/chunk-DRFNY77Q.cjs.map +0 -1
  460. package/dist/chunk-DW6ZTEJ4.cjs.map +0 -1
  461. package/dist/chunk-E2UIA7IY.cjs.map +0 -1
  462. package/dist/chunk-E4NYFEOQ.cjs.map +0 -1
  463. package/dist/chunk-ELLQE6XA.js.map +0 -1
  464. package/dist/chunk-GAATB3SN.cjs.map +0 -1
  465. package/dist/chunk-GTFXCNM6.cjs +0 -343
  466. package/dist/chunk-GTFXCNM6.cjs.map +0 -1
  467. package/dist/chunk-HFOR62M4.js.map +0 -1
  468. package/dist/chunk-IXWCFFVU.cjs.map +0 -1
  469. package/dist/chunk-KD3YOO6V.cjs.map +0 -1
  470. package/dist/chunk-LFB6AUDW.js.map +0 -1
  471. package/dist/chunk-LIMSH6CA.js.map +0 -1
  472. package/dist/chunk-LIXI3MOA.cjs.map +0 -1
  473. package/dist/chunk-MHYPFRBW.js.map +0 -1
  474. package/dist/chunk-MKIO7LCE.cjs.map +0 -1
  475. package/dist/chunk-MOR4VVBW.js.map +0 -1
  476. package/dist/chunk-MWWNB5KJ.js.map +0 -1
  477. package/dist/chunk-NBYRUVSE.cjs.map +0 -1
  478. package/dist/chunk-OBA7KIAW.js.map +0 -1
  479. package/dist/chunk-OFVMF4SA.js.map +0 -1
  480. package/dist/chunk-ONKZNI7W.cjs.map +0 -1
  481. package/dist/chunk-OQG4AAGQ.cjs.map +0 -1
  482. package/dist/chunk-OQZPEQXU.cjs.map +0 -1
  483. package/dist/chunk-PYO3IWOR.js.map +0 -1
  484. package/dist/chunk-QG276LOL.js +0 -335
  485. package/dist/chunk-QG276LOL.js.map +0 -1
  486. package/dist/chunk-QRQAZI3Q.js.map +0 -1
  487. package/dist/chunk-QTII22RU.js.map +0 -1
  488. package/dist/chunk-QYPZ4IND.js.map +0 -1
  489. package/dist/chunk-R3WEUP7P.cjs.map +0 -1
  490. package/dist/chunk-R6M5RX3R.cjs.map +0 -1
  491. package/dist/chunk-RCEX4V4N.cjs.map +0 -1
  492. package/dist/chunk-RWLJZWDL.cjs.map +0 -1
  493. package/dist/chunk-S46TMT6A.cjs.map +0 -1
  494. package/dist/chunk-S5SBIVKP.js.map +0 -1
  495. package/dist/chunk-S7BVUW44.cjs.map +0 -1
  496. package/dist/chunk-SAHA4QAC.js.map +0 -1
  497. package/dist/chunk-SCSCPEXU.cjs.map +0 -1
  498. package/dist/chunk-SVQNZ6U2.js.map +0 -1
  499. package/dist/chunk-TOAWPUWG.cjs.map +0 -1
  500. package/dist/chunk-TRIYMJ4C.cjs.map +0 -1
  501. package/dist/chunk-U53P5KGY.js.map +0 -1
  502. package/dist/chunk-V4RWTVRV.cjs.map +0 -1
  503. package/dist/chunk-VFRQX7CD.cjs.map +0 -1
  504. package/dist/chunk-W7PA7IJX.js.map +0 -1
  505. package/dist/chunk-WQW3XWRQ.js.map +0 -1
  506. package/dist/chunk-XQURD55R.js.map +0 -1
  507. package/dist/chunk-YHXHZINI.js.map +0 -1
  508. package/dist/chunk-Z3LL4AAE.js.map +0 -1
  509. package/dist/observational-memory-YRWU6CY3-I7PD5THQ.js.map +0 -1
  510. package/dist/observational-memory-YRWU6CY3-OSS4UPF4.cjs.map +0 -1
@@ -1000,7 +1000,7 @@ function getCharacterCount(text) {
1000
1000
  return Array.from(text).length;
1001
1001
  }
1002
1002
 
1003
- // ../memory/dist/chunk-M7RAJAZ6.js
1003
+ // ../memory/dist/chunk-SUU4IAZJ.js
1004
1004
  function formatRelativeTime(date, currentDate) {
1005
1005
  const diffMs = currentDate.getTime() - date.getTime();
1006
1006
  const diffDays = Math.floor(diffMs / (1e3 * 60 * 60 * 24));
@@ -1779,6 +1779,11 @@ ${maybeTruncate(resultStr, maxLen)}`;
1779
1779
  ${maybeTruncate(argsStr, maxLen)}`;
1780
1780
  }
1781
1781
  const partType = part.type;
1782
+ if (partType === "reasoning") {
1783
+ const reasoning = part.reasoning;
1784
+ if (reasoning) return maybeTruncate(reasoning, maxLen);
1785
+ return "";
1786
+ }
1782
1787
  if (partType === "image" || partType === "file") {
1783
1788
  const attachment = part;
1784
1789
  const inputAttachment = toObserverInputAttachmentPart(attachment);
@@ -1793,6 +1798,9 @@ ${maybeTruncate(argsStr, maxLen)}`;
1793
1798
  } else if (msg.content?.content) {
1794
1799
  content = maybeTruncate(msg.content.content, maxLen);
1795
1800
  }
1801
+ if (!content && attachments.length === 0) {
1802
+ return { text: "", attachments };
1803
+ }
1796
1804
  return {
1797
1805
  text: `**${role}${timestampStr}:**
1798
1806
  ${content}`,
@@ -1801,18 +1809,21 @@ ${content}`,
1801
1809
  }
1802
1810
  function formatMessagesForObserver(messages, options) {
1803
1811
  const counter = { nextImageId: 1, nextFileId: 1 };
1804
- return messages.map((msg) => formatObserverMessage(msg, counter, options).text).join("\n\n---\n\n");
1812
+ return messages.map((msg) => formatObserverMessage(msg, counter, options).text).filter(Boolean).join("\n\n---\n\n");
1805
1813
  }
1806
1814
  function buildObserverHistoryMessage(messages) {
1807
1815
  const counter = { nextImageId: 1, nextFileId: 1 };
1808
1816
  const content = [{ type: "text", text: "## New Message History to Observe\n\n" }];
1809
- messages.forEach((message, index) => {
1817
+ let visibleCount = 0;
1818
+ messages.forEach((message) => {
1810
1819
  const formatted = formatObserverMessage(message, counter);
1811
- content.push({ type: "text", text: formatted.text });
1812
- content.push(...formatted.attachments);
1813
- if (index < messages.length - 1) {
1820
+ if (!formatted.text && formatted.attachments.length === 0) return;
1821
+ if (visibleCount > 0) {
1814
1822
  content.push({ type: "text", text: "\n\n---\n\n" });
1815
1823
  }
1824
+ content.push({ type: "text", text: formatted.text });
1825
+ content.push(...formatted.attachments);
1826
+ visibleCount++;
1816
1827
  });
1817
1828
  return {
1818
1829
  role: "user",
@@ -1841,16 +1852,22 @@ The following messages are from ${threadOrder.length} different conversation thr
1841
1852
  threadOrder.forEach((threadId, threadIndex) => {
1842
1853
  const messages = messagesByThread.get(threadId);
1843
1854
  if (!messages || messages.length === 0) return;
1844
- content.push({ type: "text", text: `<thread id="${threadId}">
1845
- ` });
1846
- messages.forEach((message, messageIndex) => {
1855
+ const threadContent = [];
1856
+ let visibleCount = 0;
1857
+ messages.forEach((message) => {
1847
1858
  const formatted = formatObserverMessage(message, counter);
1848
- content.push({ type: "text", text: formatted.text });
1849
- content.push(...formatted.attachments);
1850
- if (messageIndex < messages.length - 1) {
1851
- content.push({ type: "text", text: "\n\n---\n\n" });
1859
+ if (!formatted.text && formatted.attachments.length === 0) return;
1860
+ if (visibleCount > 0) {
1861
+ threadContent.push({ type: "text", text: "\n\n---\n\n" });
1852
1862
  }
1863
+ threadContent.push({ type: "text", text: formatted.text });
1864
+ threadContent.push(...formatted.attachments);
1865
+ visibleCount++;
1853
1866
  });
1867
+ if (visibleCount === 0) return;
1868
+ content.push({ type: "text", text: `<thread id="${threadId}">
1869
+ ` });
1870
+ content.push(...threadContent);
1854
1871
  content.push({ type: "text", text: "\n</thread>" });
1855
1872
  if (threadIndex < threadOrder.length - 1) {
1856
1873
  content.push({ type: "text", text: "\n\n" });
@@ -1861,7 +1878,7 @@ The following messages are from ${threadOrder.length} different conversation thr
1861
1878
  content
1862
1879
  };
1863
1880
  }
1864
- function buildMultiThreadObserverTaskPrompt(existingObservations) {
1881
+ function buildMultiThreadObserverTaskPrompt(existingObservations, threadOrder, priorMetadataByThread, wasTruncated) {
1865
1882
  let prompt = "";
1866
1883
  if (existingObservations) {
1867
1884
  prompt += `## Previous Observations
@@ -1873,6 +1890,39 @@ ${existingObservations}
1873
1890
  `;
1874
1891
  prompt += "Do not repeat these existing observations. Your new observations will be appended to the existing observations.\n\n";
1875
1892
  }
1893
+ const hasTruncatedObservations = wasTruncated ?? false;
1894
+ const threadMetadataLines = threadOrder?.map((threadId) => {
1895
+ const metadata = priorMetadataByThread?.get(threadId);
1896
+ if (!metadata?.currentTask && !metadata?.suggestedResponse) {
1897
+ return "";
1898
+ }
1899
+ const lines = [`- thread ${threadId}`];
1900
+ if (metadata.currentTask) {
1901
+ lines.push(` - prior current-task: ${metadata.currentTask}`);
1902
+ }
1903
+ if (metadata.suggestedResponse) {
1904
+ lines.push(` - prior suggested-response: ${metadata.suggestedResponse}`);
1905
+ }
1906
+ return lines.join("\n");
1907
+ }).filter(Boolean).join("\n");
1908
+ if (threadMetadataLines) {
1909
+ prompt += `## Prior Thread Metadata
1910
+
1911
+ ${threadMetadataLines}
1912
+
1913
+ `;
1914
+ if (hasTruncatedObservations) {
1915
+ prompt += `Previous observations were truncated for context budget reasons.
1916
+ `;
1917
+ prompt += `The main agent still has full memory context outside this observer window.
1918
+ `;
1919
+ }
1920
+ prompt += `Use each thread's prior current-task and suggested-response as continuity hints, then update them based on that thread's new messages.
1921
+
1922
+ ---
1923
+
1924
+ `;
1925
+ }
1876
1926
  prompt += `## Your Task
1877
1927
 
1878
1928
  `;
@@ -1961,6 +2011,32 @@ ${existingObservations}
1961
2011
  `;
1962
2012
  prompt += "Do not repeat these existing observations. Your new observations will be appended to the existing observations.\n\n";
1963
2013
  }
2014
+ const hasTruncatedObservations = options?.wasTruncated ?? false;
2015
+ const priorMetadataLines = [];
2016
+ if (options?.priorCurrentTask) {
2017
+ priorMetadataLines.push(`- prior current-task: ${options.priorCurrentTask}`);
2018
+ }
2019
+ if (options?.priorSuggestedResponse) {
2020
+ priorMetadataLines.push(`- prior suggested-response: ${options.priorSuggestedResponse}`);
2021
+ }
2022
+ if (priorMetadataLines.length > 0) {
2023
+ prompt += `## Prior Thread Metadata
2024
+
2025
+ ${priorMetadataLines.join("\n")}
2026
+
2027
+ `;
2028
+ if (hasTruncatedObservations) {
2029
+ prompt += `Previous observations were truncated for context budget reasons.
2030
+ `;
2031
+ prompt += `The main agent still has full memory context outside this observer window.
2032
+ `;
2033
+ }
2034
+ prompt += `Use the prior current-task and suggested-response as continuity hints, then update them based on the new messages.
2035
+
2036
+ ---
2037
+
2038
+ `;
2039
+ }
1964
2040
  prompt += `## Your Task
1965
2041
 
1966
2042
  `;
@@ -4246,6 +4322,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4246
4322
  config.observation?.blockAfter ?? (config.observation?.bufferTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.bufferTokens ? 1.2 : void 0),
4247
4323
  config.observation?.messageTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.messageTokens
4248
4324
  ),
4325
+ previousObserverTokens: config.observation?.previousObserverTokens ?? 2e3,
4249
4326
  instruction: config.observation?.instruction
4250
4327
  };
4251
4328
  this.reflectionConfig = {
@@ -4282,7 +4359,8 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4282
4359
  return {
4283
4360
  scope: this.scope,
4284
4361
  observation: {
4285
- messageTokens: this.observationConfig.messageTokens
4362
+ messageTokens: this.observationConfig.messageTokens,
4363
+ previousObserverTokens: this.observationConfig.previousObserverTokens
4286
4364
  },
4287
4365
  reflection: {
4288
4366
  observationTokens: this.reflectionConfig.observationTokens
@@ -4362,7 +4440,8 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4362
4440
  scope: this.scope,
4363
4441
  observation: {
4364
4442
  messageTokens: this.observationConfig.messageTokens,
4365
- model: observationModelName
4443
+ model: observationModelName,
4444
+ previousObserverTokens: this.observationConfig.previousObserverTokens
4366
4445
  },
4367
4446
  reflection: {
4368
4447
  observationTokens: this.reflectionConfig.observationTokens,
@@ -4427,6 +4506,13 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4427
4506
  );
4428
4507
  }
4429
4508
  }
4509
+ if (this.observationConfig.previousObserverTokens !== void 0 && this.observationConfig.previousObserverTokens !== false) {
4510
+ if (!Number.isFinite(this.observationConfig.previousObserverTokens) || this.observationConfig.previousObserverTokens < 0) {
4511
+ throw new Error(
4512
+ `observation.previousObserverTokens must be false or a finite number >= 0, got ${this.observationConfig.previousObserverTokens}`
4513
+ );
4514
+ }
4515
+ }
4430
4516
  if (this.reflectionConfig.bufferActivation !== void 0) {
4431
4517
  if (this.reflectionConfig.bufferActivation <= 0 || this.reflectionConfig.bufferActivation > 1) {
4432
4518
  throw new Error(
@@ -4824,6 +4910,141 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4824
4910
  }
4825
4911
  return result;
4826
4912
  }
4913
+ /**
4914
+ * Prepare optimized observer context by applying truncation and buffered-reflection inclusion.
4915
+ *
4916
+ * Returns the (possibly optimized) observations string to pass as "Previous Observations"
4917
+ * to the observer prompt. When no optimization options are set, returns the input unchanged.
4918
+ */
4919
+ prepareObserverContext(existingObservations, record) {
4920
+ const { previousObserverTokens } = this.observationConfig;
4921
+ const tokenBudget = previousObserverTokens === void 0 || previousObserverTokens === false ? void 0 : previousObserverTokens;
4922
+ if (tokenBudget === void 0) {
4923
+ return { context: existingObservations, wasTruncated: false };
4924
+ }
4925
+ const bufferedReflection = record?.bufferedReflection && record?.reflectedObservationLineCount ? record.bufferedReflection : void 0;
4926
+ if (!existingObservations) {
4927
+ return { context: bufferedReflection, wasTruncated: false };
4928
+ }
4929
+ let observations = existingObservations;
4930
+ if (bufferedReflection && record?.reflectedObservationLineCount) {
4931
+ const allLines = observations.split("\n");
4932
+ const unreflectedLines = allLines.slice(record.reflectedObservationLineCount);
4933
+ const unreflectedContent = unreflectedLines.join("\n").trim();
4934
+ observations = unreflectedContent ? `${bufferedReflection}
4935
+
4936
+ ${unreflectedContent}` : bufferedReflection;
4937
+ }
4938
+ let wasTruncated = false;
4939
+ if (tokenBudget !== void 0) {
4940
+ if (tokenBudget === 0) {
4941
+ return { context: "", wasTruncated: true };
4942
+ }
4943
+ const currentTokens = this.tokenCounter.countObservations(observations);
4944
+ if (currentTokens > tokenBudget) {
4945
+ observations = this.truncateObservationsToTokenBudget(observations, tokenBudget);
4946
+ wasTruncated = true;
4947
+ }
4948
+ }
4949
+ return { context: observations, wasTruncated };
4950
+ }
4951
+ /**
4952
+ * Truncate observations to fit within a token budget.
4953
+ *
4954
+ * Strategy:
4955
+ * 1. Keep a raw tail of recent observations (end of block).
4956
+ * 2. Add a truncation marker: [X observations truncated here], placed at the hidden gap.
4957
+ * 3. Try to preserve important observations (🔴) from older context, newest-first.
4958
+ * 4. Enforce that at least 50% of kept observations remain raw tail observations.
4959
+ */
4960
+ truncateObservationsToTokenBudget(observations, budget) {
4961
+ if (budget === 0) {
4962
+ return "";
4963
+ }
4964
+ const totalTokens = this.tokenCounter.countObservations(observations);
4965
+ if (totalTokens <= budget) {
4966
+ return observations;
4967
+ }
4968
+ const lines = observations.split("\n");
4969
+ const totalCount = lines.length;
4970
+ const lineTokens = new Array(totalCount);
4971
+ const isImportant = new Array(totalCount);
4972
+ for (let i = 0; i < totalCount; i++) {
4973
+ lineTokens[i] = this.tokenCounter.countString(lines[i]);
4974
+ isImportant[i] = lines[i].includes("\u{1F534}");
4975
+ }
4976
+ const suffixTokens = new Array(totalCount + 1);
4977
+ suffixTokens[totalCount] = 0;
4978
+ for (let i = totalCount - 1; i >= 0; i--) {
4979
+ suffixTokens[i] = suffixTokens[i + 1] + lineTokens[i];
4980
+ }
4981
+ const headImportantIndexes = [];
4982
+ const buildCandidateString = (tailStart, selectedImportantIndexes) => {
4983
+ const keptIndexes = [
4984
+ ...selectedImportantIndexes,
4985
+ ...Array.from({ length: totalCount - tailStart }, (_, i) => tailStart + i)
4986
+ ].sort((a, b) => a - b);
4987
+ if (keptIndexes.length === 0) {
4988
+ return `[${totalCount} observations truncated here]`;
4989
+ }
4990
+ const outputLines = [];
4991
+ let previousKeptIndex = -1;
4992
+ for (const keptIndex of keptIndexes) {
4993
+ const hiddenCount = keptIndex - previousKeptIndex - 1;
4994
+ if (hiddenCount === 1) {
4995
+ outputLines.push(lines[previousKeptIndex + 1]);
4996
+ } else if (hiddenCount > 1) {
4997
+ outputLines.push(`[${hiddenCount} observations truncated here]`);
4998
+ }
4999
+ outputLines.push(lines[keptIndex]);
5000
+ previousKeptIndex = keptIndex;
5001
+ }
5002
+ const trailingHiddenCount = totalCount - previousKeptIndex - 1;
5003
+ if (trailingHiddenCount === 1) {
5004
+ outputLines.push(lines[totalCount - 1]);
5005
+ } else if (trailingHiddenCount > 1) {
5006
+ outputLines.push(`[${trailingHiddenCount} observations truncated here]`);
5007
+ }
5008
+ return outputLines.join("\n");
5009
+ };
5010
+ const estimateKeptContentCost = (tailStart, selectedImportantIndexes) => {
5011
+ let cost = suffixTokens[tailStart];
5012
+ for (const idx of selectedImportantIndexes) {
5013
+ cost += lineTokens[idx];
5014
+ }
5015
+ return cost;
5016
+ };
5017
+ let bestCandidate;
5018
+ let bestImportantCount = -1;
5019
+ let bestRawTailLength = -1;
5020
+ for (let tailStart = 1; tailStart < totalCount; tailStart++) {
5021
+ if (isImportant[tailStart - 1]) {
5022
+ headImportantIndexes.push(tailStart - 1);
5023
+ }
5024
+ const rawTailLength = totalCount - tailStart;
5025
+ const maxImportantByRatio = rawTailLength;
5026
+ let importantToKeep = Math.min(headImportantIndexes.length, maxImportantByRatio);
5027
+ const getSelectedImportant = (count) => count > 0 ? headImportantIndexes.slice(Math.max(0, headImportantIndexes.length - count)) : [];
5028
+ while (importantToKeep > 0 && estimateKeptContentCost(tailStart, getSelectedImportant(importantToKeep)) > budget) {
5029
+ importantToKeep -= 1;
5030
+ }
5031
+ if (estimateKeptContentCost(tailStart, getSelectedImportant(importantToKeep)) > budget) {
5032
+ continue;
5033
+ }
5034
+ if (importantToKeep > bestImportantCount || importantToKeep === bestImportantCount && rawTailLength > bestRawTailLength) {
5035
+ const candidate = buildCandidateString(tailStart, getSelectedImportant(importantToKeep));
5036
+ if (this.tokenCounter.countObservations(candidate) <= budget) {
5037
+ bestCandidate = candidate;
5038
+ bestImportantCount = importantToKeep;
5039
+ bestRawTailLength = rawTailLength;
5040
+ }
5041
+ }
5042
+ }
5043
+ if (!bestCandidate) {
5044
+ return `[${totalCount} observations truncated here]`;
5045
+ }
5046
+ return bestCandidate;
5047
+ }
4827
5048
  /**
4828
5049
  * Call the Observer agent to extract observations.
4829
5050
  */
@@ -4832,12 +5053,17 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4832
5053
  const observerMessages = [
4833
5054
  {
4834
5055
  role: "user",
4835
- content: buildObserverTaskPrompt(existingObservations, options)
5056
+ content: buildObserverTaskPrompt(existingObservations, {
5057
+ skipContinuationHints: options?.skipContinuationHints,
5058
+ priorCurrentTask: options?.priorCurrentTask,
5059
+ priorSuggestedResponse: options?.priorSuggestedResponse,
5060
+ wasTruncated: options?.wasTruncated
5061
+ })
4836
5062
  },
4837
5063
  buildObserverHistoryMessage(messagesToObserve)
4838
5064
  ];
4839
5065
  const doGenerate = async () => {
4840
- return this.withAbortCheck(async () => {
5066
+ const result2 = await this.withAbortCheck(async () => {
4841
5067
  const streamResult = await agent.stream(observerMessages, {
4842
5068
  modelSettings: {
4843
5069
  ...this.observationConfig.modelSettings
@@ -4848,6 +5074,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4848
5074
  });
4849
5075
  return streamResult.getFullOutput();
4850
5076
  }, abortSignal);
5077
+ return result2;
4851
5078
  };
4852
5079
  let result = await doGenerate();
4853
5080
  let parsed = parseObserverOutput(result.text);
@@ -4878,17 +5105,23 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4878
5105
  * Returns per-thread results with observations, currentTask, and suggestedContinuation,
4879
5106
  * plus the total usage for the batch.
4880
5107
  */
4881
- async callMultiThreadObserver(existingObservations, messagesByThread, threadOrder, abortSignal, requestContext) {
5108
+ async callMultiThreadObserver(existingObservations, messagesByThread, threadOrder, priorMetadataByThread, abortSignal, requestContext, wasTruncated) {
5109
+ const systemPrompt = buildObserverSystemPrompt(true, this.observationConfig.instruction);
4882
5110
  const agent = new Agent({
4883
5111
  id: "multi-thread-observer",
4884
5112
  name: "multi-thread-observer",
4885
5113
  model: this.observationConfig.model,
4886
- instructions: buildObserverSystemPrompt(true, this.observationConfig.instruction)
5114
+ instructions: systemPrompt
4887
5115
  });
4888
5116
  const observerMessages = [
4889
5117
  {
4890
5118
  role: "user",
4891
- content: buildMultiThreadObserverTaskPrompt(existingObservations)
5119
+ content: buildMultiThreadObserverTaskPrompt(
5120
+ existingObservations,
5121
+ threadOrder,
5122
+ priorMetadataByThread,
5123
+ wasTruncated
5124
+ )
4892
5125
  },
4893
5126
  buildMultiThreadObserverHistoryMessage(messagesByThread, threadOrder)
4894
5127
  ];
@@ -4900,7 +5133,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4900
5133
  this.observedMessageIds.add(msg.id);
4901
5134
  }
4902
5135
  const doGenerate = async () => {
4903
- return this.withAbortCheck(async () => {
5136
+ const result2 = await this.withAbortCheck(async () => {
4904
5137
  const streamResult = await agent.stream(observerMessages, {
4905
5138
  modelSettings: {
4906
5139
  ...this.observationConfig.modelSettings
@@ -4911,6 +5144,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4911
5144
  });
4912
5145
  return streamResult.getFullOutput();
4913
5146
  }, abortSignal);
5147
+ return result2;
4914
5148
  };
4915
5149
  let result = await doGenerate();
4916
5150
  let parsed = parseMultiThreadObserverOutput(result.text);
@@ -6344,12 +6578,18 @@ ${newThreadSection}`;
6344
6578
  );
6345
6579
  }
6346
6580
  }
6347
- const result = await this.callObserver(
6581
+ const { context: observerContext, wasTruncated } = this.prepareObserverContext(
6348
6582
  freshRecord?.activeObservations ?? record.activeObservations,
6349
- messagesToObserve,
6350
- abortSignal,
6351
- { requestContext }
6583
+ freshRecord ?? record
6352
6584
  );
6585
+ const thread = await this.storage.getThreadById({ threadId });
6586
+ const threadOMMetadata = getThreadOMMetadata(thread?.metadata);
6587
+ const result = await this.callObserver(observerContext, messagesToObserve, abortSignal, {
6588
+ requestContext,
6589
+ priorCurrentTask: threadOMMetadata?.currentTask,
6590
+ priorSuggestedResponse: threadOMMetadata?.suggestedResponse,
6591
+ wasTruncated
6592
+ });
6353
6593
  const existingObservations = freshRecord?.activeObservations ?? record.activeObservations ?? "";
6354
6594
  let newObservations;
6355
6595
  if (this.scope === "resource") {
@@ -6366,16 +6606,16 @@ ${result.observations}` : result.observations;
6366
6606
  const newMessageIds = messagesToObserve.map((m) => m.id);
6367
6607
  const existingIds = freshRecord?.observedMessageIds ?? record.observedMessageIds ?? [];
6368
6608
  const allObservedIds = [.../* @__PURE__ */ new Set([...Array.isArray(existingIds) ? existingIds : [], ...newMessageIds])];
6369
- const thread = await this.storage.getThreadById({ threadId });
6370
- if (thread) {
6371
- const newMetadata = setThreadOMMetadata(thread.metadata, {
6609
+ const threadForMetadata = await this.storage.getThreadById({ threadId });
6610
+ if (threadForMetadata) {
6611
+ const newMetadata = setThreadOMMetadata(threadForMetadata.metadata, {
6372
6612
  suggestedResponse: result.suggestedContinuation,
6373
6613
  currentTask: result.currentTask,
6374
6614
  lastObservedMessageCursor: this.getLastObservedMessageCursor(messagesToObserve)
6375
6615
  });
6376
6616
  await this.storage.updateThread({
6377
6617
  id: threadId,
6378
- title: thread.title ?? "",
6618
+ title: threadForMetadata.title ?? "",
6379
6619
  metadata: newMetadata
6380
6620
  });
6381
6621
  }
@@ -6609,12 +6849,21 @@ ${result.observations}` : result.observations;
6609
6849
  const bufferedChunks = this.getBufferedChunks(record);
6610
6850
  const bufferedChunksText = bufferedChunks.map((c) => c.observations).join("\n\n");
6611
6851
  const combinedObservations = this.combineObservationsForBuffering(record.activeObservations, bufferedChunksText);
6852
+ const { context: observerContext, wasTruncated } = this.prepareObserverContext(combinedObservations, record);
6853
+ const thread = await this.storage.getThreadById({ threadId });
6854
+ const threadOMMetadata = getThreadOMMetadata(thread?.metadata);
6612
6855
  const result = await this.callObserver(
6613
- combinedObservations,
6856
+ observerContext,
6614
6857
  messagesToBuffer,
6615
6858
  void 0,
6616
6859
  // No abort signal for background ops
6617
- { skipContinuationHints: true, requestContext }
6860
+ {
6861
+ skipContinuationHints: true,
6862
+ requestContext,
6863
+ priorCurrentTask: threadOMMetadata?.currentTask,
6864
+ priorSuggestedResponse: threadOMMetadata?.suggestedResponse,
6865
+ wasTruncated
6866
+ }
6618
6867
  );
6619
6868
  if (!result.observations) {
6620
6869
  omDebug(`[OM:doAsyncBufferedObservation] empty observations returned, skipping buffer storage`);
@@ -6681,8 +6930,6 @@ ${result.observations}` : result.observations;
6681
6930
  }
6682
6931
  return `${activeObservations}
6683
6932
 
6684
- --- BUFFERED (pending activation) ---
6685
-
6686
6933
  ${bufferedObservations}`;
6687
6934
  }
6688
6935
  /**
@@ -7042,7 +7289,11 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7042
7289
  const threadMetadataMap = /* @__PURE__ */ new Map();
7043
7290
  for (const thread of allThreads) {
7044
7291
  const omMetadata = getThreadOMMetadata(thread.metadata);
7045
- threadMetadataMap.set(thread.id, { lastObservedAt: omMetadata?.lastObservedAt });
7292
+ threadMetadataMap.set(thread.id, {
7293
+ lastObservedAt: omMetadata?.lastObservedAt,
7294
+ currentTask: omMetadata?.currentTask,
7295
+ suggestedResponse: omMetadata?.suggestedResponse
7296
+ });
7046
7297
  }
7047
7298
  const messagesByThread = /* @__PURE__ */ new Map();
7048
7299
  for (const thread of allThreads) {
@@ -7122,7 +7373,12 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7122
7373
  return;
7123
7374
  }
7124
7375
  }
7125
- const existingObservations = freshRecord?.activeObservations ?? record.activeObservations ?? "";
7376
+ const rawExistingObservations = freshRecord?.activeObservations ?? record.activeObservations ?? "";
7377
+ const { context: optimizedObservations, wasTruncated } = this.prepareObserverContext(
7378
+ rawExistingObservations,
7379
+ freshRecord ?? record
7380
+ );
7381
+ const existingObservations = optimizedObservations ?? rawExistingObservations;
7126
7382
  for (const threadId of threadOrder) {
7127
7383
  const msgs = messagesByThread.get(threadId);
7128
7384
  if (msgs && msgs.length > 0) {
@@ -7186,12 +7442,24 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7186
7442
  batches.push(currentBatch);
7187
7443
  }
7188
7444
  const batchPromises = batches.map(async (batch) => {
7445
+ const batchPriorMetadata = /* @__PURE__ */ new Map();
7446
+ for (const threadId of batch.threadIds) {
7447
+ const metadata = threadMetadataMap.get(threadId);
7448
+ if (metadata?.currentTask || metadata?.suggestedResponse) {
7449
+ batchPriorMetadata.set(threadId, {
7450
+ currentTask: metadata.currentTask,
7451
+ suggestedResponse: metadata.suggestedResponse
7452
+ });
7453
+ }
7454
+ }
7189
7455
  const batchResult = await this.callMultiThreadObserver(
7190
7456
  existingObservations,
7191
7457
  batch.threadMap,
7192
7458
  batch.threadIds,
7459
+ batchPriorMetadata,
7193
7460
  abortSignal,
7194
- requestContext
7461
+ requestContext,
7462
+ wasTruncated
7195
7463
  );
7196
7464
  return batchResult;
7197
7465
  });
@@ -7222,7 +7490,7 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7222
7490
  result
7223
7491
  });
7224
7492
  }
7225
- let currentObservations = existingObservations;
7493
+ let currentObservations = rawExistingObservations;
7226
7494
  let cycleObservationTokens = 0;
7227
7495
  for (const obsResult of observationResults) {
7228
7496
  if (!obsResult) continue;
@@ -7676,5 +7944,5 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7676
7944
  };
7677
7945
 
7678
7946
  export { OBSERVATIONAL_MEMORY_DEFAULTS, OBSERVATION_CONTEXT_INSTRUCTIONS, OBSERVATION_CONTEXT_PROMPT, OBSERVATION_CONTINUATION_HINT, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, extractCurrentTask, formatMessagesForObserver, hasCurrentTaskSection, optimizeObservationsForContext, parseObserverOutput };
7679
- //# sourceMappingURL=observational-memory-YRWU6CY3-I7PD5THQ.js.map
7680
- //# sourceMappingURL=observational-memory-YRWU6CY3-I7PD5THQ.js.map
7947
+ //# sourceMappingURL=observational-memory-XXD6E2SO-QVSLOLI6.js.map
7948
+ //# sourceMappingURL=observational-memory-XXD6E2SO-QVSLOLI6.js.map