@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
@@ -1002,7 +1002,7 @@ function getCharacterCount(text) {
1002
1002
  return Array.from(text).length;
1003
1003
  }
1004
1004
 
1005
- // ../memory/dist/chunk-M7RAJAZ6.js
1005
+ // ../memory/dist/chunk-SUU4IAZJ.js
1006
1006
  function formatRelativeTime(date, currentDate) {
1007
1007
  const diffMs = currentDate.getTime() - date.getTime();
1008
1008
  const diffDays = Math.floor(diffMs / (1e3 * 60 * 60 * 24));
@@ -1781,6 +1781,11 @@ ${maybeTruncate(resultStr, maxLen)}`;
1781
1781
  ${maybeTruncate(argsStr, maxLen)}`;
1782
1782
  }
1783
1783
  const partType = part.type;
1784
+ if (partType === "reasoning") {
1785
+ const reasoning = part.reasoning;
1786
+ if (reasoning) return maybeTruncate(reasoning, maxLen);
1787
+ return "";
1788
+ }
1784
1789
  if (partType === "image" || partType === "file") {
1785
1790
  const attachment = part;
1786
1791
  const inputAttachment = toObserverInputAttachmentPart(attachment);
@@ -1795,6 +1800,9 @@ ${maybeTruncate(argsStr, maxLen)}`;
1795
1800
  } else if (msg.content?.content) {
1796
1801
  content = maybeTruncate(msg.content.content, maxLen);
1797
1802
  }
1803
+ if (!content && attachments.length === 0) {
1804
+ return { text: "", attachments };
1805
+ }
1798
1806
  return {
1799
1807
  text: `**${role}${timestampStr}:**
1800
1808
  ${content}`,
@@ -1803,18 +1811,21 @@ ${content}`,
1803
1811
  }
1804
1812
  function formatMessagesForObserver(messages, options) {
1805
1813
  const counter = { nextImageId: 1, nextFileId: 1 };
1806
- return messages.map((msg) => formatObserverMessage(msg, counter, options).text).join("\n\n---\n\n");
1814
+ return messages.map((msg) => formatObserverMessage(msg, counter, options).text).filter(Boolean).join("\n\n---\n\n");
1807
1815
  }
