@wildo-ai/presets-components 1.1.4 → 1.1.6

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 (780) hide show
  1. package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
  2. package/dist/esm/components/actions/action-bar.js +65 -8
  3. package/dist/esm/components/actions/action-bar.js.map +1 -1
  4. package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
  5. package/dist/esm/components/actions/action-button.d.ts.map +1 -1
  6. package/dist/esm/components/actions/action-button.js +3 -3
  7. package/dist/esm/components/actions/action-button.js.map +1 -1
  8. package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
  9. package/dist/esm/components/actions/button-group.d.ts.map +1 -1
  10. package/dist/esm/components/actions/button.d.ts.map +1 -1
  11. package/dist/esm/components/actions/button.js +62 -3
  12. package/dist/esm/components/actions/button.js.map +1 -1
  13. package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
  14. package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
  15. package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
  16. package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
  17. package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
  18. package/dist/esm/components/ai-elements/artifacts/code-block.js +1 -1
  19. package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
  20. package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
  21. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
  22. package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
  23. package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
  24. package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
  25. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
  26. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
  27. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
  28. package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
  29. package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
  30. package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
  31. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
  32. package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
  33. package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
  34. package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
  35. package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
  36. package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
  37. package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
  38. package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
  39. package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
  40. package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
  41. package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
  42. package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
  43. package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
  44. package/dist/esm/components/ai-elements/chat/suggestion.js +8 -1
  45. package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
  46. package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
  47. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
  48. package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
  49. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
  50. package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
  51. package/dist/esm/components/ai-elements/decision/approval.d.ts +124 -17
  52. package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
  53. package/dist/esm/components/ai-elements/decision/approval.js +105 -13
  54. package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
  55. package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
  56. package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
  57. package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
  58. package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
  59. package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
  60. package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
  61. package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
  62. package/dist/esm/components/ai-elements/execution/task.js +1 -1
  63. package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
  64. package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
  65. package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
  66. package/dist/esm/components/ai-elements/execution/tool.js +8 -1
  67. package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
  68. package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
  69. package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
  70. package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
  71. package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
  72. package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
  73. package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
  74. package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
  75. package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
  76. package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
  77. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts +3 -1
  78. package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
  79. package/dist/esm/components/ai-elements/graph/graph-runtime.js +3 -1
  80. package/dist/esm/components/ai-elements/graph/graph-runtime.js.map +1 -1
  81. package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
  82. package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
  83. package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
  84. package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
  85. package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
  86. package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
  87. package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
  88. package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
  89. package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
  90. package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
  91. package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
  92. package/dist/esm/components/ai-elements/meta/agent.js +23 -18
  93. package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
  94. package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
  95. package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
  96. package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
  97. package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
  98. package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
  99. package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
  100. package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
  101. package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
  102. package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
  103. package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
  104. package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
  105. package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
  106. package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
  107. package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
  108. package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
  109. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
  110. package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
  111. package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
  112. package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
  113. package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
  114. package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
  115. package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
  116. package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
  117. package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
  118. package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
  119. package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
  120. package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
  121. package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
  122. package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
  123. package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
  124. package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
  125. package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
  126. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
  127. package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
  128. package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
  129. package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
  130. package/dist/esm/components/app/app-layout-main-container.d.ts +9 -0
  131. package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
  132. package/dist/esm/components/app/app-layout-main-container.js +17 -23
  133. package/dist/esm/components/app/app-layout-main-container.js.map +1 -1
  134. package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
  135. package/dist/esm/components/app/app-layout-main-container.labels.js +48 -0
  136. package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
  137. package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
  138. package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
  139. package/dist/esm/components/app/public-layout-main-container.js +9 -8
  140. package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
  141. package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
  142. package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
  143. package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
  144. package/dist/esm/components/app/public-layout-terms.js +137 -0
  145. package/dist/esm/components/app/public-layout-terms.js.map +1 -0
  146. package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
  147. package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
  148. package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
  149. package/dist/esm/components/billing/billing-invoice-history.js +3 -1
  150. package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
  151. package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
  152. package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
  153. package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
  154. package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
  155. package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
  156. package/dist/esm/components/billing/billing-plan-change-preview.js +25 -0
  157. package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
  158. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
  159. package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
  160. package/dist/esm/components/billing/billing-plan-change-preview.labels.js +22 -0
  161. package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
  162. package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
  163. package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
  164. package/dist/esm/components/billing/billing-portal-link.js +3 -1
  165. package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
  166. package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
  167. package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
  168. package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
  169. package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
  170. package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
  171. package/dist/esm/components/billing/billing-pricing-table.js +10 -4
  172. package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
  173. package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
  174. package/dist/esm/components/billing/billing-pricing-table.labels.js +8 -1
  175. package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
  176. package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
  177. package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
  178. package/dist/esm/components/billing/billing-subscription-status.js +3 -1
  179. package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
  180. package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
  181. package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
  182. package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
  183. package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
  184. package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
  185. package/dist/esm/components/billing/billing-usage-dashboard.js +10 -7
  186. package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
  187. package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
  188. package/dist/esm/components/billing/billing-usage-dashboard.labels.js +4 -1
  189. package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
  190. package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
  191. package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
  192. package/dist/esm/components/data-display/badge.d.ts.map +1 -1
  193. package/dist/esm/components/data-display/badge.js +16 -15
  194. package/dist/esm/components/data-display/badge.js.map +1 -1
  195. package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
  196. package/dist/esm/components/data-display/description-list.d.ts +2 -1
  197. package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
  198. package/dist/esm/components/data-display/description-list.js +24 -8
  199. package/dist/esm/components/data-display/description-list.js.map +1 -1
  200. package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
  201. package/dist/esm/components/data-display/duration.d.ts +15 -0
  202. package/dist/esm/components/data-display/duration.d.ts.map +1 -0
  203. package/dist/esm/components/data-display/duration.js +50 -0
  204. package/dist/esm/components/data-display/duration.js.map +1 -0
  205. package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
  206. package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
  207. package/dist/esm/components/data-display/duration.labels.js +35 -0
  208. package/dist/esm/components/data-display/duration.labels.js.map +1 -0
  209. package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
  210. package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
  211. package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
  212. package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
  213. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
  214. package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
  215. package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
  216. package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
  217. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
  218. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
  219. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
  220. package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
  221. package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
  222. package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
  223. package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
  224. package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
  225. package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
  226. package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
  227. package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
  228. package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
  229. package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
  230. package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
  231. package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
  232. package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
  233. package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
  234. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
  235. package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
  236. package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
  237. package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
  238. package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
  239. package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
  240. package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
  241. package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
  242. package/dist/esm/components/data-display/formatters/display-field-enum.js +29 -11
  243. package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
  244. package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
  245. package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
  246. package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
  247. package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
  248. package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
  249. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
  250. package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
  251. package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
  252. package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
  253. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
  254. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
  255. package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
  256. package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
  257. package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
  258. package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
  259. package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
  260. package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
  261. package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
  262. package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
  263. package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
  264. package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
  265. package/dist/esm/components/data-display/formatters/display-field-file.js +14 -15
  266. package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
  267. package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
  268. package/dist/esm/components/data-display/formatters/display-field-file.labels.js +2 -0
  269. package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
  270. package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
  271. package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
  272. package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
  273. package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
  274. package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
  275. package/dist/esm/components/data-display/formatters/display-field-number.js +8 -3
  276. package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
  277. package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
  278. package/dist/esm/components/data-display/formatters/display-field-number.labels.js +5 -2
  279. package/dist/esm/components/data-display/formatters/display-field-number.labels.js.map +1 -1
  280. package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
  281. package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
  282. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
  283. package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
  284. package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
  285. package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
  286. package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
  287. package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
  288. package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
  289. package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
  290. package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
  291. package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
  292. package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
  293. package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
  294. package/dist/esm/components/data-display/formatters/display-field-string.d.ts +1 -1
  295. package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
  296. package/dist/esm/components/data-display/formatters/display-field-string.js +129 -15
  297. package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
  298. package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
  299. package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
  300. package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
  301. package/dist/esm/components/data-display/identifier.d.ts +19 -0
  302. package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
  303. package/dist/esm/components/data-display/identifier.js +21 -0
  304. package/dist/esm/components/data-display/identifier.js.map +1 -0
  305. package/dist/esm/components/data-display/kbd.d.ts +17 -0
  306. package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
  307. package/dist/esm/components/data-display/kbd.js +18 -0
  308. package/dist/esm/components/data-display/kbd.js.map +1 -0
  309. package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
  310. package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
  311. package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
  312. package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
  313. package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
  314. package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
  315. package/dist/esm/components/data-display/notification-indicator.js +3 -11
  316. package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
  317. package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
  318. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
  319. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
  320. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
  321. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
  322. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
  323. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
  324. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
  325. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
  326. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
  327. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
  328. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
  329. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
  330. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
  331. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
  332. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
  333. package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
  334. package/dist/esm/components/data-display/timeline.d.ts +3 -0
  335. package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
  336. package/dist/esm/components/data-display/timeline.js +92 -0
  337. package/dist/esm/components/data-display/timeline.js.map +1 -0
  338. package/dist/esm/components/data-display/untrusted-html-content.d.ts +55 -0
  339. package/dist/esm/components/data-display/untrusted-html-content.d.ts.map +1 -0
  340. package/dist/esm/components/data-display/untrusted-html-content.js +67 -0
  341. package/dist/esm/components/data-display/untrusted-html-content.js.map +1 -0
  342. package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
  343. package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
  344. package/dist/esm/components/feedback/celebration-overlay.js +146 -22
  345. package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
  346. package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
  347. package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
  348. package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
  349. package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
  350. package/dist/esm/components/feedback/empty-state.js.map +1 -1
  351. package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
  352. package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
  353. package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
  354. package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
  355. package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
  356. package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
  357. package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
  358. package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
  359. package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
  360. package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
  361. package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
  362. package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
  363. package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
  364. package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
  365. package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
  366. package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
  367. package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
  368. package/dist/esm/components/feedback/notification-center.js +5 -5
  369. package/dist/esm/components/feedback/notification-center.js.map +1 -1
  370. package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
  371. package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
  372. package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
  373. package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
  374. package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
  375. package/dist/esm/components/feedback/progress.d.ts.map +1 -1
  376. package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
  377. package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
  378. package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
  379. package/dist/esm/components/feedback/toast.d.ts.map +1 -1
  380. package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
  381. package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
  382. package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
  383. package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
  384. package/dist/esm/components/form/chromes/field.js +11 -3
  385. package/dist/esm/components/form/chromes/field.js.map +1 -1
  386. package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
  387. package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
  388. package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
  389. package/dist/esm/components/form/chromes/form-primitive.labels.js +37 -0
  390. package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
  391. package/dist/esm/components/form/combobox.d.ts.map +1 -1
  392. package/dist/esm/components/form/combobox.js +14 -13
  393. package/dist/esm/components/form/combobox.js.map +1 -1
  394. package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
  395. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts +42 -0
  396. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts.map +1 -0
  397. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js +120 -0
  398. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js.map +1 -0
  399. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts +16 -0
  400. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts.map +1 -0
  401. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js +8 -0
  402. package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js.map +1 -0
  403. package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
  404. package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
  405. package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
  406. package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
  407. package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
  408. package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
  409. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
  410. package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
  411. package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
  412. package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
  413. package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
  414. package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
  415. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
  416. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
  417. package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
  418. package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
  419. package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
  420. package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
  421. package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
  422. package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
  423. package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
  424. package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
  425. package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
  426. package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
  427. package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
  428. package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
  429. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
  430. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
  431. package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
  432. package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
  433. package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
  434. package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
  435. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
  436. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
  437. package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
  438. package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
  439. package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
  440. package/dist/esm/components/form/controls/enum/radio.js +13 -12
  441. package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
  442. package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
  443. package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
  444. package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
  445. package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
  446. package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
  447. package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
  448. package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
  449. package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
  450. package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
  451. package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
  452. package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
  453. package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
  454. package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
  455. package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
  456. package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
  457. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
  458. package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
  459. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
  460. package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
  461. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
  462. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
  463. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
  464. package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
  465. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +3 -1
  466. package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -1
  467. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +3 -1
  468. package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -1
  469. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +6 -0
  470. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -1
  471. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +8 -1
  472. package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -1
  473. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +6 -2
  474. package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -1
  475. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +6 -2
  476. package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -1
  477. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +6 -0
  478. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -1
  479. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +8 -1
  480. package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -1
  481. package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
  482. package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
  483. package/dist/esm/components/form/controls/input.d.ts.map +1 -1
  484. package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
  485. package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
  486. package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
  487. package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
  488. package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
  489. package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
  490. package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
  491. package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
  492. package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
  493. package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
  494. package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
  495. package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
  496. package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
  497. package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
  498. package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
  499. package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
  500. package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
  501. package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
  502. package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
  503. package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
  504. package/dist/esm/components/layout/carousel.d.ts.map +1 -1
  505. package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
  506. package/dist/esm/components/layout/divider.d.ts.map +1 -1
  507. package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
  508. package/dist/esm/components/layout/resizable.d.ts.map +1 -1
  509. package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
  510. package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
  511. package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
  512. package/dist/esm/components/layout/separator.d.ts.map +1 -1
  513. package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
  514. package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
  515. package/dist/esm/components/navigation/app-level/activity-bar.js +2 -2
  516. package/dist/esm/components/navigation/app-level/activity-bar.js.map +1 -1
  517. package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
  518. package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
  519. package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
  520. package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
  521. package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
  522. package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
  523. package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
  524. package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
  525. package/dist/esm/components/navigation/app-level/menu-user-org.js +10 -4
  526. package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
  527. package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
  528. package/dist/esm/components/navigation/app-level/menu-user-org.labels.js +7 -0
  529. package/dist/esm/components/navigation/app-level/menu-user-org.labels.js.map +1 -1
  530. package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
  531. package/dist/esm/components/navigation/app-level/menubar.js +36 -14
  532. package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
  533. package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
  534. package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
  535. package/dist/esm/components/navigation/app-level/navigation-back.js +31 -5
  536. package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
  537. package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
  538. package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
  539. package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
  540. package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
  541. package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
  542. package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
  543. package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
  544. package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
  545. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
  546. package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
  547. package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
  548. package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
  549. package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
  550. package/dist/esm/components/navigation/app-level/sidebar.js +41 -25
  551. package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
  552. package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
  553. package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
  554. package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
  555. package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
  556. package/dist/esm/components/navigation/app-level/status-bar.js +2 -2
  557. package/dist/esm/components/navigation/app-level/status-bar.js.map +1 -1
  558. package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
  559. package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
  560. package/dist/esm/components/navigation/app-level/toolbar.js +2 -2
  561. package/dist/esm/components/navigation/app-level/toolbar.js.map +1 -1
  562. package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
  563. package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
  564. package/dist/esm/components/navigation/app-level/utility-panel.js +24 -6
  565. package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
  566. package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
  567. package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
  568. package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
  569. package/dist/esm/components/navigation/breadcrumb.js +1 -1
  570. package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
  571. package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
  572. package/dist/esm/components/navigation/command.d.ts.map +1 -1
  573. package/dist/esm/components/navigation/command.js +2 -2
  574. package/dist/esm/components/navigation/command.js.map +1 -1
  575. package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
  576. package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
  577. package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
  578. package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
  579. package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
  580. package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
  581. package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
  582. package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
  583. package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
  584. package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
  585. package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
  586. package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
  587. package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
  588. package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
  589. package/dist/esm/components/overlays/containers/dialog.js +11 -1
  590. package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
  591. package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
  592. package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
  593. package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
  594. package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
  595. package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
  596. package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
  597. package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
  598. package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
  599. package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
  600. package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
  601. package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
  602. package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
  603. package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
  604. package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
  605. package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
  606. package/dist/esm/components/sections/accordion.d.ts.map +1 -1
  607. package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
  608. package/dist/esm/components/sections/card.d.ts.map +1 -1
  609. package/dist/esm/components/sections/card.js +71 -6
  610. package/dist/esm/components/sections/card.js.map +1 -1
  611. package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
  612. package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
  613. package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
  614. package/dist/esm/components/sections/content-section.d.ts.map +1 -1
  615. package/dist/esm/components/sections/content-section.js +36 -6
  616. package/dist/esm/components/sections/content-section.js.map +1 -1
  617. package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
  618. package/dist/esm/components/sections/option-gesture.d.ts +15 -0
  619. package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
  620. package/dist/esm/components/sections/option-gesture.js +66 -0
  621. package/dist/esm/components/sections/option-gesture.js.map +1 -0
  622. package/dist/esm/components/sections/pagination.d.ts.map +1 -1
  623. package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
  624. package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
  625. package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
  626. package/dist/esm/components/sections/stepper.d.ts.map +1 -1
  627. package/dist/esm/components/sections/stepper.js +5 -3
  628. package/dist/esm/components/sections/stepper.js.map +1 -1
  629. package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
  630. package/dist/esm/components/sections/table.d.ts.map +1 -1
  631. package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
  632. package/dist/esm/components/sections/tabs.d.ts.map +1 -1
  633. package/dist/esm/components/sections/tabs.js +60 -15
  634. package/dist/esm/components/sections/tabs.js.map +1 -1
  635. package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
  636. package/dist/esm/components/typography/heading.d.ts.map +1 -1
  637. package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
  638. package/dist/esm/components/typography/label.d.ts.map +1 -1
  639. package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
  640. package/dist/esm/components/typography/link.d.ts.map +1 -1
  641. package/dist/esm/components/typography/link.js +9 -3
  642. package/dist/esm/components/typography/link.js.map +1 -1
  643. package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
  644. package/dist/esm/components/typography/text.d.ts +1 -1
  645. package/dist/esm/components/typography/text.d.ts.map +1 -1
  646. package/dist/esm/components/typography/text.js +3 -2
  647. package/dist/esm/components/typography/text.js.map +1 -1
  648. package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
  649. package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
  650. package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
  651. package/dist/esm/config/index.d.ts.map +1 -1
  652. package/dist/esm/config/preset-design-system.d.ts.map +1 -1
  653. package/dist/esm/config/preset-design-system.js +37 -60
  654. package/dist/esm/config/preset-design-system.js.map +1 -1
  655. package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
  656. package/dist/esm/config/preset-kits.d.ts.map +1 -1
  657. package/dist/esm/config/preset-navigation.d.ts.map +1 -1
  658. package/dist/esm/config/preset-navigation.js +23 -7
  659. package/dist/esm/config/preset-navigation.js.map +1 -1
  660. package/dist/esm/config/preset-resources.d.ts.map +1 -1
  661. package/dist/esm/config/preset-shell.d.ts.map +1 -1
  662. package/dist/esm/config/preset-utils.d.ts.map +1 -1
  663. package/dist/esm/config/presets.d.ts.map +1 -1
  664. package/dist/esm/config/resources/agent-work.resource-presets.d.ts +4 -0
  665. package/dist/esm/config/resources/agent-work.resource-presets.d.ts.map +1 -0
  666. package/dist/esm/config/resources/agent-work.resource-presets.js +115 -0
  667. package/dist/esm/config/resources/agent-work.resource-presets.js.map +1 -0
  668. package/dist/esm/config/resources/api-key-rotation-window.d.ts +22 -0
  669. package/dist/esm/config/resources/api-key-rotation-window.d.ts.map +1 -0
  670. package/dist/esm/config/resources/api-key-rotation-window.js +45 -0
  671. package/dist/esm/config/resources/api-key-rotation-window.js.map +1 -0
  672. package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
  673. package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
  674. package/dist/esm/config/resources/application.resource-presets.js +268 -26
  675. package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
  676. package/dist/esm/config/resources/billing.resource-presets.d.ts +4 -3
  677. package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
  678. package/dist/esm/config/resources/billing.resource-presets.js +241 -111
  679. package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
  680. package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts +4 -0
  681. package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts.map +1 -0
  682. package/dist/esm/config/resources/conversation-threads.resource-presets.js +105 -0
  683. package/dist/esm/config/resources/conversation-threads.resource-presets.js.map +1 -0
  684. package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
  685. package/dist/esm/config/resources/guidance.resource-presets.js +39 -16
  686. package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
  687. package/dist/esm/config/resources/identity.resource-presets.d.ts +0 -13
  688. package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
  689. package/dist/esm/config/resources/identity.resource-presets.js +71 -17
  690. package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
  691. package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts +6 -0
  692. package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts.map +1 -0
  693. package/dist/esm/config/resources/inbound-deliveries.resource-presets.js +112 -0
  694. package/dist/esm/config/resources/inbound-deliveries.resource-presets.js.map +1 -0
  695. package/dist/esm/config/resources/inbound-email.resource-presets.d.ts +4 -0
  696. package/dist/esm/config/resources/inbound-email.resource-presets.d.ts.map +1 -0
  697. package/dist/esm/config/resources/inbound-email.resource-presets.js +182 -0
  698. package/dist/esm/config/resources/inbound-email.resource-presets.js.map +1 -0
  699. package/dist/esm/config/resources/index.d.ts.map +1 -1
  700. package/dist/esm/config/resources/index.js +9 -2
  701. package/dist/esm/config/resources/index.js.map +1 -1
  702. package/dist/esm/config/resources/legal-holds.resource-presets.d.ts +4 -0
  703. package/dist/esm/config/resources/legal-holds.resource-presets.d.ts.map +1 -0
  704. package/dist/esm/config/resources/legal-holds.resource-presets.js +76 -0
  705. package/dist/esm/config/resources/legal-holds.resource-presets.js.map +1 -0
  706. package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
  707. package/dist/esm/config/resources/organizations.resource-presets.js +216 -35
  708. package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
  709. package/dist/esm/config/resources/resource.config.utils.d.ts +20 -0
  710. package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
  711. package/dist/esm/config/resources/resource.config.utils.js +20 -0
  712. package/dist/esm/config/resources/resource.config.utils.js.map +1 -1
  713. package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts +5 -0
  714. package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts.map +1 -0
  715. package/dist/esm/config/resources/retention-enforcement.resource-presets.js +74 -0
  716. package/dist/esm/config/resources/retention-enforcement.resource-presets.js.map +1 -0
  717. package/dist/esm/config/resources/security.resource-presets.d.ts +11 -3
  718. package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
  719. package/dist/esm/config/resources/security.resource-presets.js +685 -99
  720. package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
  721. package/dist/esm/config/resources/service-providers.resource-presets.d.ts +4 -0
  722. package/dist/esm/config/resources/service-providers.resource-presets.d.ts.map +1 -0
  723. package/dist/esm/config/resources/service-providers.resource-presets.js +321 -0
  724. package/dist/esm/config/resources/service-providers.resource-presets.js.map +1 -0
  725. package/dist/esm/config/resources/webhooks.resource-presets.d.ts +4 -3
  726. package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
  727. package/dist/esm/config/resources/webhooks.resource-presets.js +102 -26
  728. package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
  729. package/dist/esm/index.d.ts +7 -1
  730. package/dist/esm/index.d.ts.map +1 -1
  731. package/dist/esm/index.js +7 -1
  732. package/dist/esm/index.js.map +1 -1
  733. package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
  734. package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
  735. package/dist/esm/mermaid-stub.d.ts.map +1 -1
  736. package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
  737. package/dist/esm/registration/register-common-enums.js +63 -34
  738. package/dist/esm/registration/register-common-enums.js.map +1 -1
  739. package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
  740. package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
  741. package/dist/esm/registration/register-default-icons.js +3 -1
  742. package/dist/esm/registration/register-default-icons.js.map +1 -1
  743. package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
  744. package/dist/esm/registration/register-default-presets.js +32 -4
  745. package/dist/esm/registration/register-default-presets.js.map +1 -1
  746. package/dist/esm/registration/register-provider-components.d.ts.map +1 -1
  747. package/dist/esm/registration/register-provider-components.js +11 -0
  748. package/dist/esm/registration/register-provider-components.js.map +1 -1
  749. package/dist/esm/shiki-subset.d.ts +11 -3
  750. package/dist/esm/shiki-subset.d.ts.map +1 -1
  751. package/dist/esm/shiki-subset.js +10 -2
  752. package/dist/esm/shiki-subset.js.map +1 -1
  753. package/dist/esm/theme-exports.d.ts.map +1 -1
  754. package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
  755. package/dist/esm/themes/cozy.theme.js +19 -5
  756. package/dist/esm/themes/cozy.theme.js.map +1 -1
  757. package/dist/esm/themes/dense.theme.d.ts.map +1 -1
  758. package/dist/esm/themes/dense.theme.js +76 -10
  759. package/dist/esm/themes/dense.theme.js.map +1 -1
  760. package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
  761. package/dist/esm/themes/editorial.theme.js +19 -5
  762. package/dist/esm/themes/editorial.theme.js.map +1 -1
  763. package/dist/esm/themes/glass.theme.d.ts.map +1 -1
  764. package/dist/esm/themes/glass.theme.js +5 -1
  765. package/dist/esm/themes/glass.theme.js.map +1 -1
  766. package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
  767. package/dist/esm/themes/neo-brutalist.theme.js +9 -2
  768. package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
  769. package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
  770. package/dist/esm/themes/terminal.theme.js +19 -5
  771. package/dist/esm/themes/terminal.theme.js.map +1 -1
  772. package/dist/esm/themes/trading.theme.d.ts.map +1 -1
  773. package/dist/esm/themes/trading.theme.js +22 -6
  774. package/dist/esm/themes/trading.theme.js.map +1 -1
  775. package/dist/tsconfig.build.tsbuildinfo +1 -1
  776. package/package.json +31 -45
  777. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
  778. package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
  779. package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
  780. package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
