@mastra/mcp-docs-server 1.1.4 → 1.1.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (547) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +3 -3
  3. package/.docs/docs/agents/adding-voice.md +0 -353
  4. package/.docs/docs/agents/agent-approval.md +0 -377
  5. package/.docs/docs/agents/agent-memory.md +0 -212
  6. package/.docs/docs/agents/guardrails.md +0 -382
  7. package/.docs/docs/agents/network-approval.md +0 -275
  8. package/.docs/docs/agents/networks.md +0 -290
  9. package/.docs/docs/agents/overview.md +0 -309
  10. package/.docs/docs/agents/processors.md +0 -632
  11. package/.docs/docs/agents/structured-output.md +0 -271
  12. package/.docs/docs/agents/using-tools.md +0 -214
  13. package/.docs/docs/build-with-ai/mcp-docs-server.md +0 -241
  14. package/.docs/docs/build-with-ai/skills.md +0 -35
  15. package/.docs/docs/community/contributing-templates.md +0 -3
  16. package/.docs/docs/community/discord.md +0 -9
  17. package/.docs/docs/community/licensing.md +0 -66
  18. package/.docs/docs/deployment/cloud-providers.md +0 -15
  19. package/.docs/docs/deployment/mastra-server.md +0 -122
  20. package/.docs/docs/deployment/monorepo.md +0 -142
  21. package/.docs/docs/deployment/overview.md +0 -62
  22. package/.docs/docs/deployment/studio.md +0 -234
  23. package/.docs/docs/deployment/web-framework.md +0 -52
  24. package/.docs/docs/deployment/workflow-runners.md +0 -9
  25. package/.docs/docs/evals/built-in-scorers.md +0 -47
  26. package/.docs/docs/evals/custom-scorers.md +0 -519
  27. package/.docs/docs/evals/overview.md +0 -146
  28. package/.docs/docs/evals/running-in-ci.md +0 -106
  29. package/.docs/docs/getting-started/build-with-ai.md +0 -68
  30. package/.docs/docs/getting-started/manual-install.md +0 -226
  31. package/.docs/docs/getting-started/project-structure.md +0 -60
  32. package/.docs/docs/getting-started/start.md +0 -28
  33. package/.docs/docs/getting-started/studio.md +0 -101
  34. package/.docs/docs/index.md +0 -43
  35. package/.docs/docs/mastra-cloud/deployment.md +0 -77
  36. package/.docs/docs/mastra-cloud/observability.md +0 -38
  37. package/.docs/docs/mastra-cloud/overview.md +0 -23
  38. package/.docs/docs/mastra-cloud/setup.md +0 -42
  39. package/.docs/docs/mastra-cloud/studio.md +0 -24
  40. package/.docs/docs/mcp/overview.md +0 -370
  41. package/.docs/docs/mcp/publishing-mcp-server.md +0 -95
  42. package/.docs/docs/memory/memory-processors.md +0 -316
  43. package/.docs/docs/memory/message-history.md +0 -260
  44. package/.docs/docs/memory/observational-memory.md +0 -246
  45. package/.docs/docs/memory/overview.md +0 -45
  46. package/.docs/docs/memory/semantic-recall.md +0 -272
  47. package/.docs/docs/memory/storage.md +0 -261
  48. package/.docs/docs/memory/working-memory.md +0 -400
  49. package/.docs/docs/observability/datasets/overview.md +0 -188
  50. package/.docs/docs/observability/datasets/running-experiments.md +0 -266
  51. package/.docs/docs/observability/logging.md +0 -99
  52. package/.docs/docs/observability/overview.md +0 -70
  53. package/.docs/docs/observability/tracing/bridges/otel.md +0 -209
  54. package/.docs/docs/observability/tracing/exporters/arize.md +0 -274
  55. package/.docs/docs/observability/tracing/exporters/braintrust.md +0 -111
  56. package/.docs/docs/observability/tracing/exporters/cloud.md +0 -129
  57. package/.docs/docs/observability/tracing/exporters/datadog.md +0 -187
  58. package/.docs/docs/observability/tracing/exporters/default.md +0 -211
  59. package/.docs/docs/observability/tracing/exporters/laminar.md +0 -100
  60. package/.docs/docs/observability/tracing/exporters/langfuse.md +0 -217
  61. package/.docs/docs/observability/tracing/exporters/langsmith.md +0 -202
  62. package/.docs/docs/observability/tracing/exporters/otel.md +0 -479
  63. package/.docs/docs/observability/tracing/exporters/posthog.md +0 -148
  64. package/.docs/docs/observability/tracing/exporters/sentry.md +0 -208
  65. package/.docs/docs/observability/tracing/overview.md +0 -1114
  66. package/.docs/docs/observability/tracing/processors/sensitive-data-filter.md +0 -303
  67. package/.docs/docs/rag/chunking-and-embedding.md +0 -183
  68. package/.docs/docs/rag/graph-rag.md +0 -215
  69. package/.docs/docs/rag/overview.md +0 -72
  70. package/.docs/docs/rag/retrieval.md +0 -521
  71. package/.docs/docs/rag/vector-databases.md +0 -648
  72. package/.docs/docs/server/auth/auth0.md +0 -222
  73. package/.docs/docs/server/auth/better-auth.md +0 -203
  74. package/.docs/docs/server/auth/clerk.md +0 -132
  75. package/.docs/docs/server/auth/composite-auth.md +0 -234
  76. package/.docs/docs/server/auth/custom-auth-provider.md +0 -513
  77. package/.docs/docs/server/auth/firebase.md +0 -272
  78. package/.docs/docs/server/auth/jwt.md +0 -110
  79. package/.docs/docs/server/auth/simple-auth.md +0 -178
  80. package/.docs/docs/server/auth/supabase.md +0 -117
  81. package/.docs/docs/server/auth/workos.md +0 -190
  82. package/.docs/docs/server/auth.md +0 -38
  83. package/.docs/docs/server/custom-adapters.md +0 -374
  84. package/.docs/docs/server/custom-api-routes.md +0 -267
  85. package/.docs/docs/server/mastra-client.md +0 -243
  86. package/.docs/docs/server/mastra-server.md +0 -71
  87. package/.docs/docs/server/middleware.md +0 -228
  88. package/.docs/docs/server/request-context.md +0 -478
  89. package/.docs/docs/server/server-adapters.md +0 -547
  90. package/.docs/docs/streaming/events.md +0 -247
  91. package/.docs/docs/streaming/overview.md +0 -181
  92. package/.docs/docs/streaming/tool-streaming.md +0 -178
  93. package/.docs/docs/streaming/workflow-streaming.md +0 -109
  94. package/.docs/docs/voice/overview.md +0 -979
  95. package/.docs/docs/voice/speech-to-speech.md +0 -103
  96. package/.docs/docs/voice/speech-to-text.md +0 -80
  97. package/.docs/docs/voice/text-to-speech.md +0 -84
  98. package/.docs/docs/workflows/agents-and-tools.md +0 -170
  99. package/.docs/docs/workflows/control-flow.md +0 -823
  100. package/.docs/docs/workflows/error-handling.md +0 -360
  101. package/.docs/docs/workflows/human-in-the-loop.md +0 -213
  102. package/.docs/docs/workflows/overview.md +0 -372
  103. package/.docs/docs/workflows/snapshots.md +0 -238
  104. package/.docs/docs/workflows/suspend-and-resume.md +0 -205
  105. package/.docs/docs/workflows/time-travel.md +0 -309
  106. package/.docs/docs/workflows/workflow-state.md +0 -181
  107. package/.docs/docs/workspace/filesystem.md +0 -162
  108. package/.docs/docs/workspace/overview.md +0 -239
  109. package/.docs/docs/workspace/sandbox.md +0 -63
  110. package/.docs/docs/workspace/search.md +0 -219
  111. package/.docs/docs/workspace/skills.md +0 -126
  112. package/.docs/guides/agent-frameworks/ai-sdk.md +0 -140
  113. package/.docs/guides/build-your-ui/ai-sdk-ui.md +0 -1463
  114. package/.docs/guides/build-your-ui/assistant-ui.md +0 -156
  115. package/.docs/guides/build-your-ui/copilotkit.md +0 -292
  116. package/.docs/guides/deployment/amazon-ec2.md +0 -130
  117. package/.docs/guides/deployment/aws-lambda.md +0 -248
  118. package/.docs/guides/deployment/azure-app-services.md +0 -114
  119. package/.docs/guides/deployment/cloudflare.md +0 -99
  120. package/.docs/guides/deployment/digital-ocean.md +0 -168
  121. package/.docs/guides/deployment/inngest.md +0 -685
  122. package/.docs/guides/deployment/netlify.md +0 -77
  123. package/.docs/guides/deployment/vercel.md +0 -101
  124. package/.docs/guides/getting-started/astro.md +0 -408
  125. package/.docs/guides/getting-started/electron.md +0 -504
  126. package/.docs/guides/getting-started/express.md +0 -251
  127. package/.docs/guides/getting-started/hono.md +0 -191
  128. package/.docs/guides/getting-started/next-js.md +0 -355
  129. package/.docs/guides/getting-started/nuxt.md +0 -476
  130. package/.docs/guides/getting-started/quickstart.md +0 -67
  131. package/.docs/guides/getting-started/sveltekit.md +0 -300
  132. package/.docs/guides/getting-started/vite-react.md +0 -439
  133. package/.docs/guides/guide/ai-recruiter.md +0 -227
  134. package/.docs/guides/guide/chef-michel.md +0 -215
  135. package/.docs/guides/guide/code-review-bot.md +0 -221
  136. package/.docs/guides/guide/dev-assistant.md +0 -304
  137. package/.docs/guides/guide/docs-manager.md +0 -238
  138. package/.docs/guides/guide/github-actions-pr-description.md +0 -236
  139. package/.docs/guides/guide/notes-mcp-server.md +0 -425
  140. package/.docs/guides/guide/research-assistant.md +0 -349
  141. package/.docs/guides/guide/stock-agent.md +0 -134
  142. package/.docs/guides/guide/web-search.md +0 -326
  143. package/.docs/guides/guide/whatsapp-chat-bot.md +0 -416
  144. package/.docs/guides/index.md +0 -3
  145. package/.docs/guides/migrations/agentnetwork.md +0 -101
  146. package/.docs/guides/migrations/ai-sdk-v4-to-v5.md +0 -112
  147. package/.docs/guides/migrations/upgrade-to-v1/agent.md +0 -404
  148. package/.docs/guides/migrations/upgrade-to-v1/cli.md +0 -57
  149. package/.docs/guides/migrations/upgrade-to-v1/client.md +0 -337
  150. package/.docs/guides/migrations/upgrade-to-v1/deployment.md +0 -37
  151. package/.docs/guides/migrations/upgrade-to-v1/evals.md +0 -239
  152. package/.docs/guides/migrations/upgrade-to-v1/mastra.md +0 -143
  153. package/.docs/guides/migrations/upgrade-to-v1/mcp.md +0 -97
  154. package/.docs/guides/migrations/upgrade-to-v1/memory.md +0 -285
  155. package/.docs/guides/migrations/upgrade-to-v1/overview.md +0 -119
  156. package/.docs/guides/migrations/upgrade-to-v1/processors.md +0 -68
  157. package/.docs/guides/migrations/upgrade-to-v1/rag.md +0 -42
  158. package/.docs/guides/migrations/upgrade-to-v1/storage.md +0 -553
  159. package/.docs/guides/migrations/upgrade-to-v1/tools.md +0 -180
  160. package/.docs/guides/migrations/upgrade-to-v1/tracing.md +0 -417
  161. package/.docs/guides/migrations/upgrade-to-v1/vectors.md +0 -87
  162. package/.docs/guides/migrations/upgrade-to-v1/voice.md +0 -30
  163. package/.docs/guides/migrations/upgrade-to-v1/workflows.md +0 -341
  164. package/.docs/guides/migrations/vnext-to-standard-apis.md +0 -364
  165. package/.docs/models/embeddings.md +0 -161
  166. package/.docs/models/gateways/azure-openai.md +0 -128
  167. package/.docs/models/gateways/custom-gateways.md +0 -545
  168. package/.docs/models/gateways/netlify.md +0 -88
  169. package/.docs/models/gateways/openrouter.md +0 -219
  170. package/.docs/models/gateways/vercel.md +0 -225
  171. package/.docs/models/gateways.md +0 -14
  172. package/.docs/models/index.md +0 -286
  173. package/.docs/models/providers/302ai.md +0 -134
  174. package/.docs/models/providers/abacus.md +0 -125
  175. package/.docs/models/providers/agentrouter.md +0 -90
  176. package/.docs/models/providers/aihubmix.md +0 -107
  177. package/.docs/models/providers/alibaba-cn.md +0 -135
  178. package/.docs/models/providers/alibaba.md +0 -111
  179. package/.docs/models/providers/amazon-bedrock.md +0 -33
  180. package/.docs/models/providers/anthropic.md +0 -153
  181. package/.docs/models/providers/azure.md +0 -33
  182. package/.docs/models/providers/bailing.md +0 -72
  183. package/.docs/models/providers/baseten.md +0 -77
  184. package/.docs/models/providers/berget.md +0 -78
  185. package/.docs/models/providers/cerebras.md +0 -101
  186. package/.docs/models/providers/chutes.md +0 -136
  187. package/.docs/models/providers/cloudflare-ai-gateway.md +0 -33
  188. package/.docs/models/providers/cloudflare-workers-ai.md +0 -109
  189. package/.docs/models/providers/cohere.md +0 -33
  190. package/.docs/models/providers/cortecs.md +0 -91
  191. package/.docs/models/providers/deepinfra.md +0 -112
  192. package/.docs/models/providers/deepseek.md +0 -88
  193. package/.docs/models/providers/fastrouter.md +0 -84
  194. package/.docs/models/providers/fireworks-ai.md +0 -89
  195. package/.docs/models/providers/firmware.md +0 -85
  196. package/.docs/models/providers/friendli.md +0 -78
  197. package/.docs/models/providers/github-models.md +0 -125
  198. package/.docs/models/providers/google-vertex.md +0 -33
  199. package/.docs/models/providers/google.md +0 -159
  200. package/.docs/models/providers/groq.md +0 -107
  201. package/.docs/models/providers/helicone.md +0 -161
  202. package/.docs/models/providers/huggingface.md +0 -90
  203. package/.docs/models/providers/iflowcn.md +0 -84
  204. package/.docs/models/providers/inception.md +0 -72
  205. package/.docs/models/providers/inference.md +0 -79
  206. package/.docs/models/providers/io-intelligence.md +0 -87
  207. package/.docs/models/providers/io-net.md +0 -87
  208. package/.docs/models/providers/jiekou.md +0 -131
  209. package/.docs/models/providers/kilo.md +0 -333
  210. package/.docs/models/providers/kimi-for-coding.md +0 -100
  211. package/.docs/models/providers/kuae-cloud-coding-plan.md +0 -71
  212. package/.docs/models/providers/llama.md +0 -77
  213. package/.docs/models/providers/lmstudio.md +0 -73
  214. package/.docs/models/providers/lucidquery.md +0 -72
  215. package/.docs/models/providers/minimax-cn-coding-plan.md +0 -102
  216. package/.docs/models/providers/minimax-cn.md +0 -102
  217. package/.docs/models/providers/minimax-coding-plan.md +0 -102
  218. package/.docs/models/providers/minimax.md +0 -104
  219. package/.docs/models/providers/mistral.md +0 -124
  220. package/.docs/models/providers/moark.md +0 -72
  221. package/.docs/models/providers/modelscope.md +0 -77
  222. package/.docs/models/providers/moonshotai-cn.md +0 -76
  223. package/.docs/models/providers/moonshotai.md +0 -76
  224. package/.docs/models/providers/morph.md +0 -73
  225. package/.docs/models/providers/nano-gpt.md +0 -103
  226. package/.docs/models/providers/nebius.md +0 -116
  227. package/.docs/models/providers/nova.md +0 -72
  228. package/.docs/models/providers/novita-ai.md +0 -154
  229. package/.docs/models/providers/nvidia.md +0 -141
  230. package/.docs/models/providers/ollama-cloud.md +0 -103
  231. package/.docs/models/providers/ollama.md +0 -33
  232. package/.docs/models/providers/openai.md +0 -193
  233. package/.docs/models/providers/opencode.md +0 -100
  234. package/.docs/models/providers/ovhcloud.md +0 -83
  235. package/.docs/models/providers/perplexity.md +0 -100
  236. package/.docs/models/providers/poe.md +0 -183
  237. package/.docs/models/providers/privatemode-ai.md +0 -75
  238. package/.docs/models/providers/requesty.md +0 -90
  239. package/.docs/models/providers/scaleway.md +0 -84
  240. package/.docs/models/providers/siliconflow-cn.md +0 -138
  241. package/.docs/models/providers/siliconflow.md +0 -140
  242. package/.docs/models/providers/stackit.md +0 -78
  243. package/.docs/models/providers/stepfun.md +0 -73
  244. package/.docs/models/providers/submodel.md +0 -79
  245. package/.docs/models/providers/synthetic.md +0 -96
  246. package/.docs/models/providers/togetherai.md +0 -115
  247. package/.docs/models/providers/upstage.md +0 -73
  248. package/.docs/models/providers/venice.md +0 -95
  249. package/.docs/models/providers/vivgrid.md +0 -106
  250. package/.docs/models/providers/vultr.md +0 -75
  251. package/.docs/models/providers/wandb.md +0 -80
  252. package/.docs/models/providers/xai.md +0 -141
  253. package/.docs/models/providers/xiaomi.md +0 -71
  254. package/.docs/models/providers/zai-coding-plan.md +0 -80
  255. package/.docs/models/providers/zai.md +0 -79
  256. package/.docs/models/providers/zenmux.md +0 -161
  257. package/.docs/models/providers/zhipuai-coding-plan.md +0 -79
  258. package/.docs/models/providers/zhipuai.md +0 -79
  259. package/.docs/models/providers.md +0 -81
  260. package/.docs/reference/agents/agent.md +0 -142
  261. package/.docs/reference/agents/generate.md +0 -174
  262. package/.docs/reference/agents/generateLegacy.md +0 -176
  263. package/.docs/reference/agents/getDefaultGenerateOptions.md +0 -36
  264. package/.docs/reference/agents/getDefaultOptions.md +0 -34
  265. package/.docs/reference/agents/getDefaultStreamOptions.md +0 -36
  266. package/.docs/reference/agents/getDescription.md +0 -21
  267. package/.docs/reference/agents/getInstructions.md +0 -34
  268. package/.docs/reference/agents/getLLM.md +0 -37
  269. package/.docs/reference/agents/getMemory.md +0 -34
  270. package/.docs/reference/agents/getModel.md +0 -34
  271. package/.docs/reference/agents/getTools.md +0 -29
  272. package/.docs/reference/agents/getVoice.md +0 -34
  273. package/.docs/reference/agents/listAgents.md +0 -35
  274. package/.docs/reference/agents/listScorers.md +0 -34
  275. package/.docs/reference/agents/listTools.md +0 -34
  276. package/.docs/reference/agents/listWorkflows.md +0 -34
  277. package/.docs/reference/agents/network.md +0 -134
  278. package/.docs/reference/ai-sdk/chat-route.md +0 -82
  279. package/.docs/reference/ai-sdk/handle-chat-stream.md +0 -53
  280. package/.docs/reference/ai-sdk/handle-network-stream.md +0 -37
  281. package/.docs/reference/ai-sdk/handle-workflow-stream.md +0 -55
  282. package/.docs/reference/ai-sdk/network-route.md +0 -74
  283. package/.docs/reference/ai-sdk/to-ai-sdk-stream.md +0 -232
  284. package/.docs/reference/ai-sdk/to-ai-sdk-v4-messages.md +0 -79
  285. package/.docs/reference/ai-sdk/to-ai-sdk-v5-messages.md +0 -73
  286. package/.docs/reference/ai-sdk/with-mastra.md +0 -59
  287. package/.docs/reference/ai-sdk/workflow-route.md +0 -79
  288. package/.docs/reference/auth/auth0.md +0 -73
  289. package/.docs/reference/auth/better-auth.md +0 -71
  290. package/.docs/reference/auth/clerk.md +0 -36
  291. package/.docs/reference/auth/firebase.md +0 -80
  292. package/.docs/reference/auth/jwt.md +0 -26
  293. package/.docs/reference/auth/supabase.md +0 -33
  294. package/.docs/reference/auth/workos.md +0 -84
  295. package/.docs/reference/cli/create-mastra.md +0 -137
  296. package/.docs/reference/cli/mastra.md +0 -336
  297. package/.docs/reference/client-js/agents.md +0 -438
  298. package/.docs/reference/client-js/error-handling.md +0 -16
  299. package/.docs/reference/client-js/logs.md +0 -24
  300. package/.docs/reference/client-js/mastra-client.md +0 -63
  301. package/.docs/reference/client-js/memory.md +0 -225
  302. package/.docs/reference/client-js/observability.md +0 -72
  303. package/.docs/reference/client-js/telemetry.md +0 -20
  304. package/.docs/reference/client-js/tools.md +0 -44
  305. package/.docs/reference/client-js/vectors.md +0 -79
  306. package/.docs/reference/client-js/workflows.md +0 -199
  307. package/.docs/reference/configuration.md +0 -749
  308. package/.docs/reference/core/addGateway.md +0 -42
  309. package/.docs/reference/core/getAgent.md +0 -21
  310. package/.docs/reference/core/getAgentById.md +0 -21
  311. package/.docs/reference/core/getDeployer.md +0 -22
  312. package/.docs/reference/core/getGateway.md +0 -38
  313. package/.docs/reference/core/getGatewayById.md +0 -41
  314. package/.docs/reference/core/getLogger.md +0 -22
  315. package/.docs/reference/core/getMCPServer.md +0 -45
  316. package/.docs/reference/core/getMCPServerById.md +0 -53
  317. package/.docs/reference/core/getMemory.md +0 -50
  318. package/.docs/reference/core/getScorer.md +0 -54
  319. package/.docs/reference/core/getScorerById.md +0 -54
  320. package/.docs/reference/core/getServer.md +0 -22
  321. package/.docs/reference/core/getStorage.md +0 -22
  322. package/.docs/reference/core/getStoredAgentById.md +0 -89
  323. package/.docs/reference/core/getTelemetry.md +0 -22
  324. package/.docs/reference/core/getVector.md +0 -22
  325. package/.docs/reference/core/getWorkflow.md +0 -40
  326. package/.docs/reference/core/listAgents.md +0 -21
  327. package/.docs/reference/core/listGateways.md +0 -40
  328. package/.docs/reference/core/listLogs.md +0 -38
  329. package/.docs/reference/core/listLogsByRunId.md +0 -36
  330. package/.docs/reference/core/listMCPServers.md +0 -51
  331. package/.docs/reference/core/listMemory.md +0 -56
  332. package/.docs/reference/core/listScorers.md +0 -29
  333. package/.docs/reference/core/listStoredAgents.md +0 -93
  334. package/.docs/reference/core/listVectors.md +0 -22
  335. package/.docs/reference/core/listWorkflows.md +0 -21
  336. package/.docs/reference/core/mastra-class.md +0 -66
  337. package/.docs/reference/core/mastra-model-gateway.md +0 -153
  338. package/.docs/reference/core/setLogger.md +0 -26
  339. package/.docs/reference/core/setStorage.md +0 -27
  340. package/.docs/reference/datasets/addItem.md +0 -35
  341. package/.docs/reference/datasets/addItems.md +0 -33
  342. package/.docs/reference/datasets/compareExperiments.md +0 -48
  343. package/.docs/reference/datasets/create.md +0 -49
  344. package/.docs/reference/datasets/dataset.md +0 -78
  345. package/.docs/reference/datasets/datasets-manager.md +0 -84
  346. package/.docs/reference/datasets/delete.md +0 -23
  347. package/.docs/reference/datasets/deleteExperiment.md +0 -25
  348. package/.docs/reference/datasets/deleteItem.md +0 -25
  349. package/.docs/reference/datasets/deleteItems.md +0 -27
  350. package/.docs/reference/datasets/get.md +0 -29
  351. package/.docs/reference/datasets/getDetails.md +0 -45
  352. package/.docs/reference/datasets/getExperiment.md +0 -28
  353. package/.docs/reference/datasets/getItem.md +0 -31
  354. package/.docs/reference/datasets/getItemHistory.md +0 -29
  355. package/.docs/reference/datasets/list.md +0 -29
  356. package/.docs/reference/datasets/listExperimentResults.md +0 -37
  357. package/.docs/reference/datasets/listExperiments.md +0 -31
  358. package/.docs/reference/datasets/listItems.md +0 -44
  359. package/.docs/reference/datasets/listVersions.md +0 -31
  360. package/.docs/reference/datasets/startExperiment.md +0 -60
  361. package/.docs/reference/datasets/startExperimentAsync.md +0 -41
  362. package/.docs/reference/datasets/update.md +0 -46
  363. package/.docs/reference/datasets/updateItem.md +0 -36
  364. package/.docs/reference/deployer/cloudflare.md +0 -79
  365. package/.docs/reference/deployer/netlify.md +0 -82
  366. package/.docs/reference/deployer/vercel.md +0 -91
  367. package/.docs/reference/deployer.md +0 -100
  368. package/.docs/reference/evals/answer-relevancy.md +0 -105
  369. package/.docs/reference/evals/answer-similarity.md +0 -99
  370. package/.docs/reference/evals/bias.md +0 -120
  371. package/.docs/reference/evals/completeness.md +0 -137
  372. package/.docs/reference/evals/content-similarity.md +0 -101
  373. package/.docs/reference/evals/context-precision.md +0 -196
  374. package/.docs/reference/evals/context-relevance.md +0 -536
  375. package/.docs/reference/evals/create-scorer.md +0 -270
  376. package/.docs/reference/evals/faithfulness.md +0 -114
  377. package/.docs/reference/evals/hallucination.md +0 -220
  378. package/.docs/reference/evals/keyword-coverage.md +0 -128
  379. package/.docs/reference/evals/mastra-scorer.md +0 -123
  380. package/.docs/reference/evals/noise-sensitivity.md +0 -685
  381. package/.docs/reference/evals/prompt-alignment.md +0 -619
  382. package/.docs/reference/evals/run-evals.md +0 -138
  383. package/.docs/reference/evals/scorer-utils.md +0 -330
  384. package/.docs/reference/evals/textual-difference.md +0 -113
  385. package/.docs/reference/evals/tone-consistency.md +0 -119
  386. package/.docs/reference/evals/tool-call-accuracy.md +0 -533
  387. package/.docs/reference/evals/toxicity.md +0 -123
  388. package/.docs/reference/harness/harness-class.md +0 -645
  389. package/.docs/reference/index.md +0 -276
  390. package/.docs/reference/logging/pino-logger.md +0 -117
  391. package/.docs/reference/memory/clone-utilities.md +0 -199
  392. package/.docs/reference/memory/cloneThread.md +0 -130
  393. package/.docs/reference/memory/createThread.md +0 -68
  394. package/.docs/reference/memory/deleteMessages.md +0 -40
  395. package/.docs/reference/memory/getThreadById.md +0 -24
  396. package/.docs/reference/memory/listThreads.md +0 -145
  397. package/.docs/reference/memory/memory-class.md +0 -147
  398. package/.docs/reference/memory/observational-memory.md +0 -565
  399. package/.docs/reference/memory/recall.md +0 -91
  400. package/.docs/reference/observability/tracing/bridges/otel.md +0 -131
  401. package/.docs/reference/observability/tracing/configuration.md +0 -178
  402. package/.docs/reference/observability/tracing/exporters/arize.md +0 -141
  403. package/.docs/reference/observability/tracing/exporters/braintrust.md +0 -93
  404. package/.docs/reference/observability/tracing/exporters/cloud-exporter.md +0 -163
  405. package/.docs/reference/observability/tracing/exporters/console-exporter.md +0 -138
  406. package/.docs/reference/observability/tracing/exporters/datadog.md +0 -116
  407. package/.docs/reference/observability/tracing/exporters/default-exporter.md +0 -174
  408. package/.docs/reference/observability/tracing/exporters/laminar.md +0 -78
  409. package/.docs/reference/observability/tracing/exporters/langfuse.md +0 -134
  410. package/.docs/reference/observability/tracing/exporters/langsmith.md +0 -110
  411. package/.docs/reference/observability/tracing/exporters/otel.md +0 -199
  412. package/.docs/reference/observability/tracing/exporters/posthog.md +0 -92
  413. package/.docs/reference/observability/tracing/exporters/sentry.md +0 -184
  414. package/.docs/reference/observability/tracing/instances.md +0 -109
  415. package/.docs/reference/observability/tracing/interfaces.md +0 -749
  416. package/.docs/reference/observability/tracing/processors/sensitive-data-filter.md +0 -144
  417. package/.docs/reference/observability/tracing/spans.md +0 -224
  418. package/.docs/reference/processors/batch-parts-processor.md +0 -61
  419. package/.docs/reference/processors/language-detector.md +0 -81
  420. package/.docs/reference/processors/message-history-processor.md +0 -85
  421. package/.docs/reference/processors/moderation-processor.md +0 -104
  422. package/.docs/reference/processors/pii-detector.md +0 -107
  423. package/.docs/reference/processors/processor-interface.md +0 -525
  424. package/.docs/reference/processors/prompt-injection-detector.md +0 -71
  425. package/.docs/reference/processors/semantic-recall-processor.md +0 -123
  426. package/.docs/reference/processors/system-prompt-scrubber.md +0 -80
  427. package/.docs/reference/processors/token-limiter-processor.md +0 -113
  428. package/.docs/reference/processors/tool-call-filter.md +0 -85
  429. package/.docs/reference/processors/tool-search-processor.md +0 -113
  430. package/.docs/reference/processors/unicode-normalizer.md +0 -62
  431. package/.docs/reference/processors/working-memory-processor.md +0 -154
  432. package/.docs/reference/rag/chunk.md +0 -221
  433. package/.docs/reference/rag/database-config.md +0 -264
  434. package/.docs/reference/rag/document.md +0 -114
  435. package/.docs/reference/rag/embeddings.md +0 -92
  436. package/.docs/reference/rag/extract-params.md +0 -168
  437. package/.docs/reference/rag/graph-rag.md +0 -111
  438. package/.docs/reference/rag/metadata-filters.md +0 -216
  439. package/.docs/reference/rag/rerank.md +0 -80
  440. package/.docs/reference/rag/rerankWithScorer.md +0 -80
  441. package/.docs/reference/server/create-route.md +0 -260
  442. package/.docs/reference/server/express-adapter.md +0 -176
  443. package/.docs/reference/server/fastify-adapter.md +0 -90
  444. package/.docs/reference/server/hono-adapter.md +0 -162
  445. package/.docs/reference/server/koa-adapter.md +0 -127
  446. package/.docs/reference/server/mastra-server.md +0 -298
  447. package/.docs/reference/server/register-api-route.md +0 -249
  448. package/.docs/reference/server/routes.md +0 -306
  449. package/.docs/reference/storage/cloudflare-d1.md +0 -218
  450. package/.docs/reference/storage/cloudflare.md +0 -88
  451. package/.docs/reference/storage/composite.md +0 -235
  452. package/.docs/reference/storage/convex.md +0 -161
  453. package/.docs/reference/storage/dynamodb.md +0 -282
  454. package/.docs/reference/storage/lance.md +0 -131
  455. package/.docs/reference/storage/libsql.md +0 -135
  456. package/.docs/reference/storage/mongodb.md +0 -262
  457. package/.docs/reference/storage/mssql.md +0 -155
  458. package/.docs/reference/storage/overview.md +0 -121
  459. package/.docs/reference/storage/postgresql.md +0 -529
  460. package/.docs/reference/storage/upstash.md +0 -160
  461. package/.docs/reference/streaming/ChunkType.md +0 -292
  462. package/.docs/reference/streaming/agents/MastraModelOutput.md +0 -182
  463. package/.docs/reference/streaming/agents/stream.md +0 -212
  464. package/.docs/reference/streaming/agents/streamLegacy.md +0 -142
  465. package/.docs/reference/streaming/workflows/observeStream.md +0 -42
  466. package/.docs/reference/streaming/workflows/resumeStream.md +0 -61
  467. package/.docs/reference/streaming/workflows/stream.md +0 -88
  468. package/.docs/reference/streaming/workflows/timeTravelStream.md +0 -142
  469. package/.docs/reference/templates/overview.md +0 -194
  470. package/.docs/reference/tools/create-tool.md +0 -237
  471. package/.docs/reference/tools/document-chunker-tool.md +0 -89
  472. package/.docs/reference/tools/graph-rag-tool.md +0 -185
  473. package/.docs/reference/tools/mcp-client.md +0 -962
  474. package/.docs/reference/tools/mcp-server.md +0 -1275
  475. package/.docs/reference/tools/vector-query-tool.md +0 -459
  476. package/.docs/reference/vectors/astra.md +0 -121
  477. package/.docs/reference/vectors/chroma.md +0 -267
  478. package/.docs/reference/vectors/convex.md +0 -303
  479. package/.docs/reference/vectors/couchbase.md +0 -226
  480. package/.docs/reference/vectors/duckdb.md +0 -318
  481. package/.docs/reference/vectors/elasticsearch.md +0 -189
  482. package/.docs/reference/vectors/lance.md +0 -220
  483. package/.docs/reference/vectors/libsql.md +0 -305
  484. package/.docs/reference/vectors/mongodb.md +0 -295
  485. package/.docs/reference/vectors/opensearch.md +0 -99
  486. package/.docs/reference/vectors/pg.md +0 -408
  487. package/.docs/reference/vectors/pinecone.md +0 -168
  488. package/.docs/reference/vectors/qdrant.md +0 -222
  489. package/.docs/reference/vectors/s3vectors.md +0 -277
  490. package/.docs/reference/vectors/turbopuffer.md +0 -157
  491. package/.docs/reference/vectors/upstash.md +0 -294
  492. package/.docs/reference/vectors/vectorize.md +0 -147
  493. package/.docs/reference/voice/azure.md +0 -148
  494. package/.docs/reference/voice/cloudflare.md +0 -83
  495. package/.docs/reference/voice/composite-voice.md +0 -121
  496. package/.docs/reference/voice/deepgram.md +0 -79
  497. package/.docs/reference/voice/elevenlabs.md +0 -98
  498. package/.docs/reference/voice/google-gemini-live.md +0 -378
  499. package/.docs/reference/voice/google.md +0 -228
  500. package/.docs/reference/voice/mastra-voice.md +0 -313
  501. package/.docs/reference/voice/murf.md +0 -122
  502. package/.docs/reference/voice/openai-realtime.md +0 -203
  503. package/.docs/reference/voice/openai.md +0 -88
  504. package/.docs/reference/voice/playai.md +0 -80
  505. package/.docs/reference/voice/sarvam.md +0 -126
  506. package/.docs/reference/voice/speechify.md +0 -75
  507. package/.docs/reference/voice/voice.addInstructions.md +0 -56
  508. package/.docs/reference/voice/voice.addTools.md +0 -67
  509. package/.docs/reference/voice/voice.answer.md +0 -54
  510. package/.docs/reference/voice/voice.close.md +0 -51
  511. package/.docs/reference/voice/voice.connect.md +0 -94
  512. package/.docs/reference/voice/voice.events.md +0 -37
  513. package/.docs/reference/voice/voice.getSpeakers.md +0 -129
  514. package/.docs/reference/voice/voice.listen.md +0 -164
  515. package/.docs/reference/voice/voice.off.md +0 -54
  516. package/.docs/reference/voice/voice.on.md +0 -111
  517. package/.docs/reference/voice/voice.send.md +0 -65
  518. package/.docs/reference/voice/voice.speak.md +0 -157
  519. package/.docs/reference/voice/voice.updateConfig.md +0 -60
  520. package/.docs/reference/workflows/run-methods/cancel.md +0 -86
  521. package/.docs/reference/workflows/run-methods/restart.md +0 -33
  522. package/.docs/reference/workflows/run-methods/resume.md +0 -59
  523. package/.docs/reference/workflows/run-methods/start.md +0 -58
  524. package/.docs/reference/workflows/run-methods/startAsync.md +0 -67
  525. package/.docs/reference/workflows/run-methods/timeTravel.md +0 -142
  526. package/.docs/reference/workflows/run.md +0 -59
  527. package/.docs/reference/workflows/step.md +0 -119
  528. package/.docs/reference/workflows/workflow-methods/branch.md +0 -25
  529. package/.docs/reference/workflows/workflow-methods/commit.md +0 -17
  530. package/.docs/reference/workflows/workflow-methods/create-run.md +0 -63
  531. package/.docs/reference/workflows/workflow-methods/dountil.md +0 -25
  532. package/.docs/reference/workflows/workflow-methods/dowhile.md +0 -25
  533. package/.docs/reference/workflows/workflow-methods/foreach.md +0 -118
  534. package/.docs/reference/workflows/workflow-methods/map.md +0 -93
  535. package/.docs/reference/workflows/workflow-methods/parallel.md +0 -21
  536. package/.docs/reference/workflows/workflow-methods/sleep.md +0 -35
  537. package/.docs/reference/workflows/workflow-methods/sleepUntil.md +0 -35
  538. package/.docs/reference/workflows/workflow-methods/then.md +0 -21
  539. package/.docs/reference/workflows/workflow.md +0 -157
  540. package/.docs/reference/workspace/e2b-sandbox.md +0 -288
  541. package/.docs/reference/workspace/filesystem.md +0 -202
  542. package/.docs/reference/workspace/gcs-filesystem.md +0 -170
  543. package/.docs/reference/workspace/local-filesystem.md +0 -327
  544. package/.docs/reference/workspace/local-sandbox.md +0 -285
  545. package/.docs/reference/workspace/s3-filesystem.md +0 -169
  546. package/.docs/reference/workspace/sandbox.md +0 -81
  547. package/.docs/reference/workspace/workspace-class.md +0 -226
