@wildo-ai/presets-components 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/dist/esm/.native.tsbuildinfo +1 -0
  2. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  3. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  4. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  5. package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
  6. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  7. package/dist/esm/components/actions/button.d.ts.map +1 -1
  8. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  9. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
  10. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  11. package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
  12. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  13. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  14. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  15. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  16. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  20. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  22. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  23. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  24. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  25. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  26. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  27. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  28. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  29. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/decision/approval.d.ts +41 -6
  31. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/decision/approval.js +37 -7
  33. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  34. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  39. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  45. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  46. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  48. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  49. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  50. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  51. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  52. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  54. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  55. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/meta/agent.js +23 -3
  62. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  63. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  64. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  67. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  68. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  78. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  80. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  81. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  83. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  84. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  86. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  87. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  88. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  89. package/dist/esm/components/app/public-layout-main-container.js +1 -1
  90. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  91. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  92. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  93. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  94. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  95. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  96. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  97. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  98. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  99. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  100. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  101. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  102. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  103. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  104. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  105. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  106. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  107. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  108. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  109. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  110. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  111. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  112. package/dist/esm/components/data-display/formatters/display-field-boolean.js +20 -1
  113. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  114. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  115. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  116. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  117. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  118. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  119. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  120. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  121. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  122. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  123. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  124. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  125. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  126. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  127. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  128. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  129. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  130. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  131. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  132. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  133. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  134. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  135. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  136. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  137. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  138. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  139. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  140. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  141. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  142. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  143. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  144. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  145. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  146. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  147. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  148. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  149. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  150. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  151. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  152. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  153. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  154. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  155. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  156. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  157. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  158. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  159. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  160. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  161. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  162. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  163. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  164. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  165. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  166. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  167. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  168. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  169. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  170. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  171. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  172. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  173. package/dist/esm/components/feedback/empty-state.js +11 -1
  174. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  175. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  176. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  177. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  178. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  179. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  180. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  181. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  182. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  183. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  184. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  185. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js +7 -0
  186. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  187. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  188. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  189. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  190. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  191. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  192. package/dist/esm/components/feedback/notification-center.d.ts +5 -3
  193. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  194. package/dist/esm/components/feedback/notification-center.js +7 -5
  195. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  196. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  197. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  198. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  199. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  200. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  201. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  202. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  203. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  204. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  205. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  206. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  207. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  208. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  209. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  210. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  211. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  212. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  213. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  214. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  215. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  216. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  217. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  218. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  219. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  220. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  221. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  222. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  223. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  224. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  225. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  226. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  227. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  228. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  229. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  230. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  231. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  232. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  233. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  234. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  235. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  236. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  237. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  238. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  239. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  240. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  241. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  242. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  243. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  244. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  245. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  246. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  247. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  248. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  249. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  250. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  251. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +52 -0
  252. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -0
  253. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +157 -0
  254. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -0
  255. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +16 -0
  256. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -0
  257. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +20 -0
  258. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -0
  259. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +37 -0
  260. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -0
  261. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +125 -0
  262. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -0
  263. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +16 -0
  264. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -0
  265. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +20 -0
  266. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -0
  267. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +1 -1
  268. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  269. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  270. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  271. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  272. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  273. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  274. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  275. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  276. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  277. package/dist/esm/components/form/controls/string/color-picker-surface.js +1 -1
  278. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  279. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  280. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  281. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  282. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  283. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  284. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  285. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  286. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  287. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  288. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  289. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  290. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  291. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  292. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  293. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  294. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  295. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  296. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  297. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  298. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  299. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  300. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  301. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  302. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  303. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  304. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  305. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  306. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  307. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  308. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  309. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  310. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  311. package/dist/esm/components/navigation/app-level/notification-center.js +22 -19
  312. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  313. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  314. package/dist/esm/components/navigation/app-level/notification-center.labels.js +11 -14
  315. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  316. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  317. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  318. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  319. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  320. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  321. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  322. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  323. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  324. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  325. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  326. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  327. package/dist/esm/components/navigation/app-level/utility-panel.js +49 -9
  328. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  329. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  330. package/dist/esm/components/navigation/app-level/utility-panel.labels.js +1 -0
  331. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  332. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  333. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  334. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  335. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  336. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  337. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  338. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  339. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  340. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  341. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  342. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  343. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  344. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  345. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  346. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  347. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  348. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  349. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  350. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  351. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  352. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  353. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  354. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  355. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  356. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  357. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  358. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  359. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  360. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  361. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  362. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  363. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  364. package/dist/esm/components/sections/card.d.ts.map +1 -1
  365. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  366. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  367. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  368. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  369. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
  370. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  371. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  372. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  373. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  374. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  375. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  376. package/dist/esm/components/sections/table.d.ts.map +1 -1
  377. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  378. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  379. package/dist/esm/components/sections/tabs.js +5 -1
  380. package/dist/esm/components/sections/tabs.js.map +1 -1
  381. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  382. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  383. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  384. package/dist/esm/components/typography/label.d.ts.map +1 -1
  385. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  386. package/dist/esm/components/typography/link.d.ts.map +1 -1
  387. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  388. package/dist/esm/components/typography/text.d.ts.map +1 -1
  389. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  390. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  391. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  392. package/dist/esm/config/index.d.ts.map +1 -1
  393. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  394. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  395. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  396. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  397. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  398. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  399. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  400. package/dist/esm/config/presets.d.ts.map +1 -1
  401. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  402. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  403. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  404. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  405. package/dist/esm/config/resources/identity.resource-presets.js +6 -0
  406. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  407. package/dist/esm/config/resources/index.d.ts +23 -1
  408. package/dist/esm/config/resources/index.d.ts.map +1 -1
  409. package/dist/esm/config/resources/index.js +24 -3
  410. package/dist/esm/config/resources/index.js.map +1 -1
  411. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  412. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  413. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  414. package/dist/esm/config/resources/security.resource-presets.js +95 -4
  415. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  416. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  417. package/dist/esm/index.d.ts +1 -3
  418. package/dist/esm/index.d.ts.map +1 -1
  419. package/dist/esm/index.js +1 -3
  420. package/dist/esm/index.js.map +1 -1
  421. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  422. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  423. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  424. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  425. package/dist/esm/registration/register-common-enums.js +20 -1
  426. package/dist/esm/registration/register-common-enums.js.map +1 -1
  427. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  428. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  429. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  430. package/dist/esm/registration/register-default-presets.js +4 -4
  431. package/dist/esm/registration/register-default-presets.js.map +1 -1
  432. package/dist/esm/registration/register-provider-components.d.ts +31 -0
  433. package/dist/esm/registration/register-provider-components.d.ts.map +1 -0
  434. package/dist/esm/registration/register-provider-components.js +45 -0
  435. package/dist/esm/registration/register-provider-components.js.map +1 -0
  436. package/dist/esm/shiki-subset.d.ts.map +1 -1
  437. package/dist/esm/theme-exports.d.ts.map +1 -1
  438. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  439. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  440. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  441. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  442. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  443. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  444. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  445. package/dist/tsconfig.build.tsbuildinfo +1 -1
  446. package/package.json +6 -5
  447. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +0 -13
  448. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +0 -1
  449. package/dist/esm/components/billing/billing-plan-change-preview.js +0 -44
  450. package/dist/esm/components/billing/billing-plan-change-preview.js.map +0 -1
  451. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +0 -3
  452. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +0 -1
  453. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +0 -36
  454. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +0 -1
  455. package/dist/esm/components/billing/billing-promotion-code-input.d.ts +0 -10
  456. package/dist/esm/components/billing/billing-promotion-code-input.d.ts.map +0 -1
  457. package/dist/esm/components/billing/billing-promotion-code-input.js +0 -68
  458. package/dist/esm/components/billing/billing-promotion-code-input.js.map +0 -1
  459. package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts +0 -3
  460. package/dist/esm/components/billing/billing-promotion-code-input.labels.d.ts.map +0 -1
  461. package/dist/esm/components/billing/billing-promotion-code-input.labels.js +0 -14
  462. package/dist/esm/components/billing/billing-promotion-code-input.labels.js.map +0 -1
  463. package/dist/esm/config/resources/infrastructure.resource-presets.d.ts +0 -16
  464. package/dist/esm/config/resources/infrastructure.resource-presets.d.ts.map +0 -1
  465. package/dist/esm/config/resources/infrastructure.resource-presets.js +0 -110
  466. package/dist/esm/config/resources/infrastructure.resource-presets.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"action-bar.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/action-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,6BAA6B,CAAA;AAiCpC,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAyC,EACzC,SAAS,EACT,IAAyB,EACzB,YAAY,EAAE,SAAS,GACxB,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgIpC;kBAxIQ,SAAS;;;AAmTlB,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"action-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/action-bar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAEV,cAAc,EAGf,MAAM,6BAA6B,CAAA;AAiCpC,iBAAS,SAAS,CAAC,EACjB,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,WAAyC,EACzC,SAAS,EACT,IAAyB,EACzB,YAAY,EAAE,SAAS,GACxB,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgIpC;kBAxIQ,SAAS;;;AAmTlB,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-bar.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/action-bar.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAOxD,CAAC"}
