@mastra/playground-ui 60.0.0 → 60.1.0-alpha.1

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 (929) hide show
  1. package/README.md +7 -6
  2. package/dist/{Badge-H8K5WrXg.cjs → Badge-D3EctKQo.cjs} +16 -8
  3. package/dist/Badge-D3EctKQo.cjs.map +1 -0
  4. package/dist/{Badge-Q_pCeeGW.js → Badge-DmOqFpXW.js} +16 -8
  5. package/dist/Badge-DmOqFpXW.js.map +1 -0
  6. package/dist/{Button-BnmR2HRc.cjs → Button-CXhSUBxN.cjs} +3 -3
  7. package/dist/Button-CXhSUBxN.cjs.map +1 -0
  8. package/dist/{Button-C6eUqcPI.js → Button-D43ghVKt.js} +3 -3
  9. package/dist/Button-D43ghVKt.js.map +1 -0
  10. package/dist/{EmptyState-CJ5KC4Db.cjs → EmptyState-CuoMGNP0.cjs} +2 -2
  11. package/dist/EmptyState-CuoMGNP0.cjs.map +1 -0
  12. package/dist/{EmptyState-CynkaZd1.js → EmptyState-DyyUFpzY.js} +2 -2
  13. package/dist/EmptyState-DyyUFpzY.js.map +1 -0
  14. package/dist/{ErrorBoundary-Bb2R5IMR.js → ErrorBoundary-BvwJY6s9.js} +2 -2
  15. package/dist/{ErrorBoundary-Bb2R5IMR.js.map → ErrorBoundary-BvwJY6s9.js.map} +1 -1
  16. package/dist/{ErrorBoundary-CKrwONAU.cjs → ErrorBoundary-D7eIMbMr.cjs} +2 -2
  17. package/dist/{ErrorBoundary-CKrwONAU.cjs.map → ErrorBoundary-D7eIMbMr.cjs.map} +1 -1
  18. package/dist/{Notice-Ce3r5x-7.js → Notice-B8RIClJD.js} +2 -2
  19. package/dist/{Notice-Ce3r5x-7.js.map → Notice-B8RIClJD.js.map} +1 -1
  20. package/dist/{Notice-CEBwitdf.cjs → Notice-C4Tgmtgb.cjs} +2 -2
  21. package/dist/{Notice-CEBwitdf.cjs.map → Notice-C4Tgmtgb.cjs.map} +1 -1
  22. package/dist/{activity-Duth8KP_.js → activity-BoXbE4Kz.js} +3 -3
  23. package/dist/activity-BoXbE4Kz.js.map +1 -0
  24. package/dist/{activity-8egTNbaI.cjs → activity-CbQG59Oc.cjs} +3 -3
  25. package/dist/activity-CbQG59Oc.cjs.map +1 -0
  26. package/dist/{alert-dialog-D1UYVW__.js → alert-dialog-CzRo39mH.js} +3 -3
  27. package/dist/{alert-dialog-D1UYVW__.js.map → alert-dialog-CzRo39mH.js.map} +1 -1
  28. package/dist/{alert-dialog-BcOSIOSW.cjs → alert-dialog-DC-Fapxf.cjs} +3 -3
  29. package/dist/{alert-dialog-BcOSIOSW.cjs.map → alert-dialog-DC-Fapxf.cjs.map} +1 -1
  30. package/dist/{ask-user-DJXmLJzy.cjs → ask-user-CXu4b7Jw.cjs} +4 -4
  31. package/dist/ask-user-CXu4b7Jw.cjs.map +1 -0
  32. package/dist/{ask-user-Crg1O-o6.js → ask-user-Dlz2346n.js} +4 -4
  33. package/dist/ask-user-Dlz2346n.js.map +1 -0
  34. package/dist/buttons-group-CoZP3lJt.cjs.map +1 -1
  35. package/dist/buttons-group-DsZgrZBZ.js.map +1 -1
  36. package/dist/{code-block-C7A4Hv96.cjs → code-block-BzoMjjtf.cjs} +5 -5
  37. package/dist/{code-block-C7A4Hv96.cjs.map → code-block-BzoMjjtf.cjs.map} +1 -1
  38. package/dist/{code-block-C_pvalBv.js → code-block-DY5KsTGY.js} +5 -5
  39. package/dist/{code-block-C_pvalBv.js.map → code-block-DY5KsTGY.js.map} +1 -1
  40. package/dist/{code-editor-Cltwid7c.js → code-editor-28chVxHw.js} +10 -8
  41. package/dist/code-editor-28chVxHw.js.map +1 -0
  42. package/dist/{code-editor-BXchPl_F.cjs → code-editor-B_wPmKPf.cjs} +10 -8
  43. package/dist/code-editor-B_wPmKPf.cjs.map +1 -0
  44. package/dist/{combobox-B_C0cNid.js → combobox-B15qTrWO.js} +4 -4
  45. package/dist/{combobox-B_C0cNid.js.map → combobox-B15qTrWO.js.map} +1 -1
  46. package/dist/{combobox-rKV-Lksj.cjs → combobox-DJ0c4o4S.cjs} +4 -4
  47. package/dist/{combobox-rKV-Lksj.cjs.map → combobox-DJ0c4o4S.cjs.map} +1 -1
  48. package/dist/{combobox-styles-CLxC7VLA.js → combobox-styles-C2MEEpaG.js} +3 -3
  49. package/dist/{combobox-styles-CLxC7VLA.js.map → combobox-styles-C2MEEpaG.js.map} +1 -1
  50. package/dist/{combobox-styles-C4Kq1NFV.cjs → combobox-styles-DLflBH-G.cjs} +3 -3
  51. package/dist/{combobox-styles-C4Kq1NFV.cjs.map → combobox-styles-DLflBH-G.cjs.map} +1 -1
  52. package/dist/{command-CpXMoss8.cjs → command-Bm0VcX7X.cjs} +2 -2
  53. package/dist/{command-CpXMoss8.cjs.map → command-Bm0VcX7X.cjs.map} +1 -1
  54. package/dist/{command-C6JnofUJ.js → command-DFin7kHN.js} +2 -2
  55. package/dist/{command-C6JnofUJ.js.map → command-DFin7kHN.js.map} +1 -1
  56. package/dist/components/AlertDialog.cjs.js +1 -1
  57. package/dist/components/AlertDialog.es.js +1 -1
  58. package/dist/components/Badge.cjs.js +1 -1
  59. package/dist/components/Badge.es.js +1 -1
  60. package/dist/components/Button.cjs.js +1 -1
  61. package/dist/components/Button.es.js +2 -2
  62. package/dist/components/ClampedText.cjs.js +1 -1
  63. package/dist/components/ClampedText.es.js +1 -1
  64. package/dist/components/CodeBlock.cjs.js +1 -1
  65. package/dist/components/CodeBlock.es.js +1 -1
  66. package/dist/components/CodeEditor.cjs.js +1 -1
  67. package/dist/components/CodeEditor.es.js +1 -1
  68. package/dist/components/CollapsibleBox.cjs.js +12 -0
  69. package/dist/components/CollapsibleBox.cjs.js.map +1 -0
  70. package/dist/components/CollapsibleBox.d.ts +2 -0
  71. package/dist/components/CollapsibleBox.es.js +2 -0
  72. package/dist/components/CollapsibleBox.es.js.map +1 -0
  73. package/dist/components/Combobox.cjs.js +2 -2
  74. package/dist/components/Combobox.es.js +2 -2
  75. package/dist/components/Command.cjs.js +1 -1
  76. package/dist/components/Command.es.js +1 -1
  77. package/dist/components/CommandPalette.cjs.js +1 -1
  78. package/dist/components/CommandPalette.es.js +1 -1
  79. package/dist/components/Comment.cjs.js +3 -3
  80. package/dist/components/Comment.es.js +3 -3
  81. package/dist/components/CopyButton.cjs.js +1 -1
  82. package/dist/components/CopyButton.es.js +1 -1
  83. package/dist/components/DataCodeSection.cjs.js +1 -1
  84. package/dist/components/DataCodeSection.es.js +1 -1
  85. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  86. package/dist/components/DataDetailsPanel.es.js +2 -2
  87. package/dist/components/DataList.cjs.js +3 -3
  88. package/dist/components/DataList.es.js +3 -3
  89. package/dist/components/DataPanel.cjs.js +1 -1
  90. package/dist/components/DataPanel.es.js +1 -1
  91. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  92. package/dist/components/DateRangeTimeline.es.js +1 -1
  93. package/dist/components/DateTimePicker.cjs.js +3 -3
  94. package/dist/components/DateTimePicker.es.js +3 -3
  95. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  96. package/dist/components/DateTimeRangePicker.es.js +1 -1
  97. package/dist/components/Dialog.cjs.js +2 -2
  98. package/dist/components/Dialog.es.js +2 -2
  99. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  100. package/dist/components/DisabledFeatureButton.es.js +1 -1
  101. package/dist/components/Drawer.cjs.js +1 -1
  102. package/dist/components/Drawer.es.js +1 -1
  103. package/dist/components/EmptyState.cjs.js +1 -1
  104. package/dist/components/EmptyState.es.js +1 -1
  105. package/dist/components/EnvironmentVariablesEditor.cjs.js +9 -9
  106. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  107. package/dist/components/EnvironmentVariablesEditor.es.js +9 -9
  108. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  109. package/dist/components/ErrorBoundary.cjs.js +1 -1
  110. package/dist/components/ErrorBoundary.es.js +1 -1
  111. package/dist/components/FileDropBackdrop.cjs.js +1 -1
  112. package/dist/components/FileDropBackdrop.es.js +1 -1
  113. package/dist/components/FilterBar.cjs.js +3 -3
  114. package/dist/components/FilterBar.es.js +4 -4
  115. package/dist/components/FormFieldBlocks.cjs.js +5 -5
  116. package/dist/components/FormFieldBlocks.es.js +5 -5
  117. package/dist/components/InputGroup.cjs.js +1 -1
  118. package/dist/components/InputGroup.es.js +1 -1
  119. package/dist/components/JSONSchemaForm.cjs.js +3 -3
  120. package/dist/components/JSONSchemaForm.es.js +3 -3
  121. package/dist/components/ListSearch.cjs.js +1 -1
  122. package/dist/components/ListSearch.es.js +1 -1
  123. package/dist/components/LogsDataList.cjs.js +3 -1
  124. package/dist/components/LogsDataList.cjs.js.map +1 -1
  125. package/dist/components/LogsDataList.es.js +3 -1
  126. package/dist/components/LogsDataList.es.js.map +1 -1
  127. package/dist/components/MainSidebar.cjs.js +1 -1
  128. package/dist/components/MainSidebar.es.js +2 -2
  129. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  130. package/dist/components/MarkdownRenderer.es.js +1 -1
  131. package/dist/components/Message.cjs.js +1 -1
  132. package/dist/components/Message.es.js +1 -1
  133. package/dist/components/MetricsCard.cjs.js +1 -1
  134. package/dist/components/MetricsCard.es.js +1 -1
  135. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  136. package/dist/components/MetricsKpiCard.es.js +1 -1
  137. package/dist/components/Notice.cjs.js +1 -1
  138. package/dist/components/Notice.es.js +1 -1
  139. package/dist/components/PrevNextNav.cjs.js +1 -1
  140. package/dist/components/PrevNextNav.es.js +1 -1
  141. package/dist/components/ProductBadge.cjs.js +1 -1
  142. package/dist/components/ProductBadge.es.js +1 -1
  143. package/dist/components/PropertyFilter.cjs.js +3 -3
  144. package/dist/components/PropertyFilter.es.js +4 -4
  145. package/dist/components/PullRequestIcon.cjs.js +1 -1
  146. package/dist/components/PullRequestIcon.cjs.js.map +1 -1
  147. package/dist/components/PullRequestIcon.es.js +1 -1
  148. package/dist/components/PullRequestIcon.es.js.map +1 -1
  149. package/dist/components/RelativeTimestamp.cjs.js +1 -1
  150. package/dist/components/RelativeTimestamp.es.js +1 -1
  151. package/dist/components/RuleBuilder.cjs.js +3 -3
  152. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  153. package/dist/components/RuleBuilder.es.js +3 -3
  154. package/dist/components/RuleBuilder.es.js.map +1 -1
  155. package/dist/components/SankeyChart.cjs.js +1 -1
  156. package/dist/components/SankeyChart.es.js +1 -1
  157. package/dist/components/Section.cjs.js +1 -1
  158. package/dist/components/Section.es.js +1 -1
  159. package/dist/components/SegmentedControl.cjs.js +11 -0
  160. package/dist/components/SegmentedControl.cjs.js.map +1 -0
  161. package/dist/components/SegmentedControl.d.ts +2 -0
  162. package/dist/components/SegmentedControl.es.js +2 -0
  163. package/dist/components/SegmentedControl.es.js.map +1 -0
  164. package/dist/components/Select.cjs.js +1 -1
  165. package/dist/components/Select.es.js +1 -1
  166. package/dist/components/SideDialog.cjs.js +1 -1
  167. package/dist/components/SideDialog.es.js +1 -1
  168. package/dist/components/Steps.cjs.js +2 -2
  169. package/dist/components/Steps.cjs.js.map +1 -1
  170. package/dist/components/Steps.es.js +2 -2
  171. package/dist/components/Steps.es.js.map +1 -1
  172. package/dist/components/Tabs.cjs.js +3 -3
  173. package/dist/components/Tabs.es.js +3 -3
  174. package/dist/components/ThemeToggle.cjs.js +17 -86
  175. package/dist/components/ThemeToggle.cjs.js.map +1 -1
  176. package/dist/components/ThemeToggle.es.js +18 -87
  177. package/dist/components/ThemeToggle.es.js.map +1 -1
  178. package/dist/components/ThreadList.cjs.js +1 -1
  179. package/dist/components/ThreadList.es.js +1 -1
  180. package/dist/components/TokenBudget.cjs.js +1 -1
  181. package/dist/components/TokenBudget.es.js +1 -1
  182. package/dist/components/Truncate.cjs.js +1 -1
  183. package/dist/components/Truncate.es.js +1 -1
  184. package/dist/components/Workflow.cjs.js +6 -6
  185. package/dist/components/Workflow.es.js +6 -6
  186. package/dist/components/ai/activity.cjs.js +4 -4
  187. package/dist/components/ai/activity.es.js +4 -4
  188. package/dist/components/ai/ask-user.cjs.js +1 -1
  189. package/dist/components/ai/ask-user.es.js +1 -1
  190. package/dist/components/ai/plan.cjs.js +1 -1
  191. package/dist/components/ai/plan.es.js +1 -1
  192. package/dist/components/ai/tool-approval.cjs.js +1 -1
  193. package/dist/components/ai/tool-approval.es.js +1 -1
  194. package/dist/components/ai/tool-call.cjs.js +4 -4
  195. package/dist/components/ai/tool-call.es.js +4 -4
  196. package/dist/{copy-button-C6nXDjBz.cjs → copy-button-CGkFEDHF.cjs} +2 -2
  197. package/dist/{copy-button-C6nXDjBz.cjs.map → copy-button-CGkFEDHF.cjs.map} +1 -1
  198. package/dist/{copy-button-DbmsTUum.js → copy-button-DH8xtrWz.js} +2 -2
  199. package/dist/{copy-button-DbmsTUum.js.map → copy-button-DH8xtrWz.js.map} +1 -1
  200. package/dist/{data-code-section-D5b6_jcB.cjs → data-code-section-DWBfkrmO.cjs} +6 -6
  201. package/dist/data-code-section-DWBfkrmO.cjs.map +1 -0
  202. package/dist/{data-code-section-Bd2Xnckz.js → data-code-section-It6myyvZ.js} +6 -6
  203. package/dist/data-code-section-It6myyvZ.js.map +1 -0
  204. package/dist/{data-list-DL_oFE4j.js → data-list-CyeD_u-6.js} +3 -3
  205. package/dist/{data-list-DL_oFE4j.js.map → data-list-CyeD_u-6.js.map} +1 -1
  206. package/dist/{data-list-D8bACyyK.cjs → data-list-Y42KyuI1.cjs} +3 -3
  207. package/dist/{data-list-D8bACyyK.cjs.map → data-list-Y42KyuI1.cjs.map} +1 -1
  208. package/dist/{data-list-spacer-_bFe0e2u.cjs → data-list-spacer-BSg2hCx7.cjs} +2 -2
  209. package/dist/{data-list-spacer-_bFe0e2u.cjs.map → data-list-spacer-BSg2hCx7.cjs.map} +1 -1
  210. package/dist/{data-list-spacer-CE6-4ZQq.js → data-list-spacer-C8z32twc.js} +2 -2
  211. package/dist/{data-list-spacer-CE6-4ZQq.js.map → data-list-spacer-C8z32twc.js.map} +1 -1
  212. package/dist/{data-panel-CjvoI_lx.cjs → data-panel-D7Qk4iwZ.cjs} +3 -3
  213. package/dist/{data-panel-CjvoI_lx.cjs.map → data-panel-D7Qk4iwZ.cjs.map} +1 -1
  214. package/dist/{data-panel-42fdcagQ.js → data-panel-DuLf5j8S.js} +3 -3
  215. package/dist/{data-panel-42fdcagQ.js.map → data-panel-DuLf5j8S.js.map} +1 -1
  216. package/dist/{date-time-range-picker-C-pSI1u1.js → date-time-range-picker-BDylIIzt.js} +4 -4
  217. package/dist/{date-time-range-picker-C-pSI1u1.js.map → date-time-range-picker-BDylIIzt.js.map} +1 -1
  218. package/dist/{date-time-range-picker-BORAuIJM.cjs → date-time-range-picker-UheN070q.cjs} +4 -4
  219. package/dist/{date-time-range-picker-BORAuIJM.cjs.map → date-time-range-picker-UheN070q.cjs.map} +1 -1
  220. package/dist/{dialog-cKzR2TXI.js → dialog-Dt5kASkl.js} +2 -2
  221. package/dist/{dialog-cKzR2TXI.js.map → dialog-Dt5kASkl.js.map} +1 -1
  222. package/dist/{dialog-action-B3AHq7mU.cjs → dialog-action-C3Tc7ZKI.cjs} +3 -3
  223. package/dist/{dialog-action-B3AHq7mU.cjs.map → dialog-action-C3Tc7ZKI.cjs.map} +1 -1
  224. package/dist/{dialog-action-BGmDoI5T.js → dialog-action-CB3h9Z2J.js} +3 -3
  225. package/dist/{dialog-action-BGmDoI5T.js.map → dialog-action-CB3h9Z2J.js.map} +1 -1
  226. package/dist/{dialog-DYpOpj9s.cjs → dialog-d_AK1NQD.cjs} +2 -2
  227. package/dist/{dialog-DYpOpj9s.cjs.map → dialog-d_AK1NQD.cjs.map} +1 -1
  228. package/dist/domains/auth/components/permission-denied.cjs.js +1 -1
  229. package/dist/domains/auth/components/permission-denied.es.js +1 -1
  230. package/dist/domains/auth/components/session-expired.cjs.js +2 -2
  231. package/dist/domains/auth/components/session-expired.es.js +2 -2
  232. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  233. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  234. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  235. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  236. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  237. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  238. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  239. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  240. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  241. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  242. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  243. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  244. package/dist/domains/chat/messages/message-row.cjs.js +5 -5
  245. package/dist/domains/chat/messages/message-row.es.js +5 -5
  246. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  247. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  248. package/dist/domains/chat/messages/renderers/message-text.cjs.js +3 -3
  249. package/dist/domains/chat/messages/renderers/message-text.es.js +3 -3
  250. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  251. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  252. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  253. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  254. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  255. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  256. package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
  257. package/dist/domains/chat/messages/skill-message.es.js +3 -3
  258. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  259. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  260. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  261. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  262. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  263. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  264. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  265. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  266. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  267. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  268. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  269. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  270. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +3 -3
  271. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js.map +1 -1
  272. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +3 -3
  273. package/dist/domains/chat/tools/badges/code-mode-badge.es.js.map +1 -1
  274. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +3 -3
  275. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +3 -3
  276. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  277. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  278. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  279. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  280. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  281. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  282. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +3 -3
  283. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js.map +1 -1
  284. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +3 -3
  285. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js.map +1 -1
  286. package/dist/domains/chat/tools/badges/tool-approval-buttons.cjs.js +1 -1
  287. package/dist/domains/chat/tools/badges/tool-approval-buttons.es.js +1 -1
  288. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
  289. package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
  290. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +5 -3
  291. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  292. package/dist/domains/chat/tools/badges/workflow-badge.es.js +5 -3
  293. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  294. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  295. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  296. package/dist/domains/chat/tools/tool-card-kind.cjs.js +5 -1
  297. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  298. package/dist/domains/chat/tools/tool-card-kind.es.js +5 -2
  299. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  300. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  301. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  302. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  303. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  304. package/dist/domains/logs/components/log-data-panel.cjs.js +3 -3
  305. package/dist/domains/logs/components/log-data-panel.es.js +3 -3
  306. package/dist/domains/logs/components/logs-error-content.cjs.js +1 -1
  307. package/dist/domains/logs/components/logs-error-content.es.js +1 -1
  308. package/dist/domains/logs/components/logs-list-view.cjs.js +1 -1
  309. package/dist/domains/logs/components/logs-list-view.es.js +1 -1
  310. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  311. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  312. package/dist/domains/logs/components/no-logs-info.cjs.js +2 -2
  313. package/dist/domains/logs/components/no-logs-info.es.js +2 -2
  314. package/dist/domains/memory/components/flame-graph.cjs.js +2 -2
  315. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  316. package/dist/domains/memory/components/flame-graph.es.js +2 -2
  317. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  318. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  319. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  320. package/dist/domains/memory/components/observation-detail-view.cjs.js +1 -1
  321. package/dist/domains/memory/components/observation-detail-view.es.js +1 -1
  322. package/dist/domains/memory/components/thread-context-progress.cjs.js +1 -1
  323. package/dist/domains/memory/components/thread-context-progress.es.js +1 -1
  324. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  325. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  326. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  327. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  328. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  329. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  330. package/dist/domains/metrics/components/latency-card-view.cjs.js +5 -5
  331. package/dist/domains/metrics/components/latency-card-view.cjs.js.map +1 -1
  332. package/dist/domains/metrics/components/latency-card-view.es.js +5 -5
  333. package/dist/domains/metrics/components/latency-card-view.es.js.map +1 -1
  334. package/dist/domains/metrics/components/memory-card-view.cjs.js +5 -5
  335. package/dist/domains/metrics/components/memory-card-view.es.js +5 -5
  336. package/dist/domains/metrics/components/metrics-utils.cjs.js +1 -1
  337. package/dist/domains/metrics/components/metrics-utils.cjs.js.map +1 -1
  338. package/dist/domains/metrics/components/metrics-utils.es.js +1 -1
  339. package/dist/domains/metrics/components/metrics-utils.es.js.map +1 -1
  340. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  341. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  342. package/dist/domains/metrics/components/scores-card-view.cjs.js +6 -6
  343. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  344. package/dist/domains/metrics/components/scores-card-view.es.js +6 -6
  345. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  346. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +4 -4
  347. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +4 -4
  348. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +5 -5
  349. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js.map +1 -1
  350. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +5 -5
  351. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js.map +1 -1
  352. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +4 -4
  353. package/dist/domains/metrics/components/traces-volume-card-view.es.js +4 -4
  354. package/dist/domains/metrics/drilldown.cjs.js +0 -1
  355. package/dist/domains/metrics/drilldown.cjs.js.map +1 -1
  356. package/dist/domains/metrics/drilldown.es.js +0 -1
  357. package/dist/domains/metrics/drilldown.es.js.map +1 -1
  358. package/dist/domains/metrics/metrics-filters.cjs.js +0 -2
  359. package/dist/domains/metrics/metrics-filters.cjs.js.map +1 -1
  360. package/dist/domains/metrics/metrics-filters.es.js +0 -2
  361. package/dist/domains/metrics/metrics-filters.es.js.map +1 -1
  362. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
  363. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
  364. package/dist/domains/review/components/review-status-badge.cjs.js +1 -1
  365. package/dist/domains/review/components/review-status-badge.es.js +1 -1
  366. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  367. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  368. package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
  369. package/dist/domains/scores/components/span-scoring.es.js +4 -4
  370. package/dist/domains/scores/components/trace-scores-tab.cjs.js +5 -4
  371. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  372. package/dist/domains/scores/components/trace-scores-tab.es.js +5 -4
  373. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  374. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  375. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  376. package/dist/domains/traces/components/format-trace-thread-messages.cjs.js +31 -9
  377. package/dist/domains/traces/components/format-trace-thread-messages.cjs.js.map +1 -1
  378. package/dist/domains/traces/components/format-trace-thread-messages.es.js +31 -9
  379. package/dist/domains/traces/components/format-trace-thread-messages.es.js.map +1 -1
  380. package/dist/domains/traces/components/no-traces-info.cjs.js +1 -1
  381. package/dist/domains/traces/components/no-traces-info.es.js +1 -1
  382. package/dist/domains/traces/components/span-data-panel-view.cjs.js +6 -6
  383. package/dist/domains/traces/components/span-data-panel-view.es.js +6 -6
  384. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  385. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  386. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  387. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  388. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  389. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  390. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  391. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  392. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  393. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js.map +1 -1
  394. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  395. package/dist/domains/traces/components/span-payload/span-payload-json.es.js.map +1 -1
  396. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +16 -11
  397. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js.map +1 -1
  398. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +16 -11
  399. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js.map +1 -1
  400. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  401. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  402. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  403. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  404. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +16 -3
  405. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js.map +1 -1
  406. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +16 -3
  407. package/dist/domains/traces/components/span-payload/span-payload-section.es.js.map +1 -1
  408. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  409. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  410. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +2 -2
  411. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +2 -2
  412. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  413. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  414. package/dist/domains/traces/components/span-type-legend.cjs.js +1 -1
  415. package/dist/domains/traces/components/span-type-legend.es.js +1 -1
  416. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  417. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  418. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +6 -6
  419. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js.map +1 -1
  420. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +6 -6
  421. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js.map +1 -1
  422. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  423. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  424. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +9 -2
  425. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  426. package/dist/domains/traces/components/thread-view-by-trace.es.js +10 -3
  427. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  428. package/dist/domains/traces/components/trace-columns-menu.cjs.js +5 -5
  429. package/dist/domains/traces/components/trace-columns-menu.es.js +5 -5
  430. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +6 -6
  431. package/dist/domains/traces/components/trace-data-panel-view.es.js +6 -6
  432. package/dist/domains/traces/components/trace-data-panel.cjs.js +4 -2
  433. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  434. package/dist/domains/traces/components/trace-data-panel.es.js +4 -2
  435. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  436. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  437. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  438. package/dist/domains/traces/components/trace-messages-panel.cjs.js +1 -1
  439. package/dist/domains/traces/components/trace-messages-panel.es.js +1 -1
  440. package/dist/domains/traces/components/trace-status-value.cjs.js +1 -1
  441. package/dist/domains/traces/components/trace-status-value.cjs.js.map +1 -1
  442. package/dist/domains/traces/components/trace-status-value.es.js +1 -1
  443. package/dist/domains/traces/components/trace-status-value.es.js.map +1 -1
  444. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  445. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  446. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +9 -2
  447. package/dist/domains/traces/components/trace-thread-item-view.cjs.js.map +1 -1
  448. package/dist/domains/traces/components/trace-thread-item-view.es.js +10 -3
  449. package/dist/domains/traces/components/trace-thread-item-view.es.js.map +1 -1
  450. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  451. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  452. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  453. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  454. package/dist/domains/traces/components/traces-error-content.cjs.js +1 -1
  455. package/dist/domains/traces/components/traces-error-content.es.js +1 -1
  456. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  457. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  458. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  459. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  460. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -0
  461. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  462. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -0
  463. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  464. package/dist/domains/traces/hooks/use-trace-query.cjs.js +2 -2
  465. package/dist/domains/traces/hooks/use-trace-query.cjs.js.map +1 -1
  466. package/dist/domains/traces/hooks/use-trace-query.es.js +2 -2
  467. package/dist/domains/traces/hooks/use-trace-query.es.js.map +1 -1
  468. package/dist/domains/traces/trace-filters.cjs.js +5 -5
  469. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  470. package/dist/domains/traces/trace-filters.es.js +5 -5
  471. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  472. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  473. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  474. package/dist/domains/workflows/components/workflow-entity-header.cjs.js +1 -1
  475. package/dist/domains/workflows/components/workflow-entity-header.es.js +1 -1
  476. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  477. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  478. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  479. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  480. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +2 -2
  481. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +2 -2
  482. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +3 -3
  483. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js.map +1 -1
  484. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +3 -3
  485. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js.map +1 -1
  486. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  487. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  488. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  489. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  490. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +4 -4
  491. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js.map +1 -1
  492. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +4 -4
  493. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js.map +1 -1
  494. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +2 -2
  495. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +2 -2
  496. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +3 -3
  497. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +3 -3
  498. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  499. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  500. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  501. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  502. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  503. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  504. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  505. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  506. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  507. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  508. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  509. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  510. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  511. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  512. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  513. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  514. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  515. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  516. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  517. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  518. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  519. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  520. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +4 -4
  521. package/dist/domains/workflows/workflow/workflow-run-data.es.js +4 -4
  522. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  523. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  524. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +4 -4
  525. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js.map +1 -1
  526. package/dist/domains/workflows/workflow/workflow-run-header.es.js +4 -4
  527. package/dist/domains/workflows/workflow/workflow-run-header.es.js.map +1 -1
  528. package/dist/domains/workflows/workflow/workflow-status.cjs.js +2 -2
  529. package/dist/domains/workflows/workflow/workflow-status.cjs.js.map +1 -1
  530. package/dist/domains/workflows/workflow/workflow-status.es.js +2 -2
  531. package/dist/domains/workflows/workflow/workflow-status.es.js.map +1 -1
  532. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  533. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  534. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  535. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  536. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +3 -3
  537. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +3 -3
  538. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  539. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  540. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  541. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  542. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  543. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  544. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +2 -2
  545. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +2 -2
  546. package/dist/domains/workflows/workflow-status-tone.cjs.js +2 -2
  547. package/dist/domains/workflows/workflow-status-tone.cjs.js.map +1 -1
  548. package/dist/domains/workflows/workflow-status-tone.es.js +2 -2
  549. package/dist/domains/workflows/workflow-status-tone.es.js.map +1 -1
  550. package/dist/{drawer-DXf50w71.js → drawer-BI3B_krl.js} +2 -2
  551. package/dist/{drawer-DXf50w71.js.map → drawer-BI3B_krl.js.map} +1 -1
  552. package/dist/{drawer-d81cZiSV.cjs → drawer-DnXudVbm.cjs} +2 -2
  553. package/dist/{drawer-d81cZiSV.cjs.map → drawer-DnXudVbm.cjs.map} +1 -1
  554. package/dist/ee/signals/components/entity-index-compact-grid.cjs.js +1 -1
  555. package/dist/ee/signals/components/entity-index-compact-grid.es.js +1 -1
  556. package/dist/ee/signals/components/entity-index-list.cjs.js +4 -2
  557. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  558. package/dist/ee/signals/components/entity-index-list.es.js +4 -2
  559. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  560. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  561. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  562. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +1 -1
  563. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +1 -1
  564. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +5 -4
  565. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  566. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -4
  567. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  568. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  569. package/dist/ee/signals/examples-pager.es.js +1 -1
  570. package/dist/ee/signals/flow-card.cjs.js +1 -1
  571. package/dist/ee/signals/flow-card.es.js +1 -1
  572. package/dist/ee/signals/noise-detail-panel.cjs.js +3 -3
  573. package/dist/ee/signals/noise-detail-panel.cjs.js.map +1 -1
  574. package/dist/ee/signals/noise-detail-panel.es.js +3 -3
  575. package/dist/ee/signals/noise-detail-panel.es.js.map +1 -1
  576. package/dist/ee/signals/sankey-signals.cjs.js +2 -2
  577. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  578. package/dist/ee/signals/sankey-signals.es.js +2 -2
  579. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  580. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +5 -5
  581. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +5 -5
  582. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  583. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  584. package/dist/ee/signals/signal-colors.cjs.js +3 -3
  585. package/dist/ee/signals/signal-colors.cjs.js.map +1 -1
  586. package/dist/ee/signals/signal-colors.es.js +3 -3
  587. package/dist/ee/signals/signal-colors.es.js.map +1 -1
  588. package/dist/ee/signals/signals-error-state.cjs.js +2 -2
  589. package/dist/ee/signals/signals-error-state.cjs.js.map +1 -1
  590. package/dist/ee/signals/signals-error-state.es.js +2 -2
  591. package/dist/ee/signals/signals-error-state.es.js.map +1 -1
  592. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  593. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  594. package/dist/ee/signals/theme-detail-panel.cjs.js +4 -4
  595. package/dist/ee/signals/theme-detail-panel.cjs.js.map +1 -1
  596. package/dist/ee/signals/theme-detail-panel.es.js +4 -4
  597. package/dist/ee/signals/theme-detail-panel.es.js.map +1 -1
  598. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  599. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  600. package/dist/ee/signals/trace-insight-view.cjs.js +4 -4
  601. package/dist/ee/signals/trace-insight-view.cjs.js.map +1 -1
  602. package/dist/ee/signals/trace-insight-view.es.js +4 -4
  603. package/dist/ee/signals/trace-insight-view.es.js.map +1 -1
  604. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  605. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  606. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  607. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  608. package/dist/{field-block-DpejZ6U6.js → field-block--PeppIRb.js} +10 -3
  609. package/dist/field-block--PeppIRb.js.map +1 -0
  610. package/dist/{field-block-BIDi9Bvc.cjs → field-block-DtaPqBa3.cjs} +10 -3
  611. package/dist/field-block-DtaPqBa3.cjs.map +1 -0
  612. package/dist/{field-block-error-msg-B6-wnlAz.cjs → field-block-error-msg-CkhEN6nU.cjs} +2 -2
  613. package/dist/{field-block-error-msg-B6-wnlAz.cjs.map → field-block-error-msg-CkhEN6nU.cjs.map} +1 -1
  614. package/dist/{field-block-error-msg-edlaudVx.js → field-block-error-msg-LXwhKzIq.js} +2 -2
  615. package/dist/{field-block-error-msg-edlaudVx.js.map → field-block-error-msg-LXwhKzIq.js.map} +1 -1
  616. package/dist/{filter-bar-chip-D4CSm9KP.cjs → filter-bar-chip-CBlHsz4A.cjs} +3 -3
  617. package/dist/{filter-bar-chip-D4CSm9KP.cjs.map → filter-bar-chip-CBlHsz4A.cjs.map} +1 -1
  618. package/dist/{filter-bar-chip-BNPOrSrD.js → filter-bar-chip-DFOtEvpW.js} +3 -3
  619. package/dist/{filter-bar-chip-BNPOrSrD.js.map → filter-bar-chip-DFOtEvpW.js.map} +1 -1
  620. package/dist/hooks/use-environment-variables-editor.cjs.js +6 -1
  621. package/dist/hooks/use-environment-variables-editor.cjs.js.map +1 -1
  622. package/dist/hooks/use-environment-variables-editor.es.js +6 -1
  623. package/dist/hooks/use-environment-variables-editor.es.js.map +1 -1
  624. package/dist/{input-group-B8bnoDrA.js → input-group-0G9ZX_cM.js} +2 -2
  625. package/dist/{input-group-B8bnoDrA.js.map → input-group-0G9ZX_cM.js.map} +1 -1
  626. package/dist/{input-group-I8YVM_Ps.cjs → input-group-BRhBfeHC.cjs} +2 -2
  627. package/dist/{input-group-I8YVM_Ps.cjs.map → input-group-BRhBfeHC.cjs.map} +1 -1
  628. package/dist/layout/tabbed-container.cjs.js +6 -6
  629. package/dist/layout/tabbed-container.es.js +6 -6
  630. package/dist/lib/form/components/array-element-wrapper.cjs.js +2 -2
  631. package/dist/lib/form/components/array-element-wrapper.cjs.js.map +1 -1
  632. package/dist/lib/form/components/array-element-wrapper.es.js +2 -2
  633. package/dist/lib/form/components/array-element-wrapper.es.js.map +1 -1
  634. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  635. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  636. package/dist/lib/form/components/boolean-field.cjs.js +1 -1
  637. package/dist/lib/form/components/boolean-field.es.js +1 -1
  638. package/dist/lib/form/components/date-field.cjs.js +1 -1
  639. package/dist/lib/form/components/date-field.es.js +1 -1
  640. package/dist/lib/form/components/error-message.cjs.js +1 -1
  641. package/dist/lib/form/components/error-message.es.js +1 -1
  642. package/dist/lib/form/components/field-wrapper.cjs.js +1 -1
  643. package/dist/lib/form/components/field-wrapper.es.js +1 -1
  644. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  645. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  646. package/dist/lib/form/components/object-wrapper.cjs.js +1 -1
  647. package/dist/lib/form/components/object-wrapper.cjs.js.map +1 -1
  648. package/dist/lib/form/components/object-wrapper.es.js +1 -1
  649. package/dist/lib/form/components/object-wrapper.es.js.map +1 -1
  650. package/dist/lib/form/components/record-field.cjs.js +1 -1
  651. package/dist/lib/form/components/record-field.es.js +1 -1
  652. package/dist/lib/form/components/select-field.cjs.js +1 -1
  653. package/dist/lib/form/components/select-field.es.js +1 -1
  654. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  655. package/dist/lib/form/components/submit-button.es.js +1 -1
  656. package/dist/{list-search-DXb7HFX8.cjs → list-search-BzAIj0DB.cjs} +2 -2
  657. package/dist/{list-search-DXb7HFX8.cjs.map → list-search-BzAIj0DB.cjs.map} +1 -1
  658. package/dist/{list-search-9l8IEdxZ.js → list-search-DI1DH7vU.js} +2 -2
  659. package/dist/{list-search-9l8IEdxZ.js.map → list-search-DI1DH7vU.js.map} +1 -1
  660. package/dist/{logs-data-list-C77r2FOj.js → logs-data-list-ButZV-2H.js} +3 -3
  661. package/dist/{logs-data-list-C77r2FOj.js.map → logs-data-list-ButZV-2H.js.map} +1 -1
  662. package/dist/{logs-data-list-CEFyG1Xb.cjs → logs-data-list-CtHern11.cjs} +3 -3
  663. package/dist/{logs-data-list-CEFyG1Xb.cjs.map → logs-data-list-CtHern11.cjs.map} +1 -1
  664. package/dist/{main-sidebar-link-active-BNko0jHZ.cjs → main-sidebar-link-active-D8VSuJKx.cjs} +2 -2
  665. package/dist/{main-sidebar-link-active-BNko0jHZ.cjs.map → main-sidebar-link-active-D8VSuJKx.cjs.map} +1 -1
  666. package/dist/{main-sidebar-link-active-1_ktyA8Q.js → main-sidebar-link-active-buZAhlHo.js} +2 -2
  667. package/dist/{main-sidebar-link-active-1_ktyA8Q.js.map → main-sidebar-link-active-buZAhlHo.js.map} +1 -1
  668. package/dist/{markdown-renderer-CSwjfPaf.cjs → markdown-renderer-CZV6neya.cjs} +3 -3
  669. package/dist/{markdown-renderer-CSwjfPaf.cjs.map → markdown-renderer-CZV6neya.cjs.map} +1 -1
  670. package/dist/{markdown-renderer-Bl0V7FCo.js → markdown-renderer-Cy7Iwy1c.js} +3 -3
  671. package/dist/{markdown-renderer-Bl0V7FCo.js.map → markdown-renderer-Cy7Iwy1c.js.map} +1 -1
  672. package/dist/{message-copy-button-DP3U-xA-.js → message-copy-button-C_mFZ3Vg.js} +2 -2
  673. package/dist/{message-copy-button-DP3U-xA-.js.map → message-copy-button-C_mFZ3Vg.js.map} +1 -1
  674. package/dist/{message-copy-button-ClJBX9qx.cjs → message-copy-button-CqMR2T2t.cjs} +2 -2
  675. package/dist/{message-copy-button-ClJBX9qx.cjs.map → message-copy-button-CqMR2T2t.cjs.map} +1 -1
  676. package/dist/{metrics-card-CloSmyRQ.js → metrics-card-C1rTkbcn.js} +3 -3
  677. package/dist/metrics-card-C1rTkbcn.js.map +1 -0
  678. package/dist/{metrics-card-HmQJHDNa.cjs → metrics-card-D7J9JDgn.cjs} +3 -3
  679. package/dist/metrics-card-D7J9JDgn.cjs.map +1 -0
  680. package/dist/{metrics-kpi-card-CW24YjZp.cjs → metrics-kpi-card-1hbihR2T.cjs} +3 -3
  681. package/dist/metrics-kpi-card-1hbihR2T.cjs.map +1 -0
  682. package/dist/{metrics-kpi-card-DLDT28IB.js → metrics-kpi-card-CiB88L41.js} +3 -3
  683. package/dist/metrics-kpi-card-CiB88L41.js.map +1 -0
  684. package/dist/new/settings.cjs.js +1 -1
  685. package/dist/new/settings.es.js +1 -1
  686. package/dist/new/sidebar.cjs.js +3 -3
  687. package/dist/new/sidebar.cjs.js.map +1 -1
  688. package/dist/new/sidebar.es.js +4 -4
  689. package/dist/new/sidebar.es.js.map +1 -1
  690. package/dist/{notification-activity-B1_2BPe_.js → notification-activity-CFR_b8eA.js} +4 -4
  691. package/dist/notification-activity-CFR_b8eA.js.map +1 -0
  692. package/dist/{notification-activity-BAn2fhYd.cjs → notification-activity-Dk50wcE4.cjs} +4 -4
  693. package/dist/notification-activity-Dk50wcE4.cjs.map +1 -0
  694. package/dist/{plan-DJfH1c_u.js → plan-CvTAGIWv.js} +10 -55
  695. package/dist/plan-CvTAGIWv.js.map +1 -0
  696. package/dist/{plan-ZKAT5frg.cjs → plan-DsfNN3a0.cjs} +10 -55
  697. package/dist/plan-DsfNN3a0.cjs.map +1 -0
  698. package/dist/primitives/menu-item.cjs.js +2 -2
  699. package/dist/primitives/menu-item.cjs.js.map +1 -1
  700. package/dist/primitives/menu-item.es.js +2 -2
  701. package/dist/primitives/menu-item.es.js.map +1 -1
  702. package/dist/primitives/trigger-button.cjs.js +1 -1
  703. package/dist/primitives/trigger-button.es.js +1 -1
  704. package/dist/{property-filter-applied-D0F0BYMY.cjs → property-filter-applied-Bp2z4KBv.cjs} +2 -2
  705. package/dist/{property-filter-applied-D0F0BYMY.cjs.map → property-filter-applied-Bp2z4KBv.cjs.map} +1 -1
  706. package/dist/{property-filter-applied-k0TOa9hf.js → property-filter-applied-C9verwDR.js} +2 -2
  707. package/dist/{property-filter-applied-k0TOa9hf.js.map → property-filter-applied-C9verwDR.js.map} +1 -1
  708. package/dist/{reasoning-activity-CO0Ab1Za.cjs → reasoning-activity-BVviIdMe.cjs} +3 -3
  709. package/dist/{reasoning-activity-CO0Ab1Za.cjs.map → reasoning-activity-BVviIdMe.cjs.map} +1 -1
  710. package/dist/{reasoning-activity-D3oCzL58.js → reasoning-activity-OM1-hbCV.js} +3 -3
  711. package/dist/{reasoning-activity-D3oCzL58.js.map → reasoning-activity-OM1-hbCV.js.map} +1 -1
  712. package/dist/{relative-timestamp-D-IvjsVb.cjs → relative-timestamp-BlmN8Vjn.cjs} +2 -2
  713. package/dist/{relative-timestamp-D-IvjsVb.cjs.map → relative-timestamp-BlmN8Vjn.cjs.map} +1 -1
  714. package/dist/{relative-timestamp-wERh5vUE.js → relative-timestamp-Cnp4VeLp.js} +2 -2
  715. package/dist/{relative-timestamp-wERh5vUE.js.map → relative-timestamp-Cnp4VeLp.js.map} +1 -1
  716. package/dist/resize/panel-drawer.cjs.js +1 -1
  717. package/dist/resize/panel-drawer.es.js +1 -1
  718. package/dist/{sankey-chart-D-xMiO2u.js → sankey-chart-D4Idjtth.js} +2 -2
  719. package/dist/sankey-chart-D4Idjtth.js.map +1 -0
  720. package/dist/{sankey-chart-S7iF7d0E.cjs → sankey-chart-DfVMZpz5.cjs} +2 -2
  721. package/dist/sankey-chart-DfVMZpz5.cjs.map +1 -0
  722. package/dist/{search-field-block-Cj9lJsYi.js → search-field-block-BPJh5yuW.js} +3 -3
  723. package/dist/{search-field-block-Cj9lJsYi.js.map → search-field-block-BPJh5yuW.js.map} +1 -1
  724. package/dist/{search-field-block-B1eqMV8x.cjs → search-field-block-DRa-ZNQj.cjs} +3 -3
  725. package/dist/{search-field-block-B1eqMV8x.cjs.map → search-field-block-DRa-ZNQj.cjs.map} +1 -1
  726. package/dist/{section-B5g_0tUo.js → section-BfEsNViI.js} +2 -2
  727. package/dist/{section-B5g_0tUo.js.map → section-BfEsNViI.js.map} +1 -1
  728. package/dist/{section-Bbp-NIR9.cjs → section-dBeXxS69.cjs} +2 -2
  729. package/dist/{section-Bbp-NIR9.cjs.map → section-dBeXxS69.cjs.map} +1 -1
  730. package/dist/segmented-control--I3IgW21.cjs +157 -0
  731. package/dist/segmented-control--I3IgW21.cjs.map +1 -0
  732. package/dist/segmented-control-BxeiypPR.js +135 -0
  733. package/dist/segmented-control-BxeiypPR.js.map +1 -0
  734. package/dist/{select-C0ZGSJYa.cjs → select-DBY9LQFQ.cjs} +2 -2
  735. package/dist/{select-C0ZGSJYa.cjs.map → select-DBY9LQFQ.cjs.map} +1 -1
  736. package/dist/{select-ch8imm15.js → select-DZeNf-kI.js} +2 -2
  737. package/dist/{select-ch8imm15.js.map → select-DZeNf-kI.js.map} +1 -1
  738. package/dist/{select-field-block-_ZUzUs7l.js → select-field-block-C_x9wNpU.js} +3 -3
  739. package/dist/{select-field-block-_ZUzUs7l.js.map → select-field-block-C_x9wNpU.js.map} +1 -1
  740. package/dist/{select-field-block-Dy_N3tWv.cjs → select-field-block-D8AMzoQT.cjs} +3 -3
  741. package/dist/{select-field-block-Dy_N3tWv.cjs.map → select-field-block-D8AMzoQT.cjs.map} +1 -1
  742. package/dist/{settings-row-2hq9Ww8Z.js → settings-row-C1JZDdz_.js} +4 -4
  743. package/dist/settings-row-C1JZDdz_.js.map +1 -0
  744. package/dist/{settings-row-BMRADph-.cjs → settings-row-C7YKfUgY.cjs} +4 -4
  745. package/dist/settings-row-C7YKfUgY.cjs.map +1 -0
  746. package/dist/{side-dialog-D2O3Y7GB.js → side-dialog-DCzCcZs6.js} +5 -5
  747. package/dist/{side-dialog-D2O3Y7GB.js.map → side-dialog-DCzCcZs6.js.map} +1 -1
  748. package/dist/{side-dialog-7P9aEC4v.cjs → side-dialog-DFnD1498.cjs} +5 -5
  749. package/dist/{side-dialog-7P9aEC4v.cjs.map → side-dialog-DFnD1498.cjs.map} +1 -1
  750. package/dist/{signal-activity-1REUU8T_.js → signal-activity-DW2ExjIp.js} +3 -3
  751. package/dist/{signal-activity-1REUU8T_.js.map → signal-activity-DW2ExjIp.js.map} +1 -1
  752. package/dist/{signal-activity-4OJb4kp6.cjs → signal-activity-byCTRP86.cjs} +3 -3
  753. package/dist/{signal-activity-4OJb4kp6.cjs.map → signal-activity-byCTRP86.cjs.map} +1 -1
  754. package/dist/{span-payload-primitives-CbXrqcs-.cjs → span-payload-primitives-D0mhsndj.cjs} +3 -3
  755. package/dist/{span-payload-primitives-CbXrqcs-.cjs.map → span-payload-primitives-D0mhsndj.cjs.map} +1 -1
  756. package/dist/{span-payload-primitives-CEflnpwW.js → span-payload-primitives-DL1Kr0cu.js} +3 -3
  757. package/dist/{span-payload-primitives-CEflnpwW.js.map → span-payload-primitives-DL1Kr0cu.js.map} +1 -1
  758. package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -0
  759. package/dist/src/domains/metrics/components/metrics-utils.d.ts +1 -1
  760. package/dist/src/domains/metrics/hooks/use-metrics-filters.d.ts +0 -1
  761. package/dist/src/domains/metrics/metrics-filters.d.ts +0 -2
  762. package/dist/src/domains/traces/components/trace-data-panel-view.stories.d.ts +2 -0
  763. package/dist/src/domains/traces/hooks/use-trace-query.d.ts +1 -1
  764. package/dist/src/ds/components/Badge/Badge.d.ts +3 -3
  765. package/dist/src/ds/components/ButtonsGroup/buttons-group.d.ts +1 -0
  766. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +0 -6
  767. package/dist/src/ds/components/CodeEditor/variable-autocomplete-extension.d.ts +6 -0
  768. package/dist/src/ds/components/CollapsibleBox/collapsible-box.d.ts +10 -0
  769. package/dist/src/ds/components/CollapsibleBox/collapsible-box.stories.d.ts +11 -0
  770. package/dist/src/ds/components/CollapsibleBox/index.d.ts +2 -0
  771. package/dist/src/ds/components/CollapsibleBox/use-collapsible-box.d.ts +14 -0
  772. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +1 -1
  773. package/dist/src/ds/components/SegmentedControl/index.d.ts +1 -0
  774. package/dist/src/ds/components/SegmentedControl/segmented-control.d.ts +38 -0
  775. package/dist/src/ds/components/SegmentedControl/segmented-control.stories.d.ts +11 -0
  776. package/dist/src/ds/components/ThemeToggle/theme-toggle.d.ts +12 -30
  777. package/dist/src/ds/components/ThemeToggle/theme-toggle.stories.d.ts +0 -1
  778. package/dist/src/ds/components/TokenBudget/tones.d.ts +1 -1
  779. package/dist/src/ds/components/Workflow/cards/workflow-card-badge-utils.d.ts +2 -2
  780. package/dist/src/ds/components/ai/plan/plan.d.ts +1 -1
  781. package/dist/src/ds/tokens/colors.d.ts +31 -28
  782. package/dist/src/hooks/use-environment-variables-editor.d.ts +1 -1
  783. package/dist/src/lib/colors.d.ts +1 -1
  784. package/dist/style.css +517 -184
  785. package/dist/{tabs-content-h2qqD8t-.js → tabs-content-CwbkTutf.js} +2 -2
  786. package/dist/{tabs-content-h2qqD8t-.js.map → tabs-content-CwbkTutf.js.map} +1 -1
  787. package/dist/{tabs-content-DQNRMjup.cjs → tabs-content-DnscxcLI.cjs} +2 -2
  788. package/dist/{tabs-content-DQNRMjup.cjs.map → tabs-content-DnscxcLI.cjs.map} +1 -1
  789. package/dist/{tabs-root-BqC8X_h6.cjs → tabs-root-C-ePF1y9.cjs} +4 -4
  790. package/dist/tabs-root-C-ePF1y9.cjs.map +1 -0
  791. package/dist/{tabs-root-4vL8SHCO.js → tabs-root-lrZZ3KwH.js} +4 -4
  792. package/dist/tabs-root-lrZZ3KwH.js.map +1 -0
  793. package/dist/{tabs-tab-lm4xyjtD.cjs → tabs-tab-BmIBFifi.cjs} +2 -2
  794. package/dist/{tabs-tab-lm4xyjtD.cjs.map → tabs-tab-BmIBFifi.cjs.map} +1 -1
  795. package/dist/{tabs-tab-7e2as-AV.js → tabs-tab-DoPSW-1s.js} +2 -2
  796. package/dist/{tabs-tab-7e2as-AV.js.map → tabs-tab-DoPSW-1s.js.map} +1 -1
  797. package/dist/{text-field-block-DYOWjPgO.cjs → text-field-block-DUntfMPu.cjs} +2 -2
  798. package/dist/{text-field-block-DYOWjPgO.cjs.map → text-field-block-DUntfMPu.cjs.map} +1 -1
  799. package/dist/{text-field-block-DJsOk8dJ.js → text-field-block-DZaGiu5D.js} +2 -2
  800. package/dist/{text-field-block-DJsOk8dJ.js.map → text-field-block-DZaGiu5D.js.map} +1 -1
  801. package/dist/{textarea-field-block-DqTd31gF.js → textarea-field-block-BscOSlvI.js} +2 -2
  802. package/dist/{textarea-field-block-DqTd31gF.js.map → textarea-field-block-BscOSlvI.js.map} +1 -1
  803. package/dist/{textarea-field-block-C5fPL2Hn.cjs → textarea-field-block-CKAhmLrz.cjs} +2 -2
  804. package/dist/{textarea-field-block-C5fPL2Hn.cjs.map → textarea-field-block-CKAhmLrz.cjs.map} +1 -1
  805. package/dist/{thread-list-DGI6M6if.js → thread-list-BTpezI4f.js} +2 -2
  806. package/dist/{thread-list-DGI6M6if.js.map → thread-list-BTpezI4f.js.map} +1 -1
  807. package/dist/{thread-list-DwASH1Vl.cjs → thread-list-Drcptd4x.cjs} +2 -2
  808. package/dist/{thread-list-DwASH1Vl.cjs.map → thread-list-Drcptd4x.cjs.map} +1 -1
  809. package/dist/{time-picker-CfZbLgMm.js → time-picker-BElZALzM.js} +2 -2
  810. package/dist/{time-picker-CfZbLgMm.js.map → time-picker-BElZALzM.js.map} +1 -1
  811. package/dist/{time-picker-C0DCPWpR.cjs → time-picker-_QJdolkZ.cjs} +2 -2
  812. package/dist/{time-picker-C0DCPWpR.cjs.map → time-picker-_QJdolkZ.cjs.map} +1 -1
  813. package/dist/tokens.cjs.js +31 -28
  814. package/dist/tokens.cjs.js.map +1 -1
  815. package/dist/tokens.es.js +31 -28
  816. package/dist/tokens.es.js.map +1 -1
  817. package/dist/{tones-DVtXIMPY.js → tones-RD3VjqiN.js} +2 -2
  818. package/dist/tones-RD3VjqiN.js.map +1 -0
  819. package/dist/{tones-BRAQR5Yb.cjs → tones-koH7QNLH.cjs} +2 -2
  820. package/dist/tones-koH7QNLH.cjs.map +1 -0
  821. package/dist/{tool-approval-xZvYiuBP.js → tool-approval-BNJ6MpnV.js} +3 -3
  822. package/dist/tool-approval-BNJ6MpnV.js.map +1 -0
  823. package/dist/{tool-approval-BAER9nxR.cjs → tool-approval-DOPxugSv.cjs} +3 -3
  824. package/dist/tool-approval-DOPxugSv.cjs.map +1 -0
  825. package/dist/{tool-call-arguments-D7PMJ6vj.js → tool-call-arguments-B1MghuMZ.js} +3 -3
  826. package/dist/{tool-call-arguments-D7PMJ6vj.js.map → tool-call-arguments-B1MghuMZ.js.map} +1 -1
  827. package/dist/{tool-call-arguments-ynBfg2dY.cjs → tool-call-arguments-CQYR65FB.cjs} +3 -3
  828. package/dist/{tool-call-arguments-ynBfg2dY.cjs.map → tool-call-arguments-CQYR65FB.cjs.map} +1 -1
  829. package/dist/{tool-call-group-9Dtupqev.cjs → tool-call-group-D_ioE9hT.cjs} +3 -3
  830. package/dist/tool-call-group-D_ioE9hT.cjs.map +1 -0
  831. package/dist/{tool-call-group-DJX7eUYY.js → tool-call-group-ZuYxpyDs.js} +3 -3
  832. package/dist/tool-call-group-ZuYxpyDs.js.map +1 -0
  833. package/dist/{tool-call-mono-gKG9Ek1m.js → tool-call-mono-CC6uzvhS.js} +2 -2
  834. package/dist/{tool-call-mono-gKG9Ek1m.js.map → tool-call-mono-CC6uzvhS.js.map} +1 -1
  835. package/dist/{tool-call-mono-DFSfVZ6E.cjs → tool-call-mono-DXtb4UMm.cjs} +2 -2
  836. package/dist/{tool-call-mono-DFSfVZ6E.cjs.map → tool-call-mono-DXtb4UMm.cjs.map} +1 -1
  837. package/dist/{tool-call-output-DEoCE_Xn.js → tool-call-output-COq3kB-f.js} +3 -3
  838. package/dist/tool-call-output-COq3kB-f.js.map +1 -0
  839. package/dist/{tool-call-output-Dl4sVfCy.cjs → tool-call-output-ht3k1qLQ.cjs} +3 -3
  840. package/dist/tool-call-output-ht3k1qLQ.cjs.map +1 -0
  841. package/dist/{tool-card-BA1YcDoS.js → tool-card-C_K5PwrK.js} +5 -5
  842. package/dist/tool-card-C_K5PwrK.js.map +1 -0
  843. package/dist/{tool-card-DRqhTx-u.cjs → tool-card-rxo27sve.cjs} +5 -5
  844. package/dist/tool-card-rxo27sve.cjs.map +1 -0
  845. package/dist/{traces-data-list-CU93pUfj.cjs → traces-data-list-BsAYYJ9t.cjs} +4 -4
  846. package/dist/{traces-data-list-CU93pUfj.cjs.map → traces-data-list-BsAYYJ9t.cjs.map} +1 -1
  847. package/dist/{traces-data-list-DaedGcID.js → traces-data-list-CnNpGVRN.js} +4 -4
  848. package/dist/{traces-data-list-DaedGcID.js.map → traces-data-list-CnNpGVRN.js.map} +1 -1
  849. package/dist/use-collapsible-box-CCvsF_a9.js +54 -0
  850. package/dist/use-collapsible-box-CCvsF_a9.js.map +1 -0
  851. package/dist/use-collapsible-box-CbQOkokQ.cjs +58 -0
  852. package/dist/use-collapsible-box-CbQOkokQ.cjs.map +1 -0
  853. package/dist/{use-workflow-graph-runtime-D0ODPlNB.cjs → use-workflow-graph-runtime-CIs2HzoP.cjs} +3 -3
  854. package/dist/{use-workflow-graph-runtime-D0ODPlNB.cjs.map → use-workflow-graph-runtime-CIs2HzoP.cjs.map} +1 -1
  855. package/dist/{use-workflow-graph-runtime-XL5zreeR.js → use-workflow-graph-runtime-CexS1ECI.js} +3 -3
  856. package/dist/{use-workflow-graph-runtime-XL5zreeR.js.map → use-workflow-graph-runtime-CexS1ECI.js.map} +1 -1
  857. package/dist/utils/colors.cjs.js +2 -2
  858. package/dist/utils/colors.cjs.js.map +1 -1
  859. package/dist/utils/colors.es.js +2 -2
  860. package/dist/utils/colors.es.js.map +1 -1
  861. package/dist/{workflow-code-dialog-content-vLneZlMd.cjs → workflow-code-dialog-content-BFm2IWDl.cjs} +3 -3
  862. package/dist/{workflow-code-dialog-content-vLneZlMd.cjs.map → workflow-code-dialog-content-BFm2IWDl.cjs.map} +1 -1
  863. package/dist/{workflow-code-dialog-content-Iz2Omi1P.js → workflow-code-dialog-content-BM4ZnrUr.js} +3 -3
  864. package/dist/{workflow-code-dialog-content-Iz2Omi1P.js.map → workflow-code-dialog-content-BM4ZnrUr.js.map} +1 -1
  865. package/dist/{workflow-condition-card-B0Va5Amx.js → workflow-condition-card-3J-As62x.js} +10 -10
  866. package/dist/{workflow-condition-card-B0Va5Amx.js.map → workflow-condition-card-3J-As62x.js.map} +1 -1
  867. package/dist/{workflow-condition-card-CfjhZb0m.cjs → workflow-condition-card-BjEAp0t6.cjs} +10 -10
  868. package/dist/{workflow-condition-card-CfjhZb0m.cjs.map → workflow-condition-card-BjEAp0t6.cjs.map} +1 -1
  869. package/dist/{workflow-data-edge-view-DXeWURnc.cjs → workflow-data-edge-view-7f8O6pVW.cjs} +2 -2
  870. package/dist/{workflow-data-edge-view-DXeWURnc.cjs.map → workflow-data-edge-view-7f8O6pVW.cjs.map} +1 -1
  871. package/dist/{workflow-data-edge-view-o7akvbpB.js → workflow-data-edge-view-BpGLV-at.js} +2 -2
  872. package/dist/{workflow-data-edge-view-o7akvbpB.js.map → workflow-data-edge-view-BpGLV-at.js.map} +1 -1
  873. package/dist/{workflow-debug-controls-Bcb4vcek.cjs → workflow-debug-controls-VbxiluNZ.cjs} +3 -3
  874. package/dist/{workflow-debug-controls-Bcb4vcek.cjs.map → workflow-debug-controls-VbxiluNZ.cjs.map} +1 -1
  875. package/dist/{workflow-debug-controls-DULCFa4s.js → workflow-debug-controls-tty6gLX2.js} +3 -3
  876. package/dist/{workflow-debug-controls-DULCFa4s.js.map → workflow-debug-controls-tty6gLX2.js.map} +1 -1
  877. package/dist/{workflow-edge-data-button-CX-eSbSB.cjs → workflow-edge-data-button-BOVRo4xO.cjs} +4 -4
  878. package/dist/{workflow-edge-data-button-CX-eSbSB.cjs.map → workflow-edge-data-button-BOVRo4xO.cjs.map} +1 -1
  879. package/dist/{workflow-edge-data-button-BuZzeN2n.js → workflow-edge-data-button-C6eyWbcG.js} +4 -4
  880. package/dist/{workflow-edge-data-button-BuZzeN2n.js.map → workflow-edge-data-button-C6eyWbcG.js.map} +1 -1
  881. package/dist/{workflow-step-action-Cf_XmOwj.js → workflow-step-action-B3coZwPr.js} +3 -3
  882. package/dist/{workflow-step-action-Cf_XmOwj.js.map → workflow-step-action-B3coZwPr.js.map} +1 -1
  883. package/dist/{workflow-step-action-JMkWtObA.cjs → workflow-step-action-COOlMQGX.cjs} +3 -3
  884. package/dist/{workflow-step-action-JMkWtObA.cjs.map → workflow-step-action-COOlMQGX.cjs.map} +1 -1
  885. package/package.json +10 -10
  886. package/theme/colors.css +66 -66
  887. package/theme/data-viz.css +3 -3
  888. package/theme/status.css +89 -71
  889. package/theme/surfaces.css +4 -1
  890. package/dist/Badge-H8K5WrXg.cjs.map +0 -1
  891. package/dist/Badge-Q_pCeeGW.js.map +0 -1
  892. package/dist/Button-BnmR2HRc.cjs.map +0 -1
  893. package/dist/Button-C6eUqcPI.js.map +0 -1
  894. package/dist/EmptyState-CJ5KC4Db.cjs.map +0 -1
  895. package/dist/EmptyState-CynkaZd1.js.map +0 -1
  896. package/dist/activity-8egTNbaI.cjs.map +0 -1
  897. package/dist/activity-Duth8KP_.js.map +0 -1
  898. package/dist/ask-user-Crg1O-o6.js.map +0 -1
  899. package/dist/ask-user-DJXmLJzy.cjs.map +0 -1
  900. package/dist/code-editor-BXchPl_F.cjs.map +0 -1
  901. package/dist/code-editor-Cltwid7c.js.map +0 -1
  902. package/dist/data-code-section-Bd2Xnckz.js.map +0 -1
  903. package/dist/data-code-section-D5b6_jcB.cjs.map +0 -1
  904. package/dist/field-block-BIDi9Bvc.cjs.map +0 -1
  905. package/dist/field-block-DpejZ6U6.js.map +0 -1
  906. package/dist/metrics-card-CloSmyRQ.js.map +0 -1
  907. package/dist/metrics-card-HmQJHDNa.cjs.map +0 -1
  908. package/dist/metrics-kpi-card-CW24YjZp.cjs.map +0 -1
  909. package/dist/metrics-kpi-card-DLDT28IB.js.map +0 -1
  910. package/dist/notification-activity-B1_2BPe_.js.map +0 -1
  911. package/dist/notification-activity-BAn2fhYd.cjs.map +0 -1
  912. package/dist/plan-DJfH1c_u.js.map +0 -1
  913. package/dist/plan-ZKAT5frg.cjs.map +0 -1
  914. package/dist/sankey-chart-D-xMiO2u.js.map +0 -1
  915. package/dist/sankey-chart-S7iF7d0E.cjs.map +0 -1
  916. package/dist/settings-row-2hq9Ww8Z.js.map +0 -1
  917. package/dist/settings-row-BMRADph-.cjs.map +0 -1
  918. package/dist/tabs-root-4vL8SHCO.js.map +0 -1
  919. package/dist/tabs-root-BqC8X_h6.cjs.map +0 -1
  920. package/dist/tones-BRAQR5Yb.cjs.map +0 -1
  921. package/dist/tones-DVtXIMPY.js.map +0 -1
  922. package/dist/tool-approval-BAER9nxR.cjs.map +0 -1
  923. package/dist/tool-approval-xZvYiuBP.js.map +0 -1
  924. package/dist/tool-call-group-9Dtupqev.cjs.map +0 -1
  925. package/dist/tool-call-group-DJX7eUYY.js.map +0 -1
  926. package/dist/tool-call-output-DEoCE_Xn.js.map +0 -1
  927. package/dist/tool-call-output-Dl4sVfCy.cjs.map +0 -1
  928. package/dist/tool-card-BA1YcDoS.js.map +0 -1
  929. package/dist/tool-card-DRqhTx-u.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- export { N as Notice } from '../Notice-Ce3r5x-7.js';
