@mastra/react 1.7.3-alpha.2 → 1.8.0-alpha.4

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.
Files changed (510) hide show
  1. package/dist/accumulator-B1MuNX3j.js +1668 -0
  2. package/dist/accumulator-B1MuNX3j.js.map +1 -0
  3. package/dist/accumulator-CsUGDUHk.cjs +1709 -0
  4. package/dist/accumulator-CsUGDUHk.cjs.map +1 -0
  5. package/dist/agent/hooks.d.ts.map +1 -1
  6. package/dist/agent/user-message.d.ts +4 -0
  7. package/dist/agent/user-message.d.ts.map +1 -0
  8. package/dist/chat/index.cjs +3 -0
  9. package/dist/chat/index.d.ts +3 -0
  10. package/dist/chat/index.d.ts.map +1 -0
  11. package/dist/chat/index.js +2 -0
  12. package/dist/feedback-refetch-interval-DLHzQoVV.js +12 -0
  13. package/dist/feedback-refetch-interval-DLHzQoVV.js.map +1 -0
  14. package/dist/feedback-refetch-interval-XD5FVc2k.cjs +17 -0
  15. package/dist/feedback-refetch-interval-XD5FVc2k.cjs.map +1 -0
  16. package/dist/hooks/agents/index.cjs +988 -0
  17. package/dist/hooks/agents/index.cjs.map +1 -0
  18. package/dist/hooks/agents/index.d.ts +19 -0
  19. package/dist/hooks/agents/index.d.ts.map +1 -0
  20. package/dist/hooks/agents/index.js +952 -0
  21. package/dist/hooks/agents/index.js.map +1 -0
  22. package/dist/hooks/agents/is-model-not-allowed.d.ts +15 -0
  23. package/dist/hooks/agents/is-model-not-allowed.d.ts.map +1 -0
  24. package/dist/hooks/agents/use-agent-messages.d.ts +18 -0
  25. package/dist/hooks/agents/use-agent-messages.d.ts.map +1 -0
  26. package/dist/hooks/agents/use-agent-plan.d.ts +14 -0
  27. package/dist/hooks/agents/use-agent-plan.d.ts.map +1 -0
  28. package/dist/hooks/agents/use-agent-skills.d.ts +2021 -0
  29. package/dist/hooks/agents/use-agent-skills.d.ts.map +1 -0
  30. package/dist/hooks/agents/use-agent-versions.d.ts +72 -0
  31. package/dist/hooks/agents/use-agent-versions.d.ts.map +1 -0
  32. package/dist/hooks/agents/use-agent-working-memory.d.ts +11 -0
  33. package/dist/hooks/agents/use-agent-working-memory.d.ts.map +1 -0
  34. package/dist/hooks/agents/use-agent-workspace.d.ts +2022 -0
  35. package/dist/hooks/agents/use-agent-workspace.d.ts.map +1 -0
  36. package/dist/hooks/agents/use-agent.d.ts +12 -0
  37. package/dist/hooks/agents/use-agent.d.ts.map +1 -0
  38. package/dist/hooks/agents/use-agents-model-providers.d.ts +9 -0
  39. package/dist/hooks/agents/use-agents-model-providers.d.ts.map +1 -0
  40. package/dist/hooks/agents/use-agents.d.ts +28 -0
  41. package/dist/hooks/agents/use-agents.d.ts.map +1 -0
  42. package/dist/hooks/agents/use-background-tasks.d.ts +51 -0
  43. package/dist/hooks/agents/use-background-tasks.d.ts.map +1 -0
  44. package/dist/hooks/agents/use-browser-session-probe.d.ts +34 -0
  45. package/dist/hooks/agents/use-browser-session-probe.d.ts.map +1 -0
  46. package/dist/hooks/agents/use-channels.d.ts +34 -0
  47. package/dist/hooks/agents/use-channels.d.ts.map +1 -0
  48. package/dist/hooks/agents/use-close-browser.d.ts +17 -0
  49. package/dist/hooks/agents/use-close-browser.d.ts.map +1 -0
  50. package/dist/hooks/agents/use-execute-agent-tool.d.ts +14 -0
  51. package/dist/hooks/agents/use-execute-agent-tool.d.ts.map +1 -0
  52. package/dist/hooks/agents/use-preview-instructions.d.ts +20 -0
  53. package/dist/hooks/agents/use-preview-instructions.d.ts.map +1 -0
  54. package/dist/hooks/agents/use-stored-agents.d.ts +8023 -0
  55. package/dist/hooks/agents/use-stored-agents.d.ts.map +1 -0
  56. package/dist/hooks/agents/use-stored-skills.d.ts +8 -0
  57. package/dist/hooks/agents/use-stored-skills.d.ts.map +1 -0
  58. package/dist/hooks/auth/fetch-with-refresh.d.ts +28 -0
  59. package/dist/hooks/auth/fetch-with-refresh.d.ts.map +1 -0
  60. package/dist/hooks/auth/get-client-query-key.d.ts +7 -0
  61. package/dist/hooks/auth/get-client-query-key.d.ts.map +1 -0
  62. package/dist/hooks/auth/index.cjs +492 -0
  63. package/dist/hooks/auth/index.cjs.map +1 -0
  64. package/dist/hooks/auth/index.d.ts +11 -0
  65. package/dist/hooks/auth/index.d.ts.map +1 -0
  66. package/dist/hooks/auth/index.js +474 -0
  67. package/dist/hooks/auth/index.js.map +1 -0
  68. package/dist/hooks/auth/sso-login.d.ts +8 -0
  69. package/dist/hooks/auth/sso-login.d.ts.map +1 -0
  70. package/dist/hooks/auth/types.d.ts +107 -0
  71. package/dist/hooks/auth/types.d.ts.map +1 -0
  72. package/dist/hooks/auth/use-auth-actions.d.ts +99 -0
  73. package/dist/hooks/auth/use-auth-actions.d.ts.map +1 -0
  74. package/dist/hooks/auth/use-auth-capabilities.d.ts +43 -0
  75. package/dist/hooks/auth/use-auth-capabilities.d.ts.map +1 -0
  76. package/dist/hooks/auth/use-credentials-login.d.ts +63 -0
  77. package/dist/hooks/auth/use-credentials-login.d.ts.map +1 -0
  78. package/dist/hooks/auth/use-credentials-signup.d.ts +66 -0
  79. package/dist/hooks/auth/use-credentials-signup.d.ts.map +1 -0
  80. package/dist/hooks/auth/use-current-user.d.ts +40 -0
  81. package/dist/hooks/auth/use-current-user.d.ts.map +1 -0
  82. package/dist/hooks/auth/use-permission-patterns.d.ts +24 -0
  83. package/dist/hooks/auth/use-permission-patterns.d.ts.map +1 -0
  84. package/dist/hooks/capabilities/index.cjs +47 -0
  85. package/dist/hooks/capabilities/index.cjs.map +1 -0
  86. package/dist/hooks/capabilities/index.d.ts +4 -0
  87. package/dist/hooks/capabilities/index.d.ts.map +1 -0
  88. package/dist/hooks/capabilities/index.js +44 -0
  89. package/dist/hooks/capabilities/index.js.map +1 -0
  90. package/dist/hooks/capabilities/use-feedback-available.d.ts +9 -0
  91. package/dist/hooks/capabilities/use-feedback-available.d.ts.map +1 -0
  92. package/dist/hooks/capabilities/use-observability-capabilities.d.ts +9 -0
  93. package/dist/hooks/capabilities/use-observability-capabilities.d.ts.map +1 -0
  94. package/dist/hooks/capabilities/use-trace-query-available.d.ts +9 -0
  95. package/dist/hooks/capabilities/use-trace-query-available.d.ts.map +1 -0
  96. package/dist/hooks/configuration/index.cjs +18 -0
  97. package/dist/hooks/configuration/index.cjs.map +1 -0
  98. package/dist/hooks/configuration/index.d.ts +2 -0
  99. package/dist/hooks/configuration/index.d.ts.map +1 -0
  100. package/dist/hooks/configuration/index.js +17 -0
  101. package/dist/hooks/configuration/index.js.map +1 -0
  102. package/dist/hooks/configuration/use-mastra-packages.d.ts +9 -0
  103. package/dist/hooks/configuration/use-mastra-packages.d.ts.map +1 -0
  104. package/dist/hooks/datasets/index.cjs +615 -0
  105. package/dist/hooks/datasets/index.cjs.map +1 -0
  106. package/dist/hooks/datasets/index.d.ts +10 -0
  107. package/dist/hooks/datasets/index.d.ts.map +1 -0
  108. package/dist/hooks/datasets/index.js +600 -0
  109. package/dist/hooks/datasets/index.js.map +1 -0
  110. package/dist/hooks/datasets/use-compare-experiments.d.ts +23 -0
  111. package/dist/hooks/datasets/use-compare-experiments.d.ts.map +1 -0
  112. package/dist/hooks/datasets/use-dataset-experiments.d.ts +49 -0
  113. package/dist/hooks/datasets/use-dataset-experiments.d.ts.map +1 -0
  114. package/dist/hooks/datasets/use-dataset-item-versions.d.ts +31 -0
  115. package/dist/hooks/datasets/use-dataset-item-versions.d.ts.map +1 -0
  116. package/dist/hooks/datasets/use-dataset-items.d.ts +38 -0
  117. package/dist/hooks/datasets/use-dataset-items.d.ts.map +1 -0
  118. package/dist/hooks/datasets/use-dataset-mutations.d.ts +362 -0
  119. package/dist/hooks/datasets/use-dataset-mutations.d.ts.map +1 -0
  120. package/dist/hooks/datasets/use-dataset-versions.d.ts +23 -0
  121. package/dist/hooks/datasets/use-dataset-versions.d.ts.map +1 -0
  122. package/dist/hooks/datasets/use-datasets.d.ts +44 -0
  123. package/dist/hooks/datasets/use-datasets.d.ts.map +1 -0
  124. package/dist/hooks/datasets/use-experiments.d.ts +16 -0
  125. package/dist/hooks/datasets/use-experiments.d.ts.map +1 -0
  126. package/dist/hooks/datasets/use-workflow-schema.d.ts +16 -0
  127. package/dist/hooks/datasets/use-workflow-schema.d.ts.map +1 -0
  128. package/dist/hooks/embedders/index.cjs +19 -0
  129. package/dist/hooks/embedders/index.cjs.map +1 -0
  130. package/dist/hooks/embedders/index.d.ts +2 -0
  131. package/dist/hooks/embedders/index.d.ts.map +1 -0
  132. package/dist/hooks/embedders/index.js +18 -0
  133. package/dist/hooks/embedders/index.js.map +1 -0
  134. package/dist/hooks/embedders/use-embedders.d.ts +17 -0
  135. package/dist/hooks/embedders/use-embedders.d.ts.map +1 -0
  136. package/dist/hooks/experiments/index.cjs +152 -0
  137. package/dist/hooks/experiments/index.cjs.map +1 -0
  138. package/dist/hooks/experiments/index.d.ts +5 -0
  139. package/dist/hooks/experiments/index.d.ts.map +1 -0
  140. package/dist/hooks/experiments/index.js +146 -0
  141. package/dist/hooks/experiments/index.js.map +1 -0
  142. package/dist/hooks/experiments/use-experiment-metrics.d.ts +30 -0
  143. package/dist/hooks/experiments/use-experiment-metrics.d.ts.map +1 -0
  144. package/dist/hooks/experiments/use-experiment-trace.d.ts +13 -0
  145. package/dist/hooks/experiments/use-experiment-trace.d.ts.map +1 -0
  146. package/dist/hooks/experiments/use-experiments-for-dataset-filter.d.ts +22 -0
  147. package/dist/hooks/experiments/use-experiments-for-dataset-filter.d.ts.map +1 -0
  148. package/dist/hooks/experiments/use-infinite-experiments.d.ts +22 -0
  149. package/dist/hooks/experiments/use-infinite-experiments.d.ts.map +1 -0
  150. package/dist/hooks/feedback/feedback-refetch-interval.d.ts +7 -0
  151. package/dist/hooks/feedback/feedback-refetch-interval.d.ts.map +1 -0
  152. package/dist/hooks/feedback/index.cjs +22 -0
  153. package/dist/hooks/feedback/index.cjs.map +1 -0
  154. package/dist/hooks/feedback/index.d.ts +3 -0
  155. package/dist/hooks/feedback/index.d.ts.map +1 -0
  156. package/dist/hooks/feedback/index.js +20 -0
  157. package/dist/hooks/feedback/index.js.map +1 -0
  158. package/dist/hooks/feedback/use-feedback.d.ts +56 -0
  159. package/dist/hooks/feedback/use-feedback.d.ts.map +1 -0
  160. package/dist/hooks/llm/index.cjs +17 -0
  161. package/dist/hooks/llm/index.cjs.map +1 -0
  162. package/dist/hooks/llm/index.d.ts +2 -0
  163. package/dist/hooks/llm/index.d.ts.map +1 -0
  164. package/dist/hooks/llm/index.js +16 -0
  165. package/dist/hooks/llm/index.js.map +1 -0
  166. package/dist/hooks/llm/use-llm-providers.d.ts +7 -0
  167. package/dist/hooks/llm/use-llm-providers.d.ts.map +1 -0
  168. package/dist/hooks/logs/index.cjs +84 -0
  169. package/dist/hooks/logs/index.cjs.map +1 -0
  170. package/dist/hooks/logs/index.d.ts +4 -0
  171. package/dist/hooks/logs/index.d.ts.map +1 -0
  172. package/dist/hooks/logs/index.js +82 -0
  173. package/dist/hooks/logs/index.js.map +1 -0
  174. package/dist/hooks/logs/types.d.ts +36 -0
  175. package/dist/hooks/logs/types.d.ts.map +1 -0
  176. package/dist/hooks/logs/use-logs.d.ts +79 -0
  177. package/dist/hooks/logs/use-logs.d.ts.map +1 -0
  178. package/dist/hooks/mcps/index.cjs +215 -0
  179. package/dist/hooks/mcps/index.cjs.map +1 -0
  180. package/dist/hooks/mcps/index.d.ts +7 -0
  181. package/dist/hooks/mcps/index.d.ts.map +1 -0
  182. package/dist/hooks/mcps/index.js +208 -0
  183. package/dist/hooks/mcps/index.js.map +1 -0
  184. package/dist/hooks/mcps/use-mcp-app-tools.d.ts +21 -0
  185. package/dist/hooks/mcps/use-mcp-app-tools.d.ts.map +1 -0
  186. package/dist/hooks/mcps/use-mcp-server-tool.d.ts +25 -0
  187. package/dist/hooks/mcps/use-mcp-server-tool.d.ts.map +1 -0
  188. package/dist/hooks/mcps/use-mcp-server-tools-by-id.d.ts +13 -0
  189. package/dist/hooks/mcps/use-mcp-server-tools-by-id.d.ts.map +1 -0
  190. package/dist/hooks/mcps/use-mcp-server-tools.d.ts +9 -0
  191. package/dist/hooks/mcps/use-mcp-server-tools.d.ts.map +1 -0
  192. package/dist/hooks/mcps/use-mcp-servers.d.ts +8 -0
  193. package/dist/hooks/mcps/use-mcp-servers.d.ts.map +1 -0
  194. package/dist/hooks/mcps/use-try-connect-mcp.d.ts +15 -0
  195. package/dist/hooks/mcps/use-try-connect-mcp.d.ts.map +1 -0
  196. package/dist/hooks/memory/index.cjs +328 -0
  197. package/dist/hooks/memory/index.cjs.map +1 -0
  198. package/dist/hooks/memory/index.d.ts +5 -0
  199. package/dist/hooks/memory/index.d.ts.map +1 -0
  200. package/dist/hooks/memory/index.js +312 -0
  201. package/dist/hooks/memory/index.js.map +1 -0
  202. package/dist/hooks/memory/use-memory-status.d.ts +12 -0
  203. package/dist/hooks/memory/use-memory-status.d.ts.map +1 -0
  204. package/dist/hooks/memory/use-memory-thread-messages.d.ts +13 -0
  205. package/dist/hooks/memory/use-memory-thread-messages.d.ts.map +1 -0
  206. package/dist/hooks/memory/use-memory.d.ts +159 -0
  207. package/dist/hooks/memory/use-memory.d.ts.map +1 -0
  208. package/dist/hooks/memory/use-observational-memory.d.ts +13 -0
  209. package/dist/hooks/memory/use-observational-memory.d.ts.map +1 -0
  210. package/dist/hooks/metrics/index.cjs +997 -0
  211. package/dist/hooks/metrics/index.cjs.map +1 -0
  212. package/dist/hooks/metrics/index.d.ts +16 -0
  213. package/dist/hooks/metrics/index.d.ts.map +1 -0
  214. package/dist/hooks/metrics/index.js +981 -0
  215. package/dist/hooks/metrics/index.js.map +1 -0
  216. package/dist/hooks/metrics/metrics-interval.d.ts +8 -0
  217. package/dist/hooks/metrics/metrics-interval.d.ts.map +1 -0
  218. package/dist/hooks/metrics/metrics-query-filters.d.ts +62 -0
  219. package/dist/hooks/metrics/metrics-query-filters.d.ts.map +1 -0
  220. package/dist/hooks/metrics/use-active-resources-kpi-metrics.d.ts +12 -0
  221. package/dist/hooks/metrics/use-active-resources-kpi-metrics.d.ts.map +1 -0
  222. package/dist/hooks/metrics/use-active-threads-kpi-metrics.d.ts +12 -0
  223. package/dist/hooks/metrics/use-active-threads-kpi-metrics.d.ts.map +1 -0
  224. package/dist/hooks/metrics/use-agent-runs-kpi-metrics.d.ts +9 -0
  225. package/dist/hooks/metrics/use-agent-runs-kpi-metrics.d.ts.map +1 -0
  226. package/dist/hooks/metrics/use-latency-metrics.d.ts +23 -0
  227. package/dist/hooks/metrics/use-latency-metrics.d.ts.map +1 -0
  228. package/dist/hooks/metrics/use-model-cost-kpi-metrics.d.ts +14 -0
  229. package/dist/hooks/metrics/use-model-cost-kpi-metrics.d.ts.map +1 -0
  230. package/dist/hooks/metrics/use-model-usage-cost-metrics.d.ts +16 -0
  231. package/dist/hooks/metrics/use-model-usage-cost-metrics.d.ts.map +1 -0
  232. package/dist/hooks/metrics/use-scores-metrics.d.ts +24 -0
  233. package/dist/hooks/metrics/use-scores-metrics.d.ts.map +1 -0
  234. package/dist/hooks/metrics/use-token-usage-by-agent-metrics.d.ts +15 -0
  235. package/dist/hooks/metrics/use-token-usage-by-agent-metrics.d.ts.map +1 -0
  236. package/dist/hooks/metrics/use-token-usage-timeseries.d.ts +22 -0
  237. package/dist/hooks/metrics/use-token-usage-timeseries.d.ts.map +1 -0
  238. package/dist/hooks/metrics/use-top-active-threads-metrics.d.ts +21 -0
  239. package/dist/hooks/metrics/use-top-active-threads-metrics.d.ts.map +1 -0
  240. package/dist/hooks/metrics/use-top-resources-by-threads-metrics.d.ts +20 -0
  241. package/dist/hooks/metrics/use-top-resources-by-threads-metrics.d.ts.map +1 -0
  242. package/dist/hooks/metrics/use-total-tokens-kpi-metrics.d.ts +13 -0
  243. package/dist/hooks/metrics/use-total-tokens-kpi-metrics.d.ts.map +1 -0
  244. package/dist/hooks/metrics/use-trace-volume-metrics.d.ts +17 -0
  245. package/dist/hooks/metrics/use-trace-volume-metrics.d.ts.map +1 -0
  246. package/dist/hooks/processors/index.cjs +43 -0
  247. package/dist/hooks/processors/index.cjs.map +1 -0
  248. package/dist/hooks/processors/index.d.ts +2 -0
  249. package/dist/hooks/processors/index.d.ts.map +1 -0
  250. package/dist/hooks/processors/index.js +40 -0
  251. package/dist/hooks/processors/index.js.map +1 -0
  252. package/dist/hooks/processors/use-processors.d.ts +64 -0
  253. package/dist/hooks/processors/use-processors.d.ts.map +1 -0
  254. package/dist/hooks/prompt-blocks/index.cjs +181 -0
  255. package/dist/hooks/prompt-blocks/index.cjs.map +1 -0
  256. package/dist/hooks/prompt-blocks/index.d.ts +3 -0
  257. package/dist/hooks/prompt-blocks/index.d.ts.map +1 -0
  258. package/dist/hooks/prompt-blocks/index.js +172 -0
  259. package/dist/hooks/prompt-blocks/index.js.map +1 -0
  260. package/dist/hooks/prompt-blocks/use-prompt-block-versions.d.ts +59 -0
  261. package/dist/hooks/prompt-blocks/use-prompt-block-versions.d.ts.map +1 -0
  262. package/dist/hooks/prompt-blocks/use-stored-prompt-blocks.d.ts +180 -0
  263. package/dist/hooks/prompt-blocks/use-stored-prompt-blocks.d.ts.map +1 -0
  264. package/dist/hooks/query/index.cjs +34 -0
  265. package/dist/hooks/query/index.cjs.map +1 -0
  266. package/dist/hooks/query/index.d.ts +4 -0
  267. package/dist/hooks/query/index.d.ts.map +1 -0
  268. package/dist/hooks/query/index.js +25 -0
  269. package/dist/hooks/query/index.js.map +1 -0
  270. package/dist/hooks/query/query-client-provider.d.ts +8 -0
  271. package/dist/hooks/query/query-client-provider.d.ts.map +1 -0
  272. package/dist/hooks/query/query-utils.d.ts +48 -0
  273. package/dist/hooks/query/query-utils.d.ts.map +1 -0
  274. package/dist/hooks/review/index.cjs +89 -0
  275. package/dist/hooks/review/index.cjs.map +1 -0
  276. package/dist/hooks/review/index.d.ts +4 -0
  277. package/dist/hooks/review/index.d.ts.map +1 -0
  278. package/dist/hooks/review/index.js +86 -0
  279. package/dist/hooks/review/index.js.map +1 -0
  280. package/dist/hooks/review/types.d.ts +21 -0
  281. package/dist/hooks/review/types.d.ts.map +1 -0
  282. package/dist/hooks/review/use-dataset-review-items.d.ts +19 -0
  283. package/dist/hooks/review/use-dataset-review-items.d.ts.map +1 -0
  284. package/dist/hooks/review/use-review-summary.d.ts +9 -0
  285. package/dist/hooks/review/use-review-summary.d.ts.map +1 -0
  286. package/dist/hooks/schedules/index.cjs +110 -0
  287. package/dist/hooks/schedules/index.cjs.map +1 -0
  288. package/dist/hooks/schedules/index.d.ts +5 -0
  289. package/dist/hooks/schedules/index.d.ts.map +1 -0
  290. package/dist/hooks/schedules/index.js +106 -0
  291. package/dist/hooks/schedules/index.js.map +1 -0
  292. package/dist/hooks/schedules/use-schedule-triggers.d.ts +18 -0
  293. package/dist/hooks/schedules/use-schedule-triggers.d.ts.map +1 -0
  294. package/dist/hooks/schedules/use-schedule.d.ts +11 -0
  295. package/dist/hooks/schedules/use-schedule.d.ts.map +1 -0
  296. package/dist/hooks/schedules/use-schedules.d.ts +7 -0
  297. package/dist/hooks/schedules/use-schedules.d.ts.map +1 -0
  298. package/dist/hooks/schedules/use-toggle-schedule.d.ts +13 -0
  299. package/dist/hooks/schedules/use-toggle-schedule.d.ts.map +1 -0
  300. package/dist/hooks/scores/index.cjs +339 -0
  301. package/dist/hooks/scores/index.cjs.map +1 -0
  302. package/dist/hooks/scores/index.d.ts +6 -0
  303. package/dist/hooks/scores/index.d.ts.map +1 -0
  304. package/dist/hooks/scores/index.js +323 -0
  305. package/dist/hooks/scores/index.js.map +1 -0
  306. package/dist/hooks/scores/use-scorer-versions.d.ts +71 -0
  307. package/dist/hooks/scores/use-scorer-versions.d.ts.map +1 -0
  308. package/dist/hooks/scores/use-scorers.d.ts +34 -0
  309. package/dist/hooks/scores/use-scorers.d.ts.map +1 -0
  310. package/dist/hooks/scores/use-stored-scorers.d.ts +151 -0
  311. package/dist/hooks/scores/use-stored-scorers.d.ts.map +1 -0
  312. package/dist/hooks/scores/use-trace-span-scores.d.ts +20 -0
  313. package/dist/hooks/scores/use-trace-span-scores.d.ts.map +1 -0
  314. package/dist/hooks/scores/use-trigger-scorer.d.ts +17 -0
  315. package/dist/hooks/scores/use-trigger-scorer.d.ts.map +1 -0
  316. package/dist/hooks/shared/cost.d.ts +7 -0
  317. package/dist/hooks/shared/cost.d.ts.map +1 -0
  318. package/dist/hooks/shared/date-format.d.ts +30 -0
  319. package/dist/hooks/shared/date-format.d.ts.map +1 -0
  320. package/dist/hooks/shared/map.d.ts +2 -0
  321. package/dist/hooks/shared/map.d.ts.map +1 -0
  322. package/dist/hooks/shared/query-options.d.ts +19 -0
  323. package/dist/hooks/shared/query-options.d.ts.map +1 -0
  324. package/dist/hooks/shared/use-in-view.d.ts +23 -0
  325. package/dist/hooks/shared/use-in-view.d.ts.map +1 -0
  326. package/dist/hooks/templates/index.cjs +464 -0
  327. package/dist/hooks/templates/index.cjs.map +1 -0
  328. package/dist/hooks/templates/index.d.ts +2 -0
  329. package/dist/hooks/templates/index.d.ts.map +1 -0
  330. package/dist/hooks/templates/index.js +456 -0
  331. package/dist/hooks/templates/index.js.map +1 -0
  332. package/dist/hooks/templates/use-templates.d.ts +139 -0
  333. package/dist/hooks/templates/use-templates.d.ts.map +1 -0
  334. package/dist/hooks/tool-providers/index.cjs +342 -0
  335. package/dist/hooks/tool-providers/index.cjs.map +1 -0
  336. package/dist/hooks/tool-providers/index.d.ts +10 -0
  337. package/dist/hooks/tool-providers/index.d.ts.map +1 -0
  338. package/dist/hooks/tool-providers/index.js +332 -0
  339. package/dist/hooks/tool-providers/index.js.map +1 -0
  340. package/dist/hooks/tool-providers/use-all-connections.d.ts +41 -0
  341. package/dist/hooks/tool-providers/use-all-connections.d.ts.map +1 -0
  342. package/dist/hooks/tool-providers/use-all-provider-tools.d.ts +25 -0
  343. package/dist/hooks/tool-providers/use-all-provider-tools.d.ts.map +1 -0
  344. package/dist/hooks/tool-providers/use-authorize.d.ts +45 -0
  345. package/dist/hooks/tool-providers/use-authorize.d.ts.map +1 -0
  346. package/dist/hooks/tool-providers/use-disconnect-connection.d.ts +24 -0
  347. package/dist/hooks/tool-providers/use-disconnect-connection.d.ts.map +1 -0
  348. package/dist/hooks/tool-providers/use-existing-connections.d.ts +33 -0
  349. package/dist/hooks/tool-providers/use-existing-connections.d.ts.map +1 -0
  350. package/dist/hooks/tool-providers/use-provider-tools.d.ts +17 -0
  351. package/dist/hooks/tool-providers/use-provider-tools.d.ts.map +1 -0
  352. package/dist/hooks/tool-providers/use-tool-providers.d.ts +23 -0
  353. package/dist/hooks/tool-providers/use-tool-providers.d.ts.map +1 -0
  354. package/dist/hooks/tool-providers/use-toolkits.d.ts +13 -0
  355. package/dist/hooks/tool-providers/use-toolkits.d.ts.map +1 -0
  356. package/dist/hooks/tool-providers/use-update-connection.d.ts +24 -0
  357. package/dist/hooks/tool-providers/use-update-connection.d.ts.map +1 -0
  358. package/dist/hooks/tools/index.cjs +49 -0
  359. package/dist/hooks/tools/index.cjs.map +1 -0
  360. package/dist/hooks/tools/index.d.ts +3 -0
  361. package/dist/hooks/tools/index.d.ts.map +1 -0
  362. package/dist/hooks/tools/index.js +46 -0
  363. package/dist/hooks/tools/index.js.map +1 -0
  364. package/dist/hooks/tools/use-all-tools.d.ts +16 -0
  365. package/dist/hooks/tools/use-all-tools.d.ts.map +1 -0
  366. package/dist/hooks/tools/use-execute-tool.d.ts +13 -0
  367. package/dist/hooks/tools/use-execute-tool.d.ts.map +1 -0
  368. package/dist/hooks/traces/discovery-cache.d.ts +12 -0
  369. package/dist/hooks/traces/discovery-cache.d.ts.map +1 -0
  370. package/dist/hooks/traces/index.cjs +1168 -0
  371. package/dist/hooks/traces/index.cjs.map +1 -0
  372. package/dist/hooks/traces/index.d.ts +22 -0
  373. package/dist/hooks/traces/index.d.ts.map +1 -0
  374. package/dist/hooks/traces/index.js +1129 -0
  375. package/dist/hooks/traces/index.js.map +1 -0
  376. package/dist/hooks/traces/types.d.ts +20 -0
  377. package/dist/hooks/traces/types.d.ts.map +1 -0
  378. package/dist/hooks/traces/use-branch.d.ts +18 -0
  379. package/dist/hooks/traces/use-branch.d.ts.map +1 -0
  380. package/dist/hooks/traces/use-create-feedback.d.ts +21 -0
  381. package/dist/hooks/traces/use-create-feedback.d.ts.map +1 -0
  382. package/dist/hooks/traces/use-delete-feedback.d.ts +21 -0
  383. package/dist/hooks/traces/use-delete-feedback.d.ts.map +1 -0
  384. package/dist/hooks/traces/use-entity-names.d.ts +14 -0
  385. package/dist/hooks/traces/use-entity-names.d.ts.map +1 -0
  386. package/dist/hooks/traces/use-environments.d.ts +10 -0
  387. package/dist/hooks/traces/use-environments.d.ts.map +1 -0
  388. package/dist/hooks/traces/use-service-names.d.ts +10 -0
  389. package/dist/hooks/traces/use-service-names.d.ts.map +1 -0
  390. package/dist/hooks/traces/use-span-detail.d.ts +14 -0
  391. package/dist/hooks/traces/use-span-detail.d.ts.map +1 -0
  392. package/dist/hooks/traces/use-span-feedback.d.ts +19 -0
  393. package/dist/hooks/traces/use-span-feedback.d.ts.map +1 -0
  394. package/dist/hooks/traces/use-tags.d.ts +10 -0
  395. package/dist/hooks/traces/use-tags.d.ts.map +1 -0
  396. package/dist/hooks/traces/use-thread-has-other-traces.d.ts +17 -0
  397. package/dist/hooks/traces/use-thread-has-other-traces.d.ts.map +1 -0
  398. package/dist/hooks/traces/use-trace-column-preferences-storage-key.d.ts +6 -0
  399. package/dist/hooks/traces/use-trace-column-preferences-storage-key.d.ts.map +1 -0
  400. package/dist/hooks/traces/use-trace-feedback.d.ts +16 -0
  401. package/dist/hooks/traces/use-trace-feedback.d.ts.map +1 -0
  402. package/dist/hooks/traces/use-trace-light-spans.d.ts +16 -0
  403. package/dist/hooks/traces/use-trace-light-spans.d.ts.map +1 -0
  404. package/dist/hooks/traces/use-trace-metadata-filter-fields.d.ts +36 -0
  405. package/dist/hooks/traces/use-trace-metadata-filter-fields.d.ts.map +1 -0
  406. package/dist/hooks/traces/use-trace-or-branch-spans.d.ts +39 -0
  407. package/dist/hooks/traces/use-trace-or-branch-spans.d.ts.map +1 -0
  408. package/dist/hooks/traces/use-trace-query.d.ts +57 -0
  409. package/dist/hooks/traces/use-trace-query.d.ts.map +1 -0
  410. package/dist/hooks/traces/use-trace-spans.d.ts +46 -0
  411. package/dist/hooks/traces/use-trace-spans.d.ts.map +1 -0
  412. package/dist/hooks/traces/use-trace-usage.d.ts +10 -0
  413. package/dist/hooks/traces/use-trace-usage.d.ts.map +1 -0
  414. package/dist/hooks/traces/use-traces.d.ts +292 -0
  415. package/dist/hooks/traces/use-traces.d.ts.map +1 -0
  416. package/dist/hooks/vectors/index.cjs +19 -0
  417. package/dist/hooks/vectors/index.cjs.map +1 -0
  418. package/dist/hooks/vectors/index.d.ts +2 -0
  419. package/dist/hooks/vectors/index.d.ts.map +1 -0
  420. package/dist/hooks/vectors/index.js +18 -0
  421. package/dist/hooks/vectors/index.js.map +1 -0
  422. package/dist/hooks/vectors/use-vectors.d.ts +14 -0
  423. package/dist/hooks/vectors/use-vectors.d.ts.map +1 -0
  424. package/dist/hooks/voice/index.cjs +87 -0
  425. package/dist/hooks/voice/index.cjs.map +1 -0
  426. package/dist/hooks/voice/index.d.ts +2 -0
  427. package/dist/hooks/voice/index.d.ts.map +1 -0
  428. package/dist/hooks/voice/index.js +86 -0
  429. package/dist/hooks/voice/index.js.map +1 -0
  430. package/dist/hooks/voice/use-read-aloud.d.ts +20 -0
  431. package/dist/hooks/voice/use-read-aloud.d.ts.map +1 -0
  432. package/dist/hooks/workflows/index.cjs +173 -0
  433. package/dist/hooks/workflows/index.cjs.map +1 -0
  434. package/dist/hooks/workflows/index.d.ts +7 -0
  435. package/dist/hooks/workflows/index.d.ts.map +1 -0
  436. package/dist/hooks/workflows/index.js +157 -0
  437. package/dist/hooks/workflows/index.js.map +1 -0
  438. package/dist/hooks/workflows/use-workflow-runs.d.ts +51 -0
  439. package/dist/hooks/workflows/use-workflow-runs.d.ts.map +1 -0
  440. package/dist/hooks/workflows/use-workflow.d.ts +14 -0
  441. package/dist/hooks/workflows/use-workflow.d.ts.map +1 -0
  442. package/dist/hooks/workflows/use-workflows-run-counts.d.ts +25 -0
  443. package/dist/hooks/workflows/use-workflows-run-counts.d.ts.map +1 -0
  444. package/dist/hooks/workflows/use-workflows.d.ts +10 -0
  445. package/dist/hooks/workflows/use-workflows.d.ts.map +1 -0
  446. package/dist/hooks/workspace/client-utils.d.ts +5 -0
  447. package/dist/hooks/workspace/client-utils.d.ts.map +1 -0
  448. package/dist/hooks/workspace/compatibility.d.ts +22 -0
  449. package/dist/hooks/workspace/compatibility.d.ts.map +1 -0
  450. package/dist/hooks/workspace/file-type.d.ts +7 -0
  451. package/dist/hooks/workspace/file-type.d.ts.map +1 -0
  452. package/dist/hooks/workspace/index.cjs +624 -0
  453. package/dist/hooks/workspace/index.cjs.map +1 -0
  454. package/dist/hooks/workspace/index.d.ts +11 -0
  455. package/dist/hooks/workspace/index.d.ts.map +1 -0
  456. package/dist/hooks/workspace/index.js +594 -0
  457. package/dist/hooks/workspace/index.js.map +1 -0
  458. package/dist/hooks/workspace/types.d.ts +199 -0
  459. package/dist/hooks/workspace/types.d.ts.map +1 -0
  460. package/dist/hooks/workspace/use-skills-sh.d.ts +104 -0
  461. package/dist/hooks/workspace/use-skills-sh.d.ts.map +1 -0
  462. package/dist/hooks/workspace/use-stored-workspaces.d.ts +12 -0
  463. package/dist/hooks/workspace/use-stored-workspaces.d.ts.map +1 -0
  464. package/dist/hooks/workspace/use-workspace-directory.d.ts +13 -0
  465. package/dist/hooks/workspace/use-workspace-directory.d.ts.map +1 -0
  466. package/dist/hooks/workspace/use-workspace-file-content.d.ts +15 -0
  467. package/dist/hooks/workspace/use-workspace-file-content.d.ts.map +1 -0
  468. package/dist/hooks/workspace/use-workspace-search.d.ts +20 -0
  469. package/dist/hooks/workspace/use-workspace-search.d.ts.map +1 -0
  470. package/dist/hooks/workspace/use-workspace-skills.d.ts +23 -0
  471. package/dist/hooks/workspace/use-workspace-skills.d.ts.map +1 -0
  472. package/dist/hooks/workspace/use-workspace.d.ts +56 -0
  473. package/dist/hooks/workspace/use-workspace.d.ts.map +1 -0
  474. package/dist/hooks-BFQK_s4g.js +1231 -0
  475. package/dist/hooks-BFQK_s4g.js.map +1 -0
  476. package/dist/hooks-CMjizg6y.cjs +1248 -0
  477. package/dist/hooks-CMjizg6y.cjs.map +1 -0
  478. package/dist/hooks-CjULNHpJ.js +252 -0
  479. package/dist/hooks-CjULNHpJ.js.map +1 -0
  480. package/dist/hooks-DsDYaJ3T.cjs +269 -0
  481. package/dist/hooks-DsDYaJ3T.cjs.map +1 -0
  482. package/dist/index.cjs +21 -3434
  483. package/dist/index.cjs.map +1 -1
  484. package/dist/index.d.ts +1 -0
  485. package/dist/index.d.ts.map +1 -1
  486. package/dist/index.js +6 -3419
  487. package/dist/index.js.map +1 -1
  488. package/dist/lib/mastra-db/fromCoreUserMessage.d.ts +3 -4
  489. package/dist/lib/mastra-db/fromCoreUserMessage.d.ts.map +1 -1
  490. package/dist/map-CDv4fbu4.js +12 -0
  491. package/dist/map-CDv4fbu4.js.map +1 -0
  492. package/dist/map-wjmL1y5O.cjs +17 -0
  493. package/dist/map-wjmL1y5O.cjs.map +1 -0
  494. package/dist/mastra-client-context-Bx_g84YB.js +50 -0
  495. package/dist/mastra-client-context-Bx_g84YB.js.map +1 -0
  496. package/dist/mastra-client-context-DzX3f0RF.cjs +61 -0
  497. package/dist/mastra-client-context-DzX3f0RF.cjs.map +1 -0
  498. package/dist/query-utils-CcrChYgz.cjs +174 -0
  499. package/dist/query-utils-CcrChYgz.cjs.map +1 -0
  500. package/dist/query-utils-D1NgFnWU.js +127 -0
  501. package/dist/query-utils-D1NgFnWU.js.map +1 -0
  502. package/dist/use-in-view-B6eJO9Zi.cjs +37 -0
  503. package/dist/use-in-view-B6eJO9Zi.cjs.map +1 -0
  504. package/dist/use-in-view-C9sYPGRm.js +32 -0
  505. package/dist/use-in-view-C9sYPGRm.js.map +1 -0
  506. package/dist/voice-BOtUdMi8.cjs +281 -0
  507. package/dist/voice-BOtUdMi8.cjs.map +1 -0
  508. package/dist/voice-DgirjEyH.js +264 -0
  509. package/dist/voice-DgirjEyH.js.map +1 -0
  510. package/package.json +32 -3
