@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,975 @@
|
|
|
1
|
+
import { n as useMastraClient } from "../../mastra-client-context-Bx_g84YB.js";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { skipToken, useInfiniteQuery, useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
4
|
+
import { RequestContext } from "@mastra/core/di";
|
|
5
|
+
//#region src/hooks/agents/use-agent-messages.ts
|
|
6
|
+
const PER_PAGE = 40;
|
|
7
|
+
const NEWEST_PAGE = "";
|
|
8
|
+
const createdAtMs = (message) => new Date(message.createdAt).getTime();
|
|
9
|
+
const byCreatedAt = (a, b) => createdAtMs(a) - createdAtMs(b);
|
|
10
|
+
const useAgentMessages = ({ threadId, agentId, memory, requestContext, queryOptions }) => {
|
|
11
|
+
const client = useMastraClient();
|
|
12
|
+
return useInfiniteQuery({
|
|
13
|
+
queryKey: [
|
|
14
|
+
"memory",
|
|
15
|
+
"messages",
|
|
16
|
+
threadId,
|
|
17
|
+
agentId,
|
|
18
|
+
requestContext
|
|
19
|
+
],
|
|
20
|
+
initialPageParam: NEWEST_PAGE,
|
|
21
|
+
queryFn: memory && threadId ? ({ pageParam: olderThan }) => client.listThreadMessages(threadId, {
|
|
22
|
+
agentId,
|
|
23
|
+
requestContext,
|
|
24
|
+
includeSystemReminders: true,
|
|
25
|
+
perPage: PER_PAGE,
|
|
26
|
+
orderBy: {
|
|
27
|
+
field: "createdAt",
|
|
28
|
+
direction: "DESC"
|
|
29
|
+
},
|
|
30
|
+
filter: olderThan ? { dateRange: { end: new Date(olderThan) } } : void 0
|
|
31
|
+
}) : skipToken,
|
|
32
|
+
getNextPageParam: (lastPage, _allPages, lastPageParam) => {
|
|
33
|
+
if (!lastPage.hasMore || lastPage.messages.length === 0) return void 0;
|
|
34
|
+
const next = new Date(Math.min(...lastPage.messages.map(createdAtMs))).toISOString();
|
|
35
|
+
return next === lastPageParam ? void 0 : next;
|
|
36
|
+
},
|
|
37
|
+
select: (data) => {
|
|
38
|
+
const seen = /* @__PURE__ */ new Set();
|
|
39
|
+
const messages = data.pages.flatMap((page) => page.messages).filter((message) => {
|
|
40
|
+
if (seen.has(message.id)) return false;
|
|
41
|
+
seen.add(message.id);
|
|
42
|
+
return true;
|
|
43
|
+
}).sort(byCreatedAt);
|
|
44
|
+
return {
|
|
45
|
+
...data,
|
|
46
|
+
messages
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
staleTime: 0,
|
|
50
|
+
gcTime: 0,
|
|
51
|
+
retry: false,
|
|
52
|
+
refetchOnWindowFocus: false,
|
|
53
|
+
...queryOptions
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
//#endregion
|
|
57
|
+
//#region src/hooks/agents/use-agent-plan.ts
|
|
58
|
+
function useAgentPlan({ agentId, path, agentVersionId, requestContext, queryOptions }) {
|
|
59
|
+
const client = useMastraClient();
|
|
60
|
+
return useQuery({
|
|
61
|
+
queryKey: [
|
|
62
|
+
"agent-plan",
|
|
63
|
+
agentId,
|
|
64
|
+
agentVersionId,
|
|
65
|
+
path,
|
|
66
|
+
requestContext
|
|
67
|
+
],
|
|
68
|
+
queryFn: () => {
|
|
69
|
+
return (agentVersionId ? client.getAgent(agentId, { versionId: agentVersionId }) : client.getAgent(agentId)).readPlan(path, requestContext);
|
|
70
|
+
},
|
|
71
|
+
retry: false,
|
|
72
|
+
...queryOptions
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region src/hooks/agents/use-background-tasks.ts
|
|
77
|
+
const EVENT_STATUS_MAP = {
|
|
78
|
+
"background-task-running": "running",
|
|
79
|
+
"background-task-output": "running",
|
|
80
|
+
"background-task-completed": "completed",
|
|
81
|
+
"background-task-failed": "failed",
|
|
82
|
+
"background-task-cancelled": "cancelled",
|
|
83
|
+
"background-task-suspended": "suspended",
|
|
84
|
+
"background-task-resumed": "running"
|
|
85
|
+
};
|
|
86
|
+
function useBackgroundTaskStream(options = {}) {
|
|
87
|
+
const { enabled = true, agentId, runId, threadId, resourceId, taskId } = options;
|
|
88
|
+
const client = useMastraClient();
|
|
89
|
+
const [tasks, setTasks] = useState({});
|
|
90
|
+
const [isConnected, setIsConnected] = useState(false);
|
|
91
|
+
const [error, setError] = useState(null);
|
|
92
|
+
const abortRef = useRef(null);
|
|
93
|
+
const readerRef = useRef(null);
|
|
94
|
+
const connectSeqRef = useRef(0);
|
|
95
|
+
const runningTasks = useMemo(() => {
|
|
96
|
+
return Object.values(tasks).filter((task) => task.status === "running");
|
|
97
|
+
}, [tasks]);
|
|
98
|
+
const completedTasks = useMemo(() => {
|
|
99
|
+
return Object.values(tasks).filter((task) => task.status === "completed");
|
|
100
|
+
}, [tasks]);
|
|
101
|
+
const failedTasks = useMemo(() => {
|
|
102
|
+
return Object.values(tasks).filter((task) => task.status === "failed");
|
|
103
|
+
}, [tasks]);
|
|
104
|
+
const cleanup = useCallback(() => {
|
|
105
|
+
readerRef.current?.cancel().catch(() => {});
|
|
106
|
+
readerRef.current = null;
|
|
107
|
+
abortRef.current?.abort();
|
|
108
|
+
abortRef.current = null;
|
|
109
|
+
setIsConnected(false);
|
|
110
|
+
}, []);
|
|
111
|
+
const connect = useCallback(async () => {
|
|
112
|
+
const seq = ++connectSeqRef.current;
|
|
113
|
+
cleanup();
|
|
114
|
+
setError(null);
|
|
115
|
+
const controller = new AbortController();
|
|
116
|
+
abortRef.current = controller;
|
|
117
|
+
try {
|
|
118
|
+
const stream = await client.streamBackgroundTasks({
|
|
119
|
+
agentId,
|
|
120
|
+
runId,
|
|
121
|
+
threadId,
|
|
122
|
+
resourceId,
|
|
123
|
+
taskId
|
|
124
|
+
});
|
|
125
|
+
if (!stream) {
|
|
126
|
+
setError(/* @__PURE__ */ new Error("Stream connection failed"));
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
if (seq === connectSeqRef.current) setIsConnected(true);
|
|
130
|
+
const reader = stream.getReader();
|
|
131
|
+
readerRef.current = reader;
|
|
132
|
+
while (!controller.signal.aborted) {
|
|
133
|
+
const { done, value } = await reader.read();
|
|
134
|
+
if (done) break;
|
|
135
|
+
const event = value;
|
|
136
|
+
if (event.type !== "background-task-output") setTasks((prev) => ({
|
|
137
|
+
...prev,
|
|
138
|
+
[event.payload.taskId]: {
|
|
139
|
+
...prev[event.payload.taskId],
|
|
140
|
+
...event.payload,
|
|
141
|
+
status: EVENT_STATUS_MAP[event.type],
|
|
142
|
+
args: ("args" in event.payload ? event.payload.args : void 0) ?? prev[event.payload.taskId]?.args ?? {}
|
|
143
|
+
}
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
} catch (err) {
|
|
147
|
+
if (err?.name !== "AbortError") {
|
|
148
|
+
if (seq === connectSeqRef.current) setError(err instanceof Error ? err : new Error(String(err)));
|
|
149
|
+
}
|
|
150
|
+
} finally {
|
|
151
|
+
if (seq === connectSeqRef.current) setIsConnected(false);
|
|
152
|
+
}
|
|
153
|
+
}, [
|
|
154
|
+
client,
|
|
155
|
+
agentId,
|
|
156
|
+
runId,
|
|
157
|
+
threadId,
|
|
158
|
+
resourceId,
|
|
159
|
+
taskId,
|
|
160
|
+
cleanup
|
|
161
|
+
]);
|
|
162
|
+
useEffect(() => {
|
|
163
|
+
if (!enabled) {
|
|
164
|
+
cleanup();
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
connect();
|
|
168
|
+
return cleanup;
|
|
169
|
+
}, [
|
|
170
|
+
enabled,
|
|
171
|
+
connect,
|
|
172
|
+
cleanup
|
|
173
|
+
]);
|
|
174
|
+
const disconnect = useCallback(() => {
|
|
175
|
+
cleanup();
|
|
176
|
+
}, [cleanup]);
|
|
177
|
+
const reconnect = useCallback(() => {
|
|
178
|
+
connect();
|
|
179
|
+
}, [connect]);
|
|
180
|
+
const clearCompletedAndFailedTasks = () => {
|
|
181
|
+
setTasks((prev) => {
|
|
182
|
+
const newTasks = { ...prev };
|
|
183
|
+
Object.values(newTasks).forEach((task) => {
|
|
184
|
+
if (task.status === "completed" || task.status === "failed" || task.status === "cancelled" || task.status === "timed_out") delete newTasks[task.taskId];
|
|
185
|
+
});
|
|
186
|
+
return newTasks;
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
return {
|
|
190
|
+
tasks,
|
|
191
|
+
isConnected,
|
|
192
|
+
error,
|
|
193
|
+
disconnect,
|
|
194
|
+
reconnect,
|
|
195
|
+
runningTasks,
|
|
196
|
+
completedTasks,
|
|
197
|
+
failedTasks,
|
|
198
|
+
clearCompletedAndFailedTasks
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
const useGetBackgroundTaskById = ({ backgroundTaskId, queryOptions }) => {
|
|
202
|
+
const client = useMastraClient();
|
|
203
|
+
return useQuery({
|
|
204
|
+
queryKey: ["background-task", backgroundTaskId],
|
|
205
|
+
queryFn: () => client.getBackgroundTask(backgroundTaskId),
|
|
206
|
+
...queryOptions
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
//#endregion
|
|
210
|
+
//#region src/hooks/agents/use-browser-session-probe.ts
|
|
211
|
+
const browserSessionProbeQueryKey = (agentId, threadId) => [
|
|
212
|
+
"browser-session-probe",
|
|
213
|
+
agentId,
|
|
214
|
+
threadId
|
|
215
|
+
];
|
|
216
|
+
const LEGACY_FALLBACK = {
|
|
217
|
+
hasSession: true,
|
|
218
|
+
screencastAvailable: true
|
|
219
|
+
};
|
|
220
|
+
const isNotFoundError = (error) => {
|
|
221
|
+
if (!error || typeof error !== "object") return false;
|
|
222
|
+
if ("status" in error && error.status === 404) return true;
|
|
223
|
+
if ("statusCode" in error && error.statusCode === 404) return true;
|
|
224
|
+
return false;
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Query hook that probes the server for the agent's browser session state.
|
|
228
|
+
*
|
|
229
|
+
* Used by {@link BrowserSessionProvider} to decide whether to open a screencast
|
|
230
|
+
* WebSocket. The probe avoids two failure modes:
|
|
231
|
+
*
|
|
232
|
+
* 1. `screencastAvailable: false` — the server doesn't have `ws` / `@hono/node-ws`
|
|
233
|
+
* installed (or the route was never registered). Opening a WS would fail and
|
|
234
|
+
* trigger a reconnect loop.
|
|
235
|
+
* 2. `hasSession: false` — no active browser session for this thread yet. Opening
|
|
236
|
+
* a WS would succeed but sit idle, holding resources for no reason.
|
|
237
|
+
*
|
|
238
|
+
* When the endpoint itself returns 404 (older server that predates this probe),
|
|
239
|
+
* the hook assumes screencast is available and a session is active so behavior
|
|
240
|
+
* matches the legacy unconditional connect.
|
|
241
|
+
*
|
|
242
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
243
|
+
*/
|
|
244
|
+
function useBrowserSessionProbe({ agentId, threadId, queryOptions }) {
|
|
245
|
+
const client = useMastraClient();
|
|
246
|
+
return useQuery({
|
|
247
|
+
queryKey: browserSessionProbeQueryKey(agentId, threadId),
|
|
248
|
+
queryFn: async () => {
|
|
249
|
+
if (!agentId) return {
|
|
250
|
+
hasSession: false,
|
|
251
|
+
screencastAvailable: false
|
|
252
|
+
};
|
|
253
|
+
try {
|
|
254
|
+
return await client.getAgent(agentId).browserSession(threadId);
|
|
255
|
+
} catch (error) {
|
|
256
|
+
if (isNotFoundError(error)) return LEGACY_FALLBACK;
|
|
257
|
+
throw error;
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
refetchOnWindowFocus: true,
|
|
261
|
+
staleTime: 0,
|
|
262
|
+
retry: 1,
|
|
263
|
+
...queryOptions
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
//#endregion
|
|
267
|
+
//#region src/hooks/agents/is-model-not-allowed.ts
|
|
268
|
+
/**
|
|
269
|
+
* The wire-level error code the server emits on a 422 when a model is blocked
|
|
270
|
+
* by the admin's builder policy. Kept as a local literal so the browser bundle
|
|
271
|
+
* never imports server-only agent-builder EE code.
|
|
272
|
+
*/
|
|
273
|
+
const MODEL_NOT_ALLOWED_CODE = "MODEL_NOT_ALLOWED";
|
|
274
|
+
/**
|
|
275
|
+
* Detects HTTP 422 + MODEL_NOT_ALLOWED responses thrown by `MastraClientError`
|
|
276
|
+
* (or any error carrying `status` + `body.error.code`). Returns the parsed
|
|
277
|
+
* details when matched, or `null` otherwise.
|
|
278
|
+
*/
|
|
279
|
+
function isModelNotAllowedError(err) {
|
|
280
|
+
if (!err || typeof err !== "object") return null;
|
|
281
|
+
const candidate = err;
|
|
282
|
+
if (candidate.status !== 422) return null;
|
|
283
|
+
const body = candidate.body;
|
|
284
|
+
if (body?.error?.code !== MODEL_NOT_ALLOWED_CODE) return null;
|
|
285
|
+
const errorBody = body.error;
|
|
286
|
+
return {
|
|
287
|
+
message: errorBody.message || candidate.message || "Model not allowed by admin policy",
|
|
288
|
+
attempted: errorBody.attempted,
|
|
289
|
+
offendingLabel: errorBody.offendingLabel
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
//#endregion
|
|
293
|
+
//#region src/hooks/agents/use-stored-agents.ts
|
|
294
|
+
const useStoredAgents = ({ queryOptions, ...params } = {}) => {
|
|
295
|
+
const client = useMastraClient();
|
|
296
|
+
const listParams = Object.keys(params).length > 0 ? params : void 0;
|
|
297
|
+
return useQuery({
|
|
298
|
+
queryKey: ["stored-agents", listParams],
|
|
299
|
+
queryFn: () => client.listStoredAgents(listParams),
|
|
300
|
+
...queryOptions
|
|
301
|
+
});
|
|
302
|
+
};
|
|
303
|
+
/**
|
|
304
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
305
|
+
*/
|
|
306
|
+
const useStoredAgent = ({ agentId, status, requestContext, queryOptions } = {}) => {
|
|
307
|
+
const client = useMastraClient();
|
|
308
|
+
return useQuery({
|
|
309
|
+
queryKey: [
|
|
310
|
+
"stored-agent",
|
|
311
|
+
agentId,
|
|
312
|
+
status,
|
|
313
|
+
requestContext
|
|
314
|
+
],
|
|
315
|
+
queryFn: async () => {
|
|
316
|
+
if (!agentId) return null;
|
|
317
|
+
try {
|
|
318
|
+
return await client.getStoredAgent(agentId).details(requestContext, { status });
|
|
319
|
+
} catch (error) {
|
|
320
|
+
if (error && typeof error === "object" && "status" in error && error.status === 404) return null;
|
|
321
|
+
throw error;
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
retry: false,
|
|
325
|
+
...queryOptions
|
|
326
|
+
});
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
330
|
+
*/
|
|
331
|
+
const useStoredAgentDependents = ({ agentId, requestContext, queryOptions } = {}) => {
|
|
332
|
+
const client = useMastraClient();
|
|
333
|
+
return useQuery({
|
|
334
|
+
queryKey: [
|
|
335
|
+
"stored-agent-dependents",
|
|
336
|
+
agentId,
|
|
337
|
+
requestContext
|
|
338
|
+
],
|
|
339
|
+
queryFn: () => client.getStoredAgent(agentId).dependents(requestContext),
|
|
340
|
+
retry: false,
|
|
341
|
+
...queryOptions
|
|
342
|
+
});
|
|
343
|
+
};
|
|
344
|
+
const useStoredAgentMutations = ({ agentId, requestContext, queryOptions } = {}) => {
|
|
345
|
+
const client = useMastraClient();
|
|
346
|
+
const queryClient = useQueryClient();
|
|
347
|
+
const invalidateBuilderSettingsOnPolicyReject = (err) => {
|
|
348
|
+
if (isModelNotAllowedError(err)) queryClient.invalidateQueries({ queryKey: ["builder-settings"] });
|
|
349
|
+
};
|
|
350
|
+
return {
|
|
351
|
+
createStoredAgent: useMutation({
|
|
352
|
+
mutationFn: (params) => client.createStoredAgent(params),
|
|
353
|
+
onSuccess: (created) => {
|
|
354
|
+
queryClient.setQueryData([
|
|
355
|
+
"stored-agent",
|
|
356
|
+
created.id,
|
|
357
|
+
"draft",
|
|
358
|
+
requestContext
|
|
359
|
+
], created);
|
|
360
|
+
queryClient.setQueryData([
|
|
361
|
+
"stored-agent",
|
|
362
|
+
created.id,
|
|
363
|
+
void 0,
|
|
364
|
+
requestContext
|
|
365
|
+
], created);
|
|
366
|
+
queryClient.invalidateQueries({ queryKey: ["stored-agents"] });
|
|
367
|
+
queryClient.invalidateQueries({ queryKey: ["agents"] });
|
|
368
|
+
queryClient.invalidateQueries({ queryKey: ["agent", created.id] });
|
|
369
|
+
},
|
|
370
|
+
onError: invalidateBuilderSettingsOnPolicyReject,
|
|
371
|
+
...queryOptions?.createStoredAgent
|
|
372
|
+
}),
|
|
373
|
+
updateStoredAgent: useMutation({
|
|
374
|
+
mutationFn: (params) => {
|
|
375
|
+
if (!agentId) throw new Error("agentId is required for update");
|
|
376
|
+
return client.getStoredAgent(agentId).update(params, requestContext);
|
|
377
|
+
},
|
|
378
|
+
onSuccess: () => {
|
|
379
|
+
queryClient.invalidateQueries({ queryKey: ["stored-agents"] });
|
|
380
|
+
queryClient.invalidateQueries({ queryKey: ["agents"] });
|
|
381
|
+
if (agentId) {
|
|
382
|
+
queryClient.invalidateQueries({ queryKey: ["stored-agent", agentId] });
|
|
383
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
384
|
+
}
|
|
385
|
+
},
|
|
386
|
+
onError: invalidateBuilderSettingsOnPolicyReject,
|
|
387
|
+
...queryOptions?.updateStoredAgent
|
|
388
|
+
}),
|
|
389
|
+
deleteStoredAgent: useMutation({
|
|
390
|
+
mutationFn: () => {
|
|
391
|
+
if (!agentId) throw new Error("agentId is required for delete");
|
|
392
|
+
return client.getStoredAgent(agentId).delete(requestContext);
|
|
393
|
+
},
|
|
394
|
+
onSuccess: () => {
|
|
395
|
+
queryClient.invalidateQueries({ queryKey: ["stored-agents"] });
|
|
396
|
+
queryClient.invalidateQueries({ queryKey: ["agents"] });
|
|
397
|
+
if (agentId) {
|
|
398
|
+
queryClient.removeQueries({ queryKey: ["stored-agent", agentId] });
|
|
399
|
+
queryClient.removeQueries({ queryKey: ["agent", agentId] });
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
...queryOptions?.deleteStoredAgent
|
|
403
|
+
})
|
|
404
|
+
};
|
|
405
|
+
};
|
|
406
|
+
//#endregion
|
|
407
|
+
//#region src/hooks/agents/use-agent-skills.ts
|
|
408
|
+
/**
|
|
409
|
+
* Hook to read and mutate the skills config for a stored agent.
|
|
410
|
+
*
|
|
411
|
+
* The skills field is `Record<string, StoredAgentSkillConfig>` on the agent
|
|
412
|
+
* snapshot. Each key is a stored skill ID and the value holds per-skill
|
|
413
|
+
* overrides (description, instructions, pin, strategy).
|
|
414
|
+
*/
|
|
415
|
+
function useAgentSkills({ agentId, requestContext, queryOptions } = {}) {
|
|
416
|
+
const client = useMastraClient();
|
|
417
|
+
const queryClient = useQueryClient();
|
|
418
|
+
const { data: agent } = useStoredAgent({
|
|
419
|
+
agentId,
|
|
420
|
+
status: "draft",
|
|
421
|
+
queryOptions: { enabled: Boolean(agentId) }
|
|
422
|
+
});
|
|
423
|
+
return {
|
|
424
|
+
skills: useMemo(() => {
|
|
425
|
+
if (!agent?.skills) return {};
|
|
426
|
+
if (Array.isArray(agent.skills)) {
|
|
427
|
+
const merged = {};
|
|
428
|
+
for (const variant of agent.skills) Object.assign(merged, variant.value);
|
|
429
|
+
return merged;
|
|
430
|
+
}
|
|
431
|
+
return agent.skills;
|
|
432
|
+
}, [agent?.skills]),
|
|
433
|
+
updateSkills: useMutation({
|
|
434
|
+
mutationFn: (newSkills) => {
|
|
435
|
+
if (!agentId) throw new Error("agentId is required");
|
|
436
|
+
const params = { skills: newSkills };
|
|
437
|
+
return client.getStoredAgent(agentId).update(params, requestContext);
|
|
438
|
+
},
|
|
439
|
+
onSuccess: () => {
|
|
440
|
+
if (agentId) {
|
|
441
|
+
queryClient.invalidateQueries({ queryKey: ["stored-agent", agentId] });
|
|
442
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
443
|
+
queryClient.invalidateQueries({ queryKey: ["agent-versions", agentId] });
|
|
444
|
+
}
|
|
445
|
+
},
|
|
446
|
+
...queryOptions?.updateSkills
|
|
447
|
+
})
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
//#endregion
|
|
451
|
+
//#region src/hooks/agents/use-agent-versions.ts
|
|
452
|
+
/**
|
|
453
|
+
* Hook to list versions of a stored agent
|
|
454
|
+
*
|
|
455
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
456
|
+
*/
|
|
457
|
+
const useAgentVersions = ({ agentId, params, requestContext, queryOptions }) => {
|
|
458
|
+
const client = useMastraClient();
|
|
459
|
+
return useQuery({
|
|
460
|
+
queryKey: [
|
|
461
|
+
"agent-versions",
|
|
462
|
+
agentId,
|
|
463
|
+
params,
|
|
464
|
+
requestContext
|
|
465
|
+
],
|
|
466
|
+
queryFn: agentId ? () => client.getStoredAgent(agentId).listVersions(params, requestContext) : skipToken,
|
|
467
|
+
...queryOptions
|
|
468
|
+
});
|
|
469
|
+
};
|
|
470
|
+
/**
|
|
471
|
+
* Hook to get a single version of a stored agent
|
|
472
|
+
*
|
|
473
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
474
|
+
*/
|
|
475
|
+
const useAgentVersion = ({ agentId, versionId, requestContext, queryOptions }) => {
|
|
476
|
+
const client = useMastraClient();
|
|
477
|
+
return useQuery({
|
|
478
|
+
queryKey: [
|
|
479
|
+
"agent-version",
|
|
480
|
+
agentId,
|
|
481
|
+
versionId,
|
|
482
|
+
requestContext
|
|
483
|
+
],
|
|
484
|
+
queryFn: () => client.getStoredAgent(agentId).getVersion(versionId, requestContext),
|
|
485
|
+
...queryOptions
|
|
486
|
+
});
|
|
487
|
+
};
|
|
488
|
+
/**
|
|
489
|
+
* Hook to create a new version of a stored agent
|
|
490
|
+
*/
|
|
491
|
+
const useCreateAgentVersion = ({ agentId, requestContext, queryOptions }) => {
|
|
492
|
+
const client = useMastraClient();
|
|
493
|
+
const queryClient = useQueryClient();
|
|
494
|
+
return useMutation({
|
|
495
|
+
mutationFn: (params) => client.getStoredAgent(agentId).createVersion(params, requestContext),
|
|
496
|
+
onSuccess: () => {
|
|
497
|
+
queryClient.invalidateQueries({ queryKey: ["agent-versions", agentId] });
|
|
498
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
499
|
+
},
|
|
500
|
+
...queryOptions
|
|
501
|
+
});
|
|
502
|
+
};
|
|
503
|
+
/**
|
|
504
|
+
* Hook to activate a specific version of a stored agent
|
|
505
|
+
*/
|
|
506
|
+
const useActivateAgentVersion = ({ agentId, requestContext, queryOptions }) => {
|
|
507
|
+
const client = useMastraClient();
|
|
508
|
+
const queryClient = useQueryClient();
|
|
509
|
+
return useMutation({
|
|
510
|
+
mutationFn: (versionId) => client.getStoredAgent(agentId).activateVersion(versionId, requestContext),
|
|
511
|
+
onSuccess: () => {
|
|
512
|
+
queryClient.invalidateQueries({ queryKey: ["agent-versions", agentId] });
|
|
513
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
514
|
+
},
|
|
515
|
+
...queryOptions
|
|
516
|
+
});
|
|
517
|
+
};
|
|
518
|
+
/**
|
|
519
|
+
* Hook to restore a specific version of a stored agent (creates a new version from an old one)
|
|
520
|
+
*/
|
|
521
|
+
const useRestoreAgentVersion = ({ agentId, requestContext, queryOptions }) => {
|
|
522
|
+
const client = useMastraClient();
|
|
523
|
+
const queryClient = useQueryClient();
|
|
524
|
+
return useMutation({
|
|
525
|
+
mutationFn: (versionId) => client.getStoredAgent(agentId).restoreVersion(versionId, requestContext),
|
|
526
|
+
onSuccess: () => {
|
|
527
|
+
queryClient.invalidateQueries({ queryKey: ["agent-versions", agentId] });
|
|
528
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
529
|
+
},
|
|
530
|
+
...queryOptions
|
|
531
|
+
});
|
|
532
|
+
};
|
|
533
|
+
/**
|
|
534
|
+
* Hook to delete a specific version of a stored agent
|
|
535
|
+
*/
|
|
536
|
+
const useDeleteAgentVersion = ({ agentId, requestContext, queryOptions }) => {
|
|
537
|
+
const client = useMastraClient();
|
|
538
|
+
const queryClient = useQueryClient();
|
|
539
|
+
return useMutation({
|
|
540
|
+
mutationFn: (versionId) => client.getStoredAgent(agentId).deleteVersion(versionId, requestContext),
|
|
541
|
+
onSuccess: () => {
|
|
542
|
+
queryClient.invalidateQueries({ queryKey: ["agent-versions", agentId] });
|
|
543
|
+
},
|
|
544
|
+
...queryOptions
|
|
545
|
+
});
|
|
546
|
+
};
|
|
547
|
+
/**
|
|
548
|
+
* Hook to compare two versions of a stored agent
|
|
549
|
+
*
|
|
550
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
551
|
+
*/
|
|
552
|
+
const useCompareAgentVersions = ({ agentId, fromVersionId, toVersionId, requestContext, queryOptions }) => {
|
|
553
|
+
const client = useMastraClient();
|
|
554
|
+
return useQuery({
|
|
555
|
+
queryKey: [
|
|
556
|
+
"agent-versions-compare",
|
|
557
|
+
agentId,
|
|
558
|
+
fromVersionId,
|
|
559
|
+
toVersionId,
|
|
560
|
+
requestContext
|
|
561
|
+
],
|
|
562
|
+
queryFn: () => client.getStoredAgent(agentId).compareVersions(fromVersionId, toVersionId, requestContext),
|
|
563
|
+
...queryOptions
|
|
564
|
+
});
|
|
565
|
+
};
|
|
566
|
+
//#endregion
|
|
567
|
+
//#region src/hooks/agents/use-agent-working-memory.ts
|
|
568
|
+
function parseJsonString(jsonString) {
|
|
569
|
+
try {
|
|
570
|
+
return JSON.stringify(JSON.parse(jsonString), null, 2);
|
|
571
|
+
} catch {
|
|
572
|
+
return jsonString;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
function useAgentWorkingMemory(agentId, threadId, resourceId, requestContext) {
|
|
576
|
+
const client = useMastraClient();
|
|
577
|
+
const [threadExists, setThreadExists] = useState(false);
|
|
578
|
+
const [workingMemoryData, setWorkingMemoryData] = useState(null);
|
|
579
|
+
const [workingMemorySource, setWorkingMemorySource] = useState("thread");
|
|
580
|
+
const [workingMemoryFormat, setWorkingMemoryFormat] = useState("markdown");
|
|
581
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
582
|
+
const [isUpdating, setIsUpdating] = useState(false);
|
|
583
|
+
const latestRequest = useRef(0);
|
|
584
|
+
const refetch = useCallback(async () => {
|
|
585
|
+
const requestId = ++latestRequest.current;
|
|
586
|
+
setIsLoading(true);
|
|
587
|
+
try {
|
|
588
|
+
if (!agentId || !threadId) {
|
|
589
|
+
setWorkingMemoryData(null);
|
|
590
|
+
setIsLoading(false);
|
|
591
|
+
return;
|
|
592
|
+
}
|
|
593
|
+
const res = await client.getWorkingMemory({
|
|
594
|
+
agentId,
|
|
595
|
+
threadId,
|
|
596
|
+
resourceId,
|
|
597
|
+
requestContext
|
|
598
|
+
});
|
|
599
|
+
if (requestId !== latestRequest.current) return;
|
|
600
|
+
const { workingMemory, source, workingMemoryTemplate, threadExists } = res;
|
|
601
|
+
setThreadExists(threadExists);
|
|
602
|
+
setWorkingMemoryData(workingMemory);
|
|
603
|
+
setWorkingMemorySource(source);
|
|
604
|
+
setWorkingMemoryFormat(workingMemoryTemplate?.format || "markdown");
|
|
605
|
+
if (workingMemoryTemplate?.format === "json") {
|
|
606
|
+
let dataToSet = "";
|
|
607
|
+
if (workingMemory) dataToSet = parseJsonString(workingMemory);
|
|
608
|
+
else if (workingMemoryTemplate?.content) dataToSet = parseJsonString(workingMemoryTemplate.content);
|
|
609
|
+
else dataToSet = "";
|
|
610
|
+
setWorkingMemoryData(dataToSet);
|
|
611
|
+
} else setWorkingMemoryData(workingMemory || workingMemoryTemplate?.content || "");
|
|
612
|
+
} catch (error) {
|
|
613
|
+
if (requestId !== latestRequest.current) return;
|
|
614
|
+
setWorkingMemoryData(null);
|
|
615
|
+
console.error("Error fetching working memory", error);
|
|
616
|
+
} finally {
|
|
617
|
+
if (requestId === latestRequest.current) setIsLoading(false);
|
|
618
|
+
}
|
|
619
|
+
}, [
|
|
620
|
+
agentId,
|
|
621
|
+
threadId,
|
|
622
|
+
resourceId,
|
|
623
|
+
client,
|
|
624
|
+
requestContext
|
|
625
|
+
]);
|
|
626
|
+
useEffect(() => {
|
|
627
|
+
refetch();
|
|
628
|
+
}, [refetch]);
|
|
629
|
+
const updateWorkingMemory = async (newMemory) => {
|
|
630
|
+
setIsUpdating(true);
|
|
631
|
+
try {
|
|
632
|
+
if (workingMemoryFormat === "json") try {
|
|
633
|
+
JSON.parse(newMemory);
|
|
634
|
+
} catch {
|
|
635
|
+
throw new Error("Invalid JSON working memory");
|
|
636
|
+
}
|
|
637
|
+
await client.updateWorkingMemory({
|
|
638
|
+
agentId,
|
|
639
|
+
threadId,
|
|
640
|
+
workingMemory: newMemory,
|
|
641
|
+
resourceId,
|
|
642
|
+
requestContext
|
|
643
|
+
});
|
|
644
|
+
refetch();
|
|
645
|
+
} catch (error) {
|
|
646
|
+
console.error("Error updating working memory", error);
|
|
647
|
+
throw error;
|
|
648
|
+
} finally {
|
|
649
|
+
setIsUpdating(false);
|
|
650
|
+
}
|
|
651
|
+
};
|
|
652
|
+
return {
|
|
653
|
+
threadExists,
|
|
654
|
+
workingMemoryData,
|
|
655
|
+
workingMemorySource,
|
|
656
|
+
workingMemoryFormat,
|
|
657
|
+
isLoading,
|
|
658
|
+
isUpdating,
|
|
659
|
+
refetch,
|
|
660
|
+
updateWorkingMemory
|
|
661
|
+
};
|
|
662
|
+
}
|
|
663
|
+
//#endregion
|
|
664
|
+
//#region src/hooks/agents/use-agent-workspace.ts
|
|
665
|
+
/**
|
|
666
|
+
* Hook to read and mutate the workspace reference for a stored agent.
|
|
667
|
+
*
|
|
668
|
+
* The workspace ref is part of the agent snapshot config and can be:
|
|
669
|
+
* - `{ type: 'id', workspaceId }` — references a stored workspace by ID
|
|
670
|
+
* - `{ type: 'inline', config }` — inline workspace config
|
|
671
|
+
* - `undefined` — no workspace assigned
|
|
672
|
+
*/
|
|
673
|
+
function useAgentWorkspace({ agentId, requestContext, queryOptions } = {}) {
|
|
674
|
+
const client = useMastraClient();
|
|
675
|
+
const queryClient = useQueryClient();
|
|
676
|
+
const { data: agent } = useStoredAgent({
|
|
677
|
+
agentId,
|
|
678
|
+
status: "draft",
|
|
679
|
+
queryOptions: { enabled: Boolean(agentId) }
|
|
680
|
+
});
|
|
681
|
+
return {
|
|
682
|
+
workspace: useMemo(() => {
|
|
683
|
+
if (!agent?.workspace) return void 0;
|
|
684
|
+
if (Array.isArray(agent.workspace)) return agent.workspace[0]?.value;
|
|
685
|
+
return agent.workspace;
|
|
686
|
+
}, [agent?.workspace]),
|
|
687
|
+
updateWorkspace: useMutation({
|
|
688
|
+
mutationFn: (ref) => {
|
|
689
|
+
if (!agentId) throw new Error("agentId is required");
|
|
690
|
+
const params = { workspace: ref };
|
|
691
|
+
return client.getStoredAgent(agentId).update(params, requestContext);
|
|
692
|
+
},
|
|
693
|
+
onSuccess: () => {
|
|
694
|
+
if (agentId) {
|
|
695
|
+
queryClient.invalidateQueries({ queryKey: ["stored-agent", agentId] });
|
|
696
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
697
|
+
queryClient.invalidateQueries({ queryKey: ["agent-versions", agentId] });
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
...queryOptions?.updateWorkspace
|
|
701
|
+
})
|
|
702
|
+
};
|
|
703
|
+
}
|
|
704
|
+
//#endregion
|
|
705
|
+
//#region src/hooks/agents/use-agent.ts
|
|
706
|
+
/**
|
|
707
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
708
|
+
*/
|
|
709
|
+
const useAgent = ({ agentId, requestContext, queryOptions } = {}) => {
|
|
710
|
+
const client = useMastraClient();
|
|
711
|
+
return useQuery({
|
|
712
|
+
queryKey: [
|
|
713
|
+
"agent",
|
|
714
|
+
agentId,
|
|
715
|
+
requestContext
|
|
716
|
+
],
|
|
717
|
+
queryFn: () => agentId ? client.getAgent(agentId).details(requestContext) : null,
|
|
718
|
+
retry: false,
|
|
719
|
+
...queryOptions
|
|
720
|
+
});
|
|
721
|
+
};
|
|
722
|
+
//#endregion
|
|
723
|
+
//#region src/hooks/agents/use-agents-model-providers.ts
|
|
724
|
+
const useAgentsModelProviders = ({ queryOptions } = {}) => {
|
|
725
|
+
const client = useMastraClient();
|
|
726
|
+
return useQuery({
|
|
727
|
+
queryKey: ["agents-model-providers"],
|
|
728
|
+
queryFn: () => client.listAgentsModelProviders(),
|
|
729
|
+
retry: false,
|
|
730
|
+
...queryOptions
|
|
731
|
+
});
|
|
732
|
+
};
|
|
733
|
+
//#endregion
|
|
734
|
+
//#region src/hooks/agents/use-agents.ts
|
|
735
|
+
const useAgents = ({ requestContext, queryOptions } = {}) => {
|
|
736
|
+
const client = useMastraClient();
|
|
737
|
+
return useQuery({
|
|
738
|
+
queryKey: ["agents", requestContext],
|
|
739
|
+
queryFn: () => client.listAgents(requestContext),
|
|
740
|
+
...queryOptions
|
|
741
|
+
});
|
|
742
|
+
};
|
|
743
|
+
const useUpdateAgentModel = ({ agentId, queryOptions }) => {
|
|
744
|
+
const client = useMastraClient();
|
|
745
|
+
const queryClient = useQueryClient();
|
|
746
|
+
return useMutation({
|
|
747
|
+
mutationFn: async (payload) => client.getAgent(agentId).updateModel(payload),
|
|
748
|
+
onSuccess: () => {
|
|
749
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
750
|
+
},
|
|
751
|
+
onError: (err) => {
|
|
752
|
+
console.error("Error updating model", err);
|
|
753
|
+
},
|
|
754
|
+
...queryOptions
|
|
755
|
+
});
|
|
756
|
+
};
|
|
757
|
+
const useReorderModelList = ({ agentId, queryOptions }) => {
|
|
758
|
+
const client = useMastraClient();
|
|
759
|
+
const queryClient = useQueryClient();
|
|
760
|
+
return useMutation({
|
|
761
|
+
mutationFn: async (payload) => client.getAgent(agentId).reorderModelList(payload),
|
|
762
|
+
onSuccess: () => {
|
|
763
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
764
|
+
},
|
|
765
|
+
onError: (err) => {
|
|
766
|
+
console.error("Error reordering model list", err);
|
|
767
|
+
},
|
|
768
|
+
...queryOptions
|
|
769
|
+
});
|
|
770
|
+
};
|
|
771
|
+
const useUpdateModelInModelList = ({ agentId, queryOptions }) => {
|
|
772
|
+
const client = useMastraClient();
|
|
773
|
+
const queryClient = useQueryClient();
|
|
774
|
+
return useMutation({
|
|
775
|
+
mutationFn: async (payload) => client.getAgent(agentId).updateModelInModelList(payload),
|
|
776
|
+
onSuccess: () => {
|
|
777
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
778
|
+
},
|
|
779
|
+
onError: (err) => {
|
|
780
|
+
console.error("Error updating model in model list", err);
|
|
781
|
+
},
|
|
782
|
+
...queryOptions
|
|
783
|
+
});
|
|
784
|
+
};
|
|
785
|
+
const useResetAgentModel = ({ agentId, queryOptions }) => {
|
|
786
|
+
const client = useMastraClient();
|
|
787
|
+
const queryClient = useQueryClient();
|
|
788
|
+
return useMutation({
|
|
789
|
+
mutationFn: async () => client.getAgent(agentId).resetModel(),
|
|
790
|
+
onSuccess: () => {
|
|
791
|
+
queryClient.invalidateQueries({ queryKey: ["agent", agentId] });
|
|
792
|
+
},
|
|
793
|
+
onError: (err) => {
|
|
794
|
+
console.error("Error resetting model", err);
|
|
795
|
+
},
|
|
796
|
+
...queryOptions
|
|
797
|
+
});
|
|
798
|
+
};
|
|
799
|
+
//#endregion
|
|
800
|
+
//#region src/hooks/agents/use-close-browser.ts
|
|
801
|
+
/**
|
|
802
|
+
* Mutation hook for closing an agent's browser session.
|
|
803
|
+
*/
|
|
804
|
+
function useCloseBrowser({ queryOptions } = {}) {
|
|
805
|
+
const client = useMastraClient();
|
|
806
|
+
return useMutation({
|
|
807
|
+
mutationFn: ({ agentId, threadId }) => client.getAgent(agentId).closeBrowser(threadId),
|
|
808
|
+
onError: (err) => {
|
|
809
|
+
console.error("[useCloseBrowser] Error closing browser:", err);
|
|
810
|
+
},
|
|
811
|
+
...queryOptions
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
//#endregion
|
|
815
|
+
//#region src/hooks/agents/use-preview-instructions.ts
|
|
816
|
+
/**
|
|
817
|
+
* Normalize blocks to API format.
|
|
818
|
+
* Form-format ref blocks have `{ type: 'prompt_block_ref', promptBlockId }`,
|
|
819
|
+
* while API-format blocks have `{ type: 'prompt_block_ref', id }`.
|
|
820
|
+
*/
|
|
821
|
+
function toApiBlocks(blocks) {
|
|
822
|
+
return blocks.map((block) => {
|
|
823
|
+
if (block.type === "prompt_block_ref") return {
|
|
824
|
+
type: "prompt_block_ref",
|
|
825
|
+
id: block.promptBlockId ?? block.id,
|
|
826
|
+
rules: block.rules
|
|
827
|
+
};
|
|
828
|
+
return {
|
|
829
|
+
type: block.type,
|
|
830
|
+
content: block.content,
|
|
831
|
+
rules: block.rules
|
|
832
|
+
};
|
|
833
|
+
});
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
837
|
+
*/
|
|
838
|
+
function usePreviewInstructions({ blocks, requestContext, queryOptions }) {
|
|
839
|
+
const client = useMastraClient();
|
|
840
|
+
return useQuery({
|
|
841
|
+
queryKey: [
|
|
842
|
+
"preview-instructions",
|
|
843
|
+
blocks,
|
|
844
|
+
requestContext
|
|
845
|
+
],
|
|
846
|
+
queryFn: async () => {
|
|
847
|
+
if (!blocks || blocks.length === 0) return "";
|
|
848
|
+
return (await client.request("/stored/agents/preview-instructions", {
|
|
849
|
+
method: "POST",
|
|
850
|
+
body: {
|
|
851
|
+
blocks: toApiBlocks(blocks),
|
|
852
|
+
context: requestContext
|
|
853
|
+
}
|
|
854
|
+
})).result;
|
|
855
|
+
},
|
|
856
|
+
...queryOptions
|
|
857
|
+
});
|
|
858
|
+
}
|
|
859
|
+
//#endregion
|
|
860
|
+
//#region src/hooks/agents/use-stored-skills.ts
|
|
861
|
+
function useStoredSkills({ queryOptions } = {}) {
|
|
862
|
+
const client = useMastraClient();
|
|
863
|
+
return useQuery({
|
|
864
|
+
queryKey: ["stored-skills"],
|
|
865
|
+
queryFn: () => client.listStoredSkills(),
|
|
866
|
+
...queryOptions
|
|
867
|
+
});
|
|
868
|
+
}
|
|
869
|
+
//#endregion
|
|
870
|
+
//#region src/hooks/agents/use-channels.ts
|
|
871
|
+
const useChannelPlatforms = ({ queryOptions } = {}) => {
|
|
872
|
+
const client = useMastraClient();
|
|
873
|
+
return useQuery({
|
|
874
|
+
queryKey: ["channels", "platforms"],
|
|
875
|
+
queryFn: () => client.channels.listPlatforms(),
|
|
876
|
+
staleTime: 60 * 1e3,
|
|
877
|
+
retry: false,
|
|
878
|
+
...queryOptions
|
|
879
|
+
});
|
|
880
|
+
};
|
|
881
|
+
/**
|
|
882
|
+
* Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
|
|
883
|
+
*/
|
|
884
|
+
const useChannelInstallations = ({ platform, agentId, queryOptions }) => {
|
|
885
|
+
const client = useMastraClient();
|
|
886
|
+
return useQuery({
|
|
887
|
+
queryKey: [
|
|
888
|
+
"channels",
|
|
889
|
+
"installations",
|
|
890
|
+
platform,
|
|
891
|
+
agentId
|
|
892
|
+
],
|
|
893
|
+
queryFn: () => client.channels.listInstallations(platform, agentId),
|
|
894
|
+
staleTime: 10 * 1e3,
|
|
895
|
+
retry: false,
|
|
896
|
+
...queryOptions
|
|
897
|
+
});
|
|
898
|
+
};
|
|
899
|
+
/**
|
|
900
|
+
* Reconcile an agent's installation with platform state — activates a pending
|
|
901
|
+
* installation whose connect flow completed out-of-band (e.g. a Discord bot
|
|
902
|
+
* invite finished in another tab). Resolves null on platforms without
|
|
903
|
+
* reconciliation. Call it deliberately (e.g. on window focus while a connect
|
|
904
|
+
* is in flight) — it is a write, not a read.
|
|
905
|
+
*/
|
|
906
|
+
const useReconcileChannelInstallation = ({ platform, queryOptions }) => {
|
|
907
|
+
const client = useMastraClient();
|
|
908
|
+
const queryClient = useQueryClient();
|
|
909
|
+
return useMutation({
|
|
910
|
+
mutationFn: (agentId) => client.channels.reconcileInstallation(platform, agentId),
|
|
911
|
+
onSuccess: () => {
|
|
912
|
+
queryClient.invalidateQueries({ queryKey: [
|
|
913
|
+
"channels",
|
|
914
|
+
"installations",
|
|
915
|
+
platform
|
|
916
|
+
] });
|
|
917
|
+
},
|
|
918
|
+
...queryOptions
|
|
919
|
+
});
|
|
920
|
+
};
|
|
921
|
+
const useConnectChannel = ({ platform, queryOptions }) => {
|
|
922
|
+
const client = useMastraClient();
|
|
923
|
+
const queryClient = useQueryClient();
|
|
924
|
+
return useMutation({
|
|
925
|
+
mutationFn: ({ agentId, options }) => client.channels.connect(platform, agentId, {
|
|
926
|
+
...options,
|
|
927
|
+
redirectUrl: window.location.href
|
|
928
|
+
}),
|
|
929
|
+
onSuccess: () => {
|
|
930
|
+
queryClient.invalidateQueries({ queryKey: [
|
|
931
|
+
"channels",
|
|
932
|
+
"installations",
|
|
933
|
+
platform
|
|
934
|
+
] });
|
|
935
|
+
},
|
|
936
|
+
...queryOptions
|
|
937
|
+
});
|
|
938
|
+
};
|
|
939
|
+
const useDisconnectChannel = ({ platform, queryOptions }) => {
|
|
940
|
+
const client = useMastraClient();
|
|
941
|
+
const queryClient = useQueryClient();
|
|
942
|
+
return useMutation({
|
|
943
|
+
mutationFn: (agentId) => client.channels.disconnect(platform, agentId),
|
|
944
|
+
onSuccess: () => {
|
|
945
|
+
queryClient.invalidateQueries({ queryKey: [
|
|
946
|
+
"channels",
|
|
947
|
+
"installations",
|
|
948
|
+
platform
|
|
949
|
+
] });
|
|
950
|
+
},
|
|
951
|
+
...queryOptions
|
|
952
|
+
});
|
|
953
|
+
};
|
|
954
|
+
//#endregion
|
|
955
|
+
//#region src/hooks/agents/use-execute-agent-tool.ts
|
|
956
|
+
const useExecuteAgentTool = ({ queryOptions } = {}) => {
|
|
957
|
+
const client = useMastraClient();
|
|
958
|
+
return useMutation({
|
|
959
|
+
mutationFn: async ({ agentId, toolId, input, playgroundRequestContext }) => {
|
|
960
|
+
const requestContext = new RequestContext();
|
|
961
|
+
Object.entries(playgroundRequestContext ?? {}).forEach(([key, value]) => {
|
|
962
|
+
requestContext.set(key, value);
|
|
963
|
+
});
|
|
964
|
+
return client.getAgent(agentId).executeTool(toolId, {
|
|
965
|
+
data: input,
|
|
966
|
+
requestContext
|
|
967
|
+
});
|
|
968
|
+
},
|
|
969
|
+
...queryOptions
|
|
970
|
+
});
|
|
971
|
+
};
|
|
972
|
+
//#endregion
|
|
973
|
+
export { browserSessionProbeQueryKey, isModelNotAllowedError, useActivateAgentVersion, useAgent, useAgentMessages, useAgentPlan, useAgentSkills, useAgentVersion, useAgentVersions, useAgentWorkingMemory, useAgentWorkspace, useAgents, useAgentsModelProviders, useBackgroundTaskStream, useBrowserSessionProbe, useChannelInstallations, useChannelPlatforms, useCloseBrowser, useCompareAgentVersions, useConnectChannel, useCreateAgentVersion, useDeleteAgentVersion, useDisconnectChannel, useExecuteAgentTool, useGetBackgroundTaskById, usePreviewInstructions, useReconcileChannelInstallation, useReorderModelList, useResetAgentModel, useRestoreAgentVersion, useStoredAgent, useStoredAgentDependents, useStoredAgentMutations, useStoredAgents, useStoredSkills, useUpdateAgentModel, useUpdateModelInModelList };
|
|
974
|
+
|
|
975
|
+
//# sourceMappingURL=index.js.map
|