1
+ export { N as Notice } from '../Notice-B8RIClJD.js';
2
2
  //# sourceMappingURL=Notice.es.js.map
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
- const Button = require('../Button-BnmR2HRc.cjs');
7
+ const Button = require('../Button-CXhSUBxN.cjs');
8
8
 
9
9
  function PrevNextNav({
10
10
  onPrevious,
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { ArrowUpIcon, ArrowDownIcon } from 'lucide-react';
3
- import { B as Button } from '../Button-C6eUqcPI.js';
3
+ import { B as Button } from '../Button-D43ghVKt.js';
4
4
 
5
5
  function PrevNextNav({
6
6
  onPrevious,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  require('../ProductBadge.css');const jsxRuntime = require('react/jsx-runtime');
6
- const Badge = require('../Badge-H8K5WrXg.cjs');
6
+ const Badge = require('../Badge-D3EctKQo.cjs');
7
7
  const productIdentity = require('../product-identity-CAQoXS5p.cjs');
8
8
  const ProductIcon = require('../ProductIcon-hkExeSRM.cjs');
9
9
  const utils_cn = require('../cn-DG0X1KEP.cjs');
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { B as Badge } from '../Badge-Q_pCeeGW.js';
2
+ import { B as Badge } from '../Badge-DmOqFpXW.js';
3
3
  import { b as productNames } from '../product-identity-DwNTealD.js';
4
4
  import { P as ProductIcon } from '../ProductIcon-BtyRYlaH.js';
5
5
  import { c as cn } from '../cn-65Adrsfj.js';
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const propertyFilterApplied = require('../property-filter-applied-D0F0BYMY.cjs');
5
+ const propertyFilterApplied = require('../property-filter-applied-Bp2z4KBv.cjs');
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
- const Button = require('../Button-BnmR2HRc.cjs');
10
- const combobox = require('../combobox-rKV-Lksj.cjs');
9
+ const Button = require('../Button-CXhSUBxN.cjs');
10
+ const combobox = require('../combobox-DJ0c4o4S.cjs');
11
11
  const popover = require('../popover-lBqKiPtp.cjs');
12
12
  const Txt = require('../Txt-DPmEpNbp.cjs');
13
13
  const primitives_fluidMenu = require('../primitives/fluid-menu.cjs.js');
@@ -1,10 +1,10 @@
1
- import { b as PickMultiPanel } from '../property-filter-applied-k0TOa9hf.js';
2
- export { a as PropertyFilterActions, P as PropertyFilterApplied } from '../property-filter-applied-k0TOa9hf.js';
1
+ import { b as PickMultiPanel } from '../property-filter-applied-C9verwDR.js';
2
+ export { a as PropertyFilterActions, P as PropertyFilterApplied } from '../property-filter-applied-C9verwDR.js';
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import { ListFilterPlusIcon, ArrowLeftIcon, FilterIcon, PlusIcon, X, ListFilterPlus, ChevronRightIcon } from 'lucide-react';
5
5
  import { useMemo, useState, useRef, useCallback, useEffect, forwardRef } from 'react';
6
- import { B as Button } from '../Button-C6eUqcPI.js';
7
- import { C as Combobox } from '../combobox-B_C0cNid.js';
6
+ import { B as Button } from '../Button-D43ghVKt.js';
7
+ import { C as Combobox } from '../combobox-B15qTrWO.js';
8
8
  import { P as Popover, b as PopoverTrigger, a as PopoverContent } from '../popover-Dg70UGyn.js';
9
9
  import { T as Txt } from '../Txt-BP1SRHmL.js';
10
10
  import { useFluidMenu, FluidMenuItems, useFluidMenuItemRef } from '../primitives/fluid-menu.es.js';
@@ -9,7 +9,7 @@ const utils_cn = require('../cn-DG0X1KEP.cjs');
9
9
  const statuses = {
10
10
  draft: { icon: lucideReact.GitPullRequestDraft, className: "text-muted-foreground!" },
11
11
  open: { icon: lucideReact.GitPullRequest, className: "text-success-indicator!" },
12
- closed: { icon: lucideReact.GitPullRequestClosed, className: "text-destructive-indicator!" },
12
+ closed: { icon: lucideReact.GitPullRequestClosed, className: "text-destructive-foreground!" },
13
13
  merged: { icon: lucideReact.GitPullRequest, className: "pull-request-icon-merged" }
14
14
  };
15
15
  function PullRequestIcon({ status, size = 16, className, ...props }) {
@@ -1 +1 @@
1
- {"version":3,"file":"PullRequestIcon.cjs.js","sources":["../../src/ds/components/PullRequestIcon/pull-request-icon.tsx"],"sourcesContent":["import { GitPullRequest, GitPullRequestClosed, GitPullRequestDraft } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\nimport './pull-request-icon.css';\n\nconst statuses = {\n draft: { icon: GitPullRequestDraft, className: 'text-muted-foreground!' },\n open: { icon: GitPullRequest, className: 'text-success-indicator!' },\n closed: { icon: GitPullRequestClosed, className: 'text-destructive-indicator!' },\n merged: { icon: GitPullRequest, className: 'pull-request-icon-merged' },\n};\n\nexport interface PullRequestIconProps extends ComponentProps<'svg'> {\n status: keyof typeof statuses;\n size?: number;\n}\n\nexport function PullRequestIcon({ status, size = 16, className, ...props }: PullRequestIconProps) {\n const { icon: Icon, className: statusClassName } = statuses[status];\n return <Icon size={size} className={cn('shrink-0', statusClassName, className)} {...props} />;\n}\n"],"names":["GitPullRequestDraft","GitPullRequest","GitPullRequestClosed","jsx","cn"],"mappings":";;;;;;;;AAKA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,EAAO,EAAE,IAAA,EAAMA,+BAAA,EAAqB,WAAW,wBAAA,EAAyB;AAAA,EACxE,IAAA,EAAM,EAAE,IAAA,EAAMC,0BAAA,EAAgB,WAAW,yBAAA,EAA0B;AAAA,EACnE,MAAA,EAAQ,EAAE,IAAA,EAAMC,gCAAA,EAAsB,WAAW,6BAAA,EAA8B;AAAA,EAC/E,MAAA,EAAQ,EAAE,IAAA,EAAMD,0BAAA,EAAgB,WAAW,0BAAA;AAC7C,CAAA;AAOO,SAAS,eAAA,CAAgB,EAAE,MAAA,EAAQ,IAAA,GAAO,IAAI,SAAA,EAAW,GAAG,OAAM,EAAyB;AAChG,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,WAAW,eAAA,EAAgB,GAAI,SAAS,MAAM,CAAA;AAClE,EAAA,uBAAOE,cAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,SAAA,EAAWC,WAAA,CAAG,YAAY,eAAA,EAAiB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAC7F;;;;"}
1
+ {"version":3,"file":"PullRequestIcon.cjs.js","sources":["../../src/ds/components/PullRequestIcon/pull-request-icon.tsx"],"sourcesContent":["import { GitPullRequest, GitPullRequestClosed, GitPullRequestDraft } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\nimport './pull-request-icon.css';\n\nconst statuses = {\n draft: { icon: GitPullRequestDraft, className: 'text-muted-foreground!' },\n open: { icon: GitPullRequest, className: 'text-success-indicator!' },\n closed: { icon: GitPullRequestClosed, className: 'text-destructive-foreground!' },\n merged: { icon: GitPullRequest, className: 'pull-request-icon-merged' },\n};\n\nexport interface PullRequestIconProps extends ComponentProps<'svg'> {\n status: keyof typeof statuses;\n size?: number;\n}\n\nexport function PullRequestIcon({ status, size = 16, className, ...props }: PullRequestIconProps) {\n const { icon: Icon, className: statusClassName } = statuses[status];\n return <Icon size={size} className={cn('shrink-0', statusClassName, className)} {...props} />;\n}\n"],"names":["GitPullRequestDraft","GitPullRequest","GitPullRequestClosed","jsx","cn"],"mappings":";;;;;;;;AAKA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,EAAO,EAAE,IAAA,EAAMA,+BAAA,EAAqB,WAAW,wBAAA,EAAyB;AAAA,EACxE,IAAA,EAAM,EAAE,IAAA,EAAMC,0BAAA,EAAgB,WAAW,yBAAA,EAA0B;AAAA,EACnE,MAAA,EAAQ,EAAE,IAAA,EAAMC,gCAAA,EAAsB,WAAW,8BAAA,EAA+B;AAAA,EAChF,MAAA,EAAQ,EAAE,IAAA,EAAMD,0BAAA,EAAgB,WAAW,0BAAA;AAC7C,CAAA;AAOO,SAAS,eAAA,CAAgB,EAAE,MAAA,EAAQ,IAAA,GAAO,IAAI,SAAA,EAAW,GAAG,OAAM,EAAyB;AAChG,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,WAAW,eAAA,EAAgB,GAAI,SAAS,MAAM,CAAA;AAClE,EAAA,uBAAOE,cAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,SAAA,EAAWC,WAAA,CAAG,YAAY,eAAA,EAAiB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAC7F;;;;"}
@@ -5,7 +5,7 @@ import { c as cn } from '../cn-65Adrsfj.js';
5
5
  import '../PullRequestIcon.css';const statuses = {
6
6
  draft: { icon: GitPullRequestDraft, className: "text-muted-foreground!" },
7
7
  open: { icon: GitPullRequest, className: "text-success-indicator!" },
8
- closed: { icon: GitPullRequestClosed, className: "text-destructive-indicator!" },
8
+ closed: { icon: GitPullRequestClosed, className: "text-destructive-foreground!" },
9
9
  merged: { icon: GitPullRequest, className: "pull-request-icon-merged" }
10
10
  };
11
11
  function PullRequestIcon({ status, size = 16, className, ...props }) {
@@ -1 +1 @@
1
- {"version":3,"file":"PullRequestIcon.es.js","sources":["../../src/ds/components/PullRequestIcon/pull-request-icon.tsx"],"sourcesContent":["import { GitPullRequest, GitPullRequestClosed, GitPullRequestDraft } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\nimport './pull-request-icon.css';\n\nconst statuses = {\n draft: { icon: GitPullRequestDraft, className: 'text-muted-foreground!' },\n open: { icon: GitPullRequest, className: 'text-success-indicator!' },\n closed: { icon: GitPullRequestClosed, className: 'text-destructive-indicator!' },\n merged: { icon: GitPullRequest, className: 'pull-request-icon-merged' },\n};\n\nexport interface PullRequestIconProps extends ComponentProps<'svg'> {\n status: keyof typeof statuses;\n size?: number;\n}\n\nexport function PullRequestIcon({ status, size = 16, className, ...props }: PullRequestIconProps) {\n const { icon: Icon, className: statusClassName } = statuses[status];\n return <Icon size={size} className={cn('shrink-0', statusClassName, className)} {...props} />;\n}\n"],"names":[],"mappings":";;;;AAKA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,EAAO,EAAE,IAAA,EAAM,mBAAA,EAAqB,WAAW,wBAAA,EAAyB;AAAA,EACxE,IAAA,EAAM,EAAE,IAAA,EAAM,cAAA,EAAgB,WAAW,yBAAA,EAA0B;AAAA,EACnE,MAAA,EAAQ,EAAE,IAAA,EAAM,oBAAA,EAAsB,WAAW,6BAAA,EAA8B;AAAA,EAC/E,MAAA,EAAQ,EAAE,IAAA,EAAM,cAAA,EAAgB,WAAW,0BAAA;AAC7C,CAAA;AAOO,SAAS,eAAA,CAAgB,EAAE,MAAA,EAAQ,IAAA,GAAO,IAAI,SAAA,EAAW,GAAG,OAAM,EAAyB;AAChG,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,WAAW,eAAA,EAAgB,GAAI,SAAS,MAAM,CAAA;AAClE,EAAA,uBAAO,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,SAAA,EAAW,EAAA,CAAG,YAAY,eAAA,EAAiB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAC7F;;;;"}
1
+ {"version":3,"file":"PullRequestIcon.es.js","sources":["../../src/ds/components/PullRequestIcon/pull-request-icon.tsx"],"sourcesContent":["import { GitPullRequest, GitPullRequestClosed, GitPullRequestDraft } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { cn } from '@/lib/utils';\nimport './pull-request-icon.css';\n\nconst statuses = {\n draft: { icon: GitPullRequestDraft, className: 'text-muted-foreground!' },\n open: { icon: GitPullRequest, className: 'text-success-indicator!' },\n closed: { icon: GitPullRequestClosed, className: 'text-destructive-foreground!' },\n merged: { icon: GitPullRequest, className: 'pull-request-icon-merged' },\n};\n\nexport interface PullRequestIconProps extends ComponentProps<'svg'> {\n status: keyof typeof statuses;\n size?: number;\n}\n\nexport function PullRequestIcon({ status, size = 16, className, ...props }: PullRequestIconProps) {\n const { icon: Icon, className: statusClassName } = statuses[status];\n return <Icon size={size} className={cn('shrink-0', statusClassName, className)} {...props} />;\n}\n"],"names":[],"mappings":";;;;AAKA,MAAM,QAAA,GAAW;AAAA,EACf,KAAA,EAAO,EAAE,IAAA,EAAM,mBAAA,EAAqB,WAAW,wBAAA,EAAyB;AAAA,EACxE,IAAA,EAAM,EAAE,IAAA,EAAM,cAAA,EAAgB,WAAW,yBAAA,EAA0B;AAAA,EACnE,MAAA,EAAQ,EAAE,IAAA,EAAM,oBAAA,EAAsB,WAAW,8BAAA,EAA+B;AAAA,EAChF,MAAA,EAAQ,EAAE,IAAA,EAAM,cAAA,EAAgB,WAAW,0BAAA;AAC7C,CAAA;AAOO,SAAS,eAAA,CAAgB,EAAE,MAAA,EAAQ,IAAA,GAAO,IAAI,SAAA,EAAW,GAAG,OAAM,EAAyB;AAChG,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,WAAW,eAAA,EAAgB,GAAI,SAAS,MAAM,CAAA;AAClE,EAAA,uBAAO,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,SAAA,EAAW,EAAA,CAAG,YAAY,eAAA,EAAiB,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAC7F;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const relativeTimestamp = require('../relative-timestamp-D-IvjsVb.cjs');
5
+ const relativeTimestamp = require('../relative-timestamp-BlmN8Vjn.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { R as RelativeTimestamp } from '../relative-timestamp-wERh5vUE.js';
1
+ export { R as RelativeTimestamp } from '../relative-timestamp-Cnp4VeLp.js';
2
2
  //# sourceMappingURL=RelativeTimestamp.es.js.map
@@ -6,11 +6,11 @@ const jsxRuntime = require('react/jsx-runtime');
6
6
  const lucideReact = require('lucide-react');
7
7
  const React = require('react');
8
8
  const utils_ruleEngine = require('../utils/rule-engine.cjs.js');
9
- const select = require('../select-C0ZGSJYa.cjs');
9
+ const select = require('../select-DBY9LQFQ.cjs');
10
10
  const icons_Icon = require('../icons/Icon.cjs.js');
11
11
  const utils_cn = require('../cn-DG0X1KEP.cjs');
12
12
  const input = require('../input-bd223EJW.cjs');
13
- const Button = require('../Button-BnmR2HRc.cjs');
13
+ const Button = require('../Button-CXhSUBxN.cjs');
14
14
  const Txt = require('../Txt-DPmEpNbp.cjs');
15
15
  const primitives_transitions = require('../primitives/transitions.cjs.js');
16
16
  const primitives_typography = require('../primitives/typography.cjs.js');
@@ -524,7 +524,7 @@ const RuleGroupView = ({ schema, group, onChange, onRemove, depth, maxDepth }) =
524
524
  onClick: handleToggleOperator,
525
525
  className: utils_cn.cn(
526
526
  "absolute top-0 left-1/2 z-10 -translate-1/2 cursor-pointer rounded-full px-3 py-0.5 text-meta",
527
- group.operator === "OR" ? "bg-badge-yellow-subtle text-badge-yellow-foreground hover:bg-badge-yellow-strong" : "bg-badge-blue-subtle text-badge-blue-foreground hover:bg-badge-blue-strong"
527
+ group.operator === "OR" ? "bg-badge-amber-subtle text-badge-amber-foreground hover:bg-badge-amber-strong" : "bg-badge-blue-subtle text-badge-blue-foreground hover:bg-badge-blue-strong"
528
528
  ),
529
529
  children: group.operator.toLowerCase()
530
530
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RuleBuilder.cjs.js","sources":["../../src/lib/rule-engine/components/schema-utils.ts","../../src/lib/rule-engine/components/rule-field-select.tsx","../../src/lib/rule-engine/components/types.ts","../../src/lib/rule-engine/components/rule-operator-select.tsx","../../src/lib/rule-engine/components/rule-value-input.tsx","../../src/lib/rule-engine/components/rule-row.tsx","../../src/lib/rule-engine/components/rule-builder.tsx"],"sourcesContent":["import type { FieldOption, JsonSchema, JsonSchemaProperty } from './types';\n\n/**\n * Gets the primary type from a JSON Schema property\n */\nexport const getPropertyType = (property: JsonSchemaProperty): string => {\n if (Array.isArray(property.type)) {\n // Return the first non-null type\n return property.type.find(t => t !== 'null') || 'string';\n }\n return property.type || 'string';\n};\n\n/**\n * Checks if a property has nested children (object or array of objects)\n */\nexport const hasNestedChildren = (property: JsonSchemaProperty): boolean => {\n const type = getPropertyType(property);\n\n if (type === 'object' && property.properties) {\n return Object.keys(property.properties).length > 0;\n }\n\n if (type === 'array' && property.items) {\n const itemType = getPropertyType(property.items);\n return itemType === 'object' && !!property.items.properties;\n }\n\n return false;\n};\n\n/**\n * Extracts field options from JSON Schema properties at a given level\n */\nexport const getFieldOptionsFromProperties = (\n properties: Record<string, JsonSchemaProperty> | undefined,\n parentPath: string = '',\n): FieldOption[] => {\n if (!properties) return [];\n\n return Object.entries(properties).map(([key, property]) => {\n const path = parentPath ? `${parentPath}.${key}` : key;\n const type = getPropertyType(property);\n const hasChildren = hasNestedChildren(property);\n\n return {\n path,\n label: property.title || key,\n type,\n hasChildren,\n children: type === 'object' ? property.properties : undefined,\n items: type === 'array' ? property.items : undefined,\n };\n });\n};\n\n/**\n * Gets field options from the root schema\n */\nexport const getFieldOptionsFromSchema = (schema: JsonSchema): FieldOption[] => {\n return getFieldOptionsFromProperties(schema.properties);\n};\n\n/**\n * Gets child field options for a given field option\n */\nexport const getChildFieldOptions = (fieldOption: FieldOption, currentPath: string): FieldOption[] => {\n if (fieldOption.type === 'object' && fieldOption.children) {\n return getFieldOptionsFromProperties(fieldOption.children, currentPath);\n }\n\n if (fieldOption.type === 'array' && fieldOption.items) {\n const itemType = getPropertyType(fieldOption.items);\n if (itemType === 'object' && fieldOption.items.properties) {\n // For arrays, we use the current path directly (user will access via index or iteration)\n return getFieldOptionsFromProperties(fieldOption.items.properties, currentPath);\n }\n }\n\n return [];\n};\n\n/**\n * Parses a field path into segments\n */\nexport const parseFieldPath = (path: string): string[] => {\n return path.split('.').filter(Boolean);\n};\n\n/**\n * Gets the field option at a specific path in the schema\n */\nexport const getFieldOptionAtPath = (schema: JsonSchema, path: string): FieldOption | undefined => {\n const segments = parseFieldPath(path);\n if (segments.length === 0) return undefined;\n\n let currentProperties = schema.properties;\n let currentPath = '';\n let result: FieldOption | undefined;\n\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n if (segment === undefined) return undefined;\n\n const property = currentProperties?.[segment];\n if (!property) {\n return undefined;\n }\n\n currentPath = currentPath ? `${currentPath}.${segment}` : segment;\n const type = getPropertyType(property);\n const hasChildren = hasNestedChildren(property);\n\n result = {\n path: currentPath,\n label: property.title || segment,\n type,\n hasChildren,\n children: type === 'object' ? property.properties : undefined,\n items: type === 'array' ? property.items : undefined,\n };\n\n // Navigate deeper\n if (type === 'object' && property.properties) {\n currentProperties = property.properties;\n } else if (type === 'array' && property.items?.properties) {\n currentProperties = property.items.properties;\n } else {\n currentProperties = undefined;\n }\n }\n\n return result;\n};\n","import { Braces, Hash, List, ToggleLeft, Type } from 'lucide-react';\nimport * as React from 'react';\n\nimport { getFieldOptionsFromSchema, getFieldOptionAtPath, getChildFieldOptions, parseFieldPath } from './schema-utils';\nimport type { FieldOption, RuleFieldSelectProps } from './types';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select/select';\nimport { Icon } from '@/ds/icons';\nimport { cn } from '@/lib/utils';\n\n/**\n * Get icon for a field type\n */\nconst getFieldTypeIcon = (type: string): React.ReactNode => {\n switch (type) {\n case 'object':\n return <Braces />;\n case 'array':\n return <List />;\n case 'number':\n case 'integer':\n return <Hash />;\n case 'boolean':\n return <ToggleLeft />;\n case 'string':\n default:\n return <Type />;\n }\n};\n\n/**\n * A single level of field selection\n */\ntype FieldLevelSelectProps = {\n options: FieldOption[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n};\n\nconst FieldLevelSelect: React.FC<FieldLevelSelectProps> = ({\n options,\n value,\n onChange,\n placeholder = 'Select field',\n className,\n}) => {\n return (\n <div className={cn('relative', className)}>\n <Select value={value} onValueChange={onChange}>\n <SelectTrigger className=\"bg-muted text-foreground\" size=\"sm\">\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.map(option => (\n <SelectItem key={option.path} value={option.path}>\n <span className=\"flex items-center gap-2\">\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n {getFieldTypeIcon(option.type)}\n </Icon>\n {option.label}\n {option.hasChildren && <span className=\"text-muted-foreground\">...</span>}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n};\n\n/**\n * Recursive field selector that shows additional dropdowns for nested objects/arrays\n */\nexport const RuleFieldSelect: React.FC<RuleFieldSelectProps> = ({ schema, value, onChange, className }) => {\n // Parse the current path into segments\n const pathSegments = React.useMemo(() => parseFieldPath(value), [value]);\n\n // Build the list of selectors needed based on the current value\n const selectors = React.useMemo(() => {\n const result: Array<{\n options: FieldOption[];\n value: string;\n basePath: string;\n }> = [];\n\n // First level: root schema properties\n const rootOptions = getFieldOptionsFromSchema(schema);\n if (rootOptions.length === 0) return result;\n\n result.push({\n options: rootOptions,\n value: pathSegments[0] || '',\n basePath: '',\n });\n\n // For each segment, check if we need to add more selectors\n let currentPath = '';\n for (let i = 0; i < pathSegments.length; i++) {\n const segment = pathSegments[i];\n if (segment === undefined) break;\n currentPath = currentPath ? `${currentPath}.${segment}` : segment;\n\n const fieldOption = getFieldOptionAtPath(schema, currentPath);\n if (!fieldOption || !fieldOption.hasChildren) break;\n\n // Get child options for the next level\n const childOptions = getChildFieldOptions(fieldOption, currentPath);\n if (childOptions.length === 0) break;\n\n // Check if there's a next segment selected\n const nextSegment = pathSegments[i + 1];\n const nextPath = nextSegment ? `${currentPath}.${nextSegment}` : '';\n\n result.push({\n options: childOptions,\n value: nextPath,\n basePath: currentPath,\n });\n }\n\n return result;\n }, [schema, pathSegments]);\n\n // Handle change at a specific level\n const handleChange = React.useCallback(\n (levelIndex: number, newValue: string) => {\n // When changing a level, we truncate any deeper selections\n onChange(newValue);\n },\n [onChange],\n );\n\n if (selectors.length === 0) {\n return <div className={cn('text-body text-muted-foreground', className)}>No fields available</div>;\n }\n\n return (\n <div className={cn('flex items-center gap-1', className)}>\n {selectors.map((selector, index) => (\n <React.Fragment key={`${selector.basePath}-${index}`}>\n {index > 0 && <span className=\"text-muted-foreground\">.</span>}\n <FieldLevelSelect\n options={selector.options}\n value={selector.value}\n onChange={newValue => handleChange(index, newValue)}\n placeholder={index === 0 ? 'Select field' : 'Select property'}\n />\n </React.Fragment>\n ))}\n </div>\n );\n};\n","import type { ConditionOperator, Rule, RuleGroup } from '../types';\nimport type { JsonSchema, JsonSchemaProperty } from '@/lib/json-schema';\n\nexport type { JsonSchema, JsonSchemaProperty };\n\n/**\n * Represents a field option extracted from JSON Schema\n */\nexport type FieldOption = {\n /** The field path (e.g., \"user.email\") */\n path: string;\n /** Display label */\n label: string;\n /** The JSON Schema type of the field */\n type: string;\n /** Whether this field has nested properties */\n hasChildren: boolean;\n /** Child properties if type is object */\n children?: Record<string, JsonSchemaProperty>;\n /** Item schema if type is array */\n items?: JsonSchemaProperty;\n};\n\n/**\n * Props for the RuleBuilder root component\n */\nexport type RuleBuilderProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** Current rule group (recursive, supports nested groups) */\n ruleGroup: RuleGroup | undefined;\n /** Callback when rule group changes */\n onChange: (ruleGroup: RuleGroup | undefined) => void;\n /** Maximum nesting depth (default: 3) */\n maxDepth?: number;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Internal props for the recursive RuleGroupView component\n */\nexport type RuleGroupViewProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** The rule group to render */\n group: RuleGroup;\n /** Callback when this group changes */\n onChange: (group: RuleGroup) => void;\n /** Callback to remove this group (undefined for root) */\n onRemove?: () => void;\n /** Current nesting depth (0 = root) */\n depth: number;\n /** Maximum nesting depth */\n maxDepth: number;\n};\n\n/**\n * Props for a single rule row\n */\nexport type RuleRowProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** Current rule */\n rule: Rule;\n /** Callback when rule changes */\n onChange: (rule: Rule) => void;\n /** Callback to remove this rule */\n onRemove: () => void;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Props for the field selector\n */\nexport type RuleFieldSelectProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** Current selected field path */\n value: string;\n /** Callback when field changes */\n onChange: (field: string) => void;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Props for the operator selector\n */\nexport type RuleOperatorSelectProps = {\n /** Current selected operator */\n value: ConditionOperator;\n /** Callback when operator changes */\n onChange: (operator: ConditionOperator) => void;\n /** Subset of operators to show. Defaults to all operators. */\n operators?: readonly ConditionOperator[];\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Props for the value input\n */\nexport type RuleValueInputProps = {\n /** Current value */\n value: unknown;\n /** Callback when value changes */\n onChange: (value: unknown) => void;\n /** The operator (affects input behavior for \"in\" and \"not_in\") */\n operator: ConditionOperator;\n /** The field type from JSON Schema (string, number, boolean, etc.) */\n fieldType?: string;\n /** Optional placeholder */\n placeholder?: string;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Operator labels for display\n */\nexport const OPERATOR_LABELS: Record<ConditionOperator, string> = {\n equals: 'equals',\n not_equals: 'not equals',\n contains: 'contains',\n not_contains: 'not contains',\n greater_than: 'greater than',\n less_than: 'less than',\n greater_than_or_equal: 'greater than or equal',\n less_than_or_equal: 'less than or equal',\n in: 'in',\n not_in: 'not in',\n exists: 'exists',\n not_exists: 'not exists',\n};\n\n/**\n * All available operators\n */\nexport const OPERATORS: ConditionOperator[] = [\n 'equals',\n 'not_equals',\n 'contains',\n 'not_contains',\n 'greater_than',\n 'less_than',\n 'greater_than_or_equal',\n 'less_than_or_equal',\n 'in',\n 'not_in',\n 'exists',\n 'not_exists',\n];\n","import {\n Equal,\n EqualNot,\n Text,\n TextSearch,\n ChevronRight,\n ChevronLeft,\n ChevronsRight,\n ChevronsLeft,\n List,\n ListX,\n Check,\n Ban,\n} from 'lucide-react';\nimport * as React from 'react';\n\nimport type { ConditionOperator } from '../types';\nimport type { RuleOperatorSelectProps } from './types';\nimport { OPERATOR_LABELS, OPERATORS } from './types';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select/select';\nimport { Icon } from '@/ds/icons';\nimport { cn } from '@/lib/utils';\n\n/**\n * Icons for each operator type\n */\nconst OPERATOR_ICONS: Record<ConditionOperator, React.ReactNode> = {\n equals: <Equal />,\n not_equals: <EqualNot />,\n contains: <TextSearch />,\n not_contains: <Text />,\n greater_than: <ChevronRight />,\n less_than: <ChevronLeft />,\n greater_than_or_equal: <ChevronsRight />,\n less_than_or_equal: <ChevronsLeft />,\n in: <List />,\n not_in: <ListX />,\n exists: <Check />,\n not_exists: <Ban />,\n};\n\n/**\n * Select component for choosing a rule operator\n */\nexport const RuleOperatorSelect: React.FC<RuleOperatorSelectProps> = ({ value, onChange, operators, className }) => {\n const operatorList = operators ?? OPERATORS;\n\n return (\n <div className={cn('relative', className)}>\n <Select value={value} onValueChange={onChange}>\n <SelectTrigger className=\"bg-muted text-foreground\" size=\"sm\">\n <SelectValue placeholder=\"Select operator\" />\n </SelectTrigger>\n <SelectContent>\n {operatorList.map(operator => (\n <SelectItem key={operator} value={operator}>\n <span className=\"flex items-center gap-2\">\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n {OPERATOR_ICONS[operator]}\n </Icon>\n {OPERATOR_LABELS[operator]}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n};\n","import { Hash, ToggleLeft, Type } from 'lucide-react';\nimport * as React from 'react';\n\nimport type { RuleValueInputProps } from './types';\nimport { Input } from '@/ds/components/Input/input';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select/select';\nimport { Icon } from '@/ds/icons';\nimport { cn } from '@/lib/utils';\n\n/**\n * Parses a string value to the appropriate type\n */\nconst parseValue = (stringValue: string): unknown => {\n const trimmed = stringValue.trim();\n\n // Empty string\n if (trimmed === '') return '';\n\n // Boolean\n if (trimmed === 'true') return true;\n if (trimmed === 'false') return false;\n\n // Null\n if (trimmed === 'null') return null;\n\n // Reject special number strings - keep as strings\n const lowerTrimmed = trimmed.toLowerCase();\n if (lowerTrimmed === 'infinity' || lowerTrimmed === '-infinity' || lowerTrimmed === 'nan') {\n return trimmed;\n }\n\n // Number\n const num = Number(trimmed);\n if (!Number.isNaN(num)) return num;\n\n // String (default)\n return stringValue;\n};\n\n/**\n * Parses a comma-separated string into an array of values\n */\nconst parseArrayValue = (stringValue: string): unknown[] => {\n if (stringValue.trim() === '') return [];\n\n return stringValue.split(',').map(item => parseValue(item.trim()));\n};\n\n/**\n * Converts a value to a display string\n */\nconst valueToString = (value: unknown): string => {\n if (value === null) return 'null';\n if (value === undefined) return '';\n if (Array.isArray(value)) return value.map(valueToString).join(', ');\n return String(value);\n};\n\n/**\n * Converts a boolean value to a string for the select\n */\nconst booleanToString = (value: unknown): string => {\n if (value === true) return 'true';\n if (value === false) return 'false';\n return '';\n};\n\ntype BaseInputProps = {\n value: unknown;\n onChange: (value: unknown) => void;\n placeholder?: string;\n className?: string;\n};\n\n/**\n * Boolean value input using a Select dropdown with icon inside\n */\nconst BooleanValueInput: React.FC<BaseInputProps> = ({ value, onChange, className }) => {\n const stringValue = booleanToString(value);\n\n const handleChange = React.useCallback(\n (newValue: string) => {\n onChange(newValue === 'true');\n },\n [onChange],\n );\n\n return (\n <div className={cn('relative', className)}>\n <Icon\n size=\"xs\"\n className=\"pointer-events-none absolute top-1/2 left-2 z-10 -translate-y-1/2 text-muted-foreground\"\n >\n <ToggleLeft />\n </Icon>\n <Select value={stringValue} onValueChange={handleChange}>\n <SelectTrigger className=\"bg-muted pl-7\" size=\"sm\">\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">true</SelectItem>\n <SelectItem value=\"false\">false</SelectItem>\n </SelectContent>\n </Select>\n </div>\n );\n};\n\n/**\n * Number value input with icon inside\n */\nconst NumberValueInput: React.FC<BaseInputProps> = ({ value, onChange, placeholder, className }) => {\n const displayValue = value === undefined || value === '' ? '' : String(value);\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (inputValue === '') {\n onChange('');\n } else {\n const num = Number(inputValue);\n onChange(Number.isNaN(num) ? inputValue : num);\n }\n },\n [onChange],\n );\n\n return (\n <div className={cn('relative', className)}>\n <Icon size=\"xs\" className=\"pointer-events-none absolute top-1/2 left-2 -translate-y-1/2 text-muted-foreground\">\n <Hash />\n </Icon>\n <Input\n type=\"number\"\n value={displayValue}\n onChange={handleChange}\n placeholder={placeholder || 'Enter number'}\n className=\"min-w-35 bg-muted pl-7\"\n size=\"sm\"\n />\n </div>\n );\n};\n\n/**\n * Text value input with icon inside\n */\nconst TextValueInput: React.FC<BaseInputProps> = ({ value, onChange, placeholder, className }) => {\n const displayValue = valueToString(value);\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(parseValue(e.target.value));\n },\n [onChange],\n );\n\n return (\n <div className={cn('relative', className)}>\n <Icon size=\"xs\" className=\"pointer-events-none absolute top-1/2 left-2 -translate-y-1/2 text-muted-foreground\">\n <Type />\n </Icon>\n <Input\n value={displayValue}\n onChange={handleChange}\n placeholder={placeholder || 'Enter value'}\n className=\"min-w-35 bg-muted pl-7\"\n size=\"sm\"\n />\n </div>\n );\n};\n\n/**\n * Array value input (for \"in\" and \"not_in\" operators)\n */\nconst ArrayValueInput: React.FC<BaseInputProps> = ({ value, onChange, placeholder, className }) => {\n const displayValue = React.useMemo(() => {\n if (Array.isArray(value)) {\n return value.map(valueToString).join(', ');\n }\n return valueToString(value);\n }, [value]);\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(parseArrayValue(e.target.value));\n },\n [onChange],\n );\n\n return (\n <Input\n value={displayValue}\n onChange={handleChange}\n placeholder={placeholder || 'Enter values (comma-separated)'}\n className={cn('min-w-40 bg-muted', className)}\n size=\"sm\"\n />\n );\n};\n\n/**\n * Input component for entering rule values\n * Supports different modes based on the operator and field type:\n * - \"in\" and \"not_in\": Comma-separated values (parsed as array)\n * - Boolean fields: Select dropdown with true/false\n * - Number fields: Number input\n * - Other: Text input\n */\nexport const RuleValueInput: React.FC<RuleValueInputProps> = ({\n value,\n onChange,\n operator,\n fieldType,\n placeholder,\n className,\n}) => {\n const isArrayOperator = operator === 'in' || operator === 'not_in';\n\n // Array operators always use text input for comma-separated values\n if (isArrayOperator) {\n return <ArrayValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n }\n\n // Boolean fields use Select dropdown\n if (fieldType === 'boolean') {\n return <BooleanValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n }\n\n // Number fields use number input\n if (fieldType === 'number' || fieldType === 'integer') {\n return <NumberValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n }\n\n // Default to text input\n return <TextValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n};\n","import { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport type { ConditionOperator } from '../types';\n\nimport { RuleFieldSelect } from './rule-field-select';\nimport { RuleOperatorSelect } from './rule-operator-select';\nimport { RuleValueInput } from './rule-value-input';\nimport { getFieldOptionAtPath } from './schema-utils';\nimport type { RuleRowProps } from './types';\n\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nconst PRIMITIVE_TYPES = new Set(['string', 'number', 'boolean', 'integer']);\n\n/**\n * A single rule row with field selector, operator selector, and value input\n */\nexport const RuleRow: React.FC<RuleRowProps> = ({ schema, rule, onChange, onRemove, className }) => {\n const fieldType = React.useMemo(() => {\n return getFieldOptionAtPath(schema, rule.field)?.type;\n }, [schema, rule.field]);\n\n const isPrimitive = fieldType !== undefined && PRIMITIVE_TYPES.has(fieldType);\n const isArray = fieldType === 'array';\n const isArrayOperator = rule.operator === 'in' || rule.operator === 'not_in';\n const isExistenceOperator = rule.operator === 'exists' || rule.operator === 'not_exists';\n\n // Show operator + value for primitive types, or for array types (restricted to in/not_in)\n const showComparator = isPrimitive || isArray;\n const showValueInput = !isExistenceOperator && (isPrimitive || (isArray && isArrayOperator));\n\n const handleFieldChange = React.useCallback(\n (field: string) => {\n onChange({ ...rule, field });\n },\n [rule, onChange],\n );\n\n const handleOperatorChange = React.useCallback(\n (operator: ConditionOperator) => {\n const isNewExistence = operator === 'exists' || operator === 'not_exists';\n\n // Existence operators don't need a value\n if (isNewExistence) {\n onChange({ ...rule, operator, value: undefined });\n return;\n }\n\n // Reset value when changing to/from array operators\n const isArrayOperator = operator === 'in' || operator === 'not_in';\n const wasArrayOperator = rule.operator === 'in' || rule.operator === 'not_in';\n\n let newValue = rule.value;\n if (isArrayOperator && !wasArrayOperator) {\n // Converting to array operator: wrap value in array\n newValue = rule.value !== undefined ? [rule.value] : [];\n } else if (!isArrayOperator && wasArrayOperator) {\n // Converting from array operator: take first value\n newValue = Array.isArray(rule.value) ? rule.value[0] : rule.value;\n }\n\n onChange({ ...rule, operator, value: newValue });\n },\n [rule, onChange],\n );\n\n const handleValueChange = React.useCallback(\n (value: unknown) => {\n onChange({ ...rule, value });\n },\n [rule, onChange],\n );\n\n return (\n <div className=\"flex justify-between gap-2\">\n <div className={cn('flex flex-wrap items-center gap-2', className)}>\n <RuleFieldSelect schema={schema} value={rule.field} onChange={handleFieldChange} />\n\n {showComparator && (\n <>\n <RuleOperatorSelect\n value={rule.operator}\n onChange={handleOperatorChange}\n operators={isArray ? (['in', 'not_in'] as const) : undefined}\n />\n\n {showValueInput && (\n <RuleValueInput\n value={rule.value}\n onChange={handleValueChange}\n operator={rule.operator}\n fieldType={fieldType}\n />\n )}\n </>\n )}\n </div>\n\n <Button type=\"button\" onClick={onRemove} tooltip=\"Remove rule\" size=\"icon-sm\" variant=\"ghost\">\n <X />\n </Button>\n </div>\n );\n};\n","import { Plus, X, Component } from 'lucide-react';\nimport * as React from 'react';\n\nimport type { Rule, RuleGroup, RuleGroupDepth1 } from '../types';\nimport { isRule, createDefaultRule, createDefaultRuleGroup } from '../utils';\n\nimport { RuleRow } from './rule-row';\nimport type { RuleBuilderProps, RuleGroupViewProps } from './types';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nconst DEFAULT_MAX_DEPTH = 3;\n\n/**\n * Internal recursive component that renders one level of a rule group.\n */\nconst RuleGroupView: React.FC<RuleGroupViewProps> = ({ schema, group, onChange, onRemove, depth, maxDepth }) => {\n const isRoot = depth === 0;\n\n const handleToggleOperator = () => {\n onChange({ ...group, operator: group.operator === 'AND' ? 'OR' : 'AND' });\n };\n\n const handleConditionChange = (index: number, condition: Rule | RuleGroup) => {\n onChange({\n ...group,\n conditions: group.conditions.map((c, i) => (i === index ? (condition as Rule | RuleGroupDepth1) : c)),\n });\n };\n\n const handleRemoveCondition = (index: number) => {\n const newConditions = group.conditions.filter((_, i) => i !== index);\n if (newConditions.length === 0 && onRemove) {\n onRemove();\n } else {\n onChange({ ...group, conditions: newConditions });\n }\n };\n\n const handleAddRule = () => {\n onChange({ ...group, conditions: [...group.conditions, createDefaultRule()] });\n };\n\n const handleAddGroup = () => {\n onChange({\n ...group,\n conditions: [\n ...group.conditions,\n createDefaultRuleGroup(group.operator === 'AND' ? 'OR' : 'AND') as RuleGroupDepth1,\n ],\n });\n };\n\n return (\n <div className={cn(isRoot ? 'bg-background' : 'bg-card pl-6')}>\n {/* Non-root group header */}\n {!isRoot && (\n <div className=\"flex items-center justify-between border-b border-dashed border-border py-1.5 pr-4 pl-3\">\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\">\n Group\n </Txt>\n {onRemove && (\n <Button type=\"button\" onClick={onRemove} tooltip=\"Remove group\" size=\"icon-sm\" variant=\"ghost\">\n <X />\n </Button>\n )}\n </div>\n )}\n\n {group.conditions.map((condition, index) => (\n <div key={index} className=\"border-b border-dashed border-border last:border-b-0\">\n <div className={cn('relative', isRule(condition) && 'border-l-4 border-border p-4')}>\n {index > 0 && (\n <button\n type=\"button\"\n onClick={handleToggleOperator}\n className={cn(\n 'absolute top-0 left-1/2 z-10 -translate-1/2 cursor-pointer rounded-full px-3 py-0.5 text-meta',\n group.operator === 'OR'\n ? 'bg-badge-yellow-subtle text-badge-yellow-foreground hover:bg-badge-yellow-strong'\n : 'bg-badge-blue-subtle text-badge-blue-foreground hover:bg-badge-blue-strong',\n )}\n >\n {group.operator.toLowerCase()}\n </button>\n )}\n\n {isRule(condition) ? (\n <RuleRow\n schema={schema}\n rule={condition}\n onChange={updatedRule => handleConditionChange(index, updatedRule)}\n onRemove={() => handleRemoveCondition(index)}\n />\n ) : (\n <RuleGroupView\n schema={schema}\n group={condition}\n onChange={updatedGroup => handleConditionChange(index, updatedGroup)}\n onRemove={() => handleRemoveCondition(index)}\n depth={depth + 1}\n maxDepth={maxDepth}\n />\n )}\n </div>\n </div>\n ))}\n\n <div className=\"flex gap-1 p-2\">\n <Button type=\"button\" onClick={handleAddRule} variant=\"ghost\" size=\"sm\" icon={<Plus />}>\n Add rule\n </Button>\n {depth < maxDepth - 1 && (\n <Button type=\"button\" onClick={handleAddGroup} variant=\"ghost\" size=\"sm\" icon={<Component />}>\n Add group\n </Button>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Rule builder component for creating and managing a recursive set of rules\n * based on a JSON Schema defining available fields.\n *\n * Supports nested rule groups with AND/OR operators at each level.\n */\nexport const RuleBuilder: React.FC<RuleBuilderProps> = ({\n schema,\n ruleGroup,\n onChange,\n maxDepth = DEFAULT_MAX_DEPTH,\n className,\n}) => {\n const handleGroupChange = React.useCallback(\n (group: RuleGroup) => {\n onChange(group);\n },\n [onChange],\n );\n\n const handleAddFirstRule = React.useCallback(() => {\n onChange({ operator: 'AND', conditions: [createDefaultRule()] });\n }, [onChange]);\n\n if (!ruleGroup) {\n return (\n <button\n type=\"button\"\n onClick={handleAddFirstRule}\n className={cn(\n quietTextHover,\n controlStateColorTransition,\n 'flex w-full items-center justify-center gap-2 rounded-md border border-dashed border-border p-2 text-caption',\n )}\n >\n <Icon>\n <Plus />\n </Icon>\n Add conditional rule\n </button>\n );\n }\n\n return (\n <div className={className}>\n <RuleGroupView schema={schema} group={ruleGroup} onChange={handleGroupChange} depth={0} maxDepth={maxDepth} />\n </div>\n );\n};\n"],"names":["Braces","List","Hash","ToggleLeft","Type","jsx","cn","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Icon","React","Equal","EqualNot","TextSearch","Text","ChevronRight","ChevronLeft","ChevronsRight","ChevronsLeft","ListX","Check","Ban","Input","isArrayOperator","Fragment","Button","X","createDefaultRule","createDefaultRuleGroup","Txt","isRule","Plus","Component","quietTextHover","controlStateColorTransition"],"mappings":"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"}
1
+ {"version":3,"file":"RuleBuilder.cjs.js","sources":["../../src/lib/rule-engine/components/schema-utils.ts","../../src/lib/rule-engine/components/rule-field-select.tsx","../../src/lib/rule-engine/components/types.ts","../../src/lib/rule-engine/components/rule-operator-select.tsx","../../src/lib/rule-engine/components/rule-value-input.tsx","../../src/lib/rule-engine/components/rule-row.tsx","../../src/lib/rule-engine/components/rule-builder.tsx"],"sourcesContent":["import type { FieldOption, JsonSchema, JsonSchemaProperty } from './types';\n\n/**\n * Gets the primary type from a JSON Schema property\n */\nexport const getPropertyType = (property: JsonSchemaProperty): string => {\n if (Array.isArray(property.type)) {\n // Return the first non-null type\n return property.type.find(t => t !== 'null') || 'string';\n }\n return property.type || 'string';\n};\n\n/**\n * Checks if a property has nested children (object or array of objects)\n */\nexport const hasNestedChildren = (property: JsonSchemaProperty): boolean => {\n const type = getPropertyType(property);\n\n if (type === 'object' && property.properties) {\n return Object.keys(property.properties).length > 0;\n }\n\n if (type === 'array' && property.items) {\n const itemType = getPropertyType(property.items);\n return itemType === 'object' && !!property.items.properties;\n }\n\n return false;\n};\n\n/**\n * Extracts field options from JSON Schema properties at a given level\n */\nexport const getFieldOptionsFromProperties = (\n properties: Record<string, JsonSchemaProperty> | undefined,\n parentPath: string = '',\n): FieldOption[] => {\n if (!properties) return [];\n\n return Object.entries(properties).map(([key, property]) => {\n const path = parentPath ? `${parentPath}.${key}` : key;\n const type = getPropertyType(property);\n const hasChildren = hasNestedChildren(property);\n\n return {\n path,\n label: property.title || key,\n type,\n hasChildren,\n children: type === 'object' ? property.properties : undefined,\n items: type === 'array' ? property.items : undefined,\n };\n });\n};\n\n/**\n * Gets field options from the root schema\n */\nexport const getFieldOptionsFromSchema = (schema: JsonSchema): FieldOption[] => {\n return getFieldOptionsFromProperties(schema.properties);\n};\n\n/**\n * Gets child field options for a given field option\n */\nexport const getChildFieldOptions = (fieldOption: FieldOption, currentPath: string): FieldOption[] => {\n if (fieldOption.type === 'object' && fieldOption.children) {\n return getFieldOptionsFromProperties(fieldOption.children, currentPath);\n }\n\n if (fieldOption.type === 'array' && fieldOption.items) {\n const itemType = getPropertyType(fieldOption.items);\n if (itemType === 'object' && fieldOption.items.properties) {\n // For arrays, we use the current path directly (user will access via index or iteration)\n return getFieldOptionsFromProperties(fieldOption.items.properties, currentPath);\n }\n }\n\n return [];\n};\n\n/**\n * Parses a field path into segments\n */\nexport const parseFieldPath = (path: string): string[] => {\n return path.split('.').filter(Boolean);\n};\n\n/**\n * Gets the field option at a specific path in the schema\n */\nexport const getFieldOptionAtPath = (schema: JsonSchema, path: string): FieldOption | undefined => {\n const segments = parseFieldPath(path);\n if (segments.length === 0) return undefined;\n\n let currentProperties = schema.properties;\n let currentPath = '';\n let result: FieldOption | undefined;\n\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n if (segment === undefined) return undefined;\n\n const property = currentProperties?.[segment];\n if (!property) {\n return undefined;\n }\n\n currentPath = currentPath ? `${currentPath}.${segment}` : segment;\n const type = getPropertyType(property);\n const hasChildren = hasNestedChildren(property);\n\n result = {\n path: currentPath,\n label: property.title || segment,\n type,\n hasChildren,\n children: type === 'object' ? property.properties : undefined,\n items: type === 'array' ? property.items : undefined,\n };\n\n // Navigate deeper\n if (type === 'object' && property.properties) {\n currentProperties = property.properties;\n } else if (type === 'array' && property.items?.properties) {\n currentProperties = property.items.properties;\n } else {\n currentProperties = undefined;\n }\n }\n\n return result;\n};\n","import { Braces, Hash, List, ToggleLeft, Type } from 'lucide-react';\nimport * as React from 'react';\n\nimport { getFieldOptionsFromSchema, getFieldOptionAtPath, getChildFieldOptions, parseFieldPath } from './schema-utils';\nimport type { FieldOption, RuleFieldSelectProps } from './types';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select/select';\nimport { Icon } from '@/ds/icons';\nimport { cn } from '@/lib/utils';\n\n/**\n * Get icon for a field type\n */\nconst getFieldTypeIcon = (type: string): React.ReactNode => {\n switch (type) {\n case 'object':\n return <Braces />;\n case 'array':\n return <List />;\n case 'number':\n case 'integer':\n return <Hash />;\n case 'boolean':\n return <ToggleLeft />;\n case 'string':\n default:\n return <Type />;\n }\n};\n\n/**\n * A single level of field selection\n */\ntype FieldLevelSelectProps = {\n options: FieldOption[];\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n className?: string;\n};\n\nconst FieldLevelSelect: React.FC<FieldLevelSelectProps> = ({\n options,\n value,\n onChange,\n placeholder = 'Select field',\n className,\n}) => {\n return (\n <div className={cn('relative', className)}>\n <Select value={value} onValueChange={onChange}>\n <SelectTrigger className=\"bg-muted text-foreground\" size=\"sm\">\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.map(option => (\n <SelectItem key={option.path} value={option.path}>\n <span className=\"flex items-center gap-2\">\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n {getFieldTypeIcon(option.type)}\n </Icon>\n {option.label}\n {option.hasChildren && <span className=\"text-muted-foreground\">...</span>}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n};\n\n/**\n * Recursive field selector that shows additional dropdowns for nested objects/arrays\n */\nexport const RuleFieldSelect: React.FC<RuleFieldSelectProps> = ({ schema, value, onChange, className }) => {\n // Parse the current path into segments\n const pathSegments = React.useMemo(() => parseFieldPath(value), [value]);\n\n // Build the list of selectors needed based on the current value\n const selectors = React.useMemo(() => {\n const result: Array<{\n options: FieldOption[];\n value: string;\n basePath: string;\n }> = [];\n\n // First level: root schema properties\n const rootOptions = getFieldOptionsFromSchema(schema);\n if (rootOptions.length === 0) return result;\n\n result.push({\n options: rootOptions,\n value: pathSegments[0] || '',\n basePath: '',\n });\n\n // For each segment, check if we need to add more selectors\n let currentPath = '';\n for (let i = 0; i < pathSegments.length; i++) {\n const segment = pathSegments[i];\n if (segment === undefined) break;\n currentPath = currentPath ? `${currentPath}.${segment}` : segment;\n\n const fieldOption = getFieldOptionAtPath(schema, currentPath);\n if (!fieldOption || !fieldOption.hasChildren) break;\n\n // Get child options for the next level\n const childOptions = getChildFieldOptions(fieldOption, currentPath);\n if (childOptions.length === 0) break;\n\n // Check if there's a next segment selected\n const nextSegment = pathSegments[i + 1];\n const nextPath = nextSegment ? `${currentPath}.${nextSegment}` : '';\n\n result.push({\n options: childOptions,\n value: nextPath,\n basePath: currentPath,\n });\n }\n\n return result;\n }, [schema, pathSegments]);\n\n // Handle change at a specific level\n const handleChange = React.useCallback(\n (levelIndex: number, newValue: string) => {\n // When changing a level, we truncate any deeper selections\n onChange(newValue);\n },\n [onChange],\n );\n\n if (selectors.length === 0) {\n return <div className={cn('text-body text-muted-foreground', className)}>No fields available</div>;\n }\n\n return (\n <div className={cn('flex items-center gap-1', className)}>\n {selectors.map((selector, index) => (\n <React.Fragment key={`${selector.basePath}-${index}`}>\n {index > 0 && <span className=\"text-muted-foreground\">.</span>}\n <FieldLevelSelect\n options={selector.options}\n value={selector.value}\n onChange={newValue => handleChange(index, newValue)}\n placeholder={index === 0 ? 'Select field' : 'Select property'}\n />\n </React.Fragment>\n ))}\n </div>\n );\n};\n","import type { ConditionOperator, Rule, RuleGroup } from '../types';\nimport type { JsonSchema, JsonSchemaProperty } from '@/lib/json-schema';\n\nexport type { JsonSchema, JsonSchemaProperty };\n\n/**\n * Represents a field option extracted from JSON Schema\n */\nexport type FieldOption = {\n /** The field path (e.g., \"user.email\") */\n path: string;\n /** Display label */\n label: string;\n /** The JSON Schema type of the field */\n type: string;\n /** Whether this field has nested properties */\n hasChildren: boolean;\n /** Child properties if type is object */\n children?: Record<string, JsonSchemaProperty>;\n /** Item schema if type is array */\n items?: JsonSchemaProperty;\n};\n\n/**\n * Props for the RuleBuilder root component\n */\nexport type RuleBuilderProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** Current rule group (recursive, supports nested groups) */\n ruleGroup: RuleGroup | undefined;\n /** Callback when rule group changes */\n onChange: (ruleGroup: RuleGroup | undefined) => void;\n /** Maximum nesting depth (default: 3) */\n maxDepth?: number;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Internal props for the recursive RuleGroupView component\n */\nexport type RuleGroupViewProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** The rule group to render */\n group: RuleGroup;\n /** Callback when this group changes */\n onChange: (group: RuleGroup) => void;\n /** Callback to remove this group (undefined for root) */\n onRemove?: () => void;\n /** Current nesting depth (0 = root) */\n depth: number;\n /** Maximum nesting depth */\n maxDepth: number;\n};\n\n/**\n * Props for a single rule row\n */\nexport type RuleRowProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** Current rule */\n rule: Rule;\n /** Callback when rule changes */\n onChange: (rule: Rule) => void;\n /** Callback to remove this rule */\n onRemove: () => void;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Props for the field selector\n */\nexport type RuleFieldSelectProps = {\n /** JSON Schema defining available fields */\n schema: JsonSchema;\n /** Current selected field path */\n value: string;\n /** Callback when field changes */\n onChange: (field: string) => void;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Props for the operator selector\n */\nexport type RuleOperatorSelectProps = {\n /** Current selected operator */\n value: ConditionOperator;\n /** Callback when operator changes */\n onChange: (operator: ConditionOperator) => void;\n /** Subset of operators to show. Defaults to all operators. */\n operators?: readonly ConditionOperator[];\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Props for the value input\n */\nexport type RuleValueInputProps = {\n /** Current value */\n value: unknown;\n /** Callback when value changes */\n onChange: (value: unknown) => void;\n /** The operator (affects input behavior for \"in\" and \"not_in\") */\n operator: ConditionOperator;\n /** The field type from JSON Schema (string, number, boolean, etc.) */\n fieldType?: string;\n /** Optional placeholder */\n placeholder?: string;\n /** Optional class name */\n className?: string;\n};\n\n/**\n * Operator labels for display\n */\nexport const OPERATOR_LABELS: Record<ConditionOperator, string> = {\n equals: 'equals',\n not_equals: 'not equals',\n contains: 'contains',\n not_contains: 'not contains',\n greater_than: 'greater than',\n less_than: 'less than',\n greater_than_or_equal: 'greater than or equal',\n less_than_or_equal: 'less than or equal',\n in: 'in',\n not_in: 'not in',\n exists: 'exists',\n not_exists: 'not exists',\n};\n\n/**\n * All available operators\n */\nexport const OPERATORS: ConditionOperator[] = [\n 'equals',\n 'not_equals',\n 'contains',\n 'not_contains',\n 'greater_than',\n 'less_than',\n 'greater_than_or_equal',\n 'less_than_or_equal',\n 'in',\n 'not_in',\n 'exists',\n 'not_exists',\n];\n","import {\n Equal,\n EqualNot,\n Text,\n TextSearch,\n ChevronRight,\n ChevronLeft,\n ChevronsRight,\n ChevronsLeft,\n List,\n ListX,\n Check,\n Ban,\n} from 'lucide-react';\nimport * as React from 'react';\n\nimport type { ConditionOperator } from '../types';\nimport type { RuleOperatorSelectProps } from './types';\nimport { OPERATOR_LABELS, OPERATORS } from './types';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select/select';\nimport { Icon } from '@/ds/icons';\nimport { cn } from '@/lib/utils';\n\n/**\n * Icons for each operator type\n */\nconst OPERATOR_ICONS: Record<ConditionOperator, React.ReactNode> = {\n equals: <Equal />,\n not_equals: <EqualNot />,\n contains: <TextSearch />,\n not_contains: <Text />,\n greater_than: <ChevronRight />,\n less_than: <ChevronLeft />,\n greater_than_or_equal: <ChevronsRight />,\n less_than_or_equal: <ChevronsLeft />,\n in: <List />,\n not_in: <ListX />,\n exists: <Check />,\n not_exists: <Ban />,\n};\n\n/**\n * Select component for choosing a rule operator\n */\nexport const RuleOperatorSelect: React.FC<RuleOperatorSelectProps> = ({ value, onChange, operators, className }) => {\n const operatorList = operators ?? OPERATORS;\n\n return (\n <div className={cn('relative', className)}>\n <Select value={value} onValueChange={onChange}>\n <SelectTrigger className=\"bg-muted text-foreground\" size=\"sm\">\n <SelectValue placeholder=\"Select operator\" />\n </SelectTrigger>\n <SelectContent>\n {operatorList.map(operator => (\n <SelectItem key={operator} value={operator}>\n <span className=\"flex items-center gap-2\">\n <Icon size=\"xs\" className=\"text-muted-foreground\">\n {OPERATOR_ICONS[operator]}\n </Icon>\n {OPERATOR_LABELS[operator]}\n </span>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n );\n};\n","import { Hash, ToggleLeft, Type } from 'lucide-react';\nimport * as React from 'react';\n\nimport type { RuleValueInputProps } from './types';\nimport { Input } from '@/ds/components/Input/input';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select/select';\nimport { Icon } from '@/ds/icons';\nimport { cn } from '@/lib/utils';\n\n/**\n * Parses a string value to the appropriate type\n */\nconst parseValue = (stringValue: string): unknown => {\n const trimmed = stringValue.trim();\n\n // Empty string\n if (trimmed === '') return '';\n\n // Boolean\n if (trimmed === 'true') return true;\n if (trimmed === 'false') return false;\n\n // Null\n if (trimmed === 'null') return null;\n\n // Reject special number strings - keep as strings\n const lowerTrimmed = trimmed.toLowerCase();\n if (lowerTrimmed === 'infinity' || lowerTrimmed === '-infinity' || lowerTrimmed === 'nan') {\n return trimmed;\n }\n\n // Number\n const num = Number(trimmed);\n if (!Number.isNaN(num)) return num;\n\n // String (default)\n return stringValue;\n};\n\n/**\n * Parses a comma-separated string into an array of values\n */\nconst parseArrayValue = (stringValue: string): unknown[] => {\n if (stringValue.trim() === '') return [];\n\n return stringValue.split(',').map(item => parseValue(item.trim()));\n};\n\n/**\n * Converts a value to a display string\n */\nconst valueToString = (value: unknown): string => {\n if (value === null) return 'null';\n if (value === undefined) return '';\n if (Array.isArray(value)) return value.map(valueToString).join(', ');\n return String(value);\n};\n\n/**\n * Converts a boolean value to a string for the select\n */\nconst booleanToString = (value: unknown): string => {\n if (value === true) return 'true';\n if (value === false) return 'false';\n return '';\n};\n\ntype BaseInputProps = {\n value: unknown;\n onChange: (value: unknown) => void;\n placeholder?: string;\n className?: string;\n};\n\n/**\n * Boolean value input using a Select dropdown with icon inside\n */\nconst BooleanValueInput: React.FC<BaseInputProps> = ({ value, onChange, className }) => {\n const stringValue = booleanToString(value);\n\n const handleChange = React.useCallback(\n (newValue: string) => {\n onChange(newValue === 'true');\n },\n [onChange],\n );\n\n return (\n <div className={cn('relative', className)}>\n <Icon\n size=\"xs\"\n className=\"pointer-events-none absolute top-1/2 left-2 z-10 -translate-y-1/2 text-muted-foreground\"\n >\n <ToggleLeft />\n </Icon>\n <Select value={stringValue} onValueChange={handleChange}>\n <SelectTrigger className=\"bg-muted pl-7\" size=\"sm\">\n <SelectValue placeholder=\"Select value\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">true</SelectItem>\n <SelectItem value=\"false\">false</SelectItem>\n </SelectContent>\n </Select>\n </div>\n );\n};\n\n/**\n * Number value input with icon inside\n */\nconst NumberValueInput: React.FC<BaseInputProps> = ({ value, onChange, placeholder, className }) => {\n const displayValue = value === undefined || value === '' ? '' : String(value);\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (inputValue === '') {\n onChange('');\n } else {\n const num = Number(inputValue);\n onChange(Number.isNaN(num) ? inputValue : num);\n }\n },\n [onChange],\n );\n\n return (\n <div className={cn('relative', className)}>\n <Icon size=\"xs\" className=\"pointer-events-none absolute top-1/2 left-2 -translate-y-1/2 text-muted-foreground\">\n <Hash />\n </Icon>\n <Input\n type=\"number\"\n value={displayValue}\n onChange={handleChange}\n placeholder={placeholder || 'Enter number'}\n className=\"min-w-35 bg-muted pl-7\"\n size=\"sm\"\n />\n </div>\n );\n};\n\n/**\n * Text value input with icon inside\n */\nconst TextValueInput: React.FC<BaseInputProps> = ({ value, onChange, placeholder, className }) => {\n const displayValue = valueToString(value);\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(parseValue(e.target.value));\n },\n [onChange],\n );\n\n return (\n <div className={cn('relative', className)}>\n <Icon size=\"xs\" className=\"pointer-events-none absolute top-1/2 left-2 -translate-y-1/2 text-muted-foreground\">\n <Type />\n </Icon>\n <Input\n value={displayValue}\n onChange={handleChange}\n placeholder={placeholder || 'Enter value'}\n className=\"min-w-35 bg-muted pl-7\"\n size=\"sm\"\n />\n </div>\n );\n};\n\n/**\n * Array value input (for \"in\" and \"not_in\" operators)\n */\nconst ArrayValueInput: React.FC<BaseInputProps> = ({ value, onChange, placeholder, className }) => {\n const displayValue = React.useMemo(() => {\n if (Array.isArray(value)) {\n return value.map(valueToString).join(', ');\n }\n return valueToString(value);\n }, [value]);\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(parseArrayValue(e.target.value));\n },\n [onChange],\n );\n\n return (\n <Input\n value={displayValue}\n onChange={handleChange}\n placeholder={placeholder || 'Enter values (comma-separated)'}\n className={cn('min-w-40 bg-muted', className)}\n size=\"sm\"\n />\n );\n};\n\n/**\n * Input component for entering rule values\n * Supports different modes based on the operator and field type:\n * - \"in\" and \"not_in\": Comma-separated values (parsed as array)\n * - Boolean fields: Select dropdown with true/false\n * - Number fields: Number input\n * - Other: Text input\n */\nexport const RuleValueInput: React.FC<RuleValueInputProps> = ({\n value,\n onChange,\n operator,\n fieldType,\n placeholder,\n className,\n}) => {\n const isArrayOperator = operator === 'in' || operator === 'not_in';\n\n // Array operators always use text input for comma-separated values\n if (isArrayOperator) {\n return <ArrayValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n }\n\n // Boolean fields use Select dropdown\n if (fieldType === 'boolean') {\n return <BooleanValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n }\n\n // Number fields use number input\n if (fieldType === 'number' || fieldType === 'integer') {\n return <NumberValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n }\n\n // Default to text input\n return <TextValueInput value={value} onChange={onChange} placeholder={placeholder} className={className} />;\n};\n","import { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport type { ConditionOperator } from '../types';\n\nimport { RuleFieldSelect } from './rule-field-select';\nimport { RuleOperatorSelect } from './rule-operator-select';\nimport { RuleValueInput } from './rule-value-input';\nimport { getFieldOptionAtPath } from './schema-utils';\nimport type { RuleRowProps } from './types';\n\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nconst PRIMITIVE_TYPES = new Set(['string', 'number', 'boolean', 'integer']);\n\n/**\n * A single rule row with field selector, operator selector, and value input\n */\nexport const RuleRow: React.FC<RuleRowProps> = ({ schema, rule, onChange, onRemove, className }) => {\n const fieldType = React.useMemo(() => {\n return getFieldOptionAtPath(schema, rule.field)?.type;\n }, [schema, rule.field]);\n\n const isPrimitive = fieldType !== undefined && PRIMITIVE_TYPES.has(fieldType);\n const isArray = fieldType === 'array';\n const isArrayOperator = rule.operator === 'in' || rule.operator === 'not_in';\n const isExistenceOperator = rule.operator === 'exists' || rule.operator === 'not_exists';\n\n // Show operator + value for primitive types, or for array types (restricted to in/not_in)\n const showComparator = isPrimitive || isArray;\n const showValueInput = !isExistenceOperator && (isPrimitive || (isArray && isArrayOperator));\n\n const handleFieldChange = React.useCallback(\n (field: string) => {\n onChange({ ...rule, field });\n },\n [rule, onChange],\n );\n\n const handleOperatorChange = React.useCallback(\n (operator: ConditionOperator) => {\n const isNewExistence = operator === 'exists' || operator === 'not_exists';\n\n // Existence operators don't need a value\n if (isNewExistence) {\n onChange({ ...rule, operator, value: undefined });\n return;\n }\n\n // Reset value when changing to/from array operators\n const isArrayOperator = operator === 'in' || operator === 'not_in';\n const wasArrayOperator = rule.operator === 'in' || rule.operator === 'not_in';\n\n let newValue = rule.value;\n if (isArrayOperator && !wasArrayOperator) {\n // Converting to array operator: wrap value in array\n newValue = rule.value !== undefined ? [rule.value] : [];\n } else if (!isArrayOperator && wasArrayOperator) {\n // Converting from array operator: take first value\n newValue = Array.isArray(rule.value) ? rule.value[0] : rule.value;\n }\n\n onChange({ ...rule, operator, value: newValue });\n },\n [rule, onChange],\n );\n\n const handleValueChange = React.useCallback(\n (value: unknown) => {\n onChange({ ...rule, value });\n },\n [rule, onChange],\n );\n\n return (\n <div className=\"flex justify-between gap-2\">\n <div className={cn('flex flex-wrap items-center gap-2', className)}>\n <RuleFieldSelect schema={schema} value={rule.field} onChange={handleFieldChange} />\n\n {showComparator && (\n <>\n <RuleOperatorSelect\n value={rule.operator}\n onChange={handleOperatorChange}\n operators={isArray ? (['in', 'not_in'] as const) : undefined}\n />\n\n {showValueInput && (\n <RuleValueInput\n value={rule.value}\n onChange={handleValueChange}\n operator={rule.operator}\n fieldType={fieldType}\n />\n )}\n </>\n )}\n </div>\n\n <Button type=\"button\" onClick={onRemove} tooltip=\"Remove rule\" size=\"icon-sm\" variant=\"ghost\">\n <X />\n </Button>\n </div>\n );\n};\n","import { Plus, X, Component } from 'lucide-react';\nimport * as React from 'react';\n\nimport type { Rule, RuleGroup, RuleGroupDepth1 } from '../types';\nimport { isRule, createDefaultRule, createDefaultRuleGroup } from '../utils';\n\nimport { RuleRow } from './rule-row';\nimport type { RuleBuilderProps, RuleGroupViewProps } from './types';\nimport { Button } from '@/ds/components/Button';\nimport { Txt } from '@/ds/components/Txt';\nimport { Icon } from '@/ds/icons';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { quietTextHover } from '@/ds/primitives/typography';\nimport { cn } from '@/lib/utils';\n\nconst DEFAULT_MAX_DEPTH = 3;\n\n/**\n * Internal recursive component that renders one level of a rule group.\n */\nconst RuleGroupView: React.FC<RuleGroupViewProps> = ({ schema, group, onChange, onRemove, depth, maxDepth }) => {\n const isRoot = depth === 0;\n\n const handleToggleOperator = () => {\n onChange({ ...group, operator: group.operator === 'AND' ? 'OR' : 'AND' });\n };\n\n const handleConditionChange = (index: number, condition: Rule | RuleGroup) => {\n onChange({\n ...group,\n conditions: group.conditions.map((c, i) => (i === index ? (condition as Rule | RuleGroupDepth1) : c)),\n });\n };\n\n const handleRemoveCondition = (index: number) => {\n const newConditions = group.conditions.filter((_, i) => i !== index);\n if (newConditions.length === 0 && onRemove) {\n onRemove();\n } else {\n onChange({ ...group, conditions: newConditions });\n }\n };\n\n const handleAddRule = () => {\n onChange({ ...group, conditions: [...group.conditions, createDefaultRule()] });\n };\n\n const handleAddGroup = () => {\n onChange({\n ...group,\n conditions: [\n ...group.conditions,\n createDefaultRuleGroup(group.operator === 'AND' ? 'OR' : 'AND') as RuleGroupDepth1,\n ],\n });\n };\n\n return (\n <div className={cn(isRoot ? 'bg-background' : 'bg-card pl-6')}>\n {/* Non-root group header */}\n {!isRoot && (\n <div className=\"flex items-center justify-between border-b border-dashed border-border py-1.5 pr-4 pl-3\">\n <Txt as=\"span\" variant=\"meta\" tone=\"muted\">\n Group\n </Txt>\n {onRemove && (\n <Button type=\"button\" onClick={onRemove} tooltip=\"Remove group\" size=\"icon-sm\" variant=\"ghost\">\n <X />\n </Button>\n )}\n </div>\n )}\n\n {group.conditions.map((condition, index) => (\n <div key={index} className=\"border-b border-dashed border-border last:border-b-0\">\n <div className={cn('relative', isRule(condition) && 'border-l-4 border-border p-4')}>\n {index > 0 && (\n <button\n type=\"button\"\n onClick={handleToggleOperator}\n className={cn(\n 'absolute top-0 left-1/2 z-10 -translate-1/2 cursor-pointer rounded-full px-3 py-0.5 text-meta',\n group.operator === 'OR'\n ? 'bg-badge-amber-subtle text-badge-amber-foreground hover:bg-badge-amber-strong'\n : 'bg-badge-blue-subtle text-badge-blue-foreground hover:bg-badge-blue-strong',\n )}\n >\n {group.operator.toLowerCase()}\n </button>\n )}\n\n {isRule(condition) ? (\n <RuleRow\n schema={schema}\n rule={condition}\n onChange={updatedRule => handleConditionChange(index, updatedRule)}\n onRemove={() => handleRemoveCondition(index)}\n />\n ) : (\n <RuleGroupView\n schema={schema}\n group={condition}\n onChange={updatedGroup => handleConditionChange(index, updatedGroup)}\n onRemove={() => handleRemoveCondition(index)}\n depth={depth + 1}\n maxDepth={maxDepth}\n />\n )}\n </div>\n </div>\n ))}\n\n <div className=\"flex gap-1 p-2\">\n <Button type=\"button\" onClick={handleAddRule} variant=\"ghost\" size=\"sm\" icon={<Plus />}>\n Add rule\n </Button>\n {depth < maxDepth - 1 && (\n <Button type=\"button\" onClick={handleAddGroup} variant=\"ghost\" size=\"sm\" icon={<Component />}>\n Add group\n </Button>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Rule builder component for creating and managing a recursive set of rules\n * based on a JSON Schema defining available fields.\n *\n * Supports nested rule groups with AND/OR operators at each level.\n */\nexport const RuleBuilder: React.FC<RuleBuilderProps> = ({\n schema,\n ruleGroup,\n onChange,\n maxDepth = DEFAULT_MAX_DEPTH,\n className,\n}) => {\n const handleGroupChange = React.useCallback(\n (group: RuleGroup) => {\n onChange(group);\n },\n [onChange],\n );\n\n const handleAddFirstRule = React.useCallback(() => {\n onChange({ operator: 'AND', conditions: [createDefaultRule()] });\n }, [onChange]);\n\n if (!ruleGroup) {\n return (\n <button\n type=\"button\"\n onClick={handleAddFirstRule}\n className={cn(\n quietTextHover,\n controlStateColorTransition,\n 'flex w-full items-center justify-center gap-2 rounded-md border border-dashed border-border p-2 text-caption',\n )}\n >\n <Icon>\n <Plus />\n </Icon>\n Add conditional rule\n </button>\n );\n }\n\n return (\n <div className={className}>\n <RuleGroupView schema={schema} group={ruleGroup} onChange={handleGroupChange} depth={0} maxDepth={maxDepth} />\n </div>\n );\n};\n"],"names":["Braces","List","Hash","ToggleLeft","Type","jsx","cn","jsxs","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Icon","React","Equal","EqualNot","TextSearch","Text","ChevronRight","ChevronLeft","ChevronsRight","ChevronsLeft","ListX","Check","Ban","Input","isArrayOperator","Fragment","Button","X","createDefaultRule","createDefaultRuleGroup","Txt","isRule","Plus","Component","quietTextHover","controlStateColorTransition"],"mappings":"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"}
@@ -2,11 +2,11 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { Type, ToggleLeft, Hash, List, Braces, Ban, Check, ListX, ChevronsLeft, ChevronsRight, ChevronLeft, ChevronRight, Text, TextSearch, EqualNot, Equal, X, Plus, Component } from 'lucide-react';
3
3
  import * as React from 'react';
4
4
  import { createDefaultRule, isRule, createDefaultRuleGroup } from '../utils/rule-engine.es.js';
5
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../select-ch8imm15.js';
5
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../select-DZeNf-kI.js';
6
6
  import { Icon } from '../icons/Icon.es.js';
7
7
  import { c as cn } from '../cn-65Adrsfj.js';
8
8
  import { I as Input } from '../input-CHghVv3k.js';
9
- import { B as Button } from '../Button-C6eUqcPI.js';
9
+ import { B as Button } from '../Button-D43ghVKt.js';
10
10
  import { T as Txt } from '../Txt-BP1SRHmL.js';
11
11
  import { controlStateColorTransition } from '../primitives/transitions.es.js';
12
12
  import { quietTextHover } from '../primitives/typography.es.js';
@@ -501,7 +501,7 @@ const RuleGroupView = ({ schema, group, onChange, onRemove, depth, maxDepth }) =
501
501
  onClick: handleToggleOperator,
502
502
  className: cn(
503
503
  "absolute top-0 left-1/2 z-10 -translate-1/2 cursor-pointer rounded-full px-3 py-0.5 text-meta",
504
- group.operator === "OR" ? "bg-badge-yellow-subtle text-badge-yellow-foreground hover:bg-badge-yellow-strong" : "bg-badge-blue-subtle text-badge-blue-foreground hover:bg-badge-blue-strong"
504
+ group.operator === "OR" ? "bg-badge-amber-subtle text-badge-amber-foreground hover:bg-badge-amber-strong" : "bg-badge-blue-subtle text-badge-blue-foreground hover:bg-badge-blue-strong"
505
505
  ),
506
506
  children: group.operator.toLowerCase()
507
507
  }