@@ -0,0 +1,208 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { CheckboxRoot, InputRoot, SelectContent, SelectItem, SelectRoot, SelectTrigger, SelectValue, TextareaRoot, } from '@wildo-ai/saas-frontend-lib';
5
+ //===============================================================
6
+ // Approval argument fields (#587)
7
+ //
8
+ // A field editor over a gated tool call's arguments, generated from the tool's input-schema
9
+ // descriptor, used by `AI_ApprovalRequest` when an approver edits the call.
10
+ //
11
+ // ## Why not the automated-form pipeline
12
+ //
13
+ // The issue pointed at `AutomatedForm`. It was checked against this surface and rejected on three
14
+ // counts. Its default label resolution humanizes field names, while a tool's argument keys must
15
+ // render VERBATIM — they carry no i18n entry, and turning `renameTodo` into "Rename Todo" is invented
16
+ // display text. It owns a submit lifecycle, while an approval is decided by the Approve / Deny actions
17
+ // beside it. And its field registry assumes a resource-aware form context an agent's tool does not
18
+ // have. This surface needs something narrower — one control per argument, seeded from the proposed
19
+ // call, reporting a value — so it is built from the same preset controls instead.
20
+ //
21
+ // ## A convenience, never the control
22
+ //
23
+ // The descriptor drops refinements (length, range, pattern) by construction, and nothing here
24
+ // validates beyond "does this JSON parse". The server re-validates the edit against the tool's live
25
+ // schema and refuses a violation with a message naming the argument; that refusal is what protects
26
+ // the call.
27
+ //
28
+ // ## Anything a field cannot express is edited as JSON, per argument
29
+ //
30
+ // Lists, records, unions, dates and unknown shapes each keep a small JSON editor of their own, so one
31
+ // awkward argument never forces the whole call back into a blob — and a descriptor with nothing a
32
+ // field can express is not offered as fields at all (see `fieldsEditableArgumentsSchema`).
33
+ //===============================================================
34
+ /** Which editor an approver is authoring a call in. */
35
+ export var ApprovalArgumentEditorMode;
36
+ (function (ApprovalArgumentEditorMode) {
37
+ /** One field per argument, generated from the tool's input-schema descriptor. */
38
+ ApprovalArgumentEditorMode["FIELDS"] = "fields";
39
+ /** The arguments as one JSON object — always reachable, and the fallback for shapes fields cannot express. */
40
+ ApprovalArgumentEditorMode["JSON"] = "json";
41
+ })(ApprovalArgumentEditorMode || (ApprovalArgumentEditorMode = {}));
42
+ /** How one argument is edited. A closed vocabulary: the editor switches on it exhaustively. */
43
+ export var ApprovalArgumentEditorKind;
44
+ (function (ApprovalArgumentEditorKind) {
45
+ /** A free-text string. */
46
+ ApprovalArgumentEditorKind["TEXT"] = "text";
47
+ /** A number. */
48
+ ApprovalArgumentEditorKind["NUMBER"] = "number";
49
+ /** A boolean. */
50
+ ApprovalArgumentEditorKind["BOOLEAN"] = "boolean";
51
+ /** One of a fixed set of string values — an enum, or a string literal. */
52
+ ApprovalArgumentEditorKind["CHOICE"] = "choice";
53
+ /** A nested object, edited as a group of its own arguments. */
54
+ ApprovalArgumentEditorKind["GROUP"] = "group";
55
+ /** Any shape a single field cannot express — edited as that argument's own JSON text. */
56
+ ApprovalArgumentEditorKind["JSON"] = "json";
57
+ })(ApprovalArgumentEditorKind || (ApprovalArgumentEditorKind = {}));
58
+ /**
59
+ * The editor for one argument's descriptor.
60
+ *
61
+ * semantic-literal-boundary: `SerializableZodSchema.type` is a type-level union declared by
62
+ * `@wildo-ai/zod-decorators` with no runtime enum to compare against; this switch is where that
63
+ * external vocabulary is translated into {@link ApprovalArgumentEditorKind}.
64
+ */
65
+ export function classifyArgumentDescriptor(descriptor) {
66
+ switch (descriptor.type) {
67
+ case "string":
68
+ return ApprovalArgumentEditorKind.TEXT;
69
+ case "number":
70
+ return ApprovalArgumentEditorKind.NUMBER;
71
+ case "boolean":
72
+ return ApprovalArgumentEditorKind.BOOLEAN;
73
+ case "enum":
74
+ return ApprovalArgumentEditorKind.CHOICE;
75
+ case "literal":
76
+ return typeof descriptor.value === "string" ? ApprovalArgumentEditorKind.CHOICE : ApprovalArgumentEditorKind.JSON;
77
+ case "object":
78
+ return ApprovalArgumentEditorKind.GROUP;
79
+ default:
80
+ return ApprovalArgumentEditorKind.JSON;
81
+ }
82
+ }
83
+ /**
84
+ * The descriptor as fields, or `undefined` when fields would add nothing.
85
+ *
86
+ * Fields are offered only for an OBJECT whose properties include at least one argument a field can
87
+ * express. A root that is not an object, or an object made only of JSON-edited shapes, would be a JSON
88
+ * editor wearing a form's clothes — the raw editor is the honest answer there.
89
+ */
90
+ export function fieldsEditableArgumentsSchema(descriptor) {
91
+ if (!descriptor || typeof descriptor !== "object")
92
+ return undefined;
93
+ const candidate = descriptor;
94
+ if (candidate.type !== "object" || !candidate.properties || typeof candidate.properties !== "object")
95
+ return undefined;
96
+ const offersAField = Object.values(candidate.properties)
97
+ .some((property) => classifyArgumentDescriptor(property) !== ApprovalArgumentEditorKind.JSON);
98
+ return offersAField ? candidate : undefined;
99
+ }
100
+ function readAtPath(value, path) {
101
+ return path.reduce((current, key) => (current !== null && typeof current === "object" ? current[key] : undefined), value);
102
+ }
103
+ /** Immutable write; writing `undefined` REMOVES the argument, because an omitted argument and an empty one differ. */
104
+ function writeAtPath(value, path, next) {
105
+ const [head, ...rest] = path;
106
+ if (head === undefined)
107
+ return value;
108
+ const copy = { ...value };
109
+ if (rest.length === 0) {
110
+ if (next === undefined)
111
+ delete copy[head];
112
+ else
113
+ copy[head] = next;
114
+ return copy;
115
+ }
116
+ const child = copy[head];
117
+ copy[head] = writeAtPath(child !== null && typeof child === "object" && !Array.isArray(child) ? child : {}, rest, next);
118
+ return copy;
119
+ }
120
+ const draftKeyOf = (path) => JSON.stringify(path);
121
+ function collectJsonPaths(schema, prefix = []) {
122
+ return Object.entries(schema.properties).flatMap(([key, child]) => {
123
+ const path = [...prefix, key];
124
+ const kind = classifyArgumentDescriptor(child);
125
+ if (kind === ApprovalArgumentEditorKind.GROUP)
126
+ return collectJsonPaths(child, path);
127
+ return kind === ApprovalArgumentEditorKind.JSON ? [path] : [];
128
+ });
129
+ }
130
+ /**
131
+ * The arguments the approver has AUTHORED: the field values, with every JSON-edited argument parsed
132
+ * back in. `value` is `undefined` whenever any of those texts does not parse — the approval must not be
133
+ * submittable then, or it would silently send the model's value for an argument the approver believes
134
+ * they changed. An emptied JSON text omits that argument.
135
+ */
136
+ export function composeEditedArguments(schema, values, jsonDrafts) {
137
+ let composed = values;
138
+ const invalidDraftKeys = [];
139
+ for (const path of collectJsonPaths(schema)) {
140
+ const key = draftKeyOf(path);
141
+ const draft = jsonDrafts[key];
142
+ if (draft === undefined)
143
+ continue;
144
+ if (draft.trim() === "") {
145
+ composed = writeAtPath(composed, path, undefined);
146
+ continue;
147
+ }
148
+ try {
149
+ composed = writeAtPath(composed, path, JSON.parse(draft));
150
+ }
151
+ catch {
152
+ invalidDraftKeys.push(key);
153
+ }
154
+ }
155
+ return { value: invalidDraftKeys.length > 0 ? undefined : composed, invalidDraftKeys };
156
+ }
157
+ export function ApprovalArgumentFields({ schema, initialValue, disabled, invalidJsonMessage, onChange, }) {
158
+ const [values, setValues] = React.useState(initialValue);
159
+ const [jsonDrafts, setJsonDrafts] = React.useState(() => Object.fromEntries(collectJsonPaths(schema).map((path) => {
160
+ const current = readAtPath(initialValue, path);
161
+ return [draftKeyOf(path), current === undefined ? "" : JSON.stringify(current, null, 2)];
162
+ })));
163
+ const composed = React.useMemo(() => composeEditedArguments(schema, values, jsonDrafts), [schema, values, jsonDrafts]);
164
+ // Held in a ref so a parent that does not memoize its handler cannot turn this report into a render loop.
165
+ const onChangeRef = React.useRef(onChange);
166
+ onChangeRef.current = onChange;
167
+ React.useEffect(() => {
168
+ onChangeRef.current({ value: composed.value, invalid: composed.invalidDraftKeys.length > 0 });
169
+ }, [composed]);
170
+ const renderGroup = (group, prefix) => Object.entries(group.properties).map(([key, descriptor]) => {
171
+ const path = [...prefix, key];
172
+ const id = `approval-argument-${path.join("-")}`;
173
+ const required = !descriptor.optional && !descriptor.nullable;
174
+ const current = readAtPath(values, path);
175
+ const set = (next) => setValues((previous) => writeAtPath(previous, path, next));
176
+ // Keys render VERBATIM: they are the tool's own parameter names and carry no i18n entry.
177
+ const label = _jsx("label", { htmlFor: id, className: "font-mono text-2xs text-muted-foreground", children: key });
178
+ const kind = classifyArgumentDescriptor(descriptor);
179
+ switch (kind) {
180
+ case ApprovalArgumentEditorKind.TEXT:
181
+ return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsx(InputRoot, { id: id, value: typeof current === "string" ? current : "", required: required, disabled: disabled, className: "font-mono text-2xs",
182
+ // Emptying an OPTIONAL string omits it; a required one stays an empty string, which the
183
+ // server's validation then names if the tool refuses it.
184
+ onChange: (event) => set(event.target.value === "" && !required ? undefined : event.target.value) })] }, id));
185
+ case ApprovalArgumentEditorKind.NUMBER:
186
+ return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsx(InputRoot, { id: id, type: "number", value: typeof current === "number" ? String(current) : "", required: required, disabled: disabled, className: "font-mono text-2xs", onChange: (event) => set(event.target.value === "" ? undefined : Number(event.target.value)) })] }, id));
187
+ case ApprovalArgumentEditorKind.BOOLEAN:
188
+ return (_jsxs("div", { className: "flex items-center gap-element", children: [_jsx(CheckboxRoot, { id: id, checked: current === true, disabled: disabled, onCheckedChange: (checked) => set(checked === true) }), label] }, id));
189
+ case ApprovalArgumentEditorKind.CHOICE: {
190
+ // The values are the tool's own identifiers and render as authored, for the same reason as the keys.
191
+ const options = descriptor.type === "enum" ? descriptor.values : [String(descriptor.value)];
192
+ return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsxs(SelectRoot, { value: typeof current === "string" ? current : undefined, onValueChange: (next) => set(next), disabled: disabled, required: required, children: [_jsx(SelectTrigger, { id: id, className: "font-mono text-2xs", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: options.map((option) => (_jsx(SelectItem, { value: option, children: option }, option))) })] })] }, id));
193
+ }
194
+ case ApprovalArgumentEditorKind.GROUP:
195
+ return (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-element rounded-md border p-2", children: [_jsx("legend", { className: "font-mono text-2xs text-muted-foreground", children: key }), renderGroup(descriptor, path)] }, id));
196
+ case ApprovalArgumentEditorKind.JSON: {
197
+ const draftKey = draftKeyOf(path);
198
+ const invalid = composed.invalidDraftKeys.includes(draftKey);
199
+ return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsx(TextareaRoot, { id: id, rows: 3, value: jsonDrafts[draftKey] ?? "", disabled: disabled, className: "font-mono text-2xs", "aria-invalid": invalid || undefined, onChange: (event) => {
200
+ const text = event.target.value;
201
+ setJsonDrafts((previous) => ({ ...previous, [draftKey]: text }));
202
+ } }), invalid && _jsx("span", { className: "text-2xs text-destructive", children: invalidJsonMessage })] }, id));
203
+ }
204
+ }
205
+ });
206
+ return _jsx("div", { className: "flex flex-col gap-element", children: renderGroup(schema, []) });
207
+ }
208
+ //# sourceMappingURL=approval-argument-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval-argument-fields.js","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/approval-argument-fields.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n CheckboxRoot,\n InputRoot,\n SelectContent,\n SelectItem,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n TextareaRoot,\n} from '@wildo-ai/saas-frontend-lib';\nimport type { SerializableZodSchema } from '@wildo-ai/zod-decorators';\n\n//===============================================================\n// Approval argument fields (#587)\n//\n// A field editor over a gated tool call's arguments, generated from the tool's input-schema\n// descriptor, used by `AI_ApprovalRequest` when an approver edits the call.\n//\n// ## Why not the automated-form pipeline\n//\n// The issue pointed at `AutomatedForm`. It was checked against this surface and rejected on three\n// counts. Its default label resolution humanizes field names, while a tool's argument keys must\n// render VERBATIM — they carry no i18n entry, and turning `renameTodo` into \"Rename Todo\" is invented\n// display text. It owns a submit lifecycle, while an approval is decided by the Approve / Deny actions\n// beside it. And its field registry assumes a resource-aware form context an agent's tool does not\n// have. This surface needs something narrower — one control per argument, seeded from the proposed\n// call, reporting a value — so it is built from the same preset controls instead.\n//\n// ## A convenience, never the control\n//\n// The descriptor drops refinements (length, range, pattern) by construction, and nothing here\n// validates beyond \"does this JSON parse\". The server re-validates the edit against the tool's live\n// schema and refuses a violation with a message naming the argument; that refusal is what protects\n// the call.\n//\n// ## Anything a field cannot express is edited as JSON, per argument\n//\n// Lists, records, unions, dates and unknown shapes each keep a small JSON editor of their own, so one\n// awkward argument never forces the whole call back into a blob — and a descriptor with nothing a\n// field can express is not offered as fields at all (see `fieldsEditableArgumentsSchema`).\n//===============================================================\n\n/** Which editor an approver is authoring a call in. */\nexport enum ApprovalArgumentEditorMode {\n /** One field per argument, generated from the tool's input-schema descriptor. */\n FIELDS = \"fields\",\n /** The arguments as one JSON object — always reachable, and the fallback for shapes fields cannot express. */\n JSON = \"json\",\n}\n\n/** How one argument is edited. A closed vocabulary: the editor switches on it exhaustively. */\nexport enum ApprovalArgumentEditorKind {\n /** A free-text string. */\n TEXT = \"text\",\n /** A number. */\n NUMBER = \"number\",\n /** A boolean. */\n BOOLEAN = \"boolean\",\n /** One of a fixed set of string values — an enum, or a string literal. */\n CHOICE = \"choice\",\n /** A nested object, edited as a group of its own arguments. */\n GROUP = \"group\",\n /** Any shape a single field cannot express — edited as that argument's own JSON text. */\n JSON = \"json\",\n}\n\nexport type ApprovalArgumentsObjectDescriptor = Extract<SerializableZodSchema, { type: \"object\" }>;\ntype ArgumentPath = readonly string[];\n\n/**\n * The editor for one argument's descriptor.\n *\n * semantic-literal-boundary: `SerializableZodSchema.type` is a type-level union declared by\n * `@wildo-ai/zod-decorators` with no runtime enum to compare against; this switch is where that\n * external vocabulary is translated into {@link ApprovalArgumentEditorKind}.\n */\nexport function classifyArgumentDescriptor(descriptor: SerializableZodSchema): ApprovalArgumentEditorKind {\n switch (descriptor.type) {\n case \"string\":\n return ApprovalArgumentEditorKind.TEXT;\n case \"number\":\n return ApprovalArgumentEditorKind.NUMBER;\n case \"boolean\":\n return ApprovalArgumentEditorKind.BOOLEAN;\n case \"enum\":\n return ApprovalArgumentEditorKind.CHOICE;\n case \"literal\":\n return typeof descriptor.value === \"string\" ? ApprovalArgumentEditorKind.CHOICE : ApprovalArgumentEditorKind.JSON;\n case \"object\":\n return ApprovalArgumentEditorKind.GROUP;\n default:\n return ApprovalArgumentEditorKind.JSON;\n }\n}\n\n/**\n * The descriptor as fields, or `undefined` when fields would add nothing.\n *\n * Fields are offered only for an OBJECT whose properties include at least one argument a field can\n * express. A root that is not an object, or an object made only of JSON-edited shapes, would be a JSON\n * editor wearing a form's clothes — the raw editor is the honest answer there.\n */\nexport function fieldsEditableArgumentsSchema(descriptor: unknown): ApprovalArgumentsObjectDescriptor | undefined {\n if (!descriptor || typeof descriptor !== \"object\") return undefined;\n const candidate = descriptor as SerializableZodSchema;\n if (candidate.type !== \"object\" || !candidate.properties || typeof candidate.properties !== \"object\") return undefined;\n const offersAField = Object.values(candidate.properties)\n .some((property) => classifyArgumentDescriptor(property) !== ApprovalArgumentEditorKind.JSON);\n return offersAField ? candidate : undefined;\n}\n\nfunction readAtPath(value: unknown, path: ArgumentPath): unknown {\n return path.reduce<unknown>(\n (current, key) => (current !== null && typeof current === \"object\" ? (current as Record<string, unknown>)[key] : undefined),\n value,\n );\n}\n\n/** Immutable write; writing `undefined` REMOVES the argument, because an omitted argument and an empty one differ. */\nfunction writeAtPath(value: Record<string, unknown>, path: ArgumentPath, next: unknown): Record<string, unknown> {\n const [head, ...rest] = path;\n if (head === undefined) return value;\n const copy: Record<string, unknown> = { ...value };\n if (rest.length === 0) {\n if (next === undefined) delete copy[head];\n else copy[head] = next;\n return copy;\n }\n const child = copy[head];\n copy[head] = writeAtPath(\n child !== null && typeof child === \"object\" && !Array.isArray(child) ? (child as Record<string, unknown>) : {},\n rest,\n next,\n );\n return copy;\n}\n\nconst draftKeyOf = (path: ArgumentPath): string => JSON.stringify(path);\n\nfunction collectJsonPaths(schema: ApprovalArgumentsObjectDescriptor, prefix: ArgumentPath = []): ArgumentPath[] {\n return Object.entries(schema.properties).flatMap(([key, child]) => {\n const path = [...prefix, key];\n const kind = classifyArgumentDescriptor(child);\n if (kind === ApprovalArgumentEditorKind.GROUP) return collectJsonPaths(child as ApprovalArgumentsObjectDescriptor, path);\n return kind === ApprovalArgumentEditorKind.JSON ? [path] : [];\n });\n}\n\n/**\n * The arguments the approver has AUTHORED: the field values, with every JSON-edited argument parsed\n * back in. `value` is `undefined` whenever any of those texts does not parse — the approval must not be\n * submittable then, or it would silently send the model's value for an argument the approver believes\n * they changed. An emptied JSON text omits that argument.\n */\nexport function composeEditedArguments(\n schema: ApprovalArgumentsObjectDescriptor,\n values: Record<string, unknown>,\n jsonDrafts: Readonly<Record<string, string>>,\n): { value: Record<string, unknown> | undefined; invalidDraftKeys: readonly string[] } {\n let composed = values;\n const invalidDraftKeys: string[] = [];\n for (const path of collectJsonPaths(schema)) {\n const key = draftKeyOf(path);\n const draft = jsonDrafts[key];\n if (draft === undefined) continue;\n if (draft.trim() === \"\") {\n composed = writeAtPath(composed, path, undefined);\n continue;\n }\n try {\n composed = writeAtPath(composed, path, JSON.parse(draft) as unknown);\n } catch {\n invalidDraftKeys.push(key);\n }\n }\n return { value: invalidDraftKeys.length > 0 ? undefined : composed, invalidDraftKeys };\n}\n\nexport type ApprovalArgumentFieldsProps = {\n schema: ApprovalArgumentsObjectDescriptor;\n /** The arguments to start from — so the approver changes one value rather than retyping the call. */\n initialValue: Record<string, unknown>;\n disabled?: boolean;\n /** Shown under a JSON-edited argument whose text does not parse. */\n invalidJsonMessage: string;\n /** Called with the authored arguments whenever they change; `invalid` while any JSON text does not parse. */\n onChange: (next: { value: Record<string, unknown> | undefined; invalid: boolean }) => void;\n};\n\nexport function ApprovalArgumentFields({\n schema,\n initialValue,\n disabled,\n invalidJsonMessage,\n onChange,\n}: ApprovalArgumentFieldsProps): React.JSX.Element {\n const [values, setValues] = React.useState<Record<string, unknown>>(initialValue);\n const [jsonDrafts, setJsonDrafts] = React.useState<Record<string, string>>(() =>\n Object.fromEntries(collectJsonPaths(schema).map((path) => {\n const current = readAtPath(initialValue, path);\n return [draftKeyOf(path), current === undefined ? \"\" : JSON.stringify(current, null, 2)];\n })),\n );\n const composed = React.useMemo(() => composeEditedArguments(schema, values, jsonDrafts), [schema, values, jsonDrafts]);\n\n // Held in a ref so a parent that does not memoize its handler cannot turn this report into a render loop.\n const onChangeRef = React.useRef(onChange);\n onChangeRef.current = onChange;\n React.useEffect(() => {\n onChangeRef.current({ value: composed.value, invalid: composed.invalidDraftKeys.length > 0 });\n }, [composed]);\n\n const renderGroup = (group: ApprovalArgumentsObjectDescriptor, prefix: ArgumentPath): React.ReactNode =>\n Object.entries(group.properties).map(([key, descriptor]) => {\n const path = [...prefix, key];\n const id = `approval-argument-${path.join(\"-\")}`;\n const required = !descriptor.optional && !descriptor.nullable;\n const current = readAtPath(values, path);\n const set = (next: unknown): void => setValues((previous) => writeAtPath(previous, path, next));\n // Keys render VERBATIM: they are the tool's own parameter names and carry no i18n entry.\n const label = <label htmlFor={id} className=\"font-mono text-2xs text-muted-foreground\">{key}</label>;\n const kind = classifyArgumentDescriptor(descriptor);\n\n switch (kind) {\n case ApprovalArgumentEditorKind.TEXT:\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <InputRoot\n id={id}\n value={typeof current === \"string\" ? current : \"\"}\n required={required}\n disabled={disabled}\n className=\"font-mono text-2xs\"\n // Emptying an OPTIONAL string omits it; a required one stays an empty string, which the\n // server's validation then names if the tool refuses it.\n onChange={(event) => set(event.target.value === \"\" && !required ? undefined : event.target.value)}\n />\n </div>\n );\n case ApprovalArgumentEditorKind.NUMBER:\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <InputRoot\n id={id}\n type=\"number\"\n value={typeof current === \"number\" ? String(current) : \"\"}\n required={required}\n disabled={disabled}\n className=\"font-mono text-2xs\"\n onChange={(event) => set(event.target.value === \"\" ? undefined : Number(event.target.value))}\n />\n </div>\n );\n case ApprovalArgumentEditorKind.BOOLEAN:\n return (\n <div key={id} className=\"flex items-center gap-element\">\n <CheckboxRoot\n id={id}\n checked={current === true}\n disabled={disabled}\n onCheckedChange={(checked) => set(checked === true)}\n />\n {label}\n </div>\n );\n case ApprovalArgumentEditorKind.CHOICE: {\n // The values are the tool's own identifiers and render as authored, for the same reason as the keys.\n const options = descriptor.type === \"enum\" ? descriptor.values : [String((descriptor as { value: unknown }).value)];\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <SelectRoot\n value={typeof current === \"string\" ? current : undefined}\n onValueChange={(next) => set(next)}\n disabled={disabled}\n required={required}\n >\n <SelectTrigger id={id} className=\"font-mono text-2xs\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map((option) => (\n <SelectItem key={option} value={option}>{option}</SelectItem>\n ))}\n </SelectContent>\n </SelectRoot>\n </div>\n );\n }\n case ApprovalArgumentEditorKind.GROUP:\n return (\n <fieldset key={id} className=\"flex min-w-0 flex-col gap-element rounded-md border p-2\">\n <legend className=\"font-mono text-2xs text-muted-foreground\">{key}</legend>\n {renderGroup(descriptor as ApprovalArgumentsObjectDescriptor, path)}\n </fieldset>\n );\n case ApprovalArgumentEditorKind.JSON: {\n const draftKey = draftKeyOf(path);\n const invalid = composed.invalidDraftKeys.includes(draftKey);\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <TextareaRoot\n id={id}\n rows={3}\n value={jsonDrafts[draftKey] ?? \"\"}\n disabled={disabled}\n className=\"font-mono text-2xs\"\n aria-invalid={invalid || undefined}\n onChange={(event) => {\n const text = event.target.value;\n setJsonDrafts((previous) => ({ ...previous, [draftKey]: text }));\n }}\n />\n {invalid && <span className=\"text-2xs text-destructive\">{invalidJsonMessage}</span>}\n </div>\n );\n }\n }\n });\n\n return <div className=\"flex flex-col gap-element\">{renderGroup(schema, [])}</div>;\n}\n"]}
@@ -1,7 +1,66 @@
1
1
  import * as React from "react";
