@mastra/core 1.0.0-beta.1 → 1.0.0-beta.11

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 (576) hide show
  1. package/CHANGELOG.md +1218 -0
  2. package/dist/agent/agent-legacy.d.ts +35 -30
  3. package/dist/agent/agent-legacy.d.ts.map +1 -1
  4. package/dist/agent/agent-types.test-d.d.ts +2 -0
  5. package/dist/agent/agent-types.test-d.d.ts.map +1 -0
  6. package/dist/agent/agent.d.ts +24 -9
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.types.d.ts +17 -9
  9. package/dist/agent/agent.types.d.ts.map +1 -1
  10. package/dist/agent/index.cjs +9 -9
  11. package/dist/agent/index.js +2 -2
  12. package/dist/agent/message-list/index.cjs +3 -3
  13. package/dist/agent/message-list/index.d.ts +61 -3
  14. package/dist/agent/message-list/index.d.ts.map +1 -1
  15. package/dist/agent/message-list/index.js +1 -1
  16. package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
  17. package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
  18. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
  19. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
  20. package/dist/agent/save-queue/index.d.ts +3 -1
  21. package/dist/agent/save-queue/index.d.ts.map +1 -1
  22. package/dist/agent/test-utils.d.ts +37 -0
  23. package/dist/agent/test-utils.d.ts.map +1 -1
  24. package/dist/agent/trip-wire.d.ts +38 -4
  25. package/dist/agent/trip-wire.d.ts.map +1 -1
  26. package/dist/agent/types.d.ts +46 -14
  27. package/dist/agent/types.d.ts.map +1 -1
  28. package/dist/agent/utils.d.ts +4 -5
  29. package/dist/agent/utils.d.ts.map +1 -1
  30. package/dist/agent/workflows/prepare-stream/index.d.ts +37 -13
  31. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  32. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -3
  33. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  34. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +34 -11
  35. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  36. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
  37. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  38. package/dist/agent/workflows/prepare-stream/schema.d.ts +38 -15
  39. package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
  40. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +11 -1
  41. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  42. package/dist/base.cjs +2 -2
  43. package/dist/base.js +1 -1
  44. package/dist/bundler/index.cjs +2 -2
  45. package/dist/bundler/index.js +1 -1
  46. package/dist/cache/index.cjs +3 -3
  47. package/dist/cache/index.js +1 -1
  48. package/dist/{chunk-JUBFO5J3.js → chunk-2ULLRN4Y.js} +16333 -11839
  49. package/dist/chunk-2ULLRN4Y.js.map +1 -0
  50. package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
  51. package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
  52. package/dist/chunk-3E3ILV6T.cjs +518 -0
  53. package/dist/chunk-3E3ILV6T.cjs.map +1 -0
  54. package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
  55. package/dist/chunk-3N3QE4ZK.js.map +1 -0
  56. package/dist/{chunk-QUKUN6NR.cjs → chunk-4JKEUSCC.cjs} +107 -7
  57. package/dist/chunk-4JKEUSCC.cjs.map +1 -0
  58. package/dist/{chunk-MSWTA73A.cjs → chunk-52RSUALV.cjs} +16490 -11957
  59. package/dist/chunk-52RSUALV.cjs.map +1 -0
  60. package/dist/chunk-5PAEYE3Q.js +513 -0
  61. package/dist/chunk-5PAEYE3Q.js.map +1 -0
  62. package/dist/{chunk-ECFXGXWO.cjs → chunk-5Q6WAYEY.cjs} +695 -375
  63. package/dist/chunk-5Q6WAYEY.cjs.map +1 -0
  64. package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
  65. package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
  66. package/dist/{chunk-GRBGQ2GE.js → chunk-6TBWJV35.js} +5 -3
  67. package/dist/chunk-6TBWJV35.js.map +1 -0
  68. package/dist/chunk-6XCINXZ7.cjs +194 -0
  69. package/dist/chunk-6XCINXZ7.cjs.map +1 -0
  70. package/dist/{chunk-E7K4FTLN.cjs → chunk-72YCRTEX.cjs} +18 -2
  71. package/dist/chunk-72YCRTEX.cjs.map +1 -0
  72. package/dist/{chunk-W7UH2PWL.js → chunk-7P6BNIJH.js} +1142 -331
  73. package/dist/chunk-7P6BNIJH.js.map +1 -0
  74. package/dist/{chunk-76K3IYWM.js → chunk-ADADLFDR.js} +3 -3
  75. package/dist/{chunk-76K3IYWM.js.map → chunk-ADADLFDR.js.map} +1 -1
  76. package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
  77. package/dist/chunk-AF74UXR5.cjs.map +1 -0
  78. package/dist/{chunk-GGYKYORQ.cjs → chunk-BJXKH4LG.cjs} +407 -22
  79. package/dist/chunk-BJXKH4LG.cjs.map +1 -0
  80. package/dist/{chunk-2ZVKF4HP.cjs → chunk-BUKY6CTR.cjs} +1147 -334
  81. package/dist/chunk-BUKY6CTR.cjs.map +1 -0
  82. package/dist/chunk-BWYU7D33.js +192 -0
  83. package/dist/chunk-BWYU7D33.js.map +1 -0
  84. package/dist/{chunk-XEVG546F.js → chunk-C36YRTZ6.js} +178 -12
  85. package/dist/chunk-C36YRTZ6.js.map +1 -0
  86. package/dist/{chunk-CB575O6L.cjs → chunk-CZEJQSWB.cjs} +473 -124
  87. package/dist/chunk-CZEJQSWB.cjs.map +1 -0
  88. package/dist/chunk-DD2VNRQM.js +62 -0
  89. package/dist/chunk-DD2VNRQM.js.map +1 -0
  90. package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
  91. package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
  92. package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
  93. package/dist/chunk-EOPEDKLG.cjs.map +1 -0
  94. package/dist/{chunk-UIZSWUKP.js → chunk-F2GAJSBI.js} +105 -7
  95. package/dist/chunk-F2GAJSBI.js.map +1 -0
  96. package/dist/{chunk-4CDL2QJT.js → chunk-IVV5TOMD.js} +122 -37
  97. package/dist/chunk-IVV5TOMD.js.map +1 -0
  98. package/dist/{chunk-MV7KHWUT.js → chunk-JIGDJK2O.js} +391 -15
  99. package/dist/chunk-JIGDJK2O.js.map +1 -0
  100. package/dist/chunk-KJBMTK5B.cjs +64 -0
  101. package/dist/chunk-KJBMTK5B.cjs.map +1 -0
  102. package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
  103. package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
  104. package/dist/chunk-MGCGWPQJ.cjs +275 -0
  105. package/dist/chunk-MGCGWPQJ.cjs.map +1 -0
  106. package/dist/chunk-MRFUISXC.cjs +4981 -0
  107. package/dist/chunk-MRFUISXC.cjs.map +1 -0
  108. package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
  109. package/dist/chunk-NRUZYMHE.js.map +1 -0
  110. package/dist/{chunk-CINNK34N.js → chunk-O2BJW7YA.js} +26 -11
  111. package/dist/chunk-O2BJW7YA.js.map +1 -0
  112. package/dist/chunk-OEIVMCWX.js +4959 -0
  113. package/dist/chunk-OEIVMCWX.js.map +1 -0
  114. package/dist/{chunk-WM6CK2F3.cjs → chunk-PG5H6QIO.cjs} +131 -49
  115. package/dist/chunk-PG5H6QIO.cjs.map +1 -0
  116. package/dist/{chunk-JPGVRWWL.js → chunk-PK2A5WBG.js} +472 -125
  117. package/dist/chunk-PK2A5WBG.js.map +1 -0
  118. package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
  119. package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
  120. package/dist/{chunk-VOY2RXOC.cjs → chunk-S73Z3PBJ.cjs} +182 -15
  121. package/dist/chunk-S73Z3PBJ.cjs.map +1 -0
  122. package/dist/{chunk-MA7TEM62.cjs → chunk-SCUWP4II.cjs} +769 -27
  123. package/dist/chunk-SCUWP4II.cjs.map +1 -0
  124. package/dist/{chunk-JV2KH24V.js → chunk-SXNQRJQD.js} +695 -375
  125. package/dist/chunk-SXNQRJQD.js.map +1 -0
  126. package/dist/{chunk-BMAFVZ2D.cjs → chunk-T2VLUFGG.cjs} +4 -4
  127. package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-T2VLUFGG.cjs.map} +1 -1
  128. package/dist/chunk-THZTRBFS.js +268 -0
  129. package/dist/chunk-THZTRBFS.js.map +1 -0
  130. package/dist/{chunk-VOQ3ULMT.js → chunk-U3XOLEPX.js} +759 -17
  131. package/dist/chunk-U3XOLEPX.js.map +1 -0
  132. package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
  133. package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
  134. package/dist/{chunk-H6CZGPZD.js → chunk-US2U7ECW.js} +179 -38
  135. package/dist/chunk-US2U7ECW.js.map +1 -0
  136. package/dist/{chunk-J7O6WENZ.cjs → chunk-UVHSM2GU.cjs} +6 -2
  137. package/dist/chunk-UVHSM2GU.cjs.map +1 -0
  138. package/dist/{chunk-CD56CXVE.cjs → chunk-WTSZBHIZ.cjs} +32 -17
  139. package/dist/chunk-WTSZBHIZ.cjs.map +1 -0
  140. package/dist/{chunk-KIZIOFZC.js → chunk-Y36Y5MTD.js} +17 -3
  141. package/dist/chunk-Y36Y5MTD.js.map +1 -0
  142. package/dist/{chunk-DNEURYF3.cjs → chunk-YC6PJEPH.cjs} +206 -65
  143. package/dist/chunk-YC6PJEPH.cjs.map +1 -0
  144. package/dist/{chunk-IQO7ANVS.cjs → chunk-YWMMBIOM.cjs} +21 -20
  145. package/dist/chunk-YWMMBIOM.cjs.map +1 -0
  146. package/dist/{chunk-I4CXL4SR.js → chunk-Z57R5WS4.js} +16 -15
  147. package/dist/chunk-Z57R5WS4.js.map +1 -0
  148. package/dist/deployer/index.cjs +2 -2
  149. package/dist/deployer/index.js +1 -1
  150. package/dist/di/index.cjs +10 -2
  151. package/dist/di/index.d.ts +1 -1
  152. package/dist/di/index.d.ts.map +1 -1
  153. package/dist/di/index.js +1 -1
  154. package/dist/evals/base.d.ts +10 -2
  155. package/dist/evals/base.d.ts.map +1 -1
  156. package/dist/evals/base.test-utils.d.ts +25 -25
  157. package/dist/evals/index.cjs +9 -9
  158. package/dist/evals/index.js +2 -2
  159. package/dist/evals/scoreTraces/index.cjs +7 -6
  160. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  161. package/dist/evals/scoreTraces/index.js +4 -3
  162. package/dist/evals/scoreTraces/index.js.map +1 -1
  163. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  164. package/dist/evals/types.d.ts +25 -24
  165. package/dist/evals/types.d.ts.map +1 -1
  166. package/dist/index.cjs +2 -2
  167. package/dist/index.js +1 -1
  168. package/dist/integration/index.cjs +2 -2
  169. package/dist/integration/index.js +1 -1
  170. package/dist/llm/index.cjs +30 -10
  171. package/dist/llm/index.d.ts +2 -0
  172. package/dist/llm/index.d.ts.map +1 -1
  173. package/dist/llm/index.js +5 -1
  174. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  175. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  176. package/dist/llm/model/base.types.d.ts +2 -2
  177. package/dist/llm/model/base.types.d.ts.map +1 -1
  178. package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
  179. package/dist/llm/model/gateways/azure.d.ts +36 -0
  180. package/dist/llm/model/gateways/azure.d.ts.map +1 -0
  181. package/dist/llm/model/gateways/base.d.ts +9 -4
  182. package/dist/llm/model/gateways/base.d.ts.map +1 -1
  183. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  184. package/dist/llm/model/gateways/index.d.ts +4 -1
  185. package/dist/llm/model/gateways/index.d.ts.map +1 -1
  186. package/dist/llm/model/gateways/models-dev.d.ts +3 -2
  187. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  188. package/dist/llm/model/gateways/netlify.d.ts +4 -3
  189. package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
  190. package/dist/llm/model/is-v2-model.d.ts +3 -0
  191. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  192. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  193. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  194. package/dist/llm/model/model.d.ts.map +1 -1
  195. package/dist/llm/model/model.loop.d.ts +2 -2
  196. package/dist/llm/model/model.loop.d.ts.map +1 -1
  197. package/dist/llm/model/model.loop.types.d.ts +4 -2
  198. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  199. package/dist/llm/model/provider-options.d.ts +4 -1
  200. package/dist/llm/model/provider-options.d.ts.map +1 -1
  201. package/dist/llm/model/provider-registry.d.ts +11 -1
  202. package/dist/llm/model/provider-registry.d.ts.map +1 -1
  203. package/dist/llm/model/provider-types.generated.d.ts +489 -27
  204. package/dist/llm/model/registry-generator.d.ts +12 -0
  205. package/dist/llm/model/registry-generator.d.ts.map +1 -1
  206. package/dist/llm/model/resolve-model.d.ts +1 -1
  207. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  208. package/dist/llm/model/router.d.ts +12 -5
  209. package/dist/llm/model/router.d.ts.map +1 -1
  210. package/dist/llm/model/shared.types.d.ts +17 -6
  211. package/dist/llm/model/shared.types.d.ts.map +1 -1
  212. package/dist/logger/constants.d.ts +1 -0
  213. package/dist/logger/constants.d.ts.map +1 -1
  214. package/dist/logger/index.cjs +11 -11
  215. package/dist/logger/index.js +2 -2
  216. package/dist/logger/transport.d.ts +1 -1
  217. package/dist/logger/transport.d.ts.map +1 -1
  218. package/dist/loop/index.cjs +2 -2
  219. package/dist/loop/index.js +1 -1
  220. package/dist/loop/loop.d.ts.map +1 -1
  221. package/dist/loop/network/index.d.ts.map +1 -1
  222. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  223. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  224. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  225. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  226. package/dist/loop/test-utils/options.d.ts.map +1 -1
  227. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  228. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  229. package/dist/loop/test-utils/textStream.d.ts.map +1 -1
  230. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
  231. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  232. package/dist/loop/test-utils/utils.d.ts +1 -1
  233. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  234. package/dist/loop/types.d.ts +42 -20
  235. package/dist/loop/types.d.ts.map +1 -1
  236. package/dist/loop/workflows/agentic-execution/index.d.ts +60 -42
  237. package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
  238. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +41 -29
  239. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  240. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +20 -14
  241. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  242. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +1 -1
  243. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  244. package/dist/loop/workflows/agentic-loop/index.d.ts +62 -43
  245. package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
  246. package/dist/loop/workflows/run-state.d.ts +2 -2
  247. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  248. package/dist/loop/workflows/schema.d.ts +32 -15
  249. package/dist/loop/workflows/schema.d.ts.map +1 -1
  250. package/dist/loop/workflows/stream.d.ts +1 -1
  251. package/dist/loop/workflows/stream.d.ts.map +1 -1
  252. package/dist/mastra/index.cjs +2 -2
  253. package/dist/mastra/index.d.ts +377 -12
  254. package/dist/mastra/index.d.ts.map +1 -1
  255. package/dist/mastra/index.js +1 -1
  256. package/dist/mcp/index.cjs +4 -4
  257. package/dist/mcp/index.cjs.map +1 -1
  258. package/dist/mcp/index.d.ts +4 -4
  259. package/dist/mcp/index.d.ts.map +1 -1
  260. package/dist/mcp/index.js +2 -2
  261. package/dist/mcp/index.js.map +1 -1
  262. package/dist/mcp/types.d.ts +2 -2
  263. package/dist/mcp/types.d.ts.map +1 -1
  264. package/dist/memory/index.cjs +21 -327
  265. package/dist/memory/index.cjs.map +1 -1
  266. package/dist/memory/index.js +1 -327
  267. package/dist/memory/index.js.map +1 -1
  268. package/dist/memory/memory.d.ts +28 -18
  269. package/dist/memory/memory.d.ts.map +1 -1
  270. package/dist/memory/mock.d.ts +15 -14
  271. package/dist/memory/mock.d.ts.map +1 -1
  272. package/dist/memory/types.d.ts +69 -11
  273. package/dist/memory/types.d.ts.map +1 -1
  274. package/dist/models-dev-23RN2WHG.js +3 -0
  275. package/dist/{models-dev-DNBKXHT4.js.map → models-dev-23RN2WHG.js.map} +1 -1
  276. package/dist/models-dev-EO3SUIY2.cjs +12 -0
  277. package/dist/{models-dev-YBEEQIX6.cjs.map → models-dev-EO3SUIY2.cjs.map} +1 -1
  278. package/dist/netlify-GXJ5D5DD.js +3 -0
  279. package/dist/{netlify-7G2L5VSH.js.map → netlify-GXJ5D5DD.js.map} +1 -1
  280. package/dist/netlify-KJLY3GFS.cjs +12 -0
  281. package/dist/{netlify-GWNGSIRZ.cjs.map → netlify-KJLY3GFS.cjs.map} +1 -1
  282. package/dist/observability/index.cjs +16 -8
  283. package/dist/observability/index.js +1 -1
  284. package/dist/observability/types/tracing.d.ts +236 -13
  285. package/dist/observability/types/tracing.d.ts.map +1 -1
  286. package/dist/observability/utils.d.ts +47 -1
  287. package/dist/observability/utils.d.ts.map +1 -1
  288. package/dist/processors/index.cjs +115 -11
  289. package/dist/processors/index.d.ts +246 -26
  290. package/dist/processors/index.d.ts.map +1 -1
  291. package/dist/processors/index.js +1 -1
  292. package/dist/processors/memory/index.d.ts +7 -0
  293. package/dist/processors/memory/index.d.ts.map +1 -0
  294. package/dist/processors/memory/message-history.d.ts +43 -0
  295. package/dist/processors/memory/message-history.d.ts.map +1 -0
  296. package/dist/processors/memory/semantic-recall.d.ts +152 -0
  297. package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
  298. package/dist/processors/memory/working-memory.d.ts +65 -0
  299. package/dist/processors/memory/working-memory.d.ts.map +1 -0
  300. package/dist/processors/processors/batch-parts.d.ts +1 -1
  301. package/dist/processors/processors/batch-parts.d.ts.map +1 -1
  302. package/dist/processors/processors/index.d.ts +2 -1
  303. package/dist/processors/processors/index.d.ts.map +1 -1
  304. package/dist/processors/processors/language-detector.d.ts +15 -1
  305. package/dist/processors/processors/language-detector.d.ts.map +1 -1
  306. package/dist/processors/processors/moderation.d.ts +15 -1
  307. package/dist/processors/processors/moderation.d.ts.map +1 -1
  308. package/dist/processors/processors/pii-detector.d.ts +15 -1
  309. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  310. package/dist/processors/processors/prepare-step.d.ts +12 -0
  311. package/dist/processors/processors/prepare-step.d.ts.map +1 -0
  312. package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
  313. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  314. package/dist/processors/processors/structured-output.d.ts +7 -5
  315. package/dist/processors/processors/structured-output.d.ts.map +1 -1
  316. package/dist/processors/processors/system-prompt-scrubber.d.ts +1 -1
  317. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  318. package/dist/processors/processors/token-limiter.d.ts +22 -12
  319. package/dist/processors/processors/token-limiter.d.ts.map +1 -1
  320. package/dist/processors/processors/tool-call-filter.d.ts +28 -0
  321. package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
  322. package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
  323. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
  324. package/dist/processors/runner.d.ts +83 -9
  325. package/dist/processors/runner.d.ts.map +1 -1
  326. package/dist/processors/step-schema.d.ts +49731 -0
  327. package/dist/processors/step-schema.d.ts.map +1 -0
  328. package/dist/provider-registry-3TG2KUD2.cjs +40 -0
  329. package/dist/provider-registry-3TG2KUD2.cjs.map +1 -0
  330. package/dist/provider-registry-F67Y6OF2.js +3 -0
  331. package/dist/provider-registry-F67Y6OF2.js.map +1 -0
  332. package/dist/provider-registry.json +1056 -61
  333. package/dist/{registry-generator-MK63POJO.cjs → registry-generator-34SC4TAU.cjs} +23 -6
  334. package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
  335. package/dist/{registry-generator-H4YNODDH.js → registry-generator-UMTNPBJX.js} +23 -7
  336. package/dist/registry-generator-UMTNPBJX.js.map +1 -0
  337. package/dist/relevance/index.cjs +2 -2
  338. package/dist/relevance/index.js +1 -1
  339. package/dist/request-context/index.cjs +10 -2
  340. package/dist/request-context/index.d.ts +26 -0
  341. package/dist/request-context/index.d.ts.map +1 -1
  342. package/dist/request-context/index.js +1 -1
  343. package/dist/server/auth.d.ts +11 -0
  344. package/dist/server/auth.d.ts.map +1 -1
  345. package/dist/server/base.d.ts +51 -0
  346. package/dist/server/base.d.ts.map +1 -0
  347. package/dist/server/composite-auth.d.ts +9 -0
  348. package/dist/server/composite-auth.d.ts.map +1 -0
  349. package/dist/server/index.cjs +124 -3
  350. package/dist/server/index.cjs.map +1 -1
  351. package/dist/server/index.d.ts +8 -0
  352. package/dist/server/index.d.ts.map +1 -1
  353. package/dist/server/index.js +121 -3
  354. package/dist/server/index.js.map +1 -1
  355. package/dist/server/simple-auth.d.ts +27 -0
  356. package/dist/server/simple-auth.d.ts.map +1 -0
  357. package/dist/server/types.d.ts +6 -0
  358. package/dist/server/types.d.ts.map +1 -1
  359. package/dist/storage/base.d.ts +76 -3
  360. package/dist/storage/base.d.ts.map +1 -1
  361. package/dist/storage/constants.d.ts +3 -1
  362. package/dist/storage/constants.d.ts.map +1 -1
  363. package/dist/storage/domains/agents/base.d.ts +49 -0
  364. package/dist/storage/domains/agents/base.d.ts.map +1 -0
  365. package/dist/storage/domains/agents/index.d.ts +3 -0
  366. package/dist/storage/domains/agents/index.d.ts.map +1 -0
  367. package/dist/storage/domains/agents/inmemory.d.ts +22 -0
  368. package/dist/storage/domains/agents/inmemory.d.ts.map +1 -0
  369. package/dist/storage/domains/index.d.ts +1 -0
  370. package/dist/storage/domains/index.d.ts.map +1 -1
  371. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  372. package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
  373. package/dist/storage/domains/scores/base.d.ts +2 -2
  374. package/dist/storage/domains/scores/base.d.ts.map +1 -1
  375. package/dist/storage/domains/scores/inmemory.d.ts +2 -2
  376. package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
  377. package/dist/storage/domains/workflows/base.d.ts +4 -0
  378. package/dist/storage/domains/workflows/base.d.ts.map +1 -1
  379. package/dist/storage/domains/workflows/inmemory.d.ts +5 -1
  380. package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
  381. package/dist/storage/index.cjs +65 -29
  382. package/dist/storage/index.js +1 -1
  383. package/dist/storage/mock.d.ts +7 -2
  384. package/dist/storage/mock.d.ts.map +1 -1
  385. package/dist/storage/storageWithInit.d.ts.map +1 -1
  386. package/dist/storage/types.d.ts +88 -5
  387. package/dist/storage/types.d.ts.map +1 -1
  388. package/dist/storage/utils.d.ts +82 -0
  389. package/dist/storage/utils.d.ts.map +1 -1
  390. package/dist/stream/MastraAgentNetworkStream.d.ts +2 -2
  391. package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
  392. package/dist/stream/MastraWorkflowStream.d.ts +2 -2
  393. package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
  394. package/dist/stream/RunOutput.d.ts +2 -2
  395. package/dist/stream/RunOutput.d.ts.map +1 -1
  396. package/dist/stream/aisdk/v4/transform.d.ts.map +1 -1
  397. package/dist/stream/aisdk/v4/usage.d.ts +19 -0
  398. package/dist/stream/aisdk/v4/usage.d.ts.map +1 -0
  399. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -1
  400. package/dist/stream/aisdk/v5/execute.d.ts +9 -5
  401. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  402. package/dist/stream/aisdk/v5/input.d.ts +4 -1
  403. package/dist/stream/aisdk/v5/input.d.ts.map +1 -1
  404. package/dist/stream/aisdk/v5/output-helpers.d.ts +5 -1
  405. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -1
  406. package/dist/stream/aisdk/v5/output.d.ts +11 -13
  407. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  408. package/dist/stream/aisdk/v5/transform.d.ts +2 -1
  409. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -1
  410. package/dist/stream/base/base.d.ts +1 -1
  411. package/dist/stream/base/base.d.ts.map +1 -1
  412. package/dist/stream/base/input.d.ts +1 -1
  413. package/dist/stream/base/output-format-handlers.d.ts +14 -1
  414. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  415. package/dist/stream/base/output.d.ts +9 -14
  416. package/dist/stream/base/output.d.ts.map +1 -1
  417. package/dist/stream/index.cjs +15 -11
  418. package/dist/stream/index.d.ts +2 -2
  419. package/dist/stream/index.d.ts.map +1 -1
  420. package/dist/stream/index.js +2 -2
  421. package/dist/stream/types.d.ts +97 -32
  422. package/dist/stream/types.d.ts.map +1 -1
  423. package/dist/test-utils/llm-mock.cjs +101 -30
  424. package/dist/test-utils/llm-mock.cjs.map +1 -1
  425. package/dist/test-utils/llm-mock.d.ts +7 -2
  426. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  427. package/dist/test-utils/llm-mock.js +97 -30
  428. package/dist/test-utils/llm-mock.js.map +1 -1
  429. package/dist/tools/index.cjs +6 -6
  430. package/dist/tools/index.js +2 -2
  431. package/dist/tools/is-vercel-tool.cjs +2 -2
  432. package/dist/tools/is-vercel-tool.js +1 -1
  433. package/dist/tools/stream.d.ts +10 -4
  434. package/dist/tools/stream.d.ts.map +1 -1
  435. package/dist/tools/tool-builder/builder.d.ts +2 -0
  436. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  437. package/dist/tools/tool-stream-types.test-d.d.ts +2 -0
  438. package/dist/tools/tool-stream-types.test-d.d.ts.map +1 -0
  439. package/dist/tools/tool.d.ts +21 -8
  440. package/dist/tools/tool.d.ts.map +1 -1
  441. package/dist/tools/types.d.ts +33 -6
  442. package/dist/tools/types.d.ts.map +1 -1
  443. package/dist/tools/validation.d.ts +25 -1
  444. package/dist/tools/validation.d.ts.map +1 -1
  445. package/dist/tts/index.cjs +2 -2
  446. package/dist/tts/index.js +1 -1
  447. package/dist/types/zod-compat.d.ts +14 -1
  448. package/dist/types/zod-compat.d.ts.map +1 -1
  449. package/dist/utils.cjs +25 -21
  450. package/dist/utils.d.ts +9 -4
  451. package/dist/utils.d.ts.map +1 -1
  452. package/dist/utils.js +1 -1
  453. package/dist/vector/filter/index.cjs +7 -189
  454. package/dist/vector/filter/index.cjs.map +1 -1
  455. package/dist/vector/filter/index.js +1 -190
  456. package/dist/vector/filter/index.js.map +1 -1
  457. package/dist/vector/index.cjs +7 -2
  458. package/dist/vector/index.cjs.map +1 -1
  459. package/dist/vector/index.d.ts +1 -0
  460. package/dist/vector/index.d.ts.map +1 -1
  461. package/dist/vector/index.js +2 -1
  462. package/dist/vector/index.js.map +1 -1
  463. package/dist/vector/types.d.ts +86 -3
  464. package/dist/vector/types.d.ts.map +1 -1
  465. package/dist/vector/vector.d.ts +39 -2
  466. package/dist/vector/vector.d.ts.map +1 -1
  467. package/dist/voice/aisdk/index.d.ts +3 -0
  468. package/dist/voice/aisdk/index.d.ts.map +1 -0
  469. package/dist/voice/aisdk/speech.d.ts +23 -0
  470. package/dist/voice/aisdk/speech.d.ts.map +1 -0
  471. package/dist/voice/aisdk/transcription.d.ts +22 -0
  472. package/dist/voice/aisdk/transcription.d.ts.map +1 -0
  473. package/dist/voice/composite-voice.d.ts +4 -3
  474. package/dist/voice/composite-voice.d.ts.map +1 -1
  475. package/dist/voice/index.cjs +12 -4
  476. package/dist/voice/index.d.ts +1 -0
  477. package/dist/voice/index.d.ts.map +1 -1
  478. package/dist/voice/index.js +1 -1
  479. package/dist/workflows/default.d.ts +180 -270
  480. package/dist/workflows/default.d.ts.map +1 -1
  481. package/dist/workflows/evented/execution-engine.d.ts +3 -1
  482. package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
  483. package/dist/workflows/evented/index.cjs +10 -10
  484. package/dist/workflows/evented/index.js +1 -1
  485. package/dist/workflows/evented/step-executor.d.ts +1 -1
  486. package/dist/workflows/evented/step-executor.d.ts.map +1 -1
  487. package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -4
  488. package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
  489. package/dist/workflows/evented/workflow-event-processor/loop.d.ts +1 -1
  490. package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
  491. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
  492. package/dist/workflows/evented/workflow-event-processor/parallel.d.ts.map +1 -1
  493. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
  494. package/dist/workflows/evented/workflow-event-processor/sleep.d.ts.map +1 -1
  495. package/dist/workflows/evented/workflow.d.ts +2 -1
  496. package/dist/workflows/evented/workflow.d.ts.map +1 -1
  497. package/dist/workflows/execution-engine.d.ts +8 -6
  498. package/dist/workflows/execution-engine.d.ts.map +1 -1
  499. package/dist/workflows/handlers/control-flow.d.ts +133 -0
  500. package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
  501. package/dist/workflows/handlers/entry.d.ts +43 -0
  502. package/dist/workflows/handlers/entry.d.ts.map +1 -0
  503. package/dist/workflows/handlers/sleep.d.ts +60 -0
  504. package/dist/workflows/handlers/sleep.d.ts.map +1 -0
  505. package/dist/workflows/handlers/step.d.ts +58 -0
  506. package/dist/workflows/handlers/step.d.ts.map +1 -0
  507. package/dist/workflows/index.cjs +40 -16
  508. package/dist/workflows/index.js +1 -1
  509. package/dist/workflows/step.d.ts +8 -6
  510. package/dist/workflows/step.d.ts.map +1 -1
  511. package/dist/workflows/types.d.ts +257 -10
  512. package/dist/workflows/types.d.ts.map +1 -1
  513. package/dist/workflows/utils.d.ts +36 -0
  514. package/dist/workflows/utils.d.ts.map +1 -1
  515. package/dist/workflows/workflow.d.ts +146 -55
  516. package/dist/workflows/workflow.d.ts.map +1 -1
  517. package/package.json +26 -30
  518. package/src/llm/model/provider-types.generated.d.ts +489 -27
  519. package/dist/chunk-2ZVKF4HP.cjs.map +0 -1
  520. package/dist/chunk-436FFEF6.js +0 -34
  521. package/dist/chunk-436FFEF6.js.map +0 -1
  522. package/dist/chunk-4CDL2QJT.js.map +0 -1
  523. package/dist/chunk-7AHYOMHJ.js +0 -149
  524. package/dist/chunk-7AHYOMHJ.js.map +0 -1
  525. package/dist/chunk-CB575O6L.cjs.map +0 -1
  526. package/dist/chunk-CD56CXVE.cjs.map +0 -1
  527. package/dist/chunk-CINNK34N.js.map +0 -1
  528. package/dist/chunk-DNEURYF3.cjs.map +0 -1
  529. package/dist/chunk-DSNPWVIG.cjs.map +0 -1
  530. package/dist/chunk-E7K4FTLN.cjs.map +0 -1
  531. package/dist/chunk-ECFXGXWO.cjs.map +0 -1
  532. package/dist/chunk-ET6UOTTU.cjs +0 -154
  533. package/dist/chunk-ET6UOTTU.cjs.map +0 -1
  534. package/dist/chunk-GGYKYORQ.cjs.map +0 -1
  535. package/dist/chunk-GRBGQ2GE.js.map +0 -1
  536. package/dist/chunk-H6CZGPZD.js.map +0 -1
  537. package/dist/chunk-HDJFSJCK.js +0 -2237
  538. package/dist/chunk-HDJFSJCK.js.map +0 -1
  539. package/dist/chunk-HGNRQ3OG.js +0 -58
  540. package/dist/chunk-HGNRQ3OG.js.map +0 -1
  541. package/dist/chunk-I4CXL4SR.js.map +0 -1
  542. package/dist/chunk-IQO7ANVS.cjs.map +0 -1
  543. package/dist/chunk-J7O6WENZ.cjs.map +0 -1
  544. package/dist/chunk-JPGVRWWL.js.map +0 -1
  545. package/dist/chunk-JUBFO5J3.js.map +0 -1
  546. package/dist/chunk-JV2KH24V.js.map +0 -1
  547. package/dist/chunk-KIZIOFZC.js.map +0 -1
  548. package/dist/chunk-KJ2SW6VA.js.map +0 -1
  549. package/dist/chunk-LJFJTTZQ.cjs +0 -4
  550. package/dist/chunk-LJFJTTZQ.cjs.map +0 -1
  551. package/dist/chunk-LRSB62Z6.cjs +0 -60
  552. package/dist/chunk-LRSB62Z6.cjs.map +0 -1
  553. package/dist/chunk-LWBQ4P4N.cjs +0 -2240
  554. package/dist/chunk-LWBQ4P4N.cjs.map +0 -1
  555. package/dist/chunk-MA7TEM62.cjs.map +0 -1
  556. package/dist/chunk-MSWTA73A.cjs.map +0 -1
  557. package/dist/chunk-MV7KHWUT.js.map +0 -1
  558. package/dist/chunk-QUKUN6NR.cjs.map +0 -1
  559. package/dist/chunk-TQTAMPSC.js.map +0 -1
  560. package/dist/chunk-UIZSWUKP.js.map +0 -1
  561. package/dist/chunk-V3VLOOSW.cjs +0 -36
  562. package/dist/chunk-V3VLOOSW.cjs.map +0 -1
  563. package/dist/chunk-VOQ3ULMT.js.map +0 -1
  564. package/dist/chunk-VOY2RXOC.cjs.map +0 -1
  565. package/dist/chunk-W7UH2PWL.js.map +0 -1
  566. package/dist/chunk-WM6CK2F3.cjs.map +0 -1
  567. package/dist/chunk-XEVG546F.js.map +0 -1
  568. package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
  569. package/dist/chunk-ZV5CC35D.js +0 -3
  570. package/dist/chunk-ZV5CC35D.js.map +0 -1
  571. package/dist/models-dev-DNBKXHT4.js +0 -3
  572. package/dist/models-dev-YBEEQIX6.cjs +0 -12
  573. package/dist/netlify-7G2L5VSH.js +0 -3
  574. package/dist/netlify-GWNGSIRZ.cjs +0 -12
  575. package/dist/registry-generator-H4YNODDH.js.map +0 -1
  576. package/dist/registry-generator-MK63POJO.cjs.map +0 -1
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkKEXGB7FK_cjs = require('../chunk-KEXGB7FK.cjs');
3
+ var chunkDGV2FWB4_cjs = require('../chunk-DGV2FWB4.cjs');
4
4
 