1
+ {"version":3,"file":"action-bar.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/action-bar.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAOxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,6BAA6B,CAAA;AA0BtF,QAAA,MAAM,YAAY,6FAmFhB,CAAA;AAIF,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,6BAA6B,CAAA;AA0BtF,QAAA,MAAM,YAAY,6FAmFhB,CAAA;AAIF,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-button.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/action-button.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"action-button.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/action-button.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/button-group.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAE1B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkB9B,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUtC;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmB1C;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,WAAuC,EACvC,GAAG,KAAK,EACT,EAAE,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAY/C;AAED,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,eAAe,GAChB,CAAA"}
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button-group.tsx"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAE1B,MAAM,6BAA6B,CAAC;AAIrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkB9B,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUtC;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAmB1C;AAED,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,WAAuC,EACvC,GAAG,KAAK,EACT,EAAE,yBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAY/C;AAED,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,eAAe,GAChB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,6BAA6B,CAAA;AAkBtF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CA4FhG,CAAA;AAIF,OAAO,EAAE,MAAM,EAAE,CAAA"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,KAAK,EAAE,WAAW,EAA0B,MAAM,6BAA6B,CAAA;AAkBtF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CA4FhG,CAAA;AAIF,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"button.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/actions/button.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAKrD,CAAC"}
1
+ {"version":3,"file":"button.labels.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAKrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-browser.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/artifact-browser.tsx"],"names":[],"mappings":"AAGA,OAAO,EAaL,uBAAuB,EAUxB,MAAM,6BAA6B,CAAC;AA6ZrC,eAAO,MAAM,eAAe,yBAM1B,CAAC"}
1
+ {"version":3,"file":"artifact-browser.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact-browser.tsx"],"names":[],"mappings":"AAGA,OAAO,EAaL,uBAAuB,EAUxB,MAAM,6BAA6B,CAAC;AA6ZrC,eAAO,MAAM,eAAe,yBAM1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/artifact.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,MAAM,EAYN,mBAAmB,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA6C1D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AA4DlE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;CAClF,CAAC;AAuDF,eAAO,MAAM,WAAW,qBAQtB,CAAC"}
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,MAAM,EAYN,mBAAmB,EAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA6C1D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC;AA4DlE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;CAClF,CAAC;AAuDF,eAAO,MAAM,WAAW,qBAQtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/artifact.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EA0BzD,CAAC"}
1
+ {"version":3,"file":"artifact.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/artifact.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EA0BzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/code-block.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,MAAM,EAOP,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAKpB,MAAM,OAAO,CAAC;AAOf,KAAK,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAiEF,eAAO,MAAM,YAAY,GAAI,oEAO1B,iBAAiB,KAAG,KAAK,CAAC,GAAG,CAAC,OAoDhC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,6DAOpC,2BAA2B,KAAG,KAAK,CAAC,GAAG,CAAC,OAoC1C,CAAC"}
1
+ {"version":3,"file":"code-block.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/code-block.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,MAAM,EAOP,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,cAAc,EAKpB,MAAM,OAAO,CAAC;AAOf,KAAK,iBAAiB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAiEF,eAAO,MAAM,YAAY,GAAI,oEAO1B,iBAAiB,KAAG,KAAK,CAAC,GAAG,CAAC,OAoDhC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,6DAOpC,2BAA2B,KAAG,KAAK,CAAC,GAAG,CAAC,OAoC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-block.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/code-block.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAM1D,CAAC"}
1
+ {"version":3,"file":"code-block.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/code-block.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAM1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,aAAa,EACd,MAAM,6BAA6B,CAAC;AAIrC,eAAO,MAAM,QAAQ,GAAI,6CAKtB,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAY5B,CAAC"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,aAAa,EACd,MAAM,6BAA6B,CAAC;AAIrC,eAAO,MAAM,QAAQ,GAAI,6CAKtB,aAAa,KAAG,KAAK,CAAC,GAAG,CAAC,OAY5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"image.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/image.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"image.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/image.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,qBAAqB,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shiki-highlighter-runtime.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/shiki-highlighter-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"shiki-highlighter-runtime.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/shiki-highlighter-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"shiki-highlighter.lazy.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/shiki-highlighter.lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAmB,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAQlG,kGAAkG;AAClG,MAAM,WAAW,sBAAsB;IACrC,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUtH;AAaD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAMrD,CAAA"}
1
+ {"version":3,"file":"shiki-highlighter.lazy.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/shiki-highlighter.lazy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAmB,YAAY,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAQlG,kGAAkG;AAClG,MAAM,WAAW,sBAAsB;IACrC,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAA;CACpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUtH;AAaD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAMrD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-preview.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/web-preview.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EAgBN,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAYF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AA6CF,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAejE,MAAM,MAAM,kCAAkC,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAiCF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AA4ClE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AA2BF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC9D,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC,CAAC;CACJ,CAAC;AA4EF,eAAO,MAAM,aAAa,uBAMxB,CAAC"}
1
+ {"version":3,"file":"web-preview.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/web-preview.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,MAAM,EAgBN,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAYF,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AA6CF,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAejE,MAAM,MAAM,kCAAkC,GAAG,cAAc,CAAC,OAAO,MAAM,CAAC,GAAG;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAiCF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AA4ClE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AA2BF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IAC9D,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC,CAAC;CACJ,CAAC;AA4EF,eAAO,MAAM,aAAa,uBAMxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-preview.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/artifacts/web-preview.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAM3D,CAAC"}
1
+ {"version":3,"file":"web-preview.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/artifacts/web-preview.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAM3D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/conversation.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAKV,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAwFrC,eAAO,MAAM,eAAe,yBAI1B,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/conversation.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAKV,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAwFrC,eAAO,MAAM,eAAe,yBAI1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/conversation.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAuB7D,CAAC"}
1
+ {"version":3,"file":"conversation.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/conversation.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAuB7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/message.tsx"],"names":[],"mappings":"AAGA,OAAO,EAeL,kBAAkB,EAgBnB,MAAM,6BAA6B,CAAC;AAyarC,eAAO,MAAM,UAAU,oBAcrB,CAAC"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/message.tsx"],"names":[],"mappings":"AAGA,OAAO,EAeL,kBAAkB,EAgBnB,MAAM,6BAA6B,CAAC;AAyarC,eAAO,MAAM,UAAU,oBAcrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/message.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAmCxD,CAAC"}
1
+ {"version":3,"file":"message.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/message.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAmCxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/prompt-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/prompt-input.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAEhB,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAEhB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EAQX,sBAAsB,EAEvB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEjD,OAAO,EAGL,KAAK,cAAc,EAGnB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAMf,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,CAAC,UAAU,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IACvC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,kBAAkB,CAAC;IAChC,oFAAoF;IACpF,mBAAmB,EAAE,CACnB,GAAG,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,EACvC,IAAI,EAAE,MAAM,IAAI,KACb,IAAI,CAAC;CACX,CAAC;AAoCF,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAAC;AA8HH,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC3E,IAAI,EAAE,UAAU,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAwGF,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,CACX,GAAG;IACF,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,SAAS,CAAC;CAClE,CAAC;AAyBF,MAAM,MAAM,uCAAuC,GAAG,cAAc,CAClE,OAAO,gBAAgB,CACxB,GAAG;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AA6BF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,cAAc,CAAC,eAAe,CAAC,EAC/B,UAAU,GAAG,SAAS,CACvB,GAAG;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE;QACd,IAAI,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,CAAC;QAC/C,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,IAAI,CAAC;IACX,QAAQ,EAAE,CACR,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,KACtC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AA+UF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AASrE,MAAM,MAAM,2BAA2B,GAAG,cAAc,CACtD,OAAO,kBAAkB,CAC1B,CAAC;AAmGF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,cAAc,CAAC,OAAO,eAAe,CAAC,EACtC,OAAO,CACR,CAAC;AAaF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,cAAc,CAAC,OAAO,eAAe,CAAC,EACtC,OAAO,CACR,CAAC;AAaF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAStE,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhF,QAAA,MAAM,oBAAoB,GAAI,wCAK3B,yBAAyB,KAAG,KAAK,CAAC,GAAG,CAAC,OAaxC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAKhF,MAAM,MAAM,oCAAoC,GAAG,yBAAyB,CAAC;AAkB7E,MAAM,MAAM,oCAAoC,GAAG,cAAc,CAC/D,OAAO,mBAAmB,CAC3B,CAAC;AAQF,MAAM,MAAM,iCAAiC,GAAG,cAAc,CAC5D,OAAO,gBAAgB,CACxB,CAAC;AAWF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,GAAG;IAChF,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAyCF,UAAU,iBAAkB,SAAQ,WAAW;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9D,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5D,QAAQ,EACJ,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,sBAAsB,KAAK,GAAG,CAAC,GAC9D,IAAI,CAAC;IACT,OAAO,EACH,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,2BAA2B,KAAK,GAAG,CAAC,GACnE,IAAI,CAAC;CACV;AAED,UAAU,sBAAuB,SAAQ,KAAK;IAC5C,OAAO,EAAE,2BAA2B,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAC7C,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;CAC1C,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,4BAA4B,CAAC;IAClD,CAAC,KAAK,EAAE,MAAM,GAAG,4BAA4B,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,UAAU,2BAA4B,SAAQ,KAAK;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,EAAE;YACjB,QAAQ,iBAAiB,CAAC;SAC3B,CAAC;QACF,uBAAuB,EAAE;YACvB,QAAQ,iBAAiB,CAAC;SAC3B,CAAC;KACH;CACF;AAED,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAC1D,OAAO,oBAAoB,CAC5B,GAAG;IACF,WAAW,CAAC,EAAE,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACpD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD,CAAC;AAsGF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;AAM1E,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAC3D,OAAO,aAAa,CACrB,CAAC;AAsBF,MAAM,MAAM,gCAAgC,GAAG,cAAc,CAC3D,OAAO,aAAa,CACrB,CAAC;AASF,MAAM,MAAM,6BAA6B,GAAG,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;AAS9E,MAAM,MAAM,8BAA8B,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAShF,MAAM,MAAM,4BAA4B,GAAG,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAU5E,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAC9D,OAAO,gBAAgB,CACxB,CAAC;AAMF,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAC9D,OAAO,gBAAgB,CACxB,CAAC;AASF,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAOzE,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAOpE,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAqB7E,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AASxE,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAexE,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC;AAOxE,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AASlF,MAAM,MAAM,8BAA8B,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAShF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AASlF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AASlF,MAAM,MAAM,8BAA8B,GAAG,cAAc,CAAC,OAAO,WAAW,CAAC,CAAC;AAShF,MAAM,MAAM,mCAAmC,GAAG,cAAc,CAC9D,OAAO,gBAAgB,CACxB,CAAC;AASF,eAAO,MAAM,cAAc,wBAqCzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-input.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/prompt-input.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,2BAA2B,EAAE,mBAAmB,EAgB5D,CAAC"}
1
+ {"version":3,"file":"prompt-input.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/prompt-input.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,2BAA2B,EAAE,mBAAmB,EAgB5D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/sources.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAMnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AASpD,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA4BF,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAgB/E,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAuBjD,eAAO,MAAM,UAAU,oBAIrB,CAAC"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/sources.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAMnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AASpD,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAC/E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA4BF,MAAM,MAAM,sBAAsB,GAAG,cAAc,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAgB/E,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAuBjD,eAAO,MAAM,UAAU,oBAIrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/sources.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"sources.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/sources.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/suggestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAG3F,eAAO,MAAM,cAAc,GAAI,mCAI5B,mBAAmB,KAAG,KAAK,CAAC,GAAG,CAAC,OAOlC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,uEAQ3B,kBAAkB,KAAG,KAAK,CAAC,GAAG,CAAC,OAiBjC,CAAC"}
1
+ {"version":3,"file":"suggestion.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/suggestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAG3F,eAAO,MAAM,cAAc,GAAI,mCAI5B,mBAAmB,KAAG,KAAK,CAAC,GAAG,CAAC,OAOlC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,uEAQ3B,kBAAkB,KAAG,KAAK,CAAC,GAAG,CAAC,OAiBjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"suggestion.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/chat/suggestion.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAAO,CAAC;AAGpE,eAAO,MAAM,2BAA2B,EAAE,mBAAmB,EAAO,CAAC"}
1
+ {"version":3,"file":"suggestion.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/chat/suggestion.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM/H,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAAO,CAAC;AAGpE,eAAO,MAAM,2BAA2B,EAAE,mBAAmB,EAAO,CAAC"}
@@ -4,35 +4,70 @@ import type { ComponentProps } from "react";
4
4
  export type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & {
5
5
  approvalId: string;
6
6
  actionDescription: string;
7
- riskLevel: "low" | "medium" | "high" | "critical";
7
+ /**
8
+ * OPTIONAL, because nothing populates it. A risk level exists only on
9
+ * `WS_FlowsActorsApprovalRequestPayload`, a payload no code emits; the announcement a paused turn
10
+ * really sends carries a tool name and its arguments and no risk claim (#528). Absent means the
11
+ * badge is not rendered — a default here would show a severity nobody declared.
12
+ */
13
+ riskLevel?: "low" | "medium" | "high" | "critical";
8
14
  executionId: string;
9
15
  systemRef?: string;
10
16
  expiresAt?: Date;
11
17
  requiredRoles?: string[];
18
+ /**
19
+ * The gated tool call, and the arguments proposed for it.
20
+ *
21
+ * `toolName` is an IDENTIFIER, rendered as authored — it is the thing the agent asked to run,
22
+ * and humanizing it here would invent display text no i18n tree owns.
23
+ * `executionContext` carries the arguments (#455).
24
+ */
25
+ toolName?: string;
12
26
  executionContext?: Record<string, unknown>;
13
- onApprove?: (approvalId: string, comment?: string) => void;
27
+ /**
28
+ * Offer the approver an EDITOR over the proposed arguments (#566).
29
+ *
30
+ * Off by default, and it is not a styling preference: turning it on changes what an approval MEANS
31
+ * — the approver stops assenting to the agent's call and starts authoring one. A surface that
32
+ * shows the editor must be wired to a decision path that carries the result, or it collects a
33
+ * change and drops it, which is the failure #537 refused to ship.
34
+ *
35
+ * v1 is a RAW JSON editor rather than a generated form. The tool's `inputSchema` is not
36
+ * transported to the browser yet, and the server's validation — not the browser's — is the
37
+ * control, so a textarea the server refuses with a readable message is a complete and honest
38
+ * first version. The generated form is its own issue.
39
+ */
40
+ allowArgumentModification?: boolean;
41
+ /**
42
+ * `modifiedToolArgs` is present only when the approver EDITED the arguments. Absent means "run the
43
+ * call as proposed", which is what every approval meant before this parameter existed.
44
+ */
45
+ onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;
14
46
  onDeny?: (approvalId: string, comment?: string) => void;
15
47
  onEscalate?: (approvalId: string, comment?: string) => void;
16
48
  isProcessing?: boolean;
17
49
  createdAt?: Date;
18
50
  };
19
- export declare const AI_ApprovalRequest: ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, executionContext, onApprove, onDeny, onEscalate, isProcessing, createdAt, className, ...props }: AI_ApprovalRequestProps) => React.JSX.Element | null;
51
+ export declare const AI_ApprovalRequest: ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, toolName, executionContext, allowArgumentModification, onApprove, onDeny, onEscalate, isProcessing, createdAt, className, ...props }: AI_ApprovalRequestProps) => React.JSX.Element | null;
20
52
  export type AI_ApprovalActionsProps = ComponentProps<"div"> & {
21
53
  approvalId: string;
22
54
  riskLevel?: "low" | "medium" | "high" | "critical";
23
- onApprove?: (approvalId: string, comment?: string) => void;
55
+ /** Present only while the approver has the argument editor open with a parseable draft (#566). */
56
+ modifiedToolArgs?: Record<string, unknown>;
57
+ onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;
24
58
  onDeny?: (approvalId: string, comment?: string) => void;
25
59
  onEscalate?: (approvalId: string, comment?: string) => void;
26
60
  isProcessing?: boolean;
27
61
  disabled?: boolean;
28
62
  };
