@mastra/server 1.35.0 → 1.36.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.
- package/CHANGELOG.md +34 -0
- package/dist/{api-schema-manifest-HTSK7CWD.js → api-schema-manifest-EJXNYOFH.js} +3 -3
- package/dist/{api-schema-manifest-HTSK7CWD.js.map → api-schema-manifest-EJXNYOFH.js.map} +1 -1
- package/dist/{api-schema-manifest-WVM7QABS.cjs → api-schema-manifest-EMKHNXSD.cjs} +4 -4
- package/dist/{api-schema-manifest-WVM7QABS.cjs.map → api-schema-manifest-EMKHNXSD.cjs.map} +1 -1
- package/dist/{chunk-RUKCZLXN.cjs → chunk-3NA22RQ5.cjs} +3 -3
- package/dist/{chunk-RUKCZLXN.cjs.map → chunk-3NA22RQ5.cjs.map} +1 -1
- package/dist/{chunk-2SYGQRXY.cjs → chunk-3PQSHLG7.cjs} +155 -155
- package/dist/{chunk-2SYGQRXY.cjs.map → chunk-3PQSHLG7.cjs.map} +1 -1
- package/dist/{chunk-DBG7BFWZ.cjs → chunk-4YSEVAAS.cjs} +23 -23
- package/dist/{chunk-DBG7BFWZ.cjs.map → chunk-4YSEVAAS.cjs.map} +1 -1
- package/dist/{chunk-FLVMO2FZ.js → chunk-6IUJAAQ2.js} +4 -4
- package/dist/chunk-6IUJAAQ2.js.map +1 -0
- package/dist/{chunk-3T7LIPHA.cjs → chunk-7R7WT24X.cjs} +5 -5
- package/dist/{chunk-3T7LIPHA.cjs.map → chunk-7R7WT24X.cjs.map} +1 -1
- package/dist/{chunk-VTMAYC4R.js → chunk-7YV7MYOP.js} +3 -3
- package/dist/{chunk-VTMAYC4R.js.map → chunk-7YV7MYOP.js.map} +1 -1
- package/dist/{chunk-53OYU4CP.js → chunk-B3UPXBHD.js} +4 -4
- package/dist/{chunk-53OYU4CP.js.map → chunk-B3UPXBHD.js.map} +1 -1
- package/dist/{chunk-M7EB2X7Q.cjs → chunk-BBB4NKZZ.cjs} +26 -26
- package/dist/{chunk-M7EB2X7Q.cjs.map → chunk-BBB4NKZZ.cjs.map} +1 -1
- package/dist/{chunk-LXXKGWXS.js → chunk-BBD7VAAR.js} +3 -3
- package/dist/{chunk-LXXKGWXS.js.map → chunk-BBD7VAAR.js.map} +1 -1
- package/dist/{chunk-Y65G4C35.cjs → chunk-DGJSHUP4.cjs} +63 -63
- package/dist/{chunk-Y65G4C35.cjs.map → chunk-DGJSHUP4.cjs.map} +1 -1
- package/dist/{chunk-WUXXEGDS.js → chunk-DM6UW5RD.js} +6 -6
- package/dist/{chunk-WUXXEGDS.js.map → chunk-DM6UW5RD.js.map} +1 -1
- package/dist/{chunk-URAYY3ZG.cjs → chunk-DRTUU5WC.cjs} +4 -4
- package/dist/{chunk-URAYY3ZG.cjs.map → chunk-DRTUU5WC.cjs.map} +1 -1
- package/dist/{chunk-MJBD3YYS.js → chunk-DYN7KSCZ.js} +4 -4
- package/dist/{chunk-MJBD3YYS.js.map → chunk-DYN7KSCZ.js.map} +1 -1
- package/dist/{chunk-TXKPEOUP.js → chunk-ELWN7ZXR.js} +4 -4
- package/dist/{chunk-TXKPEOUP.js.map → chunk-ELWN7ZXR.js.map} +1 -1
- package/dist/{chunk-JTMIZMGO.cjs → chunk-ES23WZRF.cjs} +8 -8
- package/dist/{chunk-JTMIZMGO.cjs.map → chunk-ES23WZRF.cjs.map} +1 -1
- package/dist/{chunk-UT2JT5GC.js → chunk-GTYVB2TS.js} +3 -3
- package/dist/{chunk-UT2JT5GC.js.map → chunk-GTYVB2TS.js.map} +1 -1
- package/dist/{chunk-PG4IJL7T.cjs → chunk-H3RUJBEL.cjs} +3 -3
- package/dist/{chunk-PG4IJL7T.cjs.map → chunk-H3RUJBEL.cjs.map} +1 -1
- package/dist/{chunk-WWXG4HNX.js → chunk-HT4KV7V5.js} +3 -3
- package/dist/{chunk-WWXG4HNX.js.map → chunk-HT4KV7V5.js.map} +1 -1
- package/dist/{chunk-KDZIZ3LV.cjs → chunk-IVFIYTLD.cjs} +16 -16
- package/dist/{chunk-KDZIZ3LV.cjs.map → chunk-IVFIYTLD.cjs.map} +1 -1
- package/dist/{chunk-Z35VW4BM.cjs → chunk-IXRARW5C.cjs} +32 -11
- package/dist/chunk-IXRARW5C.cjs.map +1 -0
- package/dist/{chunk-CUMEATMZ.cjs → chunk-JBAQMT4Y.cjs} +7 -7
- package/dist/{chunk-CUMEATMZ.cjs.map → chunk-JBAQMT4Y.cjs.map} +1 -1
- package/dist/{chunk-OG3CV6IN.cjs → chunk-JRFHBWKQ.cjs} +3 -3
- package/dist/{chunk-OG3CV6IN.cjs.map → chunk-JRFHBWKQ.cjs.map} +1 -1
- package/dist/{chunk-BVZLX6R4.cjs → chunk-JRZZN55Y.cjs} +3 -3
- package/dist/{chunk-BVZLX6R4.cjs.map → chunk-JRZZN55Y.cjs.map} +1 -1
- package/dist/{chunk-5PPFITJ3.js → chunk-KGK2LCZ4.js} +4 -4
- package/dist/{chunk-5PPFITJ3.js.map → chunk-KGK2LCZ4.js.map} +1 -1
- package/dist/{chunk-HPSSFPDP.js → chunk-KWREVMMS.js} +22 -105
- package/dist/chunk-KWREVMMS.js.map +1 -0
- package/dist/{chunk-YSC2EP5G.cjs → chunk-L3WM4IWR.cjs} +4 -4
- package/dist/chunk-L3WM4IWR.cjs.map +1 -0
- package/dist/{chunk-EG3QNCBQ.cjs → chunk-M4MNMBQF.cjs} +4 -4
- package/dist/{chunk-EG3QNCBQ.cjs.map → chunk-M4MNMBQF.cjs.map} +1 -1
- package/dist/{chunk-7ASFLZZ6.cjs → chunk-MEYWNCUV.cjs} +7 -7
- package/dist/{chunk-7ASFLZZ6.cjs.map → chunk-MEYWNCUV.cjs.map} +1 -1
- package/dist/{chunk-MFBVMCPB.cjs → chunk-MHQFFRA2.cjs} +21 -21
- package/dist/{chunk-MFBVMCPB.cjs.map → chunk-MHQFFRA2.cjs.map} +1 -1
- package/dist/{chunk-LL2CVXJG.js → chunk-MXGCIYNM.js} +3 -3
- package/dist/{chunk-LL2CVXJG.js.map → chunk-MXGCIYNM.js.map} +1 -1
- package/dist/{chunk-OMODGV6O.js → chunk-N44OOOAL.js} +4 -4
- package/dist/{chunk-OMODGV6O.js.map → chunk-N44OOOAL.js.map} +1 -1
- package/dist/{chunk-35DMDUVM.js → chunk-NDMG7SUN.js} +6 -6
- package/dist/{chunk-35DMDUVM.js.map → chunk-NDMG7SUN.js.map} +1 -1
- package/dist/{chunk-SWCWNQL5.js → chunk-OOEYTKTC.js} +3 -3
- package/dist/{chunk-SWCWNQL5.js.map → chunk-OOEYTKTC.js.map} +1 -1
- package/dist/{chunk-I63ON7JW.js → chunk-OS2636MU.js} +3 -3
- package/dist/{chunk-I63ON7JW.js.map → chunk-OS2636MU.js.map} +1 -1
- package/dist/{chunk-M4IITA2G.js → chunk-OULCMO5R.js} +4 -4
- package/dist/{chunk-M4IITA2G.js.map → chunk-OULCMO5R.js.map} +1 -1
- package/dist/{chunk-2GEO7VUJ.cjs → chunk-PM6YRFZW.cjs} +3 -3
- package/dist/{chunk-2GEO7VUJ.cjs.map → chunk-PM6YRFZW.cjs.map} +1 -1
- package/dist/{chunk-SUNXO2H2.cjs → chunk-PQDYNK4J.cjs} +4 -4
- package/dist/{chunk-SUNXO2H2.cjs.map → chunk-PQDYNK4J.cjs.map} +1 -1
- package/dist/{chunk-BE7IP4ZJ.js → chunk-Q7LA2XMK.js} +6 -6
- package/dist/{chunk-BE7IP4ZJ.js.map → chunk-Q7LA2XMK.js.map} +1 -1
- package/dist/{chunk-M7VWAJP3.cjs → chunk-QTPAVOG2.cjs} +3 -3
- package/dist/{chunk-M7VWAJP3.cjs.map → chunk-QTPAVOG2.cjs.map} +1 -1
- package/dist/{chunk-3SPUSGBT.cjs → chunk-QWPEAC7I.cjs} +43 -43
- package/dist/{chunk-3SPUSGBT.cjs.map → chunk-QWPEAC7I.cjs.map} +1 -1
- package/dist/{chunk-4WXROF2X.cjs → chunk-R4IYXUNR.cjs} +4 -4
- package/dist/{chunk-4WXROF2X.cjs.map → chunk-R4IYXUNR.cjs.map} +1 -1
- package/dist/{chunk-W3FAEXOQ.cjs → chunk-RGUKCKGB.cjs} +27 -27
- package/dist/{chunk-W3FAEXOQ.cjs.map → chunk-RGUKCKGB.cjs.map} +1 -1
- package/dist/{chunk-2CT57Y5S.cjs → chunk-SR6QNILC.cjs} +3 -3
- package/dist/{chunk-2CT57Y5S.cjs.map → chunk-SR6QNILC.cjs.map} +1 -1
- package/dist/{chunk-TTGG4FBC.js → chunk-T3PECMPO.js} +5 -5
- package/dist/{chunk-TTGG4FBC.js.map → chunk-T3PECMPO.js.map} +1 -1
- package/dist/{chunk-KEAF4TVC.cjs → chunk-T6QQYYPA.cjs} +3 -3
- package/dist/{chunk-KEAF4TVC.cjs.map → chunk-T6QQYYPA.cjs.map} +1 -1
- package/dist/{chunk-U2HTITB4.js → chunk-UOKSQHJY.js} +32 -11
- package/dist/chunk-UOKSQHJY.js.map +1 -0
- package/dist/{chunk-U7A3FCF3.js → chunk-W32BPAIP.js} +5 -5
- package/dist/{chunk-U7A3FCF3.js.map → chunk-W32BPAIP.js.map} +1 -1
- package/dist/{chunk-7BDWHV3B.cjs → chunk-WNIL6DVE.cjs} +212 -212
- package/dist/{chunk-7BDWHV3B.cjs.map → chunk-WNIL6DVE.cjs.map} +1 -1
- package/dist/{chunk-NKE73E6M.js → chunk-WP67ASKV.js} +6 -6
- package/dist/{chunk-NKE73E6M.js.map → chunk-WP67ASKV.js.map} +1 -1
- package/dist/{chunk-JGTLNFH2.js → chunk-X7ZNZFHV.js} +4 -4
- package/dist/{chunk-JGTLNFH2.js.map → chunk-X7ZNZFHV.js.map} +1 -1
- package/dist/{chunk-4UPPXNWW.js → chunk-XGNMFTYF.js} +6 -6
- package/dist/{chunk-4UPPXNWW.js.map → chunk-XGNMFTYF.js.map} +1 -1
- package/dist/{chunk-H5FPSS2N.js → chunk-XZT7USLH.js} +26 -26
- package/dist/{chunk-H5FPSS2N.js.map → chunk-XZT7USLH.js.map} +1 -1
- package/dist/{chunk-TMLOBNMN.js → chunk-Y6CAJLYX.js} +4 -4
- package/dist/{chunk-TMLOBNMN.js.map → chunk-Y6CAJLYX.js.map} +1 -1
- package/dist/{chunk-N63KDS6D.js → chunk-YE3LMHL3.js} +3 -3
- package/dist/{chunk-N63KDS6D.js.map → chunk-YE3LMHL3.js.map} +1 -1
- package/dist/{chunk-T2YPTXXE.js → chunk-YLJ5EVO3.js} +3 -3
- package/dist/{chunk-T2YPTXXE.js.map → chunk-YLJ5EVO3.js.map} +1 -1
- package/dist/{chunk-QZFOSTJU.cjs → chunk-ZRU7KWNW.cjs} +22 -105
- package/dist/chunk-ZRU7KWNW.cjs.map +1 -0
- package/dist/{dist-PWSP7TGP.js → dist-5OGIQLEZ.js} +5 -5
- package/dist/{dist-PWSP7TGP.js.map → dist-5OGIQLEZ.js.map} +1 -1
- package/dist/{dist-5GW5WUSJ.cjs → dist-ON3E5YMU.cjs} +20 -20
- package/dist/{dist-5GW5WUSJ.cjs.map → dist-ON3E5YMU.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-agents-a2a.md +115 -88
- package/dist/{observational-memory-SYNXJVL4-CJCHK6QY.cjs → observational-memory-J73GEMRQ-FRFHLHXN.cjs} +26 -26
- package/dist/{observational-memory-SYNXJVL4-CJCHK6QY.cjs.map → observational-memory-J73GEMRQ-FRFHLHXN.cjs.map} +1 -1
- package/dist/{observational-memory-SYNXJVL4-ATVV3WOD.js → observational-memory-J73GEMRQ-KNLGLGBD.js} +3 -3
- package/dist/{observational-memory-SYNXJVL4-ATVV3WOD.js.map → observational-memory-J73GEMRQ-KNLGLGBD.js.map} +1 -1
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +41 -41
- package/dist/server/handlers/agents.d.ts +28 -28
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +11 -11
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/datasets.cjs +26 -26
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/observability-new-endpoints.d.ts +6 -6
- package/dist/server/handlers/processors.d.ts +6 -6
- package/dist/server/handlers/prompt-block-versions.cjs +8 -8
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +7 -7
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +10 -10
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers/workflows.cjs +26 -26
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +29 -29
- package/dist/server/handlers.js +12 -12
- package/dist/server/schemas/agents.d.ts +47 -1191
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +285 -285
- package/dist/server/schemas/index.js +5 -5
- package/dist/server/schemas/processors.d.ts +3 -3
- package/dist/server/server-adapter/index.cjs +34 -34
- package/dist/server/server-adapter/index.js +4 -4
- package/dist/server/server-adapter/routes/observability.d.ts +3 -3
- package/dist/server/server-adapter/routes/processors.d.ts +6 -6
- package/package.json +4 -4
- package/dist/chunk-FLVMO2FZ.js.map +0 -1
- package/dist/chunk-HPSSFPDP.js.map +0 -1
- package/dist/chunk-QZFOSTJU.cjs.map +0 -1
- package/dist/chunk-U2HTITB4.js.map +0 -1
- package/dist/chunk-YSC2EP5G.cjs.map +0 -1
- package/dist/chunk-Z35VW4BM.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunkIIGNRK55_cjs = require('./chunk-IIGNRK55.cjs');
|
|
4
3
|
var chunkF3HP5HM6_cjs = require('./chunk-F3HP5HM6.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
4
|
+
var chunkMEYWNCUV_cjs = require('./chunk-MEYWNCUV.cjs');
|
|
5
|
+
var chunkIIGNRK55_cjs = require('./chunk-IIGNRK55.cjs');
|
|
6
|
+
var chunk3PQSHLG7_cjs = require('./chunk-3PQSHLG7.cjs');
|
|
7
|
+
var chunk3NA22RQ5_cjs = require('./chunk-3NA22RQ5.cjs');
|
|
8
8
|
var chunkAZORAK4H_cjs = require('./chunk-AZORAK4H.cjs');
|
|
9
9
|
var chunkB34S64RC_cjs = require('./chunk-B34S64RC.cjs');
|
|
10
10
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
@@ -52,22 +52,22 @@ var CREATE_CONVERSATION_ROUTE = chunkAZORAK4H_cjs.createRoute({
|
|
|
52
52
|
description: "Creates a new thread-backed conversation for agent-backed Responses API requests",
|
|
53
53
|
tags: ["Responses"],
|
|
54
54
|
requiresAuth: true,
|
|
55
|
-
requiresPermission:
|
|
55
|
+
requiresPermission: chunk3NA22RQ5_cjs.MastraFGAPermissions.AGENTS_CREATE,
|
|
56
56
|
handler: async ({ mastra, requestContext, agent_id, conversation_id, resource_id, title, metadata }) => {
|
|
57
57
|
try {
|
|
58
58
|
if (!mastra) {
|
|
59
59
|
throw new chunk64ITUOXI_cjs.HTTPException(500, { message: "Mastra instance is required for conversations" });
|
|
60
60
|
}
|
|
61
|
-
const agent = await
|
|
61
|
+
const agent = await chunk3PQSHLG7_cjs.getAgentFromSystem({ mastra, agentId: agent_id });
|
|
62
62
|
const memory = await agent.getMemory({ requestContext });
|
|
63
63
|
if (!memory) {
|
|
64
64
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: `Agent "${agent.id}" does not have memory configured` });
|
|
65
65
|
}
|
|
66
|
-
if (!await
|
|
66
|
+
if (!await chunkMEYWNCUV_cjs.getAgentMemoryStore({ agent, requestContext })) {
|
|
67
67
|
throw new chunk64ITUOXI_cjs.HTTPException(400, { message: `Memory storage is not configured for agent "${agent.id}"` });
|
|
68
68
|
}
|
|
69
69
|
const threadId = conversation_id ?? crypto.randomUUID();
|
|
70
|
-
const resourceId =
|
|
70
|
+
const resourceId = chunk3NA22RQ5_cjs.getEffectiveResourceId(requestContext, resource_id) ?? threadId;
|
|
71
71
|
const thread = await memory.createThread({
|
|
72
72
|
threadId,
|
|
73
73
|
resourceId,
|
|
@@ -90,10 +90,10 @@ var GET_CONVERSATION_ROUTE = chunkAZORAK4H_cjs.createRoute({
|
|
|
90
90
|
description: "Returns a conversation object backed by a Mastra memory thread",
|
|
91
91
|
tags: ["Responses"],
|
|
92
92
|
requiresAuth: true,
|
|
93
|
-
requiresPermission:
|
|
93
|
+
requiresPermission: chunk3NA22RQ5_cjs.MastraFGAPermissions.AGENTS_READ,
|
|
94
94
|
handler: async ({ mastra, requestContext, conversationId }) => {
|
|
95
95
|
try {
|
|
96
|
-
const match = await
|
|
96
|
+
const match = await chunkMEYWNCUV_cjs.findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });
|
|
97
97
|
if (!match) {
|
|
98
98
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Conversation ${conversationId} was not found` });
|
|
99
99
|
}
|
|
@@ -113,10 +113,10 @@ var GET_CONVERSATION_ITEMS_ROUTE = chunkAZORAK4H_cjs.createRoute({
|
|
|
113
113
|
description: "Returns OpenAI-style conversation items derived from the stored thread messages",
|
|
114
114
|
tags: ["Responses"],
|
|
115
115
|
requiresAuth: true,
|
|
116
|
-
requiresPermission:
|
|
116
|
+
requiresPermission: chunk3NA22RQ5_cjs.MastraFGAPermissions.AGENTS_READ,
|
|
117
117
|
handler: async ({ mastra, requestContext, conversationId }) => {
|
|
118
118
|
try {
|
|
119
|
-
const match = await
|
|
119
|
+
const match = await chunkMEYWNCUV_cjs.findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });
|
|
120
120
|
if (!match) {
|
|
121
121
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Conversation ${conversationId} was not found` });
|
|
122
122
|
}
|
|
@@ -141,10 +141,10 @@ var DELETE_CONVERSATION_ROUTE = chunkAZORAK4H_cjs.createRoute({
|
|
|
141
141
|
description: "Deletes a thread-backed conversation and its stored items",
|
|
142
142
|
tags: ["Responses"],
|
|
143
143
|
requiresAuth: true,
|
|
144
|
-
requiresPermission:
|
|
144
|
+
requiresPermission: chunk3NA22RQ5_cjs.MastraFGAPermissions.AGENTS_DELETE,
|
|
145
145
|
handler: async ({ mastra, requestContext, conversationId }) => {
|
|
146
146
|
try {
|
|
147
|
-
const match = await
|
|
147
|
+
const match = await chunkMEYWNCUV_cjs.findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });
|
|
148
148
|
if (!match) {
|
|
149
149
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Conversation ${conversationId} was not found` });
|
|
150
150
|
}
|
|
@@ -161,5 +161,5 @@ exports.DELETE_CONVERSATION_ROUTE = DELETE_CONVERSATION_ROUTE;
|
|
|
161
161
|
exports.GET_CONVERSATION_ITEMS_ROUTE = GET_CONVERSATION_ITEMS_ROUTE;
|
|
162
162
|
exports.GET_CONVERSATION_ROUTE = GET_CONVERSATION_ROUTE;
|
|
163
163
|
exports.conversations_exports = conversations_exports;
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
165
|
-
//# sourceMappingURL=chunk-
|
|
164
|
+
//# sourceMappingURL=chunk-IVFIYTLD.cjs.map
|
|
165
|
+
//# sourceMappingURL=chunk-IVFIYTLD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/conversations.ts"],"names":["__export","createRoute","createConversationBodySchema","conversationObjectSchema","MastraFGAPermissions","HTTPException","getAgentFromSystem","getAgentMemoryStore","randomUUID","getEffectiveResourceId","handleError","conversationIdPathParams","findConversationThreadAcrossAgents","conversationItemsListSchema","mapMastraMessagesToConversationItems","conversationDeletedSchema"],"mappings":"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","file":"chunk-KDZIZ3LV.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n conversationDeletedSchema,\n conversationIdPathParams,\n conversationItemsListSchema,\n conversationObjectSchema,\n createConversationBodySchema,\n} from '../schemas/conversations';\nimport type { ConversationDeleted, ConversationItemsList, ConversationObject } from '../schemas/conversations';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { mapMastraMessagesToConversationItems } from './responses.adapter';\nimport { findConversationThreadAcrossAgents, getAgentMemoryStore } from './responses.storage';\nimport { getEffectiveResourceId } from './utils';\n\nfunction buildConversationObject({ thread }: { thread: ConversationObject['thread'] }): ConversationObject {\n return {\n id: thread.id,\n object: 'conversation',\n thread,\n };\n}\n\nfunction buildConversationItemsList(items: ConversationItemsList['data']): ConversationItemsList {\n return {\n object: 'list',\n data: items,\n first_id: items[0]?.id ?? null,\n last_id: items.at(-1)?.id ?? null,\n has_more: false,\n };\n}\n\nfunction buildConversationDeleted(conversationId: string): ConversationDeleted {\n return {\n id: conversationId,\n object: 'conversation.deleted',\n deleted: true,\n };\n}\n\nexport const CREATE_CONVERSATION_ROUTE = createRoute({\n method: 'POST',\n path: '/v1/conversations',\n responseType: 'json',\n bodySchema: createConversationBodySchema,\n responseSchema: conversationObjectSchema,\n summary: 'Create a conversation',\n description: 'Creates a new thread-backed conversation for agent-backed Responses API requests',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_CREATE,\n handler: async ({ mastra, requestContext, agent_id, conversation_id, resource_id, title, metadata }) => {\n try {\n if (!mastra) {\n throw new HTTPException(500, { message: 'Mastra instance is required for conversations' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId: agent_id });\n const memory = await agent.getMemory({ requestContext });\n if (!memory) {\n throw new HTTPException(400, { message: `Agent \"${agent.id}\" does not have memory configured` });\n }\n if (!(await getAgentMemoryStore({ agent, requestContext }))) {\n throw new HTTPException(400, { message: `Memory storage is not configured for agent \"${agent.id}\"` });\n }\n\n const threadId = conversation_id ?? randomUUID();\n const resourceId = getEffectiveResourceId(requestContext, resource_id) ?? threadId;\n const thread = await memory.createThread({\n threadId,\n resourceId,\n title,\n metadata,\n });\n\n return buildConversationObject({ thread });\n } catch (error) {\n return handleError(error, 'Error creating conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationObjectSchema,\n summary: 'Retrieve a conversation',\n description: 'Returns a conversation object backed by a Mastra memory thread',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n return buildConversationObject({ thread: match.thread });\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId/items',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationItemsListSchema,\n summary: 'List conversation items',\n description: 'Returns OpenAI-style conversation items derived from the stored thread messages',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n const { messages } = await match.memoryStore.listMessages({\n threadId: conversationId,\n page: 0,\n perPage: 1000,\n });\n\n return buildConversationItemsList(mapMastraMessagesToConversationItems(messages));\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const DELETE_CONVERSATION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationDeletedSchema,\n summary: 'Delete a conversation',\n description: 'Deletes a thread-backed conversation and its stored items',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_DELETE,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n await match.memoryStore.deleteThread({ threadId: conversationId });\n\n return buildConversationDeleted(conversationId);\n } catch (error) {\n return handleError(error, 'Error deleting conversation');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/handlers/conversations.ts"],"names":["__export","createRoute","createConversationBodySchema","conversationObjectSchema","MastraFGAPermissions","HTTPException","getAgentFromSystem","getAgentMemoryStore","randomUUID","getEffectiveResourceId","handleError","conversationIdPathParams","findConversationThreadAcrossAgents","conversationItemsListSchema","mapMastraMessagesToConversationItems","conversationDeletedSchema"],"mappings":"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","file":"chunk-IVFIYTLD.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\nimport { MastraFGAPermissions } from '../fga-permissions';\nimport { HTTPException } from '../http-exception';\nimport {\n conversationDeletedSchema,\n conversationIdPathParams,\n conversationItemsListSchema,\n conversationObjectSchema,\n createConversationBodySchema,\n} from '../schemas/conversations';\nimport type { ConversationDeleted, ConversationItemsList, ConversationObject } from '../schemas/conversations';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\nimport { mapMastraMessagesToConversationItems } from './responses.adapter';\nimport { findConversationThreadAcrossAgents, getAgentMemoryStore } from './responses.storage';\nimport { getEffectiveResourceId } from './utils';\n\nfunction buildConversationObject({ thread }: { thread: ConversationObject['thread'] }): ConversationObject {\n return {\n id: thread.id,\n object: 'conversation',\n thread,\n };\n}\n\nfunction buildConversationItemsList(items: ConversationItemsList['data']): ConversationItemsList {\n return {\n object: 'list',\n data: items,\n first_id: items[0]?.id ?? null,\n last_id: items.at(-1)?.id ?? null,\n has_more: false,\n };\n}\n\nfunction buildConversationDeleted(conversationId: string): ConversationDeleted {\n return {\n id: conversationId,\n object: 'conversation.deleted',\n deleted: true,\n };\n}\n\nexport const CREATE_CONVERSATION_ROUTE = createRoute({\n method: 'POST',\n path: '/v1/conversations',\n responseType: 'json',\n bodySchema: createConversationBodySchema,\n responseSchema: conversationObjectSchema,\n summary: 'Create a conversation',\n description: 'Creates a new thread-backed conversation for agent-backed Responses API requests',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_CREATE,\n handler: async ({ mastra, requestContext, agent_id, conversation_id, resource_id, title, metadata }) => {\n try {\n if (!mastra) {\n throw new HTTPException(500, { message: 'Mastra instance is required for conversations' });\n }\n\n const agent = await getAgentFromSystem({ mastra, agentId: agent_id });\n const memory = await agent.getMemory({ requestContext });\n if (!memory) {\n throw new HTTPException(400, { message: `Agent \"${agent.id}\" does not have memory configured` });\n }\n if (!(await getAgentMemoryStore({ agent, requestContext }))) {\n throw new HTTPException(400, { message: `Memory storage is not configured for agent \"${agent.id}\"` });\n }\n\n const threadId = conversation_id ?? randomUUID();\n const resourceId = getEffectiveResourceId(requestContext, resource_id) ?? threadId;\n const thread = await memory.createThread({\n threadId,\n resourceId,\n title,\n metadata,\n });\n\n return buildConversationObject({ thread });\n } catch (error) {\n return handleError(error, 'Error creating conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationObjectSchema,\n summary: 'Retrieve a conversation',\n description: 'Returns a conversation object backed by a Mastra memory thread',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n return buildConversationObject({ thread: match.thread });\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const GET_CONVERSATION_ITEMS_ROUTE = createRoute({\n method: 'GET',\n path: '/v1/conversations/:conversationId/items',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationItemsListSchema,\n summary: 'List conversation items',\n description: 'Returns OpenAI-style conversation items derived from the stored thread messages',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_READ,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n const { messages } = await match.memoryStore.listMessages({\n threadId: conversationId,\n page: 0,\n perPage: 1000,\n });\n\n return buildConversationItemsList(mapMastraMessagesToConversationItems(messages));\n } catch (error) {\n return handleError(error, 'Error retrieving conversation');\n }\n },\n});\n\nexport const DELETE_CONVERSATION_ROUTE = createRoute({\n method: 'DELETE',\n path: '/v1/conversations/:conversationId',\n responseType: 'json',\n pathParamSchema: conversationIdPathParams,\n responseSchema: conversationDeletedSchema,\n summary: 'Delete a conversation',\n description: 'Deletes a thread-backed conversation and its stored items',\n tags: ['Responses'],\n requiresAuth: true,\n requiresPermission: MastraFGAPermissions.AGENTS_DELETE,\n handler: async ({ mastra, requestContext, conversationId }) => {\n try {\n const match = await findConversationThreadAcrossAgents({ mastra, conversationId, requestContext });\n if (!match) {\n throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });\n }\n\n await match.memoryStore.deleteThread({ threadId: conversationId });\n\n return buildConversationDeleted(conversationId);\n } catch (error) {\n return handleError(error, 'Error deleting conversation');\n }\n },\n});\n"]}
|
|
@@ -1042,7 +1042,7 @@ function imageSize(input) {
|
|
|
1042
1042
|
throw new TypeError(`unsupported file type: ${type}`);
|
|
1043
1043
|
}
|
|
1044
1044
|
|
|
1045
|
-
// ../memory/dist/chunk-
|
|
1045
|
+
// ../memory/dist/chunk-YNV2E7W6.js
|
|
1046
1046
|
var OM_DEBUG_LOG = process.env.OM_DEBUG ? path.join(process.cwd(), "om-debug.log") : null;
|
|
1047
1047
|
function omDebug(msg) {
|
|
1048
1048
|
if (!OM_DEBUG_LOG) return;
|
|
@@ -3445,7 +3445,12 @@ var ObservationTurn = class {
|
|
|
3445
3445
|
return this._currentStep;
|
|
3446
3446
|
}
|
|
3447
3447
|
/**
|
|
3448
|
-
* Finalize the turn: save any remaining messages and return the
|
|
3448
|
+
* Finalize the turn: save any remaining messages and return the current cached record.
|
|
3449
|
+
*
|
|
3450
|
+
* When async observation buffering is enabled and there are unobserved messages,
|
|
3451
|
+
* a background buffer operation is kicked off so that observations are computed
|
|
3452
|
+
* proactively while the agent is idle, rather than waiting for the next turn.
|
|
3453
|
+
* The returned record does not wait for that background buffering pass to finish.
|
|
3449
3454
|
*/
|
|
3450
3455
|
async end() {
|
|
3451
3456
|
if (this._ended) throw new Error("Turn already ended");
|
|
@@ -3456,6 +3461,24 @@ var ObservationTurn = class {
|
|
|
3456
3461
|
if (unsavedMessages.length > 0) {
|
|
3457
3462
|
await this.om.persistMessages(unsavedMessages, this.threadId, this.resourceId);
|
|
3458
3463
|
}
|
|
3464
|
+
if (this.om.buffering.isAsyncObservationEnabled()) {
|
|
3465
|
+
const allMessages = this.messageList.get.all.db();
|
|
3466
|
+
const record = this._record;
|
|
3467
|
+
const unobservedMessages = this.om.getUnobservedMessages(allMessages, record);
|
|
3468
|
+
if (unobservedMessages.length > 0) {
|
|
3469
|
+
void this.om.buffer({
|
|
3470
|
+
threadId: this.threadId,
|
|
3471
|
+
resourceId: this.resourceId,
|
|
3472
|
+
messages: unobservedMessages,
|
|
3473
|
+
record,
|
|
3474
|
+
writer: this.writer,
|
|
3475
|
+
requestContext: this.requestContext,
|
|
3476
|
+
observabilityContext: this.observabilityContext
|
|
3477
|
+
}).catch((err) => {
|
|
3478
|
+
omDebug(`[OM:turn.end] idle buffer failed: ${err?.message}`);
|
|
3479
|
+
});
|
|
3480
|
+
}
|
|
3481
|
+
}
|
|
3459
3482
|
return { record: this._record };
|
|
3460
3483
|
}
|
|
3461
3484
|
/**
|
|
@@ -4947,13 +4970,11 @@ async function withOmTracingSpan({
|
|
|
4947
4970
|
entityType: observability.EntityType.OUTPUT_STEP_PROCESSOR,
|
|
4948
4971
|
entityName: config.entityName,
|
|
4949
4972
|
tracingContext: observabilityContext?.tracingContext ?? observabilityContext?.tracing,
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
...metadata
|
|
4956
|
-
}
|
|
4973
|
+
metadata: {
|
|
4974
|
+
omPhase: phase,
|
|
4975
|
+
omInputTokens: inputTokens,
|
|
4976
|
+
omSelectedModel: typeof model === "string" ? model : "(dynamic-model)",
|
|
4977
|
+
...metadata
|
|
4957
4978
|
},
|
|
4958
4979
|
requestContext
|
|
4959
4980
|
});
|
|
@@ -10715,5 +10736,5 @@ exports.stripEphemeralAnchorIds = stripEphemeralAnchorIds;
|
|
|
10715
10736
|
exports.stripObservationGroups = stripObservationGroups;
|
|
10716
10737
|
exports.truncateStringByTokens = truncateStringByTokens;
|
|
10717
10738
|
exports.wrapInObservationGroup = wrapInObservationGroup;
|
|
10718
|
-
//# sourceMappingURL=chunk-
|
|
10719
|
-
//# sourceMappingURL=chunk-
|
|
10739
|
+
//# sourceMappingURL=chunk-IXRARW5C.cjs.map
|
|
10740
|
+
//# sourceMappingURL=chunk-IXRARW5C.cjs.map
|