@mastra/server 1.51.0-alpha.6 → 1.51.0-alpha.7
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 +35 -0
- package/dist/{api-schema-manifest-BCLG3S2X.cjs → api-schema-manifest-DE2A4RUM.cjs} +4 -4
- package/dist/{api-schema-manifest-BCLG3S2X.cjs.map → api-schema-manifest-DE2A4RUM.cjs.map} +1 -1
- package/dist/{api-schema-manifest-KG6HIYJ2.js → api-schema-manifest-ZBRJBFSL.js} +3 -3
- package/dist/{api-schema-manifest-KG6HIYJ2.js.map → api-schema-manifest-ZBRJBFSL.js.map} +1 -1
- package/dist/{chunk-IBQEWSL2.cjs → chunk-23RSJYON.cjs} +3 -3
- package/dist/{chunk-IBQEWSL2.cjs.map → chunk-23RSJYON.cjs.map} +1 -1
- package/dist/{chunk-LQZHT5U7.js → chunk-AGMARPDG.js} +3 -3
- package/dist/{chunk-LQZHT5U7.js.map → chunk-AGMARPDG.js.map} +1 -1
- package/dist/{chunk-4NAFUTJI.cjs → chunk-AHFEQVIO.cjs} +38 -38
- package/dist/{chunk-4NAFUTJI.cjs.map → chunk-AHFEQVIO.cjs.map} +1 -1
- package/dist/{chunk-VTA32BYJ.cjs → chunk-D43AYAW2.cjs} +107 -67
- package/dist/chunk-D43AYAW2.cjs.map +1 -0
- package/dist/{chunk-IYKBTTYT.cjs → chunk-JEODNH6U.cjs} +90 -90
- package/dist/{chunk-IYKBTTYT.cjs.map → chunk-JEODNH6U.cjs.map} +1 -1
- package/dist/{chunk-NCHOAORF.cjs → chunk-KDS5H7AE.cjs} +5 -5
- package/dist/{chunk-NCHOAORF.cjs.map → chunk-KDS5H7AE.cjs.map} +1 -1
- package/dist/{chunk-47PVLKIL.cjs → chunk-LXWMMOJ4.cjs} +2 -2
- package/dist/{chunk-47PVLKIL.cjs.map → chunk-LXWMMOJ4.cjs.map} +1 -1
- package/dist/{chunk-LPT77UR6.js → chunk-MG3WOQQQ.js} +2 -2
- package/dist/{chunk-LPT77UR6.js.map → chunk-MG3WOQQQ.js.map} +1 -1
- package/dist/{chunk-3QVZXWIE.cjs → chunk-NLXGN2IS.cjs} +2 -2
- package/dist/chunk-NLXGN2IS.cjs.map +1 -0
- package/dist/{chunk-3KAKK4VV.js → chunk-OQ7KYSC2.js} +3 -3
- package/dist/{chunk-3KAKK4VV.js.map → chunk-OQ7KYSC2.js.map} +1 -1
- package/dist/{chunk-H3BXLXXW.cjs → chunk-Q2YBCG65.cjs} +3 -3
- package/dist/{chunk-H3BXLXXW.cjs.map → chunk-Q2YBCG65.cjs.map} +1 -1
- package/dist/{chunk-SB3YYDCD.js → chunk-STNV4TYH.js} +107 -67
- package/dist/chunk-STNV4TYH.js.map +1 -0
- package/dist/{chunk-PMGFP7II.cjs → chunk-THQZFNHO.cjs} +10 -10
- package/dist/{chunk-PMGFP7II.cjs.map → chunk-THQZFNHO.cjs.map} +1 -1
- package/dist/{chunk-CB3IBAR2.js → chunk-VQG4INIR.js} +5 -5
- package/dist/{chunk-CB3IBAR2.js.map → chunk-VQG4INIR.js.map} +1 -1
- package/dist/{chunk-JEFGF2F5.js → chunk-VYK2C6R3.js} +2 -2
- package/dist/chunk-VYK2C6R3.js.map +1 -0
- package/dist/{chunk-JK3W6FO7.js → chunk-XEH32VCJ.js} +3 -3
- package/dist/{chunk-JK3W6FO7.js.map → chunk-XEH32VCJ.js.map} +1 -1
- package/dist/{chunk-HFJIIPAD.js → chunk-YCLZZVA2.js} +3 -3
- package/dist/{chunk-HFJIIPAD.js.map → chunk-YCLZZVA2.js.map} +1 -1
- package/dist/{chunk-HF3RNFJN.js → chunk-ZKMXVDVF.js} +7 -7
- package/dist/{chunk-HF3RNFJN.js.map → chunk-ZKMXVDVF.js.map} +1 -1
- package/dist/{dist-53MHW3NX.js → dist-F5OVWHJA.js} +3 -3
- package/dist/{dist-53MHW3NX.js.map → dist-F5OVWHJA.js.map} +1 -1
- package/dist/{dist-N3JU7LHJ.cjs → dist-LB6ETLLY.cjs} +4 -4
- package/dist/{dist-N3JU7LHJ.cjs.map → dist-LB6ETLLY.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-GAYCVM5R-DHBARU7H.cjs → observational-memory-E73XGPDT-JT3TMD3Y.cjs} +29 -29
- package/dist/{observational-memory-GAYCVM5R-DHBARU7H.cjs.map → observational-memory-E73XGPDT-JT3TMD3Y.cjs.map} +1 -1
- package/dist/{observational-memory-GAYCVM5R-47CI5MFB.js → observational-memory-E73XGPDT-ZSNLC7FW.js} +3 -3
- package/dist/{observational-memory-GAYCVM5R-47CI5MFB.js.map → observational-memory-E73XGPDT-ZSNLC7FW.js.map} +1 -1
- package/dist/server/handlers/agent-builder.cjs +17 -17
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-controller.cjs +35 -35
- package/dist/server/handlers/agent-controller.d.ts +203 -82
- package/dist/server/handlers/agent-controller.d.ts.map +1 -1
- package/dist/server/handlers/agent-controller.js +1 -1
- package/dist/server/handlers/gateway-memory-client.cjs +8 -8
- package/dist/server/handlers/gateway-memory-client.d.ts +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.js +1 -1
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/voice.cjs +8 -8
- package/dist/server/handlers/voice.js +1 -1
- package/dist/server/handlers.cjs +6 -6
- package/dist/server/handlers.js +3 -3
- package/dist/server/schemas/index.cjs +7 -7
- package/dist/server/schemas/index.js +1 -1
- package/dist/server/server-adapter/index.cjs +13 -13
- package/dist/server/server-adapter/index.js +2 -2
- package/package.json +4 -4
- package/dist/chunk-3QVZXWIE.cjs.map +0 -1
- package/dist/chunk-JEFGF2F5.js.map +0 -1
- package/dist/chunk-SB3YYDCD.js.map +0 -1
- package/dist/chunk-VTA32BYJ.cjs.map +0 -1
|
@@ -15,15 +15,19 @@ function getAgentControllerOrThrow(mastra, controllerId) {
|
|
|
15
15
|
}
|
|
16
16
|
return controller;
|
|
17
17
|
}
|
|
18
|
-
async function getSession(controller, resourceId,
|
|
18
|
+
async function getSession(controller, resourceId, options) {
|
|
19
19
|
await controller.init();
|
|
20
|
-
|
|
20
|
+
const { tags, scope } = options ?? {};
|
|
21
|
+
const id = scope ? `${resourceId}::${scope}` : resourceId;
|
|
22
|
+
return controller.createSession({ resourceId, id, ownerId: controller.id, tags, scope });
|
|
21
23
|
}
|
|
22
24
|
var controllerIdPathParams = v4.z.object({ controllerId: v4.z.string() });
|
|
23
25
|
var sessionPathParams = v4.z.object({ controllerId: v4.z.string(), resourceId: v4.z.string() });
|
|
26
|
+
var sessionScopeQuerySchema = v4.z.object({ sessionScope: v4.z.string().optional() });
|
|
24
27
|
var createSessionBodySchema = v4.z.object({
|
|
25
28
|
resourceId: v4.z.string(),
|
|
26
|
-
tags: v4.z.record(v4.z.string(), v4.z.string()).optional()
|
|
29
|
+
tags: v4.z.record(v4.z.string(), v4.z.string()).optional(),
|
|
30
|
+
sessionScope: v4.z.string().optional()
|
|
27
31
|
});
|
|
28
32
|
var sendMessageBodySchema = v4.z.object({ message: v4.z.string() });
|
|
29
33
|
var steerBodySchema = v4.z.object({ message: v4.z.string() });
|
|
@@ -52,9 +56,10 @@ var cloneThreadBodySchema = v4.z.object({
|
|
|
52
56
|
sourceThreadId: v4.z.string().optional(),
|
|
53
57
|
title: v4.z.string().optional()
|
|
54
58
|
});
|
|
55
|
-
var listMessagesQuerySchema = v4.z.object({ limit: v4.z.coerce.number().optional() });
|
|
59
|
+
var listMessagesQuerySchema = v4.z.object({ limit: v4.z.coerce.number().optional(), sessionScope: v4.z.string().optional() });
|
|
56
60
|
var listThreadsQuerySchema = v4.z.object({
|
|
57
61
|
limit: v4.z.coerce.number().optional(),
|
|
62
|
+
sessionScope: v4.z.string().optional(),
|
|
58
63
|
tags: v4.z.preprocess((value) => {
|
|
59
64
|
if (typeof value !== "string" || value.length === 0) return void 0;
|
|
60
65
|
try {
|
|
@@ -111,6 +116,8 @@ var sessionStateResponseSchema = v4.z.object({
|
|
|
111
116
|
threadId: v4.z.string().optional(),
|
|
112
117
|
modeId: v4.z.string(),
|
|
113
118
|
modelId: v4.z.string(),
|
|
119
|
+
/** Whether the agent is currently executing a run (for initial UI hydration). */
|
|
120
|
+
running: v4.z.boolean().optional(),
|
|
114
121
|
omProgress: omProgressSummarySchema.optional(),
|
|
115
122
|
tokenUsage: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
|
|
116
123
|
settings: sessionSettingsSchema.optional()
|
|
@@ -125,7 +132,9 @@ var listThreadsResponseSchema = v4.z.object({
|
|
|
125
132
|
title: v4.z.string().optional(),
|
|
126
133
|
updatedAt: v4.z.string().optional(),
|
|
127
134
|
/** The session scoping tags stamped on this thread (e.g. `{ projectPath }`). */
|
|
128
|
-
tags: v4.z.record(v4.z.string(), v4.z.string()).optional()
|
|
135
|
+
tags: v4.z.record(v4.z.string(), v4.z.string()).optional(),
|
|
136
|
+
/** Whether a run is currently executing on this thread ('active') or not ('idle'). */
|
|
137
|
+
state: v4.z.enum(["active", "idle"]).optional()
|
|
129
138
|
})
|
|
130
139
|
)
|
|
131
140
|
});
|
|
@@ -215,10 +224,10 @@ var CREATE_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
215
224
|
tags: ["AgentController"],
|
|
216
225
|
requiresAuth: true,
|
|
217
226
|
requiresPermission: "agent-controller:execute",
|
|
218
|
-
handler: async ({ mastra, controllerId, resourceId, tags }) => {
|
|
227
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, tags }) => {
|
|
219
228
|
try {
|
|
220
229
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
221
|
-
const session = await getSession(controller, resourceId, tags);
|
|
230
|
+
const session = await getSession(controller, resourceId, { tags, scope: sessionScope });
|
|
222
231
|
return {
|
|
223
232
|
controllerId,
|
|
224
233
|
resourceId,
|
|
@@ -243,15 +252,16 @@ var STREAM_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
243
252
|
streamFormat: "sse",
|
|
244
253
|
sseFlushOnConnect: true,
|
|
245
254
|
pathParamSchema: sessionPathParams,
|
|
255
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
246
256
|
summary: "Stream controller session events",
|
|
247
257
|
description: "Subscribes to a session\u2019s event bus and streams events to the client over SSE.",
|
|
248
258
|
tags: ["AgentController", "Streaming"],
|
|
249
259
|
requiresAuth: true,
|
|
250
260
|
requiresPermission: "agent-controller:read",
|
|
251
|
-
handler: async ({ mastra, controllerId, resourceId, abortSignal }) => {
|
|
261
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, abortSignal }) => {
|
|
252
262
|
try {
|
|
253
263
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
254
|
-
const session = await getSession(controller, resourceId);
|
|
264
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
255
265
|
let cleanedUp = false;
|
|
256
266
|
let heartbeat;
|
|
257
267
|
let unsubscribe;
|
|
@@ -317,6 +327,7 @@ var SEND_AGENT_CONTROLLER_MESSAGE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
317
327
|
path: "/agent-controller/:controllerId/sessions/:resourceId/messages",
|
|
318
328
|
responseType: "json",
|
|
319
329
|
pathParamSchema: sessionPathParams,
|
|
330
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
320
331
|
bodySchema: sendMessageBodySchema,
|
|
321
332
|
responseSchema: ackResponseSchema,
|
|
322
333
|
summary: "Send a message to a controller session",
|
|
@@ -324,10 +335,10 @@ var SEND_AGENT_CONTROLLER_MESSAGE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
324
335
|
tags: ["AgentController", "Streaming"],
|
|
325
336
|
requiresAuth: true,
|
|
326
337
|
requiresPermission: "agent-controller:execute",
|
|
327
|
-
handler: async ({ mastra, controllerId, resourceId, message, requestContext }) => {
|
|
338
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, message, requestContext }) => {
|
|
328
339
|
try {
|
|
329
340
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
330
|
-
const session = await getSession(controller, resourceId);
|
|
341
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
331
342
|
void session.sendMessage({ content: message, requestContext });
|
|
332
343
|
return { ok: true };
|
|
333
344
|
} catch (error) {
|
|
@@ -340,16 +351,17 @@ var ABORT_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
340
351
|
path: "/agent-controller/:controllerId/sessions/:resourceId/abort",
|
|
341
352
|
responseType: "json",
|
|
342
353
|
pathParamSchema: sessionPathParams,
|
|
354
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
343
355
|
responseSchema: ackResponseSchema,
|
|
344
356
|
summary: "Abort a controller session run",
|
|
345
357
|
description: "Aborts the in-flight run for the session, if any.",
|
|
346
358
|
tags: ["AgentController"],
|
|
347
359
|
requiresAuth: true,
|
|
348
360
|
requiresPermission: "agent-controller:execute",
|
|
349
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
361
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
350
362
|
try {
|
|
351
363
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
352
|
-
const session = await getSession(controller, resourceId);
|
|
364
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
353
365
|
session.abort();
|
|
354
366
|
return { ok: true };
|
|
355
367
|
} catch (error) {
|
|
@@ -362,6 +374,7 @@ var AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
362
374
|
path: "/agent-controller/:controllerId/sessions/:resourceId/tool-approval",
|
|
363
375
|
responseType: "json",
|
|
364
376
|
pathParamSchema: sessionPathParams,
|
|
377
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
365
378
|
bodySchema: toolApprovalBodySchema,
|
|
366
379
|
responseSchema: ackResponseSchema,
|
|
367
380
|
summary: "Respond to a controller tool approval",
|
|
@@ -369,10 +382,10 @@ var AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
369
382
|
tags: ["AgentController"],
|
|
370
383
|
requiresAuth: true,
|
|
371
384
|
requiresPermission: "agent-controller:execute",
|
|
372
|
-
handler: async ({ mastra, controllerId, resourceId, toolCallId, approved, requestContext }) => {
|
|
385
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, toolCallId, approved, requestContext }) => {
|
|
373
386
|
try {
|
|
374
387
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
375
|
-
const session = await getSession(controller, resourceId);
|
|
388
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
376
389
|
session.respondToToolApproval({ toolCallId, decision: approved ? "approve" : "decline", requestContext });
|
|
377
390
|
return { ok: true };
|
|
378
391
|
} catch (error) {
|
|
@@ -385,6 +398,7 @@ var AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
385
398
|
path: "/agent-controller/:controllerId/sessions/:resourceId/tool-suspension",
|
|
386
399
|
responseType: "json",
|
|
387
400
|
pathParamSchema: sessionPathParams,
|
|
401
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
388
402
|
bodySchema: toolSuspensionBodySchema,
|
|
389
403
|
responseSchema: ackResponseSchema,
|
|
390
404
|
summary: "Respond to a suspended controller tool",
|
|
@@ -392,10 +406,10 @@ var AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
392
406
|
tags: ["AgentController"],
|
|
393
407
|
requiresAuth: true,
|
|
394
408
|
requiresPermission: "agent-controller:execute",
|
|
395
|
-
handler: async ({ mastra, controllerId, resourceId, toolCallId, resumeData, requestContext }) => {
|
|
409
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, toolCallId, resumeData, requestContext }) => {
|
|
396
410
|
try {
|
|
397
411
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
398
|
-
const session = await getSession(controller, resourceId);
|
|
412
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
399
413
|
await session.respondToToolSuspension({ toolCallId, resumeData, requestContext });
|
|
400
414
|
return { ok: true };
|
|
401
415
|
} catch (error) {
|
|
@@ -408,6 +422,7 @@ var STEER_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
408
422
|
path: "/agent-controller/:controllerId/sessions/:resourceId/steer",
|
|
409
423
|
responseType: "json",
|
|
410
424
|
pathParamSchema: sessionPathParams,
|
|
425
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
411
426
|
bodySchema: steerBodySchema,
|
|
412
427
|
responseSchema: ackResponseSchema,
|
|
413
428
|
summary: "Steer the in-flight run",
|
|
@@ -415,10 +430,10 @@ var STEER_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
415
430
|
tags: ["AgentController"],
|
|
416
431
|
requiresAuth: true,
|
|
417
432
|
requiresPermission: "agent-controller:execute",
|
|
418
|
-
handler: async ({ mastra, controllerId, resourceId, message, requestContext }) => {
|
|
433
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, message, requestContext }) => {
|
|
419
434
|
try {
|
|
420
435
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
421
|
-
const session = await getSession(controller, resourceId);
|
|
436
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
422
437
|
void session.steer({ content: message, requestContext });
|
|
423
438
|
return { ok: true };
|
|
424
439
|
} catch (error) {
|
|
@@ -431,6 +446,7 @@ var SWITCH_AGENT_CONTROLLER_MODE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
431
446
|
path: "/agent-controller/:controllerId/sessions/:resourceId/mode",
|
|
432
447
|
responseType: "json",
|
|
433
448
|
pathParamSchema: sessionPathParams,
|
|
449
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
434
450
|
bodySchema: switchModeBodySchema,
|
|
435
451
|
responseSchema: ackResponseSchema,
|
|
436
452
|
summary: "Switch the session mode",
|
|
@@ -438,10 +454,10 @@ var SWITCH_AGENT_CONTROLLER_MODE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
438
454
|
tags: ["AgentController"],
|
|
439
455
|
requiresAuth: true,
|
|
440
456
|
requiresPermission: "agent-controller:execute",
|
|
441
|
-
handler: async ({ mastra, controllerId, resourceId, modeId }) => {
|
|
457
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, modeId }) => {
|
|
442
458
|
try {
|
|
443
459
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
444
|
-
const session = await getSession(controller, resourceId);
|
|
460
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
445
461
|
await session.mode.switch({ modeId });
|
|
446
462
|
return { ok: true };
|
|
447
463
|
} catch (error) {
|
|
@@ -454,6 +470,7 @@ var SWITCH_AGENT_CONTROLLER_MODEL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
454
470
|
path: "/agent-controller/:controllerId/sessions/:resourceId/model",
|
|
455
471
|
responseType: "json",
|
|
456
472
|
pathParamSchema: sessionPathParams,
|
|
473
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
457
474
|
bodySchema: switchModelBodySchema,
|
|
458
475
|
responseSchema: ackResponseSchema,
|
|
459
476
|
summary: "Switch the session model",
|
|
@@ -461,10 +478,10 @@ var SWITCH_AGENT_CONTROLLER_MODEL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
461
478
|
tags: ["AgentController"],
|
|
462
479
|
requiresAuth: true,
|
|
463
480
|
requiresPermission: "agent-controller:execute",
|
|
464
|
-
handler: async ({ mastra, controllerId, resourceId, modelId, scope, modeId }) => {
|
|
481
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, modelId, scope, modeId }) => {
|
|
465
482
|
try {
|
|
466
483
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
467
|
-
const session = await getSession(controller, resourceId);
|
|
484
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
468
485
|
await session.model.switch({ modelId, scope, modeId });
|
|
469
486
|
return { ok: true };
|
|
470
487
|
} catch (error) {
|
|
@@ -477,6 +494,7 @@ var SWITCH_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
477
494
|
path: "/agent-controller/:controllerId/sessions/:resourceId/thread",
|
|
478
495
|
responseType: "json",
|
|
479
496
|
pathParamSchema: sessionPathParams,
|
|
497
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
480
498
|
bodySchema: switchThreadBodySchema,
|
|
481
499
|
responseSchema: ackResponseSchema,
|
|
482
500
|
summary: "Switch the session thread",
|
|
@@ -484,10 +502,10 @@ var SWITCH_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
484
502
|
tags: ["AgentController"],
|
|
485
503
|
requiresAuth: true,
|
|
486
504
|
requiresPermission: "agent-controller:execute",
|
|
487
|
-
handler: async ({ mastra, controllerId, resourceId, threadId }) => {
|
|
505
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId }) => {
|
|
488
506
|
try {
|
|
489
507
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
490
|
-
const session = await getSession(controller, resourceId);
|
|
508
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
491
509
|
await session.thread.switch({ threadId });
|
|
492
510
|
return { ok: true };
|
|
493
511
|
} catch (error) {
|
|
@@ -500,16 +518,17 @@ var GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
500
518
|
path: "/agent-controller/:controllerId/sessions/:resourceId",
|
|
501
519
|
responseType: "json",
|
|
502
520
|
pathParamSchema: sessionPathParams,
|
|
521
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
503
522
|
responseSchema: sessionStateResponseSchema,
|
|
504
523
|
summary: "Get session state",
|
|
505
524
|
description: "Returns the current mode, model, and thread for the session (for initial UI hydration).",
|
|
506
525
|
tags: ["AgentController"],
|
|
507
526
|
requiresAuth: true,
|
|
508
527
|
requiresPermission: "agent-controller:read",
|
|
509
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
528
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
510
529
|
try {
|
|
511
530
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
512
|
-
const session = await getSession(controller, resourceId);
|
|
531
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
513
532
|
const ds = session.displayState.get();
|
|
514
533
|
const om = ds.omProgress;
|
|
515
534
|
const reflectionSavings = om.buffered.reflection.inputObservationTokens - om.buffered.reflection.observationTokens;
|
|
@@ -521,6 +540,7 @@ var GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
521
540
|
threadId: session.thread.getId() ?? void 0,
|
|
522
541
|
modeId: session.mode.get(),
|
|
523
542
|
modelId: session.model.get(),
|
|
543
|
+
running: ds.isRunning === true,
|
|
524
544
|
omProgress: {
|
|
525
545
|
status: om.status,
|
|
526
546
|
pendingTokens: om.pendingTokens,
|
|
@@ -579,10 +599,10 @@ var LIST_AGENT_CONTROLLER_THREADS_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
579
599
|
tags: ["AgentController"],
|
|
580
600
|
requiresAuth: true,
|
|
581
601
|
requiresPermission: "agent-controller:read",
|
|
582
|
-
handler: async ({ mastra, controllerId, resourceId, limit, tags }) => {
|
|
602
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, limit, tags }) => {
|
|
583
603
|
try {
|
|
584
604
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
585
|
-
const session = await getSession(controller, resourceId);
|
|
605
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
586
606
|
const threads = await session.thread.list();
|
|
587
607
|
const getTags = (t) => {
|
|
588
608
|
const metadata = t.metadata ?? {};
|
|
@@ -601,6 +621,7 @@ var LIST_AGENT_CONTROLLER_THREADS_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
601
621
|
const sorted = [...scoped].sort((a, b) => toTime(b) - toTime(a));
|
|
602
622
|
const max = Number(limit);
|
|
603
623
|
const limited = Number.isFinite(max) && max > 0 ? sorted.slice(0, max) : sorted;
|
|
624
|
+
const agent = controller.getCurrentAgent(session);
|
|
604
625
|
return {
|
|
605
626
|
threads: limited.map((t) => {
|
|
606
627
|
const threadTags = getTags(t);
|
|
@@ -608,7 +629,8 @@ var LIST_AGENT_CONTROLLER_THREADS_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
608
629
|
id: t.id,
|
|
609
630
|
title: t.title,
|
|
610
631
|
tags: Object.keys(threadTags).length > 0 ? threadTags : void 0,
|
|
611
|
-
updatedAt: t.updatedAt instanceof Date ? t.updatedAt.toISOString() : void 0
|
|
632
|
+
updatedAt: t.updatedAt instanceof Date ? t.updatedAt.toISOString() : void 0,
|
|
633
|
+
state: agent.getActiveThreadRunId({ resourceId, threadId: t.id }) ? "active" : "idle"
|
|
612
634
|
};
|
|
613
635
|
})
|
|
614
636
|
};
|
|
@@ -622,6 +644,7 @@ var SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
622
644
|
path: "/agent-controller/:controllerId/sessions/:resourceId/notifications",
|
|
623
645
|
responseType: "json",
|
|
624
646
|
pathParamSchema: sessionPathParams,
|
|
647
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
625
648
|
bodySchema: sendNotificationBodySchema,
|
|
626
649
|
responseSchema: v4.z.object({
|
|
627
650
|
accepted: v4.z.boolean(),
|
|
@@ -638,6 +661,7 @@ var SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
638
661
|
mastra,
|
|
639
662
|
controllerId,
|
|
640
663
|
resourceId,
|
|
664
|
+
sessionScope,
|
|
641
665
|
source,
|
|
642
666
|
kind,
|
|
643
667
|
summary,
|
|
@@ -651,7 +675,7 @@ var SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
651
675
|
}) => {
|
|
652
676
|
try {
|
|
653
677
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
654
|
-
const session = await getSession(controller, resourceId);
|
|
678
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
655
679
|
const result = await session.sendNotificationSignal({
|
|
656
680
|
source,
|
|
657
681
|
kind,
|
|
@@ -680,6 +704,7 @@ var CREATE_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
680
704
|
path: "/agent-controller/:controllerId/sessions/:resourceId/threads",
|
|
681
705
|
responseType: "json",
|
|
682
706
|
pathParamSchema: sessionPathParams,
|
|
707
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
683
708
|
bodySchema: createThreadBodySchema,
|
|
684
709
|
responseSchema: threadResponseSchema,
|
|
685
710
|
summary: "Create a new thread",
|
|
@@ -687,10 +712,10 @@ var CREATE_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
687
712
|
tags: ["AgentController", "Threads"],
|
|
688
713
|
requiresAuth: true,
|
|
689
714
|
requiresPermission: "agent-controller:execute",
|
|
690
|
-
handler: async ({ mastra, controllerId, resourceId, title }) => {
|
|
715
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, title }) => {
|
|
691
716
|
try {
|
|
692
717
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
693
|
-
const session = await getSession(controller, resourceId);
|
|
718
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
694
719
|
const thread = await session.thread.create({ title });
|
|
695
720
|
return {
|
|
696
721
|
id: thread.id,
|
|
@@ -709,16 +734,17 @@ var DELETE_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
709
734
|
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId",
|
|
710
735
|
responseType: "json",
|
|
711
736
|
pathParamSchema: threadPathParams,
|
|
737
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
712
738
|
responseSchema: ackResponseSchema,
|
|
713
739
|
summary: "Delete a thread",
|
|
714
740
|
description: "Deletes a thread. If the deleted thread is the active one, the session is unbound.",
|
|
715
741
|
tags: ["AgentController", "Threads"],
|
|
716
742
|
requiresAuth: true,
|
|
717
743
|
requiresPermission: "agent-controller:execute",
|
|
718
|
-
handler: async ({ mastra, controllerId, resourceId, threadId }) => {
|
|
744
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId }) => {
|
|
719
745
|
try {
|
|
720
746
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
721
|
-
const session = await getSession(controller, resourceId);
|
|
747
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
722
748
|
await session.thread.delete({ threadId });
|
|
723
749
|
return { ok: true };
|
|
724
750
|
} catch (error) {
|
|
@@ -731,6 +757,7 @@ var RENAME_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
731
757
|
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId",
|
|
732
758
|
responseType: "json",
|
|
733
759
|
pathParamSchema: threadPathParams,
|
|
760
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
734
761
|
bodySchema: renameThreadBodySchema,
|
|
735
762
|
responseSchema: ackResponseSchema,
|
|
736
763
|
summary: "Rename a thread",
|
|
@@ -738,10 +765,10 @@ var RENAME_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
738
765
|
tags: ["AgentController", "Threads"],
|
|
739
766
|
requiresAuth: true,
|
|
740
767
|
requiresPermission: "agent-controller:execute",
|
|
741
|
-
handler: async ({ mastra, controllerId, resourceId, threadId, title }) => {
|
|
768
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId, title }) => {
|
|
742
769
|
try {
|
|
743
770
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
744
|
-
const session = await getSession(controller, resourceId);
|
|
771
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
745
772
|
if (session.thread.getId() !== threadId) {
|
|
746
773
|
await session.thread.switch({ threadId });
|
|
747
774
|
}
|
|
@@ -757,6 +784,7 @@ var CLONE_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
757
784
|
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/clone",
|
|
758
785
|
responseType: "json",
|
|
759
786
|
pathParamSchema: sessionPathParams,
|
|
787
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
760
788
|
bodySchema: cloneThreadBodySchema,
|
|
761
789
|
responseSchema: threadResponseSchema,
|
|
762
790
|
summary: "Clone a thread",
|
|
@@ -764,10 +792,10 @@ var CLONE_AGENT_CONTROLLER_THREAD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
764
792
|
tags: ["AgentController", "Threads"],
|
|
765
793
|
requiresAuth: true,
|
|
766
794
|
requiresPermission: "agent-controller:execute",
|
|
767
|
-
handler: async ({ mastra, controllerId, resourceId, sourceThreadId, title }) => {
|
|
795
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, sourceThreadId, title }) => {
|
|
768
796
|
try {
|
|
769
797
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
770
|
-
const session = await getSession(controller, resourceId);
|
|
798
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
771
799
|
const thread = await session.thread.clone({ sourceThreadId, title });
|
|
772
800
|
return {
|
|
773
801
|
id: thread.id,
|
|
@@ -793,10 +821,10 @@ var LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE = chunk7YBYLB2K_cjs.createRoute(
|
|
|
793
821
|
tags: ["AgentController", "Threads"],
|
|
794
822
|
requiresAuth: true,
|
|
795
823
|
requiresPermission: "agent-controller:read",
|
|
796
|
-
handler: async ({ mastra, controllerId, resourceId, threadId, limit }) => {
|
|
824
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, threadId, limit }) => {
|
|
797
825
|
try {
|
|
798
826
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
799
|
-
const session = await getSession(controller, resourceId);
|
|
827
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
800
828
|
const messages = await session.thread.listMessages({ threadId, limit });
|
|
801
829
|
return {
|
|
802
830
|
messages: messages.map((m) => ({
|
|
@@ -816,6 +844,7 @@ var FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
816
844
|
path: "/agent-controller/:controllerId/sessions/:resourceId/follow-up",
|
|
817
845
|
responseType: "json",
|
|
818
846
|
pathParamSchema: sessionPathParams,
|
|
847
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
819
848
|
bodySchema: followUpBodySchema,
|
|
820
849
|
responseSchema: ackResponseSchema,
|
|
821
850
|
summary: "Queue a follow-up message",
|
|
@@ -823,10 +852,10 @@ var FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
823
852
|
tags: ["AgentController"],
|
|
824
853
|
requiresAuth: true,
|
|
825
854
|
requiresPermission: "agent-controller:execute",
|
|
826
|
-
handler: async ({ mastra, controllerId, resourceId, message, requestContext }) => {
|
|
855
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, message, requestContext }) => {
|
|
827
856
|
try {
|
|
828
857
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
829
|
-
const session = await getSession(controller, resourceId);
|
|
858
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
830
859
|
void session.followUp({ content: message, requestContext });
|
|
831
860
|
return { ok: true };
|
|
832
861
|
} catch (error) {
|
|
@@ -893,16 +922,17 @@ var GET_AGENT_CONTROLLER_OM_RECORD_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
893
922
|
path: "/agent-controller/:controllerId/sessions/:resourceId/om",
|
|
894
923
|
responseType: "json",
|
|
895
924
|
pathParamSchema: sessionPathParams,
|
|
925
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
896
926
|
responseSchema: omRecordResponseSchema,
|
|
897
927
|
summary: "Get observational memory record",
|
|
898
928
|
description: "Returns the current observational memory record for the session\u2019s thread/resource.",
|
|
899
929
|
tags: ["AgentController"],
|
|
900
930
|
requiresAuth: true,
|
|
901
931
|
requiresPermission: "agent-controller:read",
|
|
902
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
932
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
903
933
|
try {
|
|
904
934
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
905
|
-
const session = await getSession(controller, resourceId);
|
|
935
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
906
936
|
const record = await controller.getObservationalMemoryRecord(session);
|
|
907
937
|
return { record: record ?? void 0 };
|
|
908
938
|
} catch (error) {
|
|
@@ -915,6 +945,7 @@ var SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
915
945
|
path: "/agent-controller/:controllerId/sessions/:resourceId/resource",
|
|
916
946
|
responseType: "json",
|
|
917
947
|
pathParamSchema: sessionPathParams,
|
|
948
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
918
949
|
bodySchema: v4.z.object({ newResourceId: v4.z.string() }),
|
|
919
950
|
responseSchema: ackResponseSchema,
|
|
920
951
|
summary: "Change the session resource ID",
|
|
@@ -922,10 +953,10 @@ var SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
922
953
|
tags: ["AgentController"],
|
|
923
954
|
requiresAuth: true,
|
|
924
955
|
requiresPermission: "agent-controller:execute",
|
|
925
|
-
handler: async ({ mastra, controllerId, resourceId, newResourceId }) => {
|
|
956
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, newResourceId }) => {
|
|
926
957
|
try {
|
|
927
958
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
928
|
-
const session = await getSession(controller, resourceId);
|
|
959
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
929
960
|
await controller.setResourceId(session, { resourceId: newResourceId });
|
|
930
961
|
return { ok: true };
|
|
931
962
|
} catch (error) {
|
|
@@ -938,16 +969,17 @@ var GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
938
969
|
path: "/agent-controller/:controllerId/sessions/:resourceId/resources",
|
|
939
970
|
responseType: "json",
|
|
940
971
|
pathParamSchema: sessionPathParams,
|
|
972
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
941
973
|
responseSchema: v4.z.object({ resourceIds: v4.z.array(v4.z.string()) }),
|
|
942
974
|
summary: "Get known resource IDs",
|
|
943
975
|
description: "Lists the resource IDs known to this session (from threads).",
|
|
944
976
|
tags: ["AgentController"],
|
|
945
977
|
requiresAuth: true,
|
|
946
978
|
requiresPermission: "agent-controller:read",
|
|
947
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
979
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
948
980
|
try {
|
|
949
981
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
950
|
-
const session = await getSession(controller, resourceId);
|
|
982
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
951
983
|
const resourceIds = await controller.getKnownResourceIds(session);
|
|
952
984
|
return { resourceIds };
|
|
953
985
|
} catch (error) {
|
|
@@ -985,16 +1017,17 @@ var GET_AGENT_CONTROLLER_GOAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
985
1017
|
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
986
1018
|
responseType: "json",
|
|
987
1019
|
pathParamSchema: sessionPathParams,
|
|
1020
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
988
1021
|
responseSchema: goalResponseSchema,
|
|
989
1022
|
summary: "Get the current goal",
|
|
990
1023
|
description: "Returns the active/paused/done goal objective for the session\u2019s thread, if any.",
|
|
991
1024
|
tags: ["AgentController", "Goals"],
|
|
992
1025
|
requiresAuth: true,
|
|
993
1026
|
requiresPermission: "agent-controller:read",
|
|
994
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
1027
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
995
1028
|
try {
|
|
996
1029
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
997
|
-
const session = await getSession(controller, resourceId);
|
|
1030
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
998
1031
|
const threadId = session.thread.getId();
|
|
999
1032
|
if (!threadId) return { goal: void 0 };
|
|
1000
1033
|
const agent = getAgentForSession(controller, session);
|
|
@@ -1010,6 +1043,7 @@ var SET_AGENT_CONTROLLER_GOAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1010
1043
|
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
1011
1044
|
responseType: "json",
|
|
1012
1045
|
pathParamSchema: sessionPathParams,
|
|
1046
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1013
1047
|
bodySchema: setGoalBodySchema,
|
|
1014
1048
|
responseSchema: goalResponseSchema,
|
|
1015
1049
|
summary: "Set a goal",
|
|
@@ -1017,10 +1051,10 @@ var SET_AGENT_CONTROLLER_GOAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1017
1051
|
tags: ["AgentController", "Goals"],
|
|
1018
1052
|
requiresAuth: true,
|
|
1019
1053
|
requiresPermission: "agent-controller:execute",
|
|
1020
|
-
handler: async ({ mastra, controllerId, resourceId, objective, judgeModelId, maxRuns }) => {
|
|
1054
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, objective, judgeModelId, maxRuns }) => {
|
|
1021
1055
|
try {
|
|
1022
1056
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1023
|
-
const session = await getSession(controller, resourceId);
|
|
1057
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1024
1058
|
const threadId = session.thread.getId();
|
|
1025
1059
|
if (!threadId) throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "session has no active thread" });
|
|
1026
1060
|
const agent = getAgentForSession(controller, session);
|
|
@@ -1041,6 +1075,7 @@ var UPDATE_AGENT_CONTROLLER_GOAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1041
1075
|
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
1042
1076
|
responseType: "json",
|
|
1043
1077
|
pathParamSchema: sessionPathParams,
|
|
1078
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1044
1079
|
bodySchema: updateGoalBodySchema,
|
|
1045
1080
|
responseSchema: goalResponseSchema,
|
|
1046
1081
|
summary: "Update goal options",
|
|
@@ -1048,10 +1083,10 @@ var UPDATE_AGENT_CONTROLLER_GOAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1048
1083
|
tags: ["AgentController", "Goals"],
|
|
1049
1084
|
requiresAuth: true,
|
|
1050
1085
|
requiresPermission: "agent-controller:execute",
|
|
1051
|
-
handler: async ({ mastra, controllerId, resourceId, judgeModelId, maxRuns, status }) => {
|
|
1086
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, judgeModelId, maxRuns, status }) => {
|
|
1052
1087
|
try {
|
|
1053
1088
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1054
|
-
const session = await getSession(controller, resourceId);
|
|
1089
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1055
1090
|
const threadId = session.thread.getId();
|
|
1056
1091
|
if (!threadId) throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "session has no active thread" });
|
|
1057
1092
|
const agent = getAgentForSession(controller, session);
|
|
@@ -1072,16 +1107,17 @@ var CLEAR_AGENT_CONTROLLER_GOAL_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1072
1107
|
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
1073
1108
|
responseType: "json",
|
|
1074
1109
|
pathParamSchema: sessionPathParams,
|
|
1110
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1075
1111
|
responseSchema: ackResponseSchema,
|
|
1076
1112
|
summary: "Clear the goal",
|
|
1077
1113
|
description: "Removes the active goal from the session\u2019s thread.",
|
|
1078
1114
|
tags: ["AgentController", "Goals"],
|
|
1079
1115
|
requiresAuth: true,
|
|
1080
1116
|
requiresPermission: "agent-controller:execute",
|
|
1081
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
1117
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
1082
1118
|
try {
|
|
1083
1119
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1084
|
-
const session = await getSession(controller, resourceId);
|
|
1120
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1085
1121
|
const threadId = session.thread.getId();
|
|
1086
1122
|
if (!threadId) throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "session has no active thread" });
|
|
1087
1123
|
const agent = getAgentForSession(controller, session);
|
|
@@ -1097,16 +1133,17 @@ var GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1097
1133
|
path: "/agent-controller/:controllerId/sessions/:resourceId/permissions",
|
|
1098
1134
|
responseType: "json",
|
|
1099
1135
|
pathParamSchema: sessionPathParams,
|
|
1136
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1100
1137
|
responseSchema: permissionRulesResponseSchema,
|
|
1101
1138
|
summary: "Get permission rules",
|
|
1102
1139
|
description: "Returns the current permission rules (per-category and per-tool policies) for the session.",
|
|
1103
1140
|
tags: ["AgentController", "Permissions"],
|
|
1104
1141
|
requiresAuth: true,
|
|
1105
1142
|
requiresPermission: "agent-controller:read",
|
|
1106
|
-
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
1143
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope }) => {
|
|
1107
1144
|
try {
|
|
1108
1145
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1109
|
-
const session = await getSession(controller, resourceId);
|
|
1146
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1110
1147
|
const rules = session.permissions.getRules();
|
|
1111
1148
|
return {
|
|
1112
1149
|
categories: rules.categories,
|
|
@@ -1122,6 +1159,7 @@ var SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE = chunk7YBYLB2K_cjs.createRou
|
|
|
1122
1159
|
path: "/agent-controller/:controllerId/sessions/:resourceId/permissions/category",
|
|
1123
1160
|
responseType: "json",
|
|
1124
1161
|
pathParamSchema: sessionPathParams,
|
|
1162
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1125
1163
|
bodySchema: setCategoryPermissionBodySchema,
|
|
1126
1164
|
responseSchema: ackResponseSchema,
|
|
1127
1165
|
summary: "Set permission for a tool category",
|
|
@@ -1129,10 +1167,10 @@ var SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE = chunk7YBYLB2K_cjs.createRou
|
|
|
1129
1167
|
tags: ["AgentController", "Permissions"],
|
|
1130
1168
|
requiresAuth: true,
|
|
1131
1169
|
requiresPermission: "agent-controller:execute",
|
|
1132
|
-
handler: async ({ mastra, controllerId, resourceId, category, policy }) => {
|
|
1170
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, category, policy }) => {
|
|
1133
1171
|
try {
|
|
1134
1172
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1135
|
-
const session = await getSession(controller, resourceId);
|
|
1173
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1136
1174
|
await session.permissions.setForCategory({ category, policy });
|
|
1137
1175
|
return { ok: true };
|
|
1138
1176
|
} catch (error) {
|
|
@@ -1145,6 +1183,7 @@ var SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1145
1183
|
path: "/agent-controller/:controllerId/sessions/:resourceId/permissions/tool",
|
|
1146
1184
|
responseType: "json",
|
|
1147
1185
|
pathParamSchema: sessionPathParams,
|
|
1186
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1148
1187
|
bodySchema: setToolPermissionBodySchema,
|
|
1149
1188
|
responseSchema: ackResponseSchema,
|
|
1150
1189
|
summary: "Set permission for a specific tool",
|
|
@@ -1152,10 +1191,10 @@ var SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1152
1191
|
tags: ["AgentController", "Permissions"],
|
|
1153
1192
|
requiresAuth: true,
|
|
1154
1193
|
requiresPermission: "agent-controller:execute",
|
|
1155
|
-
handler: async ({ mastra, controllerId, resourceId, toolName, policy }) => {
|
|
1194
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, toolName, policy }) => {
|
|
1156
1195
|
try {
|
|
1157
1196
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1158
|
-
const session = await getSession(controller, resourceId);
|
|
1197
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1159
1198
|
await session.permissions.setForTool({ toolName, policy });
|
|
1160
1199
|
return { ok: true };
|
|
1161
1200
|
} catch (error) {
|
|
@@ -1169,6 +1208,7 @@ var SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1169
1208
|
path: "/agent-controller/:controllerId/sessions/:resourceId/state",
|
|
1170
1209
|
responseType: "json",
|
|
1171
1210
|
pathParamSchema: sessionPathParams,
|
|
1211
|
+
queryParamSchema: sessionScopeQuerySchema,
|
|
1172
1212
|
bodySchema: setSessionStateBodySchema,
|
|
1173
1213
|
responseSchema: ackResponseSchema,
|
|
1174
1214
|
summary: "Set session state",
|
|
@@ -1176,10 +1216,10 @@ var SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = chunk7YBYLB2K_cjs.createRoute({
|
|
|
1176
1216
|
tags: ["AgentController"],
|
|
1177
1217
|
requiresAuth: true,
|
|
1178
1218
|
requiresPermission: "agent-controller:execute",
|
|
1179
|
-
handler: async ({ mastra, controllerId, resourceId, state }) => {
|
|
1219
|
+
handler: async ({ mastra, controllerId, resourceId, sessionScope, state }) => {
|
|
1180
1220
|
try {
|
|
1181
1221
|
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1182
|
-
const session = await getSession(controller, resourceId);
|
|
1222
|
+
const session = await getSession(controller, resourceId, { scope: sessionScope });
|
|
1183
1223
|
await session.state.set(state);
|
|
1184
1224
|
return { ok: true };
|
|
1185
1225
|
} catch (error) {
|
|
@@ -1222,5 +1262,5 @@ exports.SWITCH_AGENT_CONTROLLER_MODEL_ROUTE = SWITCH_AGENT_CONTROLLER_MODEL_ROUT
|
|
|
1222
1262
|
exports.SWITCH_AGENT_CONTROLLER_MODE_ROUTE = SWITCH_AGENT_CONTROLLER_MODE_ROUTE;
|
|
1223
1263
|
exports.SWITCH_AGENT_CONTROLLER_THREAD_ROUTE = SWITCH_AGENT_CONTROLLER_THREAD_ROUTE;
|
|
1224
1264
|
exports.UPDATE_AGENT_CONTROLLER_GOAL_ROUTE = UPDATE_AGENT_CONTROLLER_GOAL_ROUTE;
|
|
1225
|
-
//# sourceMappingURL=chunk-
|
|
1226
|
-
//# sourceMappingURL=chunk-
|
|
1265
|
+
//# sourceMappingURL=chunk-D43AYAW2.cjs.map
|
|
1266
|
+
//# sourceMappingURL=chunk-D43AYAW2.cjs.map
|