29
- export declare const AI_ApprovalActions: ({ approvalId, riskLevel, onApprove, onDeny, onEscalate, isProcessing, disabled, className, ...props }: AI_ApprovalActionsProps) => React.JSX.Element | null;
63
+ export declare const AI_ApprovalActions: ({ approvalId, riskLevel, modifiedToolArgs, onApprove, onDeny, onEscalate, isProcessing, disabled, className, ...props }: AI_ApprovalActionsProps) => React.JSX.Element | null;
30
64
  export type AI_ApprovalQueueItem = {
31
65
  approvalId: string;
32
66
  executionId: string;
33
67
  systemRef: string;
34
68
  actionDescription: string;
35
- riskLevel: "low" | "medium" | "high" | "critical";
69
+ /** OPTIONAL for the same reason as on a single request — nothing populates it (#528). */
70
+ riskLevel?: "low" | "medium" | "high" | "critical";
36
71
  expiresAt?: Date;
37
72
  requiredRoles?: string[];
38
73
  executionContext?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/approval.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/decision/approval.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
- import { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, Badge, Button, ButtonVariants_Variant, Collapsible, CollapsibleContent, CollapsibleTrigger, ScrollArea, TextareaRoot, cn, useI18n, Surface, } from '@wildo-ai/saas-frontend-lib';
4
+ import { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, Badge, Button, ButtonVariants_Variant, ScrollArea, TextareaRoot, cn, useI18n, Surface, } from '@wildo-ai/saas-frontend-lib';
5
5
  import { FrontendComponentType, ButtonSize, SurfaceVariant } from "@wildo-ai/presets-components-models";
6
6
  const CT = FrontendComponentType.LOW_LEVEL_AI_APPROVAL;
7
7
  //===============================================================
@@ -40,23 +40,53 @@ function useCountdown(expiresAt) {
40
40
  : `${seconds}s`;
41
41
  return { remaining, isExpired: false };
42
42
  }
43
- export const AI_ApprovalRequest = ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, executionContext, onApprove, onDeny, onEscalate, isProcessing, createdAt, className, ...props }) => {
43
+ export const AI_ApprovalRequest = ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, toolName, executionContext, allowArgumentModification, onApprove, onDeny, onEscalate, isProcessing, createdAt, className, ...props }) => {
44
44
  const { tComponent, isReady } = useI18n({ component: CT });
45
45
  const { remaining, isExpired } = useCountdown(expiresAt);
46
46
  const variant = riskLevel === "critical" || riskLevel === "high" ? "destructive" : "default";
47
+ /*
48
+ * The argument editor's state (#566).
49
+ *
50
+ * `draft` is `null` while the approver is reading rather than editing — distinct from an empty
51
+ * string, which is a draft they have cleared. Opening the editor seeds it from the PROPOSED
52
+ * arguments, so the starting point is the call the agent asked for and an approver changes one
53
+ * value rather than retyping the object.
54
+ */
55
+ const [draft, setDraft] = React.useState(null);
56
+ const parsedDraft = React.useMemo(() => {
57
+ if (draft === null)
58
+ return { value: undefined, invalid: false };
59
+ try {
60
+ const value = JSON.parse(draft);
61
+ // An array or a scalar is valid JSON and cannot be a tool's arguments. Refusing it HERE spares
62
+ // the round trip; the server refuses it too, which is what actually protects the call.
63
+ if (value === null || typeof value !== "object" || Array.isArray(value))
64
+ return { value: undefined, invalid: true };
65
+ return { value: value, invalid: false };
66
+ }
67
+ catch {
68
+ return { value: undefined, invalid: true };
69
+ }
70
+ }, [draft]);
47
71
  if (!isReady)
48
72
  return null;
49
- return (_jsxs(Alert, { variant: variant, className: cn("flex flex-col gap-card-sm", className), ...props, children: [_jsxs("div", { className: "flex items-center justify-between gap-element", children: [_jsxs("div", { className: "flex items-center gap-element", children: [_jsx(Badge, { variant: riskLevel === "critical" || riskLevel === "high" ? "destructive" : "outline", className: "text-2xs", children: tComponent(CT, `risk${riskLevel.charAt(0).toUpperCase()}${riskLevel.slice(1)}`) }), systemRef && (_jsx("span", { className: "text-2xs text-muted-foreground", children: systemRef }))] }), remaining && (_jsx(Badge, { variant: "secondary", className: "text-2xs tabular-nums", children: tComponent(CT, "expiresCountdown", { time: remaining }) })), isExpired && (_jsx(Badge, { variant: "destructive", className: "text-2xs", children: tComponent(CT, "expired") }))] }), _jsx(AlertDescription, { className: "text-sm", children: actionDescription }), requiredRoles && requiredRoles.length > 0 && (_jsxs("div", { className: "flex items-center gap-element", children: [_jsxs("span", { className: "text-2xs text-muted-foreground", children: [tComponent(CT, "requiredRoles"), ":"] }), _jsx("div", { className: "flex gap-1", children: requiredRoles.map((role) => (_jsx(Badge, { variant: "outline", className: "text-2xs", children: role }, role))) })] })), executionContext && Object.keys(executionContext).length > 0 && (_jsxs(Collapsible, { children: [_jsx(CollapsibleTrigger, { asChild: true, children: _jsx(Button, { variant: ButtonVariants_Variant.GHOST, size: ButtonSize.SM, className: "h-6 px-2 text-2xs text-muted-foreground", children: tComponent(CT, "context") }) }), _jsx(CollapsibleContent, { children: _jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.INSET, children: _jsx("pre", { className: "mt-1 max-h-32 overflow-auto rounded-md bg-muted p-2 text-2xs", children: JSON.stringify(executionContext, null, 2) }) }) })] })), _jsx(AI_ApprovalActions, { approvalId: approvalId, riskLevel: riskLevel, onApprove: onApprove, onDeny: onDeny, onEscalate: onEscalate, isProcessing: isProcessing, disabled: isExpired })] }));
73
+ return (_jsxs(Alert, { variant: variant, className: cn("flex flex-col gap-card-sm", className), ...props, children: [_jsxs("div", { className: "flex items-center justify-between gap-element", children: [_jsxs("div", { className: "flex items-center gap-element", children: [riskLevel && (_jsx(Badge, { variant: riskLevel === "critical" || riskLevel === "high" ? "destructive" : "outline", className: "text-2xs", children: tComponent(CT, `risk${riskLevel.charAt(0).toUpperCase()}${riskLevel.slice(1)}`) })), systemRef && (_jsx("span", { className: "text-2xs text-muted-foreground", children: systemRef }))] }), remaining && (_jsx(Badge, { variant: "secondary", className: "text-2xs tabular-nums", children: tComponent(CT, "expiresCountdown", { time: remaining }) })), isExpired && (_jsx(Badge, { variant: "destructive", className: "text-2xs", children: tComponent(CT, "expired") }))] }), _jsx(AlertDescription, { className: "text-sm", children: actionDescription }), requiredRoles && requiredRoles.length > 0 && (_jsxs("div", { className: "flex items-center gap-element", children: [_jsxs("span", { className: "text-2xs text-muted-foreground", children: [tComponent(CT, "requiredRoles"), ":"] }), _jsx("div", { className: "flex gap-1", children: requiredRoles.map((role) => (_jsx(Badge, { variant: "outline", className: "text-2xs", children: role }, role))) })] })), toolName !== undefined && (_jsxs("div", { className: "flex items-center gap-element", children: [_jsxs("span", { className: "text-2xs text-muted-foreground", children: [tComponent(CT, "toolCall"), ":"] }), _jsx("code", { className: "rounded bg-muted px-1 py-0.5 text-2xs font-mono", children: toolName })] })), executionContext && Object.keys(executionContext).length > 0 && (_jsxs("div", { className: "flex flex-col gap-element", children: [_jsxs("div", { className: "flex items-center justify-between gap-element", children: [_jsxs("span", { className: "text-2xs text-muted-foreground", children: [tComponent(CT, "toolArguments"), ":"] }), allowArgumentModification && (_jsx(Button, { type: "button", variant: ButtonVariants_Variant.GHOST, size: ButtonSize.SM, disabled: isProcessing || isExpired, onClick: () => setDraft(draft === null ? JSON.stringify(executionContext, null, 2) : null), children: tComponent(CT, draft === null ? "editArguments" : "discardArgumentEdits") }))] }), draft === null ? (_jsx(Surface, { asChild: true, emitPolicyVars: false, variant: SurfaceVariant.INSET, children: _jsx("dl", { className: "grid grid-cols-[auto_1fr] gap-x-element gap-y-0.5 rounded-md bg-muted p-2 text-2xs", children: Object.entries(executionContext).map(([key, value]) => (_jsxs(React.Fragment, { children: [_jsx("dt", { className: "font-mono text-muted-foreground", children: key }), _jsx("dd", { className: "min-w-0 break-words font-mono", children: typeof value === "string" || typeof value === "number" || typeof value === "boolean"
74
+ ? String(value)
75
+ : JSON.stringify(value) })] }, key))) }) })) : (_jsxs(_Fragment, { children: [_jsx(TextareaRoot, { rows: Math.min(12, Object.keys(executionContext).length + 3), value: draft, onChange: (e) => setDraft(e.target.value), className: "font-mono text-2xs", disabled: isProcessing || isExpired, "aria-invalid": parsedDraft.invalid || undefined, "aria-label": tComponent(CT, "editArguments") }), parsedDraft.invalid && (_jsx("span", { className: "text-2xs text-destructive", children: tComponent(CT, "argumentsNotValidJson") }))] }))] })), _jsx(AI_ApprovalActions, { approvalId: approvalId, riskLevel: riskLevel, onApprove: onApprove, onDeny: onDeny, onEscalate: onEscalate, isProcessing: isProcessing,
76
+ // Approving with unparseable text would send nothing and silently run the model's own
77
+ // arguments — a change collected and dropped, which is the one outcome this feature exists
78
+ // to prevent. The button is unavailable until the draft is an object.
79
+ disabled: isExpired || parsedDraft.invalid, modifiedToolArgs: parsedDraft.value })] }));
50
80
  };
