@mastra/server 1.47.0-alpha.5 → 1.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +151 -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 +10 -10
- 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,28 +8,28 @@ export { activatePromptBlockVersionResponseSchema, comparePromptBlockVersionsQue
|
|
|
8
8
|
export { activateScorerVersionResponseSchema, compareScorerVersionsQuerySchema, compareScorerVersionsResponseSchema, createScorerVersionBodySchema, createScorerVersionResponseSchema, deleteScorerVersionResponseSchema, getScorerVersionResponseSchema, listScorerVersionsQuerySchema, listScorerVersionsResponseSchema, restoreScorerVersionResponseSchema, scorerVersionIdPathParams, scorerVersionPathParams, scorerVersionSchema } from '../../chunk-VK3T6KKQ.js';
|
|
9
9
|
export { getProcessorProviderResponseSchema, getProcessorProvidersResponseSchema, processorProviderIdPathParams } from '../../chunk-SJOVDYRT.js';
|
|
10
10
|
export { addItemBodySchema, batchDeleteItemsBodySchema, batchDeleteItemsResponseSchema, batchInsertItemsBodySchema, batchInsertItemsResponseSchema, clusterFailuresBodySchema, clusterFailuresResponseSchema, compareExperimentsBodySchema, comparisonResponseSchema, createDatasetBodySchema, datasetAndExperimentIdPathParams, datasetAndItemIdPathParams, datasetIdPathParams, datasetItemResponseSchema, datasetItemVersionPathParams, datasetResponseSchema, datasetVersionResponseSchema, experimentIdPathParams, experimentResponseSchema, experimentResultIdPathParams, experimentResultResponseSchema, experimentReviewCountsSchema, experimentSummaryResponseSchema, generateItemsBodySchema, generateItemsResponseSchema, itemIdPathParams, itemVersionResponseSchema, listDatasetVersionsResponseSchema, listDatasetsResponseSchema, listExperimentResultsResponseSchema, listExperimentsResponseSchema, listItemVersionsResponseSchema, listItemsQuerySchema, listItemsResponseSchema, paginationQuerySchema, reviewSummaryResponseSchema, scorerResultSchema, triggerExperimentBodySchema, updateDatasetBodySchema, updateExperimentResultBodySchema, updateItemBodySchema } from '../../chunk-X7KQ23MW.js';
|
|
11
|
-
export { agentConfigurationSchema, agentFeaturesSchema, agentModelsSchema, builderAvailableModelsResponseSchema, builderModelPolicySchema, builderPickerSchema, builderSettingsResponseSchema, defaultModelEntrySchema, infrastructureStatusResponseSchema, pickerAllowlistSchema, providerModelEntrySchema } from '../../chunk-
|
|
11
|
+
export { agentConfigurationSchema, agentFeaturesSchema, agentModelsSchema, builderAvailableModelsResponseSchema, builderModelPolicySchema, builderPickerSchema, builderSettingsResponseSchema, defaultModelEntrySchema, infrastructureStatusResponseSchema, pickerAllowlistSchema, providerModelEntrySchema } from '../../chunk-QECRXNAM.js';
|
|
12
12
|
export { activateMCPClientVersionResponseSchema, compareMCPClientVersionsQuerySchema, compareMCPClientVersionsResponseSchema, createMCPClientVersionBodySchema, createMCPClientVersionResponseSchema, deleteMCPClientVersionResponseSchema, getMCPClientVersionResponseSchema, listMCPClientVersionsQuerySchema, listMCPClientVersionsResponseSchema, mcpClientVersionIdPathParams, mcpClientVersionPathParams, mcpClientVersionSchema, restoreMCPClientVersionResponseSchema } from '../../chunk-EFJIK2PW.js';
|
|
13
|
+
export { agentVersionPathParams, agentVersionSchema, compareVersionsResponseSchema, createVersionResponseSchema, getVersionResponseSchema, listVersionsResponseSchema, restoreVersionResponseSchema, versionIdPathParams } from '../../chunk-ONDWDP2S.js';
|
|
14
|
+
export { activateVersionResponseSchema, compareVersionsQuerySchema, createCompareVersionsResponseSchema, createListVersionsResponseSchema, createVersionBodySchema, deleteVersionResponseSchema, listVersionsQuerySchema, versionDiffEntrySchema, versionOrderBySchema } from '../../chunk-3OQMTFIV.js';
|
|
13
15
|
export { createIndexBodySchema, createIndexResponseSchema, deleteIndexResponseSchema, describeIndexResponseSchema, listEmbeddersResponseSchema, listIndexesResponseSchema, listVectorsResponseSchema, queryVectorsBodySchema, queryVectorsResponseSchema, upsertVectorsBodySchema, upsertVectorsResponseSchema, vectorIndexPathParams, vectorNamePathParams } from '../../chunk-RVICRXZF.js';
|
|
14
16
|
export { entityPathParams, listScorersResponseSchema, listScoresByEntityIdQuerySchema, listScoresByRunIdQuerySchema, listScoresByScorerIdQuerySchema, saveScoreBodySchema, saveScoreResponseSchema, scorerEntrySchema, scorerIdPathParams, scoresWithPaginationResponseSchema } from '../../chunk-OC4S3EDO.js';
|
|
15
17
|
export { getMcpServerDetailQuerySchema, jsonRpcErrorSchema, listMcpServerToolsResponseSchema, listMcpServersQuerySchema, listMcpServersResponseSchema, executeToolBodySchema as mcpExecuteToolBodySchema, executeToolResponseSchema as mcpExecuteToolResponseSchema, mcpServerDetailPathParams, mcpServerIdPathParams, mcpServerToolPathParams, mcpToolInfoSchema, serverDetailSchema, serverInfoSchema, versionDetailSchema } from '../../chunk-356JZOB2.js';
|
|
16
|
-
export { listLogTransportsResponseSchema, listLogsQuerySchema, listLogsResponseSchema } from '../../chunk-MXZPGEC2.js';
|
|
17
18
|
export { conversationDeletedSchema, conversationIdPathParams, conversationItemsListSchema, conversationObjectSchema, createConversationBodySchema } from '../../chunk-WOE6XG6B.js';
|
|
18
19
|
export { conversationItemMessageSchema, conversationItemSchema, conversationMessageContentSchema, createResponseBodySchema, deleteResponseSchema, responseIdPathParams, responseInputMessageSchema, responseInputTextContentSchema, responseInputTextPartSchema, responseObjectSchema, responseOutputFunctionCallOutputSchema, responseOutputFunctionCallSchema, responseOutputItemSchema, responseOutputMessageSchema, responseOutputTextSchema, responseTextFormatSchema, responseToolSchema, responseUsageSchema } from '../../chunk-BIUL4Y6W.js';
|
|
19
20
|
export { agentIdQuerySchema, awaitBufferStatusBodySchema, awaitBufferStatusResponseSchema, cloneThreadBodySchema, cloneThreadResponseSchema, createThreadBodySchema, createThreadNetworkQuerySchema, deleteMessagesBodySchema, deleteMessagesNetworkQuerySchema, deleteMessagesQuerySchema, deleteMessagesResponseSchema, deleteThreadNetworkQuerySchema, deleteThreadQuerySchema, deleteThreadResponseSchema, getMemoryConfigQuerySchema, getMemoryStatusNetworkQuerySchema, getMemoryStatusQuerySchema, getObservationalMemoryQuerySchema, getObservationalMemoryResponseSchema, getThreadByIdNetworkQuerySchema, getThreadByIdQuerySchema, getThreadByIdResponseSchema, getWorkingMemoryQuerySchema, getWorkingMemoryResponseSchema, listMessagesNetworkQuerySchema, listMessagesQuerySchema, listMessagesResponseSchema, listThreadsNetworkQuerySchema, listThreadsQuerySchema, listThreadsResponseSchema, memoryConfigResponseSchema, memoryStatusResponseSchema, optionalAgentIdQuerySchema, saveMessagesBodySchema, saveMessagesNetworkQuerySchema, saveMessagesResponseSchema, searchMemoryQuerySchema, searchMemoryResponseSchema, threadIdPathParams, updateThreadBodySchema, updateThreadNetworkQuerySchema, updateWorkingMemoryBodySchema, updateWorkingMemoryResponseSchema } from '../../chunk-UZKVYNYR.js';
|
|
21
|
+
export { listLogTransportsResponseSchema, listLogsQuerySchema, listLogsResponseSchema } from '../../chunk-MXZPGEC2.js';
|
|
20
22
|
export { agentExecutionBodySchema as a2aAgentExecutionBodySchema, a2aAgentIdPathParams, a2aTaskPathParams, agentCardResponseSchema, agentExecutionResponseSchema, messageSendBodySchema, taskQueryBodySchema, taskResponseSchema } from '../../chunk-KEE6UMGC.js';
|
|
23
|
+
export { conditionalFieldSchema, createStoredAgentBodySchema, createStoredAgentResponseSchema, deleteStoredAgentResponseSchema, exportStoredAgentBodySchema, exportStoredAgentResponseSchema, getStoredAgentDependentsResponseSchema, getStoredAgentResponseSchema, instructionsSchema, listStoredAgentsQuerySchema, listStoredAgentsResponseSchema, modelConfigSchema, openStoredAgentChangeRequestBodySchema, openStoredAgentChangeRequestResponseSchema, previewInstructionsBodySchema, previewInstructionsResponseSchema, processorGraphEntrySchema, processorGraphStepSchema, processorPhaseSchema, resolvedAuthorSchema, scorerConfigSchema, semanticRecallSchema, serializedMemoryConfigSchema, serializedObservationConfigSchema, serializedObservationalMemoryConfigObjectSchema, serializedObservationalMemoryConfigSchema, serializedReflectionConfigSchema, snapshotConfigSchema, storedAgentIdPathParams, storedAgentSchema, storedProcessorGraphSchema, titleGenerationSchema, toolConfigSchema, toolsConfigSchema, updateStoredAgentBodySchema, updateStoredAgentResponseSchema } from '../../chunk-SPVKRK56.js';
|
|
24
|
+
export { createStoredWorkspaceBodySchema, createStoredWorkspaceResponseSchema, deleteStoredWorkspaceResponseSchema, getStoredWorkspaceResponseSchema, listStoredWorkspacesQuerySchema, listStoredWorkspacesResponseSchema, storedWorkspaceIdPathParams, storedWorkspaceSchema, updateStoredWorkspaceBodySchema, updateStoredWorkspaceResponseSchema, snapshotConfigSchema as workspaceSnapshotConfigSchema } from '../../chunk-64QFFUEH.js';
|
|
25
|
+
export { authStatusToolProviderResponseSchema, authorizeToolProviderBodySchema, authorizeToolProviderResponseSchema, connectionSchema, connectionScopeSchema, connectionStatusToolProviderBodySchema, connectionStatusToolProviderResponseSchema, connectionUsageQuerySchema, connectionUsageResponseSchema, disconnectConnectionQuerySchema, disconnectConnectionResponseSchema, getToolProviderToolSchemaResponseSchema, listConnectionFieldsQuerySchema, listConnectionFieldsResponseSchema, listConnectionsQuerySchema, listConnectionsResponseSchema, listToolProviderToolkitsResponseSchema, listToolProviderToolsQuerySchema, listToolProviderToolsResponseSchema, listToolProvidersResponseSchema, toolProviderAuthStatusPathParams, toolProviderConfigSchema, toolProviderConnectionPathParams, toolProviderHealthResponseSchema, toolProviderIdPathParams, toolProvidersSchema, toolSlugPathParams, updateConnectionBodySchema, updateConnectionResponseSchema } from '../../chunk-SFAWHLOX.js';
|
|
26
|
+
export { ruleGroupSchema, ruleSchema } from '../../chunk-JA4UAHWP.js';
|
|
21
27
|
export { authenticatedCapabilitiesSchema, authenticatedUserSchema, capabilitiesResponseSchema, capabilityFlagsSchema, credentialsResponseSchema, credentialsSignInBodySchema, credentialsSignUpBodySchema, currentUserResponseSchema, loginConfigSchema, logoutResponseSchema, permissionPatternsResponseSchema, publicCapabilitiesSchema, refreshResponseSchema, ssoCallbackQuerySchema, ssoCallbackResponseSchema, ssoConfigSchema, ssoLoginQuerySchema, ssoLoginResponseSchema, userAccessSchema } from '../../chunk-LWA65ME7.js';
|
|
22
28
|
export { fileEntrySchema, fsDeleteQuerySchema, fsDeleteResponseSchema, fsListQuerySchema, fsListResponseSchema, fsMkdirBodySchema, fsMkdirResponseSchema, fsPathParams, fsReadQuerySchema, fsReadResponseSchema, fsStatQuerySchema, fsStatResponseSchema, fsWriteBodySchema, fsWriteResponseSchema, getAgentSkillResponseSchema, getSkillResponseSchema, indexBodySchema, indexResponseSchema, listReferencesResponseSchema, listSkillsResponseSchema, listWorkspacesResponseSchema, mountInfoSchema, searchQuerySchema, searchResponseSchema, searchResultSchema, searchSkillsQuerySchema, searchSkillsResponseSchema, skillDisambiguationQuerySchema, skillMetadataSchema, skillMetadataWithPathSchema, skillNamePathParams, skillReferencePathParams, skillReferenceResponseSchema, skillSchema, skillSearchResultSchema, skillSourceSchema, skillsShInstallBodySchema, skillsShInstallResponseSchema, skillsShListResponseSchema, skillsShPopularQuerySchema, skillsShPreviewQuerySchema, skillsShPreviewResponseSchema, skillsShRemoveBodySchema, skillsShRemoveResponseSchema, skillsShSearchQuerySchema, skillsShSearchResponseSchema, skillsShSkillSchema, skillsShSourceSchema, skillsShUpdateBodySchema, skillsShUpdateResponseSchema, workspaceIdPathParams, workspaceInfoResponseSchema } from '../../chunk-ZHULRNJG.js';
|
|
23
29
|
export { actionIdPathParams, actionRunPathParams, resumeAgentBuilderBodySchema, startAsyncAgentBuilderBodySchema, streamAgentBuilderBodySchema, streamLegacyAgentBuilderBodySchema } from '../../chunk-6SZGOLAP.js';
|
|
24
30
|
export { createWorkflowRunResponseSchema, listWorkflowRunsQuerySchema, listWorkflowsResponseSchema, sendWorkflowRunEventBodySchema, workflowControlResponseSchema, workflowExecutionResultSchema, workflowInfoSchema, workflowRunResultQuerySchema, workflowRunResultSchema, workflowRunsResponseSchema } from '../../chunk-K4HCNNHA.js';
|
|
25
|
-
export { abortAgentThreadBodySchema, abortAgentThreadResponseSchema, agentExecutionBodySchema, agentExecutionLegacyBodySchema, agentIdPathParams, agentSkillPathParams, agentToolPathParams, agentVersionQuerySchema, approveNetworkToolCallBodySchema, approveToolCallBodySchema, declineNetworkToolCallBodySchema, declineToolCallBodySchema, enhanceInstructionsBodySchema, enhanceInstructionsResponseSchema, executeToolBodySchema, executeToolContextBodySchema, executeToolResponseSchema, generateResponseSchema, listAgentsResponseSchema, listToolsResponseSchema, modelConfigIdPathParams, modelManagementResponseSchema, observeAgentBodySchema, observeAgentResponseSchema, providerSchema, providersResponseSchema, queueAgentMessageBodySchema, reorderAgentModelListBodySchema, resumeStreamBodySchema, resumeStreamUntilIdleBodySchema, sendAgentMessageBodySchema, sendAgentSignalBodySchema, sendToolApprovalBodySchema, sendToolApprovalResponseSchema, serializedAgentDefinitionSchema, serializedAgentSchema, serializedAgentWithIdSchema, serializedProcessorSchema, serializedToolSchema, serializedWorkflowSchema, streamResponseSchema, streamUntilIdleBodySchema, subscribeAgentThreadBodySchema, toolCallResponseSchema, toolIdPathParams, updateAgentModelBodySchema, updateAgentModelInModelListBodySchema } from '../../chunk-
|
|
31
|
+
export { abortAgentThreadBodySchema, abortAgentThreadResponseSchema, agentExecutionBodySchema, agentExecutionLegacyBodySchema, agentIdPathParams, agentSkillPathParams, agentToolPathParams, agentVersionQuerySchema, approveNetworkToolCallBodySchema, approveToolCallBodySchema, declineNetworkToolCallBodySchema, declineToolCallBodySchema, enhanceInstructionsBodySchema, enhanceInstructionsResponseSchema, executeToolBodySchema, executeToolContextBodySchema, executeToolResponseSchema, generateResponseSchema, listAgentsResponseSchema, listToolsResponseSchema, modelConfigIdPathParams, modelManagementResponseSchema, observeAgentBodySchema, observeAgentResponseSchema, providerSchema, providersResponseSchema, queueAgentMessageBodySchema, reorderAgentModelListBodySchema, resumeStreamBodySchema, resumeStreamUntilIdleBodySchema, sendAgentMessageBodySchema, sendAgentSignalBodySchema, sendToolApprovalBodySchema, sendToolApprovalResponseSchema, serializedAgentDefinitionSchema, serializedAgentSchema, serializedAgentWithIdSchema, serializedProcessorSchema, serializedToolSchema, serializedWorkflowSchema, streamResponseSchema, streamUntilIdleBodySchema, subscribeAgentThreadBodySchema, toolCallResponseSchema, toolIdPathParams, updateAgentModelBodySchema, updateAgentModelInModelListBodySchema } from '../../chunk-VJYMPHQQ.js';
|
|
26
32
|
export { generateSpeechBodySchema, getListenerResponseSchema, speakResponseSchema, transcribeSpeechBodySchema, transcribeSpeechResponseSchema, voiceSpeakersResponseSchema } from '../../chunk-LPT77UR6.js';
|
|
27
|
-
export { agentVersionPathParams, agentVersionSchema, compareVersionsResponseSchema, createVersionResponseSchema, getVersionResponseSchema, listVersionsResponseSchema, restoreVersionResponseSchema, versionIdPathParams } from '../../chunk-ONDWDP2S.js';
|
|
28
|
-
export { activateVersionResponseSchema, compareVersionsQuerySchema, createCompareVersionsResponseSchema, createListVersionsResponseSchema, createVersionBodySchema, deleteVersionResponseSchema, listVersionsQuerySchema, versionDiffEntrySchema, versionOrderBySchema } from '../../chunk-3OQMTFIV.js';
|
|
29
|
-
export { conditionalFieldSchema, createStoredAgentBodySchema, createStoredAgentResponseSchema, deleteStoredAgentResponseSchema, exportStoredAgentBodySchema, exportStoredAgentResponseSchema, getStoredAgentDependentsResponseSchema, getStoredAgentResponseSchema, instructionsSchema, listStoredAgentsQuerySchema, listStoredAgentsResponseSchema, modelConfigSchema, openStoredAgentChangeRequestBodySchema, openStoredAgentChangeRequestResponseSchema, previewInstructionsBodySchema, previewInstructionsResponseSchema, processorGraphEntrySchema, processorGraphStepSchema, processorPhaseSchema, resolvedAuthorSchema, scorerConfigSchema, semanticRecallSchema, serializedMemoryConfigSchema, serializedObservationConfigSchema, serializedObservationalMemoryConfigObjectSchema, serializedObservationalMemoryConfigSchema, serializedReflectionConfigSchema, snapshotConfigSchema, storedAgentIdPathParams, storedAgentSchema, storedProcessorGraphSchema, titleGenerationSchema, toolConfigSchema, toolsConfigSchema, updateStoredAgentBodySchema, updateStoredAgentResponseSchema } from '../../chunk-SPVKRK56.js';
|
|
30
|
-
export { createStoredWorkspaceBodySchema, createStoredWorkspaceResponseSchema, deleteStoredWorkspaceResponseSchema, getStoredWorkspaceResponseSchema, listStoredWorkspacesQuerySchema, listStoredWorkspacesResponseSchema, storedWorkspaceIdPathParams, storedWorkspaceSchema, updateStoredWorkspaceBodySchema, updateStoredWorkspaceResponseSchema, snapshotConfigSchema as workspaceSnapshotConfigSchema } from '../../chunk-64QFFUEH.js';
|
|
31
|
-
export { authStatusToolProviderResponseSchema, authorizeToolProviderBodySchema, authorizeToolProviderResponseSchema, connectionSchema, connectionScopeSchema, connectionStatusToolProviderBodySchema, connectionStatusToolProviderResponseSchema, connectionUsageQuerySchema, connectionUsageResponseSchema, disconnectConnectionQuerySchema, disconnectConnectionResponseSchema, getToolProviderToolSchemaResponseSchema, listConnectionFieldsQuerySchema, listConnectionFieldsResponseSchema, listConnectionsQuerySchema, listConnectionsResponseSchema, listToolProviderToolkitsResponseSchema, listToolProviderToolsQuerySchema, listToolProviderToolsResponseSchema, listToolProvidersResponseSchema, toolProviderAuthStatusPathParams, toolProviderConfigSchema, toolProviderConnectionPathParams, toolProviderHealthResponseSchema, toolProviderIdPathParams, toolProvidersSchema, toolSlugPathParams, updateConnectionBodySchema, updateConnectionResponseSchema } from '../../chunk-SFAWHLOX.js';
|
|
32
|
-
export { ruleGroupSchema, ruleSchema } from '../../chunk-JA4UAHWP.js';
|
|
33
33
|
export { defaultOptionsSchema } from '../../chunk-TKP6FJQ3.js';
|
|
34
34
|
export { baseLogMessageSchema, coreMessageSchema, createCombinedPaginationSchema, createPagePaginationSchema, messageResponseSchema, optionalRunIdSchema, paginationInfoSchema, partialQuerySchema, runIdSchema, statusQuerySchema, successResponseSchema, tracingOptionsSchema } from '../../chunk-2YY3EMMS.js';
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkCCUQDEQW_cjs = require('../../chunk-CCUQDEQW.cjs');
|
|
4
4
|
var chunk4PQR3D5Y_cjs = require('../../chunk-4PQR3D5Y.cjs');
|
|
5
|
-
var
|
|
5
|
+
var chunkYWUVDFQZ_cjs = require('../../chunk-YWUVDFQZ.cjs');
|
|
6
|
+
var chunkSXKQ7CSX_cjs = require('../../chunk-SXKQ7CSX.cjs');
|
|
6
7
|
var chunkZ7LCIYK7_cjs = require('../../chunk-Z7LCIYK7.cjs');
|
|
7
8
|
var chunkG54X6VE6_cjs = require('../../chunk-G54X6VE6.cjs');
|
|
8
|
-
var chunkSXKQ7CSX_cjs = require('../../chunk-SXKQ7CSX.cjs');
|
|
9
9
|
var stream = require('stream');
|
|
10
10
|
var promises = require('stream/promises');
|
|
11
11
|
var requestContext = require('@mastra/core/request-context');
|
|
@@ -63,7 +63,7 @@ function getBuiltInRouteFGAConfig(route) {
|
|
|
63
63
|
if (!isProtectedFGARoute(route) || !route.path || !route.method) {
|
|
64
64
|
return null;
|
|
65
65
|
}
|
|
66
|
-
const permission =
|
|
66
|
+
const permission = chunkCCUQDEQW_cjs.getEffectivePermission(route);
|
|
67
67
|
if (!permission) {
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
@@ -277,7 +277,7 @@ function getFGARouteInfo(route) {
|
|
|
277
277
|
};
|
|
278
278
|
}
|
|
279
279
|
function getRoutePermissions(route) {
|
|
280
|
-
return [
|
|
280
|
+
return [chunkCCUQDEQW_cjs.getEffectivePermission(route), route.fga?.permission].flatMap((value) => Array.isArray(value) ? value : [value]).filter((permission) => Boolean(permission));
|
|
281
281
|
}
|
|
282
282
|
async function resolveRouteFGAConfig(fgaProvider, route, requestContext, params) {
|
|
283
283
|
if (route.fga) {
|
|
@@ -393,7 +393,7 @@ var MastraServer = class _MastraServer extends server.MastraServerBase {
|
|
|
393
393
|
this.mastra = mastra;
|
|
394
394
|
this.bodyLimitOptions = bodyLimitOptions;
|
|
395
395
|
this.tools = tools;
|
|
396
|
-
this.prefix =
|
|
396
|
+
this.prefix = chunkYWUVDFQZ_cjs.normalizeRoutePath(prefix);
|
|
397
397
|
this.openapiPath = openapiPath;
|
|
398
398
|
this.taskStore = taskStore;
|
|
399
399
|
this.customRouteAuthConfig = customRouteAuthConfig;
|
|
@@ -611,7 +611,7 @@ var MastraServer = class _MastraServer extends server.MastraServerBase {
|
|
|
611
611
|
if (!rbacProvider) {
|
|
612
612
|
return null;
|
|
613
613
|
}
|
|
614
|
-
const requiredPermission =
|
|
614
|
+
const requiredPermission = chunkCCUQDEQW_cjs.getEffectivePermission(route);
|
|
615
615
|
if (!requiredPermission) {
|
|
616
616
|
return null;
|
|
617
617
|
}
|
|
@@ -704,7 +704,7 @@ Ensure @mastra/core is updated to a version that includes EE support.`
|
|
|
704
704
|
const customRoutes = (this.customApiRoutes ?? serverConfig?.apiRoutes ?? []).filter(
|
|
705
705
|
(route) => !route._mastraInternal
|
|
706
706
|
);
|
|
707
|
-
const routes = [...
|
|
707
|
+
const routes = [...chunkCCUQDEQW_cjs.SERVER_ROUTES, ...customRoutes];
|
|
708
708
|
if (fgaProvider.validatePermissions) {
|
|
709
709
|
const permissions = [...new Set(routes.flatMap((route) => getRoutePermissions(route)))];
|
|
710
710
|
await fgaProvider.validatePermissions(permissions);
|
|
@@ -876,7 +876,7 @@ Ensure @mastra/core is updated to a version that includes EE support.`
|
|
|
876
876
|
* Builds the OpenAPI spec object with servers field and custom route paths.
|
|
877
877
|
*/
|
|
878
878
|
buildOpenAPISpec(config, prefix) {
|
|
879
|
-
const openApiSpec = chunkG54X6VE6_cjs.generateOpenAPIDocument(
|
|
879
|
+
const openApiSpec = chunkG54X6VE6_cjs.generateOpenAPIDocument(chunkCCUQDEQW_cjs.SERVER_ROUTES, config);
|
|
880
880
|
if (prefix) {
|
|
881
881
|
openApiSpec.servers = [{ url: prefix }];
|
|
882
882
|
}
|
|
@@ -911,7 +911,7 @@ Ensure @mastra/core is updated to a version that includes EE support.`
|
|
|
911
911
|
await this.registerRoute(app, openApiRoute, { prefix });
|
|
912
912
|
}
|
|
913
913
|
async registerRoutes() {
|
|
914
|
-
for (const route of
|
|
914
|
+
for (const route of chunkCCUQDEQW_cjs.SERVER_ROUTES) {
|
|
915
915
|
await this.registerRoute(this.app, route, { prefix: this.prefix });
|
|
916
916
|
}
|
|
917
917
|
if (this.openapiPath) {
|
|
@@ -1000,7 +1000,7 @@ async function checkRouteFGA(mastra, route, requestContext, params) {
|
|
|
1000
1000
|
message: "FGA authorization denied: route FGA metadata is incomplete"
|
|
1001
1001
|
};
|
|
1002
1002
|
}
|
|
1003
|
-
const effectivePermission = route.path ?
|
|
1003
|
+
const effectivePermission = route.path ? chunkCCUQDEQW_cjs.getEffectivePermission(route) : null;
|
|
1004
1004
|
const permission = fgaConfig.permission || effectivePermission || `${getFGAResourcePermissionSlug(fgaConfig.resourceType)}:${deriveFGAAction(route.method)}`;
|
|
1005
1005
|
const authorized = await fgaProvider.check(user, {
|
|
1006
1006
|
resource: { type: fgaConfig.resourceType, id: resourceId },
|
|
@@ -1042,31 +1042,55 @@ function getFGAResourcePermissionSlug(resourceType) {
|
|
|
1042
1042
|
|
|
1043
1043
|
Object.defineProperty(exports, "SERVER_ROUTES", {
|
|
1044
1044
|
enumerable: true,
|
|
1045
|
-
get: function () { return
|
|
1045
|
+
get: function () { return chunkCCUQDEQW_cjs.SERVER_ROUTES; }
|
|
1046
1046
|
});
|
|
1047
1047
|
Object.defineProperty(exports, "deriveAction", {
|
|
1048
1048
|
enumerable: true,
|
|
1049
|
-
get: function () { return
|
|
1049
|
+
get: function () { return chunkCCUQDEQW_cjs.deriveAction; }
|
|
1050
1050
|
});
|
|
1051
1051
|
Object.defineProperty(exports, "derivePermission", {
|
|
1052
1052
|
enumerable: true,
|
|
1053
|
-
get: function () { return
|
|
1053
|
+
get: function () { return chunkCCUQDEQW_cjs.derivePermission; }
|
|
1054
1054
|
});
|
|
1055
1055
|
Object.defineProperty(exports, "extractResource", {
|
|
1056
1056
|
enumerable: true,
|
|
1057
|
-
get: function () { return
|
|
1057
|
+
get: function () { return chunkCCUQDEQW_cjs.extractResource; }
|
|
1058
1058
|
});
|
|
1059
1059
|
Object.defineProperty(exports, "getEffectivePermission", {
|
|
1060
1060
|
enumerable: true,
|
|
1061
|
-
get: function () { return
|
|
1061
|
+
get: function () { return chunkCCUQDEQW_cjs.getEffectivePermission; }
|
|
1062
1062
|
});
|
|
1063
1063
|
Object.defineProperty(exports, "WorkflowRegistry", {
|
|
1064
1064
|
enumerable: true,
|
|
1065
|
-
get: function () { return
|
|
1065
|
+
get: function () { return chunkYWUVDFQZ_cjs.WorkflowRegistry; }
|
|
1066
1066
|
});
|
|
1067
1067
|
Object.defineProperty(exports, "normalizeRoutePath", {
|
|
1068
1068
|
enumerable: true,
|
|
1069
|
-
get: function () { return
|
|
1069
|
+
get: function () { return chunkYWUVDFQZ_cjs.normalizeRoutePath; }
|
|
1070
|
+
});
|
|
1071
|
+
Object.defineProperty(exports, "MASTRA_AUTH_MODE_KEY", {
|
|
1072
|
+
enumerable: true,
|
|
1073
|
+
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_AUTH_MODE_KEY; }
|
|
1074
|
+
});
|
|
1075
|
+
Object.defineProperty(exports, "MASTRA_CLIENT_TYPE_HEADER", {
|
|
1076
|
+
enumerable: true,
|
|
1077
|
+
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_CLIENT_TYPE_HEADER; }
|
|
1078
|
+
});
|
|
1079
|
+
Object.defineProperty(exports, "MASTRA_IS_STUDIO_KEY", {
|
|
1080
|
+
enumerable: true,
|
|
1081
|
+
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_IS_STUDIO_KEY; }
|
|
1082
|
+
});
|
|
1083
|
+
Object.defineProperty(exports, "MASTRA_STUDIO_CLIENT_TYPE", {
|
|
1084
|
+
enumerable: true,
|
|
1085
|
+
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_STUDIO_CLIENT_TYPE; }
|
|
1086
|
+
});
|
|
1087
|
+
Object.defineProperty(exports, "isReservedRequestContextKey", {
|
|
1088
|
+
enumerable: true,
|
|
1089
|
+
get: function () { return chunkSXKQ7CSX_cjs.isReservedRequestContextKey; }
|
|
1090
|
+
});
|
|
1091
|
+
Object.defineProperty(exports, "isStudioClientTypeHeader", {
|
|
1092
|
+
enumerable: true,
|
|
1093
|
+
get: function () { return chunkSXKQ7CSX_cjs.isStudioClientTypeHeader; }
|
|
1070
1094
|
});
|
|
1071
1095
|
Object.defineProperty(exports, "isZodError", {
|
|
1072
1096
|
enumerable: true,
|
|
@@ -1096,30 +1120,6 @@ Object.defineProperty(exports, "wrapSchemaForQueryParams", {
|
|
|
1096
1120
|
enumerable: true,
|
|
1097
1121
|
get: function () { return chunkG54X6VE6_cjs.wrapSchemaForQueryParams; }
|
|
1098
1122
|
});
|
|
1099
|
-
Object.defineProperty(exports, "MASTRA_AUTH_MODE_KEY", {
|
|
1100
|
-
enumerable: true,
|
|
1101
|
-
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_AUTH_MODE_KEY; }
|
|
1102
|
-
});
|
|
1103
|
-
Object.defineProperty(exports, "MASTRA_CLIENT_TYPE_HEADER", {
|
|
1104
|
-
enumerable: true,
|
|
1105
|
-
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_CLIENT_TYPE_HEADER; }
|
|
1106
|
-
});
|
|
1107
|
-
Object.defineProperty(exports, "MASTRA_IS_STUDIO_KEY", {
|
|
1108
|
-
enumerable: true,
|
|
1109
|
-
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_IS_STUDIO_KEY; }
|
|
1110
|
-
});
|
|
1111
|
-
Object.defineProperty(exports, "MASTRA_STUDIO_CLIENT_TYPE", {
|
|
1112
|
-
enumerable: true,
|
|
1113
|
-
get: function () { return chunkSXKQ7CSX_cjs.MASTRA_STUDIO_CLIENT_TYPE; }
|
|
1114
|
-
});
|
|
1115
|
-
Object.defineProperty(exports, "isReservedRequestContextKey", {
|
|
1116
|
-
enumerable: true,
|
|
1117
|
-
get: function () { return chunkSXKQ7CSX_cjs.isReservedRequestContextKey; }
|
|
1118
|
-
});
|
|
1119
|
-
Object.defineProperty(exports, "isStudioClientTypeHeader", {
|
|
1120
|
-
enumerable: true,
|
|
1121
|
-
get: function () { return chunkSXKQ7CSX_cjs.isStudioClientTypeHeader; }
|
|
1122
|
-
});
|
|
1123
1123
|
exports.MastraServer = MastraServer;
|
|
1124
1124
|
exports.checkRouteFGA = checkRouteFGA;
|
|
1125
1125
|
exports.normalizeQueryParams = normalizeQueryParams;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { getEffectivePermission, SERVER_ROUTES } from '../../chunk-
|
|
2
|
-
export { SERVER_ROUTES, deriveAction, derivePermission, extractResource, getEffectivePermission } from '../../chunk-
|
|
1
|
+
import { getEffectivePermission, SERVER_ROUTES } from '../../chunk-ZQSX425Q.js';
|
|
2
|
+
export { SERVER_ROUTES, deriveAction, derivePermission, extractResource, getEffectivePermission } from '../../chunk-ZQSX425Q.js';
|
|
3
3
|
import { coreAuthMiddleware } from '../../chunk-HATXNJ4V.js';
|
|
4
|
-
import { normalizeRoutePath } from '../../chunk-
|
|
5
|
-
export { WorkflowRegistry, normalizeRoutePath } from '../../chunk-
|
|
4
|
+
import { normalizeRoutePath } from '../../chunk-EOGTJIPF.js';
|
|
5
|
+
export { WorkflowRegistry, normalizeRoutePath } from '../../chunk-EOGTJIPF.js';
|
|
6
|
+
import { isReservedRequestContextKey, isStudioClientTypeHeader, MASTRA_CLIENT_TYPE_HEADER, MASTRA_IS_STUDIO_KEY, MASTRA_AUTH_MODE_KEY, MASTRA_RESOURCE_ID_KEY } from '../../chunk-5FOSK5R3.js';
|
|
7
|
+
export { MASTRA_AUTH_MODE_KEY, MASTRA_CLIENT_TYPE_HEADER, MASTRA_IS_STUDIO_KEY, MASTRA_STUDIO_CLIENT_TYPE, isReservedRequestContextKey, isStudioClientTypeHeader } from '../../chunk-5FOSK5R3.js';
|
|
6
8
|
import { formatZodError } from '../../chunk-7ZWJX3AN.js';
|
|
7
9
|
export { isZodError } from '../../chunk-7ZWJX3AN.js';
|
|
8
10
|
import { generateOpenAPIDocument, convertCustomRoutesToOpenAPIPaths } from '../../chunk-BRC4XSFG.js';
|
|
9
11
|
export { createPublicRoute, createRoute, generateOpenAPIDocument, jsonQueryParam, pickParams, wrapSchemaForQueryParams } from '../../chunk-BRC4XSFG.js';
|
|
10
|
-
import { isReservedRequestContextKey, isStudioClientTypeHeader, MASTRA_CLIENT_TYPE_HEADER, MASTRA_IS_STUDIO_KEY, MASTRA_AUTH_MODE_KEY, MASTRA_RESOURCE_ID_KEY } from '../../chunk-5FOSK5R3.js';
|
|
11
|
-
export { MASTRA_AUTH_MODE_KEY, MASTRA_CLIENT_TYPE_HEADER, MASTRA_IS_STUDIO_KEY, MASTRA_STUDIO_CLIENT_TYPE, isReservedRequestContextKey, isStudioClientTypeHeader } from '../../chunk-5FOSK5R3.js';
|
|
12
12
|
import { Readable } from 'stream';
|
|
13
13
|
import { pipeline } from 'stream/promises';
|
|
14
14
|
import { RequestContext } from '@mastra/core/request-context';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-controller.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/agent-controller.ts"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,WAAW,EAmCzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,KAAK,CAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/server-adapter/routes/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/server",
|
|
3
|
-
"version": "1.47.0
|
|
3
|
+
"version": "1.47.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"author": "",
|
|
98
98
|
"license": "Apache-2.0",
|
|
99
99
|
"peerDependencies": {
|
|
100
|
-
"@mastra/core": ">=1.
|
|
100
|
+
"@mastra/core": ">=1.47.0-0 <2.0.0-0",
|
|
101
101
|
"zod": "^3.25.0 || ^4.0.0"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
@@ -115,15 +115,15 @@
|
|
|
115
115
|
"vitest": "4.1.8",
|
|
116
116
|
"zod": "^4.4.3",
|
|
117
117
|
"zod-to-ts": "^2.1.0",
|
|
118
|
+
"@internal/storage-test-utils": "0.0.105",
|
|
119
|
+
"@internal/lint": "0.0.109",
|
|
120
|
+
"@internal/test-utils": "0.0.45",
|
|
121
|
+
"@internal/types-builder": "0.0.84",
|
|
122
|
+
"@internal/voice": "0.0.9",
|
|
123
|
+
"@mastra/agent-builder": "1.1.2",
|
|
124
|
+
"@mastra/core": "1.47.0",
|
|
118
125
|
"@internal/core": "0.1.0",
|
|
119
|
-
"@
|
|
120
|
-
"@internal/lint": "0.0.108",
|
|
121
|
-
"@internal/test-utils": "0.0.44",
|
|
122
|
-
"@internal/types-builder": "0.0.83",
|
|
123
|
-
"@internal/voice": "0.0.8",
|
|
124
|
-
"@mastra/agent-builder": "1.1.2-alpha.0",
|
|
125
|
-
"@mastra/schema-compat": "1.3.0",
|
|
126
|
-
"@mastra/core": "1.47.0-alpha.5"
|
|
126
|
+
"@mastra/schema-compat": "1.3.1"
|
|
127
127
|
},
|
|
128
128
|
"homepage": "https://mastra.ai",
|
|
129
129
|
"repository": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/handlers/harness.ts"],"names":[],"mappings":"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","file":"chunk-3WE5YAL5.js","sourcesContent":["import type { Agent } from '@mastra/core/agent';\nimport type { Harness, Session } from '@mastra/core/harness';\nimport { z } from 'zod/v4';\n\nimport { HTTPException } from '../http-exception';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport { handleError } from './error';\n\n/**\n * Harness session routes.\n *\n * A Harness registered on a Mastra instance (via `new Mastra({ harnesses })`)\n * exposes its sessions over HTTP so non-terminal clients — e.g. a browser-based\n * MastraCode — can create sessions, send messages, stream events, and drive\n * run-control. Each route resolves its target Harness by id, then operates on a\n * session bound to a `resourceId` (get-or-create, so reconnects resume rather\n * than fork the conversation).\n */\n\n/**\n * Internal thread-metadata keys that `Session.loadMetadata()` reads back as\n * runtime bookkeeping (selected model/mode, observer/reflector config, token\n * usage). They share the flat thread `metadata` bag with user-provided session\n * scoping tags, so they must never be treated as tags here.\n *\n * Mirrors core's `isReservedThreadMetadataKey`; kept local because importing the\n * value from `@mastra/core` would exceed this package's peer-dependency floor.\n */\nfunction isReservedThreadMetadataKey(key: string): boolean {\n return (\n key === 'currentModelId' ||\n key === 'currentModeId' ||\n key === 'observerModelId' ||\n key === 'reflectorModelId' ||\n key === 'observationThreshold' ||\n key === 'reflectionThreshold' ||\n key === 'tokenUsage' ||\n key.startsWith('modeModelId_')\n );\n}\n\nfunction getHarnessOrThrow(\n mastra: { getHarness: (id: string) => Harness<any> | undefined },\n harnessId: string,\n): Harness<any> {\n const harness = mastra.getHarness(harnessId);\n if (!harness) {\n throw new HTTPException(404, { message: `harness \"${harnessId}\" not found` });\n }\n return harness;\n}\n\nasync function getSession(\n harness: Harness<any>,\n resourceId: string,\n tags?: Record<string, string>,\n): Promise<Session<any>> {\n await harness.init();\n return harness.createSession({ resourceId, id: resourceId, ownerId: harness.id, tags });\n}\n\n// ---------------------------------------------------------------------------\n// Schemas\n// ---------------------------------------------------------------------------\n\nconst harnessIdPathParams = z.object({ harnessId: z.string() });\nconst sessionPathParams = z.object({ harnessId: z.string(), resourceId: z.string() });\n\nconst createSessionBodySchema = z.object({\n resourceId: z.string(),\n tags: z.record(z.string(), z.string()).optional(),\n});\nconst sendMessageBodySchema = z.object({ message: z.string() });\nconst steerBodySchema = z.object({ message: z.string() });\nconst toolApprovalBodySchema = z.object({\n toolCallId: z.string(),\n approved: z.boolean(),\n});\nconst toolSuspensionBodySchema = z.object({\n toolCallId: z.string(),\n // Free-form resume payload. For ask_user this is a string (or string[] for\n // multi-select); for submit_plan it's `{ action, feedback? }`; for\n // request_access it's \"Yes\"/\"No\".\n resumeData: z.any(),\n});\nconst switchModeBodySchema = z.object({ modeId: z.string() });\nconst switchModelBodySchema = z.object({\n modelId: z.string(),\n scope: z.enum(['global', 'thread']).optional(),\n modeId: z.string().optional(),\n});\nconst switchThreadBodySchema = z.object({ threadId: z.string() });\nconst createThreadBodySchema = z.object({ title: z.string().optional() });\nconst renameThreadBodySchema = z.object({ title: z.string() });\nconst threadPathParams = z.object({ harnessId: z.string(), resourceId: z.string(), threadId: z.string() });\nconst cloneThreadBodySchema = z.object({\n sourceThreadId: z.string().optional(),\n title: z.string().optional(),\n});\nconst listMessagesQuerySchema = z.object({ limit: z.coerce.number().optional() });\n/**\n * `tags` arrives as a JSON-encoded object in the query string (query params are\n * flat strings). It scopes the listing to threads whose metadata matches every\n * tag — e.g. `{ projectPath }` so git worktrees sharing a resourceId each see\n * only their own threads. Malformed JSON is treated as \"no filter\".\n */\nconst listThreadsQuerySchema = z.object({\n limit: z.coerce.number().optional(),\n tags: z\n .preprocess(value => {\n if (typeof value !== 'string' || value.length === 0) return undefined;\n try {\n return JSON.parse(value);\n } catch {\n return undefined;\n }\n }, z.record(z.string(), z.string()).optional())\n .optional(),\n});\nconst followUpBodySchema = z.object({ message: z.string() });\n\nconst sendNotificationBodySchema = z.object({\n source: z.string(),\n kind: z.string(),\n summary: z.string(),\n priority: z.enum(['low', 'medium', 'high', 'urgent']).optional(),\n payload: z.any().optional(),\n sourceId: z.string().optional(),\n dedupeKey: z.string().optional(),\n coalesceKey: z.string().optional(),\n attributes: z.record(z.string(), z.unknown()).optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n});\n\nconst listHarnessesResponseSchema = z.object({\n harnesses: z.array(z.object({ id: z.string() })),\n});\nconst createSessionResponseSchema = z.object({\n harnessId: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n});\nconst ackResponseSchema = z.object({ ok: z.boolean() });\n/**\n * Status-line relevant slice of the session's observational-memory progress.\n * Mirrors the TUI status line: `msg pending/threshold ↓removal` (the active\n * message window before an observation fires) and `mem observed/reflection\n * ↓savings` (accumulated observations before a reflection fires).\n */\nconst omProgressSummarySchema = z.object({\n status: z.string(),\n pendingTokens: z.number(),\n threshold: z.number(),\n thresholdPercent: z.number(),\n observationTokens: z.number(),\n reflectionThreshold: z.number(),\n reflectionThresholdPercent: z.number(),\n /** Tokens the next observation will remove from the message window. */\n projectedMessageRemoval: z.number(),\n /** Tokens the next reflection is projected to save. */\n projectedReflectionSavings: z.number(),\n});\nconst sessionSettingsSchema = z.object({\n yolo: z.boolean(),\n thinkingLevel: z.enum(['off', 'low', 'medium', 'high', 'xhigh']),\n notifications: z.enum(['off', 'bell', 'system', 'both']),\n smartEditing: z.boolean(),\n});\nconst sessionStateResponseSchema = z.object({\n harnessId: z.string(),\n resourceId: z.string(),\n threadId: z.string().optional(),\n modeId: z.string(),\n modelId: z.string(),\n omProgress: omProgressSummarySchema.optional(),\n tokenUsage: z.record(z.string(), z.unknown()).optional(),\n settings: sessionSettingsSchema.optional(),\n});\nconst listModesResponseSchema = z.object({\n modes: z.array(z.object({ id: z.string(), name: z.string().optional() })),\n});\nconst listThreadsResponseSchema = z.object({\n threads: z.array(\n z.object({\n id: z.string(),\n title: z.string().optional(),\n updatedAt: z.string().optional(),\n /** The session scoping tags stamped on this thread (e.g. `{ projectPath }`). */\n tags: z.record(z.string(), z.string()).optional(),\n }),\n ),\n});\nconst threadResponseSchema = z.object({\n id: z.string(),\n title: z.string().optional(),\n resourceId: z.string().optional(),\n createdAt: z.string().optional(),\n updatedAt: z.string().optional(),\n});\nconst messageContentSchema = z\n .object({\n type: z.string(),\n })\n .passthrough();\nconst listMessagesResponseSchema = z.object({\n messages: z.array(\n z.object({\n id: z.string(),\n role: z.enum(['user', 'assistant', 'system']),\n content: z.array(messageContentSchema),\n createdAt: z.string().optional(),\n }),\n ),\n});\nconst listModelsResponseSchema = z.object({\n models: z.array(\n z.object({\n id: z.string(),\n provider: z.string(),\n modelName: z.string(),\n hasApiKey: z.boolean(),\n useCount: z.number(),\n }),\n ),\n});\nconst workspaceStatusResponseSchema = z.object({\n hasWorkspace: z.boolean(),\n isReady: z.boolean(),\n});\nconst omRecordResponseSchema = z.object({\n record: z.any().optional(),\n});\nconst permissionPolicyEnum = z.enum(['allow', 'ask', 'deny']);\nconst toolCategoryEnum = z.enum(['read', 'edit', 'execute', 'mcp', 'other']);\nconst permissionRulesResponseSchema = z.object({\n categories: z.record(z.string(), permissionPolicyEnum).optional(),\n tools: z.record(z.string(), permissionPolicyEnum).optional(),\n});\nconst setCategoryPermissionBodySchema = z.object({\n category: toolCategoryEnum,\n policy: permissionPolicyEnum,\n});\nconst setToolPermissionBodySchema = z.object({\n toolName: z.string(),\n policy: permissionPolicyEnum,\n});\n\n// ---------------------------------------------------------------------------\n// Routes\n// ---------------------------------------------------------------------------\n\nexport const LIST_HARNESSES_ROUTE = createRoute({\n method: 'GET',\n path: '/harness',\n responseType: 'json' as const,\n responseSchema: listHarnessesResponseSchema,\n summary: 'List harnesses',\n description: 'Lists the harnesses hosted on this Mastra instance.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra }) => {\n try {\n const harnesses = mastra.listHarnesses();\n return { harnesses: Object.keys(harnesses).map(id => ({ id })) };\n } catch (error) {\n return handleError(error, 'error listing harnesses');\n }\n },\n});\n\nexport const CREATE_HARNESS_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions',\n responseType: 'json' as const,\n pathParamSchema: harnessIdPathParams,\n bodySchema: createSessionBodySchema,\n responseSchema: createSessionResponseSchema,\n summary: 'Create or resume a harness session',\n description:\n 'Creates a session for the given resourceId, or returns the existing one (get-or-create), so reconnects resume the conversation.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, tags }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId, tags);\n return {\n harnessId,\n resourceId,\n threadId: session.thread.getId() ?? undefined,\n };\n } catch (error) {\n return handleError(error, 'error creating harness session');\n }\n },\n});\n\nexport const STREAM_HARNESS_SESSION_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/stream',\n responseType: 'stream' as const,\n streamFormat: 'sse' as const,\n sseFlushOnConnect: true,\n pathParamSchema: sessionPathParams,\n summary: 'Stream harness session events',\n description: 'Subscribes to a session\\u2019s event bus and streams events to the client over SSE.',\n tags: ['Harness', 'Streaming'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId, abortSignal }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n\n let cleanedUp = false;\n let heartbeat: ReturnType<typeof setTimeout> | undefined;\n let unsubscribe: (() => void) | undefined;\n const clearHeartbeat = () => {\n if (heartbeat) {\n clearTimeout(heartbeat);\n heartbeat = undefined;\n }\n };\n const cleanup = (controller?: ReadableStreamDefaultController) => {\n if (cleanedUp) return;\n cleanedUp = true;\n clearHeartbeat();\n unsubscribe?.();\n if (controller) {\n try {\n controller.close();\n } catch {}\n }\n };\n\n // The stream yields raw event objects plus `:`-prefixed SSE comments\n // (heartbeats); the server adapter frames events and passes comments\n // through verbatim.\n return new ReadableStream<unknown>({\n start(controller) {\n const scheduleHeartbeat = () => {\n if (cleanedUp) return;\n clearHeartbeat();\n heartbeat = setTimeout(() => {\n heartbeat = undefined;\n if (cleanedUp) return;\n try {\n controller.enqueue(': heartbeat\\n\\n');\n } catch {\n cleanup();\n return;\n }\n scheduleHeartbeat();\n }, 25_000);\n };\n\n unsubscribe = session.subscribe(event => {\n if (cleanedUp) return;\n try {\n // Enqueue the raw event object. The server adapter is responsible\n // for SSE framing (`data: <json>\\n\\n`); enqueuing a pre-framed\n // string here would double-encode it.\n controller.enqueue(event);\n scheduleHeartbeat();\n } catch {\n cleanup();\n }\n });\n\n const abortCleanup = () => cleanup(controller);\n abortSignal?.addEventListener('abort', abortCleanup, { once: true });\n scheduleHeartbeat();\n },\n cancel() {\n cleanup();\n },\n });\n } catch (error) {\n return handleError(error, 'error streaming harness session');\n }\n },\n});\n\nexport const SEND_HARNESS_MESSAGE_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/messages',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: sendMessageBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Send a message to a harness session',\n description: 'Sends a user message to the session. The reply streams as events on the session\\u2019s SSE stream.',\n tags: ['Harness', 'Streaming'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, message }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n void session.sendMessage({ content: message });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error sending harness message');\n }\n },\n});\n\nexport const ABORT_HARNESS_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/abort',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: ackResponseSchema,\n summary: 'Abort a harness session run',\n description: 'Aborts the in-flight run for the session, if any.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n session.abort();\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error aborting harness session');\n }\n },\n});\n\nexport const HARNESS_TOOL_APPROVAL_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/tool-approval',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: toolApprovalBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Respond to a harness tool approval',\n description: 'Approves or declines a pending tool call surfaced by the session.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, toolCallId, approved }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n // Resolve the parked approval gate so the session's own run loop drives the\n // continuation and emits its events to subscribers (the open SSE stream).\n // Calling approveToolCall/declineToolCall directly would bypass the gate,\n // leaving the run loop hung and duplicating the resumed stream.\n // Pass toolCallId so a stale request cannot resolve a different pending gate.\n session.respondToToolApproval({ toolCallId, decision: approved ? 'approve' : 'decline' });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error responding to harness tool approval');\n }\n },\n});\n\nexport const HARNESS_TOOL_SUSPENSION_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/tool-suspension',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: toolSuspensionBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Respond to a suspended harness tool',\n description:\n 'Resumes a suspended interactive tool (ask_user, request_access, submit_plan) with the provided resume data.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, toolCallId, resumeData }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.respondToToolSuspension({ toolCallId, resumeData });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error responding to harness tool suspension');\n }\n },\n});\n\nexport const STEER_HARNESS_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/steer',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: steerBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Steer the in-flight run',\n description: 'Injects a message into the running turn (interjection) without starting a new run.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, message }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n void session.steer({ content: message });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error steering harness session');\n }\n },\n});\n\nexport const SWITCH_HARNESS_MODE_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/mode',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: switchModeBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Switch the session mode',\n description: 'Switches the active mode (e.g. build, plan) for the session.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, modeId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.mode.switch({ modeId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error switching harness mode');\n }\n },\n});\n\nexport const SWITCH_HARNESS_MODEL_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/model',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: switchModelBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Switch the session model',\n description: 'Switches the model for the session, scoped to the thread by default.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, modelId, scope, modeId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.model.switch({ modelId, scope, modeId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error switching harness model');\n }\n },\n});\n\nexport const SWITCH_HARNESS_THREAD_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/thread',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: switchThreadBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Switch the session thread',\n description: 'Switches the session to an existing thread (rebinding its stream and state).',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, threadId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.thread.switch({ threadId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error switching harness thread');\n }\n },\n});\n\nexport const GET_HARNESS_SESSION_STATE_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: sessionStateResponseSchema,\n summary: 'Get session state',\n description: 'Returns the current mode, model, and thread for the session (for initial UI hydration).',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const ds = session.displayState.get();\n const om = ds.omProgress;\n const reflectionSavings =\n om.buffered.reflection.inputObservationTokens - om.buffered.reflection.observationTokens;\n const st = session.state.get() as Record<string, unknown>;\n const oneOf = <T extends string>(value: unknown, allowed: readonly T[], fallback: T): T =>\n allowed.includes(value as T) ? (value as T) : fallback;\n return {\n harnessId,\n resourceId,\n threadId: session.thread.getId() ?? undefined,\n modeId: session.mode.get(),\n modelId: session.model.get(),\n omProgress: {\n status: om.status,\n pendingTokens: om.pendingTokens,\n threshold: om.threshold,\n thresholdPercent: om.thresholdPercent,\n observationTokens: om.observationTokens,\n reflectionThreshold: om.reflectionThreshold,\n reflectionThresholdPercent: om.reflectionThresholdPercent,\n projectedMessageRemoval: om.buffered.observations.projectedMessageRemoval,\n projectedReflectionSavings: reflectionSavings > 0 ? reflectionSavings : 0,\n },\n tokenUsage: ds.tokenUsage as unknown as Record<string, unknown>,\n settings: {\n yolo: st.yolo === true,\n thinkingLevel: oneOf(st.thinkingLevel, ['off', 'low', 'medium', 'high', 'xhigh'] as const, 'off'),\n notifications: oneOf(st.notifications, ['off', 'bell', 'system', 'both'] as const, 'off'),\n smartEditing: st.smartEditing !== false,\n },\n };\n } catch (error) {\n return handleError(error, 'error reading harness session state');\n }\n },\n});\n\nexport const LIST_HARNESS_MODES_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/modes',\n responseType: 'json' as const,\n pathParamSchema: harnessIdPathParams,\n responseSchema: listModesResponseSchema,\n summary: 'List harness modes',\n description: 'Lists the modes configured on the harness (e.g. build, plan).',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n return {\n modes: harness.listModes().map(mode => ({ id: mode.id, name: mode.name })),\n };\n } catch (error) {\n return handleError(error, 'error listing harness modes');\n }\n },\n});\n\nexport const LIST_HARNESS_THREADS_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/threads',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n queryParamSchema: listThreadsQuerySchema,\n responseSchema: listThreadsResponseSchema,\n summary: 'List session threads',\n description:\n '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.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId, limit, tags }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const threads = await session.thread.list();\n // A thread's metadata mixes the session scoping tags (stamped at creation,\n // e.g. `projectPath`) with internal session bookkeeping that\n // `Session.loadMetadata()` reads back (selected model/mode, observer/\n // reflector config, token usage). Return only the string-valued scoping\n // tags, skipping reserved internal keys so they never leak out as \"tags\"\n // or become matchable via the `tags` filter.\n const getTags = (t: { metadata?: unknown }): Record<string, string> => {\n const metadata = (t.metadata as Record<string, unknown> | undefined) ?? {};\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(metadata)) {\n if (typeof value === 'string' && !isReservedThreadMetadataKey(key)) result[key] = value;\n }\n return result;\n };\n // A single resourceId can be shared across git worktrees of the same repo\n // (the id is derived from the git URL). When tags are supplied, scope to\n // threads whose metadata matches every tag and drop the rest, so worktree A\n // never shows worktree B's threads. Mirrors the harness's tag-aware\n // selection and the TUI's worktree-strict listing. Reserved internal keys\n // are ignored as filter tags so callers can't match on session bookkeeping.\n const tagEntries = tags ? Object.entries(tags).filter(([key]) => !isReservedThreadMetadataKey(key)) : [];\n const scoped =\n tagEntries.length > 0\n ? threads.filter(t => {\n const metadata = (t.metadata as Record<string, unknown> | undefined) ?? {};\n return tagEntries.every(([key, value]) => metadata[key] === value);\n })\n : threads;\n const toTime = (t: { updatedAt?: Date; createdAt?: Date }) => (t.updatedAt ?? t.createdAt)?.getTime() ?? 0;\n const sorted = [...scoped].sort((a, b) => toTime(b) - toTime(a));\n const max = Number(limit);\n const limited = Number.isFinite(max) && max > 0 ? sorted.slice(0, max) : sorted;\n return {\n threads: limited.map(t => {\n const threadTags = getTags(t);\n return {\n id: t.id,\n title: t.title,\n tags: Object.keys(threadTags).length > 0 ? threadTags : undefined,\n updatedAt: t.updatedAt instanceof Date ? t.updatedAt.toISOString() : undefined,\n };\n }),\n };\n } catch (error) {\n return handleError(error, 'error listing harness threads');\n }\n },\n});\n\nexport const SEND_HARNESS_NOTIFICATION_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/notifications',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: sendNotificationBodySchema,\n responseSchema: z.object({\n accepted: z.boolean(),\n notificationId: z.string().optional(),\n decision: z.string().optional(),\n runId: z.string().optional(),\n }),\n summary: 'Send a notification signal to a session',\n description:\n '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.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({\n mastra,\n harnessId,\n resourceId,\n source,\n kind,\n summary,\n priority,\n payload,\n sourceId,\n dedupeKey,\n coalesceKey,\n attributes,\n metadata,\n }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const result = await session.sendNotificationSignal({\n source,\n kind,\n summary,\n priority,\n payload,\n sourceId,\n dedupeKey,\n coalesceKey,\n attributes: attributes as Record<string, string | number | boolean | null | undefined> | undefined,\n metadata,\n });\n return {\n accepted: result.accepted !== undefined,\n notificationId: result.record?.id,\n decision: result.decision?.action,\n runId: result.runId,\n };\n } catch (error) {\n return handleError(error, 'error sending harness notification');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Thread lifecycle\n// ---------------------------------------------------------------------------\n\nexport const CREATE_HARNESS_THREAD_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/threads',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: createThreadBodySchema,\n responseSchema: threadResponseSchema,\n summary: 'Create a new thread',\n description: 'Creates a new thread in the session (unbinds the previous thread, binds the new one).',\n tags: ['Harness', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, title }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const thread = await session.thread.create({ title });\n return {\n id: thread.id,\n title: thread.title,\n resourceId: thread.resourceId,\n createdAt: thread.createdAt instanceof Date ? thread.createdAt.toISOString() : undefined,\n updatedAt: thread.updatedAt instanceof Date ? thread.updatedAt.toISOString() : undefined,\n };\n } catch (error) {\n return handleError(error, 'error creating harness thread');\n }\n },\n});\n\nexport const DELETE_HARNESS_THREAD_ROUTE = createRoute({\n method: 'DELETE',\n path: '/harness/:harnessId/sessions/:resourceId/threads/:threadId',\n responseType: 'json' as const,\n pathParamSchema: threadPathParams,\n responseSchema: ackResponseSchema,\n summary: 'Delete a thread',\n description: 'Deletes a thread. If the deleted thread is the active one, the session is unbound.',\n tags: ['Harness', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, threadId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.thread.delete({ threadId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error deleting harness thread');\n }\n },\n});\n\nexport const RENAME_HARNESS_THREAD_ROUTE = createRoute({\n method: 'PUT',\n path: '/harness/:harnessId/sessions/:resourceId/threads/:threadId',\n responseType: 'json' as const,\n pathParamSchema: threadPathParams,\n bodySchema: renameThreadBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Rename a thread',\n description: 'Renames the specified thread.',\n tags: ['Harness', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, threadId, title }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n // Ensure the thread is the active one (switch if not)\n if (session.thread.getId() !== threadId) {\n await session.thread.switch({ threadId });\n }\n await session.thread.rename({ title });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error renaming harness thread');\n }\n },\n});\n\nexport const CLONE_HARNESS_THREAD_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/threads/clone',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: cloneThreadBodySchema,\n responseSchema: threadResponseSchema,\n summary: 'Clone a thread',\n description: 'Clones a thread (and its messages). The session binds to the new clone.',\n tags: ['Harness', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, sourceThreadId, title }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const thread = await session.thread.clone({ sourceThreadId, title });\n return {\n id: thread.id,\n title: thread.title,\n resourceId: thread.resourceId,\n createdAt: thread.createdAt instanceof Date ? thread.createdAt.toISOString() : undefined,\n updatedAt: thread.updatedAt instanceof Date ? thread.updatedAt.toISOString() : undefined,\n };\n } catch (error) {\n return handleError(error, 'error cloning harness thread');\n }\n },\n});\n\nexport const LIST_HARNESS_THREAD_MESSAGES_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/threads/:threadId/messages',\n responseType: 'json' as const,\n pathParamSchema: threadPathParams,\n queryParamSchema: listMessagesQuerySchema,\n responseSchema: listMessagesResponseSchema,\n summary: 'List thread messages',\n description: 'Lists messages for a specific thread. Returns most recent messages first.',\n tags: ['Harness', 'Threads'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId, threadId, limit }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const messages = await session.thread.listMessages({ threadId, limit });\n return {\n messages: messages.map(m => ({\n id: m.id,\n role: m.role,\n content: m.content as Array<{ type: string; [key: string]: unknown }>,\n createdAt: m.createdAt instanceof Date ? m.createdAt.toISOString() : undefined,\n })),\n };\n } catch (error) {\n return handleError(error, 'error listing harness thread messages');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Follow-up\n// ---------------------------------------------------------------------------\n\nexport const FOLLOW_UP_HARNESS_SESSION_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/follow-up',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: followUpBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Queue a follow-up message',\n description:\n 'Queues a follow-up message. If the session is idle it sends immediately; if a run is active it queues for after completion.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, message }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n void session.followUp({ content: message });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error queuing harness follow-up');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Models\n// ---------------------------------------------------------------------------\n\nexport const LIST_HARNESS_MODELS_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/models',\n responseType: 'json' as const,\n pathParamSchema: harnessIdPathParams,\n responseSchema: listModelsResponseSchema,\n summary: 'List available models',\n description: 'Lists all models available on this harness (with auth status and use counts).',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n await harness.init();\n const models = await harness.listAvailableModels();\n return {\n models: models.map(m => ({\n id: m.id,\n provider: m.provider,\n modelName: m.modelName,\n hasApiKey: m.hasApiKey,\n useCount: m.useCount,\n })),\n };\n } catch (error) {\n return handleError(error, 'error listing harness models');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Workspace status\n// ---------------------------------------------------------------------------\n\nexport const GET_HARNESS_WORKSPACE_STATUS_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/workspace',\n responseType: 'json' as const,\n pathParamSchema: harnessIdPathParams,\n responseSchema: workspaceStatusResponseSchema,\n summary: 'Get workspace status',\n description: 'Returns whether the harness has a workspace configured and whether it is ready.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n await harness.init();\n return {\n hasWorkspace: harness.hasWorkspace(),\n isReady: harness.isWorkspaceReady(),\n };\n } catch (error) {\n return handleError(error, 'error reading harness workspace status');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Observational Memory\n// ---------------------------------------------------------------------------\n\nexport const GET_HARNESS_OM_RECORD_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/om',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: omRecordResponseSchema,\n summary: 'Get observational memory record',\n description: 'Returns the current observational memory record for the session\\u2019s thread/resource.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const record = await harness.getObservationalMemoryRecord(session);\n return { record: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error reading harness OM record');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Resource identity\n// ---------------------------------------------------------------------------\n\nexport const SET_HARNESS_RESOURCE_ID_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/resource',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: z.object({ newResourceId: z.string() }),\n responseSchema: ackResponseSchema,\n summary: 'Change the session resource ID',\n description: 'Updates the session\\u2019s resource identity (e.g. when a user logs in).',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, newResourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await harness.setResourceId(session, { resourceId: newResourceId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting harness resource ID');\n }\n },\n});\n\nexport const GET_HARNESS_RESOURCE_IDS_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/resources',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: z.object({ resourceIds: z.array(z.string()) }),\n summary: 'Get known resource IDs',\n description: 'Lists the resource IDs known to this session (from threads).',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const resourceIds = await harness.getKnownResourceIds(session);\n return { resourceIds };\n } catch (error) {\n return handleError(error, 'error listing harness resource IDs');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Goals\n// ---------------------------------------------------------------------------\n\nconst setGoalBodySchema = z.object({\n objective: z.string(),\n judgeModelId: z.string().optional(),\n maxRuns: z.number().optional(),\n});\nconst updateGoalBodySchema = z.object({\n judgeModelId: z.string().optional(),\n maxRuns: z.number().optional(),\n status: z.enum(['active', 'paused', 'done']).optional(),\n});\nconst goalRecordSchema = z.object({\n id: z.string().optional(),\n objective: z.string(),\n status: z.enum(['active', 'paused', 'done']),\n runsUsed: z.number(),\n maxRuns: z.number().optional(),\n judgeModelId: z.string().optional(),\n startedAt: z.number(),\n updatedAt: z.number(),\n pausedReason: z.string().optional(),\n});\nconst goalResponseSchema = z.object({ goal: goalRecordSchema.optional() });\n\nfunction getAgentForSession(harness: Harness<any>, session: Session<any>): Agent {\n return harness.getCurrentAgent(session);\n}\n\nexport const GET_HARNESS_GOAL_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: goalResponseSchema,\n summary: 'Get the current goal',\n description: 'Returns the active/paused/done goal objective for the session\\u2019s thread, if any.',\n tags: ['Harness', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const threadId = session.thread.getId();\n if (!threadId) return { goal: undefined };\n const agent = getAgentForSession(harness, session);\n const record = await agent.getObjective({ threadId });\n return { goal: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error reading harness goal');\n }\n },\n});\n\nexport const SET_HARNESS_GOAL_ROUTE = createRoute({\n method: 'POST',\n path: '/harness/:harnessId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: setGoalBodySchema,\n responseSchema: goalResponseSchema,\n summary: 'Set a goal',\n description:\n 'Sets a new objective for the session\\u2019s thread. The agent\\u2019s in-loop goal judge evaluates progress after each turn.',\n tags: ['Harness', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, objective, judgeModelId, maxRuns }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const threadId = session.thread.getId();\n if (!threadId) throw new HTTPException(400, { message: 'session has no active thread' });\n const agent = getAgentForSession(harness, session);\n const record = await agent.setObjective(objective, {\n threadId,\n resourceId: session.identity.getResourceId(),\n ...(judgeModelId ? { judgeModelId } : {}),\n ...(maxRuns != null ? { maxRuns } : {}),\n });\n return { goal: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error setting harness goal');\n }\n },\n});\n\nexport const UPDATE_HARNESS_GOAL_ROUTE = createRoute({\n method: 'PUT',\n path: '/harness/:harnessId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: updateGoalBodySchema,\n responseSchema: goalResponseSchema,\n summary: 'Update goal options',\n description: 'Updates the judge model, max runs, or status of the active goal. No-op when no goal is set.',\n tags: ['Harness', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, judgeModelId, maxRuns, status }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const threadId = session.thread.getId();\n if (!threadId) throw new HTTPException(400, { message: 'session has no active thread' });\n const agent = getAgentForSession(harness, session);\n const record = await agent.updateObjectiveOptions({\n threadId,\n ...(judgeModelId !== undefined ? { judgeModelId } : {}),\n ...(maxRuns !== undefined ? { maxRuns } : {}),\n ...(status !== undefined ? { status } : {}),\n });\n return { goal: record ?? undefined };\n } catch (error) {\n return handleError(error, 'error updating harness goal');\n }\n },\n});\n\nexport const CLEAR_HARNESS_GOAL_ROUTE = createRoute({\n method: 'DELETE',\n path: '/harness/:harnessId/sessions/:resourceId/goal',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: ackResponseSchema,\n summary: 'Clear the goal',\n description: 'Removes the active goal from the session\\u2019s thread.',\n tags: ['Harness', 'Goals'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const threadId = session.thread.getId();\n if (!threadId) throw new HTTPException(400, { message: 'session has no active thread' });\n const agent = getAgentForSession(harness, session);\n await agent.clearObjective({ threadId });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error clearing harness goal');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Permissions\n// ---------------------------------------------------------------------------\n\nexport const GET_HARNESS_PERMISSIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/harness/:harnessId/sessions/:resourceId/permissions',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n responseSchema: permissionRulesResponseSchema,\n summary: 'Get permission rules',\n description: 'Returns the current permission rules (per-category and per-tool policies) for the session.',\n tags: ['Harness', 'Permissions'],\n requiresAuth: true,\n requiresPermission: 'harness:read',\n handler: async ({ mastra, harnessId, resourceId }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n const rules = session.permissions.getRules();\n return {\n categories: rules.categories as Record<string, 'allow' | 'ask' | 'deny'> | undefined,\n tools: rules.tools as Record<string, 'allow' | 'ask' | 'deny'> | undefined,\n };\n } catch (error) {\n return handleError(error, 'error getting harness permissions');\n }\n },\n});\n\nexport const SET_HARNESS_CATEGORY_PERMISSION_ROUTE = createRoute({\n method: 'PUT',\n path: '/harness/:harnessId/sessions/:resourceId/permissions/category',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: setCategoryPermissionBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Set permission for a tool category',\n description: 'Sets the approval policy (allow/ask/deny) for all tools in a category.',\n tags: ['Harness', 'Permissions'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, category, policy }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.permissions.setForCategory({ category, policy });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting harness category permission');\n }\n },\n});\n\nexport const SET_HARNESS_TOOL_PERMISSION_ROUTE = createRoute({\n method: 'PUT',\n path: '/harness/:harnessId/sessions/:resourceId/permissions/tool',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: setToolPermissionBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Set permission for a specific tool',\n description:\n 'Sets the approval policy (allow/ask/deny) for a specific tool by name. Per-tool overrides take precedence over category policies.',\n tags: ['Harness', 'Permissions'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, toolName, policy }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.permissions.setForTool({ toolName, policy });\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting harness tool permission');\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Session State\n// ---------------------------------------------------------------------------\n\nconst setSessionStateBodySchema = z.object({ state: z.record(z.string(), z.unknown()) });\n\nexport const SET_HARNESS_SESSION_STATE_ROUTE = createRoute({\n method: 'PUT',\n path: '/harness/:harnessId/sessions/:resourceId/state',\n responseType: 'json' as const,\n pathParamSchema: sessionPathParams,\n bodySchema: setSessionStateBodySchema,\n responseSchema: ackResponseSchema,\n summary: 'Set session state',\n description:\n 'Merges the provided key-value pairs into the session state. Existing keys not in the payload are preserved.',\n tags: ['Harness'],\n requiresAuth: true,\n requiresPermission: 'harness:execute',\n handler: async ({ mastra, harnessId, resourceId, state }) => {\n try {\n const harness = getHarnessOrThrow(mastra, harnessId);\n const session = await getSession(harness, resourceId);\n await session.state.set(state as Record<string, unknown>);\n return { ok: true };\n } catch (error) {\n return handleError(error, 'error setting harness session state');\n }\n },\n});\n"]}
|