1808
1816
  function buildObserverHistoryMessage(messages) {
1809
1817
  const counter = { nextImageId: 1, nextFileId: 1 };
1810
1818
  const content = [{ type: "text", text: "## New Message History to Observe\n\n" }];
1811
- messages.forEach((message, index) => {
1819
+ let visibleCount = 0;
1820
+ messages.forEach((message) => {
1812
1821
  const formatted = formatObserverMessage(message, counter);
1813
- content.push({ type: "text", text: formatted.text });
1814
- content.push(...formatted.attachments);
1815
- if (index < messages.length - 1) {
1822
+ if (!formatted.text && formatted.attachments.length === 0) return;
1823
+ if (visibleCount > 0) {
1816
1824
  content.push({ type: "text", text: "\n\n---\n\n" });
1817
1825
  }
1826
+ content.push({ type: "text", text: formatted.text });
1827
+ content.push(...formatted.attachments);
1828
+ visibleCount++;
1818
1829
  });
1819
1830
  return {
1820
1831
  role: "user",
@@ -1843,16 +1854,22 @@ The following messages are from ${threadOrder.length} different conversation thr
1843
1854
  threadOrder.forEach((threadId, threadIndex) => {
1844
1855
  const messages = messagesByThread.get(threadId);
1845
1856
  if (!messages || messages.length === 0) return;
1846
- content.push({ type: "text", text: `<thread id="${threadId}">
1847
- ` });
1848
- messages.forEach((message, messageIndex) => {
1857
+ const threadContent = [];
1858
+ let visibleCount = 0;
1859
+ messages.forEach((message) => {
1849
1860
  const formatted = formatObserverMessage(message, counter);
1850
- content.push({ type: "text", text: formatted.text });
1851
- content.push(...formatted.attachments);
1852
- if (messageIndex < messages.length - 1) {
1853
- content.push({ type: "text", text: "\n\n---\n\n" });
1861
+ if (!formatted.text && formatted.attachments.length === 0) return;
1862
+ if (visibleCount > 0) {
1863
+ threadContent.push({ type: "text", text: "\n\n---\n\n" });
1854
1864
  }
1865
+ threadContent.push({ type: "text", text: formatted.text });
1866
+ threadContent.push(...formatted.attachments);
1867
+ visibleCount++;
1855
1868
  });
1869
+ if (visibleCount === 0) return;
1870
+ content.push({ type: "text", text: `<thread id="${threadId}">
1871
+ ` });
1872
+ content.push(...threadContent);
1856
1873
  content.push({ type: "text", text: "\n</thread>" });
1857
1874
  if (threadIndex < threadOrder.length - 1) {
1858
1875
  content.push({ type: "text", text: "\n\n" });
@@ -1863,7 +1880,7 @@ The following messages are from ${threadOrder.length} different conversation thr
1863
1880
  content
1864
1881
  };
1865
1882
  }
1866
- function buildMultiThreadObserverTaskPrompt(existingObservations) {
1883
+ function buildMultiThreadObserverTaskPrompt(existingObservations, threadOrder, priorMetadataByThread, wasTruncated) {
1867
1884
  let prompt = "";
1868
1885
  if (existingObservations) {
1869
1886
  prompt += `## Previous Observations
@@ -1875,6 +1892,39 @@ ${existingObservations}
1875
1892
  `;
1876
1893
  prompt += "Do not repeat these existing observations. Your new observations will be appended to the existing observations.\n\n";
1877
1894
  }
1895
+ const hasTruncatedObservations = wasTruncated ?? false;
1896
+ const threadMetadataLines = threadOrder?.map((threadId) => {
1897
+ const metadata = priorMetadataByThread?.get(threadId);
1898
+ if (!metadata?.currentTask && !metadata?.suggestedResponse) {
1899
+ return "";
1900
+ }
1901
+ const lines = [`- thread ${threadId}`];
1902
+ if (metadata.currentTask) {
1903
+ lines.push(` - prior current-task: ${metadata.currentTask}`);
1904
+ }
1905
+ if (metadata.suggestedResponse) {
1906
+ lines.push(` - prior suggested-response: ${metadata.suggestedResponse}`);
1907
+ }
1908
+ return lines.join("\n");
1909
+ }).filter(Boolean).join("\n");
1910
+ if (threadMetadataLines) {
1911
+ prompt += `## Prior Thread Metadata
1912
+
1913
+ ${threadMetadataLines}
1914
+
1915
+ `;
1916
+ if (hasTruncatedObservations) {
1917
+ prompt += `Previous observations were truncated for context budget reasons.
1918
+ `;
1919
+ prompt += `The main agent still has full memory context outside this observer window.
1920
+ `;
1921
+ }
1922
+ prompt += `Use each thread's prior current-task and suggested-response as continuity hints, then update them based on that thread's new messages.
1923
+
1924
+ ---
1925
+
1926
+ `;
1927
+ }
1878
1928
  prompt += `## Your Task
1879
1929
 
1880
1930
  `;
@@ -1963,6 +2013,32 @@ ${existingObservations}
1963
2013
  `;
1964
2014
  prompt += "Do not repeat these existing observations. Your new observations will be appended to the existing observations.\n\n";
1965
2015
  }
2016
+ const hasTruncatedObservations = options?.wasTruncated ?? false;
2017
+ const priorMetadataLines = [];
2018
+ if (options?.priorCurrentTask) {
2019
+ priorMetadataLines.push(`- prior current-task: ${options.priorCurrentTask}`);
2020
+ }
2021
+ if (options?.priorSuggestedResponse) {
2022
+ priorMetadataLines.push(`- prior suggested-response: ${options.priorSuggestedResponse}`);
2023
+ }
2024
+ if (priorMetadataLines.length > 0) {
2025
+ prompt += `## Prior Thread Metadata
2026
+
2027
+ ${priorMetadataLines.join("\n")}
2028
+
2029
+ `;
2030
+ if (hasTruncatedObservations) {
2031
+ prompt += `Previous observations were truncated for context budget reasons.
2032
+ `;
2033
+ prompt += `The main agent still has full memory context outside this observer window.
2034
+ `;
2035
+ }
2036
+ prompt += `Use the prior current-task and suggested-response as continuity hints, then update them based on the new messages.
2037
+
2038
+ ---
2039
+
2040
+ `;
2041
+ }
1966
2042
  prompt += `## Your Task
1967
2043
 
1968
2044
  `;
@@ -4248,6 +4324,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4248
4324
  config.observation?.blockAfter ?? (config.observation?.bufferTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.bufferTokens ? 1.2 : void 0),
4249
4325
  config.observation?.messageTokens ?? OBSERVATIONAL_MEMORY_DEFAULTS.observation.messageTokens
4250
4326
  ),
4327
+ previousObserverTokens: config.observation?.previousObserverTokens ?? 2e3,
4251
4328
  instruction: config.observation?.instruction
4252
4329
  };
4253
4330
  this.reflectionConfig = {
@@ -4284,7 +4361,8 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4284
4361
  return {
4285
4362
  scope: this.scope,
4286
4363
  observation: {
4287
- messageTokens: this.observationConfig.messageTokens
4364
+ messageTokens: this.observationConfig.messageTokens,
4365
+ previousObserverTokens: this.observationConfig.previousObserverTokens
4288
4366
  },
4289
4367
  reflection: {
4290
4368
  observationTokens: this.reflectionConfig.observationTokens
@@ -4364,7 +4442,8 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4364
4442
  scope: this.scope,
4365
4443
  observation: {
4366
4444
  messageTokens: this.observationConfig.messageTokens,
4367
- model: observationModelName
4445
+ model: observationModelName,
4446
+ previousObserverTokens: this.observationConfig.previousObserverTokens
4368
4447
  },
4369
4448
  reflection: {
4370
4449
  observationTokens: this.reflectionConfig.observationTokens,
@@ -4429,6 +4508,13 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4429
4508
  );
4430
4509
  }
4431
4510
  }
4511
+ if (this.observationConfig.previousObserverTokens !== void 0 && this.observationConfig.previousObserverTokens !== false) {
4512
+ if (!Number.isFinite(this.observationConfig.previousObserverTokens) || this.observationConfig.previousObserverTokens < 0) {
4513
+ throw new Error(
4514
+ `observation.previousObserverTokens must be false or a finite number >= 0, got ${this.observationConfig.previousObserverTokens}`
4515
+ );
4516
+ }
4517
+ }
4432
4518
  if (this.reflectionConfig.bufferActivation !== void 0) {
4433
4519
  if (this.reflectionConfig.bufferActivation <= 0 || this.reflectionConfig.bufferActivation > 1) {
4434
4520
  throw new Error(
@@ -4826,6 +4912,141 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4826
4912
  }
4827
4913
  return result;
4828
4914
  }
4915
+ /**
4916
+ * Prepare optimized observer context by applying truncation and buffered-reflection inclusion.
4917
+ *
4918
+ * Returns the (possibly optimized) observations string to pass as "Previous Observations"
4919
+ * to the observer prompt. When no optimization options are set, returns the input unchanged.
4920
+ */
4921
+ prepareObserverContext(existingObservations, record) {
4922
+ const { previousObserverTokens } = this.observationConfig;
4923
+ const tokenBudget = previousObserverTokens === void 0 || previousObserverTokens === false ? void 0 : previousObserverTokens;
4924
+ if (tokenBudget === void 0) {
4925
+ return { context: existingObservations, wasTruncated: false };
4926
+ }
4927
+ const bufferedReflection = record?.bufferedReflection && record?.reflectedObservationLineCount ? record.bufferedReflection : void 0;
4928
+ if (!existingObservations) {
4929
+ return { context: bufferedReflection, wasTruncated: false };
4930
+ }
4931
+ let observations = existingObservations;
4932
+ if (bufferedReflection && record?.reflectedObservationLineCount) {
4933
+ const allLines = observations.split("\n");
4934
+ const unreflectedLines = allLines.slice(record.reflectedObservationLineCount);
4935
+ const unreflectedContent = unreflectedLines.join("\n").trim();
4936
+ observations = unreflectedContent ? `${bufferedReflection}
4937
+
4938
+ ${unreflectedContent}` : bufferedReflection;
4939
+ }
4940
+ let wasTruncated = false;
4941
+ if (tokenBudget !== void 0) {
4942
+ if (tokenBudget === 0) {
4943
+ return { context: "", wasTruncated: true };
4944
+ }
4945
+ const currentTokens = this.tokenCounter.countObservations(observations);
4946
+ if (currentTokens > tokenBudget) {
4947
+ observations = this.truncateObservationsToTokenBudget(observations, tokenBudget);
4948
+ wasTruncated = true;
4949
+ }
4950
+ }
4951
+ return { context: observations, wasTruncated };
4952
+ }
4953
+ /**
4954
+ * Truncate observations to fit within a token budget.
4955
+ *
4956
+ * Strategy:
4957
+ * 1. Keep a raw tail of recent observations (end of block).
4958
+ * 2. Add a truncation marker: [X observations truncated here], placed at the hidden gap.
4959
+ * 3. Try to preserve important observations (🔴) from older context, newest-first.
4960
+ * 4. Enforce that at least 50% of kept observations remain raw tail observations.
4961
+ */
4962
+ truncateObservationsToTokenBudget(observations, budget) {
4963
+ if (budget === 0) {
4964
+ return "";
4965
+ }
4966
+ const totalTokens = this.tokenCounter.countObservations(observations);
4967
+ if (totalTokens <= budget) {
4968
+ return observations;
4969
+ }
4970
+ const lines = observations.split("\n");
4971
+ const totalCount = lines.length;
4972
+ const lineTokens = new Array(totalCount);
4973
+ const isImportant = new Array(totalCount);
4974
+ for (let i = 0; i < totalCount; i++) {
4975
+ lineTokens[i] = this.tokenCounter.countString(lines[i]);
4976
+ isImportant[i] = lines[i].includes("\u{1F534}");
4977
+ }
4978
+ const suffixTokens = new Array(totalCount + 1);
4979
+ suffixTokens[totalCount] = 0;
4980
+ for (let i = totalCount - 1; i >= 0; i--) {
4981
+ suffixTokens[i] = suffixTokens[i + 1] + lineTokens[i];
4982
+ }
4983
+ const headImportantIndexes = [];
4984
+ const buildCandidateString = (tailStart, selectedImportantIndexes) => {
4985
+ const keptIndexes = [
4986
+ ...selectedImportantIndexes,
4987
+ ...Array.from({ length: totalCount - tailStart }, (_, i) => tailStart + i)
4988
+ ].sort((a, b) => a - b);
4989
+ if (keptIndexes.length === 0) {
4990
+ return `[${totalCount} observations truncated here]`;
4991
+ }
4992
+ const outputLines = [];
4993
+ let previousKeptIndex = -1;
4994
+ for (const keptIndex of keptIndexes) {
4995
+ const hiddenCount = keptIndex - previousKeptIndex - 1;
4996
+ if (hiddenCount === 1) {
4997
+ outputLines.push(lines[previousKeptIndex + 1]);
4998
+ } else if (hiddenCount > 1) {
4999
+ outputLines.push(`[${hiddenCount} observations truncated here]`);
5000
+ }
5001
+ outputLines.push(lines[keptIndex]);
5002
+ previousKeptIndex = keptIndex;
5003
+ }
5004
+ const trailingHiddenCount = totalCount - previousKeptIndex - 1;
5005
+ if (trailingHiddenCount === 1) {
5006
+ outputLines.push(lines[totalCount - 1]);
5007
+ } else if (trailingHiddenCount > 1) {
5008
+ outputLines.push(`[${trailingHiddenCount} observations truncated here]`);
5009
+ }
5010
+ return outputLines.join("\n");
5011
+ };
5012
+ const estimateKeptContentCost = (tailStart, selectedImportantIndexes) => {
5013
+ let cost = suffixTokens[tailStart];
5014
+ for (const idx of selectedImportantIndexes) {
5015
+ cost += lineTokens[idx];
5016
+ }
5017
+ return cost;
5018
+ };
5019
+ let bestCandidate;
5020
+ let bestImportantCount = -1;
5021
+ let bestRawTailLength = -1;
5022
+ for (let tailStart = 1; tailStart < totalCount; tailStart++) {
5023
+ if (isImportant[tailStart - 1]) {
5024
+ headImportantIndexes.push(tailStart - 1);
5025
+ }
5026
+ const rawTailLength = totalCount - tailStart;
5027
+ const maxImportantByRatio = rawTailLength;
5028
+ let importantToKeep = Math.min(headImportantIndexes.length, maxImportantByRatio);
5029
+ const getSelectedImportant = (count) => count > 0 ? headImportantIndexes.slice(Math.max(0, headImportantIndexes.length - count)) : [];
5030
+ while (importantToKeep > 0 && estimateKeptContentCost(tailStart, getSelectedImportant(importantToKeep)) > budget) {
5031
+ importantToKeep -= 1;
5032
+ }
5033
+ if (estimateKeptContentCost(tailStart, getSelectedImportant(importantToKeep)) > budget) {
5034
+ continue;
5035
+ }
5036
+ if (importantToKeep > bestImportantCount || importantToKeep === bestImportantCount && rawTailLength > bestRawTailLength) {
5037
+ const candidate = buildCandidateString(tailStart, getSelectedImportant(importantToKeep));
5038
+ if (this.tokenCounter.countObservations(candidate) <= budget) {
5039
+ bestCandidate = candidate;
5040
+ bestImportantCount = importantToKeep;
5041
+ bestRawTailLength = rawTailLength;
5042
+ }
5043
+ }
5044
+ }
5045
+ if (!bestCandidate) {
5046
+ return `[${totalCount} observations truncated here]`;
5047
+ }
5048
+ return bestCandidate;
5049
+ }
4829
5050
  /**
4830
5051
  * Call the Observer agent to extract observations.
4831
5052
  */
@@ -4834,12 +5055,17 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4834
5055
  const observerMessages = [
4835
5056
  {
4836
5057
  role: "user",
4837
- content: buildObserverTaskPrompt(existingObservations, options)
5058
+ content: buildObserverTaskPrompt(existingObservations, {
5059
+ skipContinuationHints: options?.skipContinuationHints,
5060
+ priorCurrentTask: options?.priorCurrentTask,
5061
+ priorSuggestedResponse: options?.priorSuggestedResponse,
5062
+ wasTruncated: options?.wasTruncated
5063
+ })
4838
5064
  },
4839
5065
  buildObserverHistoryMessage(messagesToObserve)
4840
5066
  ];
4841
5067
  const doGenerate = async () => {
4842
- return this.withAbortCheck(async () => {
5068
+ const result2 = await this.withAbortCheck(async () => {
4843
5069
  const streamResult = await agent.stream(observerMessages, {
4844
5070
  modelSettings: {
4845
5071
  ...this.observationConfig.modelSettings
@@ -4850,6 +5076,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4850
5076
  });
4851
5077
  return streamResult.getFullOutput();
4852
5078
  }, abortSignal);
5079
+ return result2;
4853
5080
  };
4854
5081
  let result = await doGenerate();
4855
5082
  let parsed = parseObserverOutput(result.text);
@@ -4880,17 +5107,23 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4880
5107
  * Returns per-thread results with observations, currentTask, and suggestedContinuation,
4881
5108
  * plus the total usage for the batch.
4882
5109
  */
4883
- async callMultiThreadObserver(existingObservations, messagesByThread, threadOrder, abortSignal, requestContext) {
5110
+ async callMultiThreadObserver(existingObservations, messagesByThread, threadOrder, priorMetadataByThread, abortSignal, requestContext, wasTruncated) {
5111
+ const systemPrompt = buildObserverSystemPrompt(true, this.observationConfig.instruction);
4884
5112
  const agent$1 = new agent.Agent({
4885
5113
  id: "multi-thread-observer",
4886
5114
  name: "multi-thread-observer",
4887
5115
  model: this.observationConfig.model,
4888
- instructions: buildObserverSystemPrompt(true, this.observationConfig.instruction)
5116
+ instructions: systemPrompt
4889
5117
  });
4890
5118
  const observerMessages = [
4891
5119
  {
4892
5120
  role: "user",
4893
- content: buildMultiThreadObserverTaskPrompt(existingObservations)
5121
+ content: buildMultiThreadObserverTaskPrompt(
5122
+ existingObservations,
5123
+ threadOrder,
5124
+ priorMetadataByThread,
5125
+ wasTruncated
5126
+ )
4894
5127
  },
4895
5128
  buildMultiThreadObserverHistoryMessage(messagesByThread, threadOrder)
4896
5129
  ];
@@ -4902,7 +5135,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4902
5135
  this.observedMessageIds.add(msg.id);
4903
5136
  }
4904
5137
  const doGenerate = async () => {
4905
- return this.withAbortCheck(async () => {
5138
+ const result2 = await this.withAbortCheck(async () => {
4906
5139
  const streamResult = await agent$1.stream(observerMessages, {
4907
5140
  modelSettings: {
4908
5141
  ...this.observationConfig.modelSettings
@@ -4913,6 +5146,7 @@ Async buffering is enabled by default \u2014 this opt-out is only needed when us
4913
5146
  });
4914
5147
  return streamResult.getFullOutput();
4915
5148
  }, abortSignal);
5149
+ return result2;
4916
5150
  };
4917
5151
  let result = await doGenerate();
4918
5152
  let parsed = parseMultiThreadObserverOutput(result.text);
@@ -6346,12 +6580,18 @@ ${newThreadSection}`;
6346
6580
  );
6347
6581
  }
6348
6582
  }
6349
- const result = await this.callObserver(
6583
+ const { context: observerContext, wasTruncated } = this.prepareObserverContext(
6350
6584
  freshRecord?.activeObservations ?? record.activeObservations,
6351
- messagesToObserve,
6352
- abortSignal,
6353
- { requestContext }
6585
+ freshRecord ?? record
6354
6586
  );
6587
+ const thread = await this.storage.getThreadById({ threadId });
6588
+ const threadOMMetadata = memory.getThreadOMMetadata(thread?.metadata);
6589
+ const result = await this.callObserver(observerContext, messagesToObserve, abortSignal, {
6590
+ requestContext,
6591
+ priorCurrentTask: threadOMMetadata?.currentTask,
6592
+ priorSuggestedResponse: threadOMMetadata?.suggestedResponse,
6593
+ wasTruncated
6594
+ });
6355
6595
  const existingObservations = freshRecord?.activeObservations ?? record.activeObservations ?? "";
6356
6596
  let newObservations;
6357
6597
  if (this.scope === "resource") {
@@ -6368,16 +6608,16 @@ ${result.observations}` : result.observations;
6368
6608
  const newMessageIds = messagesToObserve.map((m) => m.id);
6369
6609
  const existingIds = freshRecord?.observedMessageIds ?? record.observedMessageIds ?? [];
6370
6610
  const allObservedIds = [.../* @__PURE__ */ new Set([...Array.isArray(existingIds) ? existingIds : [], ...newMessageIds])];
6371
- const thread = await this.storage.getThreadById({ threadId });
6372
- if (thread) {
6373
- const newMetadata = memory.setThreadOMMetadata(thread.metadata, {
6611
+ const threadForMetadata = await this.storage.getThreadById({ threadId });
6612
+ if (threadForMetadata) {
6613
+ const newMetadata = memory.setThreadOMMetadata(threadForMetadata.metadata, {
6374
6614
  suggestedResponse: result.suggestedContinuation,
6375
6615
  currentTask: result.currentTask,
6376
6616
  lastObservedMessageCursor: this.getLastObservedMessageCursor(messagesToObserve)
6377
6617
  });
6378
6618
  await this.storage.updateThread({
6379
6619
  id: threadId,
6380
- title: thread.title ?? "",
6620
+ title: threadForMetadata.title ?? "",
6381
6621
  metadata: newMetadata
6382
6622
  });
6383
6623
  }
@@ -6611,12 +6851,21 @@ ${result.observations}` : result.observations;
6611
6851
  const bufferedChunks = this.getBufferedChunks(record);
6612
6852
  const bufferedChunksText = bufferedChunks.map((c) => c.observations).join("\n\n");
6613
6853
  const combinedObservations = this.combineObservationsForBuffering(record.activeObservations, bufferedChunksText);
6854
+ const { context: observerContext, wasTruncated } = this.prepareObserverContext(combinedObservations, record);
6855
+ const thread = await this.storage.getThreadById({ threadId });
6856
+ const threadOMMetadata = memory.getThreadOMMetadata(thread?.metadata);
6614
6857
  const result = await this.callObserver(
6615
- combinedObservations,
6858
+ observerContext,
6616
6859
  messagesToBuffer,
6617
6860
  void 0,
6618
6861
  // No abort signal for background ops
6619
- { skipContinuationHints: true, requestContext }
6862
+ {
6863
+ skipContinuationHints: true,
6864
+ requestContext,
6865
+ priorCurrentTask: threadOMMetadata?.currentTask,
6866
+ priorSuggestedResponse: threadOMMetadata?.suggestedResponse,
6867
+ wasTruncated
6868
+ }
6620
6869
  );
6621
6870
  if (!result.observations) {
6622
6871
  omDebug(`[OM:doAsyncBufferedObservation] empty observations returned, skipping buffer storage`);
@@ -6683,8 +6932,6 @@ ${result.observations}` : result.observations;
6683
6932
  }
6684
6933
  return `${activeObservations}
6685
6934
 
6686
- --- BUFFERED (pending activation) ---
6687
-
6688
6935
  ${bufferedObservations}`;
6689
6936
  }
6690
6937
  /**
@@ -7044,7 +7291,11 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7044
7291
  const threadMetadataMap = /* @__PURE__ */ new Map();
7045
7292
  for (const thread of allThreads) {
7046
7293
  const omMetadata = memory.getThreadOMMetadata(thread.metadata);
7047
- threadMetadataMap.set(thread.id, { lastObservedAt: omMetadata?.lastObservedAt });
7294
+ threadMetadataMap.set(thread.id, {
7295
+ lastObservedAt: omMetadata?.lastObservedAt,
7296
+ currentTask: omMetadata?.currentTask,
7297
+ suggestedResponse: omMetadata?.suggestedResponse
7298
+ });
7048
7299
  }
7049
7300
  const messagesByThread = /* @__PURE__ */ new Map();
7050
7301
  for (const thread of allThreads) {
@@ -7124,7 +7375,12 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7124
7375
  return;
7125
7376
  }
7126
7377
  }
7127
- const existingObservations = freshRecord?.activeObservations ?? record.activeObservations ?? "";
7378
+ const rawExistingObservations = freshRecord?.activeObservations ?? record.activeObservations ?? "";
7379
+ const { context: optimizedObservations, wasTruncated } = this.prepareObserverContext(
7380
+ rawExistingObservations,
7381
+ freshRecord ?? record
7382
+ );
7383
+ const existingObservations = optimizedObservations ?? rawExistingObservations;
7128
7384
  for (const threadId of threadOrder) {
7129
7385
  const msgs = messagesByThread.get(threadId);
7130
7386
  if (msgs && msgs.length > 0) {
@@ -7188,12 +7444,24 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7188
7444
  batches.push(currentBatch);
7189
7445
  }
7190
7446
  const batchPromises = batches.map(async (batch) => {
7447
+ const batchPriorMetadata = /* @__PURE__ */ new Map();
7448
+ for (const threadId of batch.threadIds) {
7449
+ const metadata = threadMetadataMap.get(threadId);
7450
+ if (metadata?.currentTask || metadata?.suggestedResponse) {
7451
+ batchPriorMetadata.set(threadId, {
7452
+ currentTask: metadata.currentTask,
7453
+ suggestedResponse: metadata.suggestedResponse
7454
+ });
7455
+ }
7456
+ }
7191
7457
  const batchResult = await this.callMultiThreadObserver(
7192
7458
  existingObservations,
7193
7459
  batch.threadMap,
7194
7460
  batch.threadIds,
7461
+ batchPriorMetadata,
7195
7462
  abortSignal,
7196
- requestContext
7463
+ requestContext,
7464
+ wasTruncated
7197
7465
  );
7198
7466
  return batchResult;
7199
7467
  });
@@ -7224,7 +7492,7 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
7224
7492
  result
7225
7493
  });
7226
7494
  }
7227
- let currentObservations = existingObservations;
7495
+ let currentObservations = rawExistingObservations;
7228
7496
  let cycleObservationTokens = 0;
7229
7497
  for (const obsResult of observationResults) {
7230
7498
  if (!obsResult) continue;
@@ -7691,5 +7959,5 @@ exports.formatMessagesForObserver = formatMessagesForObserver;
7691
7959
  exports.hasCurrentTaskSection = hasCurrentTaskSection;
7692
7960
  exports.optimizeObservationsForContext = optimizeObservationsForContext;
7693
7961
  exports.parseObserverOutput = parseObserverOutput;
7694
- //# sourceMappingURL=observational-memory-YRWU6CY3-OSS4UPF4.cjs.map
7695
- //# sourceMappingURL=observational-memory-YRWU6CY3-OSS4UPF4.cjs.map
7962
+ //# sourceMappingURL=observational-memory-XXD6E2SO-3I4EZBKC.cjs.map
7963
+ //# sourceMappingURL=observational-memory-XXD6E2SO-3I4EZBKC.cjs.map