51
- export const AI_ApprovalActions = ({ approvalId, riskLevel, onApprove, onDeny, onEscalate, isProcessing, disabled, className, ...props }) => {
81
+ export const AI_ApprovalActions = ({ approvalId, riskLevel, modifiedToolArgs, onApprove, onDeny, onEscalate, isProcessing, disabled, className, ...props }) => {
52
82
  const { tComponent, isReady } = useI18n({ component: CT });
53
83
  const [comment, setComment] = React.useState("");
54
84
  const isHighRisk = riskLevel === "high" || riskLevel === "critical";
55
85
  const actionsDisabled = isProcessing || disabled;
56
86
  if (!isReady)
57
87
  return null;
58
- const approveButton = (_jsx(Button, { type: "button", variant: ButtonVariants_Variant.DEFAULT, size: ButtonSize.SM, disabled: actionsDisabled, onClick: isHighRisk ? undefined : () => onApprove?.(approvalId, comment || undefined), children: isProcessing ? tComponent(CT, "processing") : tComponent(CT, "approve") }));
59
- return (_jsxs("div", { className: cn("flex flex-col gap-2", className), ...props, children: [_jsx(TextareaRoot, { rows: 2, value: comment, onChange: (e) => setComment(e.target.value), placeholder: tComponent(CT, "commentPlaceholder"), className: "text-xs", disabled: actionsDisabled }), _jsxs("div", { className: "flex items-center gap-element", children: [isHighRisk ? (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: approveButton }), _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: tComponent(CT, "confirmTitle") }), _jsx(AlertDialogDescription, { children: tComponent(CT, "confirmDescription") })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: tComponent(CT, "confirmCancel") }), _jsx(AlertDialogAction, { onClick: () => onApprove?.(approvalId, comment || undefined), children: tComponent(CT, "confirmProceed") })] })] })] })) : (approveButton), _jsx(Button, { type: "button", variant: ButtonVariants_Variant.OUTLINE, size: ButtonSize.SM, disabled: actionsDisabled, onClick: () => onDeny?.(approvalId, comment || undefined), children: tComponent(CT, "deny") }), onEscalate && (_jsx(Button, { type: "button", variant: ButtonVariants_Variant.SECONDARY, size: ButtonSize.SM, disabled: actionsDisabled, onClick: () => onEscalate?.(approvalId, comment || undefined), children: tComponent(CT, "escalate") }))] })] }));
88
+ const approveButton = (_jsx(Button, { type: "button", variant: ButtonVariants_Variant.DEFAULT, size: ButtonSize.SM, disabled: actionsDisabled, onClick: isHighRisk ? undefined : () => onApprove?.(approvalId, comment || undefined, modifiedToolArgs), children: isProcessing ? tComponent(CT, "processing") : tComponent(CT, "approve") }));
89
+ return (_jsxs("div", { className: cn("flex flex-col gap-2", className), ...props, children: [_jsx(TextareaRoot, { rows: 2, value: comment, onChange: (e) => setComment(e.target.value), placeholder: tComponent(CT, "commentPlaceholder"), className: "text-xs", disabled: actionsDisabled }), _jsxs("div", { className: "flex items-center gap-element", children: [isHighRisk ? (_jsxs(AlertDialog, { children: [_jsx(AlertDialogTrigger, { asChild: true, children: approveButton }), _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: tComponent(CT, "confirmTitle") }), _jsx(AlertDialogDescription, { children: tComponent(CT, "confirmDescription") })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: tComponent(CT, "confirmCancel") }), _jsx(AlertDialogAction, { onClick: () => onApprove?.(approvalId, comment || undefined, modifiedToolArgs), children: tComponent(CT, "confirmProceed") })] })] })] })) : (approveButton), _jsx(Button, { type: "button", variant: ButtonVariants_Variant.OUTLINE, size: ButtonSize.SM, disabled: actionsDisabled, onClick: () => onDeny?.(approvalId, comment || undefined), children: tComponent(CT, "deny") }), onEscalate && (_jsx(Button, { type: "button", variant: ButtonVariants_Variant.SECONDARY, size: ButtonSize.SM, disabled: actionsDisabled, onClick: () => onEscalate?.(approvalId, comment || undefined), children: tComponent(CT, "escalate") }))] })] }));
60
90
  };
