@mastra/playground-ui 41.1.0-alpha.2 → 42.0.0-alpha.13

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 (275) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/dist/Card-BjFMX3pD.js +96 -0
  3. package/dist/Card-BjFMX3pD.js.map +1 -0
  4. package/dist/Card-WU2qkiHB.cjs +123 -0
  5. package/dist/Card-WU2qkiHB.cjs.map +1 -0
  6. package/dist/{Txt-p33XTnu8.js → Txt-Df42XG5p.js} +3 -3
  7. package/dist/Txt-Df42XG5p.js.map +1 -0
  8. package/dist/{Txt-BT8_EkuZ.cjs → Txt-I5lK8zy7.cjs} +3 -3
  9. package/dist/Txt-I5lK8zy7.cjs.map +1 -0
  10. package/dist/{buttons-group-b6an6uao.js → buttons-group-DJh4wnMs.js} +4 -4
  11. package/dist/{buttons-group-b6an6uao.js.map → buttons-group-DJh4wnMs.js.map} +1 -1
  12. package/dist/{buttons-group-C0fJastT.cjs → buttons-group-Dw8Wu4sj.cjs} +4 -4
  13. package/dist/{buttons-group-C0fJastT.cjs.map → buttons-group-Dw8Wu4sj.cjs.map} +1 -1
  14. package/dist/components/Avatar.cjs.js +1 -1
  15. package/dist/components/Avatar.es.js +1 -1
  16. package/dist/components/Breadcrumb.cjs.js +2 -2
  17. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  18. package/dist/components/Breadcrumb.es.js +2 -2
  19. package/dist/components/Breadcrumb.es.js.map +1 -1
  20. package/dist/components/ButtonsGroup.cjs.js +1 -1
  21. package/dist/components/ButtonsGroup.es.js +1 -1
  22. package/dist/components/Card.cjs.js +8 -84
  23. package/dist/components/Card.cjs.js.map +1 -1
  24. package/dist/components/Card.es.js +1 -63
  25. package/dist/components/Card.es.js.map +1 -1
  26. package/dist/components/ClampedText.cjs.js +51 -0
  27. package/dist/components/ClampedText.cjs.js.map +1 -0
  28. package/dist/components/ClampedText.d.ts +2 -0
  29. package/dist/components/ClampedText.es.js +47 -0
  30. package/dist/components/ClampedText.es.js.map +1 -0
  31. package/dist/components/Composer.cjs.js +2 -2
  32. package/dist/components/Composer.cjs.js.map +1 -1
  33. package/dist/components/Composer.es.js +2 -2
  34. package/dist/components/Composer.es.js.map +1 -1
  35. package/dist/components/ContentBlocks.cjs.js.map +1 -1
  36. package/dist/components/ContentBlocks.es.js.map +1 -1
  37. package/dist/components/DataCodeSection.cjs.js +1 -1
  38. package/dist/components/DataCodeSection.es.js +1 -1
  39. package/dist/components/DataDetailsPanel.cjs.js +4 -4
  40. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  41. package/dist/components/DataDetailsPanel.es.js +4 -4
  42. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  43. package/dist/components/DataPanel.cjs.js +1 -1
  44. package/dist/components/DataPanel.es.js +1 -1
  45. package/dist/components/DateTimePicker.cjs.js +1 -1
  46. package/dist/components/DateTimePicker.es.js +1 -1
  47. package/dist/components/Drawer.cjs.js +1 -1
  48. package/dist/components/Drawer.es.js +1 -1
  49. package/dist/components/Entity.cjs.js +1 -1
  50. package/dist/components/Entity.es.js +1 -1
  51. package/dist/components/EntityHeader.cjs.js +1 -1
  52. package/dist/components/EntityHeader.es.js +1 -1
  53. package/dist/components/Entry.cjs.js +1 -1
  54. package/dist/components/Entry.es.js +1 -1
  55. package/dist/components/EnvironmentVariablesEditor.cjs.js +2 -2
  56. package/dist/components/EnvironmentVariablesEditor.es.js +2 -2
  57. package/dist/components/FormFieldBlocks.cjs.js +4 -4
  58. package/dist/components/FormFieldBlocks.es.js +4 -4
  59. package/dist/components/Header.cjs.js +1 -1
  60. package/dist/components/Header.es.js +1 -1
  61. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  62. package/dist/components/JSONSchemaForm.es.js +2 -2
  63. package/dist/components/ListSearch.cjs.js +1 -1
  64. package/dist/components/ListSearch.es.js +1 -1
  65. package/dist/components/MainContent.cjs.js +3 -3
  66. package/dist/components/MainContent.cjs.js.map +1 -1
  67. package/dist/components/MainContent.es.js +3 -3
  68. package/dist/components/MainContent.es.js.map +1 -1
  69. package/dist/components/MainSidebar.cjs.js +1 -1
  70. package/dist/components/MainSidebar.es.js +1 -1
  71. package/dist/components/PrevNextNav.cjs.js +1 -1
  72. package/dist/components/PrevNextNav.es.js +1 -1
  73. package/dist/components/PropertyFilter.cjs.js +1 -1
  74. package/dist/components/PropertyFilter.es.js +2 -2
  75. package/dist/components/SankeyChart.cjs.js +68 -75
  76. package/dist/components/SankeyChart.cjs.js.map +1 -1
  77. package/dist/components/SankeyChart.es.js +60 -71
  78. package/dist/components/SankeyChart.es.js.map +1 -1
  79. package/dist/components/SideDialog.cjs.js +2 -2
  80. package/dist/components/SideDialog.es.js +2 -2
  81. package/dist/components/Table.cjs.js +1 -1
  82. package/dist/components/Table.es.js +1 -1
  83. package/dist/components/ThreadList.cjs.js +1 -1
  84. package/dist/components/ThreadList.es.js +1 -1
  85. package/dist/components/Toaster.cjs.js +1 -0
  86. package/dist/components/Toaster.cjs.js.map +1 -1
  87. package/dist/components/Toaster.es.js +1 -1
  88. package/dist/components/Truncate.cjs.js +1 -1
  89. package/dist/components/Truncate.es.js +1 -1
  90. package/dist/components/Txt.cjs.js +1 -1
  91. package/dist/components/Txt.es.js +1 -1
  92. package/dist/components/ai/ask-user.cjs.js +147 -0
  93. package/dist/components/ai/ask-user.cjs.js.map +1 -0
  94. package/dist/components/ai/ask-user.d.ts +2 -0
  95. package/dist/components/ai/ask-user.es.js +136 -0
  96. package/dist/components/ai/ask-user.es.js.map +1 -0
  97. package/dist/components/ai/plan.cjs.js +1 -1
  98. package/dist/components/ai/plan.es.js +1 -1
  99. package/dist/components/ai/task-list.cjs.js +90 -0
  100. package/dist/components/ai/task-list.cjs.js.map +1 -0
  101. package/dist/components/ai/task-list.d.ts +2 -0
  102. package/dist/components/ai/task-list.es.js +80 -0
  103. package/dist/components/ai/task-list.es.js.map +1 -0
  104. package/dist/{data-code-section-Crs5wpnX.js → data-code-section-BjqDCzy3.js} +3 -3
  105. package/dist/{data-code-section-Crs5wpnX.js.map → data-code-section-BjqDCzy3.js.map} +1 -1
  106. package/dist/{data-code-section-DYy_n9I1.cjs → data-code-section-D0BwpqvV.cjs} +3 -3
  107. package/dist/{data-code-section-DYy_n9I1.cjs.map → data-code-section-D0BwpqvV.cjs.map} +1 -1
  108. package/dist/{data-panel-Otc4qdKL.js → data-panel-BGpCzY5K.js} +3 -3
  109. package/dist/{data-panel-Otc4qdKL.js.map → data-panel-BGpCzY5K.js.map} +1 -1
  110. package/dist/{data-panel-CAbxKoPF.cjs → data-panel-CsonAnlK.cjs} +3 -3
  111. package/dist/{data-panel-CAbxKoPF.cjs.map → data-panel-CsonAnlK.cjs.map} +1 -1
  112. package/dist/domains/logs/components/log-details-view.cjs.js +1 -1
  113. package/dist/domains/logs/components/log-details-view.es.js +1 -1
  114. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  115. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  116. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  117. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  118. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  119. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  120. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  121. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  122. package/dist/domains/traces/components/traces-toolbar.cjs.js +1 -1
  123. package/dist/domains/traces/components/traces-toolbar.es.js +1 -1
  124. package/dist/{drawer-DtEZQBXj.cjs → drawer-DvuUmhic.cjs} +3 -3
  125. package/dist/{drawer-DtEZQBXj.cjs.map → drawer-DvuUmhic.cjs.map} +1 -1
  126. package/dist/{drawer-Djerm1Lo.js → drawer-Dyx25o_o.js} +3 -3
  127. package/dist/{drawer-Djerm1Lo.js.map → drawer-Dyx25o_o.js.map} +1 -1
  128. package/dist/ee/signals/components/signals-empty-state.cjs.js +152 -0
  129. package/dist/ee/signals/components/signals-empty-state.cjs.js.map +1 -0
  130. package/dist/ee/signals/components/signals-empty-state.d.ts +2 -0
  131. package/dist/ee/signals/components/signals-empty-state.es.js +148 -0
  132. package/dist/ee/signals/components/signals-empty-state.es.js.map +1 -0
  133. package/dist/ee/signals/components/signals-overview-page.cjs.js +3 -201
  134. package/dist/ee/signals/components/signals-overview-page.cjs.js.map +1 -1
  135. package/dist/ee/signals/components/signals-overview-page.es.js +5 -201
  136. package/dist/ee/signals/components/signals-overview-page.es.js.map +1 -1
  137. package/dist/ee/signals/components.cjs.js +0 -10
  138. package/dist/ee/signals/components.cjs.js.map +1 -1
  139. package/dist/ee/signals/components.es.js +1 -3
  140. package/dist/ee/signals/components.es.js.map +1 -1
  141. package/dist/ee/signals/signal-colors.cjs.js +28 -0
  142. package/dist/ee/signals/signal-colors.cjs.js.map +1 -0
  143. package/dist/ee/signals/signal-colors.d.ts +2 -0
  144. package/dist/ee/signals/signal-colors.es.js +23 -0
  145. package/dist/ee/signals/signal-colors.es.js.map +1 -0
  146. package/dist/ee/signals.cjs.js +3 -27
  147. package/dist/ee/signals.cjs.js.map +1 -1
  148. package/dist/ee/signals.es.js +2 -7
  149. package/dist/ee/signals.es.js.map +1 -1
  150. package/dist/{field-block-CC_EYPWe.js → field-block-CBdMcT-i.js} +2 -2
  151. package/dist/{field-block-CC_EYPWe.js.map → field-block-CBdMcT-i.js.map} +1 -1
  152. package/dist/{field-block-Dx-fDIP9.cjs → field-block-CEbnWKc0.cjs} +2 -2
  153. package/dist/{field-block-Dx-fDIP9.cjs.map → field-block-CEbnWKc0.cjs.map} +1 -1
  154. package/dist/hooks/use-is-clamped.cjs.js +36 -0
  155. package/dist/hooks/use-is-clamped.cjs.js.map +1 -0
  156. package/dist/hooks/use-is-clamped.d.ts +2 -0
  157. package/dist/hooks/use-is-clamped.es.js +32 -0
  158. package/dist/hooks/use-is-clamped.es.js.map +1 -0
  159. package/dist/primitives/portal-container.cjs.js.map +1 -1
  160. package/dist/primitives/portal-container.es.js.map +1 -1
  161. package/dist/{property-filter-applied-Ca0UdU5P.js → property-filter-applied-Bs1Ck691.js} +2 -2
  162. package/dist/{property-filter-applied-Ca0UdU5P.js.map → property-filter-applied-Bs1Ck691.js.map} +1 -1
  163. package/dist/{property-filter-applied-BYKTDczo.cjs → property-filter-applied-DgmkZVbl.cjs} +2 -2
  164. package/dist/{property-filter-applied-BYKTDczo.cjs.map → property-filter-applied-DgmkZVbl.cjs.map} +1 -1
  165. package/dist/resize/panel-drawer.cjs.js +1 -1
  166. package/dist/resize/panel-drawer.es.js +1 -1
  167. package/dist/sankeyColor-CQ5nkgtL.js +48 -0
  168. package/dist/sankeyColor-CQ5nkgtL.js.map +1 -0
  169. package/dist/sankeyColor-DONd5cg9.cjs +53 -0
  170. package/dist/sankeyColor-DONd5cg9.cjs.map +1 -0
  171. package/dist/{search-field-block-e9qthuwY.js → search-field-block-CMoQ9fjl.js} +4 -3
  172. package/dist/search-field-block-CMoQ9fjl.js.map +1 -0
  173. package/dist/{search-field-block-C4njnmUx.cjs → search-field-block-DmqZsrrI.cjs} +4 -3
  174. package/dist/search-field-block-DmqZsrrI.cjs.map +1 -0
  175. package/dist/{select-field-block-dq1ZmZVb.cjs → select-field-block-BI_NZs2R.cjs} +2 -2
  176. package/dist/{select-field-block-dq1ZmZVb.cjs.map → select-field-block-BI_NZs2R.cjs.map} +1 -1
  177. package/dist/{select-field-block-BWuqWh4k.js → select-field-block-BSlngEHK.js} +2 -2
  178. package/dist/{select-field-block-BWuqWh4k.js.map → select-field-block-BSlngEHK.js.map} +1 -1
  179. package/dist/signals-empty-state.css +54 -0
  180. package/dist/src/ds/components/Card/Card.d.ts +15 -2
  181. package/dist/src/ds/components/Card/index.d.ts +2 -2
  182. package/dist/src/ds/components/ClampedText/clamped-text.d.ts +20 -0
  183. package/dist/src/ds/components/ClampedText/clamped-text.stories.d.ts +8 -0
  184. package/dist/src/ds/components/ClampedText/index.d.ts +1 -0
  185. package/dist/src/ds/components/Composer/composer.d.ts +5 -1
  186. package/dist/src/ds/components/Composer/index.d.ts +1 -1
  187. package/dist/src/ds/components/SankeyChart/index.d.ts +2 -1
  188. package/dist/src/ds/components/SankeyChart/sankey-chart-utils.d.ts +2 -1
  189. package/dist/src/ds/components/SankeyChart/sankey-chart.d.ts +4 -2
  190. package/dist/src/ds/components/SankeyChart/sankey-context.d.ts +3 -1
  191. package/dist/src/ds/components/Toaster/index.d.ts +1 -1
  192. package/dist/src/ds/components/Txt/Txt.d.ts +3 -2
  193. package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +42 -0
  194. package/dist/src/ds/components/ai/ask-user/ask-user.stories.d.ts +11 -0
  195. package/dist/src/ds/components/ai/ask-user/index.d.ts +1 -0
  196. package/dist/src/ds/components/ai/task-list/index.d.ts +1 -0
  197. package/dist/src/ds/components/ai/task-list/task-list.d.ts +31 -0
  198. package/dist/src/ds/components/ai/task-list/task-list.stories.d.ts +9 -0
  199. package/dist/src/ee/signals/components/index.d.ts +0 -2
  200. package/dist/src/ee/signals/components/signals-empty-state.d.ts +7 -0
  201. package/dist/src/ee/signals/components/signals-overview-page.d.ts +2 -22
  202. package/dist/src/ee/signals/index.d.ts +1 -4
  203. package/dist/src/ee/signals/signal-colors.d.ts +7 -0
  204. package/dist/src/hooks/use-is-clamped.d.ts +11 -0
  205. package/dist/style.css +289 -40
  206. package/dist/{text-field-block-CpKq1NCV.cjs → text-field-block-BUvxjW9m.cjs} +2 -2
  207. package/dist/{text-field-block-CpKq1NCV.cjs.map → text-field-block-BUvxjW9m.cjs.map} +1 -1
  208. package/dist/{text-field-block-CrFqgdKx.js → text-field-block-DxtR1Ft4.js} +2 -2
  209. package/dist/{text-field-block-CrFqgdKx.js.map → text-field-block-DxtR1Ft4.js.map} +1 -1
  210. package/package.json +10 -10
  211. package/theme.css +1 -0
  212. package/dist/Txt-BT8_EkuZ.cjs.map +0 -1
  213. package/dist/Txt-p33XTnu8.js.map +0 -1
  214. package/dist/ee/signals/components/signal-details-page.cjs.js +0 -288
  215. package/dist/ee/signals/components/signal-details-page.cjs.js.map +0 -1
  216. package/dist/ee/signals/components/signal-details-page.d.ts +0 -2
  217. package/dist/ee/signals/components/signal-details-page.es.js +0 -280
  218. package/dist/ee/signals/components/signal-details-page.es.js.map +0 -1
  219. package/dist/ee/signals/components/signals-entity-filter.cjs.js +0 -27
  220. package/dist/ee/signals/components/signals-entity-filter.cjs.js.map +0 -1
  221. package/dist/ee/signals/components/signals-entity-filter.d.ts +0 -2
  222. package/dist/ee/signals/components/signals-entity-filter.es.js +0 -23
  223. package/dist/ee/signals/components/signals-entity-filter.es.js.map +0 -1
  224. package/dist/ee/signals/hooks/use-entity-learning-config.cjs.js +0 -35
  225. package/dist/ee/signals/hooks/use-entity-learning-config.cjs.js.map +0 -1
  226. package/dist/ee/signals/hooks/use-entity-learning-config.d.ts +0 -2
  227. package/dist/ee/signals/hooks/use-entity-learning-config.es.js +0 -31
  228. package/dist/ee/signals/hooks/use-entity-learning-config.es.js.map +0 -1
  229. package/dist/ee/signals/hooks/use-entity-learning.cjs.js +0 -96
  230. package/dist/ee/signals/hooks/use-entity-learning.cjs.js.map +0 -1
  231. package/dist/ee/signals/hooks/use-entity-learning.d.ts +0 -2
  232. package/dist/ee/signals/hooks/use-entity-learning.es.js +0 -84
  233. package/dist/ee/signals/hooks/use-entity-learning.es.js.map +0 -1
  234. package/dist/ee/signals/hooks.cjs.js +0 -20
  235. package/dist/ee/signals/hooks.cjs.js.map +0 -1
  236. package/dist/ee/signals/hooks.d.ts +0 -2
  237. package/dist/ee/signals/hooks.es.js +0 -3
  238. package/dist/ee/signals/hooks.es.js.map +0 -1
  239. package/dist/ee/signals/services/entity-learning-service.cjs.js +0 -88
  240. package/dist/ee/signals/services/entity-learning-service.cjs.js.map +0 -1
  241. package/dist/ee/signals/services/entity-learning-service.d.ts +0 -2
  242. package/dist/ee/signals/services/entity-learning-service.es.js +0 -84
  243. package/dist/ee/signals/services/entity-learning-service.es.js.map +0 -1
  244. package/dist/ee/signals/services/entity-learning-types.cjs.js +0 -3
  245. package/dist/ee/signals/services/entity-learning-types.cjs.js.map +0 -1
  246. package/dist/ee/signals/services/entity-learning-types.d.ts +0 -1
  247. package/dist/ee/signals/services/entity-learning-types.es.js +0 -2
  248. package/dist/ee/signals/services/entity-learning-types.es.js.map +0 -1
  249. package/dist/ee/signals/services.cjs.js +0 -10
  250. package/dist/ee/signals/services.cjs.js.map +0 -1
  251. package/dist/ee/signals/services.d.ts +0 -2
  252. package/dist/ee/signals/services.es.js +0 -2
  253. package/dist/ee/signals/services.es.js.map +0 -1
  254. package/dist/ee/signals/signals-data.cjs.js +0 -53
  255. package/dist/ee/signals/signals-data.cjs.js.map +0 -1
  256. package/dist/ee/signals/signals-data.d.ts +0 -2
  257. package/dist/ee/signals/signals-data.es.js +0 -48
  258. package/dist/ee/signals/signals-data.es.js.map +0 -1
  259. package/dist/ee/signals/types.cjs.js +0 -3
  260. package/dist/ee/signals/types.cjs.js.map +0 -1
  261. package/dist/ee/signals/types.d.ts +0 -1
  262. package/dist/ee/signals/types.es.js +0 -2
  263. package/dist/ee/signals/types.es.js.map +0 -1
  264. package/dist/search-field-block-C4njnmUx.cjs.map +0 -1
  265. package/dist/search-field-block-e9qthuwY.js.map +0 -1
  266. package/dist/src/ee/signals/components/signal-details-page.d.ts +0 -40
  267. package/dist/src/ee/signals/components/signals-entity-filter.d.ts +0 -13
  268. package/dist/src/ee/signals/hooks/index.d.ts +0 -2
  269. package/dist/src/ee/signals/hooks/use-entity-learning-config.d.ts +0 -14
  270. package/dist/src/ee/signals/hooks/use-entity-learning.d.ts +0 -24
  271. package/dist/src/ee/signals/services/entity-learning-service.d.ts +0 -43
  272. package/dist/src/ee/signals/services/entity-learning-types.d.ts +0 -123
  273. package/dist/src/ee/signals/services/index.d.ts +0 -2
  274. package/dist/src/ee/signals/signals-data.d.ts +0 -10
  275. package/dist/src/ee/signals/types.d.ts +0 -15
