@mastra/core 0.13.2 → 0.14.0-alpha.1

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 (327) hide show
  1. package/README.md +5 -44
  2. package/dist/agent/agent.types.d.ts +12 -2
  3. package/dist/agent/agent.types.d.ts.map +1 -1
  4. package/dist/agent/index.cjs +14 -14
  5. package/dist/agent/index.d.ts +17 -17
  6. package/dist/agent/index.d.ts.map +1 -1
  7. package/dist/agent/index.js +2 -2
  8. package/dist/agent/input-processor/index.cjs +28 -0
  9. package/dist/agent/input-processor/index.js +3 -0
  10. package/dist/agent/input-processor/processors/index.d.ts +4 -4
  11. package/dist/agent/input-processor/processors/index.d.ts.map +1 -1
  12. package/dist/agent/input-processor/processors/language-detector.d.ts +6 -139
  13. package/dist/agent/input-processor/processors/language-detector.d.ts.map +1 -1
  14. package/dist/agent/input-processor/processors/moderation.d.ts +5 -94
  15. package/dist/agent/input-processor/processors/moderation.d.ts.map +1 -1
  16. package/dist/agent/input-processor/processors/pii-detector.d.ts +6 -164
  17. package/dist/agent/input-processor/processors/pii-detector.d.ts.map +1 -1
  18. package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts +6 -96
  19. package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts.map +1 -1
  20. package/dist/agent/input-processor/processors/unicode-normalizer.d.ts +9 -25
  21. package/dist/agent/input-processor/processors/unicode-normalizer.d.ts.map +1 -1
  22. package/dist/agent/message-list/index.d.ts +138 -39
  23. package/dist/agent/message-list/index.d.ts.map +1 -1
  24. package/dist/agent/message-list/types.d.ts +3 -0
  25. package/dist/agent/message-list/types.d.ts.map +1 -0
  26. package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +3 -0
  27. package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts.map +1 -0
  28. package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +3 -0
  29. package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts.map +1 -0
  30. package/dist/agent/message-list/utils/ai-v5/tool.d.ts +16 -0
  31. package/dist/agent/message-list/utils/ai-v5/tool.d.ts.map +1 -0
  32. package/dist/agent/types.d.ts +34 -4
  33. package/dist/agent/types.d.ts.map +1 -1
  34. package/dist/ai-tracing/base.d.ts +22 -7
  35. package/dist/ai-tracing/base.d.ts.map +1 -1
  36. package/dist/ai-tracing/default.d.ts +3 -3
  37. package/dist/ai-tracing/default.d.ts.map +1 -1
  38. package/dist/ai-tracing/index.cjs +253 -72
  39. package/dist/ai-tracing/index.cjs.map +1 -1
  40. package/dist/ai-tracing/index.d.ts +1 -0
  41. package/dist/ai-tracing/index.d.ts.map +1 -1
  42. package/dist/ai-tracing/index.js +243 -71
  43. package/dist/ai-tracing/index.js.map +1 -1
  44. package/dist/ai-tracing/no-op.d.ts +39 -7
  45. package/dist/ai-tracing/no-op.d.ts.map +1 -1
  46. package/dist/ai-tracing/registry.d.ts +29 -4
  47. package/dist/ai-tracing/registry.d.ts.map +1 -1
  48. package/dist/ai-tracing/types.d.ts +112 -53
  49. package/dist/ai-tracing/types.d.ts.map +1 -1
  50. package/dist/ai-tracing/utils.d.ts +24 -0
  51. package/dist/ai-tracing/utils.d.ts.map +1 -0
  52. package/dist/base.cjs +2 -2
  53. package/dist/base.js +1 -1
  54. package/dist/bundler/index.cjs +2 -2
  55. package/dist/bundler/index.js +1 -1
  56. package/dist/{chunk-N3VGOJZV.cjs → chunk-4BMFOQDC.cjs} +27 -47
  57. package/dist/chunk-4BMFOQDC.cjs.map +1 -0
  58. package/dist/{chunk-MTRRRTB4.js → chunk-4XDSHUFK.js} +7 -6
  59. package/dist/chunk-4XDSHUFK.js.map +1 -0
  60. package/dist/{chunk-SSJVFUBZ.js → chunk-67L5DRLO.js} +3 -3
  61. package/dist/{chunk-SSJVFUBZ.js.map → chunk-67L5DRLO.js.map} +1 -1
  62. package/dist/{chunk-FUERFM46.js → chunk-6GF5M4GX.js} +3 -3
  63. package/dist/{chunk-FUERFM46.js.map → chunk-6GF5M4GX.js.map} +1 -1
  64. package/dist/{chunk-7E2SNI5D.cjs → chunk-7AXX55C5.cjs} +5 -5
  65. package/dist/chunk-7AXX55C5.cjs.map +1 -0
  66. package/dist/{chunk-6W6LYR7M.js → chunk-7XGDFDZ2.js} +3 -3
  67. package/dist/{chunk-6W6LYR7M.js.map → chunk-7XGDFDZ2.js.map} +1 -1
  68. package/dist/{chunk-R4HT5XUH.cjs → chunk-ASJVWHIK.cjs} +993 -124
  69. package/dist/chunk-ASJVWHIK.cjs.map +1 -0
  70. package/dist/{chunk-ZDZ57MIU.js → chunk-AWILTHBM.js} +3 -3
  71. package/dist/{chunk-ZDZ57MIU.js.map → chunk-AWILTHBM.js.map} +1 -1
  72. package/dist/{chunk-DDYSOZ25.js → chunk-AYXRNQH3.js} +3 -3
  73. package/dist/{chunk-DDYSOZ25.js.map → chunk-AYXRNQH3.js.map} +1 -1
  74. package/dist/{chunk-U2CK6AN5.cjs → chunk-BCCEYWAV.cjs} +4 -4
  75. package/dist/{chunk-U2CK6AN5.cjs.map → chunk-BCCEYWAV.cjs.map} +1 -1
  76. package/dist/{chunk-MH64VYGF.cjs → chunk-CSTWQQ3C.cjs} +14 -13
  77. package/dist/chunk-CSTWQQ3C.cjs.map +1 -0
  78. package/dist/{chunk-FTPL7ILZ.js → chunk-CWZDKGJ6.js} +3 -3
  79. package/dist/{chunk-FTPL7ILZ.js.map → chunk-CWZDKGJ6.js.map} +1 -1
  80. package/dist/{chunk-MVSUZXER.cjs → chunk-D7P76YH6.cjs} +4 -4
  81. package/dist/{chunk-MVSUZXER.cjs.map → chunk-D7P76YH6.cjs.map} +1 -1
  82. package/dist/{chunk-IL5SHDY4.js → chunk-DAMIFZPW.js} +949 -103
  83. package/dist/chunk-DAMIFZPW.js.map +1 -0
  84. package/dist/{chunk-KLXRYVVQ.cjs → chunk-DVI6XHUC.cjs} +4 -4
  85. package/dist/{chunk-KLXRYVVQ.cjs.map → chunk-DVI6XHUC.cjs.map} +1 -1
  86. package/dist/chunk-ELKY3FEM.cjs +14 -0
  87. package/dist/{chunk-IP5NGA2S.cjs.map → chunk-ELKY3FEM.cjs.map} +1 -1
  88. package/dist/{chunk-TOODGJKM.js → chunk-GZVSHXPP.js} +3 -3
  89. package/dist/chunk-GZVSHXPP.js.map +1 -0
  90. package/dist/{chunk-WA3SWCXD.cjs → chunk-I4XP6RAN.cjs} +9 -9
  91. package/dist/{chunk-WA3SWCXD.cjs.map → chunk-I4XP6RAN.cjs.map} +1 -1
  92. package/dist/{chunk-PLVSXEQP.cjs → chunk-IAP4IWKM.cjs} +4 -4
  93. package/dist/{chunk-PLVSXEQP.cjs.map → chunk-IAP4IWKM.cjs.map} +1 -1
  94. package/dist/{chunk-YT4RGZYO.cjs → chunk-KXCUCBEI.cjs} +8 -8
  95. package/dist/{chunk-YT4RGZYO.cjs.map → chunk-KXCUCBEI.cjs.map} +1 -1
  96. package/dist/{chunk-Z74LG5VH.cjs → chunk-LFAAEOQC.cjs} +21 -4
  97. package/dist/chunk-LFAAEOQC.cjs.map +1 -0
  98. package/dist/{chunk-DK7AVDMI.cjs → chunk-LVVAUDVQ.cjs} +4 -4
  99. package/dist/{chunk-DK7AVDMI.cjs.map → chunk-LVVAUDVQ.cjs.map} +1 -1
  100. package/dist/{chunk-HBMZEZTO.js → chunk-ON4S33NP.js} +3 -3
  101. package/dist/{chunk-HBMZEZTO.js.map → chunk-ON4S33NP.js.map} +1 -1
  102. package/dist/{chunk-L6YBPFYF.js → chunk-OPT2L5AM.js} +1089 -81
  103. package/dist/chunk-OPT2L5AM.js.map +1 -0
  104. package/dist/{chunk-N2KMAW6T.js → chunk-P7WF6NQU.js} +20 -4
  105. package/dist/chunk-P7WF6NQU.js.map +1 -0
  106. package/dist/{chunk-KEMW2BER.js → chunk-PY4MHJTE.js} +3 -3
  107. package/dist/{chunk-KEMW2BER.js.map → chunk-PY4MHJTE.js.map} +1 -1
  108. package/dist/{chunk-TZVJV7EV.js → chunk-QSJZLHWA.js} +5 -5
  109. package/dist/{chunk-TZVJV7EV.js.map → chunk-QSJZLHWA.js.map} +1 -1
  110. package/dist/{chunk-DCOKWJ5G.cjs → chunk-RJCNC57P.cjs} +1110 -79
  111. package/dist/chunk-RJCNC57P.cjs.map +1 -0
  112. package/dist/{chunk-LMW44O4V.cjs → chunk-RPV7GQAX.cjs} +4 -4
  113. package/dist/{chunk-LMW44O4V.cjs.map → chunk-RPV7GQAX.cjs.map} +1 -1
  114. package/dist/{chunk-TZOR5M7H.js → chunk-RYCRCJCY.js} +25 -45
  115. package/dist/chunk-RYCRCJCY.js.map +1 -0
  116. package/dist/{chunk-IDDUQR6P.cjs → chunk-V5WKCX3G.cjs} +3 -3
  117. package/dist/chunk-V5WKCX3G.cjs.map +1 -0
  118. package/dist/{chunk-6AR2Z5ZG.js → chunk-X3GXU6TZ.js} +3 -3
  119. package/dist/chunk-X3GXU6TZ.js.map +1 -0
  120. package/dist/deployer/index.cjs +2 -2
  121. package/dist/deployer/index.js +1 -1
  122. package/dist/index.cjs +74 -70
  123. package/dist/index.js +14 -14
  124. package/dist/llm/index.d.ts +2 -1
  125. package/dist/llm/index.d.ts.map +1 -1
  126. package/dist/llm/model/base.types.d.ts +2 -6
  127. package/dist/llm/model/base.types.d.ts.map +1 -1
  128. package/dist/llm/model/index.d.ts +0 -1
  129. package/dist/llm/model/index.d.ts.map +1 -1
  130. package/dist/llm/model/model.d.ts +3 -2
  131. package/dist/llm/model/model.d.ts.map +1 -1
  132. package/dist/llm/model/model.loop.d.ts +25 -0
  133. package/dist/llm/model/model.loop.d.ts.map +1 -0
  134. package/dist/llm/model/model.loop.types.d.ts +39 -0
  135. package/dist/llm/model/model.loop.types.d.ts.map +1 -0
  136. package/dist/llm/model/shared.types.d.ts +8 -0
  137. package/dist/llm/model/shared.types.d.ts.map +1 -0
  138. package/dist/logger/constants.d.ts +1 -1
  139. package/dist/logger/index.cjs +6 -6
  140. package/dist/logger/index.js +1 -1
  141. package/dist/loop/index.cjs +2848 -0
  142. package/dist/loop/index.cjs.map +1 -0
  143. package/dist/loop/index.d.ts +2 -0
  144. package/dist/loop/index.d.ts.map +1 -0
  145. package/dist/loop/index.js +2842 -0
  146. package/dist/loop/index.js.map +1 -0
  147. package/dist/loop/loop.d.ts +5 -0
  148. package/dist/loop/loop.d.ts.map +1 -0
  149. package/dist/loop/telemetry/index.d.ts +36 -0
  150. package/dist/loop/telemetry/index.d.ts.map +1 -0
  151. package/dist/loop/telemetry/noop.d.ts +3 -0
  152. package/dist/loop/telemetry/noop.d.ts.map +1 -0
  153. package/dist/loop/test-utils/fullStream.d.ts +6 -0
  154. package/dist/loop/test-utils/fullStream.d.ts.map +1 -0
  155. package/dist/loop/test-utils/generateText.d.ts +6 -0
  156. package/dist/loop/test-utils/generateText.d.ts.map +1 -0
  157. package/dist/loop/test-utils/mockTracer.d.ts +47 -0
  158. package/dist/loop/test-utils/mockTracer.d.ts.map +1 -0
  159. package/dist/loop/test-utils/options.d.ts +6 -0
  160. package/dist/loop/test-utils/options.d.ts.map +1 -0
  161. package/dist/loop/test-utils/resultObject.d.ts +6 -0
  162. package/dist/loop/test-utils/resultObject.d.ts.map +1 -0
  163. package/dist/loop/test-utils/streamObject.d.ts +6 -0
  164. package/dist/loop/test-utils/streamObject.d.ts.map +1 -0
  165. package/dist/loop/test-utils/telemetry.d.ts +6 -0
  166. package/dist/loop/test-utils/telemetry.d.ts.map +1 -0
  167. package/dist/loop/test-utils/textStream.d.ts +6 -0
  168. package/dist/loop/test-utils/textStream.d.ts.map +1 -0
  169. package/dist/loop/test-utils/toUIMessageStream.d.ts +6 -0
  170. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -0
  171. package/dist/loop/test-utils/tools.d.ts +6 -0
  172. package/dist/loop/test-utils/tools.d.ts.map +1 -0
  173. package/dist/loop/test-utils/utils.d.ts +40 -0
  174. package/dist/loop/test-utils/utils.d.ts.map +1 -0
  175. package/dist/loop/types.d.ts +68 -0
  176. package/dist/loop/types.d.ts.map +1 -0
  177. package/dist/loop/workflow/llm-execution.d.ts +80 -0
  178. package/dist/loop/workflow/llm-execution.d.ts.map +1 -0
  179. package/dist/loop/workflow/outer-llm-step.d.ts +43 -0
  180. package/dist/loop/workflow/outer-llm-step.d.ts.map +1 -0
  181. package/dist/loop/workflow/run-state.d.ts +24 -0
  182. package/dist/loop/workflow/run-state.d.ts.map +1 -0
  183. package/dist/loop/workflow/schema.d.ts +80 -0
  184. package/dist/loop/workflow/schema.d.ts.map +1 -0
  185. package/dist/loop/workflow/stream.d.ts +6 -0
  186. package/dist/loop/workflow/stream.d.ts.map +1 -0
  187. package/dist/loop/workflow/tool-call-step.d.ts +41 -0
  188. package/dist/loop/workflow/tool-call-step.d.ts.map +1 -0
  189. package/dist/mastra/index.cjs +2 -2
  190. package/dist/mastra/index.d.ts +4 -5
  191. package/dist/mastra/index.d.ts.map +1 -1
  192. package/dist/mastra/index.js +1 -1
  193. package/dist/mcp/index.cjs +4 -4
  194. package/dist/mcp/index.js +2 -2
  195. package/dist/memory/index.cjs +4 -4
  196. package/dist/memory/index.js +1 -1
  197. package/dist/network/index.cjs +6 -6
  198. package/dist/network/index.cjs.map +1 -1
  199. package/dist/network/index.js +3 -3
  200. package/dist/network/index.js.map +1 -1
  201. package/dist/network/network.d.ts +8 -7
  202. package/dist/network/network.d.ts.map +1 -1
  203. package/dist/network/vNext/index.cjs +21 -21
  204. package/dist/network/vNext/index.cjs.map +1 -1
  205. package/dist/network/vNext/index.d.ts +7 -7
  206. package/dist/network/vNext/index.d.ts.map +1 -1
  207. package/dist/network/vNext/index.js +7 -7
  208. package/dist/network/vNext/index.js.map +1 -1
  209. package/dist/processors/index.cjs +512 -0
  210. package/dist/processors/index.cjs.map +1 -0
  211. package/dist/processors/index.d.ts +38 -0
  212. package/dist/processors/index.d.ts.map +1 -0
  213. package/dist/processors/index.js +481 -0
  214. package/dist/processors/index.js.map +1 -0
  215. package/dist/processors/processors/batch-parts.d.ts +42 -0
  216. package/dist/processors/processors/batch-parts.d.ts.map +1 -0
  217. package/dist/processors/processors/index.d.ts +10 -0
  218. package/dist/processors/processors/index.d.ts.map +1 -0
  219. package/dist/processors/processors/language-detector.d.ts +151 -0
  220. package/dist/processors/processors/language-detector.d.ts.map +1 -0
  221. package/dist/processors/processors/moderation.d.ts +130 -0
  222. package/dist/processors/processors/moderation.d.ts.map +1 -0
  223. package/dist/processors/processors/pii-detector.d.ts +197 -0
  224. package/dist/processors/processors/pii-detector.d.ts.map +1 -0
  225. package/dist/processors/processors/prompt-injection-detector.d.ts +108 -0
  226. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -0
  227. package/dist/processors/processors/structured-output.d.ts +42 -0
  228. package/dist/processors/processors/structured-output.d.ts.map +1 -0
  229. package/dist/processors/processors/system-prompt-scrubber.d.ts +92 -0
  230. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -0
  231. package/dist/processors/processors/token-limiter.d.ts +66 -0
  232. package/dist/processors/processors/token-limiter.d.ts.map +1 -0
  233. package/dist/processors/processors/unicode-normalizer.d.ts +34 -0
  234. package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -0
  235. package/dist/processors/runner.d.ts +41 -0
  236. package/dist/processors/runner.d.ts.map +1 -0
  237. package/dist/relevance/index.cjs +4 -4
  238. package/dist/relevance/index.js +1 -1
  239. package/dist/scores/index.cjs +5 -5
  240. package/dist/scores/index.js +2 -2
  241. package/dist/server/index.cjs +2 -2
  242. package/dist/server/index.js +1 -1
  243. package/dist/storage/domains/operations/base.d.ts.map +1 -1
  244. package/dist/storage/index.cjs +15 -17
  245. package/dist/storage/index.cjs.map +1 -1
  246. package/dist/storage/index.js +4 -6
  247. package/dist/storage/index.js.map +1 -1
  248. package/dist/stream/aisdk/v4/transform.d.ts +26 -0
  249. package/dist/stream/aisdk/v4/transform.d.ts.map +1 -1
  250. package/dist/stream/aisdk/v5/compat.d.ts +159 -0
  251. package/dist/stream/aisdk/v5/compat.d.ts.map +1 -0
  252. package/dist/stream/aisdk/v5/execute.d.ts +29 -0
  253. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -0
  254. package/dist/stream/aisdk/v5/file.d.ts +38 -0
  255. package/dist/stream/aisdk/v5/file.d.ts.map +1 -0
  256. package/dist/stream/aisdk/v5/input.d.ts +15 -0
  257. package/dist/stream/aisdk/v5/input.d.ts.map +1 -0
  258. package/dist/stream/aisdk/v5/object/schema.d.ts +4 -0
  259. package/dist/stream/aisdk/v5/object/schema.d.ts.map +1 -0
  260. package/dist/stream/aisdk/v5/object/stream-object.d.ts +34 -0
  261. package/dist/stream/aisdk/v5/object/stream-object.d.ts.map +1 -0
  262. package/dist/stream/aisdk/v5/output-helpers.d.ts +76 -0
  263. package/dist/stream/aisdk/v5/output-helpers.d.ts.map +1 -0
  264. package/dist/stream/aisdk/v5/output.d.ts +119 -0
  265. package/dist/stream/aisdk/v5/output.d.ts.map +1 -0
  266. package/dist/stream/aisdk/v5/test-utils.d.ts +19 -0
  267. package/dist/stream/aisdk/v5/test-utils.d.ts.map +1 -0
  268. package/dist/stream/aisdk/v5/transform.d.ts +31 -0
  269. package/dist/stream/aisdk/v5/transform.d.ts.map +1 -0
  270. package/dist/stream/base/input.d.ts +1 -1
  271. package/dist/stream/base/output.d.ts +89 -0
  272. package/dist/stream/base/output.d.ts.map +1 -0
  273. package/dist/stream/types.d.ts +30 -0
  274. package/dist/stream/types.d.ts.map +1 -1
  275. package/dist/test-utils/llm-mock.cjs +2 -2
  276. package/dist/test-utils/llm-mock.cjs.map +1 -1
  277. package/dist/test-utils/llm-mock.d.ts +2 -2
  278. package/dist/test-utils/llm-mock.d.ts.map +1 -1
  279. package/dist/test-utils/llm-mock.js +2 -2
  280. package/dist/test-utils/llm-mock.js.map +1 -1
  281. package/dist/tools/tool-builder/builder.d.ts +3 -2
  282. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  283. package/dist/tools/types.d.ts +9 -0
  284. package/dist/tools/types.d.ts.map +1 -1
  285. package/dist/tts/index.cjs +2 -2
  286. package/dist/tts/index.js +1 -1
  287. package/dist/types.d.ts +2 -0
  288. package/dist/types.d.ts.map +1 -1
  289. package/dist/utils.cjs +19 -15
  290. package/dist/utils.d.ts +3 -2
  291. package/dist/utils.d.ts.map +1 -1
  292. package/dist/utils.js +1 -1
  293. package/dist/vector/index.cjs +2 -2
  294. package/dist/vector/index.js +1 -1
  295. package/dist/voice/index.cjs +4 -4
  296. package/dist/voice/index.js +1 -1
  297. package/dist/workflows/default.d.ts.map +1 -1
  298. package/dist/workflows/index.cjs +10 -10
  299. package/dist/workflows/index.js +1 -1
  300. package/dist/workflows/legacy/index.cjs +22 -22
  301. package/dist/workflows/legacy/index.js +1 -1
  302. package/loop.d.ts +1 -0
  303. package/package.json +16 -1
  304. package/processors.d.ts +1 -0
  305. package/dist/agent/input-processor/processors/index.cjs +0 -28
  306. package/dist/agent/input-processor/processors/index.js +0 -3
  307. package/dist/agent/input-processor/runner.d.ts +0 -4
  308. package/dist/agent/input-processor/runner.d.ts.map +0 -1
  309. package/dist/chunk-6AR2Z5ZG.js.map +0 -1
  310. package/dist/chunk-7E2SNI5D.cjs.map +0 -1
  311. package/dist/chunk-DCOKWJ5G.cjs.map +0 -1
  312. package/dist/chunk-IDDUQR6P.cjs.map +0 -1
  313. package/dist/chunk-IL5SHDY4.js.map +0 -1
  314. package/dist/chunk-IP5NGA2S.cjs +0 -14
  315. package/dist/chunk-L6YBPFYF.js.map +0 -1
  316. package/dist/chunk-MH64VYGF.cjs.map +0 -1
  317. package/dist/chunk-MTRRRTB4.js.map +0 -1
  318. package/dist/chunk-N2KMAW6T.js.map +0 -1
  319. package/dist/chunk-N3VGOJZV.cjs.map +0 -1
  320. package/dist/chunk-R4HT5XUH.cjs.map +0 -1
  321. package/dist/chunk-TOODGJKM.js.map +0 -1
  322. package/dist/chunk-TZOR5M7H.js.map +0 -1
  323. package/dist/chunk-Z74LG5VH.cjs.map +0 -1
  324. package/dist/llm/model/base.d.ts +0 -26
  325. package/dist/llm/model/base.d.ts.map +0 -1
  326. /package/dist/agent/input-processor/{processors/index.cjs.map → index.cjs.map} +0 -0
  327. /package/dist/agent/input-processor/{processors/index.js.map → index.js.map} +0 -0
