@mastra/server 1.47.0-alpha.5 → 1.47.0-alpha.6
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 +31 -0
- package/dist/_types/@mastra_schema-compat/dist/schema.types.d.ts +4 -1
- package/dist/{api-schema-manifest-OQOZ53HZ.js → api-schema-manifest-LT57YVGI.js} +3 -3
- package/dist/{api-schema-manifest-OQOZ53HZ.js.map → api-schema-manifest-LT57YVGI.js.map} +1 -1
- package/dist/{api-schema-manifest-SYCCXMOC.cjs → api-schema-manifest-SJMFHZHR.cjs} +4 -4
- package/dist/{api-schema-manifest-SYCCXMOC.cjs.map → api-schema-manifest-SJMFHZHR.cjs.map} +1 -1
- package/dist/{chunk-XOQEKMY2.cjs → chunk-2NGSYVI3.cjs} +34 -34
- package/dist/{chunk-XOQEKMY2.cjs.map → chunk-2NGSYVI3.cjs.map} +1 -1
- package/dist/{chunk-S2HKHYJ3.cjs → chunk-2R52ZPSI.cjs} +9 -9
- package/dist/{chunk-S2HKHYJ3.cjs.map → chunk-2R52ZPSI.cjs.map} +1 -1
- package/dist/{chunk-ZZOHO2FT.js → chunk-34WNPIGV.js} +5 -5
- package/dist/{chunk-ZZOHO2FT.js.map → chunk-34WNPIGV.js.map} +1 -1
- package/dist/{chunk-UZ43QCIA.cjs → chunk-3KBURDTO.cjs} +12 -12
- package/dist/{chunk-UZ43QCIA.cjs.map → chunk-3KBURDTO.cjs.map} +1 -1
- package/dist/{chunk-RVD3DGBZ.cjs → chunk-42M6Y2OD.cjs} +3 -3
- package/dist/{chunk-RVD3DGBZ.cjs.map → chunk-42M6Y2OD.cjs.map} +1 -1
- package/dist/{chunk-Q7EQLQS5.js → chunk-43T7OG7P.js} +16 -9
- package/dist/chunk-43T7OG7P.js.map +1 -0
- package/dist/{chunk-5V2QWK2S.js → chunk-4E7VGBSM.js} +5 -5
- package/dist/{chunk-5V2QWK2S.js.map → chunk-4E7VGBSM.js.map} +1 -1
- package/dist/{chunk-PLWZVSGT.js → chunk-4UZTUQYZ.js} +5 -5
- package/dist/{chunk-PLWZVSGT.js.map → chunk-4UZTUQYZ.js.map} +1 -1
- package/dist/{chunk-V23ANIEC.cjs → chunk-4WRZ6BK4.cjs} +4 -4
- package/dist/{chunk-V23ANIEC.cjs.map → chunk-4WRZ6BK4.cjs.map} +1 -1
- package/dist/{chunk-VRERZRJQ.js → chunk-4ZD4KLXD.js} +4 -4
- package/dist/{chunk-VRERZRJQ.js.map → chunk-4ZD4KLXD.js.map} +1 -1
- package/dist/{chunk-K3FM6RLZ.cjs → chunk-5JVILML3.cjs} +9 -9
- package/dist/{chunk-K3FM6RLZ.cjs.map → chunk-5JVILML3.cjs.map} +1 -1
- package/dist/{chunk-7FIDKZUG.cjs → chunk-6CUVVNHE.cjs} +6 -6
- package/dist/{chunk-7FIDKZUG.cjs.map → chunk-6CUVVNHE.cjs.map} +1 -1
- package/dist/{chunk-QQCQV7ZF.cjs → chunk-7GNT5KQE.cjs} +3 -2
- package/dist/chunk-7GNT5KQE.cjs.map +1 -0
- package/dist/{chunk-4ZHHKMDQ.cjs → chunk-AC4YST2M.cjs} +3 -3
- package/dist/{chunk-4ZHHKMDQ.cjs.map → chunk-AC4YST2M.cjs.map} +1 -1
- package/dist/{chunk-R4O5HVDI.js → chunk-AGWL3ZLU.js} +3 -3
- package/dist/{chunk-R4O5HVDI.js.map → chunk-AGWL3ZLU.js.map} +1 -1
- package/dist/{chunk-C2A2BZFY.js → chunk-AMWGBQZU.js} +4 -4
- package/dist/{chunk-C2A2BZFY.js.map → chunk-AMWGBQZU.js.map} +1 -1
- package/dist/{chunk-TPZFGGU4.cjs → chunk-CCUQDEQW.cjs} +283 -283
- package/dist/chunk-CCUQDEQW.cjs.map +1 -0
- package/dist/{chunk-E2JNW3QM.js → chunk-D6RO4IFO.js} +3 -3
- package/dist/{chunk-E2JNW3QM.js.map → chunk-D6RO4IFO.js.map} +1 -1
- package/dist/{chunk-DULEYONH.cjs → chunk-D7YMTEPI.cjs} +13 -13
- package/dist/{chunk-DULEYONH.cjs.map → chunk-D7YMTEPI.cjs.map} +1 -1
- package/dist/{chunk-2Z3TLC4L.js → chunk-DSHITLJ4.js} +4 -4
- package/dist/{chunk-2Z3TLC4L.js.map → chunk-DSHITLJ4.js.map} +1 -1
- package/dist/{chunk-SJPWXUKZ.js → chunk-DVCCSRFP.js} +3 -3
- package/dist/{chunk-SJPWXUKZ.js.map → chunk-DVCCSRFP.js.map} +1 -1
- package/dist/{chunk-Y3MYKCTO.cjs → chunk-EBUK5R3S.cjs} +13 -13
- package/dist/{chunk-Y3MYKCTO.cjs.map → chunk-EBUK5R3S.cjs.map} +1 -1
- package/dist/{chunk-JY2LHUT4.cjs → chunk-EKRIVYU4.cjs} +22 -22
- package/dist/{chunk-JY2LHUT4.cjs.map → chunk-EKRIVYU4.cjs.map} +1 -1
- package/dist/{chunk-IBUJJIRW.js → chunk-EOGTJIPF.js} +3 -3
- package/dist/{chunk-IBUJJIRW.js.map → chunk-EOGTJIPF.js.map} +1 -1
- package/dist/{chunk-ONBABU5V.cjs → chunk-EYCW4Z4H.cjs} +10 -10
- package/dist/{chunk-ONBABU5V.cjs.map → chunk-EYCW4Z4H.cjs.map} +1 -1
- package/dist/{chunk-GU4AEOGA.cjs → chunk-F6VL25IA.cjs} +7 -7
- package/dist/{chunk-GU4AEOGA.cjs.map → chunk-F6VL25IA.cjs.map} +1 -1
- package/dist/{chunk-JZJ3PP2H.cjs → chunk-GOD4LLZT.cjs} +10 -10
- package/dist/{chunk-JZJ3PP2H.cjs.map → chunk-GOD4LLZT.cjs.map} +1 -1
- package/dist/{chunk-NEPOKWAA.js → chunk-GQI4NKKD.js} +5 -5
- package/dist/{chunk-NEPOKWAA.js.map → chunk-GQI4NKKD.js.map} +1 -1
- package/dist/{chunk-KGUHJRHZ.cjs → chunk-HDIYJI2Z.cjs} +3 -3
- package/dist/{chunk-KGUHJRHZ.cjs.map → chunk-HDIYJI2Z.cjs.map} +1 -1
- package/dist/{chunk-TPGA2ZTS.js → chunk-IEONDWGQ.js} +4 -4
- package/dist/{chunk-TPGA2ZTS.js.map → chunk-IEONDWGQ.js.map} +1 -1
- package/dist/{chunk-6HRGFBAF.cjs → chunk-IY4MNGI3.cjs} +63 -63
- package/dist/{chunk-6HRGFBAF.cjs.map → chunk-IY4MNGI3.cjs.map} +1 -1
- package/dist/{chunk-3ENQND57.js → chunk-JBSUT5XF.js} +3 -3
- package/dist/{chunk-3ENQND57.js.map → chunk-JBSUT5XF.js.map} +1 -1
- package/dist/{chunk-VNWPOCOT.cjs → chunk-JJDLXVWR.cjs} +19 -19
- package/dist/{chunk-VNWPOCOT.cjs.map → chunk-JJDLXVWR.cjs.map} +1 -1
- package/dist/{chunk-F5EEKLC4.js → chunk-KA6FUBC5.js} +6 -6
- package/dist/{chunk-F5EEKLC4.js.map → chunk-KA6FUBC5.js.map} +1 -1
- package/dist/{chunk-E345K7K7.js → chunk-KGJGR6GO.js} +5 -5
- package/dist/{chunk-E345K7K7.js.map → chunk-KGJGR6GO.js.map} +1 -1
- package/dist/{chunk-YLWKZ3VK.cjs → chunk-KIDHIRVO.cjs} +7 -7
- package/dist/{chunk-YLWKZ3VK.cjs.map → chunk-KIDHIRVO.cjs.map} +1 -1
- package/dist/{chunk-T32FQPWH.cjs → chunk-KR7FUFVK.cjs} +10 -10
- package/dist/{chunk-T32FQPWH.cjs.map → chunk-KR7FUFVK.cjs.map} +1 -1
- package/dist/{chunk-RY5RETAD.js → chunk-L4DD3HSB.js} +3 -3
- package/dist/{chunk-RY5RETAD.js.map → chunk-L4DD3HSB.js.map} +1 -1
- package/dist/{chunk-BB6RVOJY.js → chunk-LA4AQGZA.js} +3 -3
- package/dist/{chunk-BB6RVOJY.js.map → chunk-LA4AQGZA.js.map} +1 -1
- package/dist/{chunk-MMY24AC4.js → chunk-LUPNAVPL.js} +3 -3
- package/dist/{chunk-MMY24AC4.js.map → chunk-LUPNAVPL.js.map} +1 -1
- package/dist/{chunk-PSC3HAPW.cjs → chunk-MM7ONP57.cjs} +59 -59
- package/dist/{chunk-PSC3HAPW.cjs.map → chunk-MM7ONP57.cjs.map} +1 -1
- package/dist/{chunk-CIWN2JM4.js → chunk-MX3JQ3ZU.js} +3 -3
- package/dist/{chunk-CIWN2JM4.js.map → chunk-MX3JQ3ZU.js.map} +1 -1
- package/dist/{chunk-M5DAKMVZ.cjs → chunk-OE3KATAT.cjs} +4 -4
- package/dist/{chunk-M5DAKMVZ.cjs.map → chunk-OE3KATAT.cjs.map} +1 -1
- package/dist/{chunk-OT2JWWCT.cjs → chunk-OU4L45LL.cjs} +8 -8
- package/dist/{chunk-OT2JWWCT.cjs.map → chunk-OU4L45LL.cjs.map} +1 -1
- package/dist/{chunk-IRJJ2JJG.cjs → chunk-OZ64QWKA.cjs} +12 -12
- package/dist/{chunk-IRJJ2JJG.cjs.map → chunk-OZ64QWKA.cjs.map} +1 -1
- package/dist/{chunk-PUW3RA3B.js → chunk-P6TSZJ4I.js} +4 -4
- package/dist/{chunk-PUW3RA3B.js.map → chunk-P6TSZJ4I.js.map} +1 -1
- package/dist/{chunk-M25LVAUH.js → chunk-P7HCBIOK.js} +4 -4
- package/dist/{chunk-M25LVAUH.js.map → chunk-P7HCBIOK.js.map} +1 -1
- package/dist/{chunk-3ZV6GYQI.cjs → chunk-PVZX6FFO.cjs} +16 -9
- package/dist/chunk-PVZX6FFO.cjs.map +1 -0
- package/dist/{chunk-UXO4GWPT.js → chunk-Q6TDIK2A.js} +6 -6
- package/dist/{chunk-UXO4GWPT.js.map → chunk-Q6TDIK2A.js.map} +1 -1
- package/dist/{chunk-4BJSE3LM.js → chunk-QECRXNAM.js} +3 -3
- package/dist/{chunk-4BJSE3LM.js.map → chunk-QECRXNAM.js.map} +1 -1
- package/dist/{chunk-RM4ITWAQ.cjs → chunk-QRTZCP42.cjs} +10 -10
- package/dist/{chunk-RM4ITWAQ.cjs.map → chunk-QRTZCP42.cjs.map} +1 -1
- package/dist/{chunk-KBOC52HT.js → chunk-RETWAY24.js} +3 -3
- package/dist/{chunk-KBOC52HT.js.map → chunk-RETWAY24.js.map} +1 -1
- package/dist/{chunk-3WE5YAL5.js → chunk-RLAOC73C.js} +330 -327
- package/dist/chunk-RLAOC73C.js.map +1 -0
- package/dist/{chunk-MLLGO6XZ.js → chunk-S57DVRYK.js} +3 -3
- package/dist/{chunk-MLLGO6XZ.js.map → chunk-S57DVRYK.js.map} +1 -1
- package/dist/{chunk-XQ5INMFW.js → chunk-SK2BQPVT.js} +5 -5
- package/dist/{chunk-XQ5INMFW.js.map → chunk-SK2BQPVT.js.map} +1 -1
- package/dist/{chunk-7DKSWNOM.cjs → chunk-SOQPH6H2.cjs} +182 -182
- package/dist/{chunk-7DKSWNOM.cjs.map → chunk-SOQPH6H2.cjs.map} +1 -1
- package/dist/{chunk-56AYHXOU.js → chunk-SXZS6VZ3.js} +3 -3
- package/dist/{chunk-56AYHXOU.js.map → chunk-SXZS6VZ3.js.map} +1 -1
- package/dist/{chunk-OHWAEEZJ.js → chunk-UACKERCG.js} +3 -3
- package/dist/{chunk-OHWAEEZJ.js.map → chunk-UACKERCG.js.map} +1 -1
- package/dist/{chunk-4LQSGGSH.cjs → chunk-UGI45E76.cjs} +363 -360
- package/dist/chunk-UGI45E76.cjs.map +1 -0
- package/dist/{chunk-DEK4ZGUR.cjs → chunk-UQWJQWSK.cjs} +15 -15
- package/dist/{chunk-DEK4ZGUR.cjs.map → chunk-UQWJQWSK.cjs.map} +1 -1
- package/dist/{chunk-46Y4Y2RB.js → chunk-VEKFI5QZ.js} +3 -3
- package/dist/{chunk-46Y4Y2RB.js.map → chunk-VEKFI5QZ.js.map} +1 -1
- package/dist/{chunk-4JILES3G.js → chunk-VJYMPHQQ.js} +3 -2
- package/dist/chunk-VJYMPHQQ.js.map +1 -0
- package/dist/{chunk-C4U5EL4H.js → chunk-VQQSMW6M.js} +7 -7
- package/dist/{chunk-C4U5EL4H.js.map → chunk-VQQSMW6M.js.map} +1 -1
- package/dist/{chunk-BTMYAVRX.cjs → chunk-WUT3UHD6.cjs} +12 -12
- package/dist/{chunk-BTMYAVRX.cjs.map → chunk-WUT3UHD6.cjs.map} +1 -1
- package/dist/{chunk-HZWJL5Y4.js → chunk-XILM7MA7.js} +4 -4
- package/dist/{chunk-HZWJL5Y4.js.map → chunk-XILM7MA7.js.map} +1 -1
- package/dist/{chunk-73MURMD2.cjs → chunk-XLSJQAEP.cjs} +6 -6
- package/dist/{chunk-73MURMD2.cjs.map → chunk-XLSJQAEP.cjs.map} +1 -1
- package/dist/{chunk-WKSF3TVK.js → chunk-XRE4KFIZ.js} +7 -7
- package/dist/{chunk-WKSF3TVK.js.map → chunk-XRE4KFIZ.js.map} +1 -1
- package/dist/{chunk-TCWIDHH6.cjs → chunk-XTRPN52A.cjs} +3 -3
- package/dist/{chunk-TCWIDHH6.cjs.map → chunk-XTRPN52A.cjs.map} +1 -1
- package/dist/{chunk-UD7JBYUI.cjs → chunk-YIBM2OYI.cjs} +38 -38
- package/dist/{chunk-UD7JBYUI.cjs.map → chunk-YIBM2OYI.cjs.map} +1 -1
- package/dist/{chunk-UITLSJUW.cjs → chunk-YOHMEY6Q.cjs} +24 -24
- package/dist/{chunk-UITLSJUW.cjs.map → chunk-YOHMEY6Q.cjs.map} +1 -1
- package/dist/{chunk-56TEDJND.js → chunk-YUQSGB5C.js} +3 -3
- package/dist/{chunk-56TEDJND.js.map → chunk-YUQSGB5C.js.map} +1 -1
- package/dist/{chunk-GZ4HWZWE.cjs → chunk-YWUVDFQZ.cjs} +3 -3
- package/dist/{chunk-GZ4HWZWE.cjs.map → chunk-YWUVDFQZ.cjs.map} +1 -1
- package/dist/{chunk-EQ7LRJEB.cjs → chunk-Z6YXO2T6.cjs} +48 -48
- package/dist/{chunk-EQ7LRJEB.cjs.map → chunk-Z6YXO2T6.cjs.map} +1 -1
- package/dist/{chunk-TS5QYSEZ.js → chunk-Z7C226TD.js} +6 -6
- package/dist/{chunk-TS5QYSEZ.js.map → chunk-Z7C226TD.js.map} +1 -1
- package/dist/{chunk-M43CP74T.js → chunk-ZQSX425Q.js} +70 -70
- package/dist/chunk-ZQSX425Q.js.map +1 -0
- package/dist/{chunk-BTIK5TXF.cjs → chunk-ZVZBZOBY.cjs} +8 -8
- package/dist/{chunk-BTIK5TXF.cjs.map → chunk-ZVZBZOBY.cjs.map} +1 -1
- package/dist/{dist-OWZWIJZY.js → dist-EWY5C2JK.js} +5 -5
- package/dist/{dist-OWZWIJZY.js.map → dist-EWY5C2JK.js.map} +1 -1
- package/dist/{dist-TXDLPF66.cjs → dist-VNWFQ5X6.cjs} +20 -20
- package/dist/{dist-TXDLPF66.cjs.map → dist-VNWFQ5X6.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-Y5T2OR2Y-XDEBXWNA.cjs → observational-memory-NC6DQQWD-JNRVNM7E.cjs} +26 -26
- package/dist/{observational-memory-Y5T2OR2Y-XDEBXWNA.cjs.map → observational-memory-NC6DQQWD-JNRVNM7E.cjs.map} +1 -1
- package/dist/{observational-memory-Y5T2OR2Y-QDHR4QEU.js → observational-memory-NC6DQQWD-WWE3XZFF.js} +3 -3
- package/dist/{observational-memory-Y5T2OR2Y-QDHR4QEU.js.map → observational-memory-NC6DQQWD-WWE3XZFF.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 +17 -17
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-controller.cjs +144 -0
- package/dist/server/handlers/agent-controller.cjs.map +1 -0
- package/dist/server/handlers/{harness.d.ts → agent-controller.d.ts} +141 -141
- package/dist/server/handlers/agent-controller.d.ts.map +1 -0
- package/dist/server/handlers/agent-controller.js +3 -0
- package/dist/server/handlers/agent-controller.js.map +1 -0
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +46 -46
- package/dist/server/handlers/agents.d.ts +2 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +13 -13
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/authorship.cjs +12 -12
- package/dist/server/handlers/authorship.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +6 -6
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/channels.cjs +5 -5
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +6 -6
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +4 -4
- package/dist/server/handlers/favorites-enrichment.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/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-agent-favorites.cjs +3 -3
- package/dist/server/handlers/stored-agent-favorites.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +10 -10
- 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-skill-favorites.cjs +3 -3
- package/dist/server/handlers/stored-skill-favorites.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.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/tool-providers.cjs +14 -14
- package/dist/server/handlers/tool-providers.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/workflows.cjs +27 -27
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +22 -22
- package/dist/server/handlers.js +10 -10
- package/dist/server/schemas/agents.d.ts +1 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +536 -536
- package/dist/server/schemas/index.js +9 -9
- package/dist/server/server-adapter/index.cjs +42 -42
- package/dist/server/server-adapter/index.js +6 -6
- package/dist/server/server-adapter/routes/agent-controller.d.ts +6 -0
- package/dist/server/server-adapter/routes/agent-controller.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-3WE5YAL5.js.map +0 -1
- package/dist/chunk-3ZV6GYQI.cjs.map +0 -1
- package/dist/chunk-4JILES3G.js.map +0 -1
- package/dist/chunk-4LQSGGSH.cjs.map +0 -1
- package/dist/chunk-M43CP74T.js.map +0 -1
- package/dist/chunk-Q7EQLQS5.js.map +0 -1
- package/dist/chunk-QQCQV7ZF.cjs.map +0 -1
- package/dist/chunk-TPZFGGU4.cjs.map +0 -1
- package/dist/server/handlers/harness.cjs +0 -144
- package/dist/server/handlers/harness.cjs.map +0 -1
- package/dist/server/handlers/harness.d.ts.map +0 -1
- package/dist/server/handlers/harness.js +0 -3
- package/dist/server/handlers/harness.js.map +0 -1
- package/dist/server/server-adapter/routes/harness.d.ts +0 -3
- package/dist/server/server-adapter/routes/harness.d.ts.map +0 -1
|
@@ -8,19 +8,19 @@ var v4 = require('zod/v4');
|
|
|
8
8
|
function isReservedThreadMetadataKey(key) {
|
|
9
9
|
return key === "currentModelId" || key === "currentModeId" || key === "observerModelId" || key === "reflectorModelId" || key === "observationThreshold" || key === "reflectionThreshold" || key === "tokenUsage" || key.startsWith("modeModelId_");
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
const
|
|
13
|
-
if (!
|
|
14
|
-
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `
|
|
11
|
+
function getAgentControllerOrThrow(mastra, controllerId) {
|
|
12
|
+
const controller = mastra.getAgentController?.(controllerId);
|
|
13
|
+
if (!controller) {
|
|
14
|
+
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `agent controller "${controllerId}" not found` });
|
|
15
15
|
}
|
|
16
|
-
return
|
|
16
|
+
return controller;
|
|
17
17
|
}
|
|
18
|
-
async function getSession(
|
|
19
|
-
await
|
|
20
|
-
return
|
|
18
|
+
async function getSession(controller, resourceId, tags) {
|
|
19
|
+
await controller.init();
|
|
20
|
+
return controller.createSession({ resourceId, id: resourceId, ownerId: controller.id, tags });
|
|
21
21
|
}
|
|
22
|
-
var
|
|
23
|
-
var sessionPathParams = v4.z.object({
|
|
22
|
+
var controllerIdPathParams = v4.z.object({ controllerId: v4.z.string() });
|
|
23
|
+
var sessionPathParams = v4.z.object({ controllerId: v4.z.string(), resourceId: v4.z.string() });
|
|
24
24
|
var createSessionBodySchema = v4.z.object({
|
|
25
25
|
resourceId: v4.z.string(),
|
|
26
26
|
tags: v4.z.record(v4.z.string(), v4.z.string()).optional()
|
|
@@ -47,7 +47,7 @@ var switchModelBodySchema = v4.z.object({
|
|
|
47
47
|
var switchThreadBodySchema = v4.z.object({ threadId: v4.z.string() });
|
|
48
48
|
var createThreadBodySchema = v4.z.object({ title: v4.z.string().optional() });
|
|
49
49
|
var renameThreadBodySchema = v4.z.object({ title: v4.z.string() });
|
|
50
|
-
var threadPathParams = v4.z.object({
|
|
50
|
+
var threadPathParams = v4.z.object({ controllerId: v4.z.string(), resourceId: v4.z.string(), threadId: v4.z.string() });
|
|
51
51
|
var cloneThreadBodySchema = v4.z.object({
|
|
52
52
|
sourceThreadId: v4.z.string().optional(),
|
|
53
53
|
title: v4.z.string().optional()
|
|
@@ -77,11 +77,11 @@ var sendNotificationBodySchema = v4.z.object({
|
|
|
77
77
|
attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
|
|
78
78
|
metadata: v4.z.record(v4.z.string(), v4.z.unknown()).optional()
|
|
79
79
|
});
|
|
80
|
-
var
|
|
81
|
-
|
|
80
|
+
var listAgentControllersResponseSchema = v4.z.object({
|
|
81
|
+
agentControllers: v4.z.array(v4.z.object({ id: v4.z.string() }))
|
|
82
82
|
});
|
|
83
83
|
var createSessionResponseSchema = v4.z.object({
|
|
84
|
-
|
|
84
|
+
controllerId: v4.z.string(),
|
|
85
85
|
resourceId: v4.z.string(),
|
|
86
86
|
threadId: v4.z.string().optional()
|
|
87
87
|
});
|
|
@@ -106,7 +106,7 @@ var sessionSettingsSchema = v4.z.object({
|
|
|
106
106
|
smartEditing: v4.z.boolean()
|
|
107
107
|
});
|
|
108
108
|
var sessionStateResponseSchema = v4.z.object({
|
|
109
|
-
|
|
109
|
+
controllerId: v4.z.string(),
|
|
110
110
|
resourceId: v4.z.string(),
|
|
111
111
|
threadId: v4.z.string().optional(),
|
|
112
112
|
modeId: v4.z.string(),
|
|
@@ -181,67 +181,70 @@ var setToolPermissionBodySchema = v4.z.object({
|
|
|
181
181
|
toolName: v4.z.string(),
|
|
182
182
|
policy: permissionPolicyEnum
|
|
183
183
|
});
|
|
184
|
-
var
|
|
184
|
+
var LIST_AGENT_CONTROLLERS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
185
185
|
method: "GET",
|
|
186
|
-
path: "/
|
|
186
|
+
path: "/agent-controller",
|
|
187
187
|
responseType: "json",
|
|
188
|
-
responseSchema:
|
|
189
|
-
summary: "List
|
|
190
|
-
description: "Lists the
|
|
191
|
-
tags: ["
|
|
188
|
+
responseSchema: listAgentControllersResponseSchema,
|
|
189
|
+
summary: "List agent controllers",
|
|
190
|
+
description: "Lists the agent controllers hosted on this Mastra instance.",
|
|
191
|
+
tags: ["AgentController"],
|
|
192
192
|
requiresAuth: true,
|
|
193
|
-
requiresPermission: "
|
|
193
|
+
requiresPermission: "agent-controller:read",
|
|
194
194
|
handler: async ({ mastra }) => {
|
|
195
195
|
try {
|
|
196
|
-
const
|
|
197
|
-
|
|
196
|
+
const ids = /* @__PURE__ */ new Set();
|
|
197
|
+
if (mastra.listAgentControllers) {
|
|
198
|
+
for (const id of Object.keys(mastra.listAgentControllers())) ids.add(id);
|
|
199
|
+
}
|
|
200
|
+
return { agentControllers: Array.from(ids).map((id) => ({ id })) };
|
|
198
201
|
} catch (error) {
|
|
199
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error listing
|
|
202
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error listing agent controllers");
|
|
200
203
|
}
|
|
201
204
|
}
|
|
202
205
|
});
|
|
203
|
-
var
|
|
206
|
+
var CREATE_AGENT_CONTROLLER_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
204
207
|
method: "POST",
|
|
205
|
-
path: "/
|
|
208
|
+
path: "/agent-controller/:controllerId/sessions",
|
|
206
209
|
responseType: "json",
|
|
207
|
-
pathParamSchema:
|
|
210
|
+
pathParamSchema: controllerIdPathParams,
|
|
208
211
|
bodySchema: createSessionBodySchema,
|
|
209
212
|
responseSchema: createSessionResponseSchema,
|
|
210
|
-
summary: "Create or resume a
|
|
213
|
+
summary: "Create or resume a controller session",
|
|
211
214
|
description: "Creates a session for the given resourceId, or returns the existing one (get-or-create), so reconnects resume the conversation.",
|
|
212
|
-
tags: ["
|
|
215
|
+
tags: ["AgentController"],
|
|
213
216
|
requiresAuth: true,
|
|
214
|
-
requiresPermission: "
|
|
215
|
-
handler: async ({ mastra,
|
|
217
|
+
requiresPermission: "agent-controller:execute",
|
|
218
|
+
handler: async ({ mastra, controllerId, resourceId, tags }) => {
|
|
216
219
|
try {
|
|
217
|
-
const
|
|
218
|
-
const session = await getSession(
|
|
220
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
221
|
+
const session = await getSession(controller, resourceId, tags);
|
|
219
222
|
return {
|
|
220
|
-
|
|
223
|
+
controllerId,
|
|
221
224
|
resourceId,
|
|
222
225
|
threadId: session.thread.getId() ?? void 0
|
|
223
226
|
};
|
|
224
227
|
} catch (error) {
|
|
225
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error creating
|
|
228
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error creating controller session");
|
|
226
229
|
}
|
|
227
230
|
}
|
|
228
231
|
});
|
|
229
|
-
var
|
|
232
|
+
var STREAM_AGENT_CONTROLLER_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
230
233
|
method: "GET",
|
|
231
|
-
path: "/
|
|
234
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/stream",
|
|
232
235
|
responseType: "stream",
|
|
233
236
|
streamFormat: "sse",
|
|
234
237
|
sseFlushOnConnect: true,
|
|
235
238
|
pathParamSchema: sessionPathParams,
|
|
236
|
-
summary: "Stream
|
|
239
|
+
summary: "Stream controller session events",
|
|
237
240
|
description: "Subscribes to a session\u2019s event bus and streams events to the client over SSE.",
|
|
238
|
-
tags: ["
|
|
241
|
+
tags: ["AgentController", "Streaming"],
|
|
239
242
|
requiresAuth: true,
|
|
240
|
-
requiresPermission: "
|
|
241
|
-
handler: async ({ mastra,
|
|
243
|
+
requiresPermission: "agent-controller:read",
|
|
244
|
+
handler: async ({ mastra, controllerId, resourceId, abortSignal }) => {
|
|
242
245
|
try {
|
|
243
|
-
const
|
|
244
|
-
const session = await getSession(
|
|
246
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
247
|
+
const session = await getSession(controller, resourceId);
|
|
245
248
|
let cleanedUp = false;
|
|
246
249
|
let heartbeat;
|
|
247
250
|
let unsubscribe;
|
|
@@ -251,20 +254,20 @@ var STREAM_HARNESS_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
251
254
|
heartbeat = void 0;
|
|
252
255
|
}
|
|
253
256
|
};
|
|
254
|
-
const cleanup = (
|
|
257
|
+
const cleanup = (controller2) => {
|
|
255
258
|
if (cleanedUp) return;
|
|
256
259
|
cleanedUp = true;
|
|
257
260
|
clearHeartbeat();
|
|
258
261
|
unsubscribe?.();
|
|
259
|
-
if (
|
|
262
|
+
if (controller2) {
|
|
260
263
|
try {
|
|
261
|
-
|
|
264
|
+
controller2.close();
|
|
262
265
|
} catch {
|
|
263
266
|
}
|
|
264
267
|
}
|
|
265
268
|
};
|
|
266
269
|
return new ReadableStream({
|
|
267
|
-
start(
|
|
270
|
+
start(controller2) {
|
|
268
271
|
const scheduleHeartbeat = () => {
|
|
269
272
|
if (cleanedUp) return;
|
|
270
273
|
clearHeartbeat();
|
|
@@ -272,7 +275,7 @@ var STREAM_HARNESS_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
272
275
|
heartbeat = void 0;
|
|
273
276
|
if (cleanedUp) return;
|
|
274
277
|
try {
|
|
275
|
-
|
|
278
|
+
controller2.enqueue(": heartbeat\n\n");
|
|
276
279
|
} catch {
|
|
277
280
|
cleanup();
|
|
278
281
|
return;
|
|
@@ -283,13 +286,13 @@ var STREAM_HARNESS_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
283
286
|
unsubscribe = session.subscribe((event) => {
|
|
284
287
|
if (cleanedUp) return;
|
|
285
288
|
try {
|
|
286
|
-
|
|
289
|
+
controller2.enqueue(event);
|
|
287
290
|
scheduleHeartbeat();
|
|
288
291
|
} catch {
|
|
289
292
|
cleanup();
|
|
290
293
|
}
|
|
291
294
|
});
|
|
292
|
-
const abortCleanup = () => cleanup(
|
|
295
|
+
const abortCleanup = () => cleanup(controller2);
|
|
293
296
|
abortSignal?.addEventListener("abort", abortCleanup, { once: true });
|
|
294
297
|
scheduleHeartbeat();
|
|
295
298
|
},
|
|
@@ -298,215 +301,215 @@ var STREAM_HARNESS_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
298
301
|
}
|
|
299
302
|
});
|
|
300
303
|
} catch (error) {
|
|
301
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error streaming
|
|
304
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error streaming controller session");
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
307
|
});
|
|
305
|
-
var
|
|
308
|
+
var SEND_AGENT_CONTROLLER_MESSAGE_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
306
309
|
method: "POST",
|
|
307
|
-
path: "/
|
|
310
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/messages",
|
|
308
311
|
responseType: "json",
|
|
309
312
|
pathParamSchema: sessionPathParams,
|
|
310
313
|
bodySchema: sendMessageBodySchema,
|
|
311
314
|
responseSchema: ackResponseSchema,
|
|
312
|
-
summary: "Send a message to a
|
|
315
|
+
summary: "Send a message to a controller session",
|
|
313
316
|
description: "Sends a user message to the session. The reply streams as events on the session\u2019s SSE stream.",
|
|
314
|
-
tags: ["
|
|
317
|
+
tags: ["AgentController", "Streaming"],
|
|
315
318
|
requiresAuth: true,
|
|
316
|
-
requiresPermission: "
|
|
317
|
-
handler: async ({ mastra,
|
|
319
|
+
requiresPermission: "agent-controller:execute",
|
|
320
|
+
handler: async ({ mastra, controllerId, resourceId, message }) => {
|
|
318
321
|
try {
|
|
319
|
-
const
|
|
320
|
-
const session = await getSession(
|
|
322
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
323
|
+
const session = await getSession(controller, resourceId);
|
|
321
324
|
void session.sendMessage({ content: message });
|
|
322
325
|
return { ok: true };
|
|
323
326
|
} catch (error) {
|
|
324
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error sending
|
|
327
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error sending controller message");
|
|
325
328
|
}
|
|
326
329
|
}
|
|
327
330
|
});
|
|
328
|
-
var
|
|
331
|
+
var ABORT_AGENT_CONTROLLER_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
329
332
|
method: "POST",
|
|
330
|
-
path: "/
|
|
333
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/abort",
|
|
331
334
|
responseType: "json",
|
|
332
335
|
pathParamSchema: sessionPathParams,
|
|
333
336
|
responseSchema: ackResponseSchema,
|
|
334
|
-
summary: "Abort a
|
|
337
|
+
summary: "Abort a controller session run",
|
|
335
338
|
description: "Aborts the in-flight run for the session, if any.",
|
|
336
|
-
tags: ["
|
|
339
|
+
tags: ["AgentController"],
|
|
337
340
|
requiresAuth: true,
|
|
338
|
-
requiresPermission: "
|
|
339
|
-
handler: async ({ mastra,
|
|
341
|
+
requiresPermission: "agent-controller:execute",
|
|
342
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
340
343
|
try {
|
|
341
|
-
const
|
|
342
|
-
const session = await getSession(
|
|
344
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
345
|
+
const session = await getSession(controller, resourceId);
|
|
343
346
|
session.abort();
|
|
344
347
|
return { ok: true };
|
|
345
348
|
} catch (error) {
|
|
346
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error aborting
|
|
349
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error aborting controller session");
|
|
347
350
|
}
|
|
348
351
|
}
|
|
349
352
|
});
|
|
350
|
-
var
|
|
353
|
+
var AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
351
354
|
method: "POST",
|
|
352
|
-
path: "/
|
|
355
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/tool-approval",
|
|
353
356
|
responseType: "json",
|
|
354
357
|
pathParamSchema: sessionPathParams,
|
|
355
358
|
bodySchema: toolApprovalBodySchema,
|
|
356
359
|
responseSchema: ackResponseSchema,
|
|
357
|
-
summary: "Respond to a
|
|
360
|
+
summary: "Respond to a controller tool approval",
|
|
358
361
|
description: "Approves or declines a pending tool call surfaced by the session.",
|
|
359
|
-
tags: ["
|
|
362
|
+
tags: ["AgentController"],
|
|
360
363
|
requiresAuth: true,
|
|
361
|
-
requiresPermission: "
|
|
362
|
-
handler: async ({ mastra,
|
|
364
|
+
requiresPermission: "agent-controller:execute",
|
|
365
|
+
handler: async ({ mastra, controllerId, resourceId, toolCallId, approved }) => {
|
|
363
366
|
try {
|
|
364
|
-
const
|
|
365
|
-
const session = await getSession(
|
|
367
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
368
|
+
const session = await getSession(controller, resourceId);
|
|
366
369
|
session.respondToToolApproval({ toolCallId, decision: approved ? "approve" : "decline" });
|
|
367
370
|
return { ok: true };
|
|
368
371
|
} catch (error) {
|
|
369
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error responding to
|
|
372
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error responding to controller tool approval");
|
|
370
373
|
}
|
|
371
374
|
}
|
|
372
375
|
});
|
|
373
|
-
var
|
|
376
|
+
var AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
374
377
|
method: "POST",
|
|
375
|
-
path: "/
|
|
378
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/tool-suspension",
|
|
376
379
|
responseType: "json",
|
|
377
380
|
pathParamSchema: sessionPathParams,
|
|
378
381
|
bodySchema: toolSuspensionBodySchema,
|
|
379
382
|
responseSchema: ackResponseSchema,
|
|
380
|
-
summary: "Respond to a suspended
|
|
383
|
+
summary: "Respond to a suspended controller tool",
|
|
381
384
|
description: "Resumes a suspended interactive tool (ask_user, request_access, submit_plan) with the provided resume data.",
|
|
382
|
-
tags: ["
|
|
385
|
+
tags: ["AgentController"],
|
|
383
386
|
requiresAuth: true,
|
|
384
|
-
requiresPermission: "
|
|
385
|
-
handler: async ({ mastra,
|
|
387
|
+
requiresPermission: "agent-controller:execute",
|
|
388
|
+
handler: async ({ mastra, controllerId, resourceId, toolCallId, resumeData }) => {
|
|
386
389
|
try {
|
|
387
|
-
const
|
|
388
|
-
const session = await getSession(
|
|
390
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
391
|
+
const session = await getSession(controller, resourceId);
|
|
389
392
|
await session.respondToToolSuspension({ toolCallId, resumeData });
|
|
390
393
|
return { ok: true };
|
|
391
394
|
} catch (error) {
|
|
392
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error responding to
|
|
395
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error responding to controller tool suspension");
|
|
393
396
|
}
|
|
394
397
|
}
|
|
395
398
|
});
|
|
396
|
-
var
|
|
399
|
+
var STEER_AGENT_CONTROLLER_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
397
400
|
method: "POST",
|
|
398
|
-
path: "/
|
|
401
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/steer",
|
|
399
402
|
responseType: "json",
|
|
400
403
|
pathParamSchema: sessionPathParams,
|
|
401
404
|
bodySchema: steerBodySchema,
|
|
402
405
|
responseSchema: ackResponseSchema,
|
|
403
406
|
summary: "Steer the in-flight run",
|
|
404
407
|
description: "Injects a message into the running turn (interjection) without starting a new run.",
|
|
405
|
-
tags: ["
|
|
408
|
+
tags: ["AgentController"],
|
|
406
409
|
requiresAuth: true,
|
|
407
|
-
requiresPermission: "
|
|
408
|
-
handler: async ({ mastra,
|
|
410
|
+
requiresPermission: "agent-controller:execute",
|
|
411
|
+
handler: async ({ mastra, controllerId, resourceId, message }) => {
|
|
409
412
|
try {
|
|
410
|
-
const
|
|
411
|
-
const session = await getSession(
|
|
413
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
414
|
+
const session = await getSession(controller, resourceId);
|
|
412
415
|
void session.steer({ content: message });
|
|
413
416
|
return { ok: true };
|
|
414
417
|
} catch (error) {
|
|
415
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error steering
|
|
418
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error steering controller session");
|
|
416
419
|
}
|
|
417
420
|
}
|
|
418
421
|
});
|
|
419
|
-
var
|
|
422
|
+
var SWITCH_AGENT_CONTROLLER_MODE_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
420
423
|
method: "POST",
|
|
421
|
-
path: "/
|
|
424
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/mode",
|
|
422
425
|
responseType: "json",
|
|
423
426
|
pathParamSchema: sessionPathParams,
|
|
424
427
|
bodySchema: switchModeBodySchema,
|
|
425
428
|
responseSchema: ackResponseSchema,
|
|
426
429
|
summary: "Switch the session mode",
|
|
427
430
|
description: "Switches the active mode (e.g. build, plan) for the session.",
|
|
428
|
-
tags: ["
|
|
431
|
+
tags: ["AgentController"],
|
|
429
432
|
requiresAuth: true,
|
|
430
|
-
requiresPermission: "
|
|
431
|
-
handler: async ({ mastra,
|
|
433
|
+
requiresPermission: "agent-controller:execute",
|
|
434
|
+
handler: async ({ mastra, controllerId, resourceId, modeId }) => {
|
|
432
435
|
try {
|
|
433
|
-
const
|
|
434
|
-
const session = await getSession(
|
|
436
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
437
|
+
const session = await getSession(controller, resourceId);
|
|
435
438
|
await session.mode.switch({ modeId });
|
|
436
439
|
return { ok: true };
|
|
437
440
|
} catch (error) {
|
|
438
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error switching
|
|
441
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error switching controller mode");
|
|
439
442
|
}
|
|
440
443
|
}
|
|
441
444
|
});
|
|
442
|
-
var
|
|
445
|
+
var SWITCH_AGENT_CONTROLLER_MODEL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
443
446
|
method: "POST",
|
|
444
|
-
path: "/
|
|
447
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/model",
|
|
445
448
|
responseType: "json",
|
|
446
449
|
pathParamSchema: sessionPathParams,
|
|
447
450
|
bodySchema: switchModelBodySchema,
|
|
448
451
|
responseSchema: ackResponseSchema,
|
|
449
452
|
summary: "Switch the session model",
|
|
450
453
|
description: "Switches the model for the session, scoped to the thread by default.",
|
|
451
|
-
tags: ["
|
|
454
|
+
tags: ["AgentController"],
|
|
452
455
|
requiresAuth: true,
|
|
453
|
-
requiresPermission: "
|
|
454
|
-
handler: async ({ mastra,
|
|
456
|
+
requiresPermission: "agent-controller:execute",
|
|
457
|
+
handler: async ({ mastra, controllerId, resourceId, modelId, scope, modeId }) => {
|
|
455
458
|
try {
|
|
456
|
-
const
|
|
457
|
-
const session = await getSession(
|
|
459
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
460
|
+
const session = await getSession(controller, resourceId);
|
|
458
461
|
await session.model.switch({ modelId, scope, modeId });
|
|
459
462
|
return { ok: true };
|
|
460
463
|
} catch (error) {
|
|
461
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error switching
|
|
464
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error switching controller model");
|
|
462
465
|
}
|
|
463
466
|
}
|
|
464
467
|
});
|
|
465
|
-
var
|
|
468
|
+
var SWITCH_AGENT_CONTROLLER_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
466
469
|
method: "POST",
|
|
467
|
-
path: "/
|
|
470
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/thread",
|
|
468
471
|
responseType: "json",
|
|
469
472
|
pathParamSchema: sessionPathParams,
|
|
470
473
|
bodySchema: switchThreadBodySchema,
|
|
471
474
|
responseSchema: ackResponseSchema,
|
|
472
475
|
summary: "Switch the session thread",
|
|
473
476
|
description: "Switches the session to an existing thread (rebinding its stream and state).",
|
|
474
|
-
tags: ["
|
|
477
|
+
tags: ["AgentController"],
|
|
475
478
|
requiresAuth: true,
|
|
476
|
-
requiresPermission: "
|
|
477
|
-
handler: async ({ mastra,
|
|
479
|
+
requiresPermission: "agent-controller:execute",
|
|
480
|
+
handler: async ({ mastra, controllerId, resourceId, threadId }) => {
|
|
478
481
|
try {
|
|
479
|
-
const
|
|
480
|
-
const session = await getSession(
|
|
482
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
483
|
+
const session = await getSession(controller, resourceId);
|
|
481
484
|
await session.thread.switch({ threadId });
|
|
482
485
|
return { ok: true };
|
|
483
486
|
} catch (error) {
|
|
484
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error switching
|
|
487
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error switching controller thread");
|
|
485
488
|
}
|
|
486
489
|
}
|
|
487
490
|
});
|
|
488
|
-
var
|
|
491
|
+
var GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
489
492
|
method: "GET",
|
|
490
|
-
path: "/
|
|
493
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId",
|
|
491
494
|
responseType: "json",
|
|
492
495
|
pathParamSchema: sessionPathParams,
|
|
493
496
|
responseSchema: sessionStateResponseSchema,
|
|
494
497
|
summary: "Get session state",
|
|
495
498
|
description: "Returns the current mode, model, and thread for the session (for initial UI hydration).",
|
|
496
|
-
tags: ["
|
|
499
|
+
tags: ["AgentController"],
|
|
497
500
|
requiresAuth: true,
|
|
498
|
-
requiresPermission: "
|
|
499
|
-
handler: async ({ mastra,
|
|
501
|
+
requiresPermission: "agent-controller:read",
|
|
502
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
500
503
|
try {
|
|
501
|
-
const
|
|
502
|
-
const session = await getSession(
|
|
504
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
505
|
+
const session = await getSession(controller, resourceId);
|
|
503
506
|
const ds = session.displayState.get();
|
|
504
507
|
const om = ds.omProgress;
|
|
505
508
|
const reflectionSavings = om.buffered.reflection.inputObservationTokens - om.buffered.reflection.observationTokens;
|
|
506
509
|
const st = session.state.get();
|
|
507
510
|
const oneOf = (value, allowed, fallback) => allowed.includes(value) ? value : fallback;
|
|
508
511
|
return {
|
|
509
|
-
|
|
512
|
+
controllerId,
|
|
510
513
|
resourceId,
|
|
511
514
|
threadId: session.thread.getId() ?? void 0,
|
|
512
515
|
modeId: session.mode.get(),
|
|
@@ -531,48 +534,48 @@ var GET_HARNESS_SESSION_STATE_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
531
534
|
}
|
|
532
535
|
};
|
|
533
536
|
} catch (error) {
|
|
534
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error reading
|
|
537
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error reading controller session state");
|
|
535
538
|
}
|
|
536
539
|
}
|
|
537
540
|
});
|
|
538
|
-
var
|
|
541
|
+
var LIST_AGENT_CONTROLLER_MODES_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
539
542
|
method: "GET",
|
|
540
|
-
path: "/
|
|
543
|
+
path: "/agent-controller/:controllerId/modes",
|
|
541
544
|
responseType: "json",
|
|
542
|
-
pathParamSchema:
|
|
545
|
+
pathParamSchema: controllerIdPathParams,
|
|
543
546
|
responseSchema: listModesResponseSchema,
|
|
544
|
-
summary: "List
|
|
545
|
-
description: "Lists the modes configured on the
|
|
546
|
-
tags: ["
|
|
547
|
+
summary: "List controller modes",
|
|
548
|
+
description: "Lists the modes configured on the controller (e.g. build, plan).",
|
|
549
|
+
tags: ["AgentController"],
|
|
547
550
|
requiresAuth: true,
|
|
548
|
-
requiresPermission: "
|
|
549
|
-
handler: async ({ mastra,
|
|
551
|
+
requiresPermission: "agent-controller:read",
|
|
552
|
+
handler: async ({ mastra, controllerId }) => {
|
|
550
553
|
try {
|
|
551
|
-
const
|
|
554
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
552
555
|
return {
|
|
553
|
-
modes:
|
|
556
|
+
modes: controller.listModes().map((mode) => ({ id: mode.id, name: mode.name }))
|
|
554
557
|
};
|
|
555
558
|
} catch (error) {
|
|
556
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error listing
|
|
559
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error listing controller modes");
|
|
557
560
|
}
|
|
558
561
|
}
|
|
559
562
|
});
|
|
560
|
-
var
|
|
563
|
+
var LIST_AGENT_CONTROLLER_THREADS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
561
564
|
method: "GET",
|
|
562
|
-
path: "/
|
|
565
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/threads",
|
|
563
566
|
responseType: "json",
|
|
564
567
|
pathParamSchema: sessionPathParams,
|
|
565
568
|
queryParamSchema: listThreadsQuerySchema,
|
|
566
569
|
responseSchema: listThreadsResponseSchema,
|
|
567
570
|
summary: "List session threads",
|
|
568
571
|
description: "Lists the threads for the session\u2019s resource, most-recently-updated first. Pass `limit` to return only the newest N (e.g. for a sidebar). Pass `tags` (a JSON-encoded object) to scope the list to threads matching every tag \u2014 e.g. `{ projectPath }` so git worktrees sharing a resourceId each see only their own threads.",
|
|
569
|
-
tags: ["
|
|
572
|
+
tags: ["AgentController"],
|
|
570
573
|
requiresAuth: true,
|
|
571
|
-
requiresPermission: "
|
|
572
|
-
handler: async ({ mastra,
|
|
574
|
+
requiresPermission: "agent-controller:read",
|
|
575
|
+
handler: async ({ mastra, controllerId, resourceId, limit, tags }) => {
|
|
573
576
|
try {
|
|
574
|
-
const
|
|
575
|
-
const session = await getSession(
|
|
577
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
578
|
+
const session = await getSession(controller, resourceId);
|
|
576
579
|
const threads = await session.thread.list();
|
|
577
580
|
const getTags = (t) => {
|
|
578
581
|
const metadata = t.metadata ?? {};
|
|
@@ -603,13 +606,13 @@ var LIST_HARNESS_THREADS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
603
606
|
})
|
|
604
607
|
};
|
|
605
608
|
} catch (error) {
|
|
606
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error listing
|
|
609
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error listing controller threads");
|
|
607
610
|
}
|
|
608
611
|
}
|
|
609
612
|
});
|
|
610
|
-
var
|
|
613
|
+
var SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
611
614
|
method: "POST",
|
|
612
|
-
path: "/
|
|
615
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/notifications",
|
|
613
616
|
responseType: "json",
|
|
614
617
|
pathParamSchema: sessionPathParams,
|
|
615
618
|
bodySchema: sendNotificationBodySchema,
|
|
@@ -621,12 +624,12 @@ var SEND_HARNESS_NOTIFICATION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
621
624
|
}),
|
|
622
625
|
summary: "Send a notification signal to a session",
|
|
623
626
|
description: "Delivers a notification to the session\u2019s current agent/thread. The agent\u2019s delivery policy determines whether the notification wakes an idle thread, is summarised, or is persisted for later.",
|
|
624
|
-
tags: ["
|
|
627
|
+
tags: ["AgentController"],
|
|
625
628
|
requiresAuth: true,
|
|
626
|
-
requiresPermission: "
|
|
629
|
+
requiresPermission: "agent-controller:execute",
|
|
627
630
|
handler: async ({
|
|
628
631
|
mastra,
|
|
629
|
-
|
|
632
|
+
controllerId,
|
|
630
633
|
resourceId,
|
|
631
634
|
source,
|
|
632
635
|
kind,
|
|
@@ -640,8 +643,8 @@ var SEND_HARNESS_NOTIFICATION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
640
643
|
metadata
|
|
641
644
|
}) => {
|
|
642
645
|
try {
|
|
643
|
-
const
|
|
644
|
-
const session = await getSession(
|
|
646
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
647
|
+
const session = await getSession(controller, resourceId);
|
|
645
648
|
const result = await session.sendNotificationSignal({
|
|
646
649
|
source,
|
|
647
650
|
kind,
|
|
@@ -661,26 +664,26 @@ var SEND_HARNESS_NOTIFICATION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
661
664
|
runId: result.runId
|
|
662
665
|
};
|
|
663
666
|
} catch (error) {
|
|
664
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error sending
|
|
667
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error sending controller notification");
|
|
665
668
|
}
|
|
666
669
|
}
|
|
667
670
|
});
|
|
668
|
-
var
|
|
671
|
+
var CREATE_AGENT_CONTROLLER_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
669
672
|
method: "POST",
|
|
670
|
-
path: "/
|
|
673
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/threads",
|
|
671
674
|
responseType: "json",
|
|
672
675
|
pathParamSchema: sessionPathParams,
|
|
673
676
|
bodySchema: createThreadBodySchema,
|
|
674
677
|
responseSchema: threadResponseSchema,
|
|
675
678
|
summary: "Create a new thread",
|
|
676
679
|
description: "Creates a new thread in the session (unbinds the previous thread, binds the new one).",
|
|
677
|
-
tags: ["
|
|
680
|
+
tags: ["AgentController", "Threads"],
|
|
678
681
|
requiresAuth: true,
|
|
679
|
-
requiresPermission: "
|
|
680
|
-
handler: async ({ mastra,
|
|
682
|
+
requiresPermission: "agent-controller:execute",
|
|
683
|
+
handler: async ({ mastra, controllerId, resourceId, title }) => {
|
|
681
684
|
try {
|
|
682
|
-
const
|
|
683
|
-
const session = await getSession(
|
|
685
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
686
|
+
const session = await getSession(controller, resourceId);
|
|
684
687
|
const thread = await session.thread.create({ title });
|
|
685
688
|
return {
|
|
686
689
|
id: thread.id,
|
|
@@ -690,74 +693,74 @@ var CREATE_HARNESS_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
690
693
|
updatedAt: thread.updatedAt instanceof Date ? thread.updatedAt.toISOString() : void 0
|
|
691
694
|
};
|
|
692
695
|
} catch (error) {
|
|
693
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error creating
|
|
696
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error creating controller thread");
|
|
694
697
|
}
|
|
695
698
|
}
|
|
696
699
|
});
|
|
697
|
-
var
|
|
700
|
+
var DELETE_AGENT_CONTROLLER_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
698
701
|
method: "DELETE",
|
|
699
|
-
path: "/
|
|
702
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId",
|
|
700
703
|
responseType: "json",
|
|
701
704
|
pathParamSchema: threadPathParams,
|
|
702
705
|
responseSchema: ackResponseSchema,
|
|
703
706
|
summary: "Delete a thread",
|
|
704
707
|
description: "Deletes a thread. If the deleted thread is the active one, the session is unbound.",
|
|
705
|
-
tags: ["
|
|
708
|
+
tags: ["AgentController", "Threads"],
|
|
706
709
|
requiresAuth: true,
|
|
707
|
-
requiresPermission: "
|
|
708
|
-
handler: async ({ mastra,
|
|
710
|
+
requiresPermission: "agent-controller:execute",
|
|
711
|
+
handler: async ({ mastra, controllerId, resourceId, threadId }) => {
|
|
709
712
|
try {
|
|
710
|
-
const
|
|
711
|
-
const session = await getSession(
|
|
713
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
714
|
+
const session = await getSession(controller, resourceId);
|
|
712
715
|
await session.thread.delete({ threadId });
|
|
713
716
|
return { ok: true };
|
|
714
717
|
} catch (error) {
|
|
715
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error deleting
|
|
718
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error deleting controller thread");
|
|
716
719
|
}
|
|
717
720
|
}
|
|
718
721
|
});
|
|
719
|
-
var
|
|
722
|
+
var RENAME_AGENT_CONTROLLER_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
720
723
|
method: "PUT",
|
|
721
|
-
path: "/
|
|
724
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId",
|
|
722
725
|
responseType: "json",
|
|
723
726
|
pathParamSchema: threadPathParams,
|
|
724
727
|
bodySchema: renameThreadBodySchema,
|
|
725
728
|
responseSchema: ackResponseSchema,
|
|
726
729
|
summary: "Rename a thread",
|
|
727
730
|
description: "Renames the specified thread.",
|
|
728
|
-
tags: ["
|
|
731
|
+
tags: ["AgentController", "Threads"],
|
|
729
732
|
requiresAuth: true,
|
|
730
|
-
requiresPermission: "
|
|
731
|
-
handler: async ({ mastra,
|
|
733
|
+
requiresPermission: "agent-controller:execute",
|
|
734
|
+
handler: async ({ mastra, controllerId, resourceId, threadId, title }) => {
|
|
732
735
|
try {
|
|
733
|
-
const
|
|
734
|
-
const session = await getSession(
|
|
736
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
737
|
+
const session = await getSession(controller, resourceId);
|
|
735
738
|
if (session.thread.getId() !== threadId) {
|
|
736
739
|
await session.thread.switch({ threadId });
|
|
737
740
|
}
|
|
738
741
|
await session.thread.rename({ title });
|
|
739
742
|
return { ok: true };
|
|
740
743
|
} catch (error) {
|
|
741
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error renaming
|
|
744
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error renaming controller thread");
|
|
742
745
|
}
|
|
743
746
|
}
|
|
744
747
|
});
|
|
745
|
-
var
|
|
748
|
+
var CLONE_AGENT_CONTROLLER_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
746
749
|
method: "POST",
|
|
747
|
-
path: "/
|
|
750
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/clone",
|
|
748
751
|
responseType: "json",
|
|
749
752
|
pathParamSchema: sessionPathParams,
|
|
750
753
|
bodySchema: cloneThreadBodySchema,
|
|
751
754
|
responseSchema: threadResponseSchema,
|
|
752
755
|
summary: "Clone a thread",
|
|
753
756
|
description: "Clones a thread (and its messages). The session binds to the new clone.",
|
|
754
|
-
tags: ["
|
|
757
|
+
tags: ["AgentController", "Threads"],
|
|
755
758
|
requiresAuth: true,
|
|
756
|
-
requiresPermission: "
|
|
757
|
-
handler: async ({ mastra,
|
|
759
|
+
requiresPermission: "agent-controller:execute",
|
|
760
|
+
handler: async ({ mastra, controllerId, resourceId, sourceThreadId, title }) => {
|
|
758
761
|
try {
|
|
759
|
-
const
|
|
760
|
-
const session = await getSession(
|
|
762
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
763
|
+
const session = await getSession(controller, resourceId);
|
|
761
764
|
const thread = await session.thread.clone({ sourceThreadId, title });
|
|
762
765
|
return {
|
|
763
766
|
id: thread.id,
|
|
@@ -767,26 +770,26 @@ var CLONE_HARNESS_THREAD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
767
770
|
updatedAt: thread.updatedAt instanceof Date ? thread.updatedAt.toISOString() : void 0
|
|
768
771
|
};
|
|
769
772
|
} catch (error) {
|
|
770
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error cloning
|
|
773
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error cloning controller thread");
|
|
771
774
|
}
|
|
772
775
|
}
|
|
773
776
|
});
|
|
774
|
-
var
|
|
777
|
+
var LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
775
778
|
method: "GET",
|
|
776
|
-
path: "/
|
|
779
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/threads/:threadId/messages",
|
|
777
780
|
responseType: "json",
|
|
778
781
|
pathParamSchema: threadPathParams,
|
|
779
782
|
queryParamSchema: listMessagesQuerySchema,
|
|
780
783
|
responseSchema: listMessagesResponseSchema,
|
|
781
784
|
summary: "List thread messages",
|
|
782
785
|
description: "Lists messages for a specific thread. Returns most recent messages first.",
|
|
783
|
-
tags: ["
|
|
786
|
+
tags: ["AgentController", "Threads"],
|
|
784
787
|
requiresAuth: true,
|
|
785
|
-
requiresPermission: "
|
|
786
|
-
handler: async ({ mastra,
|
|
788
|
+
requiresPermission: "agent-controller:read",
|
|
789
|
+
handler: async ({ mastra, controllerId, resourceId, threadId, limit }) => {
|
|
787
790
|
try {
|
|
788
|
-
const
|
|
789
|
-
const session = await getSession(
|
|
791
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
792
|
+
const session = await getSession(controller, resourceId);
|
|
790
793
|
const messages = await session.thread.listMessages({ threadId, limit });
|
|
791
794
|
return {
|
|
792
795
|
messages: messages.map((m) => ({
|
|
@@ -797,49 +800,49 @@ var LIST_HARNESS_THREAD_MESSAGES_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
797
800
|
}))
|
|
798
801
|
};
|
|
799
802
|
} catch (error) {
|
|
800
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error listing
|
|
803
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error listing controller thread messages");
|
|
801
804
|
}
|
|
802
805
|
}
|
|
803
806
|
});
|
|
804
|
-
var
|
|
807
|
+
var FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
805
808
|
method: "POST",
|
|
806
|
-
path: "/
|
|
809
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/follow-up",
|
|
807
810
|
responseType: "json",
|
|
808
811
|
pathParamSchema: sessionPathParams,
|
|
809
812
|
bodySchema: followUpBodySchema,
|
|
810
813
|
responseSchema: ackResponseSchema,
|
|
811
814
|
summary: "Queue a follow-up message",
|
|
812
815
|
description: "Queues a follow-up message. If the session is idle it sends immediately; if a run is active it queues for after completion.",
|
|
813
|
-
tags: ["
|
|
816
|
+
tags: ["AgentController"],
|
|
814
817
|
requiresAuth: true,
|
|
815
|
-
requiresPermission: "
|
|
816
|
-
handler: async ({ mastra,
|
|
818
|
+
requiresPermission: "agent-controller:execute",
|
|
819
|
+
handler: async ({ mastra, controllerId, resourceId, message }) => {
|
|
817
820
|
try {
|
|
818
|
-
const
|
|
819
|
-
const session = await getSession(
|
|
821
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
822
|
+
const session = await getSession(controller, resourceId);
|
|
820
823
|
void session.followUp({ content: message });
|
|
821
824
|
return { ok: true };
|
|
822
825
|
} catch (error) {
|
|
823
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error queuing
|
|
826
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error queuing controller follow-up");
|
|
824
827
|
}
|
|
825
828
|
}
|
|
826
829
|
});
|
|
827
|
-
var
|
|
830
|
+
var LIST_AGENT_CONTROLLER_MODELS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
828
831
|
method: "GET",
|
|
829
|
-
path: "/
|
|
832
|
+
path: "/agent-controller/:controllerId/models",
|
|
830
833
|
responseType: "json",
|
|
831
|
-
pathParamSchema:
|
|
834
|
+
pathParamSchema: controllerIdPathParams,
|
|
832
835
|
responseSchema: listModelsResponseSchema,
|
|
833
836
|
summary: "List available models",
|
|
834
|
-
description: "Lists all models available on this
|
|
835
|
-
tags: ["
|
|
837
|
+
description: "Lists all models available on this controller (with auth status and use counts).",
|
|
838
|
+
tags: ["AgentController"],
|
|
836
839
|
requiresAuth: true,
|
|
837
|
-
requiresPermission: "
|
|
838
|
-
handler: async ({ mastra,
|
|
840
|
+
requiresPermission: "agent-controller:read",
|
|
841
|
+
handler: async ({ mastra, controllerId }) => {
|
|
839
842
|
try {
|
|
840
|
-
const
|
|
841
|
-
await
|
|
842
|
-
const models = await
|
|
843
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
844
|
+
await controller.init();
|
|
845
|
+
const models = await controller.listAvailableModels();
|
|
843
846
|
return {
|
|
844
847
|
models: models.map((m) => ({
|
|
845
848
|
id: m.id,
|
|
@@ -850,98 +853,98 @@ var LIST_HARNESS_MODELS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
850
853
|
}))
|
|
851
854
|
};
|
|
852
855
|
} catch (error) {
|
|
853
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error listing
|
|
856
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error listing controller models");
|
|
854
857
|
}
|
|
855
858
|
}
|
|
856
859
|
});
|
|
857
|
-
var
|
|
860
|
+
var GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
858
861
|
method: "GET",
|
|
859
|
-
path: "/
|
|
862
|
+
path: "/agent-controller/:controllerId/workspace",
|
|
860
863
|
responseType: "json",
|
|
861
|
-
pathParamSchema:
|
|
864
|
+
pathParamSchema: controllerIdPathParams,
|
|
862
865
|
responseSchema: workspaceStatusResponseSchema,
|
|
863
866
|
summary: "Get workspace status",
|
|
864
|
-
description: "Returns whether the
|
|
865
|
-
tags: ["
|
|
867
|
+
description: "Returns whether the controller has a workspace configured and whether it is ready.",
|
|
868
|
+
tags: ["AgentController"],
|
|
866
869
|
requiresAuth: true,
|
|
867
|
-
requiresPermission: "
|
|
868
|
-
handler: async ({ mastra,
|
|
870
|
+
requiresPermission: "agent-controller:read",
|
|
871
|
+
handler: async ({ mastra, controllerId }) => {
|
|
869
872
|
try {
|
|
870
|
-
const
|
|
871
|
-
await
|
|
873
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
874
|
+
await controller.init();
|
|
872
875
|
return {
|
|
873
|
-
hasWorkspace:
|
|
874
|
-
isReady:
|
|
876
|
+
hasWorkspace: controller.hasWorkspace(),
|
|
877
|
+
isReady: controller.isWorkspaceReady()
|
|
875
878
|
};
|
|
876
879
|
} catch (error) {
|
|
877
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error reading
|
|
880
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error reading controller workspace status");
|
|
878
881
|
}
|
|
879
882
|
}
|
|
880
883
|
});
|
|
881
|
-
var
|
|
884
|
+
var GET_AGENT_CONTROLLER_OM_RECORD_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
882
885
|
method: "GET",
|
|
883
|
-
path: "/
|
|
886
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/om",
|
|
884
887
|
responseType: "json",
|
|
885
888
|
pathParamSchema: sessionPathParams,
|
|
886
889
|
responseSchema: omRecordResponseSchema,
|
|
887
890
|
summary: "Get observational memory record",
|
|
888
891
|
description: "Returns the current observational memory record for the session\u2019s thread/resource.",
|
|
889
|
-
tags: ["
|
|
892
|
+
tags: ["AgentController"],
|
|
890
893
|
requiresAuth: true,
|
|
891
|
-
requiresPermission: "
|
|
892
|
-
handler: async ({ mastra,
|
|
894
|
+
requiresPermission: "agent-controller:read",
|
|
895
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
893
896
|
try {
|
|
894
|
-
const
|
|
895
|
-
const session = await getSession(
|
|
896
|
-
const record = await
|
|
897
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
898
|
+
const session = await getSession(controller, resourceId);
|
|
899
|
+
const record = await controller.getObservationalMemoryRecord(session);
|
|
897
900
|
return { record: record ?? void 0 };
|
|
898
901
|
} catch (error) {
|
|
899
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error reading
|
|
902
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error reading controller OM record");
|
|
900
903
|
}
|
|
901
904
|
}
|
|
902
905
|
});
|
|
903
|
-
var
|
|
906
|
+
var SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
904
907
|
method: "POST",
|
|
905
|
-
path: "/
|
|
908
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/resource",
|
|
906
909
|
responseType: "json",
|
|
907
910
|
pathParamSchema: sessionPathParams,
|
|
908
911
|
bodySchema: v4.z.object({ newResourceId: v4.z.string() }),
|
|
909
912
|
responseSchema: ackResponseSchema,
|
|
910
913
|
summary: "Change the session resource ID",
|
|
911
914
|
description: "Updates the session\u2019s resource identity (e.g. when a user logs in).",
|
|
912
|
-
tags: ["
|
|
915
|
+
tags: ["AgentController"],
|
|
913
916
|
requiresAuth: true,
|
|
914
|
-
requiresPermission: "
|
|
915
|
-
handler: async ({ mastra,
|
|
917
|
+
requiresPermission: "agent-controller:execute",
|
|
918
|
+
handler: async ({ mastra, controllerId, resourceId, newResourceId }) => {
|
|
916
919
|
try {
|
|
917
|
-
const
|
|
918
|
-
const session = await getSession(
|
|
919
|
-
await
|
|
920
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
921
|
+
const session = await getSession(controller, resourceId);
|
|
922
|
+
await controller.setResourceId(session, { resourceId: newResourceId });
|
|
920
923
|
return { ok: true };
|
|
921
924
|
} catch (error) {
|
|
922
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error setting
|
|
925
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error setting controller resource ID");
|
|
923
926
|
}
|
|
924
927
|
}
|
|
925
928
|
});
|
|
926
|
-
var
|
|
929
|
+
var GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
927
930
|
method: "GET",
|
|
928
|
-
path: "/
|
|
931
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/resources",
|
|
929
932
|
responseType: "json",
|
|
930
933
|
pathParamSchema: sessionPathParams,
|
|
931
934
|
responseSchema: v4.z.object({ resourceIds: v4.z.array(v4.z.string()) }),
|
|
932
935
|
summary: "Get known resource IDs",
|
|
933
936
|
description: "Lists the resource IDs known to this session (from threads).",
|
|
934
|
-
tags: ["
|
|
937
|
+
tags: ["AgentController"],
|
|
935
938
|
requiresAuth: true,
|
|
936
|
-
requiresPermission: "
|
|
937
|
-
handler: async ({ mastra,
|
|
939
|
+
requiresPermission: "agent-controller:read",
|
|
940
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
938
941
|
try {
|
|
939
|
-
const
|
|
940
|
-
const session = await getSession(
|
|
941
|
-
const resourceIds = await
|
|
942
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
943
|
+
const session = await getSession(controller, resourceId);
|
|
944
|
+
const resourceIds = await controller.getKnownResourceIds(session);
|
|
942
945
|
return { resourceIds };
|
|
943
946
|
} catch (error) {
|
|
944
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error listing
|
|
947
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error listing controller resource IDs");
|
|
945
948
|
}
|
|
946
949
|
}
|
|
947
950
|
});
|
|
@@ -967,53 +970,53 @@ var goalRecordSchema = v4.z.object({
|
|
|
967
970
|
pausedReason: v4.z.string().optional()
|
|
968
971
|
});
|
|
969
972
|
var goalResponseSchema = v4.z.object({ goal: goalRecordSchema.optional() });
|
|
970
|
-
function getAgentForSession(
|
|
971
|
-
return
|
|
973
|
+
function getAgentForSession(controller, session) {
|
|
974
|
+
return controller.getCurrentAgent(session);
|
|
972
975
|
}
|
|
973
|
-
var
|
|
976
|
+
var GET_AGENT_CONTROLLER_GOAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
974
977
|
method: "GET",
|
|
975
|
-
path: "/
|
|
978
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
976
979
|
responseType: "json",
|
|
977
980
|
pathParamSchema: sessionPathParams,
|
|
978
981
|
responseSchema: goalResponseSchema,
|
|
979
982
|
summary: "Get the current goal",
|
|
980
983
|
description: "Returns the active/paused/done goal objective for the session\u2019s thread, if any.",
|
|
981
|
-
tags: ["
|
|
984
|
+
tags: ["AgentController", "Goals"],
|
|
982
985
|
requiresAuth: true,
|
|
983
|
-
requiresPermission: "
|
|
984
|
-
handler: async ({ mastra,
|
|
986
|
+
requiresPermission: "agent-controller:read",
|
|
987
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
985
988
|
try {
|
|
986
|
-
const
|
|
987
|
-
const session = await getSession(
|
|
989
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
990
|
+
const session = await getSession(controller, resourceId);
|
|
988
991
|
const threadId = session.thread.getId();
|
|
989
992
|
if (!threadId) return { goal: void 0 };
|
|
990
|
-
const agent = getAgentForSession(
|
|
993
|
+
const agent = getAgentForSession(controller, session);
|
|
991
994
|
const record = await agent.getObjective({ threadId });
|
|
992
995
|
return { goal: record ?? void 0 };
|
|
993
996
|
} catch (error) {
|
|
994
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error reading
|
|
997
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error reading controller goal");
|
|
995
998
|
}
|
|
996
999
|
}
|
|
997
1000
|
});
|
|
998
|
-
var
|
|
1001
|
+
var SET_AGENT_CONTROLLER_GOAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
999
1002
|
method: "POST",
|
|
1000
|
-
path: "/
|
|
1003
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
1001
1004
|
responseType: "json",
|
|
1002
1005
|
pathParamSchema: sessionPathParams,
|
|
1003
1006
|
bodySchema: setGoalBodySchema,
|
|
1004
1007
|
responseSchema: goalResponseSchema,
|
|
1005
1008
|
summary: "Set a goal",
|
|
1006
1009
|
description: "Sets a new objective for the session\u2019s thread. The agent\u2019s in-loop goal judge evaluates progress after each turn.",
|
|
1007
|
-
tags: ["
|
|
1010
|
+
tags: ["AgentController", "Goals"],
|
|
1008
1011
|
requiresAuth: true,
|
|
1009
|
-
requiresPermission: "
|
|
1010
|
-
handler: async ({ mastra,
|
|
1012
|
+
requiresPermission: "agent-controller:execute",
|
|
1013
|
+
handler: async ({ mastra, controllerId, resourceId, objective, judgeModelId, maxRuns }) => {
|
|
1011
1014
|
try {
|
|
1012
|
-
const
|
|
1013
|
-
const session = await getSession(
|
|
1015
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1016
|
+
const session = await getSession(controller, resourceId);
|
|
1014
1017
|
const threadId = session.thread.getId();
|
|
1015
1018
|
if (!threadId) throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "session has no active thread" });
|
|
1016
|
-
const agent = getAgentForSession(
|
|
1019
|
+
const agent = getAgentForSession(controller, session);
|
|
1017
1020
|
const record = await agent.setObjective(objective, {
|
|
1018
1021
|
threadId,
|
|
1019
1022
|
resourceId: session.identity.getResourceId(),
|
|
@@ -1022,29 +1025,29 @@ var SET_HARNESS_GOAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
1022
1025
|
});
|
|
1023
1026
|
return { goal: record ?? void 0 };
|
|
1024
1027
|
} catch (error) {
|
|
1025
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error setting
|
|
1028
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error setting controller goal");
|
|
1026
1029
|
}
|
|
1027
1030
|
}
|
|
1028
1031
|
});
|
|
1029
|
-
var
|
|
1032
|
+
var UPDATE_AGENT_CONTROLLER_GOAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
1030
1033
|
method: "PUT",
|
|
1031
|
-
path: "/
|
|
1034
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
1032
1035
|
responseType: "json",
|
|
1033
1036
|
pathParamSchema: sessionPathParams,
|
|
1034
1037
|
bodySchema: updateGoalBodySchema,
|
|
1035
1038
|
responseSchema: goalResponseSchema,
|
|
1036
1039
|
summary: "Update goal options",
|
|
1037
1040
|
description: "Updates the judge model, max runs, or status of the active goal. No-op when no goal is set.",
|
|
1038
|
-
tags: ["
|
|
1041
|
+
tags: ["AgentController", "Goals"],
|
|
1039
1042
|
requiresAuth: true,
|
|
1040
|
-
requiresPermission: "
|
|
1041
|
-
handler: async ({ mastra,
|
|
1043
|
+
requiresPermission: "agent-controller:execute",
|
|
1044
|
+
handler: async ({ mastra, controllerId, resourceId, judgeModelId, maxRuns, status }) => {
|
|
1042
1045
|
try {
|
|
1043
|
-
const
|
|
1044
|
-
const session = await getSession(
|
|
1046
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1047
|
+
const session = await getSession(controller, resourceId);
|
|
1045
1048
|
const threadId = session.thread.getId();
|
|
1046
1049
|
if (!threadId) throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "session has no active thread" });
|
|
1047
|
-
const agent = getAgentForSession(
|
|
1050
|
+
const agent = getAgentForSession(controller, session);
|
|
1048
1051
|
const record = await agent.updateObjectiveOptions({
|
|
1049
1052
|
threadId,
|
|
1050
1053
|
...judgeModelId !== void 0 ? { judgeModelId } : {},
|
|
@@ -1053,164 +1056,164 @@ var UPDATE_HARNESS_GOAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
|
1053
1056
|
});
|
|
1054
1057
|
return { goal: record ?? void 0 };
|
|
1055
1058
|
} catch (error) {
|
|
1056
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error updating
|
|
1059
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error updating controller goal");
|
|
1057
1060
|
}
|
|
1058
1061
|
}
|
|
1059
1062
|
});
|
|
1060
|
-
var
|
|
1063
|
+
var CLEAR_AGENT_CONTROLLER_GOAL_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
1061
1064
|
method: "DELETE",
|
|
1062
|
-
path: "/
|
|
1065
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/goal",
|
|
1063
1066
|
responseType: "json",
|
|
1064
1067
|
pathParamSchema: sessionPathParams,
|
|
1065
1068
|
responseSchema: ackResponseSchema,
|
|
1066
1069
|
summary: "Clear the goal",
|
|
1067
1070
|
description: "Removes the active goal from the session\u2019s thread.",
|
|
1068
|
-
tags: ["
|
|
1071
|
+
tags: ["AgentController", "Goals"],
|
|
1069
1072
|
requiresAuth: true,
|
|
1070
|
-
requiresPermission: "
|
|
1071
|
-
handler: async ({ mastra,
|
|
1073
|
+
requiresPermission: "agent-controller:execute",
|
|
1074
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
1072
1075
|
try {
|
|
1073
|
-
const
|
|
1074
|
-
const session = await getSession(
|
|
1076
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1077
|
+
const session = await getSession(controller, resourceId);
|
|
1075
1078
|
const threadId = session.thread.getId();
|
|
1076
1079
|
if (!threadId) throw new chunk64ITUOXI_cjs.HTTPException(400, { message: "session has no active thread" });
|
|
1077
|
-
const agent = getAgentForSession(
|
|
1080
|
+
const agent = getAgentForSession(controller, session);
|
|
1078
1081
|
await agent.clearObjective({ threadId });
|
|
1079
1082
|
return { ok: true };
|
|
1080
1083
|
} catch (error) {
|
|
1081
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error clearing
|
|
1084
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error clearing controller goal");
|
|
1082
1085
|
}
|
|
1083
1086
|
}
|
|
1084
1087
|
});
|
|
1085
|
-
var
|
|
1088
|
+
var GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
1086
1089
|
method: "GET",
|
|
1087
|
-
path: "/
|
|
1090
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/permissions",
|
|
1088
1091
|
responseType: "json",
|
|
1089
1092
|
pathParamSchema: sessionPathParams,
|
|
1090
1093
|
responseSchema: permissionRulesResponseSchema,
|
|
1091
1094
|
summary: "Get permission rules",
|
|
1092
1095
|
description: "Returns the current permission rules (per-category and per-tool policies) for the session.",
|
|
1093
|
-
tags: ["
|
|
1096
|
+
tags: ["AgentController", "Permissions"],
|
|
1094
1097
|
requiresAuth: true,
|
|
1095
|
-
requiresPermission: "
|
|
1096
|
-
handler: async ({ mastra,
|
|
1098
|
+
requiresPermission: "agent-controller:read",
|
|
1099
|
+
handler: async ({ mastra, controllerId, resourceId }) => {
|
|
1097
1100
|
try {
|
|
1098
|
-
const
|
|
1099
|
-
const session = await getSession(
|
|
1101
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1102
|
+
const session = await getSession(controller, resourceId);
|
|
1100
1103
|
const rules = session.permissions.getRules();
|
|
1101
1104
|
return {
|
|
1102
1105
|
categories: rules.categories,
|
|
1103
1106
|
tools: rules.tools
|
|
1104
1107
|
};
|
|
1105
1108
|
} catch (error) {
|
|
1106
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error getting
|
|
1109
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error getting controller permissions");
|
|
1107
1110
|
}
|
|
1108
1111
|
}
|
|
1109
1112
|
});
|
|
1110
|
-
var
|
|
1113
|
+
var SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
1111
1114
|
method: "PUT",
|
|
1112
|
-
path: "/
|
|
1115
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/permissions/category",
|
|
1113
1116
|
responseType: "json",
|
|
1114
1117
|
pathParamSchema: sessionPathParams,
|
|
1115
1118
|
bodySchema: setCategoryPermissionBodySchema,
|
|
1116
1119
|
responseSchema: ackResponseSchema,
|
|
1117
1120
|
summary: "Set permission for a tool category",
|
|
1118
1121
|
description: "Sets the approval policy (allow/ask/deny) for all tools in a category.",
|
|
1119
|
-
tags: ["
|
|
1122
|
+
tags: ["AgentController", "Permissions"],
|
|
1120
1123
|
requiresAuth: true,
|
|
1121
|
-
requiresPermission: "
|
|
1122
|
-
handler: async ({ mastra,
|
|
1124
|
+
requiresPermission: "agent-controller:execute",
|
|
1125
|
+
handler: async ({ mastra, controllerId, resourceId, category, policy }) => {
|
|
1123
1126
|
try {
|
|
1124
|
-
const
|
|
1125
|
-
const session = await getSession(
|
|
1127
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1128
|
+
const session = await getSession(controller, resourceId);
|
|
1126
1129
|
await session.permissions.setForCategory({ category, policy });
|
|
1127
1130
|
return { ok: true };
|
|
1128
1131
|
} catch (error) {
|
|
1129
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error setting
|
|
1132
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error setting controller category permission");
|
|
1130
1133
|
}
|
|
1131
1134
|
}
|
|
1132
1135
|
});
|
|
1133
|
-
var
|
|
1136
|
+
var SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
1134
1137
|
method: "PUT",
|
|
1135
|
-
path: "/
|
|
1138
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/permissions/tool",
|
|
1136
1139
|
responseType: "json",
|
|
1137
1140
|
pathParamSchema: sessionPathParams,
|
|
1138
1141
|
bodySchema: setToolPermissionBodySchema,
|
|
1139
1142
|
responseSchema: ackResponseSchema,
|
|
1140
1143
|
summary: "Set permission for a specific tool",
|
|
1141
1144
|
description: "Sets the approval policy (allow/ask/deny) for a specific tool by name. Per-tool overrides take precedence over category policies.",
|
|
1142
|
-
tags: ["
|
|
1145
|
+
tags: ["AgentController", "Permissions"],
|
|
1143
1146
|
requiresAuth: true,
|
|
1144
|
-
requiresPermission: "
|
|
1145
|
-
handler: async ({ mastra,
|
|
1147
|
+
requiresPermission: "agent-controller:execute",
|
|
1148
|
+
handler: async ({ mastra, controllerId, resourceId, toolName, policy }) => {
|
|
1146
1149
|
try {
|
|
1147
|
-
const
|
|
1148
|
-
const session = await getSession(
|
|
1150
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1151
|
+
const session = await getSession(controller, resourceId);
|
|
1149
1152
|
await session.permissions.setForTool({ toolName, policy });
|
|
1150
1153
|
return { ok: true };
|
|
1151
1154
|
} catch (error) {
|
|
1152
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error setting
|
|
1155
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error setting controller tool permission");
|
|
1153
1156
|
}
|
|
1154
1157
|
}
|
|
1155
1158
|
});
|
|
1156
1159
|
var setSessionStateBodySchema = v4.z.object({ state: v4.z.record(v4.z.string(), v4.z.unknown()) });
|
|
1157
|
-
var
|
|
1160
|
+
var SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
1158
1161
|
method: "PUT",
|
|
1159
|
-
path: "/
|
|
1162
|
+
path: "/agent-controller/:controllerId/sessions/:resourceId/state",
|
|
1160
1163
|
responseType: "json",
|
|
1161
1164
|
pathParamSchema: sessionPathParams,
|
|
1162
1165
|
bodySchema: setSessionStateBodySchema,
|
|
1163
1166
|
responseSchema: ackResponseSchema,
|
|
1164
1167
|
summary: "Set session state",
|
|
1165
1168
|
description: "Merges the provided key-value pairs into the session state. Existing keys not in the payload are preserved.",
|
|
1166
|
-
tags: ["
|
|
1169
|
+
tags: ["AgentController"],
|
|
1167
1170
|
requiresAuth: true,
|
|
1168
|
-
requiresPermission: "
|
|
1169
|
-
handler: async ({ mastra,
|
|
1171
|
+
requiresPermission: "agent-controller:execute",
|
|
1172
|
+
handler: async ({ mastra, controllerId, resourceId, state }) => {
|
|
1170
1173
|
try {
|
|
1171
|
-
const
|
|
1172
|
-
const session = await getSession(
|
|
1174
|
+
const controller = getAgentControllerOrThrow(mastra, controllerId);
|
|
1175
|
+
const session = await getSession(controller, resourceId);
|
|
1173
1176
|
await session.state.set(state);
|
|
1174
1177
|
return { ok: true };
|
|
1175
1178
|
} catch (error) {
|
|
1176
|
-
return chunkZ7LCIYK7_cjs.handleError(error, "error setting
|
|
1179
|
+
return chunkZ7LCIYK7_cjs.handleError(error, "error setting controller session state");
|
|
1177
1180
|
}
|
|
1178
1181
|
}
|
|
1179
1182
|
});
|
|
1180
1183
|
|
|
1181
|
-
exports.
|
|
1182
|
-
exports.
|
|
1183
|
-
exports.
|
|
1184
|
-
exports.
|
|
1185
|
-
exports.
|
|
1186
|
-
exports.
|
|
1187
|
-
exports.
|
|
1188
|
-
exports.
|
|
1189
|
-
exports.
|
|
1190
|
-
exports.
|
|
1191
|
-
exports.
|
|
1192
|
-
exports.
|
|
1193
|
-
exports.
|
|
1194
|
-
exports.
|
|
1195
|
-
exports.
|
|
1196
|
-
exports.
|
|
1197
|
-
exports.
|
|
1198
|
-
exports.
|
|
1199
|
-
exports.
|
|
1200
|
-
exports.
|
|
1201
|
-
exports.
|
|
1202
|
-
exports.
|
|
1203
|
-
exports.
|
|
1204
|
-
exports.
|
|
1205
|
-
exports.
|
|
1206
|
-
exports.
|
|
1207
|
-
exports.
|
|
1208
|
-
exports.
|
|
1209
|
-
exports.
|
|
1210
|
-
exports.
|
|
1211
|
-
exports.
|
|
1212
|
-
exports.
|
|
1213
|
-
exports.
|
|
1214
|
-
exports.
|
|
1215
|
-
//# sourceMappingURL=chunk-
|
|
1216
|
-
//# sourceMappingURL=chunk-
|
|
1184
|
+
exports.ABORT_AGENT_CONTROLLER_SESSION_ROUTE = ABORT_AGENT_CONTROLLER_SESSION_ROUTE;
|
|
1185
|
+
exports.AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE = AGENT_CONTROLLER_TOOL_APPROVAL_ROUTE;
|
|
1186
|
+
exports.AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE = AGENT_CONTROLLER_TOOL_SUSPENSION_ROUTE;
|
|
1187
|
+
exports.CLEAR_AGENT_CONTROLLER_GOAL_ROUTE = CLEAR_AGENT_CONTROLLER_GOAL_ROUTE;
|
|
1188
|
+
exports.CLONE_AGENT_CONTROLLER_THREAD_ROUTE = CLONE_AGENT_CONTROLLER_THREAD_ROUTE;
|
|
1189
|
+
exports.CREATE_AGENT_CONTROLLER_SESSION_ROUTE = CREATE_AGENT_CONTROLLER_SESSION_ROUTE;
|
|
1190
|
+
exports.CREATE_AGENT_CONTROLLER_THREAD_ROUTE = CREATE_AGENT_CONTROLLER_THREAD_ROUTE;
|
|
1191
|
+
exports.DELETE_AGENT_CONTROLLER_THREAD_ROUTE = DELETE_AGENT_CONTROLLER_THREAD_ROUTE;
|
|
1192
|
+
exports.FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE = FOLLOW_UP_AGENT_CONTROLLER_SESSION_ROUTE;
|
|
1193
|
+
exports.GET_AGENT_CONTROLLER_GOAL_ROUTE = GET_AGENT_CONTROLLER_GOAL_ROUTE;
|
|
1194
|
+
exports.GET_AGENT_CONTROLLER_OM_RECORD_ROUTE = GET_AGENT_CONTROLLER_OM_RECORD_ROUTE;
|
|
1195
|
+
exports.GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE = GET_AGENT_CONTROLLER_PERMISSIONS_ROUTE;
|
|
1196
|
+
exports.GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE = GET_AGENT_CONTROLLER_RESOURCE_IDS_ROUTE;
|
|
1197
|
+
exports.GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = GET_AGENT_CONTROLLER_SESSION_STATE_ROUTE;
|
|
1198
|
+
exports.GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE = GET_AGENT_CONTROLLER_WORKSPACE_STATUS_ROUTE;
|
|
1199
|
+
exports.LIST_AGENT_CONTROLLERS_ROUTE = LIST_AGENT_CONTROLLERS_ROUTE;
|
|
1200
|
+
exports.LIST_AGENT_CONTROLLER_MODELS_ROUTE = LIST_AGENT_CONTROLLER_MODELS_ROUTE;
|
|
1201
|
+
exports.LIST_AGENT_CONTROLLER_MODES_ROUTE = LIST_AGENT_CONTROLLER_MODES_ROUTE;
|
|
1202
|
+
exports.LIST_AGENT_CONTROLLER_THREADS_ROUTE = LIST_AGENT_CONTROLLER_THREADS_ROUTE;
|
|
1203
|
+
exports.LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE = LIST_AGENT_CONTROLLER_THREAD_MESSAGES_ROUTE;
|
|
1204
|
+
exports.RENAME_AGENT_CONTROLLER_THREAD_ROUTE = RENAME_AGENT_CONTROLLER_THREAD_ROUTE;
|
|
1205
|
+
exports.SEND_AGENT_CONTROLLER_MESSAGE_ROUTE = SEND_AGENT_CONTROLLER_MESSAGE_ROUTE;
|
|
1206
|
+
exports.SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE = SEND_AGENT_CONTROLLER_NOTIFICATION_ROUTE;
|
|
1207
|
+
exports.SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE = SET_AGENT_CONTROLLER_CATEGORY_PERMISSION_ROUTE;
|
|
1208
|
+
exports.SET_AGENT_CONTROLLER_GOAL_ROUTE = SET_AGENT_CONTROLLER_GOAL_ROUTE;
|
|
1209
|
+
exports.SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE = SET_AGENT_CONTROLLER_RESOURCE_ID_ROUTE;
|
|
1210
|
+
exports.SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE = SET_AGENT_CONTROLLER_SESSION_STATE_ROUTE;
|
|
1211
|
+
exports.SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE = SET_AGENT_CONTROLLER_TOOL_PERMISSION_ROUTE;
|
|
1212
|
+
exports.STEER_AGENT_CONTROLLER_SESSION_ROUTE = STEER_AGENT_CONTROLLER_SESSION_ROUTE;
|
|
1213
|
+
exports.STREAM_AGENT_CONTROLLER_SESSION_ROUTE = STREAM_AGENT_CONTROLLER_SESSION_ROUTE;
|
|
1214
|
+
exports.SWITCH_AGENT_CONTROLLER_MODEL_ROUTE = SWITCH_AGENT_CONTROLLER_MODEL_ROUTE;
|
|
1215
|
+
exports.SWITCH_AGENT_CONTROLLER_MODE_ROUTE = SWITCH_AGENT_CONTROLLER_MODE_ROUTE;
|
|
1216
|
+
exports.SWITCH_AGENT_CONTROLLER_THREAD_ROUTE = SWITCH_AGENT_CONTROLLER_THREAD_ROUTE;
|
|
1217
|
+
exports.UPDATE_AGENT_CONTROLLER_GOAL_ROUTE = UPDATE_AGENT_CONTROLLER_GOAL_ROUTE;
|
|
1218
|
+
//# sourceMappingURL=chunk-UGI45E76.cjs.map
|
|
1219
|
+
//# sourceMappingURL=chunk-UGI45E76.cjs.map
|