2
2
  import { Alert } from '@wildo-ai/saas-frontend-lib';
3
+ import type { SerializableZodSchema } from '@wildo-ai/zod-decorators';
3
4
  import type { ComponentProps } from "react";
4
- export type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & {
5
+ /** One person a decision may be moved to, as the surface shows them. `value` is their id. */
6
+ export type AI_ApprovalReassignCandidate = {
7
+ value: string;
8
+ label: string;
9
+ };
10
+ /** One reason a decision's clocks may be paused for (#1628). `value` is the gate's pause-state identifier. */
11
+ export type AI_ApprovalPauseStateOption = {
12
+ value: string;
13
+ label: string;
14
+ };
15
+ /**
16
+ * One reason an approver may give for changing or rejecting an agent's proposal (#1921). `value` is a code of the
17
+ * application's declared vocabulary; `label` is its word, as LOCALIZED text the surface's owner resolved.
18
+ */
19
+ export type AI_ApprovalReasonCodeOption = {
20
+ value: string;
21
+ label: string;
22
+ };
23
+ /**
24
+ * What else a person may do with a decision besides answering it (#1594 D12). Each is offered only when its
25
+ * callback is supplied, so a surface shows exactly the acts its owner can carry out — never a button that
26
+ * submits into nothing.
27
+ */
28
+ export type AI_ApprovalRoutingProps = {
29
+ /** Take a decision routed to a role you hold for yourself. */
30
+ onClaim?: (approvalId: string) => void;
31
+ /** Give a decision you claimed back to its role. */
32
+ onUnclaim?: (approvalId: string) => void;
33
+ /** The reassign picker opened: load who it may go to, and pass them back as `reassignCandidates`. */
34
+ onReassignOpen?: (approvalId: string) => void;
35
+ /** Only people who could answer it. Absent while loading; empty when nobody else can. */
36
+ reassignCandidates?: readonly AI_ApprovalReassignCandidate[];
37
+ onReassign?: (approvalId: string, targetUserId: string, comment?: string) => void;
38
+ /**
39
+ * What the last act came to, as LOCALIZED text the surface's owner resolved — "someone else settled this",
40
+ * "there is nobody to escalate this to". Absent when there is nothing to say.
41
+ */
42
+ actionNotice?: string;
43
+ /**
44
+ * Stop the decision's CLAIM and DECISION deadlines, naming one of `pauseStateOptions` (#1628). Offered only
45
+ * with at least one option. Pausing never stops the decision from expiring.
46
+ */
47
+ onPauseClock?: (approvalId: string, pauseStateRef: string) => void;
48
+ /** Restart paused deadlines; the paused time is added to them. */
49
+ onResumeClock?: (approvalId: string) => void;
50
+ /** The reasons the gate allows its deadlines to be paused for. */
51
+ pauseStateOptions?: readonly AI_ApprovalPauseStateOption[];
52
+ /** The next deadline ahead of the decision, as LOCALIZED text the surface's owner resolved. */
53
+ deadlineNotice?: string;
54
+ /** Set while its deadlines are paused: why, as LOCALIZED text the surface's owner resolved. */
55
+ clockPausedNotice?: string;
56
+ };
57
+ export type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & AI_ApprovalRoutingProps & {
58
+ /**
59
+ * Whether THIS viewer may answer it (#1594). `false` renders the request with no actions — the person
60
+ * whose conversation it is sees a question that a reviewer answers, and `actionNotice` says so. Default
61
+ * `true`, which is every surface that answers its own questions.
62
+ */
63
+ answerable?: boolean;
5
64
  approvalId: string;
6
65
  actionDescription: string;
7
66
  /**
@@ -32,35 +91,56 @@ export type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & {
32
91
  * shows the editor must be wired to a decision path that carries the result, or it collects a
33
92
  * change and drops it, which is the failure #537 refused to ship.
34
93
  *
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.
94
+ * The editor offers the tool's FIELDS when `argumentsSchema` describes a shape they can express
95
+ * (#587), and raw JSON otherwise; the raw editor stays one click away in both cases. Neither is the
96
+ * control: the server re-validates the edit against the tool's live schema and refuses a violation
97
+ * with a readable message, which is why a field editor that drops refinements is still honest.
39
98
  */
40
99
  allowArgumentModification?: boolean;
100
+ /** The gated tool's input-schema descriptor (#587). Absent, or a shape fields cannot express, means raw JSON. */
101
+ argumentsSchema?: SerializableZodSchema;
102
+ /**
103
+ * Why the last submitted edit was refused (#587), as LOCALIZED text. The approval is still pending: the
104
+ * editor reopens on the refused arguments and shows this reason beside them. The engine wrapper renders it
105
+ * from the approval's own labels, one per refusal reason, naming the tool and the offending arguments
106
+ * (#1186) — a direct consumer must pass words the reader can read, never a server's sentence.
107
+ */
108
+ argumentModificationError?: string;
109
+ /** What the approver submitted when that edit was refused (#587) — the reopened editor starts from it. */
110
+ rejectedArguments?: Record<string, unknown>;
111
+ /**
112
+ * The reasons an approver may give when they CHANGE or REJECT the proposal (#1921) — the application's declared
113
+ * vocabulary, worded by the surface's owner. Offered only then: approving the call as proposed is not a correction.
114
+ * Never required — a reason is evidence for why experts disagree with the agent, not a gate on answering.
115
+ */
116
+ reasonCodeOptions?: readonly AI_ApprovalReasonCodeOption[];
41
117
  /**
42
118
  * `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.
119
+ * call as proposed", which is what every approval meant before this parameter existed. `reasonCode` is present only
120
+ * when the approver edited the call AND chose a reason for it (#1921).
44
121
  */
45
- onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;
46
- onDeny?: (approvalId: string, comment?: string) => void;
122
+ onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
123
+ /** `reasonCode` is present only when the approver chose a reason for the rejection (#1921). */
124
+ onDeny?: (approvalId: string, comment?: string, reasonCode?: string) => void;
47
125
  onEscalate?: (approvalId: string, comment?: string) => void;
48
126
  isProcessing?: boolean;
49
127
  createdAt?: Date;
50
128
  };
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;
52
- export type AI_ApprovalActionsProps = ComponentProps<"div"> & {
129
+ export declare const AI_ApprovalRequest: ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, toolName, executionContext, allowArgumentModification, argumentsSchema, argumentModificationError, rejectedArguments, reasonCodeOptions, onApprove, onDeny, onEscalate, onClaim, onUnclaim, onReassignOpen, reassignCandidates, onReassign, actionNotice, onPauseClock, onResumeClock, pauseStateOptions, deadlineNotice, clockPausedNotice, answerable, isProcessing, createdAt, className, ...props }: AI_ApprovalRequestProps) => React.JSX.Element | null;
130
+ export type AI_ApprovalActionsProps = ComponentProps<"div"> & AI_ApprovalRoutingProps & {
53
131
  approvalId: string;
54
132
  riskLevel?: "low" | "medium" | "high" | "critical";
55
133
  /** Present only while the approver has the argument editor open with a parseable draft (#566). */
56
134
  modifiedToolArgs?: Record<string, unknown>;
57
- onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>) => void;
58
- onDeny?: (approvalId: string, comment?: string) => void;
135
+ /** See {@link AI_ApprovalRequestProps.reasonCodeOptions} (#1921). */
136
+ reasonCodeOptions?: readonly AI_ApprovalReasonCodeOption[];
137
+ onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
138
+ onDeny?: (approvalId: string, comment?: string, reasonCode?: string) => void;
59
139
  onEscalate?: (approvalId: string, comment?: string) => void;