@@ -0,0 +1,151 @@
1
+ import type { MastraMessageV2 } from '../../agent/message-list/index.js';
2
+ import type { MastraLanguageModel } from '../../agent/types.js';
3
+ import type { Processor } from '../index.js';
4
+ /**
5
+ * Language detection result for a single text
6
+ */
7
+ export interface LanguageDetection {
8
+ language: string;
9
+ confidence: number;
10
+ iso_code: string;
11
+ }
12
+ /**
13
+ * Translation result
14
+ */
15
+ export interface TranslationResult {
16
+ original_text: string;
17
+ original_language: string;
18
+ translated_text: string;
19
+ target_language: string;
20
+ confidence: number;
21
+ }
22
+ /**
23
+ * Language detection and translation result (simplified for minimal tokens)
24
+ */
25
+ export interface LanguageDetectionResult {
26
+ iso_code?: string;
27
+ confidence?: number;
28
+ translated_text?: string;
29
+ }
30
+ /**
31
+ * Configuration options for LanguageDetector
32
+ */
33
+ export interface LanguageDetectorOptions {
34
+ /** Model configuration for the detection/translation agent */
35
+ model: MastraLanguageModel;
36
+ /**
37
+ * Target language(s) for the project.
38
+ * If content is detected in a different language, it may be translated.
39
+ * Can be language name ('English') or ISO code ('en')
40
+ */
41
+ targetLanguages: string[];
42
+ /**
43
+ * Confidence threshold for language detection (0-1, default: 0.7)
44
+ * Only process when detection confidence exceeds this threshold
45
+ */
46
+ threshold?: number;
47
+ /**
48
+ * Strategy when non-target language is detected:
49
+ * - 'detect': Only detect language, don't translate (default)
50
+ * - 'translate': Automatically translate to target language
51
+ * - 'block': Reject content not in target language
52
+ * - 'warn': Log warning but allow content through
53
+ */
54
+ strategy?: 'detect' | 'translate' | 'block' | 'warn';
55
+ /**
56
+ * Whether to preserve original content in message metadata (default: true)
57
+ * Useful for audit trails and debugging
58
+ */
59
+ preserveOriginal?: boolean;
60
+ /**
61
+ * Custom detection instructions for the agent
62
+ * If not provided, uses default instructions
63
+ */
64
+ instructions?: string;
65
+ /**
66
+ * Minimum text length to perform detection (default: 10)
67
+ * Short text is often unreliable for language detection
68
+ */
69
+ minTextLength?: number;
70
+ /**
71
+ * Whether to include detailed detection info in logs (default: false)
72
+ */
73
+ includeDetectionDetails?: boolean;
74
+ /**
75
+ * Translation quality preference:
76
+ * - 'speed': Prioritize fast translation
77
+ * - 'quality': Prioritize translation accuracy (default)
78
+ * - 'balanced': Balance between speed and quality
79
+ */
80
+ translationQuality?: 'speed' | 'quality' | 'balanced';
81
+ }
82
+ /**
83
+ * LanguageDetector identifies the language of input text and optionally
84
+ * translates it to a target language for consistent processing.
85
+ *
86
+ * Supports 100+ languages via internal agent-based detection and translation,
87
+ * making it ideal for multilingual AI applications and global deployment.
88
+ */
89
+ export declare class LanguageDetector implements Processor {
90
+ readonly name = "language-detector";
91
+ private detectionAgent;
92
+ private targetLanguages;
93
+ private threshold;
94
+ private strategy;
95
+ private preserveOriginal;
96
+ private minTextLength;
97
+ private includeDetectionDetails;
98
+ private translationQuality;
99
+ private static readonly DEFAULT_TARGET_LANGUAGES;
100
+ private static readonly LANGUAGE_MAP;
101
+ constructor(options: LanguageDetectorOptions);
102
+ processInput(args: {
103
+ messages: MastraMessageV2[];
104
+ abort: (reason?: string) => never;
105
+ }): Promise<MastraMessageV2[]>;
106
+ /**
107
+ * Detect language using the internal agent
108
+ */
109
+ private detectLanguage;
110
+ /**
111
+ * Determine if language detection indicates non-target language
112
+ */
113
+ private isNonTargetLanguage;
114
+ /**
115
+ * Get detected language name from ISO code
116
+ */
117
+ private getLanguageName;
118
+ /**
119
+ * Handle detected language based on strategy
120
+ */
121
+ private handleDetectedLanguage;
122
+ /**
123
+ * Create a translated message with original preserved in metadata
124
+ */
125
+ private createTranslatedMessage;
126
+ /**
127
+ * Add language detection metadata to message
128
+ */
129
+ private addLanguageMetadata;
130
+ /**
131
+ * Check if detected language is a target language
132
+ */
133
+ private isTargetLanguage;
134
+ /**
135
+ * Extract text content from message for analysis
136
+ */
137
+ private extractTextContent;
138
+ /**
139
+ * Get language code from language name or vice versa
140
+ */
141
+ private getLanguageCode;
142
+ /**
143
+ * Create default detection and translation instructions
144
+ */
145
+ private createDefaultInstructions;
146
+ /**
147
+ * Create detection prompt for the agent
148
+ */
149
+ private createDetectionPrompt;
150
+ }
151
+ //# sourceMappingURL=language-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-detector.d.ts","sourceRoot":"","sources":["../../../src/processors/processors/language-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8DAA8D;IAC9D,KAAK,EAAE,mBAAmB,CAAC;IAE3B;;;;OAIG;IACH,eAAe,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;IAErD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAChD,QAAQ,CAAC,IAAI,uBAAuB;IAEpC,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,uBAAuB,CAAU;IACzC,OAAO,CAAC,kBAAkB,CAAmC;IAG7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAqB;IAGrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAsClC;gBAEU,OAAO,EAAE,uBAAuB;IAiBtC,YAAY,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;KACnC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAiE9B;;OAEG;YACW,cAAc;IAyB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;YACW,sBAAsB;IAsCpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwC3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAMjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAU9B"}
@@ -0,0 +1,130 @@
1
+ import type { TextStreamPart, ObjectStreamPart } from 'ai';
2
+ import type { MastraMessageV2 } from '../../agent/message-list/index.js';
3
+ import type { MastraLanguageModel } from '../../agent/types.js';
4
+ import type { Processor } from '../index.js';
5
+ /**
6
+ * Confidence scores for each moderation category (0-1)
7
+ */
8
+ export interface ModerationCategoryScores {
9
+ hate?: number;
10
+ 'hate/threatening'?: number;
11
+ harassment?: number;
12
+ 'harassment/threatening'?: number;
13
+ 'self-harm'?: number;
14
+ 'self-harm/intent'?: number;
15
+ 'self-harm/instructions'?: number;
16
+ sexual?: number;
17
+ 'sexual/minors'?: number;
18
+ violence?: number;
19
+ 'violence/graphic'?: number;
20
+ [customCategory: string]: number | undefined;
21
+ }
22
+ /**
23
+ * Result structure for moderation
24
+ */
25
+ export interface ModerationResult {
26
+ category_scores?: ModerationCategoryScores;
27
+ reason?: string;
28
+ }
29
+ /**
30
+ * Configuration options for ModerationInputProcessor
31
+ */
32
+ export interface ModerationOptions {
33
+ /** Model configuration for the moderation agent */
34
+ model: MastraLanguageModel;
35
+ /**
36
+ * Categories to check for moderation.
37
+ * If not specified, uses default OpenAI categories.
38
+ */
39
+ categories?: string[];
40
+ /**
41
+ * Confidence threshold for flagging (0-1, default: 0.5)
42
+ * Content is flagged if any category score exceeds this threshold
43
+ */
44
+ threshold?: number;
45
+ /**
46
+ * Strategy when content is flagged:
47
+ * - 'block': Reject the entire input with an error (default)
48
+ * - 'warn': Log warning but allow content through
49
+ * - 'filter': Remove flagged messages but continue with remaining
50
+ */
51
+ strategy?: 'block' | 'warn' | 'filter';
52
+ /**
53
+ * Custom moderation instructions for the agent
54
+ * If not provided, uses default instructions based on categories
55
+ */
56
+ instructions?: string;
57
+ /**
58
+ * Whether to include confidence scores in logs (default: false)
59
+ * Useful for tuning thresholds and debugging
60
+ */
61
+ includeScores?: boolean;
62
+ /**
63
+ * Number of previous chunks to include for context when moderating stream chunks.
64
+ * If set to 1, includes the previous part. If set to 2, includes the two previous chunks, etc.
65
+ * Default: 0 (no context window)
66
+ */
67
+ chunkWindow?: number;
68
+ }
69
+ /**
70
+ * ModerationInputProcessor uses an internal Mastra agent to evaluate content
71
+ * against configurable moderation categories for content safety.
72
+ *
73
+ * Provides flexible moderation with custom categories, thresholds, and strategies
74
+ * while maintaining compatibility with OpenAI's moderation API structure.
75
+ */
76
+ export declare class ModerationProcessor implements Processor {
77
+ readonly name = "moderation";
78
+ private moderationAgent;
79
+ private categories;
80
+ private threshold;
81
+ private strategy;
82
+ private includeScores;
83
+ private chunkWindow;
84
+ private static readonly DEFAULT_CATEGORIES;
85
+ constructor(options: ModerationOptions);
86
+ processInput(args: {
87
+ messages: MastraMessageV2[];
88
+ abort: (reason?: string) => never;
89
+ }): Promise<MastraMessageV2[]>;
90
+ processOutputResult(args: {
91
+ messages: MastraMessageV2[];
92
+ abort: (reason?: string) => never;
93
+ }): Promise<MastraMessageV2[]>;
94
+ processOutputStream(args: {
95
+ part: TextStreamPart<any> | ObjectStreamPart<any>;
96
+ streamParts: (TextStreamPart<any> | ObjectStreamPart<any>)[];
97
+ state: Record<string, any>;
98
+ abort: (reason?: string) => never;
99
+ }): Promise<TextStreamPart<any> | ObjectStreamPart<any> | null | undefined>;
100
+ /**
101
+ * Moderate content using the internal agent
102
+ */
103
+ private moderateContent;
104
+ /**
105
+ * Determine if content is flagged based on category scores above threshold
106
+ */
107
+ private isModerationFlagged;
108
+ /**
109
+ * Handle flagged content based on strategy
110
+ */
111
+ private handleFlaggedContent;
112
+ /**
113
+ * Extract text content from message for moderation
114
+ */
115
+ private extractTextContent;
116
+ /**
117
+ * Create default moderation instructions
118
+ */
119
+ private createDefaultInstructions;
120
+ /**
121
+ * Create moderation prompt for the agent
122
+ */
123
+ private createModerationPrompt;
124
+ /**
125
+ * Build context string from chunks based on chunkWindow
126
+ * streamParts includes the current part
127
+ */
128
+ private buildContextFromChunks;
129
+ }
130
+ //# sourceMappingURL=moderation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moderation.d.ts","sourceRoot":"","sources":["../../../src/processors/processors/moderation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ import type { TextStreamPart, ObjectStreamPart } from 'ai';
2
+ import type { MastraMessageV2 } from '../../agent/message-list/index.js';
3
+ import type { MastraLanguageModel } from '../../agent/types.js';
4
+ import type { Processor } from '../index.js';
5
+ /**
6
+ * PII categories for detection and redaction
7
+ */
8
+ export interface PIICategories {
9
+ email?: boolean;
10
+ phone?: boolean;
11
+ 'credit-card'?: boolean;
12
+ ssn?: boolean;
13
+ 'api-key'?: boolean;
14
+ 'ip-address'?: boolean;
15
+ name?: boolean;
16
+ address?: boolean;
17
+ 'date-of-birth'?: boolean;
18
+ url?: boolean;
19
+ uuid?: boolean;
20
+ 'crypto-wallet'?: boolean;
21
+ iban?: boolean;
22
+ [customType: string]: boolean | undefined;
23
+ }
24
+ /**
25
+ * Confidence scores for each PII category (0-1)
26
+ */
27
+ export interface PIICategoryScores {
28
+ email?: number;
29
+ phone?: number;
30
+ 'credit-card'?: number;
31
+ ssn?: number;
32
+ 'api-key'?: number;
33
+ 'ip-address'?: number;
34
+ name?: number;
35
+ address?: number;
36
+ 'date-of-birth'?: number;
37
+ url?: number;
38
+ uuid?: number;
39
+ 'crypto-wallet'?: number;
40
+ iban?: number;
41
+ [customType: string]: number | undefined;
42
+ }
43
+ /**
44
+ * Individual PII detection with location and redaction info
45
+ */
46
+ export interface PIIDetection {
47
+ type: string;
48
+ value: string;
49
+ confidence: number;
50
+ start: number;
51
+ end: number;
52
+ redacted_value?: string;
53
+ }
54
+ /**
55
+ * Result structure for PII detection (simplified for minimal tokens)
56
+ */
57
+ export interface PIIDetectionResult {
58
+ categories?: PIICategoryScores;
59
+ detections?: PIIDetection[];
60
+ redacted_content?: string;
61
+ }
62
+ /**
63
+ * Configuration options for PIIDetector
64
+ */
65
+ export interface PIIDetectorOptions {
66
+ /** Model configuration for the detection agent */
67
+ model: MastraLanguageModel;
68
+ /**
69
+ * PII types to detect.
70
+ * If not specified, uses default types.
71
+ */
72
+ detectionTypes?: string[];
73
+ /**
74
+ * Confidence threshold for flagging (0-1, default: 0.6)
75
+ * PII is flagged if any category score exceeds this threshold
76
+ */
77
+ threshold?: number;
78
+ /**
79
+ * Strategy when PII is detected:
80
+ * - 'block': Reject the entire input with an error
81
+ * - 'warn': Log warning but allow content through
82
+ * - 'filter': Remove flagged messages but continue with remaining
83
+ * - 'redact': Replace detected PII with redacted versions (default)
84
+ */
85
+ strategy?: 'block' | 'warn' | 'filter' | 'redact';
86
+ /**
87
+ * Redaction method for PII:
88
+ * - 'mask': Replace with asterisks (***@***.com)
89
+ * - 'hash': Replace with SHA256 hash
90
+ * - 'remove': Remove entirely
91
+ * - 'placeholder': Replace with type placeholder ([EMAIL], [PHONE], etc.)
92
+ */
93
+ redactionMethod?: 'mask' | 'hash' | 'remove' | 'placeholder';
94
+ /**
95
+ * Custom detection instructions for the agent
96
+ * If not provided, uses default instructions based on detection types
97
+ */
98
+ instructions?: string;
99
+ /**
100
+ * Whether to include detection details in logs (default: false)
101
+ * Useful for compliance auditing and debugging
102
+ */
103
+ includeDetections?: boolean;
104
+ /**
105
+ * Whether to preserve PII format during redaction (default: true)
106
+ * When true, maintains structure like ***-**-1234 for phone numbers
107
+ */
108
+ preserveFormat?: boolean;
109
+ }
110
+ /**
111
+ * PIIDetector uses an internal Mastra agent to identify and redact
112
+ * personally identifiable information for privacy compliance.
113
+ *
114
+ * Supports multiple redaction strategies and maintains audit trails
115
+ * for compliance with GDPR, CCPA, HIPAA, and other privacy regulations.
116
+ */
117
+ export declare class PIIDetector implements Processor {
118
+ readonly name = "pii-detector";
119
+ private detectionAgent;
120
+ private detectionTypes;
121
+ private threshold;
122
+ private strategy;
123
+ private redactionMethod;
124
+ private includeDetections;
125
+ private preserveFormat;
126
+ private static readonly DEFAULT_DETECTION_TYPES;
127
+ constructor(options: PIIDetectorOptions);
128
+ processInput(args: {
129
+ messages: MastraMessageV2[];
130
+ abort: (reason?: string) => never;
131
+ }): Promise<MastraMessageV2[]>;
132
+ /**
133
+ * Detect PII using the internal agent
134
+ */
135
+ private detectPII;
136
+ /**
137
+ * Determine if PII is flagged based on detections or category scores above threshold
138
+ */
139
+ private isPIIFlagged;
140
+ /**
141
+ * Handle detected PII based on strategy
142
+ */
143
+ private handleDetectedPII;
144
+ /**
145
+ * Create a redacted message with PII removed/masked
146
+ */
147
+ private createRedactedMessage;
148
+ /**
149
+ * Apply redaction method to content
150
+ */
151
+ private applyRedactionMethod;
152
+ /**
153
+ * Redact individual PII value based on method and type
154
+ */
155
+ private redactValue;
156
+ /**
157
+ * Mask PII value while optionally preserving format
158
+ */
159
+ private maskValue;
160
+ /**
161
+ * Hash PII value using SHA256
162
+ */
163
+ private hashValue;
164
+ /**
165
+ * Extract text content from message for analysis
166
+ */
167
+ private extractTextContent;
168
+ /**
169
+ * Create default detection instructions
170
+ */
171
+ private createDefaultInstructions;
172
+ /**
173
+ * Process streaming output chunks for PII detection and redaction
174
+ */
175
+ processOutputStream(args: {
176
+ part: TextStreamPart<any> | ObjectStreamPart<any>;
177
+ streamParts: (TextStreamPart<any> | ObjectStreamPart<any>)[];
178
+ state: Record<string, any>;
179
+ abort: (reason?: string) => never;
180
+ }): Promise<TextStreamPart<any> | ObjectStreamPart<any> | null>;
181
+ /**
182
+ * Process final output result for PII detection and redaction
183
+ */
184
+ processOutputResult({ messages, abort, }: {
185
+ messages: MastraMessageV2[];
186
+ abort: (reason?: string) => never;
187
+ }): Promise<MastraMessageV2[]>;
188
+ /**
189
+ * Get detected PII types from detection result
190
+ */
191
+ private getDetectedTypes;
192
+ /**
193
+ * Create detection prompt for the agent
194
+ */
195
+ private createDetectionPrompt;
196
+ }
197
+ //# sourceMappingURL=pii-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pii-detector.d.ts","sourceRoot":"","sources":["../../../src/processors/processors/pii-detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import type { MastraMessageV2 } from '../../agent/message-list/index.js';
2
+ import type { MastraLanguageModel } from '../../agent/types.js';
3
+ import type { Processor } from '../index.js';
4
+ /**
5
+ * Confidence scores for each detection category (0-1)
6
+ */
7
+ export interface PromptInjectionCategoryScores {
8
+ injection?: number;
9
+ jailbreak?: number;
10
+ 'tool-exfiltration'?: number;
11
+ 'data-exfiltration'?: number;
12
+ 'system-override'?: number;
13
+ 'role-manipulation'?: number;
14
+ [customType: string]: number | undefined;
15
+ }
16
+ /**
17
+ * Result structure for prompt injection detection
18
+ */
19
+ export interface PromptInjectionResult {
20
+ categories?: PromptInjectionCategoryScores;
21
+ reason?: string;
22
+ rewritten_content?: string;
23
+ }
24
+ /**
25
+ * Configuration options for PromptInjectionDetector
26
+ */
27
+ export interface PromptInjectionOptions {
28
+ /** Model configuration for the detection agent */
29
+ model: MastraLanguageModel;
30
+ /**
31
+ * Detection types to check for.
32
+ * If not specified, uses default categories.
33
+ */
34
+ detectionTypes?: string[];
35
+ /**
36
+ * Confidence threshold for flagging (0-1, default: 0.7)
37
+ * Higher threshold = less sensitive to avoid false positives
38
+ */
39
+ threshold?: number;
40
+ /**
41
+ * Strategy when injection is detected:
42
+ * - 'block': Reject the entire input with an error (default)
43
+ * - 'warn': Log warning but allow content through
44
+ * - 'filter': Remove flagged messages but continue with remaining
45
+ * - 'rewrite': Attempt to neutralize the injection while preserving intent
46
+ */
47
+ strategy?: 'block' | 'warn' | 'filter' | 'rewrite';
48
+ /**
49
+ * Custom detection instructions for the agent
50
+ * If not provided, uses default instructions based on detection types
51
+ */
52
+ instructions?: string;
53
+ /**
54
+ * Whether to include confidence scores in logs (default: false)
55
+ * Useful for tuning thresholds and debugging
56
+ */
57
+ includeScores?: boolean;
58
+ }
59
+ /**
60
+ * PromptInjectionDetector uses an internal Mastra agent to identify and handle
61
+ * prompt injection attacks, jailbreaks, and tool/data exfiltration attempts.
62
+ *
63
+ * Provides multiple response strategies including content rewriting to neutralize
64
+ * attacks while preserving legitimate user intent.
65
+ */
66
+ export declare class PromptInjectionDetector implements Processor {
67
+ readonly name = "prompt-injection-detector";
68
+ private detectionAgent;
69
+ private detectionTypes;
70
+ private threshold;
71
+ private strategy;
72
+ private includeScores;
73
+ private static readonly DEFAULT_DETECTION_TYPES;
74
+ constructor(options: PromptInjectionOptions);
75
+ processInput(args: {
76
+ messages: MastraMessageV2[];
77
+ abort: (reason?: string) => never;
78
+ }): Promise<MastraMessageV2[]>;
79
+ /**
80
+ * Detect prompt injection using the internal agent
81
+ */
82
+ private detectPromptInjection;
83
+ /**
84
+ * Determine if prompt injection is flagged based on category scores above threshold
85
+ */
86
+ private isInjectionFlagged;
87
+ /**
88
+ * Handle detected prompt injection based on strategy
89
+ */
90
+ private handleDetectedInjection;
91
+ /**
92
+ * Create a rewritten message with neutralized content
93
+ */
94
+ private createRewrittenMessage;
95
+ /**
96
+ * Extract text content from message for analysis
97
+ */
98
+ private extractTextContent;
99
+ /**
100
+ * Create default detection instructions
101
+ */
102
+ private createDefaultInstructions;
103
+ /**
104
+ * Create detection prompt for the agent
105
+ */
106
+ private createDetectionPrompt;
107
+ }
108
+ //# sourceMappingURL=prompt-injection-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-injection-detector.d.ts","sourceRoot":"","sources":["../../../src/processors/processors/prompt-injection-detector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,KAAK,EAAE,mBAAmB,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEnD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,YAAW,SAAS;IACvD,QAAQ,CAAC,IAAI,+BAA+B;IAE5C,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAA0C;IAC1D,OAAO,CAAC,aAAa,CAAU;IAG/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAO7C;gBAEU,OAAO,EAAE,sBAAsB;IAarC,YAAY,CAAC,IAAI,EAAE;QACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;KACnC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAkD9B;;OAEG;YACW,qBAAqB;IAiCnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwC/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IASjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}
@@ -0,0 +1,42 @@
1
+ import type z from 'zod';
2
+ import type { MastraMessageV2 } from '../../agent/message-list/index.js';
3
+ import type { StructuredOutputOptions } from '../../agent/types.js';
4
+ import type { Processor } from '../index.js';
5
+ export type { StructuredOutputOptions } from '../../agent/types.js';
6
+ /**
7
+ * StructuredOutputProcessor transforms unstructured agent output into structured JSON
8
+ * using an internal structuring agent and provides real-time streaming support.
9
+ *
10
+ * Features:
11
+ * - Two-stage processing: unstructured → structured using internal agent
12
+ * - Real-time partial JSON parsing during streaming
13
+ * - Schema validation with Zod
14
+ * - Object chunks for partial updates
15
+ * - Configurable error handling strategies
16
+ * - Automatic instruction generation based on schema
17
+ */
18
+ export declare class StructuredOutputProcessor<S extends z.ZodTypeAny> implements Processor {
19
+ readonly name = "structured-output";
20
+ schema: S;
21
+ private structuringAgent;
22
+ private errorStrategy;
23
+ private fallbackValue?;
24
+ constructor(options: StructuredOutputOptions<S>);
25
+ processOutputResult(args: {
26
+ messages: MastraMessageV2[];
27
+ abort: (reason?: string) => never;
28
+ }): Promise<MastraMessageV2[]>;
29
+ /**
30
+ * Extract text content from a message
31
+ */
32
+ private extractTextContent;
33
+ /**
34
+ * Generate instructions for the structuring agent based on the schema
35
+ */
36
+ private generateInstructions;
37
+ /**
38
+ * Handle errors based on the configured strategy
39
+ */
40
+ private handleError;
41
+ }
42
+ //# sourceMappingURL=structured-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"structured-output.d.ts","sourceRoot":"","sources":["../../../src/processors/processors/structured-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,YAAY,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;;;;;;;;;GAWG;AACH,qBAAa,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAE,YAAW,SAAS;IACjF,QAAQ,CAAC,IAAI,uBAAuB;IAE7B,MAAM,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,aAAa,CAAC,CAAa;gBAEvB,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAazC,mBAAmB,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,eAAe,EAAE,CAAC;QAC5B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC;KACnC,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAwF9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,WAAW;CAiBpB"}