5
5
  // src/tts/index.ts
6
- var MastraTTS = class extends chunkKEXGB7FK_cjs.MastraBase {
6
+ var MastraTTS = class extends chunkDGV2FWB4_cjs.MastraBase {
7
7
  model;
8
8
  constructor({ model }) {
9
9
  super({
package/dist/tts/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { MastraBase } from '../chunk-S6URFGCZ.js';
1
+ import { MastraBase } from '../chunk-LSHPJWM5.js';
2
2
 
3
3
  // src/tts/index.ts
4
4
  var MastraTTS = class extends MastraBase {
@@ -15,9 +15,22 @@ export type ZodLikeSchema = {
15
15
  };
16
16
  };
17
17
  /**
18
- * Helper type for extracting the inferred type from a Zod-like schema
18
+ * Helper type for extracting the inferred type from a Zod-like schema after parsing
19
19
  */
20
20
  export type InferZodLikeSchema<T> = T extends {
21
21
  parse: (data: unknown) => infer U;
22
22
  } ? U : any;
23
+ /**
24
+ * Helper type for extracting the input type from a Zod-like schema.
25
+ * This is useful for schemas with transforms where the input type differs from the output type.
26
+ *
27
+ * For schemas with transforms:
28
+ * - InferZodLikeSchemaInput<T> gives the type before transformation
29
+ * - InferZodLikeSchema<T> gives the type after transformation
30
+ */
31
+ export type InferZodLikeSchemaInput<T> = T extends {
32
+ _input: infer U;
33
+ } ? U : T extends {
34
+ parse: (data: unknown) => infer U;
35
+ } ? U : any;
23
36
  //# sourceMappingURL=zod-compat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-compat.d.ts","sourceRoot":"","sources":["../../src/types/zod-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"zod-compat.d.ts","sourceRoot":"","sources":["../../src/types/zod-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAG,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAC7E,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,GAAG,GAAG,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAClE,CAAC,GACD,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,CAAA;CAAE,GAC7C,CAAC,GACD,GAAG,CAAC"}
package/dist/utils.cjs CHANGED
@@ -1,88 +1,92 @@
1
1
  'use strict';
2
2
 
3
- var chunkWM6CK2F3_cjs = require('./chunk-WM6CK2F3.cjs');
3
+ var chunkPG5H6QIO_cjs = require('./chunk-PG5H6QIO.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "checkEvalStorageFields", {
8
8
  enumerable: true,
9
- get: function () { return chunkWM6CK2F3_cjs.checkEvalStorageFields; }
9
+ get: function () { return chunkPG5H6QIO_cjs.checkEvalStorageFields; }
10
10
  });
11
11
  Object.defineProperty(exports, "createMastraProxy", {
12
12
  enumerable: true,
13
- get: function () { return chunkWM6CK2F3_cjs.createMastraProxy; }
13
+ get: function () { return chunkPG5H6QIO_cjs.createMastraProxy; }
14
14
  });
15
15
  Object.defineProperty(exports, "deepMerge", {
16
16
  enumerable: true,
17
- get: function () { return chunkWM6CK2F3_cjs.deepMerge; }
17
+ get: function () { return chunkPG5H6QIO_cjs.deepMerge; }
18
18
  });
19
19
  Object.defineProperty(exports, "delay", {
20
20
  enumerable: true,
21
- get: function () { return chunkWM6CK2F3_cjs.delay; }
21
+ get: function () { return chunkPG5H6QIO_cjs.delay; }
22
22
  });
23
23
  Object.defineProperty(exports, "ensureToolProperties", {
24
24
  enumerable: true,
25
- get: function () { return chunkWM6CK2F3_cjs.ensureToolProperties; }
25
+ get: function () { return chunkPG5H6QIO_cjs.ensureToolProperties; }
26
26
  });
27
27
  Object.defineProperty(exports, "fetchWithRetry", {
28
28
  enumerable: true,
29
- get: function () { return chunkWM6CK2F3_cjs.fetchWithRetry; }
29
+ get: function () { return chunkPG5H6QIO_cjs.fetchWithRetry; }
30
30
  });
31
31
  Object.defineProperty(exports, "generateEmptyFromSchema", {
32
32
  enumerable: true,
33
- get: function () { return chunkWM6CK2F3_cjs.generateEmptyFromSchema; }
33
+ get: function () { return chunkPG5H6QIO_cjs.generateEmptyFromSchema; }
34
34
  });
35
35
  Object.defineProperty(exports, "getNestedValue", {
36
36
  enumerable: true,
37
- get: function () { return chunkWM6CK2F3_cjs.getNestedValue; }
37
+ get: function () { return chunkPG5H6QIO_cjs.getNestedValue; }
38
38
  });
39
39
  Object.defineProperty(exports, "isCoreMessage", {
40
40
  enumerable: true,
41
- get: function () { return chunkWM6CK2F3_cjs.isCoreMessage; }
41
+ get: function () { return chunkPG5H6QIO_cjs.isCoreMessage; }
42
42
  });
43
43
  Object.defineProperty(exports, "isUiMessage", {
44
44
  enumerable: true,
45
- get: function () { return chunkWM6CK2F3_cjs.isUiMessage; }
45
+ get: function () { return chunkPG5H6QIO_cjs.isUiMessage; }
46
46
  });
47
47
  Object.defineProperty(exports, "isZodType", {
48
48
  enumerable: true,
49
- get: function () { return chunkWM6CK2F3_cjs.isZodType; }
49
+ get: function () { return chunkPG5H6QIO_cjs.isZodType; }
50
50
  });
51
51
  Object.defineProperty(exports, "makeCoreTool", {
52
52
  enumerable: true,
53
- get: function () { return chunkWM6CK2F3_cjs.makeCoreTool; }
53
+ get: function () { return chunkPG5H6QIO_cjs.makeCoreTool; }
54
54
  });
55
55
  Object.defineProperty(exports, "makeCoreToolV5", {
56
56
  enumerable: true,
57
- get: function () { return chunkWM6CK2F3_cjs.makeCoreToolV5; }
57
+ get: function () { return chunkPG5H6QIO_cjs.makeCoreToolV5; }
58
58
  });
59
59
  Object.defineProperty(exports, "maskStreamTags", {
60
60
  enumerable: true,
61
- get: function () { return chunkWM6CK2F3_cjs.maskStreamTags; }
61
+ get: function () { return chunkPG5H6QIO_cjs.maskStreamTags; }
62
62
  });
63
63
  Object.defineProperty(exports, "omitKeys", {
64
64
  enumerable: true,
65
- get: function () { return chunkWM6CK2F3_cjs.omitKeys; }
65
+ get: function () { return chunkPG5H6QIO_cjs.omitKeys; }
66
66
  });
67
67
  Object.defineProperty(exports, "parseFieldKey", {
68
68
  enumerable: true,
69
- get: function () { return chunkWM6CK2F3_cjs.parseFieldKey; }
69
+ get: function () { return chunkPG5H6QIO_cjs.parseFieldKey; }
70
70
  });
71
71
  Object.defineProperty(exports, "parseSqlIdentifier", {
72
72
  enumerable: true,
73
- get: function () { return chunkWM6CK2F3_cjs.parseSqlIdentifier; }
73
+ get: function () { return chunkPG5H6QIO_cjs.parseSqlIdentifier; }
74
+ });
75
+ Object.defineProperty(exports, "removeUndefinedValues", {
76
+ enumerable: true,
77
+ get: function () { return chunkPG5H6QIO_cjs.removeUndefinedValues; }
74
78
  });
75
79
  Object.defineProperty(exports, "resolveSerializedZodOutput", {
76
80
  enumerable: true,
77
- get: function () { return chunkWM6CK2F3_cjs.resolveSerializedZodOutput; }
81
+ get: function () { return chunkPG5H6QIO_cjs.resolveSerializedZodOutput; }
78
82
  });
79
83
  Object.defineProperty(exports, "selectFields", {
80
84
  enumerable: true,
81
- get: function () { return chunkWM6CK2F3_cjs.selectFields; }
85
+ get: function () { return chunkPG5H6QIO_cjs.selectFields; }
82
86
  });
83
87
  Object.defineProperty(exports, "setNestedValue", {
84
88
  enumerable: true,
85
- get: function () { return chunkWM6CK2F3_cjs.setNestedValue; }
89
+ get: function () { return chunkPG5H6QIO_cjs.setNestedValue; }
86
90
  });
87
91
  //# sourceMappingURL=utils.cjs.map
88
92
  //# sourceMappingURL=utils.cjs.map
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- import type { WritableStream } from 'stream/web';
2
1
  import type { CoreMessage } from 'ai-sdk.types.d.ts';
3
2
  import { z } from 'zod';
4
3
  import type { MastraPrimitives } from './action/index.js';
@@ -9,9 +8,9 @@ import type { Mastra } from './mastra/index.js';
9
8
  import type { AiMessageType, MastraMemory } from './memory/index.js';
10
9
  import type { TracingContext, TracingPolicy } from './observability/index.js';
11
10
  import type { RequestContext } from './request-context/index.js';
12
- import type { ChunkType } from './stream/types.js';
13
11
  import type { CoreTool, VercelToolV5 } from './tools/index.js';
14
12
  import type { ToolToConvert } from './tools/tool-builder/builder.js';
13
+ import type { OutputWriter } from './workflows/types.js';
15
14
  export declare const delay: (ms: number) => Promise<unknown>;
16
15
  /**
17
16
  * Deep merges two objects, recursively merging nested objects and arrays
@@ -56,7 +55,10 @@ export interface ToolOptions {
56
55
  memory?: MastraMemory;
57
56
  agentName?: string;
58
57
  model?: MastraLanguageModel;
59
- writableStream?: WritableStream<ChunkType>;
58
+ /**
59
+ * Optional async writer used to stream tool output chunks back to the caller. Tools should treat this as fire-and-forget I/O.
60
+ */
61
+ outputWriter?: OutputWriter;
60
62
  requireApproval?: boolean;
61
63
  workflow?: any;
62
64
  workflowId?: string;
@@ -93,7 +95,7 @@ export declare function makeCoreToolV5(originalTool: ToolToConvert, options: Too
93
95
  export declare function createMastraProxy({ mastra, logger }: {
94
96
  mastra: Mastra;
95
97
  logger: IMastraLogger;
96
- }): Mastra<Record<string, import("./agent").Agent<any, ToolsInput>>, Record<string, import("./workflows").Workflow<any, any, any, any, any, any, any>>, Record<string, import("./vector").MastraVector<import("./vector/filter").VectorFilter>>, Record<string, import("./tts").MastraTTS>, IMastraLogger, Record<string, import("./mcp").MCPServerBase>, Record<string, import("./evals").MastraScorer<any, any, any, any>>, Record<string, import("./tools").ToolAction<any, any, any, any, import("./tools").ToolExecutionContext<any, any>>>, Record<string, import("./processors").Processor>>;
98
+ }): Mastra<Record<string, import("./agent").Agent<any, ToolsInput>>, Record<string, import("./workflows").Workflow<any, any, any, any, any, any, any>>, Record<string, import("./vector").MastraVector<any>>, Record<string, import("./tts").MastraTTS>, IMastraLogger, Record<string, import("./mcp").MCPServerBase<any>>, Record<string, import("./evals").MastraScorer<any, any, any, any>>, Record<string, import("./tools").ToolAction<any, any, any, any, any, any>>, Record<string, import("./processors").Processor<any, unknown>>, Record<string, MastraMemory>>;
97
99
  export declare function checkEvalStorageFields(traceObject: any, logger?: IMastraLogger): boolean;
98
100
  export declare function isUiMessage(message: CoreMessage | AiMessageType): message is AiMessageType;
99
101
  export declare function isCoreMessage(message: CoreMessage | AiMessageType): message is CoreMessage;
@@ -177,5 +179,8 @@ export declare function getNestedValue(obj: any, path: string): any;
177
179
  * @param value - Value to set
178
180
  */
179
181
  export declare function setNestedValue(obj: any, path: string, value: any): void;
182
+ export declare const removeUndefinedValues: (obj: Record<string, any>) => {
183
+ [k: string]: any;
184
+ };
180
185
  export {};
181
186
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,3 +1,3 @@
1
- export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getNestedValue, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput, selectFields, setNestedValue } from './chunk-4CDL2QJT.js';
1
+ export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getNestedValue, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys, parseFieldKey, parseSqlIdentifier, removeUndefinedValues, resolveSerializedZodOutput, selectFields, setNestedValue } from './chunk-IVV5TOMD.js';
2
2
  //# sourceMappingURL=utils.js.map
3
3
  //# sourceMappingURL=utils.js.map
@@ -1,194 +1,12 @@
1
1
  'use strict';
2
2
 
3
- // src/vector/filter/base.ts
4
- var BaseFilterTranslator = class _BaseFilterTranslator {
5
- /**
6
- * Operator type checks
7
- */
8
- isOperator(key) {
9
- return key.startsWith("$");
10
- }
11
- static BASIC_OPERATORS = ["$eq", "$ne"];
12
- static NUMERIC_OPERATORS = ["$gt", "$gte", "$lt", "$lte"];
13
- static ARRAY_OPERATORS = ["$in", "$nin", "$all", "$elemMatch"];
14
- static LOGICAL_OPERATORS = ["$and", "$or", "$not", "$nor"];
15
- static ELEMENT_OPERATORS = ["$exists"];
16
- static REGEX_OPERATORS = ["$regex", "$options"];
17
- static DEFAULT_OPERATORS = {
18
- logical: _BaseFilterTranslator.LOGICAL_OPERATORS,
19
- basic: _BaseFilterTranslator.BASIC_OPERATORS,
20
- numeric: _BaseFilterTranslator.NUMERIC_OPERATORS,
21
- array: _BaseFilterTranslator.ARRAY_OPERATORS,
22
- element: _BaseFilterTranslator.ELEMENT_OPERATORS,
23
- regex: _BaseFilterTranslator.REGEX_OPERATORS
24
- };
25
- isLogicalOperator(key) {
26
- return _BaseFilterTranslator.DEFAULT_OPERATORS.logical.includes(key);
27
- }
28
- isBasicOperator(key) {
29
- return _BaseFilterTranslator.DEFAULT_OPERATORS.basic.includes(key);
30
- }
31
- isNumericOperator(key) {
32
- return _BaseFilterTranslator.DEFAULT_OPERATORS.numeric.includes(key);
33
- }
34
- isArrayOperator(key) {
35
- return _BaseFilterTranslator.DEFAULT_OPERATORS.array.includes(key);
36
- }
37
- isElementOperator(key) {
38
- return _BaseFilterTranslator.DEFAULT_OPERATORS.element.includes(key);
39
- }
40
- isRegexOperator(key) {
41
- return _BaseFilterTranslator.DEFAULT_OPERATORS.regex.includes(key);
42
- }
43
- isFieldOperator(key) {
44
- return this.isOperator(key) && !this.isLogicalOperator(key);
45
- }
46
- isCustomOperator(key) {
47
- const support = this.getSupportedOperators();
48
- return support.custom?.includes(key) ?? false;
49
- }
50
- getSupportedOperators() {
51
- return _BaseFilterTranslator.DEFAULT_OPERATORS;
52
- }
53
- isValidOperator(key) {
54
- const support = this.getSupportedOperators();
55
- const allSupported = Object.values(support).flat();
56
- return allSupported.includes(key);
57
- }
58
- /**
59
- * Value normalization for comparison operators
60
- */
61
- normalizeComparisonValue(value) {
62
- if (value instanceof Date) {
63
- return value.toISOString();
64
- }
65
- if (typeof value === "number" && Object.is(value, -0)) {
66
- return 0;
67
- }
68
- return value;
69
- }
70
- /**
71
- * Helper method to simulate $all operator using $and + $eq when needed.
72
- * Some vector stores don't support $all natively.
73
- */
74
- simulateAllOperator(field, values) {
75
- return {
76
- $and: values.map((value) => ({
77
- [field]: { $in: [this.normalizeComparisonValue(value)] }
78
- }))
79
- };
80
- }
81
- /**
82
- * Utility functions for type checking
83
- */
84
- isPrimitive(value) {
85
- return value === null || value === void 0 || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
86
- }
87
- isRegex(value) {
88
- return value instanceof RegExp;
89
- }
90
- isEmpty(obj) {
91
- return obj === null || obj === void 0 || typeof obj === "object" && Object.keys(obj).length === 0;
92
- }
93
- static ErrorMessages = {
94
- UNSUPPORTED_OPERATOR: (op) => `Unsupported operator: ${op}`,
95
- INVALID_LOGICAL_OPERATOR_LOCATION: (op, path) => `Logical operator ${op} cannot be used at field level: ${path}`,
96
- NOT_REQUIRES_OBJECT: `$not operator requires an object`,
97
- NOT_CANNOT_BE_EMPTY: `$not operator cannot be empty`,
98
- INVALID_LOGICAL_OPERATOR_CONTENT: (path) => `Logical operators must contain field conditions, not direct operators: ${path}`,
99
- INVALID_TOP_LEVEL_OPERATOR: (op) => `Invalid top-level operator: ${op}`,
100
- ELEM_MATCH_REQUIRES_OBJECT: `$elemMatch requires an object with conditions`
101
- };
102
- /**
103
- * Helper to handle array value normalization consistently
104
- */
105
- normalizeArrayValues(values) {
106
- return values.map((value) => this.normalizeComparisonValue(value));
107
- }
108
- validateFilter(filter) {
109
- const validation = this.validateFilterSupport(filter);
110
- if (!validation.supported) {
111
- throw new Error(validation.messages.join(", "));
112
- }
113
- }
114
- /**
115
- * Validates if a filter structure is supported by the specific vector DB
116
- * and returns detailed validation information.
117
- */
118
- validateFilterSupport(node, path = "") {
119
- const messages = [];
120
- if (this.isPrimitive(node) || this.isEmpty(node)) {
121
- return { supported: true, messages: [] };
122
- }
123
- if (Array.isArray(node)) {
124
- const arrayResults = node.map((item) => this.validateFilterSupport(item, path));
125
- const arrayMessages = arrayResults.flatMap((r) => r.messages);
126
- return {
127
- supported: arrayResults.every((r) => r.supported),
128
- messages: arrayMessages
129
- };
130
- }
131
- const nodeObj = node;
132
- let isSupported = true;
133
- for (const [key, value] of Object.entries(nodeObj)) {
134
- const newPath = path ? `${path}.${key}` : key;
135
- if (this.isOperator(key)) {
136
- if (!this.isValidOperator(key)) {
137
- isSupported = false;
138
- messages.push(_BaseFilterTranslator.ErrorMessages.UNSUPPORTED_OPERATOR(key));
139
- continue;
140
- }
141
- if (!path && !this.isLogicalOperator(key)) {
142
- isSupported = false;
143
- messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_TOP_LEVEL_OPERATOR(key));
144
- continue;
145
- }
146
- if (key === "$elemMatch" && (typeof value !== "object" || Array.isArray(value))) {
147
- isSupported = false;
148
- messages.push(_BaseFilterTranslator.ErrorMessages.ELEM_MATCH_REQUIRES_OBJECT);
149
- continue;
150
- }
151
- if (this.isLogicalOperator(key)) {
152
- if (key === "$not") {
153
- if (Array.isArray(value) || typeof value !== "object") {
154
- isSupported = false;
155
- messages.push(_BaseFilterTranslator.ErrorMessages.NOT_REQUIRES_OBJECT);
156
- continue;
157
- }
158
- if (this.isEmpty(value)) {
159
- isSupported = false;
160
- messages.push(_BaseFilterTranslator.ErrorMessages.NOT_CANNOT_BE_EMPTY);
161
- continue;
162
- }
163
- continue;
164
- }
165
- if (path && !this.isLogicalOperator(path.split(".").pop())) {
166
- isSupported = false;
167
- messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_LOCATION(key, newPath));
168
- continue;
169
- }
170
- if (Array.isArray(value)) {
171
- const hasDirectOperators = value.some(
172
- (item) => typeof item === "object" && Object.keys(item).length === 1 && this.isFieldOperator(Object.keys(item)[0])
173
- );
174
- if (hasDirectOperators) {
175
- isSupported = false;
176
- messages.push(_BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_CONTENT(newPath));
177
- continue;
178
- }
179
- }
180
- }
181
- }
182
- const nestedValidation = this.validateFilterSupport(value, newPath);
183
- if (!nestedValidation.supported) {
184
- isSupported = false;
185
- messages.push(...nestedValidation.messages);
186
- }
187
- }
188
- return { supported: isSupported, messages };
189
- }
190
- };
3
+ var chunk6XCINXZ7_cjs = require('../../chunk-6XCINXZ7.cjs');
191
4
 