60
140
  isProcessing?: boolean;
61
141
  disabled?: boolean;
62
142
  };
63
- export declare const AI_ApprovalActions: ({ approvalId, riskLevel, modifiedToolArgs, onApprove, onDeny, onEscalate, isProcessing, disabled, className, ...props }: AI_ApprovalActionsProps) => React.JSX.Element | null;
143
+ export declare const AI_ApprovalActions: ({ approvalId, riskLevel, modifiedToolArgs, reasonCodeOptions, onApprove, onDeny, onEscalate, onClaim, onUnclaim, onReassignOpen, reassignCandidates, onReassign, actionNotice, onPauseClock, onResumeClock, pauseStateOptions, isProcessing, disabled, className, ...props }: AI_ApprovalActionsProps) => React.JSX.Element | null;
64
144
  export type AI_ApprovalQueueItem = {
65
145
  approvalId: string;
66
146
  executionId: string;
@@ -72,15 +152,42 @@ export type AI_ApprovalQueueItem = {
72
152
  requiredRoles?: string[];
73
153
  executionContext?: Record<string, unknown>;
74
154
  createdAt?: Date;
155
+ /** The gated tool, rendered as authored (#455). */
156
+ toolName?: string;
157
+ /**
158
+ * Which routing acts THIS item offers (#1594). Unset means none: the queue's callbacks are wired per item
159
+ * only where the person may perform the act, so no item shows a button the server would refuse.
160
+ */
161
+ canEscalate?: boolean;
162
+ canClaim?: boolean;
163
+ canUnclaim?: boolean;
164
+ canReassign?: boolean;
165
+ /** See {@link AI_ApprovalRoutingProps.reassignCandidates}. */
166
+ reassignCandidates?: readonly AI_ApprovalReassignCandidate[];
167
+ /** See {@link AI_ApprovalRoutingProps.actionNotice}. */
168
+ actionNotice?: string;
169
+ /** #1628: whether this item offers Pause / Resume, the reasons it may be paused for, and its deadline lines. */
170
+ canPauseClock?: boolean;
171
+ canResumeClock?: boolean;
172
+ pauseStateOptions?: readonly AI_ApprovalPauseStateOption[];
173
+ deadlineNotice?: string;
174
+ clockPausedNotice?: string;
175
+ /** #1921: the reasons a reviewer may give when changing or rejecting this item's proposal. */
176
+ reasonCodeOptions?: readonly AI_ApprovalReasonCodeOption[];
177
+ /** #1921: offer the argument editor on this item, so a reviewer may CHANGE the proposed call. */
178
+ allowArgumentModification?: boolean;
179
+ /** The gated tool's input-schema descriptor, so the editor offers the tool's fields (#587). */
180
+ argumentsSchema?: SerializableZodSchema;
75
181
  };
76
- export type AI_ApprovalQueueProps = ComponentProps<"div"> & {
182
+ export type AI_ApprovalQueueProps = ComponentProps<"div"> & Omit<AI_ApprovalRoutingProps, 'reassignCandidates' | 'actionNotice' | 'pauseStateOptions' | 'deadlineNotice' | 'clockPausedNotice'> & {
77
183
  items: AI_ApprovalQueueItem[];
78
- onApprove?: (approvalId: string, comment?: string) => void;
79
- onDeny?: (approvalId: string, comment?: string) => void;
184
+ /** `modifiedToolArgs` only when the reviewer edited the call; `reasonCode` only when they gave a reason (#1921). */
185
+ onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
186
+ onDeny?: (approvalId: string, comment?: string, reasonCode?: string) => void;
80
187
  onEscalate?: (approvalId: string, comment?: string) => void;
81
188
  processingIds?: Set<string>;
82
189
  filter?: string;
83
190
  onFilterChange?: (filter: string) => void;
84
191
  };
85
- export declare const AI_ApprovalQueue: ({ items, onApprove, onDeny, onEscalate, processingIds, filter, onFilterChange, className, ...props }: AI_ApprovalQueueProps) => React.JSX.Element | null;
192
+ export declare const AI_ApprovalQueue: ({ items, onApprove, onDeny, onEscalate, onClaim, onUnclaim, onReassignOpen, onReassign, onPauseClock, onResumeClock, processingIds, filter, onFilterChange, className, ...props }: AI_ApprovalQueueProps) => React.JSX.Element | null;
86
193
  //# sourceMappingURL=approval.d.ts.map
@@ -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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"}