@mastra/server 1.47.0-alpha.5 → 1.47.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/dist/_types/@mastra_schema-compat/dist/schema.types.d.ts +4 -1
- package/dist/{api-schema-manifest-OQOZ53HZ.js → api-schema-manifest-LT57YVGI.js} +3 -3
- package/dist/{api-schema-manifest-OQOZ53HZ.js.map → api-schema-manifest-LT57YVGI.js.map} +1 -1
- package/dist/{api-schema-manifest-SYCCXMOC.cjs → api-schema-manifest-SJMFHZHR.cjs} +4 -4
- package/dist/{api-schema-manifest-SYCCXMOC.cjs.map → api-schema-manifest-SJMFHZHR.cjs.map} +1 -1
- package/dist/{chunk-XOQEKMY2.cjs → chunk-2NGSYVI3.cjs} +34 -34
- package/dist/{chunk-XOQEKMY2.cjs.map → chunk-2NGSYVI3.cjs.map} +1 -1
- package/dist/{chunk-S2HKHYJ3.cjs → chunk-2R52ZPSI.cjs} +9 -9
- package/dist/{chunk-S2HKHYJ3.cjs.map → chunk-2R52ZPSI.cjs.map} +1 -1
- package/dist/{chunk-ZZOHO2FT.js → chunk-34WNPIGV.js} +5 -5
- package/dist/{chunk-ZZOHO2FT.js.map → chunk-34WNPIGV.js.map} +1 -1
- package/dist/{chunk-UZ43QCIA.cjs → chunk-3KBURDTO.cjs} +12 -12
- package/dist/{chunk-UZ43QCIA.cjs.map → chunk-3KBURDTO.cjs.map} +1 -1
- package/dist/{chunk-RVD3DGBZ.cjs → chunk-42M6Y2OD.cjs} +3 -3
- package/dist/{chunk-RVD3DGBZ.cjs.map → chunk-42M6Y2OD.cjs.map} +1 -1
- package/dist/{chunk-Q7EQLQS5.js → chunk-43T7OG7P.js} +16 -9
- package/dist/chunk-43T7OG7P.js.map +1 -0
- package/dist/{chunk-5V2QWK2S.js → chunk-4E7VGBSM.js} +5 -5
- package/dist/{chunk-5V2QWK2S.js.map → chunk-4E7VGBSM.js.map} +1 -1
- package/dist/{chunk-PLWZVSGT.js → chunk-4UZTUQYZ.js} +5 -5
- package/dist/{chunk-PLWZVSGT.js.map → chunk-4UZTUQYZ.js.map} +1 -1
- package/dist/{chunk-V23ANIEC.cjs → chunk-4WRZ6BK4.cjs} +4 -4
- package/dist/{chunk-V23ANIEC.cjs.map → chunk-4WRZ6BK4.cjs.map} +1 -1
- package/dist/{chunk-VRERZRJQ.js → chunk-4ZD4KLXD.js} +4 -4
- package/dist/{chunk-VRERZRJQ.js.map → chunk-4ZD4KLXD.js.map} +1 -1
- package/dist/{chunk-K3FM6RLZ.cjs → chunk-5JVILML3.cjs} +9 -9
- package/dist/{chunk-K3FM6RLZ.cjs.map → chunk-5JVILML3.cjs.map} +1 -1
- package/dist/{chunk-7FIDKZUG.cjs → chunk-6CUVVNHE.cjs} +6 -6
- package/dist/{chunk-7FIDKZUG.cjs.map → chunk-6CUVVNHE.cjs.map} +1 -1
- package/dist/{chunk-QQCQV7ZF.cjs → chunk-7GNT5KQE.cjs} +3 -2
- package/dist/chunk-7GNT5KQE.cjs.map +1 -0
- package/dist/{chunk-4ZHHKMDQ.cjs → chunk-AC4YST2M.cjs} +3 -3
- package/dist/{chunk-4ZHHKMDQ.cjs.map → chunk-AC4YST2M.cjs.map} +1 -1
- package/dist/{chunk-R4O5HVDI.js → chunk-AGWL3ZLU.js} +3 -3
- package/dist/{chunk-R4O5HVDI.js.map → chunk-AGWL3ZLU.js.map} +1 -1
- package/dist/{chunk-C2A2BZFY.js → chunk-AMWGBQZU.js} +4 -4
- package/dist/{chunk-C2A2BZFY.js.map → chunk-AMWGBQZU.js.map} +1 -1
- package/dist/{chunk-TPZFGGU4.cjs → chunk-CCUQDEQW.cjs} +283 -283
- package/dist/chunk-CCUQDEQW.cjs.map +1 -0
- package/dist/{chunk-E2JNW3QM.js → chunk-D6RO4IFO.js} +3 -3
- package/dist/{chunk-E2JNW3QM.js.map → chunk-D6RO4IFO.js.map} +1 -1
- package/dist/{chunk-DULEYONH.cjs → chunk-D7YMTEPI.cjs} +13 -13
- package/dist/{chunk-DULEYONH.cjs.map → chunk-D7YMTEPI.cjs.map} +1 -1
- package/dist/{chunk-2Z3TLC4L.js → chunk-DSHITLJ4.js} +4 -4
- package/dist/{chunk-2Z3TLC4L.js.map → chunk-DSHITLJ4.js.map} +1 -1
- package/dist/{chunk-SJPWXUKZ.js → chunk-DVCCSRFP.js} +3 -3
- package/dist/{chunk-SJPWXUKZ.js.map → chunk-DVCCSRFP.js.map} +1 -1
- package/dist/{chunk-Y3MYKCTO.cjs → chunk-EBUK5R3S.cjs} +13 -13
- package/dist/{chunk-Y3MYKCTO.cjs.map → chunk-EBUK5R3S.cjs.map} +1 -1
- package/dist/{chunk-JY2LHUT4.cjs → chunk-EKRIVYU4.cjs} +22 -22
- package/dist/{chunk-JY2LHUT4.cjs.map → chunk-EKRIVYU4.cjs.map} +1 -1
- package/dist/{chunk-IBUJJIRW.js → chunk-EOGTJIPF.js} +3 -3
- package/dist/{chunk-IBUJJIRW.js.map → chunk-EOGTJIPF.js.map} +1 -1
- package/dist/{chunk-ONBABU5V.cjs → chunk-EYCW4Z4H.cjs} +10 -10
- package/dist/{chunk-ONBABU5V.cjs.map → chunk-EYCW4Z4H.cjs.map} +1 -1
- package/dist/{chunk-GU4AEOGA.cjs → chunk-F6VL25IA.cjs} +7 -7
- package/dist/{chunk-GU4AEOGA.cjs.map → chunk-F6VL25IA.cjs.map} +1 -1
- package/dist/{chunk-JZJ3PP2H.cjs → chunk-GOD4LLZT.cjs} +10 -10
- package/dist/{chunk-JZJ3PP2H.cjs.map → chunk-GOD4LLZT.cjs.map} +1 -1
- package/dist/{chunk-NEPOKWAA.js → chunk-GQI4NKKD.js} +5 -5
- package/dist/{chunk-NEPOKWAA.js.map → chunk-GQI4NKKD.js.map} +1 -1
- package/dist/{chunk-KGUHJRHZ.cjs → chunk-HDIYJI2Z.cjs} +3 -3
- package/dist/{chunk-KGUHJRHZ.cjs.map → chunk-HDIYJI2Z.cjs.map} +1 -1
- package/dist/{chunk-TPGA2ZTS.js → chunk-IEONDWGQ.js} +4 -4
- package/dist/{chunk-TPGA2ZTS.js.map → chunk-IEONDWGQ.js.map} +1 -1
- package/dist/{chunk-6HRGFBAF.cjs → chunk-IY4MNGI3.cjs} +63 -63
- package/dist/{chunk-6HRGFBAF.cjs.map → chunk-IY4MNGI3.cjs.map} +1 -1
- package/dist/{chunk-3ENQND57.js → chunk-JBSUT5XF.js} +3 -3
- package/dist/{chunk-3ENQND57.js.map → chunk-JBSUT5XF.js.map} +1 -1
- package/dist/{chunk-VNWPOCOT.cjs → chunk-JJDLXVWR.cjs} +19 -19
- package/dist/{chunk-VNWPOCOT.cjs.map → chunk-JJDLXVWR.cjs.map} +1 -1
- package/dist/{chunk-F5EEKLC4.js → chunk-KA6FUBC5.js} +6 -6
- package/dist/{chunk-F5EEKLC4.js.map → chunk-KA6FUBC5.js.map} +1 -1
- package/dist/{chunk-E345K7K7.js → chunk-KGJGR6GO.js} +5 -5
- package/dist/{chunk-E345K7K7.js.map → chunk-KGJGR6GO.js.map} +1 -1
- package/dist/{chunk-YLWKZ3VK.cjs → chunk-KIDHIRVO.cjs} +7 -7
- package/dist/{chunk-YLWKZ3VK.cjs.map → chunk-KIDHIRVO.cjs.map} +1 -1
- package/dist/{chunk-T32FQPWH.cjs → chunk-KR7FUFVK.cjs} +10 -10
- package/dist/{chunk-T32FQPWH.cjs.map → chunk-KR7FUFVK.cjs.map} +1 -1
- package/dist/{chunk-RY5RETAD.js → chunk-L4DD3HSB.js} +3 -3
- package/dist/{chunk-RY5RETAD.js.map → chunk-L4DD3HSB.js.map} +1 -1
- package/dist/{chunk-BB6RVOJY.js → chunk-LA4AQGZA.js} +3 -3
- package/dist/{chunk-BB6RVOJY.js.map → chunk-LA4AQGZA.js.map} +1 -1
- package/dist/{chunk-MMY24AC4.js → chunk-LUPNAVPL.js} +3 -3
- package/dist/{chunk-MMY24AC4.js.map → chunk-LUPNAVPL.js.map} +1 -1
- package/dist/{chunk-PSC3HAPW.cjs → chunk-MM7ONP57.cjs} +59 -59
- package/dist/{chunk-PSC3HAPW.cjs.map → chunk-MM7ONP57.cjs.map} +1 -1
- package/dist/{chunk-CIWN2JM4.js → chunk-MX3JQ3ZU.js} +3 -3
- package/dist/{chunk-CIWN2JM4.js.map → chunk-MX3JQ3ZU.js.map} +1 -1
- package/dist/{chunk-M5DAKMVZ.cjs → chunk-OE3KATAT.cjs} +4 -4
- package/dist/{chunk-M5DAKMVZ.cjs.map → chunk-OE3KATAT.cjs.map} +1 -1
- package/dist/{chunk-OT2JWWCT.cjs → chunk-OU4L45LL.cjs} +8 -8
- package/dist/{chunk-OT2JWWCT.cjs.map → chunk-OU4L45LL.cjs.map} +1 -1
- package/dist/{chunk-IRJJ2JJG.cjs → chunk-OZ64QWKA.cjs} +12 -12
- package/dist/{chunk-IRJJ2JJG.cjs.map → chunk-OZ64QWKA.cjs.map} +1 -1
- package/dist/{chunk-PUW3RA3B.js → chunk-P6TSZJ4I.js} +4 -4
- package/dist/{chunk-PUW3RA3B.js.map → chunk-P6TSZJ4I.js.map} +1 -1
- package/dist/{chunk-M25LVAUH.js → chunk-P7HCBIOK.js} +4 -4
- package/dist/{chunk-M25LVAUH.js.map → chunk-P7HCBIOK.js.map} +1 -1
- package/dist/{chunk-3ZV6GYQI.cjs → chunk-PVZX6FFO.cjs} +16 -9
- package/dist/chunk-PVZX6FFO.cjs.map +1 -0
- package/dist/{chunk-UXO4GWPT.js → chunk-Q6TDIK2A.js} +6 -6
- package/dist/{chunk-UXO4GWPT.js.map → chunk-Q6TDIK2A.js.map} +1 -1
- package/dist/{chunk-4BJSE3LM.js → chunk-QECRXNAM.js} +3 -3
- package/dist/{chunk-4BJSE3LM.js.map → chunk-QECRXNAM.js.map} +1 -1
- package/dist/{chunk-RM4ITWAQ.cjs → chunk-QRTZCP42.cjs} +10 -10
- package/dist/{chunk-RM4ITWAQ.cjs.map → chunk-QRTZCP42.cjs.map} +1 -1
- package/dist/{chunk-KBOC52HT.js → chunk-RETWAY24.js} +3 -3
- package/dist/{chunk-KBOC52HT.js.map → chunk-RETWAY24.js.map} +1 -1
- package/dist/{chunk-3WE5YAL5.js → chunk-RLAOC73C.js} +330 -327
- package/dist/chunk-RLAOC73C.js.map +1 -0
- package/dist/{chunk-MLLGO6XZ.js → chunk-S57DVRYK.js} +3 -3
- package/dist/{chunk-MLLGO6XZ.js.map → chunk-S57DVRYK.js.map} +1 -1
- package/dist/{chunk-XQ5INMFW.js → chunk-SK2BQPVT.js} +5 -5
- package/dist/{chunk-XQ5INMFW.js.map → chunk-SK2BQPVT.js.map} +1 -1
- package/dist/{chunk-7DKSWNOM.cjs → chunk-SOQPH6H2.cjs} +182 -182
- package/dist/{chunk-7DKSWNOM.cjs.map → chunk-SOQPH6H2.cjs.map} +1 -1
- package/dist/{chunk-56AYHXOU.js → chunk-SXZS6VZ3.js} +3 -3
- package/dist/{chunk-56AYHXOU.js.map → chunk-SXZS6VZ3.js.map} +1 -1
- package/dist/{chunk-OHWAEEZJ.js → chunk-UACKERCG.js} +3 -3
- package/dist/{chunk-OHWAEEZJ.js.map → chunk-UACKERCG.js.map} +1 -1
- package/dist/{chunk-4LQSGGSH.cjs → chunk-UGI45E76.cjs} +363 -360
- package/dist/chunk-UGI45E76.cjs.map +1 -0
- package/dist/{chunk-DEK4ZGUR.cjs → chunk-UQWJQWSK.cjs} +15 -15
- package/dist/{chunk-DEK4ZGUR.cjs.map → chunk-UQWJQWSK.cjs.map} +1 -1
- package/dist/{chunk-46Y4Y2RB.js → chunk-VEKFI5QZ.js} +3 -3
- package/dist/{chunk-46Y4Y2RB.js.map → chunk-VEKFI5QZ.js.map} +1 -1
- package/dist/{chunk-4JILES3G.js → chunk-VJYMPHQQ.js} +3 -2
- package/dist/chunk-VJYMPHQQ.js.map +1 -0
- package/dist/{chunk-C4U5EL4H.js → chunk-VQQSMW6M.js} +7 -7
- package/dist/{chunk-C4U5EL4H.js.map → chunk-VQQSMW6M.js.map} +1 -1
- package/dist/{chunk-BTMYAVRX.cjs → chunk-WUT3UHD6.cjs} +12 -12
- package/dist/{chunk-BTMYAVRX.cjs.map → chunk-WUT3UHD6.cjs.map} +1 -1
- package/dist/{chunk-HZWJL5Y4.js → chunk-XILM7MA7.js} +4 -4
- package/dist/{chunk-HZWJL5Y4.js.map → chunk-XILM7MA7.js.map} +1 -1
- package/dist/{chunk-73MURMD2.cjs → chunk-XLSJQAEP.cjs} +6 -6
- package/dist/{chunk-73MURMD2.cjs.map → chunk-XLSJQAEP.cjs.map} +1 -1
- package/dist/{chunk-WKSF3TVK.js → chunk-XRE4KFIZ.js} +7 -7
- package/dist/{chunk-WKSF3TVK.js.map → chunk-XRE4KFIZ.js.map} +1 -1
- package/dist/{chunk-TCWIDHH6.cjs → chunk-XTRPN52A.cjs} +3 -3
- package/dist/{chunk-TCWIDHH6.cjs.map → chunk-XTRPN52A.cjs.map} +1 -1
- package/dist/{chunk-UD7JBYUI.cjs → chunk-YIBM2OYI.cjs} +38 -38
- package/dist/{chunk-UD7JBYUI.cjs.map → chunk-YIBM2OYI.cjs.map} +1 -1
- package/dist/{chunk-UITLSJUW.cjs → chunk-YOHMEY6Q.cjs} +24 -24
- package/dist/{chunk-UITLSJUW.cjs.map → chunk-YOHMEY6Q.cjs.map} +1 -1
- package/dist/{chunk-56TEDJND.js → chunk-YUQSGB5C.js} +3 -3
- package/dist/{chunk-56TEDJND.js.map → chunk-YUQSGB5C.js.map} +1 -1
- package/dist/{chunk-GZ4HWZWE.cjs → chunk-YWUVDFQZ.cjs} +3 -3
- package/dist/{chunk-GZ4HWZWE.cjs.map → chunk-YWUVDFQZ.cjs.map} +1 -1
- package/dist/{chunk-EQ7LRJEB.cjs → chunk-Z6YXO2T6.cjs} +48 -48
- package/dist/{chunk-EQ7LRJEB.cjs.map → chunk-Z6YXO2T6.cjs.map} +1 -1
- package/dist/{chunk-TS5QYSEZ.js → chunk-Z7C226TD.js} +6 -6
- package/dist/{chunk-TS5QYSEZ.js.map → chunk-Z7C226TD.js.map} +1 -1
- package/dist/{chunk-M43CP74T.js → chunk-ZQSX425Q.js} +70 -70
- package/dist/chunk-ZQSX425Q.js.map +1 -0
- package/dist/{chunk-BTIK5TXF.cjs → chunk-ZVZBZOBY.cjs} +8 -8
- package/dist/{chunk-BTIK5TXF.cjs.map → chunk-ZVZBZOBY.cjs.map} +1 -1
- package/dist/{dist-OWZWIJZY.js → dist-EWY5C2JK.js} +5 -5
- package/dist/{dist-OWZWIJZY.js.map → dist-EWY5C2JK.js.map} +1 -1
- package/dist/{dist-TXDLPF66.cjs → dist-VNWFQ5X6.cjs} +20 -20
- package/dist/{dist-TXDLPF66.cjs.map → dist-VNWFQ5X6.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{observational-memory-Y5T2OR2Y-XDEBXWNA.cjs → observational-memory-NC6DQQWD-JNRVNM7E.cjs} +26 -26
- package/dist/{observational-memory-Y5T2OR2Y-XDEBXWNA.cjs.map → observational-memory-NC6DQQWD-JNRVNM7E.cjs.map} +1 -1
- package/dist/{observational-memory-Y5T2OR2Y-QDHR4QEU.js → observational-memory-NC6DQQWD-WWE3XZFF.js} +3 -3
- package/dist/{observational-memory-Y5T2OR2Y-QDHR4QEU.js.map → observational-memory-NC6DQQWD-WWE3XZFF.js.map} +1 -1
- package/dist/server/handlers/a2a.cjs +14 -14
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +17 -17
- package/dist/server/handlers/agent-builder.js +1 -1
- package/dist/server/handlers/agent-controller.cjs +144 -0
- package/dist/server/handlers/agent-controller.cjs.map +1 -0
- package/dist/server/handlers/{harness.d.ts → agent-controller.d.ts} +141 -141
- package/dist/server/handlers/agent-controller.d.ts.map +1 -0
- package/dist/server/handlers/agent-controller.js +3 -0
- package/dist/server/handlers/agent-controller.js.map +1 -0
- package/dist/server/handlers/agent-versions.cjs +8 -8
- package/dist/server/handlers/agent-versions.js +1 -1
- package/dist/server/handlers/agents.cjs +46 -46
- package/dist/server/handlers/agents.d.ts +2 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +1 -1
- package/dist/server/handlers/auth.cjs +13 -13
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/authorship.cjs +12 -12
- package/dist/server/handlers/authorship.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +6 -6
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/channels.cjs +5 -5
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +5 -5
- package/dist/server/handlers/conversations.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +6 -6
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +4 -4
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/logs.cjs +4 -4
- package/dist/server/handlers/logs.js +1 -1
- package/dist/server/handlers/mcp-client-versions.cjs +8 -8
- package/dist/server/handlers/mcp-client-versions.js +1 -1
- package/dist/server/handlers/memory.cjs +27 -27
- package/dist/server/handlers/memory.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +8 -8
- package/dist/server/handlers/prompt-block-versions.js +1 -1
- package/dist/server/handlers/responses.cjs +4 -4
- package/dist/server/handlers/responses.js +1 -1
- package/dist/server/handlers/responses.storage.cjs +8 -8
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +8 -8
- package/dist/server/handlers/scorer-versions.js +1 -1
- package/dist/server/handlers/scores.cjs +7 -7
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
- package/dist/server/handlers/stored-agent-favorites.js +1 -1
- package/dist/server/handlers/stored-agents.cjs +10 -10
- package/dist/server/handlers/stored-agents.js +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +6 -6
- package/dist/server/handlers/stored-mcp-clients.js +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +6 -6
- package/dist/server/handlers/stored-prompt-blocks.js +1 -1
- package/dist/server/handlers/stored-scorers.cjs +6 -6
- package/dist/server/handlers/stored-scorers.js +1 -1
- package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
- package/dist/server/handlers/stored-skill-favorites.js +1 -1
- package/dist/server/handlers/stored-skills.cjs +7 -7
- package/dist/server/handlers/stored-skills.js +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +6 -6
- package/dist/server/handlers/stored-workspaces.js +1 -1
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.js +1 -1
- package/dist/server/handlers/tool-providers.cjs +14 -14
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +1 -1
- package/dist/server/handlers/utils.cjs +10 -10
- package/dist/server/handlers/utils.js +1 -1
- package/dist/server/handlers/workflows.cjs +27 -27
- package/dist/server/handlers/workflows.js +1 -1
- package/dist/server/handlers.cjs +22 -22
- package/dist/server/handlers.js +10 -10
- package/dist/server/schemas/agents.d.ts +1 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +536 -536
- package/dist/server/schemas/index.js +9 -9
- package/dist/server/server-adapter/index.cjs +42 -42
- package/dist/server/server-adapter/index.js +6 -6
- package/dist/server/server-adapter/routes/agent-controller.d.ts +6 -0
- package/dist/server/server-adapter/routes/agent-controller.d.ts.map +1 -0
- package/dist/server/server-adapter/routes/index.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/chunk-3WE5YAL5.js.map +0 -1
- package/dist/chunk-3ZV6GYQI.cjs.map +0 -1
- package/dist/chunk-4JILES3G.js.map +0 -1
- package/dist/chunk-4LQSGGSH.cjs.map +0 -1
- package/dist/chunk-M43CP74T.js.map +0 -1
- package/dist/chunk-Q7EQLQS5.js.map +0 -1
- package/dist/chunk-QQCQV7ZF.cjs.map +0 -1
- package/dist/chunk-TPZFGGU4.cjs.map +0 -1
- package/dist/server/handlers/harness.cjs +0 -144
- package/dist/server/handlers/harness.cjs.map +0 -1
- package/dist/server/handlers/harness.d.ts.map +0 -1
- package/dist/server/handlers/harness.js +0 -3
- package/dist/server/handlers/harness.js.map +0 -1
- package/dist/server/server-adapter/routes/harness.d.ts +0 -3
- package/dist/server/server-adapter/routes/harness.d.ts.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkHDIYJI2Z_cjs = require('./chunk-HDIYJI2Z.cjs');
|
|
4
|
+
var chunkSXKQ7CSX_cjs = require('./chunk-SXKQ7CSX.cjs');
|
|
4
5
|
var chunkZ7LCIYK7_cjs = require('./chunk-Z7LCIYK7.cjs');
|
|
5
6
|
var chunkG54X6VE6_cjs = require('./chunk-G54X6VE6.cjs');
|
|
6
7
|
var chunk64ITUOXI_cjs = require('./chunk-64ITUOXI.cjs');
|
|
7
|
-
var chunkSXKQ7CSX_cjs = require('./chunk-SXKQ7CSX.cjs');
|
|
8
8
|
var features = require('@mastra/core/features');
|
|
9
9
|
var v4 = require('zod/v4');
|
|
10
10
|
|
|
@@ -81,7 +81,7 @@ async function assertChannelAgentWriteAccess(mastra, requestContext, agentId, ac
|
|
|
81
81
|
const agentsStore = storage ? await storage.getStore("agents") : null;
|
|
82
82
|
const stored = agentsStore ? await agentsStore.getById(agentId) : null;
|
|
83
83
|
if (stored) {
|
|
84
|
-
|
|
84
|
+
chunkHDIYJI2Z_cjs.assertWriteAccess({
|
|
85
85
|
requestContext,
|
|
86
86
|
resource: "agents",
|
|
87
87
|
resourceId: agentId,
|
|
@@ -97,10 +97,10 @@ async function assertChannelAgentWriteAccess(mastra, requestContext, agentId, ac
|
|
|
97
97
|
if (action === "connect") {
|
|
98
98
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: `Agent "${agentId}" not found` });
|
|
99
99
|
}
|
|
100
|
-
const callerAuthorId =
|
|
100
|
+
const callerAuthorId = chunkHDIYJI2Z_cjs.getCallerAuthorId(requestContext);
|
|
101
101
|
if (!callerAuthorId && !requestContext.get(chunkSXKQ7CSX_cjs.MASTRA_USER_KEY)) return;
|
|
102
|
-
if (
|
|
103
|
-
if (
|
|
102
|
+
if (chunkHDIYJI2Z_cjs.hasAdminBypass(requestContext, "channels")) return;
|
|
103
|
+
if (chunkHDIYJI2Z_cjs.hasScopedPermission({ requestContext, resource: "channels", action: "write" })) return;
|
|
104
104
|
throw new chunk64ITUOXI_cjs.HTTPException(404, { message: "Not found" });
|
|
105
105
|
}
|
|
106
106
|
var LIST_CHANNEL_PLATFORMS_ROUTE = chunkG54X6VE6_cjs.createRoute({
|
|
@@ -213,5 +213,5 @@ exports.CONNECT_CHANNEL_ROUTE = CONNECT_CHANNEL_ROUTE;
|
|
|
213
213
|
exports.DISCONNECT_CHANNEL_ROUTE = DISCONNECT_CHANNEL_ROUTE;
|
|
214
214
|
exports.LIST_CHANNEL_INSTALLATIONS_ROUTE = LIST_CHANNEL_INSTALLATIONS_ROUTE;
|
|
215
215
|
exports.LIST_CHANNEL_PLATFORMS_ROUTE = LIST_CHANNEL_PLATFORMS_ROUTE;
|
|
216
|
-
//# sourceMappingURL=chunk-
|
|
217
|
-
//# sourceMappingURL=chunk-
|
|
216
|
+
//# sourceMappingURL=chunk-ZVZBZOBY.cjs.map
|
|
217
|
+
//# sourceMappingURL=chunk-ZVZBZOBY.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":["z","coreFeatures","HTTPException","assertWriteAccess","getCallerAuthorId","MASTRA_USER_KEY","hasAdminBypass","hasScopedPermission","createRoute","handleError"],"mappings":"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","file":"chunk-BTIK5TXF.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import type { Mastra } from '@mastra/core';\nimport type { ChannelProvider } from '@mastra/core/channels';\nimport type { RequestContext } from '@mastra/core/di';\nimport { coreFeatures } from '@mastra/core/features';\n\nimport { MASTRA_USER_KEY } from '../constants';\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { assertWriteAccess, getCallerAuthorId, hasAdminBypass, hasScopedPermission } from './authorship';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: Mastra, platform: string): ChannelProvider {\n const channels = Object.values(mastra.channels ?? {});\n const channel = channels.find(c => c.id === platform);\n if (!channel) {\n const available = channels.map(c => c.id).join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\n/**\n * Unified connect/disconnect authorization.\n *\n * - Stored agent exists → same write access as editing the agent record.\n * - Code-defined agent (no stored record) → route's `requiresAuth` is the gate.\n * - Agent doesn't exist anywhere:\n * - connect → 404 (can't connect a channel to a non-existent agent)\n * - disconnect → orphan cleanup, gated on `channels:write`\n */\nasync function assertChannelAgentWriteAccess(\n mastra: Mastra,\n requestContext: RequestContext,\n agentId: string,\n action: 'connect' | 'disconnect',\n): Promise<void> {\n const storage = mastra.getStorage();\n const agentsStore = storage ? await storage.getStore('agents') : null;\n const stored = agentsStore ? await agentsStore.getById(agentId) : null;\n\n if (stored) {\n assertWriteAccess({\n requestContext,\n resource: 'agents',\n resourceId: agentId,\n action: 'edit',\n record: stored,\n });\n return;\n }\n\n // Not in stored-agents (or storage doesn't support it). Check the runtime\n // registry for a code-defined agent.\n const codeDefined = mastra.getAgentById(agentId);\n if (codeDefined) {\n // Code-defined agents have no owner/ACL — route's requiresAuth /\n // requiresPermission is the gate. Pass-through.\n return;\n }\n\n if (action === 'connect') {\n throw new HTTPException(404, { message: `Agent \"${agentId}\" not found` });\n }\n\n // Disconnect against an unknown agentId = orphan cleanup (stored agent was\n // deleted but the channel installation row is still around). Allow it, but\n // gate on channels:write so this isn't an \"any authenticated user\" backdoor.\n // Follow the same no-auth-configured pass-through as assertWriteAccess.\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return;\n if (hasAdminBypass(requestContext, 'channels')) return;\n if (hasScopedPermission({ requestContext, resource: 'channels', action: 'write' })) return;\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = Object.values(mastra.channels ?? {});\n return channels.map(channel => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'connect');\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'disconnect');\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/server/schemas/channels.ts","../src/server/handlers/channels.ts"],"names":["z","coreFeatures","HTTPException","assertWriteAccess","getCallerAuthorId","MASTRA_USER_KEY","hasAdminBypass","hasScopedPermission","createRoute","handleError"],"mappings":"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","file":"chunk-ZVZBZOBY.cjs","sourcesContent":["import { z } from 'zod/v4';\n\n// ============================================================================\n// Path Parameter Schemas\n// ============================================================================\n\nexport const channelPlatformPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n});\n\nexport const channelAgentPathParams = z.object({\n platform: z.string().describe('Channel platform identifier (e.g., \"slack\")'),\n agentId: z.string().describe('Agent identifier'),\n});\n\n// ============================================================================\n// Body Parameter Schemas\n// ============================================================================\n\nexport const connectChannelBodySchema = z.object({\n agentId: z.string().describe('Agent identifier to connect'),\n options: z.record(z.string(), z.unknown()).optional().describe('Platform-specific connection options'),\n});\n\n// ============================================================================\n// Response Schemas\n// ============================================================================\n\nconst channelPlatformInfoSchema = z.object({\n id: z.string().describe('Platform identifier'),\n name: z.string().describe('Human-readable platform name'),\n isConfigured: z.boolean().describe('Whether the platform is ready to connect agents'),\n connectOptionsSchema: z.record(z.string(), z.unknown()).optional().describe('JSON Schema for connect options'),\n});\n\nconst channelInstallationInfoSchema = z.object({\n id: z.string().describe('Installation identifier'),\n platform: z.string().describe('Platform identifier'),\n agentId: z.string().describe('Connected agent identifier'),\n status: z.enum(['active', 'pending']).describe('Installation status'),\n displayName: z.string().optional().describe('Platform-specific display name'),\n installedAt: z.coerce.date().optional().describe('Installation timestamp'),\n});\n\nconst channelConnectOAuthSchema = z.object({\n type: z.literal('oauth').describe('OAuth-based connection requiring browser redirect'),\n authorizationUrl: z.string().describe('OAuth authorization URL for user redirect'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectDeepLinkSchema = z.object({\n type: z.literal('deep_link').describe('Deep-link connection requiring native app interaction'),\n url: z.string().describe('Deep link URL to open in platform app'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectImmediateSchema = z.object({\n type: z.literal('immediate').describe('Immediate connection with no user interaction needed'),\n installationId: z.string().describe('Installation identifier'),\n});\n\nconst channelConnectResultSchema = z.discriminatedUnion('type', [\n channelConnectOAuthSchema,\n channelConnectDeepLinkSchema,\n channelConnectImmediateSchema,\n]);\n\nexport const listChannelPlatformsResponseSchema = z.array(channelPlatformInfoSchema);\n\nexport const listChannelInstallationsResponseSchema = z.array(channelInstallationInfoSchema);\n\nexport const connectChannelResponseSchema = channelConnectResultSchema;\n\nexport const disconnectChannelResponseSchema = z.object({\n success: z.boolean(),\n});\n","import type { Mastra } from '@mastra/core';\nimport type { ChannelProvider } from '@mastra/core/channels';\nimport type { RequestContext } from '@mastra/core/di';\nimport { coreFeatures } from '@mastra/core/features';\n\nimport { MASTRA_USER_KEY } from '../constants';\nimport { HTTPException } from '../http-exception';\nimport {\n channelPlatformPathParams,\n channelAgentPathParams,\n connectChannelBodySchema,\n listChannelPlatformsResponseSchema,\n listChannelInstallationsResponseSchema,\n connectChannelResponseSchema,\n disconnectChannelResponseSchema,\n} from '../schemas/channels';\nimport { createRoute } from '../server-adapter/routes/route-builder';\n\nimport { assertWriteAccess, getCallerAuthorId, hasAdminBypass, hasScopedPermission } from './authorship';\nimport { handleError } from './error';\n\n// ============================================================================\n// Feature gate + helpers\n// ============================================================================\n\nfunction assertChannelsAvailable(): void {\n if (!coreFeatures.has('channels')) {\n throw new HTTPException(501, { message: 'Channels require a newer version of @mastra/core' });\n }\n}\n\nfunction getChannelOrThrow(mastra: Mastra, platform: string): ChannelProvider {\n const channels = Object.values(mastra.channels ?? {});\n const channel = channels.find(c => c.id === platform);\n if (!channel) {\n const available = channels.map(c => c.id).join(', ');\n throw new HTTPException(404, {\n message: `Channel \"${platform}\" is not registered. Available: ${available || 'none'}`,\n });\n }\n return channel;\n}\n\n/**\n * Unified connect/disconnect authorization.\n *\n * - Stored agent exists → same write access as editing the agent record.\n * - Code-defined agent (no stored record) → route's `requiresAuth` is the gate.\n * - Agent doesn't exist anywhere:\n * - connect → 404 (can't connect a channel to a non-existent agent)\n * - disconnect → orphan cleanup, gated on `channels:write`\n */\nasync function assertChannelAgentWriteAccess(\n mastra: Mastra,\n requestContext: RequestContext,\n agentId: string,\n action: 'connect' | 'disconnect',\n): Promise<void> {\n const storage = mastra.getStorage();\n const agentsStore = storage ? await storage.getStore('agents') : null;\n const stored = agentsStore ? await agentsStore.getById(agentId) : null;\n\n if (stored) {\n assertWriteAccess({\n requestContext,\n resource: 'agents',\n resourceId: agentId,\n action: 'edit',\n record: stored,\n });\n return;\n }\n\n // Not in stored-agents (or storage doesn't support it). Check the runtime\n // registry for a code-defined agent.\n const codeDefined = mastra.getAgentById(agentId);\n if (codeDefined) {\n // Code-defined agents have no owner/ACL — route's requiresAuth /\n // requiresPermission is the gate. Pass-through.\n return;\n }\n\n if (action === 'connect') {\n throw new HTTPException(404, { message: `Agent \"${agentId}\" not found` });\n }\n\n // Disconnect against an unknown agentId = orphan cleanup (stored agent was\n // deleted but the channel installation row is still around). Allow it, but\n // gate on channels:write so this isn't an \"any authenticated user\" backdoor.\n // Follow the same no-auth-configured pass-through as assertWriteAccess.\n const callerAuthorId = getCallerAuthorId(requestContext);\n if (!callerAuthorId && !requestContext.get(MASTRA_USER_KEY)) return;\n if (hasAdminBypass(requestContext, 'channels')) return;\n if (hasScopedPermission({ requestContext, resource: 'channels', action: 'write' })) return;\n\n throw new HTTPException(404, { message: 'Not found' });\n}\n\n// ============================================================================\n// Route Definitions\n// ============================================================================\n\n/**\n * GET /channels/platforms - List available channel platforms\n */\nexport const LIST_CHANNEL_PLATFORMS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/platforms',\n responseType: 'json',\n responseSchema: listChannelPlatformsResponseSchema,\n summary: 'List channel platforms',\n description: 'Returns available channel platforms and their configuration status',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra }) => {\n assertChannelsAvailable();\n try {\n const channels = Object.values(mastra.channels ?? {});\n return channels.map(channel => {\n if (channel.getInfo) {\n return channel.getInfo();\n }\n return {\n id: channel.id,\n name: channel.id.charAt(0).toUpperCase() + channel.id.slice(1),\n isConfigured: true,\n };\n });\n } catch (error) {\n return handleError(error, 'Error listing channel platforms');\n }\n },\n});\n\n/**\n * GET /channels/:platform/installations - List installations for a platform\n */\nexport const LIST_CHANNEL_INSTALLATIONS_ROUTE = createRoute({\n method: 'GET',\n path: '/channels/:platform/installations',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n responseSchema: listChannelInstallationsResponseSchema,\n summary: 'List channel installations',\n description: 'Returns all active and pending installations for a channel platform',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, platform }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.listInstallations) {\n return [];\n }\n\n return await channel.listInstallations();\n } catch (error) {\n return handleError(error, 'Error listing channel installations');\n }\n },\n});\n\n/**\n * POST /channels/:platform/connect - Connect an agent to a platform\n */\nexport const CONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/connect',\n responseType: 'json',\n pathParamSchema: channelPlatformPathParams,\n bodySchema: connectChannelBodySchema,\n responseSchema: connectChannelResponseSchema,\n summary: 'Connect agent to channel',\n description: 'Creates a platform app for the agent and returns an OAuth authorization URL',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId, options }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.connect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic connection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'connect');\n\n return await channel.connect(agentId, options);\n } catch (error) {\n return handleError(error, 'Error connecting agent to channel');\n }\n },\n});\n\n/**\n * POST /channels/:platform/:agentId/disconnect - Disconnect an agent from a platform\n */\nexport const DISCONNECT_CHANNEL_ROUTE = createRoute({\n method: 'POST',\n path: '/channels/:platform/:agentId/disconnect',\n responseType: 'json',\n pathParamSchema: channelAgentPathParams,\n responseSchema: disconnectChannelResponseSchema,\n summary: 'Disconnect agent from channel',\n description: 'Deletes the platform app and cleans up the installation',\n tags: ['Channels'],\n requiresAuth: true,\n handler: async ({ mastra, requestContext, platform, agentId }) => {\n assertChannelsAvailable();\n try {\n const channel = getChannelOrThrow(mastra, platform);\n\n if (!channel.disconnect) {\n throw new HTTPException(400, {\n message: `Channel \"${platform}\" does not support programmatic disconnection`,\n });\n }\n\n await assertChannelAgentWriteAccess(mastra, requestContext, agentId, 'disconnect');\n\n await channel.disconnect(agentId);\n return { success: true };\n } catch (error) {\n return handleError(error, 'Error disconnecting agent from channel');\n }\n },\n});\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e, truncateStringByTokens, estimateTokenCount, resolveToolResultValue, formatToolResultForObserver } from './chunk-
|
|
1
|
+
import { e, truncateStringByTokens, estimateTokenCount, resolveToolResultValue, formatToolResultForObserver } from './chunk-43T7OG7P.js';
|
|
2
2
|
import { openai } from './chunk-2WRJFEJK.js';
|
|
3
3
|
import { standardSchemaToJSONSchema, isStandardSchemaWithJSON, toStandardSchema5 } from './chunk-JIL453ER.js';
|
|
4
4
|
import { __commonJS, __toESM } from './chunk-PR4QN5HX.js';
|
|
@@ -49054,7 +49054,7 @@ ${workingMemory}`;
|
|
|
49054
49054
|
"Observational memory requires @mastra/core support for request-response-id-rotation. Please bump @mastra/core to a newer version."
|
|
49055
49055
|
);
|
|
49056
49056
|
}
|
|
49057
|
-
const { ObservationalMemory: OMClass } = await import('./observational-memory-
|
|
49057
|
+
const { ObservationalMemory: OMClass } = await import('./observational-memory-NC6DQQWD-WWE3XZFF.js');
|
|
49058
49058
|
const onIndexObservations = this.hasRetrievalSearch(omConfig.retrieval) ? async (observation) => {
|
|
49059
49059
|
await this.indexObservation(observation);
|
|
49060
49060
|
} : void 0;
|
|
@@ -50006,7 +50006,7 @@ Notes:
|
|
|
50006
50006
|
if (!effectiveConfig) return null;
|
|
50007
50007
|
const engine = await this.omEngine;
|
|
50008
50008
|
if (!engine) return null;
|
|
50009
|
-
const { ObservationalMemoryProcessor } = await import('./observational-memory-
|
|
50009
|
+
const { ObservationalMemoryProcessor } = await import('./observational-memory-NC6DQQWD-WWE3XZFF.js');
|
|
50010
50010
|
return new ObservationalMemoryProcessor(engine, this, {
|
|
50011
50011
|
temporalMarkers: effectiveConfig.temporalMarkers
|
|
50012
50012
|
});
|
|
@@ -60927,5 +60927,5 @@ var agentBuilderWorkflows = {
|
|
|
60927
60927
|
};
|
|
60928
60928
|
|
|
60929
60929
|
export { AgentBuilder, AgentBuilderDefaults, agentBuilderTemplateWorkflow, agentBuilderWorkflows, mergeTemplateBySlug, planningAndApprovalWorkflow, workflowBuilderWorkflow };
|
|
60930
|
-
//# sourceMappingURL=dist-
|
|
60931
|
-
//# sourceMappingURL=dist-
|
|
60930
|
+
//# sourceMappingURL=dist-EWY5C2JK.js.map
|
|
60931
|
+
//# sourceMappingURL=dist-EWY5C2JK.js.map
|