@@ -1,84 +0,0 @@
1
- import { useQuery, skipToken } from '@tanstack/react-query';
2
- import { useEntityLearningConfig } from './use-entity-learning-config.es.js';
3
-
4
- const KEY = "entity-learning";
5
- function useEntities() {
6
- const { service, isConfigured } = useEntityLearningConfig();
7
- return useQuery({
8
- queryKey: [KEY, "entities"],
9
- queryFn: isConfigured && service ? () => service.getEntities() : skipToken,
10
- select: (data) => data.entities,
11
- retry: false
12
- });
13
- }
14
- function useEntityRuns(entityId, signalName) {
15
- const { service } = useEntityLearningConfig();
16
- return useQuery({
17
- queryKey: [KEY, "runs", entityId, signalName],
18
- queryFn: service && entityId && signalName ? () => service.getEntityRuns(entityId, signalName) : skipToken,
19
- select: (data) => data.runs,
20
- retry: false
21
- });
22
- }
23
- function useEntityRun(entityId, runId, signalName) {
24
- const { service } = useEntityLearningConfig();
25
- return useQuery({
26
- queryKey: [KEY, "run", entityId, runId, signalName],
27
- queryFn: service && entityId && runId && signalName ? () => service.getEntityRun(entityId, runId, signalName) : skipToken,
28
- select: (data) => data.run,
29
- retry: false
30
- });
31
- }
32
- function useEntityLearning(entityId, signalName, runId) {
33
- const { service } = useEntityLearningConfig();
34
- return useQuery({
35
- queryKey: [KEY, "learning", entityId, signalName, runId ?? null],
36
- queryFn: service && entityId && signalName ? () => service.getEntityLearning(entityId, signalName, runId) : skipToken,
37
- select: (data) => data.learning,
38
- retry: false
39
- });
40
- }
41
- function useEntityTopics(entityId, signalName, runId) {
42
- const { service } = useEntityLearningConfig();
43
- return useQuery({
44
- queryKey: [KEY, "topics", entityId, signalName, runId ?? "latest"],
45
- queryFn: service && entityId && signalName ? () => service.getEntityTopics(entityId, signalName, runId) : skipToken,
46
- retry: false
47
- });
48
- }
49
- function useEntityTopic(entityId, topicId, signalName, runId) {
50
- const { service } = useEntityLearningConfig();
51
- return useQuery({
52
- queryKey: [KEY, "topic", entityId, topicId, signalName, runId],
53
- queryFn: service && entityId && topicId && signalName && runId ? () => service.getEntityTopic(entityId, topicId, signalName, runId) : skipToken,
54
- select: (data) => data.topic,
55
- retry: false
56
- });
57
- }
58
- function useEntityTopicExamples(entityId, topicId, params) {
59
- const { service } = useEntityLearningConfig();
60
- return useQuery({
61
- queryKey: [KEY, "topic-examples", entityId, topicId, params?.signalName, params?.runId, params?.limit ?? null],
62
- queryFn: service && entityId && topicId && params?.signalName && params?.runId ? () => service.getEntityTopicExamples(entityId, topicId, params) : skipToken,
63
- retry: false
64
- });
65
- }
66
- function useEntityOutliers(entityId, signalName, runId) {
67
- const { service } = useEntityLearningConfig();
68
- return useQuery({
69
- queryKey: [KEY, "outliers", entityId, signalName, runId],
70
- queryFn: service && entityId && signalName && runId ? () => service.getEntityOutliers(entityId, signalName, runId) : skipToken,
71
- retry: false
72
- });
73
- }
74
- function useEntityOutlierExamples(entityId, params) {
75
- const { service } = useEntityLearningConfig();
76
- return useQuery({
77
- queryKey: [KEY, "outlier-examples", entityId, params?.signalName, params?.runId, params?.limit ?? null],
78
- queryFn: service && entityId && params?.signalName && params?.runId ? () => service.getEntityOutlierExamples(entityId, params) : skipToken,
79
- retry: false
80
- });
81
- }
82
-
83
- export { useEntities, useEntityLearning, useEntityOutlierExamples, useEntityOutliers, useEntityRun, useEntityRuns, useEntityTopic, useEntityTopicExamples, useEntityTopics };
84
- //# sourceMappingURL=use-entity-learning.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-entity-learning.es.js","sources":["../../../../src/ee/signals/hooks/use-entity-learning.ts"],"sourcesContent":["import { skipToken, useQuery } from '@tanstack/react-query';\nimport type { EntityLearningTopicExamplesParams, EntityLearningOutlierExamplesParams } from '../services';\nimport { useEntityLearningConfig } from './use-entity-learning-config';\n\nconst KEY = 'entity-learning';\n\n/** GET /entity-learning/entities */\nexport function useEntities() {\n const { service, isConfigured } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'entities'],\n queryFn: isConfigured && service ? () => service.getEntities() : skipToken,\n select: data => data.entities,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/runs?signalName= */\nexport function useEntityRuns(entityId: string | undefined, signalName: string | undefined) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'runs', entityId, signalName],\n queryFn: service && entityId && signalName ? () => service.getEntityRuns(entityId, signalName) : skipToken,\n select: data => data.runs,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/runs/:runId?signalName= */\nexport function useEntityRun(entityId: string | undefined, runId: string | undefined, signalName: string | undefined) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'run', entityId, runId, signalName],\n queryFn:\n service && entityId && runId && signalName ? () => service.getEntityRun(entityId, runId, signalName) : skipToken,\n select: data => data.run,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/learning?signalName=&runId? */\nexport function useEntityLearning(entityId: string | undefined, signalName: string | undefined, runId?: string) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'learning', entityId, signalName, runId ?? null],\n queryFn:\n service && entityId && signalName ? () => service.getEntityLearning(entityId, signalName, runId) : skipToken,\n select: data => data.learning,\n retry: false,\n });\n}\n\n/**\n * GET /entity-learning/entities/:entityId/topics?signalName=&runId? — the clusters.\n * Omit `runId` to let the API resolve the latest run for that signal — an\n * entity-level `latestRunId` belongs to a single signal and must not be\n * reused across signals.\n */\nexport function useEntityTopics(entityId: string | undefined, signalName: string | undefined, runId?: string) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'topics', entityId, signalName, runId ?? 'latest'],\n queryFn: service && entityId && signalName ? () => service.getEntityTopics(entityId, signalName, runId) : skipToken,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/topics/:topicId?signalName=&runId= */\nexport function useEntityTopic(\n entityId: string | undefined,\n topicId: string | undefined,\n signalName: string | undefined,\n runId: string | undefined,\n) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'topic', entityId, topicId, signalName, runId],\n queryFn:\n service && entityId && topicId && signalName && runId\n ? () => service.getEntityTopic(entityId, topicId, signalName, runId)\n : skipToken,\n select: data => data.topic,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/topics/:topicId/examples?signalName=&runId=&limit= */\nexport function useEntityTopicExamples(\n entityId: string | undefined,\n topicId: string | undefined,\n params: EntityLearningTopicExamplesParams | undefined,\n) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'topic-examples', entityId, topicId, params?.signalName, params?.runId, params?.limit ?? null],\n queryFn:\n service && entityId && topicId && params?.signalName && params?.runId\n ? () => service.getEntityTopicExamples(entityId, topicId, params)\n : skipToken,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/outliers?signalName=&runId= */\nexport function useEntityOutliers(\n entityId: string | undefined,\n signalName: string | undefined,\n runId: string | undefined,\n) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'outliers', entityId, signalName, runId],\n queryFn:\n service && entityId && signalName && runId\n ? () => service.getEntityOutliers(entityId, signalName, runId)\n : skipToken,\n retry: false,\n });\n}\n\n/** GET /entity-learning/entities/:entityId/outliers/examples?signalName=&runId=&limit= */\nexport function useEntityOutlierExamples(\n entityId: string | undefined,\n params: EntityLearningOutlierExamplesParams | undefined,\n) {\n const { service } = useEntityLearningConfig();\n\n return useQuery({\n queryKey: [KEY, 'outlier-examples', entityId, params?.signalName, params?.runId, params?.limit ?? null],\n queryFn:\n service && entityId && params?.signalName && params?.runId\n ? () => service.getEntityOutlierExamples(entityId, params)\n : skipToken,\n retry: false,\n });\n}\n"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
-
5
- const ee_signals_hooks_useEntityLearningConfig = require('./hooks/use-entity-learning-config.cjs.js');
6
- const ee_signals_hooks_useEntityLearning = require('./hooks/use-entity-learning.cjs.js');
7
-
8
-
9
-
10
- exports.useEntityLearningConfig = ee_signals_hooks_useEntityLearningConfig.useEntityLearningConfig;
11
- exports.useEntities = ee_signals_hooks_useEntityLearning.useEntities;
12
- exports.useEntityLearning = ee_signals_hooks_useEntityLearning.useEntityLearning;
13
- exports.useEntityOutlierExamples = ee_signals_hooks_useEntityLearning.useEntityOutlierExamples;
14
- exports.useEntityOutliers = ee_signals_hooks_useEntityLearning.useEntityOutliers;
15
- exports.useEntityRun = ee_signals_hooks_useEntityLearning.useEntityRun;
16
- exports.useEntityRuns = ee_signals_hooks_useEntityLearning.useEntityRuns;
17
- exports.useEntityTopic = ee_signals_hooks_useEntityLearning.useEntityTopic;
18
- exports.useEntityTopicExamples = ee_signals_hooks_useEntityLearning.useEntityTopicExamples;
19
- exports.useEntityTopics = ee_signals_hooks_useEntityLearning.useEntityTopics;
20
- //# sourceMappingURL=hooks.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -1,2 +0,0 @@
1
- export * from '../../src/ee/signals/hooks/index'
2
- export {}
@@ -1,3 +0,0 @@
1
- export { useEntityLearningConfig } from './hooks/use-entity-learning-config.es.js';
2
- export { useEntities, useEntityLearning, useEntityOutlierExamples, useEntityOutliers, useEntityRun, useEntityRuns, useEntityTopic, useEntityTopicExamples, useEntityTopics } from './hooks/use-entity-learning.es.js';
3
- //# sourceMappingURL=hooks.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,88 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
-
5
- const trimTrailingSlash = (value) => {
6
- let end = value.length;
7
- while (end > 0 && value[end - 1] === "/") end--;
8
- return value.slice(0, end);
9
- };
10
- function createEntityLearningService(config) {
11
- const root = `${trimTrailingSlash(config.baseUrl)}/api/learning`;
12
- const buildUrl = (path, params) => {
13
- const url = new URL(`${root}${path}`);
14
- if (params) {
15
- for (const [key, value] of Object.entries(params)) {
16
- if (value !== void 0) {
17
- url.searchParams.set(key, String(value));
18
- }
19
- }
20
- }
21
- return url.toString();
22
- };
23
- async function getJson(url) {
24
- const res = await fetch(url, {
25
- credentials: "include",
26
- headers: config.projectId ? { "X-Mastra-Project-Id": config.projectId } : void 0
27
- });
28
- if (!res.ok) {
29
- throw new Error(`Entity-Learning request failed (${res.status}): ${url}`);
30
- }
31
- return await res.json();
32
- }
33
- const encode = (segment) => encodeURIComponent(segment);
34
- return {
35
- getEntities() {
36
- return getJson(buildUrl("/entities"));
37
- },
38
- getEntityRuns(entityId, signalName) {
39
- return getJson(buildUrl(`/entities/${encode(entityId)}/runs`, { signalName }));
40
- },
41
- getEntityRun(entityId, runId, signalName) {
42
- return getJson(
43
- buildUrl(`/entities/${encode(entityId)}/runs/${encode(runId)}`, { signalName })
44
- );
45
- },
46
- getEntityLearning(entityId, signalName, runId) {
47
- return getJson(
48
- buildUrl(`/entities/${encode(entityId)}/learning`, { signalName, runId })
49
- );
50
- },
51
- getEntityTopics(entityId, signalName, runId) {
52
- return getJson(
53
- buildUrl(`/entities/${encode(entityId)}/topics`, { signalName, runId })
54
- );
55
- },
56
- getEntityTopic(entityId, topicId, signalName, runId) {
57
- return getJson(
58
- buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}`, { signalName, runId })
59
- );
60
- },
61
- getEntityTopicExamples(entityId, topicId, params) {
62
- return getJson(
63
- buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}/examples`, {
64
- signalName: params.signalName,
65
- runId: params.runId,
66
- limit: params.limit
67
- })
68
- );
69
- },
70
- getEntityOutliers(entityId, signalName, runId) {
71
- return getJson(
72
- buildUrl(`/entities/${encode(entityId)}/outliers`, { signalName, runId })
73
- );
74
- },
75
- getEntityOutlierExamples(entityId, params) {
76
- return getJson(
77
- buildUrl(`/entities/${encode(entityId)}/outliers/examples`, {
78
- signalName: params.signalName,
79
- runId: params.runId,
80
- limit: params.limit
81
- })
82
- );
83
- }
84
- };
85
- }
86
-
87
- exports.createEntityLearningService = createEntityLearningService;
88
- //# sourceMappingURL=entity-learning-service.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-learning-service.cjs.js","sources":["../../../../src/ee/signals/services/entity-learning-service.ts"],"sourcesContent":["import type {\n EntityLearningEntitiesResponse,\n EntityLearningRunsResponse,\n EntityLearningRunResponse,\n EntityLearningLearningResponse,\n EntityLearningTopicsResponse,\n EntityLearningTopicResponse,\n EntityLearningTopicExamplesResponse,\n EntityLearningOutliersResponse,\n} from './entity-learning-types';\n\nexport type EntityLearningServiceConfig = {\n /**\n * Platform observability query-service origin (mobs-query), e.g.\n * `https://observability.mastra.ai`. Agent Learning routes are served\n * session-authenticated under `/api/learning` on this origin — the same\n * origin and auth model as the `/api/observability/*` routes.\n */\n baseUrl: string;\n projectId?: string;\n};\n\nexport type EntityLearningTopicExamplesParams = {\n signalName: string;\n runId: string;\n limit?: number;\n};\n\nexport type EntityLearningOutlierExamplesParams = {\n signalName: string;\n runId: string;\n limit?: number;\n};\n\nexport type EntityLearningService = ReturnType<typeof createEntityLearningService>;\n\n// Index scan instead of regex to avoid backtracking (CodeQL js/polynomial-redos)\nconst trimTrailingSlash = (value: string) => {\n let end = value.length;\n while (end > 0 && value[end - 1] === '/') end--;\n return value.slice(0, end);\n};\n\n/**\n * Network layer for the platform Agent Learning API served by the\n * observability query service (mobs-query) under `/api/learning`.\n *\n * Auth follows the observability pattern: the WorkOS session cookie is sent\n * via `credentials: 'include'`, and the org/project scope is resolved\n * server-side from the session. `projectId` is passed as the\n * `X-Mastra-Project-Id` header so the server scopes reads to that project;\n * caller-supplied scope can never widen access beyond the session.\n */\nexport function createEntityLearningService(config: EntityLearningServiceConfig) {\n const root = `${trimTrailingSlash(config.baseUrl)}/api/learning`;\n\n const buildUrl = (path: string, params?: Record<string, string | number | boolean | undefined>) => {\n const url = new URL(`${root}${path}`);\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n return url.toString();\n };\n\n async function getJson<T>(url: string): Promise<T> {\n const res = await fetch(url, {\n credentials: 'include',\n headers: config.projectId ? { 'X-Mastra-Project-Id': config.projectId } : undefined,\n });\n if (!res.ok) {\n throw new Error(`Entity-Learning request failed (${res.status}): ${url}`);\n }\n return (await res.json()) as T;\n }\n\n const encode = (segment: string) => encodeURIComponent(segment);\n\n return {\n getEntities() {\n return getJson<EntityLearningEntitiesResponse>(buildUrl('/entities'));\n },\n\n getEntityRuns(entityId: string, signalName: string) {\n return getJson<EntityLearningRunsResponse>(buildUrl(`/entities/${encode(entityId)}/runs`, { signalName }));\n },\n\n getEntityRun(entityId: string, runId: string, signalName: string) {\n return getJson<EntityLearningRunResponse>(\n buildUrl(`/entities/${encode(entityId)}/runs/${encode(runId)}`, { signalName }),\n );\n },\n\n getEntityLearning(entityId: string, signalName: string, runId?: string) {\n return getJson<EntityLearningLearningResponse>(\n buildUrl(`/entities/${encode(entityId)}/learning`, { signalName, runId }),\n );\n },\n\n getEntityTopics(entityId: string, signalName: string, runId?: string) {\n // runId omitted → the API resolves the latest run for that signal.\n return getJson<EntityLearningTopicsResponse>(\n buildUrl(`/entities/${encode(entityId)}/topics`, { signalName, runId }),\n );\n },\n\n getEntityTopic(entityId: string, topicId: string, signalName: string, runId: string) {\n return getJson<EntityLearningTopicResponse>(\n buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}`, { signalName, runId }),\n );\n },\n\n getEntityTopicExamples(entityId: string, topicId: string, params: EntityLearningTopicExamplesParams) {\n return getJson<EntityLearningTopicExamplesResponse>(\n buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}/examples`, {\n signalName: params.signalName,\n runId: params.runId,\n limit: params.limit,\n }),\n );\n },\n\n getEntityOutliers(entityId: string, signalName: string, runId: string) {\n return getJson<EntityLearningOutliersResponse>(\n buildUrl(`/entities/${encode(entityId)}/outliers`, { signalName, runId }),\n );\n },\n\n getEntityOutlierExamples(entityId: string, params: EntityLearningOutlierExamplesParams) {\n return getJson<EntityLearningTopicExamplesResponse>(\n buildUrl(`/entities/${encode(entityId)}/outliers/examples`, {\n signalName: params.signalName,\n runId: params.runId,\n limit: params.limit,\n }),\n );\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from '../../../src/ee/signals/services/entity-learning-service'
2
- export {}
@@ -1,84 +0,0 @@
1
- const trimTrailingSlash = (value) => {
2
- let end = value.length;
3
- while (end > 0 && value[end - 1] === "/") end--;
4
- return value.slice(0, end);
5
- };
6
- function createEntityLearningService(config) {
7
- const root = `${trimTrailingSlash(config.baseUrl)}/api/learning`;
8
- const buildUrl = (path, params) => {
9
- const url = new URL(`${root}${path}`);
10
- if (params) {
11
- for (const [key, value] of Object.entries(params)) {
12
- if (value !== void 0) {
13
- url.searchParams.set(key, String(value));
14
- }
15
- }
16
- }
17
- return url.toString();
18
- };
19
- async function getJson(url) {
20
- const res = await fetch(url, {
21
- credentials: "include",
22
- headers: config.projectId ? { "X-Mastra-Project-Id": config.projectId } : void 0
23
- });
24
- if (!res.ok) {
25
- throw new Error(`Entity-Learning request failed (${res.status}): ${url}`);
26
- }
27
- return await res.json();
28
- }
29
- const encode = (segment) => encodeURIComponent(segment);
30
- return {
31
- getEntities() {
32
- return getJson(buildUrl("/entities"));
33
- },
34
- getEntityRuns(entityId, signalName) {
35
- return getJson(buildUrl(`/entities/${encode(entityId)}/runs`, { signalName }));
36
- },
37
- getEntityRun(entityId, runId, signalName) {
38
- return getJson(
39
- buildUrl(`/entities/${encode(entityId)}/runs/${encode(runId)}`, { signalName })
40
- );
41
- },
42
- getEntityLearning(entityId, signalName, runId) {
43
- return getJson(
44
- buildUrl(`/entities/${encode(entityId)}/learning`, { signalName, runId })
45
- );
46
- },
47
- getEntityTopics(entityId, signalName, runId) {
48
- return getJson(
49
- buildUrl(`/entities/${encode(entityId)}/topics`, { signalName, runId })
50
- );
51
- },
52
- getEntityTopic(entityId, topicId, signalName, runId) {
53
- return getJson(
54
- buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}`, { signalName, runId })
55
- );
56
- },
57
- getEntityTopicExamples(entityId, topicId, params) {
58
- return getJson(
59
- buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}/examples`, {
60
- signalName: params.signalName,
61
- runId: params.runId,
62
- limit: params.limit
63
- })
64
- );
65
- },
66
- getEntityOutliers(entityId, signalName, runId) {
67
- return getJson(
68
- buildUrl(`/entities/${encode(entityId)}/outliers`, { signalName, runId })
69
- );
70
- },
71
- getEntityOutlierExamples(entityId, params) {
72
- return getJson(
73
- buildUrl(`/entities/${encode(entityId)}/outliers/examples`, {
74
- signalName: params.signalName,
75
- runId: params.runId,
76
- limit: params.limit
77
- })
78
- );
79
- }
80
- };
81
- }
82
-
83
- export { createEntityLearningService };
84
- //# sourceMappingURL=entity-learning-service.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-learning-service.es.js","sources":["../../../../src/ee/signals/services/entity-learning-service.ts"],"sourcesContent":["import type {\n EntityLearningEntitiesResponse,\n EntityLearningRunsResponse,\n EntityLearningRunResponse,\n EntityLearningLearningResponse,\n EntityLearningTopicsResponse,\n EntityLearningTopicResponse,\n EntityLearningTopicExamplesResponse,\n EntityLearningOutliersResponse,\n} from './entity-learning-types';\n\nexport type EntityLearningServiceConfig = {\n /**\n * Platform observability query-service origin (mobs-query), e.g.\n * `https://observability.mastra.ai`. Agent Learning routes are served\n * session-authenticated under `/api/learning` on this origin — the same\n * origin and auth model as the `/api/observability/*` routes.\n */\n baseUrl: string;\n projectId?: string;\n};\n\nexport type EntityLearningTopicExamplesParams = {\n signalName: string;\n runId: string;\n limit?: number;\n};\n\nexport type EntityLearningOutlierExamplesParams = {\n signalName: string;\n runId: string;\n limit?: number;\n};\n\nexport type EntityLearningService = ReturnType<typeof createEntityLearningService>;\n\n// Index scan instead of regex to avoid backtracking (CodeQL js/polynomial-redos)\nconst trimTrailingSlash = (value: string) => {\n let end = value.length;\n while (end > 0 && value[end - 1] === '/') end--;\n return value.slice(0, end);\n};\n\n/**\n * Network layer for the platform Agent Learning API served by the\n * observability query service (mobs-query) under `/api/learning`.\n *\n * Auth follows the observability pattern: the WorkOS session cookie is sent\n * via `credentials: 'include'`, and the org/project scope is resolved\n * server-side from the session. `projectId` is passed as the\n * `X-Mastra-Project-Id` header so the server scopes reads to that project;\n * caller-supplied scope can never widen access beyond the session.\n */\nexport function createEntityLearningService(config: EntityLearningServiceConfig) {\n const root = `${trimTrailingSlash(config.baseUrl)}/api/learning`;\n\n const buildUrl = (path: string, params?: Record<string, string | number | boolean | undefined>) => {\n const url = new URL(`${root}${path}`);\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined) {\n url.searchParams.set(key, String(value));\n }\n }\n }\n return url.toString();\n };\n\n async function getJson<T>(url: string): Promise<T> {\n const res = await fetch(url, {\n credentials: 'include',\n headers: config.projectId ? { 'X-Mastra-Project-Id': config.projectId } : undefined,\n });\n if (!res.ok) {\n throw new Error(`Entity-Learning request failed (${res.status}): ${url}`);\n }\n return (await res.json()) as T;\n }\n\n const encode = (segment: string) => encodeURIComponent(segment);\n\n return {\n getEntities() {\n return getJson<EntityLearningEntitiesResponse>(buildUrl('/entities'));\n },\n\n getEntityRuns(entityId: string, signalName: string) {\n return getJson<EntityLearningRunsResponse>(buildUrl(`/entities/${encode(entityId)}/runs`, { signalName }));\n },\n\n getEntityRun(entityId: string, runId: string, signalName: string) {\n return getJson<EntityLearningRunResponse>(\n buildUrl(`/entities/${encode(entityId)}/runs/${encode(runId)}`, { signalName }),\n );\n },\n\n getEntityLearning(entityId: string, signalName: string, runId?: string) {\n return getJson<EntityLearningLearningResponse>(\n buildUrl(`/entities/${encode(entityId)}/learning`, { signalName, runId }),\n );\n },\n\n getEntityTopics(entityId: string, signalName: string, runId?: string) {\n // runId omitted → the API resolves the latest run for that signal.\n return getJson<EntityLearningTopicsResponse>(\n buildUrl(`/entities/${encode(entityId)}/topics`, { signalName, runId }),\n );\n },\n\n getEntityTopic(entityId: string, topicId: string, signalName: string, runId: string) {\n return getJson<EntityLearningTopicResponse>(\n buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}`, { signalName, runId }),\n );\n },\n\n getEntityTopicExamples(entityId: string, topicId: string, params: EntityLearningTopicExamplesParams) {\n return getJson<EntityLearningTopicExamplesResponse>(\n buildUrl(`/entities/${encode(entityId)}/topics/${encode(topicId)}/examples`, {\n signalName: params.signalName,\n runId: params.runId,\n limit: params.limit,\n }),\n );\n },\n\n getEntityOutliers(entityId: string, signalName: string, runId: string) {\n return getJson<EntityLearningOutliersResponse>(\n buildUrl(`/entities/${encode(entityId)}/outliers`, { signalName, runId }),\n );\n },\n\n getEntityOutlierExamples(entityId: string, params: EntityLearningOutlierExamplesParams) {\n return getJson<EntityLearningTopicExamplesResponse>(\n buildUrl(`/entities/${encode(entityId)}/outliers/examples`, {\n signalName: params.signalName,\n runId: params.runId,\n limit: params.limit,\n }),\n );\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- 'use strict';
2
-
3
- //# sourceMappingURL=entity-learning-types.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-learning-types.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1 +0,0 @@
1
- export {}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=entity-learning-types.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-learning-types.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
-
5
- const ee_signals_services_entityLearningService = require('./services/entity-learning-service.cjs.js');
6
-
7
-
8
-
9
- exports.createEntityLearningService = ee_signals_services_entityLearningService.createEntityLearningService;
10
- //# sourceMappingURL=services.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"services.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,2 +0,0 @@
1
- export * from '../../src/ee/signals/services/index'
2
- export {}
@@ -1,2 +0,0 @@
1
- export { createEntityLearningService } from './services/entity-learning-service.es.js';
2
- //# sourceMappingURL=services.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"services.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,53 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
-
5
- const signalCatalog = [
6
- {
7
- id: "sentiment",
8
- name: "Sentiment",
9
- description: "Conversation tone and confidence shifts that affect user outcomes."
10
- },
11
- {
12
- id: "behavior",
13
- name: "Behavior",
14
- description: "Recurring interaction patterns and behaviors observed across runs."
15
- },
16
- {
17
- id: "goal",
18
- name: "Goal",
19
- description: "Inferred user goals and intents driving each interaction."
20
- },
21
- {
22
- id: "outcome",
23
- name: "Outcome",
24
- description: "Resolution outcomes and whether the user objective was met."
25
- },
26
- {
27
- id: "issue",
28
- name: "Issue",
29
- description: "Recurring issue families found across traces."
30
- },
31
- {
32
- id: "severity",
33
- name: "Severity",
34
- description: "Risk and urgency bands inferred from trace paths and intervention needs."
35
- },
36
- {
37
- id: "tasks",
38
- name: "Tasks",
39
- description: "Operational work patterns inferred from agent traces and user requests."
40
- }
41
- ];
42
- const humanizeSignalName = (signalName) => signalName.replace(/[-_]/g, " ").replace(/\b\w/g, (char) => char.toUpperCase());
43
- function getSignalCatalogEntry(signalName) {
44
- return signalCatalog.find((entry) => entry.id === signalName) ?? {
45
- id: signalName,
46
- name: humanizeSignalName(signalName),
47
- description: ""
48
- };
49
- }
50
-
51
- exports.getSignalCatalogEntry = getSignalCatalogEntry;
52
- exports.signalCatalog = signalCatalog;
53
- //# sourceMappingURL=signals-data.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals-data.cjs.js","sources":["../../../src/ee/signals/signals-data.ts"],"sourcesContent":["import type { SignalCatalogEntry } from './types';\n\n/**\n * Display metadata for the signals surfaced in the Signals page. Keyed by the\n * entity-learning `signalName`. Clusters (topics) are fetched live per entity;\n * any signal returned by the server that is not listed here falls back to a\n * humanized version of its name.\n */\nexport const signalCatalog: SignalCatalogEntry[] = [\n {\n id: 'sentiment',\n name: 'Sentiment',\n description: 'Conversation tone and confidence shifts that affect user outcomes.',\n },\n {\n id: 'behavior',\n name: 'Behavior',\n description: 'Recurring interaction patterns and behaviors observed across runs.',\n },\n {\n id: 'goal',\n name: 'Goal',\n description: 'Inferred user goals and intents driving each interaction.',\n },\n {\n id: 'outcome',\n name: 'Outcome',\n description: 'Resolution outcomes and whether the user objective was met.',\n },\n {\n id: 'issue',\n name: 'Issue',\n description: 'Recurring issue families found across traces.',\n },\n {\n id: 'severity',\n name: 'Severity',\n description: 'Risk and urgency bands inferred from trace paths and intervention needs.',\n },\n {\n id: 'tasks',\n name: 'Tasks',\n description: 'Operational work patterns inferred from agent traces and user requests.',\n },\n];\n\nconst humanizeSignalName = (signalName: string) =>\n signalName.replace(/[-_]/g, ' ').replace(/\\b\\w/g, char => char.toUpperCase());\n\n/** Resolve catalog metadata for a signal name, falling back to a humanized label. */\nexport function getSignalCatalogEntry(signalName: string): SignalCatalogEntry {\n return (\n signalCatalog.find(entry => entry.id === signalName) ?? {\n id: signalName,\n name: humanizeSignalName(signalName),\n description: '',\n }\n );\n}\n"],"names":[],"mappings":";;;;AAQO,MAAM,aAAA,GAAsC;AAAA,EACjD;AAAA,IACE,EAAA,EAAI,WAAA;AAAA,IACJ,IAAA,EAAM,WAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,SAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,WAAA,EAAa;AAAA;AAEjB;AAEA,MAAM,kBAAA,GAAqB,CAAC,UAAA,KAC1B,UAAA,CAAW,OAAA,CAAQ,OAAA,EAAS,GAAG,CAAA,CAAE,OAAA,CAAQ,OAAA,EAAS,CAAA,IAAA,KAAQ,IAAA,CAAK,aAAa,CAAA;AAGvE,SAAS,sBAAsB,UAAA,EAAwC;AAC5E,EAAA,OACE,cAAc,IAAA,CAAK,CAAA,KAAA,KAAS,KAAA,CAAM,EAAA,KAAO,UAAU,CAAA,IAAK;AAAA,IACtD,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,mBAAmB,UAAU,CAAA;AAAA,IACnC,WAAA,EAAa;AAAA,GACf;AAEJ;;;;;"}
@@ -1,2 +0,0 @@
1
- export * from '../../src/ee/signals/signals-data'
2
- export {}
@@ -1,48 +0,0 @@
1
- const signalCatalog = [
2
- {
3
- id: "sentiment",
4
- name: "Sentiment",
5
- description: "Conversation tone and confidence shifts that affect user outcomes."
6
- },
7
- {
8
- id: "behavior",
9
- name: "Behavior",
10
- description: "Recurring interaction patterns and behaviors observed across runs."
11
- },
12
- {
13
- id: "goal",
14
- name: "Goal",
15
- description: "Inferred user goals and intents driving each interaction."
16
- },
17
- {
18
- id: "outcome",
19
- name: "Outcome",
20
- description: "Resolution outcomes and whether the user objective was met."
21
- },
22
- {
23
- id: "issue",
24
- name: "Issue",
25
- description: "Recurring issue families found across traces."
26
- },
27
- {
28
- id: "severity",
29
- name: "Severity",
30
- description: "Risk and urgency bands inferred from trace paths and intervention needs."
31
- },
32
- {
33
- id: "tasks",
34
- name: "Tasks",
35
- description: "Operational work patterns inferred from agent traces and user requests."
36
- }
37
- ];
38
- const humanizeSignalName = (signalName) => signalName.replace(/[-_]/g, " ").replace(/\b\w/g, (char) => char.toUpperCase());
39
- function getSignalCatalogEntry(signalName) {
40
- return signalCatalog.find((entry) => entry.id === signalName) ?? {
41
- id: signalName,
42
- name: humanizeSignalName(signalName),
43
- description: ""
44
- };
45
- }
46
-
47
- export { getSignalCatalogEntry, signalCatalog };
48
- //# sourceMappingURL=signals-data.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signals-data.es.js","sources":["../../../src/ee/signals/signals-data.ts"],"sourcesContent":["import type { SignalCatalogEntry } from './types';\n\n/**\n * Display metadata for the signals surfaced in the Signals page. Keyed by the\n * entity-learning `signalName`. Clusters (topics) are fetched live per entity;\n * any signal returned by the server that is not listed here falls back to a\n * humanized version of its name.\n */\nexport const signalCatalog: SignalCatalogEntry[] = [\n {\n id: 'sentiment',\n name: 'Sentiment',\n description: 'Conversation tone and confidence shifts that affect user outcomes.',\n },\n {\n id: 'behavior',\n name: 'Behavior',\n description: 'Recurring interaction patterns and behaviors observed across runs.',\n },\n {\n id: 'goal',\n name: 'Goal',\n description: 'Inferred user goals and intents driving each interaction.',\n },\n {\n id: 'outcome',\n name: 'Outcome',\n description: 'Resolution outcomes and whether the user objective was met.',\n },\n {\n id: 'issue',\n name: 'Issue',\n description: 'Recurring issue families found across traces.',\n },\n {\n id: 'severity',\n name: 'Severity',\n description: 'Risk and urgency bands inferred from trace paths and intervention needs.',\n },\n {\n id: 'tasks',\n name: 'Tasks',\n description: 'Operational work patterns inferred from agent traces and user requests.',\n },\n];\n\nconst humanizeSignalName = (signalName: string) =>\n signalName.replace(/[-_]/g, ' ').replace(/\\b\\w/g, char => char.toUpperCase());\n\n/** Resolve catalog metadata for a signal name, falling back to a humanized label. */\nexport function getSignalCatalogEntry(signalName: string): SignalCatalogEntry {\n return (\n signalCatalog.find(entry => entry.id === signalName) ?? {\n id: signalName,\n name: humanizeSignalName(signalName),\n description: '',\n }\n );\n}\n"],"names":[],"mappings":"AAQO,MAAM,aAAA,GAAsC;AAAA,EACjD;AAAA,IACE,EAAA,EAAI,WAAA;AAAA,IACJ,IAAA,EAAM,WAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,SAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,WAAA,EAAa;AAAA,GACf;AAAA,EACA;AAAA,IACE,EAAA,EAAI,OAAA;AAAA,IACJ,IAAA,EAAM,OAAA;AAAA,IACN,WAAA,EAAa;AAAA;AAEjB;AAEA,MAAM,kBAAA,GAAqB,CAAC,UAAA,KAC1B,UAAA,CAAW,OAAA,CAAQ,OAAA,EAAS,GAAG,CAAA,CAAE,OAAA,CAAQ,OAAA,EAAS,CAAA,IAAA,KAAQ,IAAA,CAAK,aAAa,CAAA;AAGvE,SAAS,sBAAsB,UAAA,EAAwC;AAC5E,EAAA,OACE,cAAc,IAAA,CAAK,CAAA,KAAA,KAAS,KAAA,CAAM,EAAA,KAAO,UAAU,CAAA,IAAK;AAAA,IACtD,EAAA,EAAI,UAAA;AAAA,IACJ,IAAA,EAAM,mBAAmB,UAAU,CAAA;AAAA,IACnC,WAAA,EAAa;AAAA,GACf;AAEJ;;;;"}
@@ -1,3 +0,0 @@
1
- 'use strict';
2
-
3
- //# sourceMappingURL=types.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1 +0,0 @@
1
- export {}
@@ -1,2 +0,0 @@
1
-
2
- //# sourceMappingURL=types.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-field-block-C4njnmUx.cjs","sources":["../src/ds/components/FormFieldBlocks/fields/search-field-block.tsx"],"sourcesContent":["import { SearchIcon, XIcon } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport { Button } from '../../Button';\nimport { Input } from '../../Input';\nimport type { InputProps } from '../../Input';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../../Tooltip';\nimport { FieldBlock } from '../block/field-block';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type SearchFieldBlockProps = {\n name: string;\n testId?: string;\n label?: string;\n labelIsHidden?: boolean;\n required?: boolean;\n disabled?: boolean;\n value?: string;\n placeholder?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onReset?: () => void;\n helpText?: string;\n error?: boolean;\n errorMsg?: string;\n layout?: 'horizontal' | 'vertical';\n className?: string;\n size?: InputProps['size'];\n variant?: InputProps['variant'];\n isMinimized?: boolean;\n onMinimizedChange?: (minimized: boolean) => void;\n};\n\nexport function SearchFieldBlock({\n name,\n helpText,\n errorMsg,\n required = false,\n disabled = false,\n value,\n label,\n labelIsHidden = false,\n layout = 'vertical',\n placeholder = 'Search...',\n onChange,\n onReset,\n className,\n size,\n variant,\n isMinimized,\n onMinimizedChange,\n}: SearchFieldBlockProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const buttonSize = size === 'default' ? 'lg' : size;\n\n useEffect(() => {\n if (isMinimized === false) {\n inputRef.current?.focus();\n }\n }, [isMinimized]);\n\n if (isMinimized) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n size={buttonSize || 'sm'}\n aria-label={label || 'Search'}\n disabled={disabled}\n onClick={() => onMinimizedChange?.(false)}\n >\n <SearchIcon />\n </Button>\n </TooltipTrigger>\n <TooltipContent>{label || 'Search'}</TooltipContent>\n </Tooltip>\n );\n }\n\n return (\n <FieldBlock.Layout layout={layout} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {layout === 'vertical' && label && !labelIsHidden ? (\n <FieldBlock.Label name={name} required={required}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <div className=\"group relative\">\n <Input\n ref={inputRef}\n name={name}\n disabled={disabled}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n size={size}\n variant={variant}\n className={cn(\n size === 'sm' && 'px-8',\n size === 'md' && 'px-9',\n (!size || size === 'default') && 'px-10',\n size === 'lg' && 'px-11',\n )}\n />\n <SearchIcon\n aria-hidden=\"true\"\n className={cn(\n 'absolute top-1/2 left-3 -translate-y-1/2 text-neutral4 opacity-50 group-has-focus:opacity-100',\n size === 'sm' && 'size-3.5',\n size === 'md' && 'size-4',\n (!size || size === 'default') && 'size-[1.125rem]',\n size === 'lg' && 'size-5',\n )}\n />\n {onReset && (value || isMinimized === false) && (\n <Button\n variant=\"ghost\"\n size={buttonSize || 'lg'}\n aria-label=\"Clear search\"\n onClick={() => {\n if (value) {\n onReset();\n }\n if (isMinimized === false) {\n onMinimizedChange?.(true);\n }\n }}\n className=\"absolute top-1/2 right-0 -translate-y-1/2\"\n >\n <XIcon />\n </Button>\n )}\n </div>\n {helpText && <FieldBlock.HelpText>{helpText}</FieldBlock.HelpText>}\n {errorMsg && <FieldBlock.ErrorMsg>{errorMsg}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":["useRef","useEffect","Tooltip","jsx","TooltipTrigger","Button","SearchIcon","TooltipContent","jsxs","FieldBlock","VisuallyHidden","Input","cn","XIcon"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-field-block-e9qthuwY.js","sources":["../src/ds/components/FormFieldBlocks/fields/search-field-block.tsx"],"sourcesContent":["import { SearchIcon, XIcon } from 'lucide-react';\nimport { useEffect, useRef } from 'react';\nimport { Button } from '../../Button';\nimport { Input } from '../../Input';\nimport type { InputProps } from '../../Input';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '../../Tooltip';\nimport { FieldBlock } from '../block/field-block';\nimport { VisuallyHidden } from '@/ds/primitives/visually-hidden';\nimport { cn } from '@/lib/utils';\n\nexport type SearchFieldBlockProps = {\n name: string;\n testId?: string;\n label?: string;\n labelIsHidden?: boolean;\n required?: boolean;\n disabled?: boolean;\n value?: string;\n placeholder?: string;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onReset?: () => void;\n helpText?: string;\n error?: boolean;\n errorMsg?: string;\n layout?: 'horizontal' | 'vertical';\n className?: string;\n size?: InputProps['size'];\n variant?: InputProps['variant'];\n isMinimized?: boolean;\n onMinimizedChange?: (minimized: boolean) => void;\n};\n\nexport function SearchFieldBlock({\n name,\n helpText,\n errorMsg,\n required = false,\n disabled = false,\n value,\n label,\n labelIsHidden = false,\n layout = 'vertical',\n placeholder = 'Search...',\n onChange,\n onReset,\n className,\n size,\n variant,\n isMinimized,\n onMinimizedChange,\n}: SearchFieldBlockProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n const buttonSize = size === 'default' ? 'lg' : size;\n\n useEffect(() => {\n if (isMinimized === false) {\n inputRef.current?.focus();\n }\n }, [isMinimized]);\n\n if (isMinimized) {\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n size={buttonSize || 'sm'}\n aria-label={label || 'Search'}\n disabled={disabled}\n onClick={() => onMinimizedChange?.(false)}\n >\n <SearchIcon />\n </Button>\n </TooltipTrigger>\n <TooltipContent>{label || 'Search'}</TooltipContent>\n </Tooltip>\n );\n }\n\n return (\n <FieldBlock.Layout layout={layout} className={className}>\n {layout === 'horizontal' ? (\n <FieldBlock.Column>\n <FieldBlock.Label name={name} required={required}>\n {labelIsHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </FieldBlock.Label>\n </FieldBlock.Column>\n ) : null}\n <FieldBlock.Column>\n {layout === 'vertical' && label && !labelIsHidden ? (\n <FieldBlock.Label name={name} required={required}>\n {label}\n </FieldBlock.Label>\n ) : null}\n <div className=\"group relative\">\n <Input\n ref={inputRef}\n name={name}\n disabled={disabled}\n value={value}\n placeholder={placeholder}\n onChange={onChange}\n size={size}\n variant={variant}\n className={cn(\n size === 'sm' && 'px-8',\n size === 'md' && 'px-9',\n (!size || size === 'default') && 'px-10',\n size === 'lg' && 'px-11',\n )}\n />\n <SearchIcon\n aria-hidden=\"true\"\n className={cn(\n 'absolute top-1/2 left-3 -translate-y-1/2 text-neutral4 opacity-50 group-has-focus:opacity-100',\n size === 'sm' && 'size-3.5',\n size === 'md' && 'size-4',\n (!size || size === 'default') && 'size-[1.125rem]',\n size === 'lg' && 'size-5',\n )}\n />\n {onReset && (value || isMinimized === false) && (\n <Button\n variant=\"ghost\"\n size={buttonSize || 'lg'}\n aria-label=\"Clear search\"\n onClick={() => {\n if (value) {\n onReset();\n }\n if (isMinimized === false) {\n onMinimizedChange?.(true);\n }\n }}\n className=\"absolute top-1/2 right-0 -translate-y-1/2\"\n >\n <XIcon />\n </Button>\n )}\n </div>\n {helpText && <FieldBlock.HelpText>{helpText}</FieldBlock.HelpText>}\n {errorMsg && <FieldBlock.ErrorMsg>{errorMsg}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n );\n}\n"],"names":[],"mappings":"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"}