@@ -0,0 +1,86 @@
1
+ import { n as useMastraClient } from "../../mastra-client-context-Bx_g84YB.js";
2
+ import { n as playStreamWithWebAudio } from "../../voice-DgirjEyH.js";
3
+ import { useCallback, useEffect, useRef, useState } from "react";
4
+ //#region src/hooks/voice/use-read-aloud.ts
5
+ /**
6
+ * Read-aloud (text-to-speech) for assistant messages, replacing the assistant-ui
7
+ * speech adapters (`VoiceAttachmentAdapter` / `WebSpeechSynthesisAdapter`).
8
+ *
9
+ * Prefers the agent's configured voice provider when it exposes speakers,
10
+ * streaming the audio through Web Audio. Falls back to the browser
11
+ * `speechSynthesis` API otherwise.
12
+ */
13
+ const useReadAloud = (agentId, requestContext, options) => {
14
+ const onErrorRef = useRef(options?.onError);
15
+ onErrorRef.current = options?.onError;
16
+ const client = useMastraClient();
17
+ const [hasAgentVoice, setHasAgentVoice] = useState(false);
18
+ const [isSpeaking, setIsSpeaking] = useState(false);
19
+ const cleanupRef = useRef(null);
20
+ useEffect(() => {
21
+ let cancelled = false;
22
+ if (!agentId) {
23
+ setHasAgentVoice(false);
24
+ return () => {
25
+ cancelled = true;
26
+ };
27
+ }
28
+ client.getAgent(agentId).voice.getSpeakers(requestContext).then((speakers) => {
29
+ if (!cancelled) setHasAgentVoice(speakers.length > 0);
30
+ }).catch(() => {
31
+ if (!cancelled) setHasAgentVoice(false);
32
+ });
33
+ return () => {
34
+ cancelled = true;
35
+ };
36
+ }, [
37
+ agentId,
38
+ client,
39
+ requestContext
40
+ ]);
41
+ const stop = useCallback(() => {
42
+ cleanupRef.current?.();
43
+ cleanupRef.current = null;
44
+ if (typeof window !== "undefined" && window.speechSynthesis) window.speechSynthesis.cancel();
45
+ setIsSpeaking(false);
46
+ }, []);
47
+ const readAloud = useCallback(async (text) => {
48
+ if (!text) return;
49
+ stop();
50
+ setIsSpeaking(true);
51
+ if (agentId && hasAgentVoice) try {
52
+ const response = await client.getAgent(agentId).voice.speak(text);
53
+ if (!response.body) throw new Error("No audio stream returned from voice.speak()");
54
+ const cleanup = await playStreamWithWebAudio(response.body, () => setIsSpeaking(false));
55
+ cleanupRef.current = cleanup ?? null;
56
+ return;
57
+ } catch (error) {
58
+ setIsSpeaking(false);
59
+ onErrorRef.current?.(error);
60
+ return;
61
+ }
62
+ if (typeof window !== "undefined" && window.speechSynthesis) {
63
+ const utterance = new SpeechSynthesisUtterance(text);
64
+ utterance.onend = () => setIsSpeaking(false);
65
+ utterance.onerror = () => setIsSpeaking(false);
66
+ window.speechSynthesis.speak(utterance);
67
+ return;
68
+ }
69
+ setIsSpeaking(false);
70
+ }, [
71
+ agentId,
72
+ client,
73
+ hasAgentVoice,
74
+ stop
75
+ ]);
76
+ useEffect(() => () => stop(), [stop]);
77
+ return {
78
+ isSpeaking,
79
+ readAloud,
80
+ stop
81
+ };
82
+ };
83
+ //#endregion
84
+ export { useReadAloud };
85
+
86
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/voice/use-read-aloud.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\nimport { useMastraClient } from '../../mastra-client-context';\nimport { playStreamWithWebAudio } from '../../voice';\n\ntype ClientAgent = ReturnType<ReturnType<typeof useMastraClient>['getAgent']>;\ntype VoiceRequestContext = Parameters<ClientAgent['voice']['getSpeakers']>[0];\n\n/**\n * Read-aloud (text-to-speech) for assistant messages, replacing the assistant-ui\n * speech adapters (`VoiceAttachmentAdapter` / `WebSpeechSynthesisAdapter`).\n *\n * Prefers the agent's configured voice provider when it exposes speakers,\n * streaming the audio through Web Audio. Falls back to the browser\n * `speechSynthesis` API otherwise.\n */\nexport const useReadAloud = (\n agentId?: string,\n requestContext?: VoiceRequestContext,\n options?: { onError?: (error: unknown) => void },\n) => {\n const onErrorRef = useRef(options?.onError);\n onErrorRef.current = options?.onError;\n const client = useMastraClient();\n const [hasAgentVoice, setHasAgentVoice] = useState(false);\n const [isSpeaking, setIsSpeaking] = useState(false);\n const cleanupRef = useRef<(() => void) | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n if (!agentId) {\n setHasAgentVoice(false);\n return () => {\n cancelled = true;\n };\n }\n const agent = client.getAgent(agentId);\n void agent.voice\n .getSpeakers(requestContext)\n .then(speakers => {\n if (!cancelled) setHasAgentVoice(speakers.length > 0);\n })\n .catch(() => {\n if (!cancelled) setHasAgentVoice(false);\n });\n return () => {\n cancelled = true;\n };\n }, [agentId, client, requestContext]);\n\n const stop = useCallback(() => {\n cleanupRef.current?.();\n cleanupRef.current = null;\n if (typeof window !== 'undefined' && window.speechSynthesis) {\n window.speechSynthesis.cancel();\n }\n setIsSpeaking(false);\n }, []);\n\n const readAloud = useCallback(\n async (text: string) => {\n if (!text) return;\n stop();\n setIsSpeaking(true);\n\n if (agentId && hasAgentVoice) {\n try {\n const agent = client.getAgent(agentId);\n const response = await agent.voice.speak(text);\n if (!response.body) {\n throw new Error('No audio stream returned from voice.speak()');\n }\n const cleanup = await playStreamWithWebAudio(response.body, () => setIsSpeaking(false));\n cleanupRef.current = cleanup ?? null;\n return;\n } catch (error) {\n setIsSpeaking(false);\n onErrorRef.current?.(error);\n return;\n }\n }\n\n if (typeof window !== 'undefined' && window.speechSynthesis) {\n const utterance = new SpeechSynthesisUtterance(text);\n utterance.onend = () => setIsSpeaking(false);\n utterance.onerror = () => setIsSpeaking(false);\n window.speechSynthesis.speak(utterance);\n return;\n }\n\n setIsSpeaking(false);\n },\n [agentId, client, hasAgentVoice, stop],\n );\n\n useEffect(() => () => stop(), [stop]);\n\n return { isSpeaking, readAloud, stop };\n};\n"],"mappings":";;;;;;;;;;;;AAeA,MAAa,gBACX,SACA,gBACA,YACG;CACH,MAAM,aAAa,OAAO,SAAS,OAAO;CAC1C,WAAW,UAAU,SAAS;CAC9B,MAAM,SAAS,gBAAgB;CAC/B,MAAM,CAAC,eAAe,oBAAoB,SAAS,KAAK;CACxD,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAClD,MAAM,aAAa,OAA4B,IAAI;CAEnD,gBAAgB;EACd,IAAI,YAAY;EAChB,IAAI,CAAC,SAAS;GACZ,iBAAiB,KAAK;GACtB,aAAa;IACX,YAAY;GACd;EACF;EAEA,OADqB,SAAS,OACrB,CAAC,CAAC,MACR,YAAY,cAAc,CAAC,CAC3B,MAAK,aAAY;GAChB,IAAI,CAAC,WAAW,iBAAiB,SAAS,SAAS,CAAC;EACtD,CAAC,CAAC,CACD,YAAY;GACX,IAAI,CAAC,WAAW,iBAAiB,KAAK;EACxC,CAAC;EACH,aAAa;GACX,YAAY;EACd;CACF,GAAG;EAAC;EAAS;EAAQ;CAAc,CAAC;CAEpC,MAAM,OAAO,kBAAkB;EAC7B,WAAW,UAAU;EACrB,WAAW,UAAU;EACrB,IAAI,OAAO,WAAW,eAAe,OAAO,iBAC1C,OAAO,gBAAgB,OAAO;EAEhC,cAAc,KAAK;CACrB,GAAG,CAAC,CAAC;CAEL,MAAM,YAAY,YAChB,OAAO,SAAiB;EACtB,IAAI,CAAC,MAAM;EACX,KAAK;EACL,cAAc,IAAI;EAElB,IAAI,WAAW,eACb,IAAI;GAEF,MAAM,WAAW,MADH,OAAO,SAAS,OACH,CAAC,CAAC,MAAM,MAAM,IAAI;GAC7C,IAAI,CAAC,SAAS,MACZ,MAAM,IAAI,MAAM,6CAA6C;GAE/D,MAAM,UAAU,MAAM,uBAAuB,SAAS,YAAY,cAAc,KAAK,CAAC;GACtF,WAAW,UAAU,WAAW;GAChC;EACF,SAAS,OAAO;GACd,cAAc,KAAK;GACnB,WAAW,UAAU,KAAK;GAC1B;EACF;EAGF,IAAI,OAAO,WAAW,eAAe,OAAO,iBAAiB;GAC3D,MAAM,YAAY,IAAI,yBAAyB,IAAI;GACnD,UAAU,cAAc,cAAc,KAAK;GAC3C,UAAU,gBAAgB,cAAc,KAAK;GAC7C,OAAO,gBAAgB,MAAM,SAAS;GACtC;EACF;EAEA,cAAc,KAAK;CACrB,GACA;EAAC;EAAS;EAAQ;EAAe;CAAI,CACvC;CAEA,sBAAsB,KAAK,GAAG,CAAC,IAAI,CAAC;CAEpC,OAAO;EAAE;EAAY;EAAW;CAAK;AACvC"}
@@ -0,0 +1,20 @@
1
+ import { useMastraClient } from '../../mastra-client-context.js';
2
+ type ClientAgent = ReturnType<ReturnType<typeof useMastraClient>['getAgent']>;
3
+ type VoiceRequestContext = Parameters<ClientAgent['voice']['getSpeakers']>[0];
4
+ /**
5
+ * Read-aloud (text-to-speech) for assistant messages, replacing the assistant-ui
6
+ * speech adapters (`VoiceAttachmentAdapter` / `WebSpeechSynthesisAdapter`).
7
+ *
8
+ * Prefers the agent's configured voice provider when it exposes speakers,
9
+ * streaming the audio through Web Audio. Falls back to the browser
10
+ * `speechSynthesis` API otherwise.
11
+ */
12
+ export declare const useReadAloud: (agentId?: string, requestContext?: VoiceRequestContext, options?: {
13
+ onError?: (error: unknown) => void;
14
+ }) => {
15
+ isSpeaking: boolean;
16
+ readAloud: (text: string) => Promise<void>;
17
+ stop: () => void;
18
+ };
19
+ export {};
20
+ //# sourceMappingURL=use-read-aloud.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-read-aloud.d.ts","sourceRoot":"","sources":["../../../src/hooks/voice/use-read-aloud.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,KAAK,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAC9E,KAAK,mBAAmB,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,aACb,MAAM,mBACC,mBAAmB,YAC1B;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;CAAE;;sBAyCjC,MAAM;;CAsCtB,CAAC"}
@@ -0,0 +1,173 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_mastra_client_context = require("../../mastra-client-context-DzX3f0RF.cjs");
3
+ const require_hooks = require("../../hooks-DsDYaJ3T.cjs");
4
+ const require_use_in_view = require("../../use-in-view-B6eJO9Zi.cjs");
5
+ let _mastra_client_js = require("@mastra/client-js");
6
+ let react = require("react");
7
+ let _tanstack_react_query = require("@tanstack/react-query");
8
+ //#region src/hooks/workflows/use-workflows.ts
9
+ const useWorkflows = ({ requestContext, queryOptions } = {}) => {
10
+ const client = require_mastra_client_context.useMastraClient();
11
+ return (0, _tanstack_react_query.useQuery)({
12
+ queryKey: ["workflows", requestContext],
13
+ queryFn: async () => {
14
+ const workflows = await client.listWorkflows(requestContext);
15
+ return Object.fromEntries(Object.entries(workflows).filter(([_, workflow]) => !workflow.isProcessorWorkflow));
16
+ },
17
+ ...queryOptions
18
+ });
19
+ };
20
+ //#endregion
21
+ //#region src/hooks/workflows/use-workflow.ts
22
+ /**
23
+ * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
24
+ */
25
+ const useWorkflow = ({ workflowId, requestContext, queryOptions } = {}) => {
26
+ const client = require_mastra_client_context.useMastraClient();
27
+ return (0, _tanstack_react_query.useQuery)({
28
+ queryKey: ["workflow", workflowId],
29
+ queryFn: () => workflowId ? client.getWorkflow(workflowId).details(requestContext) : null,
30
+ retry: false,
31
+ refetchOnWindowFocus: false,
32
+ throwOnError: false,
33
+ ...queryOptions
34
+ });
35
+ };
36
+ //#endregion
37
+ //#region src/hooks/workflows/use-workflow-runs.ts
38
+ const PER_PAGE = 20;
39
+ function getWorkflowRunsNextPageParam(lastPage, _allPages, lastPageParam) {
40
+ if (lastPage.runs.length < 20) return;
41
+ return lastPageParam + 1;
42
+ }
43
+ function selectUniqueRuns(data) {
44
+ const seen = /* @__PURE__ */ new Set();
45
+ return data.pages.flatMap((page) => page.runs).filter((run) => {
46
+ if (seen.has(run.runId)) return false;
47
+ seen.add(run.runId);
48
+ return true;
49
+ });
50
+ }
51
+ /**
52
+ * `summary: true` asks the server to reduce each run snapshot to `{ status, timestamp }`,
53
+ * avoiding transfer of full snapshots when only list metadata is displayed.
54
+ */
55
+ const useWorkflowRuns = ({ workflowId, summary = false, queryOptions }) => {
56
+ const client = require_mastra_client_context.useMastraClient();
57
+ const { inView: isEndOfListInView, setRef: setEndOfListElement } = require_use_in_view.useInView();
58
+ const query = (0, _tanstack_react_query.useInfiniteQuery)({
59
+ queryKey: [
60
+ "workflow-runs",
61
+ workflowId,
62
+ { summary }
63
+ ],
64
+ queryFn: ({ pageParam }) => client.getWorkflow(workflowId).runs({
65
+ limit: 20,
66
+ offset: pageParam * 20,
67
+ ...summary ? { summary: true } : {}
68
+ }),
69
+ initialPageParam: 0,
70
+ getNextPageParam: getWorkflowRunsNextPageParam,
71
+ select: (data) => selectUniqueRuns(data),
72
+ retry: false,
73
+ refetchInterval: 5e3,
74
+ ...queryOptions
75
+ });
76
+ const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;
77
+ (0, react.useEffect)(() => {
78
+ if (isEndOfListInView && hasNextPage && !isFetchingNextPage) fetchNextPage();
79
+ }, [
80
+ isEndOfListInView,
81
+ hasNextPage,
82
+ isFetchingNextPage,
83
+ fetchNextPage
84
+ ]);
85
+ return {
86
+ ...query,
87
+ setEndOfListElement
88
+ };
89
+ };
90
+ const workflowRunQueryKey = (workflowId, runId) => [
91
+ "workflow-run",
92
+ workflowId,
93
+ runId
94
+ ];
95
+ /**
96
+ * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
97
+ */
98
+ const useWorkflowRun = ({ workflowId, runId, queryOptions }) => {
99
+ const client = require_mastra_client_context.useMastraClient();
100
+ return (0, _tanstack_react_query.useQuery)({
101
+ queryKey: workflowRunQueryKey(workflowId, runId),
102
+ queryFn: () => client.getWorkflow(workflowId).runById(runId),
103
+ gcTime: 0,
104
+ staleTime: 0,
105
+ ...queryOptions
106
+ });
107
+ };
108
+ const useDeleteWorkflowRun = ({ workflowId, queryOptions }) => {
109
+ const client = require_mastra_client_context.useMastraClient();
110
+ const queryClient = (0, _tanstack_react_query.useQueryClient)();
111
+ return (0, _tanstack_react_query.useMutation)({
112
+ mutationFn: ({ runId }) => client.getWorkflow(workflowId).deleteRunById(runId),
113
+ onSuccess: () => {
114
+ queryClient.invalidateQueries({ queryKey: ["workflow-runs", workflowId] });
115
+ },
116
+ ...queryOptions
117
+ });
118
+ };
119
+ //#endregion
120
+ //#region src/hooks/workflows/use-workflows-run-counts.ts
121
+ const RUN_COUNTS_REFETCH_INTERVAL_MS = 5e3;
122
+ const NO_COUNTS = {};
123
+ /** Older servers don't ship the endpoint — that (and only that) ends polling. */
124
+ function isRunCountsUnsupported(error) {
125
+ return error instanceof _mastra_client_js.MastraClientError && error.status === 404;
126
+ }
127
+ /**
128
+ * Poll cadence: keep polling through transient failures (a blip must not
129
+ * silence the counts forever), but stop entirely once the server has said the
130
+ * endpoint does not exist.
131
+ */
132
+ function runCountsRefetchInterval(error) {
133
+ return isRunCountsUnsupported(error) ? false : RUN_COUNTS_REFETCH_INTERVAL_MS;
134
+ }
135
+ /**
136
+ * Per-workflow counts of `running` (in-flight) and `suspended` (stopped at a
137
+ * suspend() point awaiting resume — the human-in-the-loop state) runs, keyed
138
+ * by the workflow registry key.
139
+ *
140
+ * One lightweight server request per poll — the server aggregates counts
141
+ * across workflows (GET /workflows/run-counts). Older servers 404 the first
142
+ * request; polling then stops and the list renders without count columns.
143
+ */
144
+ const useWorkflowsRunCounts = ({ requestContext, queryOptions } = {}) => {
145
+ const client = require_mastra_client_context.useMastraClient();
146
+ const { data } = (0, _tanstack_react_query.useQuery)({
147
+ queryKey: ["workflow-run-counts", requestContext],
148
+ queryFn: () => client.listWorkflowRunCounts(requestContext),
149
+ retry: false,
150
+ refetchInterval: (query) => runCountsRefetchInterval(query.state.error),
151
+ ...queryOptions
152
+ });
153
+ return data ?? NO_COUNTS;
154
+ };
155
+ //#endregion
156
+ exports.PER_PAGE = PER_PAGE;
157
+ exports.RUN_COUNTS_REFETCH_INTERVAL_MS = RUN_COUNTS_REFETCH_INTERVAL_MS;
158
+ exports.getWorkflowRunsNextPageParam = getWorkflowRunsNextPageParam;
159
+ exports.isRunCountsUnsupported = isRunCountsUnsupported;
160
+ exports.runCountsRefetchInterval = runCountsRefetchInterval;
161
+ exports.selectUniqueRuns = selectUniqueRuns;
162
+ exports.useCancelWorkflowRun = require_hooks.useCancelWorkflowRun;
163
+ exports.useCreateWorkflowRun = require_hooks.useCreateWorkflowRun;
164
+ exports.useDeleteWorkflowRun = useDeleteWorkflowRun;
165
+ exports.useStreamWorkflow = require_hooks.useStreamWorkflow;
166
+ exports.useWorkflow = useWorkflow;
167
+ exports.useWorkflowRun = useWorkflowRun;
168
+ exports.useWorkflowRuns = useWorkflowRuns;
169
+ exports.useWorkflows = useWorkflows;
170
+ exports.useWorkflowsRunCounts = useWorkflowsRunCounts;
171
+ exports.workflowRunQueryKey = workflowRunQueryKey;
172
+
173
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["useMastraClient","useMastraClient","useMastraClient","useInView","MastraClientError","useMastraClient"],"sources":["../../../src/hooks/workflows/use-workflows.ts","../../../src/hooks/workflows/use-workflow.ts","../../../src/hooks/workflows/use-workflow-runs.ts","../../../src/hooks/workflows/use-workflows-run-counts.ts"],"sourcesContent":["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 WorkflowsResponse = Awaited<ReturnType<MastraClient['listWorkflows']>>;\n\nexport const useWorkflows = <TData = WorkflowsResponse>({\n requestContext,\n queryOptions,\n}: {\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<WorkflowsResponse, TData>;\n} = {}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['workflows', requestContext],\n queryFn: async (): Promise<WorkflowsResponse> => {\n const workflows = await client.listWorkflows(requestContext);\n // Filter out processor workflows - they're shown on the Processors tab instead\n return Object.fromEntries(Object.entries(workflows).filter(([_, workflow]) => !workflow.isProcessorWorkflow));\n },\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 WorkflowResponse = Awaited<ReturnType<ReturnType<MastraClient['getWorkflow']>['details']>> | null;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useWorkflow = <TData = WorkflowResponse>({\n workflowId,\n requestContext,\n queryOptions,\n}: {\n workflowId?: string;\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<WorkflowResponse, TData>;\n} = {}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n return useQuery({\n queryKey: ['workflow', workflowId],\n queryFn: () => (workflowId ? client.getWorkflow(workflowId).details(requestContext) : null),\n retry: false,\n refetchOnWindowFocus: false,\n throwOnError: false,\n ...queryOptions,\n });\n};\n","import type { GetWorkflowRunByIdResponse, MastraClient } from '@mastra/client-js';\nimport type { QueryKey, UseInfiniteQueryResult, UseMutationResult, UseQueryResult } from '@tanstack/react-query';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraInfiniteQueryOptions, MastraMutationOptions, MastraQueryOptions } from '../shared/query-options';\nimport { useInView } from '../shared/use-in-view';\n\ntype WorkflowRuns = Awaited<ReturnType<ReturnType<MastraClient['getWorkflow']>['runs']>>;\n\nexport const PER_PAGE = 20;\n\nexport function getWorkflowRunsNextPageParam(lastPage: WorkflowRuns, _allPages: unknown, lastPageParam: number) {\n if (lastPage.runs.length < PER_PAGE) {\n return undefined;\n }\n return lastPageParam + 1;\n}\n\nexport function selectUniqueRuns(data: { pages: WorkflowRuns[] }) {\n const seen = new Set<string>();\n return data.pages\n .flatMap(page => page.runs)\n .filter(run => {\n if (seen.has(run.runId)) return false;\n seen.add(run.runId);\n return true;\n });\n}\n\n/**\n * `summary: true` asks the server to reduce each run snapshot to `{ status, timestamp }`,\n * avoiding transfer of full snapshots when only list metadata is displayed.\n */\nexport const useWorkflowRuns = <TData = ReturnType<typeof selectUniqueRuns>>({\n workflowId,\n summary = false,\n queryOptions,\n}: {\n workflowId: string;\n summary?: boolean;\n queryOptions?: MastraInfiniteQueryOptions<WorkflowRuns, TData, QueryKey, number>;\n}): UseInfiniteQueryResult<TData, Error> & {\n setEndOfListElement: ReturnType<typeof useInView>['setRef'];\n} => {\n const client = useMastraClient();\n const { inView: isEndOfListInView, setRef: setEndOfListElement } = useInView();\n const query = useInfiniteQuery({\n queryKey: ['workflow-runs', workflowId, { summary }],\n queryFn: ({ pageParam }) =>\n client\n .getWorkflow(workflowId)\n .runs({ limit: PER_PAGE, offset: pageParam * PER_PAGE, ...(summary ? { summary: true } : {}) }),\n initialPageParam: 0,\n getNextPageParam: getWorkflowRunsNextPageParam,\n select: data => selectUniqueRuns(data) as TData,\n retry: false,\n refetchInterval: 5000,\n ...queryOptions,\n });\n\n const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;\n\n useEffect(() => {\n if (isEndOfListInView && hasNextPage && !isFetchingNextPage) {\n void fetchNextPage();\n }\n }, [isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);\n\n return { ...query, setEndOfListElement };\n};\n\nexport const workflowRunQueryKey = (workflowId: string, runId: string) => ['workflow-run', workflowId, runId] as const;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useWorkflowRun = <TData = GetWorkflowRunByIdResponse>({\n workflowId,\n runId,\n queryOptions,\n}: {\n workflowId: string;\n runId: string;\n queryOptions?: MastraQueryOptions<GetWorkflowRunByIdResponse, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n return useQuery<GetWorkflowRunByIdResponse, Error, TData>({\n queryKey: workflowRunQueryKey(workflowId, runId),\n queryFn: () => client.getWorkflow(workflowId).runById(runId),\n gcTime: 0,\n staleTime: 0,\n ...queryOptions,\n });\n};\n\nexport const useDeleteWorkflowRun = ({\n workflowId,\n queryOptions,\n}: {\n workflowId: string;\n queryOptions?: MastraMutationOptions<unknown, { runId: string }>;\n}): UseMutationResult<unknown, Error, { runId: string }> => {\n const client = useMastraClient();\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ runId }: { runId: string }) => client.getWorkflow(workflowId).deleteRunById(runId),\n onSuccess: () => {\n void queryClient.invalidateQueries({ queryKey: ['workflow-runs', workflowId] });\n },\n ...queryOptions,\n });\n};\n","import type { ListWorkflowRunCountsResponse } from '@mastra/client-js';\nimport { MastraClientError } from '@mastra/client-js';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport const RUN_COUNTS_REFETCH_INTERVAL_MS = 5000;\n\nconst NO_COUNTS: ListWorkflowRunCountsResponse = {};\n\n/** Older servers don't ship the endpoint — that (and only that) ends polling. */\nexport function isRunCountsUnsupported(error: unknown): boolean {\n return error instanceof MastraClientError && error.status === 404;\n}\n\n/**\n * Poll cadence: keep polling through transient failures (a blip must not\n * silence the counts forever), but stop entirely once the server has said the\n * endpoint does not exist.\n */\nexport function runCountsRefetchInterval(error: unknown): number | false {\n return isRunCountsUnsupported(error) ? false : RUN_COUNTS_REFETCH_INTERVAL_MS;\n}\n\n/**\n * Per-workflow counts of `running` (in-flight) and `suspended` (stopped at a\n * suspend() point awaiting resume — the human-in-the-loop state) runs, keyed\n * by the workflow registry key.\n *\n * One lightweight server request per poll — the server aggregates counts\n * across workflows (GET /workflows/run-counts). Older servers 404 the first\n * request; polling then stops and the list renders without count columns.\n */\nexport const useWorkflowsRunCounts = ({\n requestContext,\n queryOptions,\n}: {\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<ListWorkflowRunCountsResponse>;\n} = {}): ListWorkflowRunCountsResponse => {\n const client = useMastraClient();\n\n const { data } = useQuery({\n queryKey: ['workflow-run-counts', requestContext],\n queryFn: () => client.listWorkflowRunCounts(requestContext),\n retry: false,\n refetchInterval: query => runCountsRefetchInterval(query.state.error),\n ...queryOptions,\n });\n\n return data ?? NO_COUNTS;\n};\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from '../../workflows/hooks.js';
2
+ export type * from '../../workflows/types.js';
3
+ export * from './use-workflows.js';
4
+ export * from './use-workflow.js';
5
+ export * from './use-workflow-runs.js';
6
+ export * from './use-workflows-run-counts.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflows/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,uBAAuB,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { n as useMastraClient } from "../../mastra-client-context-Bx_g84YB.js";
2
+ import { n as useCreateWorkflowRun, r as useStreamWorkflow, t as useCancelWorkflowRun } from "../../hooks-CjULNHpJ.js";
3
+ import { t as useInView } from "../../use-in-view-C9sYPGRm.js";
4
+ import { MastraClientError } from "@mastra/client-js";
5
+ import { useEffect } from "react";
6
+ import { useInfiniteQuery, useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
7
+ //#region src/hooks/workflows/use-workflows.ts
8
+ const useWorkflows = ({ requestContext, queryOptions } = {}) => {
9
+ const client = useMastraClient();
10
+ return useQuery({
11
+ queryKey: ["workflows", requestContext],
12
+ queryFn: async () => {
13
+ const workflows = await client.listWorkflows(requestContext);
14
+ return Object.fromEntries(Object.entries(workflows).filter(([_, workflow]) => !workflow.isProcessorWorkflow));
15
+ },
16
+ ...queryOptions
17
+ });
18
+ };
19
+ //#endregion
20
+ //#region src/hooks/workflows/use-workflow.ts
21
+ /**
22
+ * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
23
+ */
24
+ const useWorkflow = ({ workflowId, requestContext, queryOptions } = {}) => {
25
+ const client = useMastraClient();
26
+ return useQuery({
27
+ queryKey: ["workflow", workflowId],
28
+ queryFn: () => workflowId ? client.getWorkflow(workflowId).details(requestContext) : null,
29
+ retry: false,
30
+ refetchOnWindowFocus: false,
31
+ throwOnError: false,
32
+ ...queryOptions
33
+ });
34
+ };
35
+ //#endregion
36
+ //#region src/hooks/workflows/use-workflow-runs.ts
37
+ const PER_PAGE = 20;
38
+ function getWorkflowRunsNextPageParam(lastPage, _allPages, lastPageParam) {
39
+ if (lastPage.runs.length < 20) return;
40
+ return lastPageParam + 1;
41
+ }
42
+ function selectUniqueRuns(data) {
43
+ const seen = /* @__PURE__ */ new Set();
44
+ return data.pages.flatMap((page) => page.runs).filter((run) => {
45
+ if (seen.has(run.runId)) return false;
46
+ seen.add(run.runId);
47
+ return true;
48
+ });
49
+ }
50
+ /**
51
+ * `summary: true` asks the server to reduce each run snapshot to `{ status, timestamp }`,
52
+ * avoiding transfer of full snapshots when only list metadata is displayed.
53
+ */
54
+ const useWorkflowRuns = ({ workflowId, summary = false, queryOptions }) => {
55
+ const client = useMastraClient();
56
+ const { inView: isEndOfListInView, setRef: setEndOfListElement } = useInView();
57
+ const query = useInfiniteQuery({
58
+ queryKey: [
59
+ "workflow-runs",
60
+ workflowId,
61
+ { summary }
62
+ ],
63
+ queryFn: ({ pageParam }) => client.getWorkflow(workflowId).runs({
64
+ limit: 20,
65
+ offset: pageParam * 20,
66
+ ...summary ? { summary: true } : {}
67
+ }),
68
+ initialPageParam: 0,
69
+ getNextPageParam: getWorkflowRunsNextPageParam,
70
+ select: (data) => selectUniqueRuns(data),
71
+ retry: false,
72
+ refetchInterval: 5e3,
73
+ ...queryOptions
74
+ });
75
+ const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;
76
+ useEffect(() => {
77
+ if (isEndOfListInView && hasNextPage && !isFetchingNextPage) fetchNextPage();
78
+ }, [
79
+ isEndOfListInView,
80
+ hasNextPage,
81
+ isFetchingNextPage,
82
+ fetchNextPage
83
+ ]);
84
+ return {
85
+ ...query,
86
+ setEndOfListElement
87
+ };
88
+ };
89
+ const workflowRunQueryKey = (workflowId, runId) => [
90
+ "workflow-run",
91
+ workflowId,
92
+ runId
93
+ ];
94
+ /**
95
+ * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
96
+ */
97
+ const useWorkflowRun = ({ workflowId, runId, queryOptions }) => {
98
+ const client = useMastraClient();
99
+ return useQuery({
100
+ queryKey: workflowRunQueryKey(workflowId, runId),
101
+ queryFn: () => client.getWorkflow(workflowId).runById(runId),
102
+ gcTime: 0,
103
+ staleTime: 0,
104
+ ...queryOptions
105
+ });
106
+ };
107
+ const useDeleteWorkflowRun = ({ workflowId, queryOptions }) => {
108
+ const client = useMastraClient();
109
+ const queryClient = useQueryClient();
110
+ return useMutation({
111
+ mutationFn: ({ runId }) => client.getWorkflow(workflowId).deleteRunById(runId),
112
+ onSuccess: () => {
113
+ queryClient.invalidateQueries({ queryKey: ["workflow-runs", workflowId] });
114
+ },
115
+ ...queryOptions
116
+ });
117
+ };
118
+ //#endregion
119
+ //#region src/hooks/workflows/use-workflows-run-counts.ts
120
+ const RUN_COUNTS_REFETCH_INTERVAL_MS = 5e3;
121
+ const NO_COUNTS = {};
122
+ /** Older servers don't ship the endpoint — that (and only that) ends polling. */
123
+ function isRunCountsUnsupported(error) {
124
+ return error instanceof MastraClientError && error.status === 404;
125
+ }
126
+ /**
127
+ * Poll cadence: keep polling through transient failures (a blip must not
128
+ * silence the counts forever), but stop entirely once the server has said the
129
+ * endpoint does not exist.
130
+ */
131
+ function runCountsRefetchInterval(error) {
132
+ return isRunCountsUnsupported(error) ? false : RUN_COUNTS_REFETCH_INTERVAL_MS;
133
+ }
134
+ /**
135
+ * Per-workflow counts of `running` (in-flight) and `suspended` (stopped at a
136
+ * suspend() point awaiting resume — the human-in-the-loop state) runs, keyed
137
+ * by the workflow registry key.
138
+ *
139
+ * One lightweight server request per poll — the server aggregates counts
140
+ * across workflows (GET /workflows/run-counts). Older servers 404 the first
141
+ * request; polling then stops and the list renders without count columns.
142
+ */
143
+ const useWorkflowsRunCounts = ({ requestContext, queryOptions } = {}) => {
144
+ const client = useMastraClient();
145
+ const { data } = useQuery({
146
+ queryKey: ["workflow-run-counts", requestContext],
147
+ queryFn: () => client.listWorkflowRunCounts(requestContext),
148
+ retry: false,
149
+ refetchInterval: (query) => runCountsRefetchInterval(query.state.error),
150
+ ...queryOptions
151
+ });
152
+ return data ?? NO_COUNTS;
153
+ };
154
+ //#endregion
155
+ export { PER_PAGE, RUN_COUNTS_REFETCH_INTERVAL_MS, getWorkflowRunsNextPageParam, isRunCountsUnsupported, runCountsRefetchInterval, selectUniqueRuns, useCancelWorkflowRun, useCreateWorkflowRun, useDeleteWorkflowRun, useStreamWorkflow, useWorkflow, useWorkflowRun, useWorkflowRuns, useWorkflows, useWorkflowsRunCounts, workflowRunQueryKey };
156
+
157
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/hooks/workflows/use-workflows.ts","../../../src/hooks/workflows/use-workflow.ts","../../../src/hooks/workflows/use-workflow-runs.ts","../../../src/hooks/workflows/use-workflows-run-counts.ts"],"sourcesContent":["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 WorkflowsResponse = Awaited<ReturnType<MastraClient['listWorkflows']>>;\n\nexport const useWorkflows = <TData = WorkflowsResponse>({\n requestContext,\n queryOptions,\n}: {\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<WorkflowsResponse, TData>;\n} = {}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n\n return useQuery({\n queryKey: ['workflows', requestContext],\n queryFn: async (): Promise<WorkflowsResponse> => {\n const workflows = await client.listWorkflows(requestContext);\n // Filter out processor workflows - they're shown on the Processors tab instead\n return Object.fromEntries(Object.entries(workflows).filter(([_, workflow]) => !workflow.isProcessorWorkflow));\n },\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 WorkflowResponse = Awaited<ReturnType<ReturnType<MastraClient['getWorkflow']>['details']>> | null;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useWorkflow = <TData = WorkflowResponse>({\n workflowId,\n requestContext,\n queryOptions,\n}: {\n workflowId?: string;\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<WorkflowResponse, TData>;\n} = {}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n return useQuery({\n queryKey: ['workflow', workflowId],\n queryFn: () => (workflowId ? client.getWorkflow(workflowId).details(requestContext) : null),\n retry: false,\n refetchOnWindowFocus: false,\n throwOnError: false,\n ...queryOptions,\n });\n};\n","import type { GetWorkflowRunByIdResponse, MastraClient } from '@mastra/client-js';\nimport type { QueryKey, UseInfiniteQueryResult, UseMutationResult, UseQueryResult } from '@tanstack/react-query';\nimport { useInfiniteQuery, useMutation, useQuery, useQueryClient } from '@tanstack/react-query';\nimport { useEffect } from 'react';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraInfiniteQueryOptions, MastraMutationOptions, MastraQueryOptions } from '../shared/query-options';\nimport { useInView } from '../shared/use-in-view';\n\ntype WorkflowRuns = Awaited<ReturnType<ReturnType<MastraClient['getWorkflow']>['runs']>>;\n\nexport const PER_PAGE = 20;\n\nexport function getWorkflowRunsNextPageParam(lastPage: WorkflowRuns, _allPages: unknown, lastPageParam: number) {\n if (lastPage.runs.length < PER_PAGE) {\n return undefined;\n }\n return lastPageParam + 1;\n}\n\nexport function selectUniqueRuns(data: { pages: WorkflowRuns[] }) {\n const seen = new Set<string>();\n return data.pages\n .flatMap(page => page.runs)\n .filter(run => {\n if (seen.has(run.runId)) return false;\n seen.add(run.runId);\n return true;\n });\n}\n\n/**\n * `summary: true` asks the server to reduce each run snapshot to `{ status, timestamp }`,\n * avoiding transfer of full snapshots when only list metadata is displayed.\n */\nexport const useWorkflowRuns = <TData = ReturnType<typeof selectUniqueRuns>>({\n workflowId,\n summary = false,\n queryOptions,\n}: {\n workflowId: string;\n summary?: boolean;\n queryOptions?: MastraInfiniteQueryOptions<WorkflowRuns, TData, QueryKey, number>;\n}): UseInfiniteQueryResult<TData, Error> & {\n setEndOfListElement: ReturnType<typeof useInView>['setRef'];\n} => {\n const client = useMastraClient();\n const { inView: isEndOfListInView, setRef: setEndOfListElement } = useInView();\n const query = useInfiniteQuery({\n queryKey: ['workflow-runs', workflowId, { summary }],\n queryFn: ({ pageParam }) =>\n client\n .getWorkflow(workflowId)\n .runs({ limit: PER_PAGE, offset: pageParam * PER_PAGE, ...(summary ? { summary: true } : {}) }),\n initialPageParam: 0,\n getNextPageParam: getWorkflowRunsNextPageParam,\n select: data => selectUniqueRuns(data) as TData,\n retry: false,\n refetchInterval: 5000,\n ...queryOptions,\n });\n\n const { hasNextPage, isFetchingNextPage, fetchNextPage } = query;\n\n useEffect(() => {\n if (isEndOfListInView && hasNextPage && !isFetchingNextPage) {\n void fetchNextPage();\n }\n }, [isEndOfListInView, hasNextPage, isFetchingNextPage, fetchNextPage]);\n\n return { ...query, setEndOfListElement };\n};\n\nexport const workflowRunQueryKey = (workflowId: string, runId: string) => ['workflow-run', workflowId, runId] as const;\n\n/**\n * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.\n */\nexport const useWorkflowRun = <TData = GetWorkflowRunByIdResponse>({\n workflowId,\n runId,\n queryOptions,\n}: {\n workflowId: string;\n runId: string;\n queryOptions?: MastraQueryOptions<GetWorkflowRunByIdResponse, TData>;\n}): UseQueryResult<TData, Error> => {\n const client = useMastraClient();\n return useQuery<GetWorkflowRunByIdResponse, Error, TData>({\n queryKey: workflowRunQueryKey(workflowId, runId),\n queryFn: () => client.getWorkflow(workflowId).runById(runId),\n gcTime: 0,\n staleTime: 0,\n ...queryOptions,\n });\n};\n\nexport const useDeleteWorkflowRun = ({\n workflowId,\n queryOptions,\n}: {\n workflowId: string;\n queryOptions?: MastraMutationOptions<unknown, { runId: string }>;\n}): UseMutationResult<unknown, Error, { runId: string }> => {\n const client = useMastraClient();\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ runId }: { runId: string }) => client.getWorkflow(workflowId).deleteRunById(runId),\n onSuccess: () => {\n void queryClient.invalidateQueries({ queryKey: ['workflow-runs', workflowId] });\n },\n ...queryOptions,\n });\n};\n","import type { ListWorkflowRunCountsResponse } from '@mastra/client-js';\nimport { MastraClientError } from '@mastra/client-js';\nimport { useQuery } from '@tanstack/react-query';\nimport { useMastraClient } from '../../mastra-client-context';\nimport type { MastraQueryOptions } from '../shared/query-options';\n\nexport const RUN_COUNTS_REFETCH_INTERVAL_MS = 5000;\n\nconst NO_COUNTS: ListWorkflowRunCountsResponse = {};\n\n/** Older servers don't ship the endpoint — that (and only that) ends polling. */\nexport function isRunCountsUnsupported(error: unknown): boolean {\n return error instanceof MastraClientError && error.status === 404;\n}\n\n/**\n * Poll cadence: keep polling through transient failures (a blip must not\n * silence the counts forever), but stop entirely once the server has said the\n * endpoint does not exist.\n */\nexport function runCountsRefetchInterval(error: unknown): number | false {\n return isRunCountsUnsupported(error) ? false : RUN_COUNTS_REFETCH_INTERVAL_MS;\n}\n\n/**\n * Per-workflow counts of `running` (in-flight) and `suspended` (stopped at a\n * suspend() point awaiting resume — the human-in-the-loop state) runs, keyed\n * by the workflow registry key.\n *\n * One lightweight server request per poll — the server aggregates counts\n * across workflows (GET /workflows/run-counts). Older servers 404 the first\n * request; polling then stops and the list renders without count columns.\n */\nexport const useWorkflowsRunCounts = ({\n requestContext,\n queryOptions,\n}: {\n requestContext?: Record<string, any>;\n queryOptions?: MastraQueryOptions<ListWorkflowRunCountsResponse>;\n} = {}): ListWorkflowRunCountsResponse => {\n const client = useMastraClient();\n\n const { data } = useQuery({\n queryKey: ['workflow-run-counts', requestContext],\n queryFn: () => client.listWorkflowRunCounts(requestContext),\n retry: false,\n refetchInterval: query => runCountsRefetchInterval(query.state.error),\n ...queryOptions,\n });\n\n return data ?? NO_COUNTS;\n};\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import type { GetWorkflowRunByIdResponse, MastraClient } from '@mastra/client-js';
2
+ import type { QueryKey, UseInfiniteQueryResult, UseMutationResult, UseQueryResult } from '@tanstack/react-query';
3
+ import type { MastraInfiniteQueryOptions, MastraMutationOptions, MastraQueryOptions } from '../shared/query-options.js';
4
+ import { useInView } from '../shared/use-in-view.js';
5
+ type WorkflowRuns = Awaited<ReturnType<ReturnType<MastraClient['getWorkflow']>['runs']>>;
6
+ export declare const PER_PAGE = 20;
7
+ export declare function getWorkflowRunsNextPageParam(lastPage: WorkflowRuns, _allPages: unknown, lastPageParam: number): number | undefined;
8
+ export declare function selectUniqueRuns(data: {
9
+ pages: WorkflowRuns[];
10
+ }): (Omit<{
11
+ workflowName: string;
12
+ runId: string;
13
+ snapshot: {
14
+ [key: string]: unknown;
15
+ } | string;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ resourceId?: string | undefined;
19
+ }, "snapshot"> & {
20
+ snapshot: string | import("@mastra/core/workflows").WorkflowRunState;
21
+ })[];
22
+ /**
23
+ * `summary: true` asks the server to reduce each run snapshot to `{ status, timestamp }`,
24
+ * avoiding transfer of full snapshots when only list metadata is displayed.
25
+ */
26
+ export declare const useWorkflowRuns: <TData = ReturnType<typeof selectUniqueRuns>>({ workflowId, summary, queryOptions, }: {
27
+ workflowId: string;
28
+ summary?: boolean;
29
+ queryOptions?: MastraInfiniteQueryOptions<WorkflowRuns, TData, QueryKey, number>;
30
+ }) => UseInfiniteQueryResult<TData, Error> & {
31
+ setEndOfListElement: ReturnType<typeof useInView>['setRef'];
32
+ };
33
+ export declare const workflowRunQueryKey: (workflowId: string, runId: string) => readonly ['workflow-run', string, string];
34
+ /**
35
+ * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
36
+ */
37
+ export declare const useWorkflowRun: <TData = GetWorkflowRunByIdResponse>({ workflowId, runId, queryOptions, }: {
38
+ workflowId: string;
39
+ runId: string;
40
+ queryOptions?: MastraQueryOptions<GetWorkflowRunByIdResponse, TData>;
41
+ }) => UseQueryResult<TData, Error>;
42
+ export declare const useDeleteWorkflowRun: ({ workflowId, queryOptions, }: {
43
+ workflowId: string;
44
+ queryOptions?: MastraMutationOptions<unknown, {
45
+ runId: string;
46
+ }>;
47
+ }) => UseMutationResult<unknown, Error, {
48
+ runId: string;
49
+ }>;
50
+ export {};
51
+ //# sourceMappingURL=use-workflow-runs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-workflow-runs.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflows/use-workflow-runs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIjH,OAAO,KAAK,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEzF,eAAO,MAAM,QAAQ,KAAK,CAAC;AAE3B,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAK7G;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE;;;;;;;;;;;KAS/D;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,KAAK,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,0CAIxE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,0BAA0B,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;CAClF,KAAG,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG;IACzC,mBAAmB,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC;CA2B7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAAgB,MAAM,SAAS,MAAM,eAAM,cAAc,iBAA6B,CAAC;AAEvH;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,0BAA0B,wCAI9D;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,kBAAkB,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;CACtE,KAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAS9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,kCAG9B;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE,KAAG,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAUtD,CAAC"}
@@ -0,0 +1,14 @@
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 WorkflowResponse = Awaited<ReturnType<ReturnType<MastraClient['getWorkflow']>['details']>> | null;
5
+ /**
6
+ * Does not guard on empty ids; pass `queryOptions: { enabled }` to skip the fetch.
7
+ */
8
+ export declare const useWorkflow: <TData = WorkflowResponse>({ workflowId, requestContext, queryOptions, }?: {
9
+ workflowId?: string;
10
+ requestContext?: Record<string, any>;
11
+ queryOptions?: MastraQueryOptions<WorkflowResponse, TData>;
12
+ }) => UseQueryResult<TData, Error>;
13
+ export {};
14
+ //# sourceMappingURL=use-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-workflow.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflows/use-workflow.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,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,GAAG,gBAAgB,kDAIjD;IACD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;CAC5D,KAAQ,cAAc,CAAC,KAAK,EAAE,KAAK,CAUnC,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { ListWorkflowRunCountsResponse } from '@mastra/client-js';
2
+ import type { MastraQueryOptions } from '../shared/query-options.js';
3
+ export declare const RUN_COUNTS_REFETCH_INTERVAL_MS = 5000;
4
+ /** Older servers don't ship the endpoint — that (and only that) ends polling. */
5
+ export declare function isRunCountsUnsupported(error: unknown): boolean;
6
+ /**
7
+ * Poll cadence: keep polling through transient failures (a blip must not
8
+ * silence the counts forever), but stop entirely once the server has said the
9
+ * endpoint does not exist.
10
+ */
11
+ export declare function runCountsRefetchInterval(error: unknown): number | false;
12
+ /**
13
+ * Per-workflow counts of `running` (in-flight) and `suspended` (stopped at a
14
+ * suspend() point awaiting resume — the human-in-the-loop state) runs, keyed
15
+ * by the workflow registry key.
16
+ *
17
+ * One lightweight server request per poll — the server aggregates counts
18
+ * across workflows (GET /workflows/run-counts). Older servers 404 the first
19
+ * request; polling then stops and the list renders without count columns.
20
+ */
21
+ export declare const useWorkflowsRunCounts: ({ requestContext, queryOptions, }?: {
22
+ requestContext?: Record<string, any>;
23
+ queryOptions?: MastraQueryOptions<ListWorkflowRunCountsResponse>;
24
+ }) => ListWorkflowRunCountsResponse;
25
+ //# sourceMappingURL=use-workflows-run-counts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-workflows-run-counts.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflows/use-workflows-run-counts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAIvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAInD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAEvE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,uCAG/B;IACD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC,6BAA6B,CAAC,CAAC;CAClE,KAAQ,6BAYR,CAAC"}
@@ -0,0 +1,10 @@
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 WorkflowsResponse = Awaited<ReturnType<MastraClient['listWorkflows']>>;
5
+ export declare const useWorkflows: <TData = WorkflowsResponse>({ requestContext, queryOptions, }?: {
6
+ requestContext?: Record<string, any>;
7
+ queryOptions?: MastraQueryOptions<WorkflowsResponse, TData>;
8
+ }) => UseQueryResult<TData, Error>;
9
+ export {};
10
+ //# sourceMappingURL=use-workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-workflows.d.ts","sourceRoot":"","sources":["../../../src/hooks/workflows/use-workflows.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,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAE5E,eAAO,MAAM,YAAY,GAAI,KAAK,GAAG,iBAAiB,sCAGnD;IACD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;CAC7D,KAAQ,cAAc,CAAC,KAAK,EAAE,KAAK,CAYnC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Checks if a method exists on an object and is callable.
3
+ */
4
+ export declare function hasMethod<T>(obj: T, method: string): boolean;
5
+ //# sourceMappingURL=client-utils.d.ts.map