192
- exports.BaseFilterTranslator = BaseFilterTranslator;
5
+
6
+
7
+ Object.defineProperty(exports, "BaseFilterTranslator", {
8
+ enumerable: true,
9
+ get: function () { return chunk6XCINXZ7_cjs.BaseFilterTranslator; }
10
+ });
193
11
  //# sourceMappingURL=index.cjs.map
194
12
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/vector/filter/base.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["type BasicOperator =\n | '$eq' // Matches values equal to specified value\n | '$ne'; // Matches values not equal\n\ntype NumericOperator =\n | '$gt' // Greater than\n | '$gte' // Greater than or equal\n | '$lt' // Less than\n | '$lte'; // Less than or equal\n\ntype LogicalOperator =\n | '$and' // Joins query clauses with logical AND\n | '$not' // Inverts the effect of a query expression\n | '$nor' // Joins query clauses with logical NOR\n | '$or'; // Joins query clauses with logical OR\n\ntype ArrayOperator =\n | '$all' // Matches arrays containing all elements\n | '$in' // Matches any value in array\n | '$nin' // Matches none of the values in array\n | '$elemMatch'; // Matches documents that contain an array field with at least one element that matches all the specified query criteria\n\ntype ElementOperator = '$exists'; // Matches documents that have the specified field\n\ntype RegexOperator = '$regex' | '$options'; // Matches documents that have the specified field\n\n// Union of all supported operators\ntype QueryOperator =\n | BasicOperator\n | NumericOperator\n | LogicalOperator\n | ArrayOperator\n | ElementOperator\n | RegexOperator;\n\ntype EmptyObject = Record<string, never>;\n\ntype FilterValue = string | number | boolean | Date | null | undefined | EmptyObject;\n\n// Logical operators are handled at the top level as objects, not as values here\n// $and, $or, $nor, $not are handled in LogicalCondition\ntype OperatorValueMap<Op extends string = string, ValueMap extends Record<string, any> = any> = {\n $eq: FilterValue;\n $ne: FilterValue;\n $gt: number | string | Date;\n $gte: number | string | Date;\n $lt: number | string | Date;\n $lte: number | string | Date;\n $all: FilterValue[];\n $in: FilterValue[];\n $nin: FilterValue[];\n $elemMatch: Record<string, unknown>;\n $exists: boolean;\n $regex: string | RegExp;\n $options: string;\n $not: OperatorCondition<Op, ValueMap> | RegExp;\n};\n\ntype LogicalOperatorValueMap = {\n $and: 'array';\n $or: 'array';\n $nor: 'array';\n $not: 'object';\n};\n\ntype BlacklistedRootOperators =\n | '$eq'\n | '$ne'\n | '$gt'\n | '$gte'\n | '$lt'\n | '$lte'\n | '$in'\n | '$nin'\n | '$all'\n | '$exists'\n | '$regex'\n | '$options'\n | '$elemMatch';\n\ntype VectorFieldValue = FilterValue | FilterValue[];\n\n// Vector filter parameterized by operator set\ntype VectorFilter<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n Blacklisted extends string = BlacklistedRootOperators,\n FieldValue = VectorFieldValue,\n> = FilterCondition<Op, ValueMap, LogicalValueMap, Blacklisted, FieldValue> | null | undefined;\n\ntype FilterCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n Blacklisted extends string = BlacklistedRootOperators,\n FieldValue = VectorFieldValue,\n> = (FieldCondition<Op, ValueMap, FieldValue> | LogicalCondition<Op, ValueMap, LogicalValueMap>) &\n ForbiddenRootOperators<Blacklisted>;\n\n// Field condition can be a value or an operator condition\ntype FieldCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n FieldValue = VectorFieldValue,\n> = {\n [field: string]: OperatorCondition<Op, ValueMap> | FieldValue;\n};\n\ntype ForbiddenRootOperators<Blacklisted extends string> = {\n [K in Blacklisted]?: never;\n};\n\n// Logical conditions\ntype LogicalCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n> = {\n [K in keyof LogicalValueMap]: LogicalValueMap[K] extends 'array'\n ? {\n [P in K]: Array<LogicalBranch<Op, ValueMap, LogicalValueMap>>;\n }\n : {\n [P in K]: LogicalBranch<Op, ValueMap, LogicalValueMap>;\n };\n}[keyof LogicalValueMap];\n\ntype LogicalBranch<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n LogicalValueMap extends Record<string, any> = LogicalOperatorValueMap,\n> = FieldCondition<Op, ValueMap> | LogicalCondition<Op, ValueMap, LogicalValueMap>;\n\n// Base operator condition, parameterized by operator set\ntype OperatorCondition<\n Op extends keyof ValueMap = keyof OperatorValueMap,\n ValueMap extends Record<string, any> = OperatorValueMap,\n> = {\n [K in Exclude<Op, '$and' | '$or' | '$nor'>]?: ValueMap[K];\n};\n\ntype OperatorSupport = {\n logical?: LogicalOperator[];\n array?: ArrayOperator[];\n basic?: BasicOperator[];\n numeric?: NumericOperator[];\n element?: ElementOperator[];\n regex?: RegexOperator[];\n custom?: string[];\n};\n\n// Base abstract class for filter translators\nabstract class BaseFilterTranslator<Filter = VectorFilter, Result = Filter> {\n abstract translate(filter: Filter): Result;\n\n /**\n * Operator type checks\n */\n protected isOperator(key: string): key is QueryOperator {\n return key.startsWith('$');\n }\n\n protected static readonly BASIC_OPERATORS: BasicOperator[] = ['$eq', '$ne'];\n protected static readonly NUMERIC_OPERATORS: NumericOperator[] = ['$gt', '$gte', '$lt', '$lte'];\n protected static readonly ARRAY_OPERATORS: ArrayOperator[] = ['$in', '$nin', '$all', '$elemMatch'];\n protected static readonly LOGICAL_OPERATORS: LogicalOperator[] = ['$and', '$or', '$not', '$nor'];\n protected static readonly ELEMENT_OPERATORS: ElementOperator[] = ['$exists'];\n protected static readonly REGEX_OPERATORS: RegexOperator[] = ['$regex', '$options'];\n\n public static readonly DEFAULT_OPERATORS = {\n logical: BaseFilterTranslator.LOGICAL_OPERATORS,\n basic: BaseFilterTranslator.BASIC_OPERATORS,\n numeric: BaseFilterTranslator.NUMERIC_OPERATORS,\n array: BaseFilterTranslator.ARRAY_OPERATORS,\n element: BaseFilterTranslator.ELEMENT_OPERATORS,\n regex: BaseFilterTranslator.REGEX_OPERATORS,\n };\n\n protected isLogicalOperator(key: string): key is LogicalOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.logical.includes(key as LogicalOperator);\n }\n\n protected isBasicOperator(key: string): key is BasicOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.basic.includes(key as BasicOperator);\n }\n\n protected isNumericOperator(key: string): key is NumericOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.numeric.includes(key as NumericOperator);\n }\n\n protected isArrayOperator(key: string): key is ArrayOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.array.includes(key as ArrayOperator);\n }\n\n protected isElementOperator(key: string): key is ElementOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.element.includes(key as ElementOperator);\n }\n\n protected isRegexOperator(key: string): key is RegexOperator {\n return BaseFilterTranslator.DEFAULT_OPERATORS.regex.includes(key as RegexOperator);\n }\n\n protected isFieldOperator(key: string): key is QueryOperator {\n return this.isOperator(key) && !this.isLogicalOperator(key);\n }\n\n protected isCustomOperator(key: string): boolean {\n const support = this.getSupportedOperators();\n return support.custom?.includes(key) ?? false;\n }\n\n protected getSupportedOperators(): OperatorSupport {\n return BaseFilterTranslator.DEFAULT_OPERATORS;\n }\n\n protected isValidOperator(key: string): boolean {\n const support = this.getSupportedOperators();\n const allSupported = Object.values(support).flat();\n return allSupported.includes(key as QueryOperator);\n }\n\n /**\n * Value normalization for comparison operators\n */\n protected normalizeComparisonValue(value: any): any {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n // Handle -0 case\n if (typeof value === 'number' && Object.is(value, -0)) {\n return 0;\n }\n return value;\n }\n\n /**\n * Helper method to simulate $all operator using $and + $eq when needed.\n * Some vector stores don't support $all natively.\n */\n protected simulateAllOperator(field: string, values: any[]): VectorFilter<keyof OperatorValueMap, OperatorValueMap> {\n return {\n $and: values.map(value => ({\n [field]: { $in: [this.normalizeComparisonValue(value)] },\n })),\n };\n }\n\n /**\n * Utility functions for type checking\n */\n protected isPrimitive(value: any): boolean {\n return (\n value === null ||\n value === undefined ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n );\n }\n\n protected isRegex(value: any): boolean {\n return value instanceof RegExp;\n }\n\n protected isEmpty(obj: any): boolean {\n return obj === null || obj === undefined || (typeof obj === 'object' && Object.keys(obj).length === 0);\n }\n\n protected static readonly ErrorMessages = {\n UNSUPPORTED_OPERATOR: (op: string) => `Unsupported operator: ${op}`,\n INVALID_LOGICAL_OPERATOR_LOCATION: (op: string, path: string) =>\n `Logical operator ${op} cannot be used at field level: ${path}`,\n NOT_REQUIRES_OBJECT: `$not operator requires an object`,\n NOT_CANNOT_BE_EMPTY: `$not operator cannot be empty`,\n INVALID_LOGICAL_OPERATOR_CONTENT: (path: string) =>\n `Logical operators must contain field conditions, not direct operators: ${path}`,\n INVALID_TOP_LEVEL_OPERATOR: (op: string) => `Invalid top-level operator: ${op}`,\n ELEM_MATCH_REQUIRES_OBJECT: `$elemMatch requires an object with conditions`,\n } as const;\n\n /**\n * Helper to handle array value normalization consistently\n */\n protected normalizeArrayValues(values: any[]): any[] {\n return values.map(value => this.normalizeComparisonValue(value));\n }\n\n protected validateFilter(filter: Filter): void {\n const validation = this.validateFilterSupport(filter);\n if (!validation.supported) {\n throw new Error(validation.messages.join(', '));\n }\n }\n\n /**\n * Validates if a filter structure is supported by the specific vector DB\n * and returns detailed validation information.\n */\n private validateFilterSupport(\n node: Filter,\n path: string = '',\n ): {\n supported: boolean;\n messages: string[];\n } {\n const messages: string[] = [];\n\n // Handle primitives and empty values\n if (this.isPrimitive(node) || this.isEmpty(node)) {\n return { supported: true, messages: [] };\n }\n\n // Handle arrays\n if (Array.isArray(node)) {\n const arrayResults = node.map(item => this.validateFilterSupport(item, path));\n const arrayMessages = arrayResults.flatMap(r => r.messages);\n return {\n supported: arrayResults.every(r => r.supported),\n messages: arrayMessages,\n };\n }\n\n // Process object entries\n const nodeObj = node as Record<string, any>;\n let isSupported = true;\n\n for (const [key, value] of Object.entries(nodeObj)) {\n const newPath = path ? `${path}.${key}` : key;\n // Check if the key is an operator\n if (this.isOperator(key)) {\n if (!this.isValidOperator(key)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.UNSUPPORTED_OPERATOR(key));\n continue;\n }\n\n // Add check for non-logical operators at top level\n if (!path && !this.isLogicalOperator(key)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.INVALID_TOP_LEVEL_OPERATOR(key));\n continue;\n }\n\n // In the translate method or wherever operators are handled\n if (key === '$elemMatch' && (typeof value !== 'object' || Array.isArray(value))) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.ELEM_MATCH_REQUIRES_OBJECT);\n continue;\n }\n\n // Special validation for logical operators\n if (this.isLogicalOperator(key)) {\n if (key === '$not') {\n if (Array.isArray(value) || typeof value !== 'object') {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.NOT_REQUIRES_OBJECT);\n continue;\n }\n if (this.isEmpty(value)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.NOT_CANNOT_BE_EMPTY);\n continue;\n }\n // $not can be used at field level or top level\n continue;\n }\n // Other logical operators can only be at top level or nested in logical operators\n if (path && !this.isLogicalOperator(path.split('.').pop()!)) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_LOCATION(key, newPath));\n continue;\n }\n\n if (Array.isArray(value)) {\n const hasDirectOperators = value.some(\n item =>\n typeof item === 'object' &&\n Object.keys(item).length === 1 &&\n this.isFieldOperator(Object.keys(item)[0]!),\n );\n\n if (hasDirectOperators) {\n isSupported = false;\n messages.push(BaseFilterTranslator.ErrorMessages.INVALID_LOGICAL_OPERATOR_CONTENT(newPath));\n continue;\n }\n }\n }\n }\n\n // Recursively validate nested value\n const nestedValidation = this.validateFilterSupport(value, newPath);\n if (!nestedValidation.supported) {\n isSupported = false;\n messages.push(...nestedValidation.messages);\n }\n }\n\n return { supported: isSupported, messages };\n }\n}\n\n// Export types and base class\nexport {\n type QueryOperator,\n type BasicOperator,\n type NumericOperator,\n type LogicalOperator,\n type ArrayOperator,\n type RegexOperator,\n type ElementOperator,\n type VectorFilter,\n type FilterValue,\n type VectorFieldValue,\n type FieldCondition,\n type OperatorCondition,\n type OperatorSupport,\n type OperatorValueMap,\n type LogicalOperatorValueMap,\n type BlacklistedRootOperators,\n BaseFilterTranslator,\n};\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}