@mastra/react 1.7.3-alpha.3 → 1.8.0-alpha.5
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/dist/accumulator-B1MuNX3j.js +1668 -0
- package/dist/accumulator-B1MuNX3j.js.map +1 -0
- package/dist/accumulator-CsUGDUHk.cjs +1709 -0
- package/dist/accumulator-CsUGDUHk.cjs.map +1 -0
- package/dist/agent/hooks.d.ts.map +1 -1
- package/dist/agent/user-message.d.ts +4 -0
- package/dist/agent/user-message.d.ts.map +1 -0
- package/dist/chat/index.cjs +3 -0
- package/dist/chat/index.d.ts +3 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +2 -0
- package/dist/feedback-refetch-interval-DLHzQoVV.js +12 -0
- package/dist/feedback-refetch-interval-DLHzQoVV.js.map +1 -0
- package/dist/feedback-refetch-interval-XD5FVc2k.cjs +17 -0
- package/dist/feedback-refetch-interval-XD5FVc2k.cjs.map +1 -0
- package/dist/hooks/agents/index.cjs +1012 -0
- package/dist/hooks/agents/index.cjs.map +1 -0
- package/dist/hooks/agents/index.d.ts +19 -0
- package/dist/hooks/agents/index.d.ts.map +1 -0
- package/dist/hooks/agents/index.js +975 -0
- package/dist/hooks/agents/index.js.map +1 -0
- package/dist/hooks/agents/is-model-not-allowed.d.ts +15 -0
- package/dist/hooks/agents/is-model-not-allowed.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent-messages.d.ts +18 -0
- package/dist/hooks/agents/use-agent-messages.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent-plan.d.ts +14 -0
- package/dist/hooks/agents/use-agent-plan.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent-skills.d.ts +2043 -0
- package/dist/hooks/agents/use-agent-skills.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent-versions.d.ts +72 -0
- package/dist/hooks/agents/use-agent-versions.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent-working-memory.d.ts +11 -0
- package/dist/hooks/agents/use-agent-working-memory.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent-workspace.d.ts +2044 -0
- package/dist/hooks/agents/use-agent-workspace.d.ts.map +1 -0
- package/dist/hooks/agents/use-agent.d.ts +12 -0
- package/dist/hooks/agents/use-agent.d.ts.map +1 -0
- package/dist/hooks/agents/use-agents-model-providers.d.ts +9 -0
- package/dist/hooks/agents/use-agents-model-providers.d.ts.map +1 -0
- package/dist/hooks/agents/use-agents.d.ts +28 -0
- package/dist/hooks/agents/use-agents.d.ts.map +1 -0
- package/dist/hooks/agents/use-background-tasks.d.ts +51 -0
- package/dist/hooks/agents/use-background-tasks.d.ts.map +1 -0
- package/dist/hooks/agents/use-browser-session-probe.d.ts +34 -0
- package/dist/hooks/agents/use-browser-session-probe.d.ts.map +1 -0
- package/dist/hooks/agents/use-channels.d.ts +45 -0
- package/dist/hooks/agents/use-channels.d.ts.map +1 -0
- package/dist/hooks/agents/use-close-browser.d.ts +17 -0
- package/dist/hooks/agents/use-close-browser.d.ts.map +1 -0
- package/dist/hooks/agents/use-execute-agent-tool.d.ts +14 -0
- package/dist/hooks/agents/use-execute-agent-tool.d.ts.map +1 -0
- package/dist/hooks/agents/use-preview-instructions.d.ts +20 -0
- package/dist/hooks/agents/use-preview-instructions.d.ts.map +1 -0
- package/dist/hooks/agents/use-stored-agents.d.ts +8111 -0
- package/dist/hooks/agents/use-stored-agents.d.ts.map +1 -0
- package/dist/hooks/agents/use-stored-skills.d.ts +8 -0
- package/dist/hooks/agents/use-stored-skills.d.ts.map +1 -0
- package/dist/hooks/auth/fetch-with-refresh.d.ts +28 -0
- package/dist/hooks/auth/fetch-with-refresh.d.ts.map +1 -0
- package/dist/hooks/auth/get-client-query-key.d.ts +7 -0
- package/dist/hooks/auth/get-client-query-key.d.ts.map +1 -0
- package/dist/hooks/auth/index.cjs +492 -0
- package/dist/hooks/auth/index.cjs.map +1 -0
- package/dist/hooks/auth/index.d.ts +11 -0
- package/dist/hooks/auth/index.d.ts.map +1 -0
- package/dist/hooks/auth/index.js +474 -0
- package/dist/hooks/auth/index.js.map +1 -0
- package/dist/hooks/auth/sso-login.d.ts +8 -0
- package/dist/hooks/auth/sso-login.d.ts.map +1 -0
- package/dist/hooks/auth/types.d.ts +107 -0
- package/dist/hooks/auth/types.d.ts.map +1 -0
- package/dist/hooks/auth/use-auth-actions.d.ts +99 -0
- package/dist/hooks/auth/use-auth-actions.d.ts.map +1 -0
- package/dist/hooks/auth/use-auth-capabilities.d.ts +43 -0
- package/dist/hooks/auth/use-auth-capabilities.d.ts.map +1 -0
- package/dist/hooks/auth/use-credentials-login.d.ts +63 -0
- package/dist/hooks/auth/use-credentials-login.d.ts.map +1 -0
- package/dist/hooks/auth/use-credentials-signup.d.ts +66 -0
- package/dist/hooks/auth/use-credentials-signup.d.ts.map +1 -0
- package/dist/hooks/auth/use-current-user.d.ts +40 -0
- package/dist/hooks/auth/use-current-user.d.ts.map +1 -0
- package/dist/hooks/auth/use-permission-patterns.d.ts +24 -0
- package/dist/hooks/auth/use-permission-patterns.d.ts.map +1 -0
- package/dist/hooks/capabilities/index.cjs +47 -0
- package/dist/hooks/capabilities/index.cjs.map +1 -0
- package/dist/hooks/capabilities/index.d.ts +4 -0
- package/dist/hooks/capabilities/index.d.ts.map +1 -0
- package/dist/hooks/capabilities/index.js +44 -0
- package/dist/hooks/capabilities/index.js.map +1 -0
- package/dist/hooks/capabilities/use-feedback-available.d.ts +9 -0
- package/dist/hooks/capabilities/use-feedback-available.d.ts.map +1 -0
- package/dist/hooks/capabilities/use-observability-capabilities.d.ts +9 -0
- package/dist/hooks/capabilities/use-observability-capabilities.d.ts.map +1 -0
- package/dist/hooks/capabilities/use-trace-query-available.d.ts +9 -0
- package/dist/hooks/capabilities/use-trace-query-available.d.ts.map +1 -0
- package/dist/hooks/configuration/index.cjs +18 -0
- package/dist/hooks/configuration/index.cjs.map +1 -0
- package/dist/hooks/configuration/index.d.ts +2 -0
- package/dist/hooks/configuration/index.d.ts.map +1 -0
- package/dist/hooks/configuration/index.js +17 -0
- package/dist/hooks/configuration/index.js.map +1 -0
- package/dist/hooks/configuration/use-mastra-packages.d.ts +9 -0
- package/dist/hooks/configuration/use-mastra-packages.d.ts.map +1 -0
- package/dist/hooks/datasets/index.cjs +615 -0
- package/dist/hooks/datasets/index.cjs.map +1 -0
- package/dist/hooks/datasets/index.d.ts +10 -0
- package/dist/hooks/datasets/index.d.ts.map +1 -0
- package/dist/hooks/datasets/index.js +600 -0
- package/dist/hooks/datasets/index.js.map +1 -0
- package/dist/hooks/datasets/use-compare-experiments.d.ts +23 -0
- package/dist/hooks/datasets/use-compare-experiments.d.ts.map +1 -0
- package/dist/hooks/datasets/use-dataset-experiments.d.ts +49 -0
- package/dist/hooks/datasets/use-dataset-experiments.d.ts.map +1 -0
- package/dist/hooks/datasets/use-dataset-item-versions.d.ts +31 -0
- package/dist/hooks/datasets/use-dataset-item-versions.d.ts.map +1 -0
- package/dist/hooks/datasets/use-dataset-items.d.ts +38 -0
- package/dist/hooks/datasets/use-dataset-items.d.ts.map +1 -0
- package/dist/hooks/datasets/use-dataset-mutations.d.ts +362 -0
- package/dist/hooks/datasets/use-dataset-mutations.d.ts.map +1 -0
- package/dist/hooks/datasets/use-dataset-versions.d.ts +23 -0
- package/dist/hooks/datasets/use-dataset-versions.d.ts.map +1 -0
- package/dist/hooks/datasets/use-datasets.d.ts +44 -0
- package/dist/hooks/datasets/use-datasets.d.ts.map +1 -0
- package/dist/hooks/datasets/use-experiments.d.ts +16 -0
- package/dist/hooks/datasets/use-experiments.d.ts.map +1 -0
- package/dist/hooks/datasets/use-workflow-schema.d.ts +16 -0
- package/dist/hooks/datasets/use-workflow-schema.d.ts.map +1 -0
- package/dist/hooks/embedders/index.cjs +19 -0
- package/dist/hooks/embedders/index.cjs.map +1 -0
- package/dist/hooks/embedders/index.d.ts +2 -0
- package/dist/hooks/embedders/index.d.ts.map +1 -0
- package/dist/hooks/embedders/index.js +18 -0
- package/dist/hooks/embedders/index.js.map +1 -0
- package/dist/hooks/embedders/use-embedders.d.ts +17 -0
- package/dist/hooks/embedders/use-embedders.d.ts.map +1 -0
- package/dist/hooks/experiments/index.cjs +152 -0
- package/dist/hooks/experiments/index.cjs.map +1 -0
- package/dist/hooks/experiments/index.d.ts +5 -0
- package/dist/hooks/experiments/index.d.ts.map +1 -0
- package/dist/hooks/experiments/index.js +146 -0
- package/dist/hooks/experiments/index.js.map +1 -0
- package/dist/hooks/experiments/use-experiment-metrics.d.ts +30 -0
- package/dist/hooks/experiments/use-experiment-metrics.d.ts.map +1 -0
- package/dist/hooks/experiments/use-experiment-trace.d.ts +13 -0
- package/dist/hooks/experiments/use-experiment-trace.d.ts.map +1 -0
- package/dist/hooks/experiments/use-experiments-for-dataset-filter.d.ts +22 -0
- package/dist/hooks/experiments/use-experiments-for-dataset-filter.d.ts.map +1 -0
- package/dist/hooks/experiments/use-infinite-experiments.d.ts +22 -0
- package/dist/hooks/experiments/use-infinite-experiments.d.ts.map +1 -0
- package/dist/hooks/feedback/feedback-refetch-interval.d.ts +7 -0
- package/dist/hooks/feedback/feedback-refetch-interval.d.ts.map +1 -0
- package/dist/hooks/feedback/index.cjs +22 -0
- package/dist/hooks/feedback/index.cjs.map +1 -0
- package/dist/hooks/feedback/index.d.ts +3 -0
- package/dist/hooks/feedback/index.d.ts.map +1 -0
- package/dist/hooks/feedback/index.js +20 -0
- package/dist/hooks/feedback/index.js.map +1 -0
- package/dist/hooks/feedback/use-feedback.d.ts +56 -0
- package/dist/hooks/feedback/use-feedback.d.ts.map +1 -0
- package/dist/hooks/llm/index.cjs +17 -0
- package/dist/hooks/llm/index.cjs.map +1 -0
- package/dist/hooks/llm/index.d.ts +2 -0
- package/dist/hooks/llm/index.d.ts.map +1 -0
- package/dist/hooks/llm/index.js +16 -0
- package/dist/hooks/llm/index.js.map +1 -0
- package/dist/hooks/llm/use-llm-providers.d.ts +7 -0
- package/dist/hooks/llm/use-llm-providers.d.ts.map +1 -0
- package/dist/hooks/logs/index.cjs +84 -0
- package/dist/hooks/logs/index.cjs.map +1 -0
- package/dist/hooks/logs/index.d.ts +4 -0
- package/dist/hooks/logs/index.d.ts.map +1 -0
- package/dist/hooks/logs/index.js +82 -0
- package/dist/hooks/logs/index.js.map +1 -0
- package/dist/hooks/logs/types.d.ts +36 -0
- package/dist/hooks/logs/types.d.ts.map +1 -0
- package/dist/hooks/logs/use-logs.d.ts +79 -0
- package/dist/hooks/logs/use-logs.d.ts.map +1 -0
- package/dist/hooks/mcps/index.cjs +215 -0
- package/dist/hooks/mcps/index.cjs.map +1 -0
- package/dist/hooks/mcps/index.d.ts +7 -0
- package/dist/hooks/mcps/index.d.ts.map +1 -0
- package/dist/hooks/mcps/index.js +208 -0
- package/dist/hooks/mcps/index.js.map +1 -0
- package/dist/hooks/mcps/use-mcp-app-tools.d.ts +21 -0
- package/dist/hooks/mcps/use-mcp-app-tools.d.ts.map +1 -0
- package/dist/hooks/mcps/use-mcp-server-tool.d.ts +25 -0
- package/dist/hooks/mcps/use-mcp-server-tool.d.ts.map +1 -0
- package/dist/hooks/mcps/use-mcp-server-tools-by-id.d.ts +13 -0
- package/dist/hooks/mcps/use-mcp-server-tools-by-id.d.ts.map +1 -0
- package/dist/hooks/mcps/use-mcp-server-tools.d.ts +9 -0
- package/dist/hooks/mcps/use-mcp-server-tools.d.ts.map +1 -0
- package/dist/hooks/mcps/use-mcp-servers.d.ts +8 -0
- package/dist/hooks/mcps/use-mcp-servers.d.ts.map +1 -0
- package/dist/hooks/mcps/use-try-connect-mcp.d.ts +15 -0
- package/dist/hooks/mcps/use-try-connect-mcp.d.ts.map +1 -0
- package/dist/hooks/memory/index.cjs +328 -0
- package/dist/hooks/memory/index.cjs.map +1 -0
- package/dist/hooks/memory/index.d.ts +5 -0
- package/dist/hooks/memory/index.d.ts.map +1 -0
- package/dist/hooks/memory/index.js +312 -0
- package/dist/hooks/memory/index.js.map +1 -0
- package/dist/hooks/memory/use-memory-status.d.ts +12 -0
- package/dist/hooks/memory/use-memory-status.d.ts.map +1 -0
- package/dist/hooks/memory/use-memory-thread-messages.d.ts +13 -0
- package/dist/hooks/memory/use-memory-thread-messages.d.ts.map +1 -0
- package/dist/hooks/memory/use-memory.d.ts +159 -0
- package/dist/hooks/memory/use-memory.d.ts.map +1 -0
- package/dist/hooks/memory/use-observational-memory.d.ts +13 -0
- package/dist/hooks/memory/use-observational-memory.d.ts.map +1 -0
- package/dist/hooks/metrics/index.cjs +997 -0
- package/dist/hooks/metrics/index.cjs.map +1 -0
- package/dist/hooks/metrics/index.d.ts +16 -0
- package/dist/hooks/metrics/index.d.ts.map +1 -0
- package/dist/hooks/metrics/index.js +981 -0
- package/dist/hooks/metrics/index.js.map +1 -0
- package/dist/hooks/metrics/metrics-interval.d.ts +8 -0
- package/dist/hooks/metrics/metrics-interval.d.ts.map +1 -0
- package/dist/hooks/metrics/metrics-query-filters.d.ts +62 -0
- package/dist/hooks/metrics/metrics-query-filters.d.ts.map +1 -0
- package/dist/hooks/metrics/use-active-resources-kpi-metrics.d.ts +12 -0
- package/dist/hooks/metrics/use-active-resources-kpi-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-active-threads-kpi-metrics.d.ts +12 -0
- package/dist/hooks/metrics/use-active-threads-kpi-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-agent-runs-kpi-metrics.d.ts +9 -0
- package/dist/hooks/metrics/use-agent-runs-kpi-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-latency-metrics.d.ts +23 -0
- package/dist/hooks/metrics/use-latency-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-model-cost-kpi-metrics.d.ts +14 -0
- package/dist/hooks/metrics/use-model-cost-kpi-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-model-usage-cost-metrics.d.ts +16 -0
- package/dist/hooks/metrics/use-model-usage-cost-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-scores-metrics.d.ts +24 -0
- package/dist/hooks/metrics/use-scores-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-token-usage-by-agent-metrics.d.ts +15 -0
- package/dist/hooks/metrics/use-token-usage-by-agent-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-token-usage-timeseries.d.ts +22 -0
- package/dist/hooks/metrics/use-token-usage-timeseries.d.ts.map +1 -0
- package/dist/hooks/metrics/use-top-active-threads-metrics.d.ts +21 -0
- package/dist/hooks/metrics/use-top-active-threads-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-top-resources-by-threads-metrics.d.ts +20 -0
- package/dist/hooks/metrics/use-top-resources-by-threads-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-total-tokens-kpi-metrics.d.ts +13 -0
- package/dist/hooks/metrics/use-total-tokens-kpi-metrics.d.ts.map +1 -0
- package/dist/hooks/metrics/use-trace-volume-metrics.d.ts +17 -0
- package/dist/hooks/metrics/use-trace-volume-metrics.d.ts.map +1 -0
- package/dist/hooks/processors/index.cjs +43 -0
- package/dist/hooks/processors/index.cjs.map +1 -0
- package/dist/hooks/processors/index.d.ts +2 -0
- package/dist/hooks/processors/index.d.ts.map +1 -0
- package/dist/hooks/processors/index.js +40 -0
- package/dist/hooks/processors/index.js.map +1 -0
- package/dist/hooks/processors/use-processors.d.ts +64 -0
- package/dist/hooks/processors/use-processors.d.ts.map +1 -0
- package/dist/hooks/prompt-blocks/index.cjs +181 -0
- package/dist/hooks/prompt-blocks/index.cjs.map +1 -0
- package/dist/hooks/prompt-blocks/index.d.ts +3 -0
- package/dist/hooks/prompt-blocks/index.d.ts.map +1 -0
- package/dist/hooks/prompt-blocks/index.js +172 -0
- package/dist/hooks/prompt-blocks/index.js.map +1 -0
- package/dist/hooks/prompt-blocks/use-prompt-block-versions.d.ts +59 -0
- package/dist/hooks/prompt-blocks/use-prompt-block-versions.d.ts.map +1 -0
- package/dist/hooks/prompt-blocks/use-stored-prompt-blocks.d.ts +180 -0
- package/dist/hooks/prompt-blocks/use-stored-prompt-blocks.d.ts.map +1 -0
- package/dist/hooks/query/index.cjs +34 -0
- package/dist/hooks/query/index.cjs.map +1 -0
- package/dist/hooks/query/index.d.ts +4 -0
- package/dist/hooks/query/index.d.ts.map +1 -0
- package/dist/hooks/query/index.js +25 -0
- package/dist/hooks/query/index.js.map +1 -0
- package/dist/hooks/query/query-client-provider.d.ts +8 -0
- package/dist/hooks/query/query-client-provider.d.ts.map +1 -0
- package/dist/hooks/query/query-utils.d.ts +48 -0
- package/dist/hooks/query/query-utils.d.ts.map +1 -0
- package/dist/hooks/review/index.cjs +89 -0
- package/dist/hooks/review/index.cjs.map +1 -0
- package/dist/hooks/review/index.d.ts +4 -0
- package/dist/hooks/review/index.d.ts.map +1 -0
- package/dist/hooks/review/index.js +86 -0
- package/dist/hooks/review/index.js.map +1 -0
- package/dist/hooks/review/types.d.ts +21 -0
- package/dist/hooks/review/types.d.ts.map +1 -0
- package/dist/hooks/review/use-dataset-review-items.d.ts +19 -0
- package/dist/hooks/review/use-dataset-review-items.d.ts.map +1 -0
- package/dist/hooks/review/use-review-summary.d.ts +9 -0
- package/dist/hooks/review/use-review-summary.d.ts.map +1 -0
- package/dist/hooks/schedules/index.cjs +110 -0
- package/dist/hooks/schedules/index.cjs.map +1 -0
- package/dist/hooks/schedules/index.d.ts +5 -0
- package/dist/hooks/schedules/index.d.ts.map +1 -0
- package/dist/hooks/schedules/index.js +106 -0
- package/dist/hooks/schedules/index.js.map +1 -0
- package/dist/hooks/schedules/use-schedule-triggers.d.ts +18 -0
- package/dist/hooks/schedules/use-schedule-triggers.d.ts.map +1 -0
- package/dist/hooks/schedules/use-schedule.d.ts +11 -0
- package/dist/hooks/schedules/use-schedule.d.ts.map +1 -0
- package/dist/hooks/schedules/use-schedules.d.ts +7 -0
- package/dist/hooks/schedules/use-schedules.d.ts.map +1 -0
- package/dist/hooks/schedules/use-toggle-schedule.d.ts +13 -0
- package/dist/hooks/schedules/use-toggle-schedule.d.ts.map +1 -0
- package/dist/hooks/scores/index.cjs +339 -0
- package/dist/hooks/scores/index.cjs.map +1 -0
- package/dist/hooks/scores/index.d.ts +6 -0
- package/dist/hooks/scores/index.d.ts.map +1 -0
- package/dist/hooks/scores/index.js +323 -0
- package/dist/hooks/scores/index.js.map +1 -0
- package/dist/hooks/scores/use-scorer-versions.d.ts +71 -0
- package/dist/hooks/scores/use-scorer-versions.d.ts.map +1 -0
- package/dist/hooks/scores/use-scorers.d.ts +34 -0
- package/dist/hooks/scores/use-scorers.d.ts.map +1 -0
- package/dist/hooks/scores/use-stored-scorers.d.ts +151 -0
- package/dist/hooks/scores/use-stored-scorers.d.ts.map +1 -0
- package/dist/hooks/scores/use-trace-span-scores.d.ts +20 -0
- package/dist/hooks/scores/use-trace-span-scores.d.ts.map +1 -0
- package/dist/hooks/scores/use-trigger-scorer.d.ts +17 -0
- package/dist/hooks/scores/use-trigger-scorer.d.ts.map +1 -0
- package/dist/hooks/shared/cost.d.ts +7 -0
- package/dist/hooks/shared/cost.d.ts.map +1 -0
- package/dist/hooks/shared/date-format.d.ts +30 -0
- package/dist/hooks/shared/date-format.d.ts.map +1 -0
- package/dist/hooks/shared/map.d.ts +2 -0
- package/dist/hooks/shared/map.d.ts.map +1 -0
- package/dist/hooks/shared/query-options.d.ts +19 -0
- package/dist/hooks/shared/query-options.d.ts.map +1 -0
- package/dist/hooks/shared/use-in-view.d.ts +23 -0
- package/dist/hooks/shared/use-in-view.d.ts.map +1 -0
- package/dist/hooks/templates/index.cjs +464 -0
- package/dist/hooks/templates/index.cjs.map +1 -0
- package/dist/hooks/templates/index.d.ts +2 -0
- package/dist/hooks/templates/index.d.ts.map +1 -0
- package/dist/hooks/templates/index.js +456 -0
- package/dist/hooks/templates/index.js.map +1 -0
- package/dist/hooks/templates/use-templates.d.ts +139 -0
- package/dist/hooks/templates/use-templates.d.ts.map +1 -0
- package/dist/hooks/tool-providers/index.cjs +342 -0
- package/dist/hooks/tool-providers/index.cjs.map +1 -0
- package/dist/hooks/tool-providers/index.d.ts +10 -0
- package/dist/hooks/tool-providers/index.d.ts.map +1 -0
- package/dist/hooks/tool-providers/index.js +332 -0
- package/dist/hooks/tool-providers/index.js.map +1 -0
- package/dist/hooks/tool-providers/use-all-connections.d.ts +41 -0
- package/dist/hooks/tool-providers/use-all-connections.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-all-provider-tools.d.ts +25 -0
- package/dist/hooks/tool-providers/use-all-provider-tools.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-authorize.d.ts +45 -0
- package/dist/hooks/tool-providers/use-authorize.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-disconnect-connection.d.ts +24 -0
- package/dist/hooks/tool-providers/use-disconnect-connection.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-existing-connections.d.ts +33 -0
- package/dist/hooks/tool-providers/use-existing-connections.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-provider-tools.d.ts +17 -0
- package/dist/hooks/tool-providers/use-provider-tools.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-tool-providers.d.ts +23 -0
- package/dist/hooks/tool-providers/use-tool-providers.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-toolkits.d.ts +13 -0
- package/dist/hooks/tool-providers/use-toolkits.d.ts.map +1 -0
- package/dist/hooks/tool-providers/use-update-connection.d.ts +24 -0
- package/dist/hooks/tool-providers/use-update-connection.d.ts.map +1 -0
- package/dist/hooks/tools/index.cjs +49 -0
- package/dist/hooks/tools/index.cjs.map +1 -0
- package/dist/hooks/tools/index.d.ts +3 -0
- package/dist/hooks/tools/index.d.ts.map +1 -0
- package/dist/hooks/tools/index.js +46 -0
- package/dist/hooks/tools/index.js.map +1 -0
- package/dist/hooks/tools/use-all-tools.d.ts +16 -0
- package/dist/hooks/tools/use-all-tools.d.ts.map +1 -0
- package/dist/hooks/tools/use-execute-tool.d.ts +13 -0
- package/dist/hooks/tools/use-execute-tool.d.ts.map +1 -0
- package/dist/hooks/traces/discovery-cache.d.ts +12 -0
- package/dist/hooks/traces/discovery-cache.d.ts.map +1 -0
- package/dist/hooks/traces/index.cjs +1168 -0
- package/dist/hooks/traces/index.cjs.map +1 -0
- package/dist/hooks/traces/index.d.ts +22 -0
- package/dist/hooks/traces/index.d.ts.map +1 -0
- package/dist/hooks/traces/index.js +1129 -0
- package/dist/hooks/traces/index.js.map +1 -0
- package/dist/hooks/traces/types.d.ts +20 -0
- package/dist/hooks/traces/types.d.ts.map +1 -0
- package/dist/hooks/traces/use-branch.d.ts +18 -0
- package/dist/hooks/traces/use-branch.d.ts.map +1 -0
- package/dist/hooks/traces/use-create-feedback.d.ts +21 -0
- package/dist/hooks/traces/use-create-feedback.d.ts.map +1 -0
- package/dist/hooks/traces/use-delete-feedback.d.ts +21 -0
- package/dist/hooks/traces/use-delete-feedback.d.ts.map +1 -0
- package/dist/hooks/traces/use-entity-names.d.ts +14 -0
- package/dist/hooks/traces/use-entity-names.d.ts.map +1 -0
- package/dist/hooks/traces/use-environments.d.ts +10 -0
- package/dist/hooks/traces/use-environments.d.ts.map +1 -0
- package/dist/hooks/traces/use-service-names.d.ts +10 -0
- package/dist/hooks/traces/use-service-names.d.ts.map +1 -0
- package/dist/hooks/traces/use-span-detail.d.ts +14 -0
- package/dist/hooks/traces/use-span-detail.d.ts.map +1 -0
- package/dist/hooks/traces/use-span-feedback.d.ts +19 -0
- package/dist/hooks/traces/use-span-feedback.d.ts.map +1 -0
- package/dist/hooks/traces/use-tags.d.ts +10 -0
- package/dist/hooks/traces/use-tags.d.ts.map +1 -0
- package/dist/hooks/traces/use-thread-has-other-traces.d.ts +17 -0
- package/dist/hooks/traces/use-thread-has-other-traces.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-column-preferences-storage-key.d.ts +6 -0
- package/dist/hooks/traces/use-trace-column-preferences-storage-key.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-feedback.d.ts +16 -0
- package/dist/hooks/traces/use-trace-feedback.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-light-spans.d.ts +16 -0
- package/dist/hooks/traces/use-trace-light-spans.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-metadata-filter-fields.d.ts +36 -0
- package/dist/hooks/traces/use-trace-metadata-filter-fields.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-or-branch-spans.d.ts +39 -0
- package/dist/hooks/traces/use-trace-or-branch-spans.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-query.d.ts +57 -0
- package/dist/hooks/traces/use-trace-query.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-spans.d.ts +46 -0
- package/dist/hooks/traces/use-trace-spans.d.ts.map +1 -0
- package/dist/hooks/traces/use-trace-usage.d.ts +10 -0
- package/dist/hooks/traces/use-trace-usage.d.ts.map +1 -0
- package/dist/hooks/traces/use-traces.d.ts +292 -0
- package/dist/hooks/traces/use-traces.d.ts.map +1 -0
- package/dist/hooks/vectors/index.cjs +19 -0
- package/dist/hooks/vectors/index.cjs.map +1 -0
- package/dist/hooks/vectors/index.d.ts +2 -0
- package/dist/hooks/vectors/index.d.ts.map +1 -0
- package/dist/hooks/vectors/index.js +18 -0
- package/dist/hooks/vectors/index.js.map +1 -0
- package/dist/hooks/vectors/use-vectors.d.ts +14 -0
- package/dist/hooks/vectors/use-vectors.d.ts.map +1 -0
- package/dist/hooks/voice/index.cjs +87 -0
- package/dist/hooks/voice/index.cjs.map +1 -0
- package/dist/hooks/voice/index.d.ts +2 -0
- package/dist/hooks/voice/index.d.ts.map +1 -0
- package/dist/hooks/voice/index.js +86 -0
- package/dist/hooks/voice/index.js.map +1 -0
- package/dist/hooks/voice/use-read-aloud.d.ts +20 -0
- package/dist/hooks/voice/use-read-aloud.d.ts.map +1 -0
- package/dist/hooks/workflows/index.cjs +173 -0
- package/dist/hooks/workflows/index.cjs.map +1 -0
- package/dist/hooks/workflows/index.d.ts +7 -0
- package/dist/hooks/workflows/index.d.ts.map +1 -0
- package/dist/hooks/workflows/index.js +157 -0
- package/dist/hooks/workflows/index.js.map +1 -0
- package/dist/hooks/workflows/use-workflow-runs.d.ts +51 -0
- package/dist/hooks/workflows/use-workflow-runs.d.ts.map +1 -0
- package/dist/hooks/workflows/use-workflow.d.ts +14 -0
- package/dist/hooks/workflows/use-workflow.d.ts.map +1 -0
- package/dist/hooks/workflows/use-workflows-run-counts.d.ts +25 -0
- package/dist/hooks/workflows/use-workflows-run-counts.d.ts.map +1 -0
- package/dist/hooks/workflows/use-workflows.d.ts +10 -0
- package/dist/hooks/workflows/use-workflows.d.ts.map +1 -0
- package/dist/hooks/workspace/client-utils.d.ts +5 -0
- package/dist/hooks/workspace/client-utils.d.ts.map +1 -0
- package/dist/hooks/workspace/compatibility.d.ts +22 -0
- package/dist/hooks/workspace/compatibility.d.ts.map +1 -0
- package/dist/hooks/workspace/file-type.d.ts +7 -0
- package/dist/hooks/workspace/file-type.d.ts.map +1 -0
- package/dist/hooks/workspace/index.cjs +624 -0
- package/dist/hooks/workspace/index.cjs.map +1 -0
- package/dist/hooks/workspace/index.d.ts +11 -0
- package/dist/hooks/workspace/index.d.ts.map +1 -0
- package/dist/hooks/workspace/index.js +594 -0
- package/dist/hooks/workspace/index.js.map +1 -0
- package/dist/hooks/workspace/types.d.ts +199 -0
- package/dist/hooks/workspace/types.d.ts.map +1 -0
- package/dist/hooks/workspace/use-skills-sh.d.ts +104 -0
- package/dist/hooks/workspace/use-skills-sh.d.ts.map +1 -0
- package/dist/hooks/workspace/use-stored-workspaces.d.ts +12 -0
- package/dist/hooks/workspace/use-stored-workspaces.d.ts.map +1 -0
- package/dist/hooks/workspace/use-workspace-directory.d.ts +13 -0
- package/dist/hooks/workspace/use-workspace-directory.d.ts.map +1 -0
- package/dist/hooks/workspace/use-workspace-file-content.d.ts +15 -0
- package/dist/hooks/workspace/use-workspace-file-content.d.ts.map +1 -0
- package/dist/hooks/workspace/use-workspace-search.d.ts +20 -0
- package/dist/hooks/workspace/use-workspace-search.d.ts.map +1 -0
- package/dist/hooks/workspace/use-workspace-skills.d.ts +23 -0
- package/dist/hooks/workspace/use-workspace-skills.d.ts.map +1 -0
- package/dist/hooks/workspace/use-workspace.d.ts +56 -0
- package/dist/hooks/workspace/use-workspace.d.ts.map +1 -0
- package/dist/hooks-BFQK_s4g.js +1231 -0
- package/dist/hooks-BFQK_s4g.js.map +1 -0
- package/dist/hooks-CMjizg6y.cjs +1248 -0
- package/dist/hooks-CMjizg6y.cjs.map +1 -0
- package/dist/hooks-CjULNHpJ.js +252 -0
- package/dist/hooks-CjULNHpJ.js.map +1 -0
- package/dist/hooks-DsDYaJ3T.cjs +269 -0
- package/dist/hooks-DsDYaJ3T.cjs.map +1 -0
- package/dist/index.cjs +21 -3434
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3419
- package/dist/index.js.map +1 -1
- package/dist/lib/mastra-db/fromCoreUserMessage.d.ts +3 -4
- package/dist/lib/mastra-db/fromCoreUserMessage.d.ts.map +1 -1
- package/dist/map-CDv4fbu4.js +12 -0
- package/dist/map-CDv4fbu4.js.map +1 -0
- package/dist/map-wjmL1y5O.cjs +17 -0
- package/dist/map-wjmL1y5O.cjs.map +1 -0
- package/dist/mastra-client-context-Bx_g84YB.js +50 -0
- package/dist/mastra-client-context-Bx_g84YB.js.map +1 -0
- package/dist/mastra-client-context-DzX3f0RF.cjs +61 -0
- package/dist/mastra-client-context-DzX3f0RF.cjs.map +1 -0
- package/dist/query-utils-CcrChYgz.cjs +174 -0
- package/dist/query-utils-CcrChYgz.cjs.map +1 -0
- package/dist/query-utils-D1NgFnWU.js +127 -0
- package/dist/query-utils-D1NgFnWU.js.map +1 -0
- package/dist/use-in-view-B6eJO9Zi.cjs +37 -0
- package/dist/use-in-view-B6eJO9Zi.cjs.map +1 -0
- package/dist/use-in-view-C9sYPGRm.js +32 -0
- package/dist/use-in-view-C9sYPGRm.js.map +1 -0
- package/dist/voice-BOtUdMi8.cjs +281 -0
- package/dist/voice-BOtUdMi8.cjs.map +1 -0
- package/dist/voice-DgirjEyH.js +264 -0
- package/dist/voice-DgirjEyH.js.map +1 -0
- package/package.json +33 -4
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_mastra_client_context = require("../../mastra-client-context-DzX3f0RF.cjs");
|
|
3
|
+
let _tanstack_react_query = require("@tanstack/react-query");
|
|
4
|
+
//#region src/hooks/mcps/use-mcp-app-tools.ts
|
|
5
|
+
/**
|
|
6
|
+
* Builds a map of tool names → MCP App info for tools across all registered
|
|
7
|
+
* MCP servers that have `_meta.ui.resourceUri` (i.e., tools with interactive
|
|
8
|
+
* MCP App UIs).
|
|
9
|
+
*
|
|
10
|
+
* For each app tool, entries are created under both the original tool name
|
|
11
|
+
* and the namespaced name (`${serverId}_${toolName}`) so that agent tools
|
|
12
|
+
* sourced via `MCPClient.listTools()` (which namespaces) can be resolved.
|
|
13
|
+
*/
|
|
14
|
+
function useMcpAppTools({ queryOptions } = {}) {
|
|
15
|
+
const client = require_mastra_client_context.useMastraClient();
|
|
16
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
17
|
+
queryKey: ["mcp-app-tools"],
|
|
18
|
+
queryFn: async () => {
|
|
19
|
+
const map = {};
|
|
20
|
+
const { servers } = await client.getMcpServers();
|
|
21
|
+
if (!servers?.length) return map;
|
|
22
|
+
const results = await Promise.allSettled(servers.map(async (server) => {
|
|
23
|
+
const { tools } = await client.getMcpServerTools(server.id);
|
|
24
|
+
return {
|
|
25
|
+
serverId: server.id,
|
|
26
|
+
tools
|
|
27
|
+
};
|
|
28
|
+
}));
|
|
29
|
+
for (const result of results) {
|
|
30
|
+
if (result.status !== "fulfilled") continue;
|
|
31
|
+
const { serverId, tools } = result.value;
|
|
32
|
+
for (const tool of tools) {
|
|
33
|
+
const resourceUri = tool._meta?.ui?.resourceUri;
|
|
34
|
+
if (resourceUri) {
|
|
35
|
+
const toolId = tool.name;
|
|
36
|
+
const info = {
|
|
37
|
+
serverId,
|
|
38
|
+
toolId,
|
|
39
|
+
toolName: tool.name,
|
|
40
|
+
resourceUri
|
|
41
|
+
};
|
|
42
|
+
map[toolId] = info;
|
|
43
|
+
if (tool.name !== toolId) map[tool.name] = info;
|
|
44
|
+
map[`${serverId}_${tool.name}`] = info;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return map;
|
|
49
|
+
},
|
|
50
|
+
staleTime: 6e4,
|
|
51
|
+
refetchOnWindowFocus: false,
|
|
52
|
+
...queryOptions
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
//#region src/hooks/mcps/use-mcp-server-tool.ts
|
|
57
|
+
/**
|
|
58
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
59
|
+
*/
|
|
60
|
+
const useMCPServerTool = ({ serverId, toolId, requestContext, queryOptions }) => {
|
|
61
|
+
const client = require_mastra_client_context.useMastraClient();
|
|
62
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
63
|
+
queryKey: [
|
|
64
|
+
"mcp-server-tool",
|
|
65
|
+
serverId,
|
|
66
|
+
toolId
|
|
67
|
+
],
|
|
68
|
+
queryFn: () => {
|
|
69
|
+
return client.getMcpServerTool(serverId, toolId).details(requestContext);
|
|
70
|
+
},
|
|
71
|
+
...queryOptions
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const useExecuteMCPTool = ({ serverId, toolId, queryOptions }) => {
|
|
75
|
+
const client = require_mastra_client_context.useMastraClient();
|
|
76
|
+
return (0, _tanstack_react_query.useMutation)({
|
|
77
|
+
mutationFn: ({ data, requestContext }) => {
|
|
78
|
+
return client.getMcpServerTool(serverId, toolId).execute({
|
|
79
|
+
data,
|
|
80
|
+
requestContext
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
...queryOptions
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region src/hooks/mcps/use-mcp-server-tools.ts
|
|
88
|
+
const useMCPServerTools = ({ selectedServer, queryOptions }) => {
|
|
89
|
+
const client = require_mastra_client_context.useMastraClient();
|
|
90
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
91
|
+
queryKey: ["mcpserver-tools", selectedServer?.id],
|
|
92
|
+
queryFn: async () => {
|
|
93
|
+
const fetchedToolsArray = (await client.getMcpServerTools(selectedServer?.id)).tools;
|
|
94
|
+
const transformedTools = {};
|
|
95
|
+
fetchedToolsArray.forEach((sdkToolInfo) => {
|
|
96
|
+
transformedTools[sdkToolInfo.name] = sdkToolInfo;
|
|
97
|
+
});
|
|
98
|
+
return transformedTools;
|
|
99
|
+
},
|
|
100
|
+
retry: false,
|
|
101
|
+
refetchOnWindowFocus: false,
|
|
102
|
+
...queryOptions
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region src/hooks/mcps/use-mcp-server-tools-by-id.ts
|
|
107
|
+
/**
|
|
108
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
109
|
+
*/
|
|
110
|
+
const useMCPServerToolsById = ({ serverId, queryOptions }) => {
|
|
111
|
+
const client = require_mastra_client_context.useMastraClient();
|
|
112
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
113
|
+
queryKey: ["mcpserver-tools", serverId],
|
|
114
|
+
queryFn: async () => {
|
|
115
|
+
const response = await client.getMcpServerTools(serverId);
|
|
116
|
+
return Object.fromEntries(response.tools.map((tool) => [tool.name, tool]));
|
|
117
|
+
},
|
|
118
|
+
retry: false,
|
|
119
|
+
refetchOnWindowFocus: false,
|
|
120
|
+
...queryOptions
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region src/hooks/mcps/use-mcp-servers.ts
|
|
125
|
+
const useMCPServers = ({ requestContext, queryOptions } = {}) => {
|
|
126
|
+
const client = require_mastra_client_context.useMastraClient();
|
|
127
|
+
return (0, _tanstack_react_query.useQuery)({
|
|
128
|
+
queryKey: ["mcp-servers"],
|
|
129
|
+
queryFn: async () => {
|
|
130
|
+
return (await client.getMcpServers(requestContext)).servers;
|
|
131
|
+
},
|
|
132
|
+
...queryOptions
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/hooks/mcps/use-try-connect-mcp.ts
|
|
137
|
+
async function parseResponse(response) {
|
|
138
|
+
if ((response.headers.get("content-type") ?? "").includes("text/event-stream")) {
|
|
139
|
+
const lines = (await response.text()).split("\n");
|
|
140
|
+
for (const line of lines) if (line.startsWith("data:")) {
|
|
141
|
+
const data = line.slice(5).trim();
|
|
142
|
+
if (data) return JSON.parse(data);
|
|
143
|
+
}
|
|
144
|
+
throw new Error("No data found in SSE response");
|
|
145
|
+
}
|
|
146
|
+
return response.json();
|
|
147
|
+
}
|
|
148
|
+
async function connectAndListTools(url, clientHeaders) {
|
|
149
|
+
const baseHeaders = {
|
|
150
|
+
...clientHeaders,
|
|
151
|
+
"Content-Type": "application/json",
|
|
152
|
+
Accept: "application/json, text/event-stream"
|
|
153
|
+
};
|
|
154
|
+
const initResponse = await fetch(url, {
|
|
155
|
+
method: "POST",
|
|
156
|
+
headers: baseHeaders,
|
|
157
|
+
credentials: "include",
|
|
158
|
+
body: JSON.stringify({
|
|
159
|
+
jsonrpc: "2.0",
|
|
160
|
+
id: 1,
|
|
161
|
+
method: "initialize",
|
|
162
|
+
params: {
|
|
163
|
+
protocolVersion: "2025-03-26",
|
|
164
|
+
capabilities: {},
|
|
165
|
+
clientInfo: {
|
|
166
|
+
name: "mastra-playground",
|
|
167
|
+
version: "1.0.0"
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
})
|
|
171
|
+
});
|
|
172
|
+
if (!initResponse.ok) throw new Error(`Initialize failed: ${initResponse.status} ${initResponse.statusText}`);
|
|
173
|
+
const sessionId = initResponse.headers.get("Mcp-Session-Id");
|
|
174
|
+
await parseResponse(initResponse);
|
|
175
|
+
const sessionHeaders = { ...baseHeaders };
|
|
176
|
+
if (sessionId) sessionHeaders["Mcp-Session-Id"] = sessionId;
|
|
177
|
+
await fetch(url, {
|
|
178
|
+
method: "POST",
|
|
179
|
+
headers: sessionHeaders,
|
|
180
|
+
credentials: "include",
|
|
181
|
+
body: JSON.stringify({
|
|
182
|
+
jsonrpc: "2.0",
|
|
183
|
+
method: "notifications/initialized"
|
|
184
|
+
})
|
|
185
|
+
});
|
|
186
|
+
const toolsResponse = await fetch(url, {
|
|
187
|
+
method: "POST",
|
|
188
|
+
headers: sessionHeaders,
|
|
189
|
+
credentials: "include",
|
|
190
|
+
body: JSON.stringify({
|
|
191
|
+
jsonrpc: "2.0",
|
|
192
|
+
id: 2,
|
|
193
|
+
method: "tools/list"
|
|
194
|
+
})
|
|
195
|
+
});
|
|
196
|
+
if (!toolsResponse.ok) throw new Error(`tools/list failed: ${toolsResponse.status} ${toolsResponse.statusText}`);
|
|
197
|
+
return { tools: (await parseResponse(toolsResponse)).result?.tools ?? [] };
|
|
198
|
+
}
|
|
199
|
+
const useTryConnectMcp = ({ queryOptions } = {}) => {
|
|
200
|
+
const clientHeaders = require_mastra_client_context.useMastraClient().options?.headers ?? {};
|
|
201
|
+
return (0, _tanstack_react_query.useMutation)({
|
|
202
|
+
mutationFn: (url) => connectAndListTools(url, clientHeaders),
|
|
203
|
+
...queryOptions
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
//#endregion
|
|
207
|
+
exports.useExecuteMCPTool = useExecuteMCPTool;
|
|
208
|
+
exports.useMCPServerTool = useMCPServerTool;
|
|
209
|
+
exports.useMCPServerTools = useMCPServerTools;
|
|
210
|
+
exports.useMCPServerToolsById = useMCPServerToolsById;
|
|
211
|
+
exports.useMCPServers = useMCPServers;
|
|
212
|
+
exports.useMcpAppTools = useMcpAppTools;
|
|
213
|
+
exports.useTryConnectMcp = useTryConnectMcp;
|
|
214
|
+
|
|
215
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["useMastraClient","useMastraClient","useMastraClient","useMastraClient","useMastraClient","useMastraClient"],"sources":["../../../src/hooks/mcps/use-mcp-app-tools.ts","../../../src/hooks/mcps/use-mcp-server-tool.ts","../../../src/hooks/mcps/use-mcp-server-tools.ts","../../../src/hooks/mcps/use-mcp-server-tools-by-id.ts","../../../src/hooks/mcps/use-mcp-servers.ts","../../../src/hooks/mcps/use-try-connect-mcp.ts"],"sourcesContent":["import type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport interface McpAppToolInfo {\n serverId: string;\n toolId: string;\n toolName: string;\n resourceUri: string;\n}\n\n/**\n * Builds a map of tool names → MCP App info for tools across all registered\n * MCP servers that have `_meta.ui.resourceUri` (i.e., tools with interactive\n * MCP App UIs).\n *\n * For each app tool, entries are created under both the original tool name\n * and the namespaced name (`${serverId}_${toolName}`) so that agent tools\n * sourced via `MCPClient.listTools()` (which namespaces) can be resolved.\n */\nexport function useMcpAppTools<TData = Record<string, McpAppToolInfo>>({\n queryOptions,\n}: { queryOptions?: MastraQueryOptions<Record<string, McpAppToolInfo>, TData> } = {}): UseQueryResult<TData, Error> {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcp-app-tools'],\n queryFn: async () => {\n const map: Record<string, McpAppToolInfo> = {};\n\n const { servers } = await client.getMcpServers();\n if (!servers?.length) return map;\n\n const results = await Promise.allSettled(\n servers.map(async server => {\n const { tools } = await client.getMcpServerTools(server.id);\n return { serverId: server.id, tools };\n }),\n );\n\n for (const result of results) {\n if (result.status !== 'fulfilled') continue;\n const { serverId, tools } = result.value;\n for (const tool of tools) {\n const meta = tool._meta as { ui?: { resourceUri?: string } } | undefined;\n const resourceUri = meta?.ui?.resourceUri;\n if (resourceUri) {\n const toolId = tool.name;\n const info: McpAppToolInfo = { serverId, toolId, toolName: tool.name, resourceUri };\n map[toolId] = info;\n if (tool.name !== toolId) {\n map[tool.name] = info;\n }\n // Also map the namespaced name used by MCPClient.listTools()\n map[`${serverId}_${tool.name}`] = info;\n }\n }\n }\n\n return map;\n },\n staleTime: 60_000,\n refetchOnWindowFocus: false,\n ...queryOptions,\n });\n}\n","import type { MastraClient } from '@mastra/client-js';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport type { UseMutationResult, UseQueryResult } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraMutationOptions, MastraQueryOptions } from '../shared/query-options';\n\ntype MCPServerToolDetails = Awaited<ReturnType<ReturnType<MastraClient['getMcpServerTool']>['details']>>;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useMCPServerTool = <TData = MCPServerToolDetails>({\n serverId,\n toolId,\n requestContext,\n queryOptions,\n}: {\n serverId: string;\n toolId: string;\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<MCPServerToolDetails, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcp-server-tool', serverId, toolId],\n queryFn: () => {\n const instance = client.getMcpServerTool(serverId, toolId);\n return instance.details(requestContext);\n },\n ...queryOptions,\n });\n};\n\nexport type ExecuteMCPToolResponse = Awaited<ReturnType<ReturnType<MastraClient['getMcpServerTool']>['execute']>>;\ntype ExecuteMCPToolVariables = { data: any; requestContext?: Record<string, any> };\n\nexport const useExecuteMCPTool = ({\n serverId,\n toolId,\n queryOptions,\n}: {\n serverId: string;\n toolId: string;\n queryOptions?: MastraMutationOptions<ExecuteMCPToolResponse, ExecuteMCPToolVariables>;\n}): UseMutationResult<ExecuteMCPToolResponse, Error, ExecuteMCPToolVariables> => {\n const client = useMastraClient();\n\n return useMutation({\n mutationFn: ({ data, requestContext }: ExecuteMCPToolVariables) => {\n const instance = client.getMcpServerTool(serverId, toolId);\n return instance.execute({ data, requestContext: requestContext as RequestContext });\n },\n ...queryOptions,\n });\n};\n","import type { McpToolInfo as SdkMcpToolInfo } from '@mastra/client-js';\nimport type { ServerInfo } from '@mastra/core/mcp';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport const useMCPServerTools = <TData = Record<string, SdkMcpToolInfo>>({\n selectedServer,\n queryOptions,\n}: {\n selectedServer: ServerInfo;\n queryOptions?: MastraQueryOptions<Record<string, SdkMcpToolInfo>, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcpserver-tools', selectedServer?.id],\n queryFn: async () => {\n const response = await client.getMcpServerTools(selectedServer?.id);\n const fetchedToolsArray: SdkMcpToolInfo[] = response.tools;\n const transformedTools: Record<string, SdkMcpToolInfo> = {};\n fetchedToolsArray.forEach((sdkToolInfo: SdkMcpToolInfo) => {\n transformedTools[sdkToolInfo.name] = sdkToolInfo;\n });\n\n return transformedTools;\n },\n retry: false,\n refetchOnWindowFocus: false,\n ...queryOptions,\n });\n};\n","import type { MastraClient } from '@mastra/client-js';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\ntype MCPServerToolsById = Record<string, Awaited<ReturnType<MastraClient['getMcpServerTools']>>['tools'][number]>;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useMCPServerToolsById = <TData = MCPServerToolsById>({\n serverId,\n queryOptions,\n}: {\n serverId: string | null;\n queryOptions?: MastraQueryOptions<MCPServerToolsById, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcpserver-tools', serverId],\n queryFn: async (): Promise<MCPServerToolsById> => {\n const response = await client.getMcpServerTools(serverId!);\n return Object.fromEntries(response.tools.map(tool => [tool.name, tool]));\n },\n retry: false,\n refetchOnWindowFocus: false,\n ...queryOptions,\n });\n};\n","import type { McpServerListResponse } from '@mastra/client-js';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport const useMCPServers = <TData = McpServerListResponse['servers']>({\n requestContext,\n queryOptions,\n}: {\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<McpServerListResponse['servers'], TData>;\n} = {}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcp-servers'],\n queryFn: async () => {\n const mcpServers: McpServerListResponse['servers'] = (await client.getMcpServers(requestContext)).servers;\n return mcpServers;\n },\n ...queryOptions,\n });\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraMutationOptions } from '../shared/query-options';\n\ninterface McpTool {\n name: string;\n description?: string;\n inputSchema?: Record<string, unknown>;\n}\n\nexport interface TryConnectResult {\n tools: McpTool[];\n}\n\nasync function parseResponse(response: Response): Promise<unknown> {\n const contentType = response.headers.get('content-type') ?? '';\n\n if (contentType.includes('text/event-stream')) {\n const text = await response.text();\n const lines = text.split('\\n');\n\n for (const line of lines) {\n if (line.startsWith('data:')) {\n const data = line.slice('data:'.length).trim();\n if (data) {\n return JSON.parse(data);\n }\n }\n }\n\n throw new Error('No data found in SSE response');\n }\n\n return response.json();\n}\n\nasync function connectAndListTools(url: string, clientHeaders?: Record<string, string>): Promise<TryConnectResult> {\n const baseHeaders: Record<string, string> = {\n ...clientHeaders,\n 'Content-Type': 'application/json',\n Accept: 'application/json, text/event-stream',\n };\n\n // Step 1: Initialize\n const initResponse = await fetch(url, {\n method: 'POST',\n headers: baseHeaders,\n credentials: 'include',\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 1,\n method: 'initialize',\n params: {\n protocolVersion: '2025-03-26',\n capabilities: {},\n clientInfo: { name: 'mastra-playground', version: '1.0.0' },\n },\n }),\n });\n\n if (!initResponse.ok) {\n throw new Error(`Initialize failed: ${initResponse.status} ${initResponse.statusText}`);\n }\n\n const sessionId = initResponse.headers.get('Mcp-Session-Id');\n await parseResponse(initResponse);\n\n const sessionHeaders: Record<string, string> = {\n ...baseHeaders,\n };\n if (sessionId) {\n sessionHeaders['Mcp-Session-Id'] = sessionId;\n }\n\n // Step 2: Send initialized notification\n await fetch(url, {\n method: 'POST',\n headers: sessionHeaders,\n credentials: 'include',\n body: JSON.stringify({\n jsonrpc: '2.0',\n method: 'notifications/initialized',\n }),\n });\n\n // Step 3: List tools\n const toolsResponse = await fetch(url, {\n method: 'POST',\n headers: sessionHeaders,\n credentials: 'include',\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 2,\n method: 'tools/list',\n }),\n });\n\n if (!toolsResponse.ok) {\n throw new Error(`tools/list failed: ${toolsResponse.status} ${toolsResponse.statusText}`);\n }\n\n const toolsResult = (await parseResponse(toolsResponse)) as { result?: { tools?: McpTool[] } };\n\n return {\n tools: toolsResult.result?.tools ?? [],\n };\n}\n\nexport const useTryConnectMcp = ({\n queryOptions,\n}: { queryOptions?: MastraMutationOptions<TryConnectResult, string> } = {}) => {\n const client = useMastraClient();\n const clientHeaders = (client.options?.headers as Record<string, string>) ?? {};\n\n return useMutation({\n mutationFn: (url: string) => connectAndListTools(url, clientHeaders),\n ...queryOptions,\n });\n};\n\nexport type TryConnectMcpMutation = ReturnType<typeof useTryConnectMcp>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './use-mcp-app-tools.js';
|
|
2
|
+
export * from './use-mcp-server-tool.js';
|
|
3
|
+
export * from './use-mcp-server-tools.js';
|
|
4
|
+
export * from './use-mcp-server-tools-by-id.js';
|
|
5
|
+
export * from './use-mcp-servers.js';
|
|
6
|
+
export * from './use-try-connect-mcp.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { n as useMastraClient } from "../../mastra-client-context-Bx_g84YB.js";
|
|
2
|
+
import { useMutation, useQuery } from "@tanstack/react-query";
|
|
3
|
+
//#region src/hooks/mcps/use-mcp-app-tools.ts
|
|
4
|
+
/**
|
|
5
|
+
* Builds a map of tool names → MCP App info for tools across all registered
|
|
6
|
+
* MCP servers that have `_meta.ui.resourceUri` (i.e., tools with interactive
|
|
7
|
+
* MCP App UIs).
|
|
8
|
+
*
|
|
9
|
+
* For each app tool, entries are created under both the original tool name
|
|
10
|
+
* and the namespaced name (`${serverId}_${toolName}`) so that agent tools
|
|
11
|
+
* sourced via `MCPClient.listTools()` (which namespaces) can be resolved.
|
|
12
|
+
*/
|
|
13
|
+
function useMcpAppTools({ queryOptions } = {}) {
|
|
14
|
+
const client = useMastraClient();
|
|
15
|
+
return useQuery({
|
|
16
|
+
queryKey: ["mcp-app-tools"],
|
|
17
|
+
queryFn: async () => {
|
|
18
|
+
const map = {};
|
|
19
|
+
const { servers } = await client.getMcpServers();
|
|
20
|
+
if (!servers?.length) return map;
|
|
21
|
+
const results = await Promise.allSettled(servers.map(async (server) => {
|
|
22
|
+
const { tools } = await client.getMcpServerTools(server.id);
|
|
23
|
+
return {
|
|
24
|
+
serverId: server.id,
|
|
25
|
+
tools
|
|
26
|
+
};
|
|
27
|
+
}));
|
|
28
|
+
for (const result of results) {
|
|
29
|
+
if (result.status !== "fulfilled") continue;
|
|
30
|
+
const { serverId, tools } = result.value;
|
|
31
|
+
for (const tool of tools) {
|
|
32
|
+
const resourceUri = tool._meta?.ui?.resourceUri;
|
|
33
|
+
if (resourceUri) {
|
|
34
|
+
const toolId = tool.name;
|
|
35
|
+
const info = {
|
|
36
|
+
serverId,
|
|
37
|
+
toolId,
|
|
38
|
+
toolName: tool.name,
|
|
39
|
+
resourceUri
|
|
40
|
+
};
|
|
41
|
+
map[toolId] = info;
|
|
42
|
+
if (tool.name !== toolId) map[tool.name] = info;
|
|
43
|
+
map[`${serverId}_${tool.name}`] = info;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return map;
|
|
48
|
+
},
|
|
49
|
+
staleTime: 6e4,
|
|
50
|
+
refetchOnWindowFocus: false,
|
|
51
|
+
...queryOptions
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
//#region src/hooks/mcps/use-mcp-server-tool.ts
|
|
56
|
+
/**
|
|
57
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
58
|
+
*/
|
|
59
|
+
const useMCPServerTool = ({ serverId, toolId, requestContext, queryOptions }) => {
|
|
60
|
+
const client = useMastraClient();
|
|
61
|
+
return useQuery({
|
|
62
|
+
queryKey: [
|
|
63
|
+
"mcp-server-tool",
|
|
64
|
+
serverId,
|
|
65
|
+
toolId
|
|
66
|
+
],
|
|
67
|
+
queryFn: () => {
|
|
68
|
+
return client.getMcpServerTool(serverId, toolId).details(requestContext);
|
|
69
|
+
},
|
|
70
|
+
...queryOptions
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const useExecuteMCPTool = ({ serverId, toolId, queryOptions }) => {
|
|
74
|
+
const client = useMastraClient();
|
|
75
|
+
return useMutation({
|
|
76
|
+
mutationFn: ({ data, requestContext }) => {
|
|
77
|
+
return client.getMcpServerTool(serverId, toolId).execute({
|
|
78
|
+
data,
|
|
79
|
+
requestContext
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
...queryOptions
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
//#endregion
|
|
86
|
+
//#region src/hooks/mcps/use-mcp-server-tools.ts
|
|
87
|
+
const useMCPServerTools = ({ selectedServer, queryOptions }) => {
|
|
88
|
+
const client = useMastraClient();
|
|
89
|
+
return useQuery({
|
|
90
|
+
queryKey: ["mcpserver-tools", selectedServer?.id],
|
|
91
|
+
queryFn: async () => {
|
|
92
|
+
const fetchedToolsArray = (await client.getMcpServerTools(selectedServer?.id)).tools;
|
|
93
|
+
const transformedTools = {};
|
|
94
|
+
fetchedToolsArray.forEach((sdkToolInfo) => {
|
|
95
|
+
transformedTools[sdkToolInfo.name] = sdkToolInfo;
|
|
96
|
+
});
|
|
97
|
+
return transformedTools;
|
|
98
|
+
},
|
|
99
|
+
retry: false,
|
|
100
|
+
refetchOnWindowFocus: false,
|
|
101
|
+
...queryOptions
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/hooks/mcps/use-mcp-server-tools-by-id.ts
|
|
106
|
+
/**
|
|
107
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
108
|
+
*/
|
|
109
|
+
const useMCPServerToolsById = ({ serverId, queryOptions }) => {
|
|
110
|
+
const client = useMastraClient();
|
|
111
|
+
return useQuery({
|
|
112
|
+
queryKey: ["mcpserver-tools", serverId],
|
|
113
|
+
queryFn: async () => {
|
|
114
|
+
const response = await client.getMcpServerTools(serverId);
|
|
115
|
+
return Object.fromEntries(response.tools.map((tool) => [tool.name, tool]));
|
|
116
|
+
},
|
|
117
|
+
retry: false,
|
|
118
|
+
refetchOnWindowFocus: false,
|
|
119
|
+
...queryOptions
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/hooks/mcps/use-mcp-servers.ts
|
|
124
|
+
const useMCPServers = ({ requestContext, queryOptions } = {}) => {
|
|
125
|
+
const client = useMastraClient();
|
|
126
|
+
return useQuery({
|
|
127
|
+
queryKey: ["mcp-servers"],
|
|
128
|
+
queryFn: async () => {
|
|
129
|
+
return (await client.getMcpServers(requestContext)).servers;
|
|
130
|
+
},
|
|
131
|
+
...queryOptions
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
//#endregion
|
|
135
|
+
//#region src/hooks/mcps/use-try-connect-mcp.ts
|
|
136
|
+
async function parseResponse(response) {
|
|
137
|
+
if ((response.headers.get("content-type") ?? "").includes("text/event-stream")) {
|
|
138
|
+
const lines = (await response.text()).split("\n");
|
|
139
|
+
for (const line of lines) if (line.startsWith("data:")) {
|
|
140
|
+
const data = line.slice(5).trim();
|
|
141
|
+
if (data) return JSON.parse(data);
|
|
142
|
+
}
|
|
143
|
+
throw new Error("No data found in SSE response");
|
|
144
|
+
}
|
|
145
|
+
return response.json();
|
|
146
|
+
}
|
|
147
|
+
async function connectAndListTools(url, clientHeaders) {
|
|
148
|
+
const baseHeaders = {
|
|
149
|
+
...clientHeaders,
|
|
150
|
+
"Content-Type": "application/json",
|
|
151
|
+
Accept: "application/json, text/event-stream"
|
|
152
|
+
};
|
|
153
|
+
const initResponse = await fetch(url, {
|
|
154
|
+
method: "POST",
|
|
155
|
+
headers: baseHeaders,
|
|
156
|
+
credentials: "include",
|
|
157
|
+
body: JSON.stringify({
|
|
158
|
+
jsonrpc: "2.0",
|
|
159
|
+
id: 1,
|
|
160
|
+
method: "initialize",
|
|
161
|
+
params: {
|
|
162
|
+
protocolVersion: "2025-03-26",
|
|
163
|
+
capabilities: {},
|
|
164
|
+
clientInfo: {
|
|
165
|
+
name: "mastra-playground",
|
|
166
|
+
version: "1.0.0"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
});
|
|
171
|
+
if (!initResponse.ok) throw new Error(`Initialize failed: ${initResponse.status} ${initResponse.statusText}`);
|
|
172
|
+
const sessionId = initResponse.headers.get("Mcp-Session-Id");
|
|
173
|
+
await parseResponse(initResponse);
|
|
174
|
+
const sessionHeaders = { ...baseHeaders };
|
|
175
|
+
if (sessionId) sessionHeaders["Mcp-Session-Id"] = sessionId;
|
|
176
|
+
await fetch(url, {
|
|
177
|
+
method: "POST",
|
|
178
|
+
headers: sessionHeaders,
|
|
179
|
+
credentials: "include",
|
|
180
|
+
body: JSON.stringify({
|
|
181
|
+
jsonrpc: "2.0",
|
|
182
|
+
method: "notifications/initialized"
|
|
183
|
+
})
|
|
184
|
+
});
|
|
185
|
+
const toolsResponse = await fetch(url, {
|
|
186
|
+
method: "POST",
|
|
187
|
+
headers: sessionHeaders,
|
|
188
|
+
credentials: "include",
|
|
189
|
+
body: JSON.stringify({
|
|
190
|
+
jsonrpc: "2.0",
|
|
191
|
+
id: 2,
|
|
192
|
+
method: "tools/list"
|
|
193
|
+
})
|
|
194
|
+
});
|
|
195
|
+
if (!toolsResponse.ok) throw new Error(`tools/list failed: ${toolsResponse.status} ${toolsResponse.statusText}`);
|
|
196
|
+
return { tools: (await parseResponse(toolsResponse)).result?.tools ?? [] };
|
|
197
|
+
}
|
|
198
|
+
const useTryConnectMcp = ({ queryOptions } = {}) => {
|
|
199
|
+
const clientHeaders = useMastraClient().options?.headers ?? {};
|
|
200
|
+
return useMutation({
|
|
201
|
+
mutationFn: (url) => connectAndListTools(url, clientHeaders),
|
|
202
|
+
...queryOptions
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
//#endregion
|
|
206
|
+
export { useExecuteMCPTool, useMCPServerTool, useMCPServerTools, useMCPServerToolsById, useMCPServers, useMcpAppTools, useTryConnectMcp };
|
|
207
|
+
|
|
208
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/mcps/use-mcp-app-tools.ts","../../../src/hooks/mcps/use-mcp-server-tool.ts","../../../src/hooks/mcps/use-mcp-server-tools.ts","../../../src/hooks/mcps/use-mcp-server-tools-by-id.ts","../../../src/hooks/mcps/use-mcp-servers.ts","../../../src/hooks/mcps/use-try-connect-mcp.ts"],"sourcesContent":["import type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport interface McpAppToolInfo {\n serverId: string;\n toolId: string;\n toolName: string;\n resourceUri: string;\n}\n\n/**\n * Builds a map of tool names → MCP App info for tools across all registered\n * MCP servers that have `_meta.ui.resourceUri` (i.e., tools with interactive\n * MCP App UIs).\n *\n * For each app tool, entries are created under both the original tool name\n * and the namespaced name (`${serverId}_${toolName}`) so that agent tools\n * sourced via `MCPClient.listTools()` (which namespaces) can be resolved.\n */\nexport function useMcpAppTools<TData = Record<string, McpAppToolInfo>>({\n queryOptions,\n}: { queryOptions?: MastraQueryOptions<Record<string, McpAppToolInfo>, TData> } = {}): UseQueryResult<TData, Error> {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcp-app-tools'],\n queryFn: async () => {\n const map: Record<string, McpAppToolInfo> = {};\n\n const { servers } = await client.getMcpServers();\n if (!servers?.length) return map;\n\n const results = await Promise.allSettled(\n servers.map(async server => {\n const { tools } = await client.getMcpServerTools(server.id);\n return { serverId: server.id, tools };\n }),\n );\n\n for (const result of results) {\n if (result.status !== 'fulfilled') continue;\n const { serverId, tools } = result.value;\n for (const tool of tools) {\n const meta = tool._meta as { ui?: { resourceUri?: string } } | undefined;\n const resourceUri = meta?.ui?.resourceUri;\n if (resourceUri) {\n const toolId = tool.name;\n const info: McpAppToolInfo = { serverId, toolId, toolName: tool.name, resourceUri };\n map[toolId] = info;\n if (tool.name !== toolId) {\n map[tool.name] = info;\n }\n // Also map the namespaced name used by MCPClient.listTools()\n map[`${serverId}_${tool.name}`] = info;\n }\n }\n }\n\n return map;\n },\n staleTime: 60_000,\n refetchOnWindowFocus: false,\n ...queryOptions,\n });\n}\n","import type { MastraClient } from '@mastra/client-js';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport { useMutation, useQuery } from '@tanstack/react-query';\nimport type { UseMutationResult, UseQueryResult } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraMutationOptions, MastraQueryOptions } from '../shared/query-options';\n\ntype MCPServerToolDetails = Awaited<ReturnType<ReturnType<MastraClient['getMcpServerTool']>['details']>>;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useMCPServerTool = <TData = MCPServerToolDetails>({\n serverId,\n toolId,\n requestContext,\n queryOptions,\n}: {\n serverId: string;\n toolId: string;\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<MCPServerToolDetails, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcp-server-tool', serverId, toolId],\n queryFn: () => {\n const instance = client.getMcpServerTool(serverId, toolId);\n return instance.details(requestContext);\n },\n ...queryOptions,\n });\n};\n\nexport type ExecuteMCPToolResponse = Awaited<ReturnType<ReturnType<MastraClient['getMcpServerTool']>['execute']>>;\ntype ExecuteMCPToolVariables = { data: any; requestContext?: Record<string, any> };\n\nexport const useExecuteMCPTool = ({\n serverId,\n toolId,\n queryOptions,\n}: {\n serverId: string;\n toolId: string;\n queryOptions?: MastraMutationOptions<ExecuteMCPToolResponse, ExecuteMCPToolVariables>;\n}): UseMutationResult<ExecuteMCPToolResponse, Error, ExecuteMCPToolVariables> => {\n const client = useMastraClient();\n\n return useMutation({\n mutationFn: ({ data, requestContext }: ExecuteMCPToolVariables) => {\n const instance = client.getMcpServerTool(serverId, toolId);\n return instance.execute({ data, requestContext: requestContext as RequestContext });\n },\n ...queryOptions,\n });\n};\n","import type { McpToolInfo as SdkMcpToolInfo } from '@mastra/client-js';\nimport type { ServerInfo } from '@mastra/core/mcp';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport const useMCPServerTools = <TData = Record<string, SdkMcpToolInfo>>({\n selectedServer,\n queryOptions,\n}: {\n selectedServer: ServerInfo;\n queryOptions?: MastraQueryOptions<Record<string, SdkMcpToolInfo>, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcpserver-tools', selectedServer?.id],\n queryFn: async () => {\n const response = await client.getMcpServerTools(selectedServer?.id);\n const fetchedToolsArray: SdkMcpToolInfo[] = response.tools;\n const transformedTools: Record<string, SdkMcpToolInfo> = {};\n fetchedToolsArray.forEach((sdkToolInfo: SdkMcpToolInfo) => {\n transformedTools[sdkToolInfo.name] = sdkToolInfo;\n });\n\n return transformedTools;\n },\n retry: false,\n refetchOnWindowFocus: false,\n ...queryOptions,\n });\n};\n","import type { MastraClient } from '@mastra/client-js';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\ntype MCPServerToolsById = Record<string, Awaited<ReturnType<MastraClient['getMcpServerTools']>>['tools'][number]>;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useMCPServerToolsById = <TData = MCPServerToolsById>({\n serverId,\n queryOptions,\n}: {\n serverId: string | null;\n queryOptions?: MastraQueryOptions<MCPServerToolsById, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcpserver-tools', serverId],\n queryFn: async (): Promise<MCPServerToolsById> => {\n const response = await client.getMcpServerTools(serverId!);\n return Object.fromEntries(response.tools.map(tool => [tool.name, tool]));\n },\n retry: false,\n refetchOnWindowFocus: false,\n ...queryOptions,\n });\n};\n","import type { McpServerListResponse } from '@mastra/client-js';\nimport type { UseQueryResult } from '@tanstack/react-query';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport const useMCPServers = <TData = McpServerListResponse['servers']>({\n requestContext,\n queryOptions,\n}: {\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<McpServerListResponse['servers'], TData>;\n} = {}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['mcp-servers'],\n queryFn: async () => {\n const mcpServers: McpServerListResponse['servers'] = (await client.getMcpServers(requestContext)).servers;\n return mcpServers;\n },\n ...queryOptions,\n });\n};\n","import { useMutation } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraMutationOptions } from '../shared/query-options';\n\ninterface McpTool {\n name: string;\n description?: string;\n inputSchema?: Record<string, unknown>;\n}\n\nexport interface TryConnectResult {\n tools: McpTool[];\n}\n\nasync function parseResponse(response: Response): Promise<unknown> {\n const contentType = response.headers.get('content-type') ?? '';\n\n if (contentType.includes('text/event-stream')) {\n const text = await response.text();\n const lines = text.split('\\n');\n\n for (const line of lines) {\n if (line.startsWith('data:')) {\n const data = line.slice('data:'.length).trim();\n if (data) {\n return JSON.parse(data);\n }\n }\n }\n\n throw new Error('No data found in SSE response');\n }\n\n return response.json();\n}\n\nasync function connectAndListTools(url: string, clientHeaders?: Record<string, string>): Promise<TryConnectResult> {\n const baseHeaders: Record<string, string> = {\n ...clientHeaders,\n 'Content-Type': 'application/json',\n Accept: 'application/json, text/event-stream',\n };\n\n // Step 1: Initialize\n const initResponse = await fetch(url, {\n method: 'POST',\n headers: baseHeaders,\n credentials: 'include',\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 1,\n method: 'initialize',\n params: {\n protocolVersion: '2025-03-26',\n capabilities: {},\n clientInfo: { name: 'mastra-playground', version: '1.0.0' },\n },\n }),\n });\n\n if (!initResponse.ok) {\n throw new Error(`Initialize failed: ${initResponse.status} ${initResponse.statusText}`);\n }\n\n const sessionId = initResponse.headers.get('Mcp-Session-Id');\n await parseResponse(initResponse);\n\n const sessionHeaders: Record<string, string> = {\n ...baseHeaders,\n };\n if (sessionId) {\n sessionHeaders['Mcp-Session-Id'] = sessionId;\n }\n\n // Step 2: Send initialized notification\n await fetch(url, {\n method: 'POST',\n headers: sessionHeaders,\n credentials: 'include',\n body: JSON.stringify({\n jsonrpc: '2.0',\n method: 'notifications/initialized',\n }),\n });\n\n // Step 3: List tools\n const toolsResponse = await fetch(url, {\n method: 'POST',\n headers: sessionHeaders,\n credentials: 'include',\n body: JSON.stringify({\n jsonrpc: '2.0',\n id: 2,\n method: 'tools/list',\n }),\n });\n\n if (!toolsResponse.ok) {\n throw new Error(`tools/list failed: ${toolsResponse.status} ${toolsResponse.statusText}`);\n }\n\n const toolsResult = (await parseResponse(toolsResponse)) as { result?: { tools?: McpTool[] } };\n\n return {\n tools: toolsResult.result?.tools ?? [],\n };\n}\n\nexport const useTryConnectMcp = ({\n queryOptions,\n}: { queryOptions?: MastraMutationOptions<TryConnectResult, string> } = {}) => {\n const client = useMastraClient();\n const clientHeaders = (client.options?.headers as Record<string, string>) ?? {};\n\n return useMutation({\n mutationFn: (url: string) => connectAndListTools(url, clientHeaders),\n ...queryOptions,\n });\n};\n\nexport type TryConnectMcpMutation = ReturnType<typeof useTryConnectMcp>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import type { MastraQueryOptions } from '../shared/query-options.js';
|
|
3
|
+
export interface McpAppToolInfo {
|
|
4
|
+
serverId: string;
|
|
5
|
+
toolId: string;
|
|
6
|
+
toolName: string;
|
|
7
|
+
resourceUri: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Builds a map of tool names → MCP App info for tools across all registered
|
|
11
|
+
* MCP servers that have `_meta.ui.resourceUri` (i.e., tools with interactive
|
|
12
|
+
* MCP App UIs).
|
|
13
|
+
*
|
|
14
|
+
* For each app tool, entries are created under both the original tool name
|
|
15
|
+
* and the namespaced name (`${serverId}_${toolName}`) so that agent tools
|
|
16
|
+
* sourced via `MCPClient.listTools()` (which namespaces) can be resolved.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useMcpAppTools<TData = Record<string, McpAppToolInfo>>({ queryOptions, }?: {
|
|
19
|
+
queryOptions?: MastraQueryOptions<Record<string, McpAppToolInfo>, TData>;
|
|
20
|
+
}): UseQueryResult<TData, Error>;
|
|
21
|
+
//# sourceMappingURL=use-mcp-app-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mcp-app-tools.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/use-mcp-app-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,EACrE,YAAY,GACb,GAAE;IAAE,YAAY,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAA;CAAO,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CA2ClH"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { MastraClient } from '@mastra/client-js';
|
|
2
|
+
import type { UseMutationResult, UseQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import type { MastraMutationOptions, MastraQueryOptions } from '../shared/query-options.js';
|
|
4
|
+
type MCPServerToolDetails = Awaited<ReturnType<ReturnType<MastraClient['getMcpServerTool']>['details']>>;
|
|
5
|
+
/**
|
|
6
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useMCPServerTool: <TData = MCPServerToolDetails>({ serverId, toolId, requestContext, queryOptions, }: {
|
|
9
|
+
serverId: string;
|
|
10
|
+
toolId: string;
|
|
11
|
+
requestContext?: Record<string, any>;
|
|
12
|
+
queryOptions?: MastraQueryOptions<MCPServerToolDetails, TData>;
|
|
13
|
+
}) => UseQueryResult<TData, Error>;
|
|
14
|
+
export type ExecuteMCPToolResponse = Awaited<ReturnType<ReturnType<MastraClient['getMcpServerTool']>['execute']>>;
|
|
15
|
+
type ExecuteMCPToolVariables = {
|
|
16
|
+
data: any;
|
|
17
|
+
requestContext?: Record<string, any>;
|
|
18
|
+
};
|
|
19
|
+
export declare const useExecuteMCPTool: ({ serverId, toolId, queryOptions, }: {
|
|
20
|
+
serverId: string;
|
|
21
|
+
toolId: string;
|
|
22
|
+
queryOptions?: MastraMutationOptions<ExecuteMCPToolResponse, ExecuteMCPToolVariables>;
|
|
23
|
+
}) => UseMutationResult<ExecuteMCPToolResponse, Error, ExecuteMCPToolVariables>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=use-mcp-server-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mcp-server-tool.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/use-mcp-server-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,KAAK,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAEzG;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,oBAAoB,uDAK1D;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;CAChE,KAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAW9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAClH,KAAK,uBAAuB,GAAG;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,CAAC;AAEnF,eAAO,MAAM,iBAAiB,wCAI3B;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,qBAAqB,CAAC,sBAAsB,EAAE,uBAAuB,CAAC,CAAC;CACvF,KAAG,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,uBAAuB,CAU3E,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { MastraClient } from '@mastra/client-js';
|
|
2
|
+
import type { UseQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import type { MastraQueryOptions } from '../shared/query-options.js';
|
|
4
|
+
type MCPServerToolsById = Record<string, Awaited<ReturnType<MastraClient['getMcpServerTools']>>['tools'][number]>;
|
|
5
|
+
/**
|
|
6
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useMCPServerToolsById: <TData = MCPServerToolsById>({ serverId, queryOptions, }: {
|
|
9
|
+
serverId: string | null;
|
|
10
|
+
queryOptions?: MastraQueryOptions<MCPServerToolsById, TData>;
|
|
11
|
+
}) => UseQueryResult<TData, Error>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=use-mcp-server-tools-by-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mcp-server-tools-by-id.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/use-mcp-server-tools-by-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElH;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,GAAG,kBAAkB,+BAG7D;IACD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,kBAAkB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;CAC9D,KAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAa9B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { McpToolInfo as SdkMcpToolInfo } from '@mastra/client-js';
|
|
2
|
+
import type { ServerInfo } from '@mastra/core/mcp';
|
|
3
|
+
import type { UseQueryResult } from '@tanstack/react-query';
|
|
4
|
+
import type { MastraQueryOptions } from '../shared/query-options.js';
|
|
5
|
+
export declare const useMCPServerTools: <TData = Record<string, SdkMcpToolInfo>>({ selectedServer, queryOptions, }: {
|
|
6
|
+
selectedServer: ServerInfo;
|
|
7
|
+
queryOptions?: MastraQueryOptions<Record<string, SdkMcpToolInfo>, TData>;
|
|
8
|
+
}) => UseQueryResult<TData, Error>;
|
|
9
|
+
//# sourceMappingURL=use-mcp-server-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mcp-server-tools.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/use-mcp-server-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,iBAAiB,GAAI,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,qCAGrE;IACD,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;CAC1E,KAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAmB9B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { McpServerListResponse } from '@mastra/client-js';
|
|
2
|
+
import type { UseQueryResult } from '@tanstack/react-query';
|
|
3
|
+
import type { MastraQueryOptions } from '../shared/query-options.js';
|
|
4
|
+
export declare const useMCPServers: <TData = McpServerListResponse['servers']>({ requestContext, queryOptions, }?: {
|
|
5
|
+
requestContext?: Record<string, any>;
|
|
6
|
+
queryOptions?: MastraQueryOptions<McpServerListResponse['servers'], TData>;
|
|
7
|
+
}) => UseQueryResult<TData, Error>;
|
|
8
|
+
//# sourceMappingURL=use-mcp-servers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mcp-servers.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/use-mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAAC,sCAGnE;IACD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;CAC5E,KAAQ,cAAc,CAAC,KAAK,EAAE,KAAK,CAWnC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MastraMutationOptions } from '../shared/query-options.js';
|
|
2
|
+
interface McpTool {
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
inputSchema?: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface TryConnectResult {
|
|
8
|
+
tools: McpTool[];
|
|
9
|
+
}
|
|
10
|
+
export declare const useTryConnectMcp: ({ queryOptions, }?: {
|
|
11
|
+
queryOptions?: MastraMutationOptions<TryConnectResult, string>;
|
|
12
|
+
}) => import("@tanstack/react-query").UseMutationResult<TryConnectResult, Error, string, unknown>;
|
|
13
|
+
export type TryConnectMcpMutation = ReturnType<typeof useTryConnectMcp>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=use-try-connect-mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-try-connect-mcp.d.ts","sourceRoot":"","sources":["../../../src/hooks/mcps/use-try-connect-mcp.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAgGD,eAAO,MAAM,gBAAgB,uBAE1B;IAAE,YAAY,CAAC,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAA;CAAE,gGAQpE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|