61
91
  //===============================================================
62
92
  // AI_ApprovalQueue
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/approval.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n Alert,\n AlertDescription,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n Badge,\n Button,\n ButtonVariants_Variant,\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n ScrollArea,\n TextareaRoot,\n cn,\n useI18n,\n Surface,\n} from '@wildo-ai/saas-frontend-lib';\n\nimport { FrontendComponentType, ButtonSize, SurfaceVariant } from \"@wildo-ai/presets-components-models\";\nimport type { ComponentProps } from \"react\";\n\nconst CT: FrontendComponentType = FrontendComponentType.LOW_LEVEL_AI_APPROVAL;\n\n//===============================================================\n// Human-in-the-Loop Approval Components\n//\n// BACKEND DEPENDENCIES:\n// - FlowsActorsContext.respondToApproval() — implemented (WebSocket emit)\n// - WebSocket event: FLOWS_ACTORS_APPROVAL_REQUEST — implemented\n// - FlowsActorsExecution.pendingApproval — schema ready:\n// { approvalId, actionDescription, riskLevel, expiresAt?, requiredRoles? }\n//\n// Components render approval UI from props. Wire to context via\n// the saas-frontend-lib wrapper (flows-actors/approval.tsx).\n//===============================================================\n\n//===============================================================\n// useCountdown — shared countdown hook\n//===============================================================\n\nfunction useCountdown(expiresAt: Date | undefined): { remaining: string | null; isExpired: boolean } {\n const [now, setNow] = React.useState(() => Date.now());\n\n React.useEffect(() => {\n if (!expiresAt) return;\n const id = setInterval(() => setNow(Date.now()), 1_000);\n return () => clearInterval(id);\n }, [expiresAt]);\n\n if (!expiresAt) return { remaining: null, isExpired: false };\n\n const diff = expiresAt.getTime() - now;\n if (diff <= 0) return { remaining: null, isExpired: true };\n\n const totalSeconds = Math.floor(diff / 1_000);\n const minutes = Math.floor(totalSeconds / 60);\n const seconds = totalSeconds % 60;\n const remaining = minutes > 0\n ? `${minutes}m ${String(seconds).padStart(2, \"0\")}s`\n : `${seconds}s`;\n\n return { remaining, isExpired: false };\n}\n\n//===============================================================\n// AI_ApprovalRequest\n//===============================================================\n\nexport type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & {\n approvalId: string;\n actionDescription: string;\n riskLevel: \"low\" | \"medium\" | \"high\" | \"critical\";\n executionId: string;\n systemRef?: string;\n expiresAt?: Date;\n requiredRoles?: string[];\n executionContext?: Record<string, unknown>;\n onApprove?: (approvalId: string, comment?: string) => void;\n onDeny?: (approvalId: string, comment?: string) => void;\n onEscalate?: (approvalId: string, comment?: string) => void;\n isProcessing?: boolean;\n createdAt?: Date;\n};\n\nexport const AI_ApprovalRequest = ({\n approvalId,\n actionDescription,\n riskLevel,\n executionId,\n systemRef,\n expiresAt,\n requiredRoles,\n executionContext,\n onApprove,\n onDeny,\n onEscalate,\n isProcessing,\n createdAt,\n className,\n ...props\n}: AI_ApprovalRequestProps): React.JSX.Element | null => {\n const { tComponent, isReady } = useI18n({ component: CT });\n const { remaining, isExpired } = useCountdown(expiresAt);\n const variant = riskLevel === \"critical\" || riskLevel === \"high\" ? \"destructive\" : \"default\";\n\n if (!isReady) return null;\n\n return (\n <Alert variant={variant} className={cn(\"flex flex-col gap-card-sm\", className)} {...props}>\n <div className=\"flex items-center justify-between gap-element\">\n <div className=\"flex items-center gap-element\">\n <Badge\n variant={riskLevel === \"critical\" || riskLevel === \"high\" ? \"destructive\" : \"outline\"}\n className=\"text-2xs\"\n >\n {tComponent(CT, `risk${riskLevel.charAt(0).toUpperCase()}${riskLevel.slice(1)}` as any)}\n </Badge>\n {systemRef && (\n <span className=\"text-2xs text-muted-foreground\">{systemRef}</span>\n )}\n </div>\n\n {/* Countdown / Expired indicator */}\n {remaining && (\n <Badge variant=\"secondary\" className=\"text-2xs tabular-nums\">\n {tComponent(CT, \"expiresCountdown\", { time: remaining })}\n </Badge>\n )}\n {isExpired && (\n <Badge variant=\"destructive\" className=\"text-2xs\">\n {tComponent(CT, \"expired\")}\n </Badge>\n )}\n </div>\n\n <AlertDescription className=\"text-sm\">\n {actionDescription}\n </AlertDescription>\n\n {/* Required roles display */}\n {requiredRoles && requiredRoles.length > 0 && (\n <div className=\"flex items-center gap-element\">\n <span className=\"text-2xs text-muted-foreground\">{tComponent(CT, \"requiredRoles\")}:</span>\n <div className=\"flex gap-1\">\n {requiredRoles.map((role) => (\n <Badge key={role} variant=\"outline\" className=\"text-2xs\">\n {role}\n </Badge>\n ))}\n </div>\n </div>\n )}\n\n {/* Expandable execution context */}\n {executionContext && Object.keys(executionContext).length > 0 && (\n <Collapsible>\n <CollapsibleTrigger asChild>\n <Button variant={ButtonVariants_Variant.GHOST} size={ButtonSize.SM} className=\"h-6 px-2 text-2xs text-muted-foreground\">\n {tComponent(CT, \"context\")}\n </Button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.INSET}>\n <pre className=\"mt-1 max-h-32 overflow-auto rounded-md bg-muted p-2 text-2xs\">\n {JSON.stringify(executionContext, null, 2)}\n </pre>\n </Surface>\n </CollapsibleContent>\n </Collapsible>\n )}\n\n <AI_ApprovalActions\n approvalId={approvalId}\n riskLevel={riskLevel}\n onApprove={onApprove}\n onDeny={onDeny}\n onEscalate={onEscalate}\n isProcessing={isProcessing}\n disabled={isExpired}\n />\n </Alert>\n );\n};\n\n//===============================================================\n// AI_ApprovalActions\n//===============================================================\n\nexport type AI_ApprovalActionsProps = ComponentProps<\"div\"> & {\n approvalId: string;\n riskLevel?: \"low\" | \"medium\" | \"high\" | \"critical\";\n onApprove?: (approvalId: string, comment?: string) => void;\n onDeny?: (approvalId: string, comment?: string) => void;\n onEscalate?: (approvalId: string, comment?: string) => void;\n isProcessing?: boolean;\n disabled?: boolean;\n};\n\nexport const AI_ApprovalActions = ({\n approvalId,\n riskLevel,\n onApprove,\n onDeny,\n onEscalate,\n isProcessing,\n disabled,\n className,\n ...props\n}: AI_ApprovalActionsProps): React.JSX.Element | null => {\n const { tComponent, isReady } = useI18n({ component: CT });\n const [comment, setComment] = React.useState(\"\");\n const isHighRisk = riskLevel === \"high\" || riskLevel === \"critical\";\n const actionsDisabled = isProcessing || disabled;\n\n if (!isReady) return null;\n\n const approveButton = (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.DEFAULT}\n size={ButtonSize.SM}\n disabled={actionsDisabled}\n onClick={isHighRisk ? undefined : () => onApprove?.(approvalId, comment || undefined)}\n >\n {isProcessing ? tComponent(CT, \"processing\") : tComponent(CT, \"approve\")}\n </Button>\n );\n\n return (\n <div className={cn(\"flex flex-col gap-2\", className)} {...props}>\n {/* Comment textarea */}\n <TextareaRoot\n rows={2}\n value={comment}\n onChange={(e) => setComment(e.target.value)}\n placeholder={tComponent(CT, \"commentPlaceholder\")}\n className=\"text-xs\"\n disabled={actionsDisabled}\n />\n\n <div className=\"flex items-center gap-element\">\n {/* Approve — with confirmation dialog for high/critical risk */}\n {isHighRisk ? (\n <AlertDialog>\n <AlertDialogTrigger asChild>\n {approveButton}\n </AlertDialogTrigger>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>{tComponent(CT, \"confirmTitle\")}</AlertDialogTitle>\n <AlertDialogDescription>{tComponent(CT, \"confirmDescription\")}</AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>{tComponent(CT, \"confirmCancel\")}</AlertDialogCancel>\n <AlertDialogAction onClick={() => onApprove?.(approvalId, comment || undefined)}>\n {tComponent(CT, \"confirmProceed\")}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n ) : (\n approveButton\n )}\n\n {/* Deny */}\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n disabled={actionsDisabled}\n onClick={() => onDeny?.(approvalId, comment || undefined)}\n >\n {tComponent(CT, \"deny\")}\n </Button>\n\n {/* Escalate (optional) */}\n {onEscalate && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.SECONDARY}\n size={ButtonSize.SM}\n disabled={actionsDisabled}\n onClick={() => onEscalate?.(approvalId, comment || undefined)}\n >\n {tComponent(CT, \"escalate\")}\n </Button>\n )}\n </div>\n </div>\n );\n};\n\n//===============================================================\n// AI_ApprovalQueue\n//===============================================================\n\nconst RISK_ORDER: Record<string, number> = { critical: 0, high: 1, medium: 2, low: 3 };\n\nexport type AI_ApprovalQueueItem = {\n approvalId: string;\n executionId: string;\n systemRef: string;\n actionDescription: string;\n riskLevel: \"low\" | \"medium\" | \"high\" | \"critical\";\n expiresAt?: Date;\n requiredRoles?: string[];\n executionContext?: Record<string, unknown>;\n createdAt?: Date;\n};\n\nexport type AI_ApprovalQueueProps = ComponentProps<\"div\"> & {\n items: AI_ApprovalQueueItem[];\n onApprove?: (approvalId: string, comment?: string) => void;\n onDeny?: (approvalId: string, comment?: string) => void;\n onEscalate?: (approvalId: string, comment?: string) => void;\n processingIds?: Set<string>;\n filter?: string;\n onFilterChange?: (filter: string) => void;\n};\n\nfunction useRelativeTimeFormatter(): (date: Date) => string {\n const { tComponent } = useI18n({ component: CT });\n return React.useCallback((date: Date): string => {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1_000);\n if (seconds < 60) return tComponent(CT, \"timeAgoSeconds\", { count: String(seconds) });\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return tComponent(CT, \"timeAgoMinutes\", { count: String(minutes) });\n const hours = Math.floor(minutes / 60);\n return tComponent(CT, \"timeAgoHours\", { count: String(hours) });\n }, [tComponent]);\n}\n\nexport const AI_ApprovalQueue = ({\n items,\n onApprove,\n onDeny,\n onEscalate,\n processingIds,\n filter,\n onFilterChange,\n className,\n ...props\n}: AI_ApprovalQueueProps): React.JSX.Element | null => {\n const { tComponent, isReady } = useI18n({ component: CT });\n const formatRelativeTime = useRelativeTimeFormatter();\n const [sortByRisk, setSortByRisk] = React.useState(true);\n const [internalFilter, setInternalFilter] = React.useState(\"\");\n\n const activeFilter = filter ?? internalFilter;\n\n const filtered = React.useMemo(() => {\n let result = items;\n if (activeFilter) {\n const q = activeFilter.toLowerCase();\n result = result.filter((i) =>\n i.systemRef.toLowerCase().includes(q) ||\n i.actionDescription.toLowerCase().includes(q) ||\n i.executionId.toLowerCase().includes(q)\n );\n }\n if (sortByRisk) {\n result = [...result].sort((a, b) =>\n (RISK_ORDER[a.riskLevel] ?? 4) - (RISK_ORDER[b.riskLevel] ?? 4)\n );\n }\n return result;\n }, [items, activeFilter, sortByRisk]);\n\n if (!isReady) return null;\n\n return (\n <div className={cn(\"flex flex-col gap-card\", className)} {...props}>\n <div className=\"flex items-center justify-between gap-element\">\n <div className=\"flex items-center gap-element\">\n <h3 className=\"text-sm font-semibold\">\n {tComponent(CT, \"queueTitle\")}\n </h3>\n <Badge variant=\"secondary\">{items.length}</Badge>\n </div>\n\n <Button\n type=\"button\"\n variant={sortByRisk ? ButtonVariants_Variant.SECONDARY : ButtonVariants_Variant.GHOST}\n size={ButtonSize.SM}\n className=\"h-6 text-2xs\"\n onClick={() => setSortByRisk(!sortByRisk)}\n >\n {tComponent(CT, \"queueSortRisk\")}\n </Button>\n </div>\n\n {items.length === 0 ? (\n <p className=\"py-card text-center text-sm text-muted-foreground\">\n {tComponent(CT, \"queueEmpty\")}\n </p>\n ) : (\n <ScrollArea className=\"max-h-96\">\n <div className=\"flex flex-col gap-card-sm\">\n {filtered.map((item) => (\n <div key={item.approvalId} className=\"relative\">\n {item.createdAt && (\n <span className=\"absolute end-2 top-2 text-2xs text-muted-foreground\">\n {formatRelativeTime(item.createdAt)}\n </span>\n )}\n <AI_ApprovalRequest\n approvalId={item.approvalId}\n executionId={item.executionId}\n systemRef={item.systemRef}\n actionDescription={item.actionDescription}\n riskLevel={item.riskLevel}\n expiresAt={item.expiresAt}\n requiredRoles={item.requiredRoles}\n executionContext={item.executionContext}\n createdAt={item.createdAt}\n onApprove={onApprove}\n onDeny={onDeny}\n onEscalate={onEscalate}\n isProcessing={processingIds?.has(item.approvalId)}\n />\n </div>\n ))}\n </div>\n </ScrollArea>\n )}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../../../src/components/ai-elements/decision/approval.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n Alert,\n AlertDescription,\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogTitle,\n AlertDialogTrigger,\n Badge,\n Button,\n ButtonVariants_Variant,\n ScrollArea,\n TextareaRoot,\n cn,\n useI18n,\n Surface,\n} from '@wildo-ai/saas-frontend-lib';\n\nimport { FrontendComponentType, ButtonSize, SurfaceVariant } from \"@wildo-ai/presets-components-models\";\nimport type { ComponentProps } from \"react\";\n\nconst CT: FrontendComponentType = FrontendComponentType.LOW_LEVEL_AI_APPROVAL;\n\n//===============================================================\n// Human-in-the-Loop Approval Components\n//\n// BACKEND DEPENDENCIES:\n// - FlowsActorsContext.respondToApproval() — implemented (WebSocket emit)\n// - WebSocket event: FLOWS_ACTORS_APPROVAL_REQUEST — implemented\n// - FlowsActorsExecution.pendingApproval — schema ready:\n// { approvalId, actionDescription, riskLevel, expiresAt?, requiredRoles? }\n//\n// Components render approval UI from props. Wire to context via\n// the saas-frontend-lib wrapper (flows-actors/approval.tsx).\n//===============================================================\n\n//===============================================================\n// useCountdown — shared countdown hook\n//===============================================================\n\nfunction useCountdown(expiresAt: Date | undefined): { remaining: string | null; isExpired: boolean } {\n const [now, setNow] = React.useState(() => Date.now());\n\n React.useEffect(() => {\n if (!expiresAt) return;\n const id = setInterval(() => setNow(Date.now()), 1_000);\n return () => clearInterval(id);\n }, [expiresAt]);\n\n if (!expiresAt) return { remaining: null, isExpired: false };\n\n const diff = expiresAt.getTime() - now;\n if (diff <= 0) return { remaining: null, isExpired: true };\n\n const totalSeconds = Math.floor(diff / 1_000);\n const minutes = Math.floor(totalSeconds / 60);\n const seconds = totalSeconds % 60;\n const remaining = minutes > 0\n ? `${minutes}m ${String(seconds).padStart(2, \"0\")}s`\n : `${seconds}s`;\n\n return { remaining, isExpired: false };\n}\n\n//===============================================================\n// AI_ApprovalRequest\n//===============================================================\n\nexport type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & {\n approvalId: string;\n actionDescription: string;\n /**\n * OPTIONAL, because nothing populates it. A risk level exists only on\n * `WS_FlowsActorsApprovalRequestPayload`, a payload no code emits; the announcement a paused turn\n * really sends carries a tool name and its arguments and no risk claim (#528). Absent means the\n * badge is not rendered — a default here would show a severity nobody declared.\n */\n riskLevel?: \"low\" | \"medium\" | \"high\" | \"critical\";\n executionId: string;\n systemRef?: string;\n expiresAt?: Date;\n requiredRoles?: string[];\n /**\n * The gated tool call, and the arguments proposed for it.\n *\n * `toolName` is an IDENTIFIER, rendered as authored — it is the thing the agent asked to run,\n * and humanizing it here would invent display text no i18n tree owns.\n * `executionContext` carries the arguments (#455).\n */\n toolName?: string;\n executionContext?: Record<string, unknown>;\n /**\n * Offer the approver an EDITOR over the proposed arguments (#566).\n *\n * Off by default, and it is not a styling preference: turning it on changes what an approval MEANS\n * — the approver stops assenting to the agent's call and starts authoring one. A surface that\n * shows the editor must be wired to a decision path that carries the result, or it collects a\n * change and drops it, which is the failure #537 refused to ship.\n *\n * v1 is a RAW JSON editor rather than a generated form. The tool's `inputSchema` is not\n * transported to the browser yet, and the server's validation — not the browser's — is the\n * control, so a textarea the server refuses with a readable message is a complete and honest\n * first version. The generated form is its own issue.\n */\n allowArgumentModification?: boolean;\n /**\n * `modifiedToolArgs` is present only when the approver EDITED the arguments. Absent means \"run the\n * call as proposed\", which is what every approval meant before this parameter existed.\n */\n onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;\n onDeny?: (approvalId: string, comment?: string) => void;\n onEscalate?: (approvalId: string, comment?: string) => void;\n isProcessing?: boolean;\n createdAt?: Date;\n};\n\nexport const AI_ApprovalRequest = ({\n approvalId,\n actionDescription,\n riskLevel,\n executionId,\n systemRef,\n expiresAt,\n requiredRoles,\n toolName,\n executionContext,\n allowArgumentModification,\n onApprove,\n onDeny,\n onEscalate,\n isProcessing,\n createdAt,\n className,\n ...props\n}: AI_ApprovalRequestProps): React.JSX.Element | null => {\n const { tComponent, isReady } = useI18n({ component: CT });\n const { remaining, isExpired } = useCountdown(expiresAt);\n const variant = riskLevel === \"critical\" || riskLevel === \"high\" ? \"destructive\" : \"default\";\n\n /*\n * The argument editor's state (#566).\n *\n * `draft` is `null` while the approver is reading rather than editing — distinct from an empty\n * string, which is a draft they have cleared. Opening the editor seeds it from the PROPOSED\n * arguments, so the starting point is the call the agent asked for and an approver changes one\n * value rather than retyping the object.\n */\n const [draft, setDraft] = React.useState<string | null>(null);\n const parsedDraft = React.useMemo(() => {\n if (draft === null) return { value: undefined, invalid: false };\n try {\n const value = JSON.parse(draft) as unknown;\n // An array or a scalar is valid JSON and cannot be a tool's arguments. Refusing it HERE spares\n // the round trip; the server refuses it too, which is what actually protects the call.\n if (value === null || typeof value !== \"object\" || Array.isArray(value)) return { value: undefined, invalid: true };\n return { value: value as Record<string, unknown>, invalid: false };\n } catch {\n return { value: undefined, invalid: true };\n }\n }, [draft]);\n\n if (!isReady) return null;\n\n return (\n <Alert variant={variant} className={cn(\"flex flex-col gap-card-sm\", className)} {...props}>\n <div className=\"flex items-center justify-between gap-element\">\n <div className=\"flex items-center gap-element\">\n {riskLevel && (\n <Badge\n variant={riskLevel === \"critical\" || riskLevel === \"high\" ? \"destructive\" : \"outline\"}\n className=\"text-2xs\"\n >\n {tComponent(CT, `risk${riskLevel.charAt(0).toUpperCase()}${riskLevel.slice(1)}` as any)}\n </Badge>\n )}\n {systemRef && (\n <span className=\"text-2xs text-muted-foreground\">{systemRef}</span>\n )}\n </div>\n\n {/* Countdown / Expired indicator */}\n {remaining && (\n <Badge variant=\"secondary\" className=\"text-2xs tabular-nums\">\n {tComponent(CT, \"expiresCountdown\", { time: remaining })}\n </Badge>\n )}\n {isExpired && (\n <Badge variant=\"destructive\" className=\"text-2xs\">\n {tComponent(CT, \"expired\")}\n </Badge>\n )}\n </div>\n\n <AlertDescription className=\"text-sm\">\n {actionDescription}\n </AlertDescription>\n\n {/* Required roles display */}\n {requiredRoles && requiredRoles.length > 0 && (\n <div className=\"flex items-center gap-element\">\n <span className=\"text-2xs text-muted-foreground\">{tComponent(CT, \"requiredRoles\")}:</span>\n <div className=\"flex gap-1\">\n {requiredRoles.map((role) => (\n <Badge key={role} variant=\"outline\" className=\"text-2xs\">\n {role}\n </Badge>\n ))}\n </div>\n </div>\n )}\n\n {/* The gated tool call — WHAT the approver is being asked to authorize (#455). */}\n {toolName !== undefined && (\n <div className=\"flex items-center gap-element\">\n <span className=\"text-2xs text-muted-foreground\">{tComponent(CT, \"toolCall\")}:</span>\n {/*\n * Rendered as authored. A tool name is an IDENTIFIER the agent runtime owns, and turning\n * `renameTodo` into \"Rename Todo\" would invent display text no i18n tree can correct —\n * the exact fallback `display-text-comes-from-i18n.md` retired. The approver is better\n * served by the name the system will actually run.\n */}\n <code className=\"rounded bg-muted px-1 py-0.5 text-2xs font-mono\">{toolName}</code>\n </div>\n )}\n\n {/*\n * The proposed ARGUMENTS, one row per key, expanded by default.\n *\n * This was a collapsed `JSON.stringify` in a `<pre>`. Two things were wrong with that and only\n * the second is cosmetic: a blob is not readable at approval speed, and COLLAPSED-BY-DEFAULT\n * hides the very thing being approved — an approver who never opens it is signing an unread\n * document, which is how an approval prompt stops being read at all.\n *\n * Keys render VERBATIM. They are the tool's own parameter names, they carry no i18n entry, and\n * humanizing them is forbidden for the same reason as the tool name. A value that is not a\n * primitive is serialized, because a nested object has no honest one-line form — and that\n * narrow case is the only place a JSON fragment survives.\n */}\n {executionContext && Object.keys(executionContext).length > 0 && (\n <div className=\"flex flex-col gap-element\">\n <div className=\"flex items-center justify-between gap-element\">\n <span className=\"text-2xs text-muted-foreground\">{tComponent(CT, \"toolArguments\")}:</span>\n {/*\n * The door to approve-with-modifications (#566), rendered only when the surface's owner\n * declared it. An approver who edits these is AUTHORING a call the agent never\n * proposed, so it is opt-in per surface rather than always present.\n */}\n {allowArgumentModification && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.GHOST}\n size={ButtonSize.SM}\n disabled={isProcessing || isExpired}\n onClick={() => setDraft(draft === null ? JSON.stringify(executionContext, null, 2) : null)}\n >\n {tComponent(CT, draft === null ? \"editArguments\" : \"discardArgumentEdits\")}\n </Button>\n )}\n </div>\n {draft === null ? (\n <Surface asChild emitPolicyVars={false} variant={SurfaceVariant.INSET}>\n <dl className=\"grid grid-cols-[auto_1fr] gap-x-element gap-y-0.5 rounded-md bg-muted p-2 text-2xs\">\n {Object.entries(executionContext).map(([key, value]) => (\n <React.Fragment key={key}>\n <dt className=\"font-mono text-muted-foreground\">{key}</dt>\n <dd className=\"min-w-0 break-words font-mono\">\n {typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\"\n ? String(value)\n : JSON.stringify(value)}\n </dd>\n </React.Fragment>\n ))}\n </dl>\n </Surface>\n ) : (\n <>\n <TextareaRoot\n rows={Math.min(12, Object.keys(executionContext).length + 3)}\n value={draft}\n onChange={(e) => setDraft(e.target.value)}\n className=\"font-mono text-2xs\"\n disabled={isProcessing || isExpired}\n aria-invalid={parsedDraft.invalid || undefined}\n aria-label={tComponent(CT, \"editArguments\")}\n />\n {/*\n * Local JSON validity only. Whether these arguments SUIT the tool is the server's\n * question — it holds the tool's `inputSchema`, refuses an edit that violates it, and\n * leaves the approval pending with a message naming the offending argument. Judging\n * that here would be a second, weaker copy of the control.\n */}\n {parsedDraft.invalid && (\n <span className=\"text-2xs text-destructive\">{tComponent(CT, \"argumentsNotValidJson\")}</span>\n )}\n </>\n )}\n </div>\n )}\n\n <AI_ApprovalActions\n approvalId={approvalId}\n riskLevel={riskLevel}\n onApprove={onApprove}\n onDeny={onDeny}\n onEscalate={onEscalate}\n isProcessing={isProcessing}\n // Approving with unparseable text would send nothing and silently run the model's own\n // arguments — a change collected and dropped, which is the one outcome this feature exists\n // to prevent. The button is unavailable until the draft is an object.\n disabled={isExpired || parsedDraft.invalid}\n modifiedToolArgs={parsedDraft.value}\n />\n </Alert>\n );\n};\n\n//===============================================================\n// AI_ApprovalActions\n//===============================================================\n\nexport type AI_ApprovalActionsProps = ComponentProps<\"div\"> & {\n approvalId: string;\n riskLevel?: \"low\" | \"medium\" | \"high\" | \"critical\";\n /** Present only while the approver has the argument editor open with a parseable draft (#566). */\n modifiedToolArgs?: Record<string, unknown>;\n onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;\n onDeny?: (approvalId: string, comment?: string) => void;\n onEscalate?: (approvalId: string, comment?: string) => void;\n isProcessing?: boolean;\n disabled?: boolean;\n};\n\nexport const AI_ApprovalActions = ({\n approvalId,\n riskLevel,\n modifiedToolArgs,\n onApprove,\n onDeny,\n onEscalate,\n isProcessing,\n disabled,\n className,\n ...props\n}: AI_ApprovalActionsProps): React.JSX.Element | null => {\n const { tComponent, isReady } = useI18n({ component: CT });\n const [comment, setComment] = React.useState(\"\");\n const isHighRisk = riskLevel === \"high\" || riskLevel === \"critical\";\n const actionsDisabled = isProcessing || disabled;\n\n if (!isReady) return null;\n\n const approveButton = (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.DEFAULT}\n size={ButtonSize.SM}\n disabled={actionsDisabled}\n onClick={isHighRisk ? undefined : () => onApprove?.(approvalId, comment || undefined, modifiedToolArgs)}\n >\n {isProcessing ? tComponent(CT, \"processing\") : tComponent(CT, \"approve\")}\n </Button>\n );\n\n return (\n <div className={cn(\"flex flex-col gap-2\", className)} {...props}>\n {/* Comment textarea */}\n <TextareaRoot\n rows={2}\n value={comment}\n onChange={(e) => setComment(e.target.value)}\n placeholder={tComponent(CT, \"commentPlaceholder\")}\n className=\"text-xs\"\n disabled={actionsDisabled}\n />\n\n <div className=\"flex items-center gap-element\">\n {/* Approve — with confirmation dialog for high/critical risk */}\n {isHighRisk ? (\n <AlertDialog>\n <AlertDialogTrigger asChild>\n {approveButton}\n </AlertDialogTrigger>\n <AlertDialogContent>\n <AlertDialogHeader>\n <AlertDialogTitle>{tComponent(CT, \"confirmTitle\")}</AlertDialogTitle>\n <AlertDialogDescription>{tComponent(CT, \"confirmDescription\")}</AlertDialogDescription>\n </AlertDialogHeader>\n <AlertDialogFooter>\n <AlertDialogCancel>{tComponent(CT, \"confirmCancel\")}</AlertDialogCancel>\n <AlertDialogAction onClick={() => onApprove?.(approvalId, comment || undefined, modifiedToolArgs)}>\n {tComponent(CT, \"confirmProceed\")}\n </AlertDialogAction>\n </AlertDialogFooter>\n </AlertDialogContent>\n </AlertDialog>\n ) : (\n approveButton\n )}\n\n {/* Deny */}\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.OUTLINE}\n size={ButtonSize.SM}\n disabled={actionsDisabled}\n onClick={() => onDeny?.(approvalId, comment || undefined)}\n >\n {tComponent(CT, \"deny\")}\n </Button>\n\n {/* Escalate (optional) */}\n {onEscalate && (\n <Button\n type=\"button\"\n variant={ButtonVariants_Variant.SECONDARY}\n size={ButtonSize.SM}\n disabled={actionsDisabled}\n onClick={() => onEscalate?.(approvalId, comment || undefined)}\n >\n {tComponent(CT, \"escalate\")}\n </Button>\n )}\n </div>\n </div>\n );\n};\n\n//===============================================================\n// AI_ApprovalQueue\n//===============================================================\n\nconst RISK_ORDER: Record<string, number> = { critical: 0, high: 1, medium: 2, low: 3 };\n\nexport type AI_ApprovalQueueItem = {\n approvalId: string;\n executionId: string;\n systemRef: string;\n actionDescription: string;\n /** OPTIONAL for the same reason as on a single request — nothing populates it (#528). */\n riskLevel?: \"low\" | \"medium\" | \"high\" | \"critical\";\n expiresAt?: Date;\n requiredRoles?: string[];\n executionContext?: Record<string, unknown>;\n createdAt?: Date;\n};\n\nexport type AI_ApprovalQueueProps = ComponentProps<\"div\"> & {\n items: AI_ApprovalQueueItem[];\n onApprove?: (approvalId: string, comment?: string) => void;\n onDeny?: (approvalId: string, comment?: string) => void;\n onEscalate?: (approvalId: string, comment?: string) => void;\n processingIds?: Set<string>;\n filter?: string;\n onFilterChange?: (filter: string) => void;\n};\n\nfunction useRelativeTimeFormatter(): (date: Date) => string {\n const { tComponent } = useI18n({ component: CT });\n return React.useCallback((date: Date): string => {\n const seconds = Math.floor((Date.now() - date.getTime()) / 1_000);\n if (seconds < 60) return tComponent(CT, \"timeAgoSeconds\", { count: String(seconds) });\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return tComponent(CT, \"timeAgoMinutes\", { count: String(minutes) });\n const hours = Math.floor(minutes / 60);\n return tComponent(CT, \"timeAgoHours\", { count: String(hours) });\n }, [tComponent]);\n}\n\nexport const AI_ApprovalQueue = ({\n items,\n onApprove,\n onDeny,\n onEscalate,\n processingIds,\n filter,\n onFilterChange,\n className,\n ...props\n}: AI_ApprovalQueueProps): React.JSX.Element | null => {\n const { tComponent, isReady } = useI18n({ component: CT });\n const formatRelativeTime = useRelativeTimeFormatter();\n const [sortByRisk, setSortByRisk] = React.useState(true);\n const [internalFilter, setInternalFilter] = React.useState(\"\");\n\n const activeFilter = filter ?? internalFilter;\n\n const filtered = React.useMemo(() => {\n let result = items;\n if (activeFilter) {\n const q = activeFilter.toLowerCase();\n result = result.filter((i) =>\n i.systemRef.toLowerCase().includes(q) ||\n i.actionDescription.toLowerCase().includes(q) ||\n i.executionId.toLowerCase().includes(q)\n );\n }\n if (sortByRisk) {\n result = [...result].sort((a, b) =>\n (RISK_ORDER[a.riskLevel] ?? 4) - (RISK_ORDER[b.riskLevel] ?? 4)\n );\n }\n return result;\n }, [items, activeFilter, sortByRisk]);\n\n if (!isReady) return null;\n\n return (\n <div className={cn(\"flex flex-col gap-card\", className)} {...props}>\n <div className=\"flex items-center justify-between gap-element\">\n <div className=\"flex items-center gap-element\">\n <h3 className=\"text-sm font-semibold\">\n {tComponent(CT, \"queueTitle\")}\n </h3>\n <Badge variant=\"secondary\">{items.length}</Badge>\n </div>\n\n <Button\n type=\"button\"\n variant={sortByRisk ? ButtonVariants_Variant.SECONDARY : ButtonVariants_Variant.GHOST}\n size={ButtonSize.SM}\n className=\"h-6 text-2xs\"\n onClick={() => setSortByRisk(!sortByRisk)}\n >\n {tComponent(CT, \"queueSortRisk\")}\n </Button>\n </div>\n\n {items.length === 0 ? (\n <p className=\"py-card text-center text-sm text-muted-foreground\">\n {tComponent(CT, \"queueEmpty\")}\n </p>\n ) : (\n <ScrollArea className=\"max-h-96\">\n <div className=\"flex flex-col gap-card-sm\">\n {filtered.map((item) => (\n <div key={item.approvalId} className=\"relative\">\n {item.createdAt && (\n <span className=\"absolute end-2 top-2 text-2xs text-muted-foreground\">\n {formatRelativeTime(item.createdAt)}\n </span>\n )}\n <AI_ApprovalRequest\n approvalId={item.approvalId}\n executionId={item.executionId}\n systemRef={item.systemRef}\n actionDescription={item.actionDescription}\n riskLevel={item.riskLevel}\n expiresAt={item.expiresAt}\n requiredRoles={item.requiredRoles}\n executionContext={item.executionContext}\n createdAt={item.createdAt}\n onApprove={onApprove}\n onDeny={onDeny}\n onEscalate={onEscalate}\n isProcessing={processingIds?.has(item.approvalId)}\n />\n </div>\n ))}\n </div>\n </ScrollArea>\n )}\n </div>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"decision-request.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/decision-request.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,IAAI,EAaL,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAmD5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,oHAWhC,uBAAuB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA2JhD,CAAC;AAMF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,mGAUlC,yBAAyB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA4GlD,CAAC"}
1
+ {"version":3,"file":"decision-request.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/decision/decision-request.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,IAAI,EAaL,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAmD5C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,oHAWhC,uBAAuB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA2JhD,CAAC;AAMF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG;IACtF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,mGAUlC,yBAAyB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IA4GlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"decision-request.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/decision-request.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAwDzD,CAAC"}
1
+ {"version":3,"file":"decision-request.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/decision/decision-request.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,wBAAwB,EAAE,mBAAmB,EAwDzD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/execution/confirmation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAGV,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAsBrC,eAAO,MAAM,eAAe,GAAI,0CAK7B,oBAAoB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAU7C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAGlC,yBAAyB,KAAG,KAAK,CAAC,GAAG,CAAC,OAExC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,cAAc,2BAA2B,KAAG,KAAK,CAAC,SASxF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,eAErC,4BAA4B,KAAG,KAAK,CAAC,SAcvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,eAErC,4BAA4B,KAAG,KAAK,CAAC,SAcvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,yBAGpC,2BAA2B,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAcpD,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,KAAG,KAAK,CAAC,GAAG,CAAC,OAEnF,CAAC"}
1
+ {"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/execution/confirmation.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAGV,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AAsBrC,eAAO,MAAM,eAAe,GAAI,0CAK7B,oBAAoB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAU7C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,yBAGlC,yBAAyB,KAAG,KAAK,CAAC,GAAG,CAAC,OAExC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,cAAc,2BAA2B,KAAG,KAAK,CAAC,SASxF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,eAErC,4BAA4B,KAAG,KAAK,CAAC,SAcvC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,eAErC,4BAA4B,KAAG,KAAK,CAAC,SAcvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,yBAGpC,2BAA2B,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAcpD,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,KAAG,KAAK,CAAC,GAAG,CAAC,OAEnF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation.labels.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/execution/confirmation.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAW7D,CAAC"}
1
+ {"version":3,"file":"confirmation.labels.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/execution/confirmation.labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,mBAAmB,EAA2B,MAAM,qCAAqC,CAAC;AAM1I,eAAO,MAAM,4BAA4B,EAAE,mBAAmB,EAW7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/execution/queue.tsx"],"names":[],"mappings":"AAGA,OAAO,EAaL,gBAAgB,EAmBjB,MAAM,6BAA6B,CAAC;AAqTrC,eAAO,MAAM,QAAQ,kBAiBnB,CAAC"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../src/components/ai-elements/execution/queue.tsx"],"names":[],"mappings":"AAGA,OAAO,EAaL,gBAAgB,EAmBjB,MAAM,6BAA6B,CAAC;AAqTrC,eAAO,MAAM,QAAQ,kBAiBnB,CAAC"}