@mastra/server 1.23.0-alpha.2 → 1.23.0-alpha.4
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 +14 -0
- package/dist/{chunk-MNZBZOWQ.cjs → chunk-B2OFZDJQ.cjs} +11 -11
- package/dist/{chunk-MNZBZOWQ.cjs.map → chunk-B2OFZDJQ.cjs.map} +1 -1
- package/dist/{chunk-MFBT6P7Q.js → chunk-DGS7O6Q7.js} +3 -3
- package/dist/{chunk-MFBT6P7Q.js.map → chunk-DGS7O6Q7.js.map} +1 -1
- package/dist/{chunk-O2RWEEZ3.js → chunk-FLGIOJA5.js} +39 -18
- package/dist/chunk-FLGIOJA5.js.map +1 -0
- package/dist/{chunk-Z5ETZUOK.cjs → chunk-HHGZGERI.cjs} +4 -4
- package/dist/{chunk-Z5ETZUOK.cjs.map → chunk-HHGZGERI.cjs.map} +1 -1
- package/dist/{chunk-UZZDH3J2.cjs → chunk-LFZO2LHV.cjs} +5 -2
- package/dist/chunk-LFZO2LHV.cjs.map +1 -0
- package/dist/{chunk-KBG2XGCA.cjs → chunk-PNCR2M6Y.cjs} +39 -18
- package/dist/chunk-PNCR2M6Y.cjs.map +1 -0
- package/dist/{chunk-WGB6F36S.cjs → chunk-RNC7VEI6.cjs} +7 -3
- package/dist/chunk-RNC7VEI6.cjs.map +1 -0
- package/dist/{chunk-27XB5KOK.js → chunk-SE5M6GC6.js} +3 -3
- package/dist/{chunk-27XB5KOK.js.map → chunk-SE5M6GC6.js.map} +1 -1
- package/dist/{chunk-UUDXDJ7K.js → chunk-SZ2FSVP5.js} +5 -5
- package/dist/{chunk-UUDXDJ7K.js.map → chunk-SZ2FSVP5.js.map} +1 -1
- package/dist/{chunk-QJMOCS54.js → chunk-UTRP4B2Q.js} +5 -2
- package/dist/chunk-UTRP4B2Q.js.map +1 -0
- package/dist/{chunk-2HTJTFFI.cjs → chunk-UVK6YXEL.cjs} +119 -112
- package/dist/chunk-UVK6YXEL.cjs.map +1 -0
- package/dist/{chunk-4HARW5AZ.cjs → chunk-VMA5TY4H.cjs} +19 -19
- package/dist/{chunk-4HARW5AZ.cjs.map → chunk-VMA5TY4H.cjs.map} +1 -1
- package/dist/{chunk-H77IQ6X3.js → chunk-VXBTV6LH.js} +7 -3
- package/dist/chunk-VXBTV6LH.js.map +1 -0
- package/dist/{chunk-CUULQ4L3.js → chunk-XUIA3SIB.js} +14 -7
- package/dist/chunk-XUIA3SIB.js.map +1 -0
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-B7AUSTEY-TJ76ZPT6.cjs → observational-memory-JQ34KLFS-CNLSTXO3.cjs} +26 -26
- package/dist/{observational-memory-B7AUSTEY-TJ76ZPT6.cjs.map → observational-memory-JQ34KLFS-CNLSTXO3.cjs.map} +1 -1
- package/dist/{observational-memory-B7AUSTEY-4KDTDMCO.js → observational-memory-JQ34KLFS-KLWGOGP4.js} +3 -3
- package/dist/{observational-memory-B7AUSTEY-4KDTDMCO.js.map → observational-memory-JQ34KLFS-KLWGOGP4.js.map} +1 -1
- package/dist/server/handlers/agent-builder.cjs +16 -16
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/gateway-memory-client.cjs +8 -8
- package/dist/server/handlers/gateway-memory-client.d.ts +3 -0
- package/dist/server/handlers/gateway-memory-client.d.ts.map +1 -1
- package/dist/server/handlers/gateway-memory-client.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.d.ts +8 -0
- package/dist/server/handlers/memory.d.ts.map +1 -1
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers.cjs +6 -6
- package/dist/server/handlers.js +3 -3
- package/dist/server/schemas/index.cjs +50 -50
- package/dist/server/schemas/index.js +2 -2
- package/dist/server/schemas/memory.d.ts +4 -0
- package/dist/server/schemas/memory.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +47 -47
- package/dist/server/server-adapter/index.js +3 -3
- package/dist/server/server-adapter/routes/memory.d.ts +8 -0
- package/dist/server/server-adapter/routes/memory.d.ts.map +1 -1
- package/package.json +6 -6
- package/dist/chunk-2HTJTFFI.cjs.map +0 -1
- package/dist/chunk-CUULQ4L3.js.map +0 -1
- package/dist/chunk-H77IQ6X3.js.map +0 -1
- package/dist/chunk-KBG2XGCA.cjs.map +0 -1
- package/dist/chunk-O2RWEEZ3.js.map +0 -1
- package/dist/chunk-QJMOCS54.js.map +0 -1
- package/dist/chunk-UZZDH3J2.cjs.map +0 -1
- package/dist/chunk-WGB6F36S.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @mastra/server
|
|
2
2
|
|
|
3
|
+
## 1.23.0-alpha.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`fff91cf`](https://github.com/mastra-ai/mastra/commit/fff91cf914de0e731578aacebffdeebef82f0440)]:
|
|
8
|
+
- @mastra/core@1.23.0-alpha.4
|
|
9
|
+
|
|
10
|
+
## 1.23.0-alpha.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`1805ddc`](https://github.com/mastra-ai/mastra/commit/1805ddc9c9b3b14b63749735a13c05a45af43a80)]:
|
|
15
|
+
- @mastra/core@1.23.0-alpha.3
|
|
16
|
+
|
|
3
17
|
## 1.23.0-alpha.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHHGZGERI_cjs = require('./chunk-HHGZGERI.cjs');
|
|
4
4
|
var chunkOJ72T77G_cjs = require('./chunk-OJ72T77G.cjs');
|
|
5
5
|
var chunkEPKGVW45_cjs = require('./chunk-EPKGVW45.cjs');
|
|
6
6
|
var chunkVOCNBP5Q_cjs = require('./chunk-VOCNBP5Q.cjs');
|
|
@@ -46,8 +46,8 @@ var CREATE_CONVERSATION_ROUTE = chunkEGSCXVMR_cjs.createRoute({
|
|
|
46
46
|
method: "POST",
|
|
47
47
|
path: "/v1/conversations",
|
|
48
48
|
responseType: "json",
|
|
49
|
-
bodySchema:
|
|
50
|
-
responseSchema:
|
|
49
|
+
bodySchema: chunkHHGZGERI_cjs.createConversationBodySchema,
|
|
50
|
+
responseSchema: chunkHHGZGERI_cjs.conversationObjectSchema,
|
|
51
51
|
summary: "Create a conversation",
|
|
52
52
|
description: "Creates a new thread-backed conversation for agent-backed Responses API requests",
|
|
53
53
|
tags: ["Responses"],
|
|
@@ -84,8 +84,8 @@ var GET_CONVERSATION_ROUTE = chunkEGSCXVMR_cjs.createRoute({
|
|
|
84
84
|
method: "GET",
|
|
85
85
|
path: "/v1/conversations/:conversationId",
|
|
86
86
|
responseType: "json",
|
|
87
|
-
pathParamSchema:
|
|
88
|
-
responseSchema:
|
|
87
|
+
pathParamSchema: chunkHHGZGERI_cjs.conversationIdPathParams,
|
|
88
|
+
responseSchema: chunkHHGZGERI_cjs.conversationObjectSchema,
|
|
89
89
|
summary: "Retrieve a conversation",
|
|
90
90
|
description: "Returns a conversation object backed by a Mastra memory thread",
|
|
91
91
|
tags: ["Responses"],
|
|
@@ -107,8 +107,8 @@ var GET_CONVERSATION_ITEMS_ROUTE = chunkEGSCXVMR_cjs.createRoute({
|
|
|
107
107
|
method: "GET",
|
|
108
108
|
path: "/v1/conversations/:conversationId/items",
|
|
109
109
|
responseType: "json",
|
|
110
|
-
pathParamSchema:
|
|
111
|
-
responseSchema:
|
|
110
|
+
pathParamSchema: chunkHHGZGERI_cjs.conversationIdPathParams,
|
|
111
|
+
responseSchema: chunkHHGZGERI_cjs.conversationItemsListSchema,
|
|
112
112
|
summary: "List conversation items",
|
|
113
113
|
description: "Returns OpenAI-style conversation items derived from the stored thread messages",
|
|
114
114
|
tags: ["Responses"],
|
|
@@ -135,8 +135,8 @@ var DELETE_CONVERSATION_ROUTE = chunkEGSCXVMR_cjs.createRoute({
|
|
|
135
135
|
method: "DELETE",
|
|
136
136
|
path: "/v1/conversations/:conversationId",
|
|
137
137
|
responseType: "json",
|
|
138
|
-
pathParamSchema:
|
|
139
|
-
responseSchema:
|
|
138
|
+
pathParamSchema: chunkHHGZGERI_cjs.conversationIdPathParams,
|
|
139
|
+
responseSchema: chunkHHGZGERI_cjs.conversationDeletedSchema,
|
|
140
140
|
summary: "Delete a conversation",
|
|
141
141
|
description: "Deletes a thread-backed conversation and its stored items",
|
|
142
142
|
tags: ["Responses"],
|
|
@@ -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-B2OFZDJQ.cjs.map
|
|
165
|
+
//# sourceMappingURL=chunk-B2OFZDJQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/conversations.ts"],"names":["__export","createRoute","createConversationBodySchema","conversationObjectSchema","HTTPException","getAgentFromSystem","getAgentMemoryStore","randomUUID","getEffectiveResourceId","handleError","conversationIdPathParams","findConversationThreadAcrossAgents","conversationItemsListSchema","mapMastraMessagesToConversationItems","conversationDeletedSchema"],"mappings":"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","file":"chunk-MNZBZOWQ.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\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: '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: '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: '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: '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","HTTPException","getAgentFromSystem","getAgentMemoryStore","randomUUID","getEffectiveResourceId","handleError","conversationIdPathParams","findConversationThreadAcrossAgents","conversationItemsListSchema","mapMastraMessagesToConversationItems","conversationDeletedSchema"],"mappings":";;;;;;;;;;;;;;AAAA,IAAA,qBAAA,GAAA;AAAAA,0BAAA,CAAA,qBAAA,EAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,yBAAA,EAAA,MAAA,yBAAA;AAAA,EAAA,4BAAA,EAAA,MAAA,4BAAA;AAAA,EAAA,sBAAA,EAAA,MAAA;AAAA,CAAA,CAAA;AAiBA,SAAS,uBAAA,CAAwB,EAAE,MAAA,EAAO,EAAiE;AACzG,EAAA,OAAO;AAAA,IACL,IAAI,MAAA,CAAO,EAAA;AAAA,IACX,MAAA,EAAQ,cAAA;AAAA,IACR;AAAA,GACF;AACF;AAEA,SAAS,2BAA2B,KAAA,EAA6D;AAC/F,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,MAAA;AAAA,IACR,IAAA,EAAM,KAAA;AAAA,IACN,QAAA,EAAU,KAAA,CAAM,CAAC,CAAA,EAAG,EAAA,IAAM,IAAA;AAAA,IAC1B,OAAA,EAAS,KAAA,CAAM,EAAA,CAAG,EAAE,GAAG,EAAA,IAAM,IAAA;AAAA,IAC7B,QAAA,EAAU;AAAA,GACZ;AACF;AAEA,SAAS,yBAAyB,cAAA,EAA6C;AAC7E,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,cAAA;AAAA,IACJ,MAAA,EAAQ,sBAAA;AAAA,IACR,OAAA,EAAS;AAAA,GACX;AACF;AAEO,IAAM,4BAA4BC,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,MAAA;AAAA,EACR,IAAA,EAAM,mBAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,UAAA,EAAYC,8CAAA;AAAA,EACZ,cAAA,EAAgBC,0CAAA;AAAA,EAChB,OAAA,EAAS,uBAAA;AAAA,EACT,WAAA,EAAa,kFAAA;AAAA,EACb,IAAA,EAAM,CAAC,WAAW,CAAA;AAAA,EAClB,YAAA,EAAc,IAAA;AAAA,EACd,kBAAA,EAAoB,eAAA;AAAA,EACpB,OAAA,EAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,UAAU,eAAA,EAAiB,WAAA,EAAa,KAAA,EAAO,QAAA,EAAS,KAAM;AACtG,IAAA,IAAI;AACF,MAAA,IAAI,CAAC,MAAA,EAAQ;AACX,QAAA,MAAM,IAAIC,+BAAA,CAAc,GAAA,EAAK,EAAE,OAAA,EAAS,iDAAiD,CAAA;AAAA,MAC3F;AAEA,MAAA,MAAM,QAAQ,MAAMC,oCAAA,CAAmB,EAAE,MAAA,EAAQ,OAAA,EAAS,UAAU,CAAA;AACpE,MAAA,MAAM,SAAS,MAAM,KAAA,CAAM,SAAA,CAAU,EAAE,gBAAgB,CAAA;AACvD,MAAA,IAAI,CAAC,MAAA,EAAQ;AACX,QAAA,MAAM,IAAID,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,OAAA,EAAU,KAAA,CAAM,EAAE,CAAA,iCAAA,CAAA,EAAqC,CAAA;AAAA,MACjG;AACA,MAAA,IAAI,CAAE,MAAME,qCAAA,CAAoB,EAAE,KAAA,EAAO,cAAA,EAAgB,CAAA,EAAI;AAC3D,QAAA,MAAM,IAAIF,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,4CAAA,EAA+C,KAAA,CAAM,EAAE,CAAA,CAAA,CAAA,EAAK,CAAA;AAAA,MACtG;AAEA,MAAA,MAAM,QAAA,GAAW,mBAAmBG,iBAAA,EAAW;AAC/C,MAAA,MAAM,UAAA,GAAaC,wCAAA,CAAuB,cAAA,EAAgB,WAAW,CAAA,IAAK,QAAA;AAC1E,MAAA,MAAM,MAAA,GAAS,MAAM,MAAA,CAAO,YAAA,CAAa;AAAA,QACvC,QAAA;AAAA,QACA,UAAA;AAAA,QACA,KAAA;AAAA,QACA;AAAA,OACD,CAAA;AAED,MAAA,OAAO,uBAAA,CAAwB,EAAE,MAAA,EAAQ,CAAA;AAAA,IAC3C,SAAS,KAAA,EAAO;AACd,MAAA,OAAOC,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC;AAEM,IAAM,yBAAyBR,6BAAA,CAAY;AAAA,EAChD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,mCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBS,0CAAA;AAAA,EACjB,cAAA,EAAgBP,0CAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,gEAAA;AAAA,EACb,IAAA,EAAM,CAAC,WAAW,CAAA;AAAA,EAClB,YAAA,EAAc,IAAA;AAAA,EACd,kBAAA,EAAoB,aAAA;AAAA,EACpB,SAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,gBAAe,KAAM;AAC7D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAMQ,oDAAA,CAAmC,EAAE,MAAA,EAAQ,cAAA,EAAgB,gBAAgB,CAAA;AACjG,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAIP,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,aAAA,EAAgB,cAAc,kBAAkB,CAAA;AAAA,MAC1F;AAEA,MAAA,OAAO,uBAAA,CAAwB,EAAE,MAAA,EAAQ,KAAA,CAAM,QAAQ,CAAA;AAAA,IACzD,SAAS,KAAA,EAAO;AACd,MAAA,OAAOK,6BAAA,CAAY,OAAO,+BAA+B,CAAA;AAAA,IAC3D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,+BAA+BR,6BAAA,CAAY;AAAA,EACtD,MAAA,EAAQ,KAAA;AAAA,EACR,IAAA,EAAM,yCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBS,0CAAA;AAAA,EACjB,cAAA,EAAgBE,6CAAA;AAAA,EAChB,OAAA,EAAS,yBAAA;AAAA,EACT,WAAA,EAAa,iFAAA;AAAA,EACb,IAAA,EAAM,CAAC,WAAW,CAAA;AAAA,EAClB,YAAA,EAAc,IAAA;AAAA,EACd,kBAAA,EAAoB,aAAA;AAAA,EACpB,SAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,gBAAe,KAAM;AAC7D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAMD,oDAAA,CAAmC,EAAE,MAAA,EAAQ,cAAA,EAAgB,gBAAgB,CAAA;AACjG,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAIP,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,aAAA,EAAgB,cAAc,kBAAkB,CAAA;AAAA,MAC1F;AAEA,MAAA,MAAM,EAAE,QAAA,EAAS,GAAI,MAAM,KAAA,CAAM,YAAY,YAAA,CAAa;AAAA,QACxD,QAAA,EAAU,cAAA;AAAA,QACV,IAAA,EAAM,CAAA;AAAA,QACN,OAAA,EAAS;AAAA,OACV,CAAA;AAED,MAAA,OAAO,0BAAA,CAA2BS,sDAAA,CAAqC,QAAQ,CAAC,CAAA;AAAA,IAClF,SAAS,KAAA,EAAO;AACd,MAAA,OAAOJ,6BAAA,CAAY,OAAO,+BAA+B,CAAA;AAAA,IAC3D;AAAA,EACF;AACF,CAAC;AAEM,IAAM,4BAA4BR,6BAAA,CAAY;AAAA,EACnD,MAAA,EAAQ,QAAA;AAAA,EACR,IAAA,EAAM,mCAAA;AAAA,EACN,YAAA,EAAc,MAAA;AAAA,EACd,eAAA,EAAiBS,0CAAA;AAAA,EACjB,cAAA,EAAgBI,2CAAA;AAAA,EAChB,OAAA,EAAS,uBAAA;AAAA,EACT,WAAA,EAAa,2DAAA;AAAA,EACb,IAAA,EAAM,CAAC,WAAW,CAAA;AAAA,EAClB,YAAA,EAAc,IAAA;AAAA,EACd,kBAAA,EAAoB,eAAA;AAAA,EACpB,SAAS,OAAO,EAAE,MAAA,EAAQ,cAAA,EAAgB,gBAAe,KAAM;AAC7D,IAAA,IAAI;AACF,MAAA,MAAM,QAAQ,MAAMH,oDAAA,CAAmC,EAAE,MAAA,EAAQ,cAAA,EAAgB,gBAAgB,CAAA;AACjG,MAAA,IAAI,CAAC,KAAA,EAAO;AACV,QAAA,MAAM,IAAIP,gCAAc,GAAA,EAAK,EAAE,SAAS,CAAA,aAAA,EAAgB,cAAc,kBAAkB,CAAA;AAAA,MAC1F;AAEA,MAAA,MAAM,MAAM,WAAA,CAAY,YAAA,CAAa,EAAE,QAAA,EAAU,gBAAgB,CAAA;AAEjE,MAAA,OAAO,yBAAyB,cAAc,CAAA;AAAA,IAChD,SAAS,KAAA,EAAO;AACd,MAAA,OAAOK,6BAAA,CAAY,OAAO,6BAA6B,CAAA;AAAA,IACzD;AAAA,EACF;AACF,CAAC","file":"chunk-B2OFZDJQ.cjs","sourcesContent":["import { randomUUID } from 'node:crypto';\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: '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: '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: '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: '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,5 +1,5 @@
|
|
|
1
1
|
import { conversationItemSchema } from './chunk-7TKB6WYH.js';
|
|
2
|
-
import { getThreadByIdResponseSchema } from './chunk-
|
|
2
|
+
import { getThreadByIdResponseSchema } from './chunk-VXBTV6LH.js';
|
|
3
3
|
import z from 'zod';
|
|
4
4
|
|
|
5
5
|
var conversationIdPathParams = z.object({
|
|
@@ -31,5 +31,5 @@ var conversationItemsListSchema = z.object({
|
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
export { conversationDeletedSchema, conversationIdPathParams, conversationItemsListSchema, conversationObjectSchema, createConversationBodySchema };
|
|
34
|
-
//# sourceMappingURL=chunk-
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
34
|
+
//# sourceMappingURL=chunk-DGS7O6Q7.js.map
|
|
35
|
+
//# sourceMappingURL=chunk-DGS7O6Q7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/schemas/conversations.ts"],"names":[],"mappings":";;;;AAIO,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C;AACrF,CAAC;AAEM,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACtF,iBAAiB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACrG,aAAa,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC;AAIM,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAChC,MAAA,EAAQ;AACV,CAAC;AAEM,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACxC,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,IAAI;AACzB,CAAC;AAEM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACxB,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,EACpC,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAU,EAAE,OAAA;AACd,CAAC","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/conversations.ts"],"names":[],"mappings":";;;;AAIO,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,cAAA,EAAgB,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C;AACrF,CAAC;AAEM,IAAM,4BAAA,GAA+B,EAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACtF,iBAAiB,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACrG,aAAa,CAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,KAAA,EAAO,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,QAAA,EAAU,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,MAAA,IAAU,CAAA,CAAE,OAAA,EAAS,CAAA,CAAE,QAAA;AAC9C,CAAC;AAIM,IAAM,wBAAA,GAA2B,EAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EAChC,MAAA,EAAQ;AACV,CAAC;AAEM,IAAM,yBAAA,GAA4B,EAAE,MAAA,CAAO;AAAA,EAChD,EAAA,EAAI,EAAE,MAAA,EAAO;AAAA,EACb,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EACxC,OAAA,EAAS,CAAA,CAAE,OAAA,CAAQ,IAAI;AACzB,CAAC;AAEM,IAAM,2BAAA,GAA8B,EAAE,MAAA,CAAO;AAAA,EAClD,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EACxB,IAAA,EAAM,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,EACpC,QAAA,EAAU,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC9B,OAAA,EAAS,CAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAU,EAAE,OAAA;AACd,CAAC","file":"chunk-DGS7O6Q7.js","sourcesContent":["import z from 'zod';\nimport { getThreadByIdResponseSchema } from './memory';\nimport { conversationItemSchema } from './responses';\n\nexport const conversationIdPathParams = z.object({\n conversationId: z.string().describe('Unique identifier for the conversation thread'),\n});\n\nexport const createConversationBodySchema = z.object({\n agent_id: z.string().describe('Mastra agent ID used to create the conversation thread'),\n conversation_id: z.string().optional().describe('Optional conversation ID to use as the raw threadId'),\n resource_id: z.string().optional().describe('Optional resource ID to associate with the conversation'),\n title: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nexport type CreateConversationBody = z.infer<typeof createConversationBodySchema>;\n\nexport const conversationObjectSchema = z.object({\n id: z.string(),\n object: z.literal('conversation'),\n thread: getThreadByIdResponseSchema,\n});\n\nexport const conversationDeletedSchema = z.object({\n id: z.string(),\n object: z.literal('conversation.deleted'),\n deleted: z.literal(true),\n});\n\nexport const conversationItemsListSchema = z.object({\n object: z.literal('list'),\n data: z.array(conversationItemSchema),\n first_id: z.string().nullable(),\n last_id: z.string().nullable(),\n has_more: z.boolean(),\n});\n\nexport type ConversationObject = z.infer<typeof conversationObjectSchema>;\nexport type ConversationItemsList = z.infer<typeof conversationItemsListSchema>;\nexport type ConversationDeleted = z.infer<typeof conversationDeletedSchema>;\n"]}
|
|
@@ -1954,7 +1954,7 @@ var ObservationStrategy = class _ObservationStrategy {
|
|
|
1954
1954
|
static create;
|
|
1955
1955
|
/**
|
|
1956
1956
|
* Run the full observation lifecycle.
|
|
1957
|
-
* @returns `
|
|
1957
|
+
* @returns Result with `observed` flag and optional `usage` from the observer LLM call.
|
|
1958
1958
|
* @throws On sync/resource-scoped observer failure after failed markers (same as pre–Option-A contract).
|
|
1959
1959
|
*/
|
|
1960
1960
|
async run() {
|
|
@@ -1964,7 +1964,7 @@ var ObservationStrategy = class _ObservationStrategy {
|
|
|
1964
1964
|
if (this.needsLock) {
|
|
1965
1965
|
const fresh = await this.storage.getObservationalMemory(record.threadId, record.resourceId);
|
|
1966
1966
|
if (fresh?.lastObservedAt && record.lastObservedAt && fresh.lastObservedAt > record.lastObservedAt) {
|
|
1967
|
-
return false;
|
|
1967
|
+
return { observed: false };
|
|
1968
1968
|
}
|
|
1969
1969
|
}
|
|
1970
1970
|
const { messages, existingObservations } = await this.prepare();
|
|
@@ -1985,7 +1985,7 @@ var ObservationStrategy = class _ObservationStrategy {
|
|
|
1985
1985
|
observabilityContext: this.opts.observabilityContext
|
|
1986
1986
|
});
|
|
1987
1987
|
}
|
|
1988
|
-
return true;
|
|
1988
|
+
return { observed: true, usage: output.usage };
|
|
1989
1989
|
} catch (error) {
|
|
1990
1990
|
await this.emitFailedMarkers(cycleId, error);
|
|
1991
1991
|
if (!this.rethrowOnFailure) {
|
|
@@ -2004,7 +2004,7 @@ var ObservationStrategy = class _ObservationStrategy {
|
|
|
2004
2004
|
});
|
|
2005
2005
|
if (abortSignal?.aborted) throw error;
|
|
2006
2006
|
omError("[OM] Observation failed", error);
|
|
2007
|
-
return false;
|
|
2007
|
+
return { observed: false };
|
|
2008
2008
|
}
|
|
2009
2009
|
omError("[OM] Observation failed", error);
|
|
2010
2010
|
throw error;
|
|
@@ -5188,7 +5188,7 @@ var ReflectorRunner = class {
|
|
|
5188
5188
|
/**
|
|
5189
5189
|
* Start an async buffered reflection in the background.
|
|
5190
5190
|
*/
|
|
5191
|
-
startAsyncBufferedReflection(record, observationTokens, lockKey, writer, requestContext, observabilityContext) {
|
|
5191
|
+
startAsyncBufferedReflection(record, observationTokens, lockKey, writer, requestContext, observabilityContext, reflectionHooks) {
|
|
5192
5192
|
const bufferKey = this.buffering.getReflectionBufferKey(lockKey);
|
|
5193
5193
|
if (this.buffering.isAsyncBufferingInProgress(bufferKey)) {
|
|
5194
5194
|
return;
|
|
@@ -5198,7 +5198,10 @@ var ReflectorRunner = class {
|
|
|
5198
5198
|
this.storage.setBufferingReflectionFlag(record.id, true).catch((err) => {
|
|
5199
5199
|
omError("[OM] Failed to set buffering reflection flag", err);
|
|
5200
5200
|
});
|
|
5201
|
-
|
|
5201
|
+
reflectionHooks?.onReflectionStart?.();
|
|
5202
|
+
const asyncOp = this.doAsyncBufferedReflection(record, bufferKey, writer, requestContext, observabilityContext).then((usage) => {
|
|
5203
|
+
reflectionHooks?.onReflectionEnd?.({ usage });
|
|
5204
|
+
}).catch(async (error) => {
|
|
5202
5205
|
if (writer) {
|
|
5203
5206
|
const failedMarker = createBufferingFailedMarker({
|
|
5204
5207
|
cycleId: `reflect-buf-${Date.now()}-${Math.random().toString(36).slice(2, 11)}`,
|
|
@@ -5214,6 +5217,10 @@ var ReflectorRunner = class {
|
|
|
5214
5217
|
await this.persistMarkerToStorage(failedMarker, record.threadId ?? "", record.resourceId ?? void 0);
|
|
5215
5218
|
}
|
|
5216
5219
|
omError("[OM] Async buffered reflection failed", error);
|
|
5220
|
+
reflectionHooks?.onReflectionEnd?.({
|
|
5221
|
+
usage: void 0,
|
|
5222
|
+
error: error instanceof Error ? error : new Error(String(error))
|
|
5223
|
+
});
|
|
5217
5224
|
BufferingCoordinator.lastBufferedBoundary.delete(bufferKey);
|
|
5218
5225
|
}).finally(() => {
|
|
5219
5226
|
BufferingCoordinator.asyncBufferingOps.delete(bufferKey);
|
|
@@ -5307,6 +5314,7 @@ var ReflectorRunner = class {
|
|
|
5307
5314
|
});
|
|
5308
5315
|
await this.persistMarkerToStorage(endMarker, currentRecord.threadId ?? "", currentRecord.resourceId ?? void 0);
|
|
5309
5316
|
}
|
|
5317
|
+
return reflectResult.usage;
|
|
5310
5318
|
}
|
|
5311
5319
|
/**
|
|
5312
5320
|
* Try to activate buffered reflection when threshold is reached.
|
|
@@ -5427,7 +5435,8 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
5427
5435
|
lockKey,
|
|
5428
5436
|
writer,
|
|
5429
5437
|
requestContext,
|
|
5430
|
-
observabilityContext
|
|
5438
|
+
observabilityContext,
|
|
5439
|
+
reflectionHooks
|
|
5431
5440
|
);
|
|
5432
5441
|
}
|
|
5433
5442
|
}
|
|
@@ -5461,7 +5470,8 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
5461
5470
|
lockKey,
|
|
5462
5471
|
writer,
|
|
5463
5472
|
requestContext,
|
|
5464
|
-
observabilityContext
|
|
5473
|
+
observabilityContext,
|
|
5474
|
+
reflectionHooks
|
|
5465
5475
|
);
|
|
5466
5476
|
return;
|
|
5467
5477
|
}
|
|
@@ -5500,6 +5510,8 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
5500
5510
|
recordId: record.id,
|
|
5501
5511
|
threadId
|
|
5502
5512
|
} : void 0;
|
|
5513
|
+
let reflectionUsage;
|
|
5514
|
+
let reflectionError;
|
|
5503
5515
|
try {
|
|
5504
5516
|
const compressionStartLevel = await this.getCompressionStartLevel(requestContext);
|
|
5505
5517
|
const reflectResult = await this.call(
|
|
@@ -5513,6 +5525,7 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
5513
5525
|
requestContext,
|
|
5514
5526
|
observabilityContext
|
|
5515
5527
|
);
|
|
5528
|
+
reflectionUsage = reflectResult.usage;
|
|
5516
5529
|
const reflectionTokenCount = this.tokenCounter.countObservations(reflectResult.observations);
|
|
5517
5530
|
await this.storage.createReflectionGeneration({
|
|
5518
5531
|
currentRecord: record,
|
|
@@ -5557,13 +5570,14 @@ ${unreflectedContent}` : freshRecord.bufferedReflection;
|
|
|
5557
5570
|
await writer.custom(failedMarker).catch(() => {
|
|
5558
5571
|
});
|
|
5559
5572
|
}
|
|
5573
|
+
reflectionError = error instanceof Error ? error : new Error(String(error));
|
|
5560
5574
|
if (abortSignal?.aborted) {
|
|
5561
5575
|
throw error;
|
|
5562
5576
|
}
|
|
5563
5577
|
omError("[OM] Reflection failed", error);
|
|
5564
5578
|
} finally {
|
|
5565
5579
|
await this.storage.setReflectingFlag(record.id, false);
|
|
5566
|
-
reflectionHooks?.onReflectionEnd?.();
|
|
5580
|
+
reflectionHooks?.onReflectionEnd?.({ usage: reflectionUsage, error: reflectionError });
|
|
5567
5581
|
unregisterOp(record.id, "reflecting");
|
|
5568
5582
|
}
|
|
5569
5583
|
}
|
|
@@ -8906,6 +8920,7 @@ ${grouped}` : grouped;
|
|
|
8906
8920
|
const lockKey = this.buffering.getLockKey(threadId, resourceId);
|
|
8907
8921
|
const reflectionHooks = hooks ? { onReflectionStart: hooks.onReflectionStart, onReflectionEnd: hooks.onReflectionEnd } : void 0;
|
|
8908
8922
|
let observed = false;
|
|
8923
|
+
let observationUsage;
|
|
8909
8924
|
let generationBefore = -1;
|
|
8910
8925
|
await this.withLock(lockKey, async () => {
|
|
8911
8926
|
const freshRecord = await this.getOrCreateRecord(threadId, resourceId);
|
|
@@ -8922,8 +8937,9 @@ ${grouped}` : grouped;
|
|
|
8922
8937
|
return;
|
|
8923
8938
|
}
|
|
8924
8939
|
hooks?.onObservationStart?.();
|
|
8940
|
+
let observationError;
|
|
8925
8941
|
try {
|
|
8926
|
-
|
|
8942
|
+
const result = await ObservationStrategy.create(this, {
|
|
8927
8943
|
record: freshRecord,
|
|
8928
8944
|
threadId,
|
|
8929
8945
|
resourceId,
|
|
@@ -8933,8 +8949,13 @@ ${grouped}` : grouped;
|
|
|
8933
8949
|
writer: opts.writer,
|
|
8934
8950
|
observabilityContext: opts.observabilityContext
|
|
8935
8951
|
}).run();
|
|
8952
|
+
observed = result.observed;
|
|
8953
|
+
observationUsage = result.usage;
|
|
8954
|
+
} catch (error) {
|
|
8955
|
+
observationError = error instanceof Error ? error : new Error(String(error));
|
|
8956
|
+
throw error;
|
|
8936
8957
|
} finally {
|
|
8937
|
-
hooks?.onObservationEnd?.();
|
|
8958
|
+
hooks?.onObservationEnd?.({ usage: observationUsage, error: observationError });
|
|
8938
8959
|
}
|
|
8939
8960
|
});
|
|
8940
8961
|
const record = await this.getOrCreateRecord(threadId, resourceId);
|
|
@@ -8955,7 +8976,7 @@ ${grouped}` : grouped;
|
|
|
8955
8976
|
async reflect(threadId, resourceId, prompt, requestContext, observabilityContext) {
|
|
8956
8977
|
const record = await this.getOrCreateRecord(threadId, resourceId);
|
|
8957
8978
|
if (!record.activeObservations) {
|
|
8958
|
-
return { reflected: false, record };
|
|
8979
|
+
return { reflected: false, record, usage: void 0 };
|
|
8959
8980
|
}
|
|
8960
8981
|
await this.storage.setReflectingFlag(record.id, true);
|
|
8961
8982
|
registerOp(record.id, "reflecting");
|
|
@@ -8980,11 +9001,11 @@ ${grouped}` : grouped;
|
|
|
8980
9001
|
tokenCount: reflectionTokenCount
|
|
8981
9002
|
});
|
|
8982
9003
|
const updatedRecord = await this.getOrCreateRecord(threadId, resourceId);
|
|
8983
|
-
return { reflected: true, record: updatedRecord };
|
|
9004
|
+
return { reflected: true, record: updatedRecord, usage: reflectResult.usage };
|
|
8984
9005
|
} catch (error) {
|
|
8985
9006
|
omError("[OM] reflect() failed", error);
|
|
8986
9007
|
const latestRecord = await this.getOrCreateRecord(threadId, resourceId);
|
|
8987
|
-
return { reflected: false, record: latestRecord };
|
|
9008
|
+
return { reflected: false, record: latestRecord, usage: void 0 };
|
|
8988
9009
|
} finally {
|
|
8989
9010
|
await this.storage.setReflectingFlag(record.id, false);
|
|
8990
9011
|
unregisterOp(record.id, "reflecting");
|
|
@@ -9008,9 +9029,9 @@ ${grouped}` : grouped;
|
|
|
9008
9029
|
/**
|
|
9009
9030
|
* Get observation history (previous generations)
|
|
9010
9031
|
*/
|
|
9011
|
-
async getHistory(threadId, resourceId, limit) {
|
|
9032
|
+
async getHistory(threadId, resourceId, limit, options) {
|
|
9012
9033
|
const ids = this.getStorageIds(threadId, resourceId);
|
|
9013
|
-
return this.storage.getObservationalMemoryHistory(ids.threadId, ids.resourceId, limit);
|
|
9034
|
+
return this.storage.getObservationalMemoryHistory(ids.threadId, ids.resourceId, limit, options);
|
|
9014
9035
|
}
|
|
9015
9036
|
/**
|
|
9016
9037
|
* Clear all memory for a specific thread/resource
|
|
@@ -9552,5 +9573,5 @@ function getObservationsAsOf(activeObservations, asOf) {
|
|
|
9552
9573
|
}
|
|
9553
9574
|
|
|
9554
9575
|
export { ModelByInputTokens, OBSERVER_SYSTEM_PROMPT, ObservationalMemory, ObservationalMemoryProcessor, TokenCounter, buildObserverPrompt, buildObserverSystemPrompt, combineObservationGroupRanges, deriveObservationGroupProvenance, e, estimateTokenCount, extractCurrentTask, formatMessagesForObserver, formatToolResultForObserver, getObservationsAsOf, hasCurrentTaskSection, injectAnchorIds, optimizeObservationsForContext, parseAnchorId, parseObservationGroups, parseObserverOutput, reconcileObservationGroupsFromReflection, renderObservationGroupsForReflection, resolveToolResultValue, stripEphemeralAnchorIds, stripObservationGroups, truncateStringByTokens, wrapInObservationGroup };
|
|
9555
|
-
//# sourceMappingURL=chunk-
|
|
9556
|
-
//# sourceMappingURL=chunk-
|
|
9576
|
+
//# sourceMappingURL=chunk-FLGIOJA5.js.map
|
|
9577
|
+
//# sourceMappingURL=chunk-FLGIOJA5.js.map
|