@@ -1,529 +0,0 @@
1
- # PostgreSQL Storage
2
-
3
- The PostgreSQL storage implementation provides a production-ready storage solution using PostgreSQL databases.
4
-
5
- ## Installation
6
-
7
- **npm**:
8
-
9
- ```bash
10
- npm install @mastra/pg@latest
11
- ```
12
-
13
- **pnpm**:
14
-
15
- ```bash
16
- pnpm add @mastra/pg@latest
17
- ```
18
-
19
- **Yarn**:
20
-
21
- ```bash
22
- yarn add @mastra/pg@latest
23
- ```
24
-
25
- **Bun**:
26
-
27
- ```bash
28
- bun add @mastra/pg@latest
29
- ```
30
-
31
- ## Usage
32
-
33
- ```typescript
34
- import { PostgresStore } from "@mastra/pg";
35
-
36
- const storage = new PostgresStore({
37
- id: 'pg-storage',
38
- connectionString: process.env.DATABASE_URL,
39
- });
40
- ```
41
-
42
- ## Parameters
43
-
44
- **id:** (`string`): Unique identifier for this storage instance.
45
-
46
- **connectionString?:** (`string`): PostgreSQL connection string (e.g., postgresql://user:pass\@host:5432/dbname). Required unless using \`pool\` or individual host-based parameters (\`host\`, \`port\`, \`database\`, \`user\`, \`password\`).
47
-
48
- **host?:** (`string`): Database server hostname or IP address. Used with other host-based parameters as an alternative to connectionString.
49
-
50
- **port?:** (`number`): Database server port number. Defaults to 5432 if not specified.
51
-
52
- **database?:** (`string`): Name of the database to connect to.
53
-
54
- **user?:** (`string`): Database user for authentication.
55
-
56
- **password?:** (`string`): Password for the database user.
57
-
58
- **pool?:** (`pg.Pool`): Pre-configured pg.Pool instance. Use this to reuse an existing connection pool. When provided, Mastra will not create its own pool and will not close it when \`store.close()\` is called.
59
-
60
- **schemaName?:** (`string`): The name of the schema you want the storage to use. Defaults to 'public'.
61
-
62
- **ssl?:** (`boolean | ConnectionOptions`): SSL configuration for the connection; set to true to use default SSL or provide a ConnectionOptions object for custom SSL settings.
63
-
64
- **max?:** (`number`): Maximum number of connections in the pool. Defaults to 20.
65
-
66
- **idleTimeoutMillis?:** (`number`): How long a connection can sit idle before being closed. Defaults to 30000 (30 seconds).
67
-
68
- **disableInit?:** (`boolean`): When true, automatic table creation/migrations are disabled. Useful for CI/CD pipelines where migrations are run separately.
69
-
70
- **skipDefaultIndexes?:** (`boolean`): When true, default indexes will not be created during initialization.
71
-
72
- **indexes?:** (`CreateIndexOptions[]`): Custom indexes to create during initialization.
73
-
74
- ## Constructor Examples
75
-
76
- You can instantiate `PostgresStore` in the following ways:
77
-
78
- ```ts
79
- import { PostgresStore } from "@mastra/pg";
80
- import { Pool } from "pg";
81
-
82
- // Using a connection string
83
- const store1 = new PostgresStore({
84
- id: 'pg-storage-1',
85
- connectionString: "postgresql://user:password@localhost:5432/mydb",
86
- });
87
-
88
- // Using a connection string with pool options
89
- const store2 = new PostgresStore({
90
- id: 'pg-storage-2',
91
- connectionString: "postgresql://user:password@localhost:5432/mydb",
92
- schemaName: "custom_schema",
93
- max: 30, // Max pool connections
94
- idleTimeoutMillis: 60000, // Idle timeout
95
- ssl: { rejectUnauthorized: false },
96
- });
97
-
98
- // Using individual connection parameters
99
- const store3 = new PostgresStore({
100
- id: 'pg-storage-3',
101
- host: "localhost",
102
- port: 5432,
103
- database: "mydb",
104
- user: "user",
105
- password: "password",
106
- });
107
-
108
- // Using a pre-configured pg.Pool (recommended for pool reuse)
109
- const existingPool = new Pool({
110
- connectionString: "postgresql://user:password@localhost:5432/mydb",
111
- max: 20,
112
- // ... your custom pool configuration
113
- });
114
-
115
- const store4 = new PostgresStore({
116
- id: 'pg-storage-4',
117
- pool: existingPool,
118
- schemaName: "custom_schema", // optional
119
- });
120
- ```
121
-
122
- ## Additional Notes
123
-
124
- ### Schema Management
125
-
126
- The storage implementation handles schema creation and updates automatically. It creates the following tables:
127
-
128
- - `mastra_workflow_snapshot`: Stores workflow state and execution data
129
- - `mastra_evals`: Stores evaluation results and metadata
130
- - `mastra_threads`: Stores conversation threads
131
- - `mastra_messages`: Stores individual messages
132
- - `mastra_traces`: Stores telemetry and tracing data
133
- - `mastra_scorers`: Stores scoring and evaluation data
134
- - `mastra_resources`: Stores resource working memory data
135
-
136
- ### Observability
137
-
138
- PostgreSQL supports observability and can handle low trace volumes. Throughput capacity depends on deployment factors such as hardware, schema design, indexing, and retention policies, and should be validated for your specific environment. For high-volume production environments, consider:
139
-
140
- - Using the `insert-only` [tracing strategy](https://mastra.ai/docs/observability/tracing/exporters/default) to reduce database write operations
141
- - Setting up table partitioning for efficient data retention
142
- - Migrating observability to [ClickHouse via composite storage](https://mastra.ai/reference/storage/composite) if you need to scale further
143
-
144
- ### Initialization
145
-
146
- When you pass storage to the Mastra class, `init()` is called automatically before any storage operation:
147
-
148
- ```typescript
149
- import { Mastra } from "@mastra/core";
150
- import { PostgresStore } from "@mastra/pg";
151
-
152
- const storage = new PostgresStore({
153
- id: 'pg-storage',
154
- connectionString: process.env.DATABASE_URL,
155
- });
156
-
157
- const mastra = new Mastra({
158
- storage, // init() is called automatically
159
- });
160
- ```
161
-
162
- If you're using storage directly without Mastra, you must call `init()` explicitly to create the tables:
163
-
164
- ```typescript
165
- import { PostgresStore } from "@mastra/pg";
166
-
167
- const storage = new PostgresStore({
168
- id: 'pg-storage',
169
- connectionString: process.env.DATABASE_URL,
170
- });
171
-
172
- // Required when using storage directly
173
- await storage.init();
174
-
175
- // Access domain-specific stores via getStore()
176
- const memoryStore = await storage.getStore('memory');
177
- const thread = await memoryStore?.getThreadById({ threadId: "..." });
178
- ```
179
-
180
- > **Warning:** If `init()` is not called, tables won't be created and storage operations will fail silently or throw errors.
181
-
182
- ### Using an Existing Pool
183
-
184
- If you already have a `pg.Pool` in your application (e.g., shared with an ORM or for Row Level Security), you can pass it directly to `PostgresStore`:
185
-
186
- ```typescript
187
- import { Pool } from "pg";
188
- import { PostgresStore } from "@mastra/pg";
189
-
190
- // Your existing pool (shared across your application)
191
- const pool = new Pool({
192
- connectionString: process.env.DATABASE_URL,
193
- max: 20,
194
- });
195
-
196
- const storage = new PostgresStore({
197
- id: "shared-storage",
198
- pool: pool,
199
- });
200
- ```
201
-
202
- **Pool lifecycle behavior:**
203
-
204
- - When you **provide a pool**: Mastra uses your pool but does **not** close it when `store.close()` is called. You manage the pool lifecycle.
205
- - When Mastra **creates a pool**: Mastra owns the pool and will close it when `store.close()` is called.
206
-
207
- ### Direct Database and Pool Access
208
-
209
- `PostgresStore` exposes the underlying database client and pool for advanced use cases:
210
-
211
- ```typescript
212
- store.db; // DbClient - query interface with helpers (any, one, tx, etc.)
213
- store.pool; // pg.Pool - the underlying connection pool
214
- ```
215
-
216
- **Using `store.db` for queries:**
217
-
218
- ```typescript
219
- // Execute queries with helper methods
220
- const users = await store.db.any("SELECT * FROM users WHERE active = $1", [true]);
221
- const user = await store.db.one("SELECT * FROM users WHERE id = $1", [userId]);
222
- const maybeUser = await store.db.oneOrNone("SELECT * FROM users WHERE email = $1", [email]);
223
-
224
- // Use transactions
225
- const result = await store.db.tx(async (t) => {
226
- await t.none("INSERT INTO logs (message) VALUES ($1)", ["Started"]);
227
- const data = await t.any("SELECT * FROM items");
228
- return data;
229
- });
230
- ```
231
-
232
- **Using `store.pool` directly:**
233
-
234
- ```typescript
235
- // Get a client for manual connection management
236
- const client = await store.pool.connect();
237
- try {
238
- await client.query("SET LOCAL app.user_id = $1", [userId]);
239
- const result = await client.query("SELECT * FROM protected_table");
240
- return result.rows;
241
- } finally {
242
- client.release();
243
- }
244
- ```
245
-
246
- When using these fields:
247
-
248
- - You are responsible for proper connection and transaction handling.
249
- - Closing the store (`store.close()`) will destroy the pool only if Mastra created it.
250
- - Direct access bypasses any additional logic or validation provided by PostgresStore methods.
251
-
252
- This approach is intended for advanced scenarios where low-level access is required.
253
-
254
- ### Using with Next.js
255
-
256
- When using `PostgresStore` in Next.js applications, [Hot Module Replacement (HMR)](https://nextjs.org/docs/architecture/fast-refresh) during development can cause multiple storage instances to be created, resulting in this warning:
257
-
258
- ```text
259
- WARNING: Creating a duplicate database object for the same connection.
260
- ```
261
-
262
- To prevent this, store the `PostgresStore` instance on the global object so it persists across HMR reloads:
263
-
264
- ```typescript
265
- import { PostgresStore } from "@mastra/pg";
266
- import { Memory } from "@mastra/memory";
267
-
268
- // Extend the global type to include our instances
269
- declare global {
270
- var pgStore: PostgresStore | undefined;
271
- var memory: Memory | undefined;
272
- }
273
-
274
- // Get or create the PostgresStore instance
275
- function getPgStore(): PostgresStore {
276
- if (!global.pgStore) {
277
- if (!process.env.DATABASE_URL) {
278
- throw new Error("DATABASE_URL is not defined in environment variables");
279
- }
280
- global.pgStore = new PostgresStore({
281
- id: "pg-storage",
282
- connectionString: process.env.DATABASE_URL,
283
- ssl:
284
- process.env.DATABASE_SSL === "true"
285
- ? { rejectUnauthorized: false }
286
- : false,
287
- });
288
- }
289
- return global.pgStore;
290
- }
291
-
292
- // Get or create the Memory instance
293
- function getMemory(): Memory {
294
- if (!global.memory) {
295
- global.memory = new Memory({
296
- storage: getPgStore(),
297
- });
298
- }
299
- return global.memory;
300
- }
301
-
302
- export const storage = getPgStore();
303
- export const memory = getMemory();
304
- ```
305
-
306
- Then use the exported instances in your Mastra configuration:
307
-
308
- ```typescript
309
- import { Mastra } from "@mastra/core/mastra";
310
- import { storage } from "./storage";
311
-
312
- export const mastra = new Mastra({
313
- storage,
314
- // ...other config
315
- });
316
- ```
317
-
318
- This pattern ensures only one `PostgresStore` instance is created regardless of how many times the module is reloaded during development. The same pattern can be applied to other storage providers like `LibSQLStore`.
319
-
320
- > **Tip:** This singleton pattern is only necessary during local development with HMR. In production builds, modules are only loaded once.
321
-
322
- ## Usage Example
323
-
324
- ### Adding memory to an agent
325
-
326
- To add PostgreSQL memory to an agent use the `Memory` class and create a new `storage` key using `PostgresStore`. The `connectionString` can either be a remote location, or a local database connection.
327
-
328
- ```typescript
329
- import { Memory } from "@mastra/memory";
330
- import { Agent } from "@mastra/core/agent";
331
- import { PostgresStore } from "@mastra/pg";
332
-
333
- export const pgAgent = new Agent({
334
- id: "pg-agent",
335
- name: "PG Agent",
336
- instructions:
337
- "You are an AI agent with the ability to automatically recall memories from previous interactions.",
338
- model: "openai/gpt-5.1",
339
- memory: new Memory({
340
- storage: new PostgresStore({
341
- id: 'pg-agent-storage',
342
- connectionString: process.env.DATABASE_URL!,
343
- }),
344
- options: {
345
- generateTitle: true, // Explicitly enable automatic title generation
346
- },
347
- }),
348
- });
349
- ```
350
-
351
- ### Using the agent
352
-
353
- Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
354
-
355
- ```typescript
356
- import "dotenv/config";
357
-
358
- import { mastra } from "./mastra";
359
-
360
- const threadId = "123";
361
- const resourceId = "user-456";
362
-
363
- const agent = mastra.getAgent("pg-agent");
364
-
365
- const message = await agent.stream("My name is Mastra", {
366
- memory: {
367
- thread: threadId,
368
- resource: resourceId,
369
- },
370
- });
371
-
372
- await message.textStream.pipeTo(new WritableStream());
373
-
374
- const stream = await agent.stream("What's my name?", {
375
- memory: {
376
- thread: threadId,
377
- resource: resourceId,
378
- },
379
- memoryOptions: {
380
- lastMessages: 5,
381
- semanticRecall: {
382
- topK: 3,
383
- messageRange: 2,
384
- },
385
- },
386
- });
387
-
388
- for await (const chunk of stream.textStream) {
389
- process.stdout.write(chunk);
390
- }
391
- ```
392
-
393
- ## Index Management
394
-
395
- PostgreSQL storage provides index management to optimize query performance.
396
-
397
- ### Default Indexes
398
-
399
- PostgreSQL storage creates composite indexes during initialization for common query patterns:
400
-
401
- - `mastra_threads_resourceid_createdat_idx`: (resourceId, createdAt DESC)
402
- - `mastra_messages_thread_id_createdat_idx`: (thread\_id, createdAt DESC)
403
- - `mastra_ai_spans_traceid_startedat_idx`: (traceId, startedAt DESC)
404
- - `mastra_ai_spans_parentspanid_startedat_idx`: (parentSpanId, startedAt DESC)
405
- - `mastra_ai_spans_name_startedat_idx`: (name, startedAt DESC)
406
- - `mastra_ai_spans_scope_startedat_idx`: (scope, startedAt DESC)
407
- - `mastra_scores_trace_id_span_id_created_at_idx`: (traceId, spanId, createdAt DESC)
408
-
409
- These indexes improve performance for filtered queries with sorting, including `dateRange` filters on message queries.
410
-
411
- ### Configuring Indexes
412
-
413
- You can control index creation via constructor options:
414
-
415
- ```typescript
416
- import { PostgresStore } from "@mastra/pg";
417
-
418
- // Skip default indexes (manage indexes separately)
419
- const store = new PostgresStore({
420
- id: 'pg-storage',
421
- connectionString: process.env.DATABASE_URL,
422
- skipDefaultIndexes: true,
423
- });
424
-
425
- // Add custom indexes during initialization
426
- const storeWithCustomIndexes = new PostgresStore({
427
- id: 'pg-storage',
428
- connectionString: process.env.DATABASE_URL,
429
- indexes: [
430
- {
431
- name: "idx_threads_metadata_type",
432
- table: "mastra_threads",
433
- columns: ["metadata->>'type'"],
434
- },
435
- {
436
- name: "idx_messages_status",
437
- table: "mastra_messages",
438
- columns: ["metadata->>'status'"],
439
- },
440
- ],
441
- });
442
- ```
443
-
444
- For advanced index types, you can specify additional options:
445
-
446
- - `unique: true` for unique constraints
447
- - `where: 'condition'` for partial indexes
448
- - `method: 'brin'` for time-series data
449
- - `storage: { fillfactor: 90 }` for update-heavy tables
450
- - `concurrent: true` for non-blocking creation (default)
451
-
452
- ### Index Options
453
-
454
- **name:** (`string`): Unique name for the index
455
-
456
- **table:** (`string`): Table name (e.g., 'mastra\_threads')
457
-
458
- **columns:** (`string[]`): Array of column names with optional sort order (e.g., \['id', 'createdAt DESC'])
459
-
460
- **unique?:** (`boolean`): Creates a unique constraint index
461
-
462
- **concurrent?:** (`boolean`): Creates index without locking table (default: true)
463
-
464
- **where?:** (`string`): Partial index condition (PostgreSQL specific)
465
-
466
- **method?:** (`'btree' | 'hash' | 'gin' | 'gist' | 'spgist' | 'brin'`): Index method (default: 'btree')
467
-
468
- **opclass?:** (`string`): Operator class for GIN/GIST indexes
469
-
470
- **storage?:** (`Record<string, any>`): Storage parameters (e.g., { fillfactor: 90 })
471
-
472
- **tablespace?:** (`string`): Tablespace name for index placement
473
-
474
- ### Schema-Specific Indexes
475
-
476
- When using custom schemas, index names are prefixed with the schema name:
477
-
478
- ```typescript
479
- const storage = new PostgresStore({
480
- id: 'pg-storage',
481
- connectionString: process.env.DATABASE_URL,
482
- schemaName: "custom_schema",
483
- indexes: [
484
- {
485
- name: "idx_threads_status",
486
- table: "mastra_threads",
487
- columns: ["status"],
488
- },
489
- ],
490
- });
491
-
492
- // Creates index as: custom_schema_idx_threads_status
493
- ```
494
-
495
- ### Managing Indexes via SQL
496
-
497
- For advanced index management (listing, dropping, analyzing), use direct SQL queries via the `db` accessor:
498
-
499
- ```typescript
500
- // List indexes for a table
501
- const indexes = await storage.db.any(`
502
- SELECT indexname, indexdef
503
- FROM pg_indexes
504
- WHERE tablename = 'mastra_messages'
505
- `);
506
-
507
- // Drop an index
508
- await storage.db.none('DROP INDEX IF EXISTS idx_my_custom_index');
509
-
510
- // Analyze index usage
511
- const stats = await storage.db.one(`
512
- SELECT idx_scan, idx_tup_read
513
- FROM pg_stat_user_indexes
514
- WHERE indexrelname = 'mastra_messages_thread_id_createdat_idx'
515
- `);
516
- ```
517
-
518
- ### Index Types and Use Cases
519
-
520
- PostgreSQL offers different index types optimized for specific scenarios:
521
-
522
- | Index Type | Best For | Storage | Speed |
523
- | ------------------- | --------------------------------------- | ---------- | -------------------------- |
524
- | **btree** (default) | Range queries, sorting, general purpose | Moderate | Fast |
525
- | **hash** | Equality comparisons only | Small | Very fast for `=` |
526
- | **gin** | JSONB, arrays, full-text search | Large | Fast for contains |
527
- | **gist** | Geometric data, full-text search | Moderate | Fast for nearest-neighbor |
528
- | **spgist** | Non-balanced data, text patterns | Small | Fast for specific patterns |
529
- | **brin** | Large tables with natural ordering | Very small | Fast for ranges |
@@ -1,160 +0,0 @@
1
- # Upstash Storage
2
-
3
- The Upstash storage implementation provides a serverless-friendly storage solution using Upstash's Redis-compatible key-value store.
4
-
5
- > **Pricing:** When using Mastra with Upstash, the pay-as-you-go model can result in unexpectedly high costs due to the high volume of Redis commands generated during agent conversations. We strongly recommend using a **fixed pricing plan** for predictable costs. See [Upstash pricing](https://upstash.com/pricing/redis) for details and [GitHub issue #5850](https://github.com/mastra-ai/mastra/issues/5850) for context.
6
-
7
- > **Observability Not Supported:** Upstash storage **does not support the observability domain**. Traces from the `DefaultExporter` cannot be persisted to Upstash, and Mastra Studio's observability features won't work with Upstash as your only storage provider. To enable observability, use [composite storage](https://mastra.ai/reference/storage/composite) to route observability data to a supported provider like ClickHouse or PostgreSQL.
8
-
9
- ## Installation
10
-
11
- **npm**:
12
-
13
- ```bash
14
- npm install @mastra/upstash@latest
15
- ```
16
-
17
- **pnpm**:
18
-
19
- ```bash
20
- pnpm add @mastra/upstash@latest
21
- ```
22
-
23
- **Yarn**:
24
-
25
- ```bash
26
- yarn add @mastra/upstash@latest
27
- ```
28
-
29
- **Bun**:
30
-
31
- ```bash
32
- bun add @mastra/upstash@latest
33
- ```
34
-
35
- ## Usage
36
-
37
- ```typescript
38
- import { UpstashStore } from "@mastra/upstash";
39
-
40
- const storage = new UpstashStore({
41
- id: 'upstash-storage',
42
- url: process.env.UPSTASH_URL,
43
- token: process.env.UPSTASH_TOKEN,
44
- });
45
- ```
46
-
47
- ## Parameters
48
-
49
- **url:** (`string`): Upstash Redis URL
50
-
51
- **token:** (`string`): Upstash Redis authentication token
52
-
53
- **prefix?:** (`string`): Key prefix for all stored items (Default: `mastra:`)
54
-
55
- ## Additional Notes
56
-
57
- ### Key Structure
58
-
59
- The Upstash storage implementation uses a key-value structure:
60
-
61
- - Thread keys: `{prefix}thread:{threadId}`
62
- - Message keys: `{prefix}message:{messageId}`
63
- - Metadata keys: `{prefix}metadata:{entityId}`
64
-
65
- ### Serverless Benefits
66
-
67
- Upstash storage is particularly well-suited for serverless deployments:
68
-
69
- - No connection management needed
70
- - Pay-per-request pricing
71
- - Global replication options
72
- - Edge-compatible
73
-
74
- ### Data Persistence
75
-
76
- Upstash provides:
77
-
78
- - Automatic data persistence
79
- - Point-in-time recovery
80
- - Cross-region replication options
81
-
82
- ### Performance Considerations
83
-
84
- For optimal performance:
85
-
86
- - Use appropriate key prefixes to organize data
87
- - Monitor Redis memory usage
88
- - Consider data expiration policies if needed
89
-
90
- ## Usage Example
91
-
92
- ### Adding memory to an agent
93
-
94
- To add Upstash memory to an agent use the `Memory` class and create a new `storage` key using `UpstashStore` and a new `vector` key using `UpstashVector`. The configuration can point to either a remote service or a local setup.
95
-
96
- ```typescript
97
- import { Memory } from "@mastra/memory";
98
- import { Agent } from "@mastra/core/agent";
99
- import { UpstashStore } from "@mastra/upstash";
100
-
101
- export const upstashAgent = new Agent({
102
- id: "upstash-agent",
103
- name: "Upstash Agent",
104
- instructions:
105
- "You are an AI agent with the ability to automatically recall memories from previous interactions.",
106
- model: "openai/gpt-5.1",
107
- memory: new Memory({
108
- storage: new UpstashStore({
109
- id: 'upstash-agent-storage',
110
- url: process.env.UPSTASH_REDIS_REST_URL!,
111
- token: process.env.UPSTASH_REDIS_REST_TOKEN!,
112
- }),
113
- options: {
114
- generateTitle: true, // Explicitly enable automatic title generation
115
- },
116
- }),
117
- });
118
- ```
119
-
120
- ### Using the agent
121
-
122
- Use `memoryOptions` to scope recall for this request. Set `lastMessages: 5` to limit recency-based recall, and use `semanticRecall` to fetch the `topK: 3` most relevant messages, including `messageRange: 2` neighboring messages for context around each match.
123
-
124
- ```typescript
125
- import "dotenv/config";
126
-
127
- import { mastra } from "./mastra";
128
-
129
- const threadId = "123";
130
- const resourceId = "user-456";
131
-
132
- const agent = mastra.getAgent("upstashAgent");
133
-
134
- const message = await agent.stream("My name is Mastra", {
135
- memory: {
136
- thread: threadId,
137
- resource: resourceId,
138
- },
139
- });
140
-
141
- await message.textStream.pipeTo(new WritableStream());
142
-
143
- const stream = await agent.stream("What's my name?", {
144
- memory: {
145
- thread: threadId,
146
- resource: resourceId,
147
- },
148
- memoryOptions: {
149
- lastMessages: 5,
150
- semanticRecall: {
151
- topK: 3,
152
- messageRange: 2,
153
- },
154
- },
155
- });
156
-
157
- for await (const chunk of stream.textStream) {
158
- process.stdout.write(chunk);
159
- }
160
- ```