@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
@@ -1 +1 @@
1
- {"version":3,"file":"security.resource-presets.js","sourceRoot":"","sources":["../../../../src/config/resources/security.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Security & Compliance — Resource frontend presets\n *\n * Domain: ORG_API_KEYS, AUDIT_LOGS, SIEM (polymorphic),\n * SSO_CONFIG (poly), SSO_CONNECTIONS (poly), SCIM_PROVISIONING (poly), SCIM_TOKENS (poly)\n *\n * SIEM layout JSX lives in this file next to `layout.refs` + `fields` so section chrome\n * and primitive UI params stay co-located with the preset. Edit/display templates are\n * inlined as arrow functions so `useFormTemplateContext` / `useDisplayTemplateContext`\n * are immediately available for future conditional rendering. SIEM `layout.defaultChromeMode.edit`\n * is `SETTINGS_ROW`; only sections that differ (e.g. status toggle) set `chromeMode` explicitly.\n * Other resources here use field-level UI only until they need custom sections; enum badges use\n * `showDescription: true` like billing.\n */\n\nimport React from 'react';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n polymorphicResourceUIBehavior,\n polymorphicResourceUIBehaviorFrom,\n StandardIconReference,\n ResourceOperationActionScope,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n ObjectScope,\n Section,\n SummaryLayout,\n useFormTemplateContext,\n useDisplayTemplateContext,\n ResourceLayoutPreset_Create_SamlWizard,\n ResourceLayoutPreset_Read_SsoSaml,\n SummaryFlow,\n SummaryMeta,\n SummaryTitle,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n BadgeSemanticVariant,\n BooleanDisplayMode,\n BooleanEditMode,\n BooleanLabellingValue,\n SectionMode,\n DisplayChromeMode,\n EditChromeMode,\n EnumDisplayMode,\n ShowWhenOperator,\n StringDisplayMode,\n} from '@wildo-ai/zod-decorators';\nimport {\n Key,\n ShieldCheck,\n Globe,\n Unlink,\n ShieldAlert,\n Fingerprint,\n UserCog,\n KeyRound,\n Radio,\n AlertTriangle,\n RotateCw,\n RefreshCw,\n PowerOff,\n Power,\n CalendarPlus,\n ChartColumn,\n Download,\n Trash2,\n PlugZap,\n Search,\n ShieldX,\n} from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n ApiKeyStatus,\n OrgApiKeys_Operations,\n AuditLogs_Operations,\n SiemDeliveryDlq_Operations,\n SsoConnection_Operations,\n ScimTokens_Operations,\n orgApiKeysResourceConfiguration_InitializationFactory as orgApiKeysFactory,\n orgProviderCredentialsResourceConfiguration_InitializationFactory as orgProviderCredentialsFactory,\n OrganizationProviderCredentialSchema,\n userProviderCredentialsResourceConfiguration_InitializationFactory as userProviderCredentialsFactory,\n UserProviderCredentialSchema,\n ProviderCredentialValidationState,\n auditLogsResourceConfiguration_InitializationFactory as auditLogsFactory,\n siemExportConfigPolymorphicFactories,\n siemDeliveryDlqPolymorphicFactories,\n ssoConfigPolymorphicFactories,\n SsoConfig_Operations,\n ssoConnectionPolymorphicFactories,\n scimProvisioningConfigPolymorphicFactories,\n scimTokensPolymorphicFactories,\n ApiKeyOrganizationSchema,\n AuditableEvent_BaseSchema,\n SiemExportConfigBaseSchema,\n SiemDeliveryDlqBaseSchema,\n SiemDeliveryDlqStatus,\n SsoConfigBaseSchema,\n SsoConnectionBaseSchema,\n ScimProvisioningConfigBaseSchema,\n ScimTokenBaseSchema,\n SsoProtocol,\n SIEMAuthMethod,\n} from '@wildo-ai/saas-models';\nimport { addressable, notAddressable } from './resource.config.utils';\n\n// ── SIEM export config — field overrides (shared across polymorphic variants) ─\n\nconst siemExportFieldOverrides = {\n enabled: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.enabled.booleanUI({\n labellingValue: BooleanLabellingValue.ENABLED_DISABLED,\n display: { displayMode: BooleanDisplayMode.CHECKMARK, showDescription: true },\n edit: { editMode: BooleanEditMode.SWITCH, showDescription: true },\n }),\n webhookUrl: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.webhookUrl.stringUI({\n display: { displayMode: StringDisplayMode.COPY, showDescription: true },\n edit: { showDescription: true },\n }),\n authMethod: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.authMethod.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true, tooltip: true },\n }),\n eventFormat: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.eventFormat.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n }),\n includeRawEventData: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.includeRawEventData.booleanUI({\n labellingValue: BooleanLabellingValue.YES_NO,\n display: { displayMode: BooleanDisplayMode.CHECKMARK, showDescription: true },\n edit: { editMode: BooleanEditMode.SWITCH, showDescription: true },\n }),\n includeDeviceContext: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.includeDeviceContext.booleanUI({\n labellingValue: BooleanLabellingValue.YES_NO,\n display: { displayMode: BooleanDisplayMode.CHECKMARK, showDescription: true },\n edit: { editMode: BooleanEditMode.SWITCH, showDescription: true },\n }),\n authCredential: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.authCredential.showWhen({\n conditions: { field: 'authMethod', value: SIEMAuthMethod.NONE, operator: ShowWhenOperator.NOT_EQUALS },\n }),\n authHeaderName: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.authHeaderName.showWhen({\n conditions: { field: 'authMethod', value: SIEMAuthMethod.API_KEY_HEADER },\n }),\n};\n\nfunction OrgApiKeyDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"name\" />\n <DisplayField name=\"scope\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </Section>\n <Section name=\"access\">\n <DisplayField name=\"roles\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction OrgApiKeyEditTemplate(): React.JSX.Element {\n return (\n <FormLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <FormField name=\"name\" />\n <FormField name=\"status\" />\n <FormField name=\"expiresAt\" />\n </Section>\n <Section name=\"access\">\n <FormField name=\"roles\" />\n <FormField name=\"description\" />\n </Section>\n </FormLayout>\n );\n}\n\nfunction OrgApiKeySummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"scope\" />\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\nfunction AuditLogDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"eventType\" />\n <DisplayField name=\"eventCategory\" />\n <DisplayField name=\"severity\" />\n <DisplayField name=\"riskLevel\" />\n </Section>\n <Section name=\"actors\">\n <DisplayField name=\"userId\" />\n <DisplayField name=\"organizationId\" />\n </Section>\n <Section name=\"payload\">\n <DisplayField name=\"eventData\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction AuditLogSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"eventType\" />\n <SummaryMeta>\n <DisplayField name=\"eventCategory\" />\n <DisplayField name=\"severity\" />\n <DisplayField name=\"createdAt\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\nfunction SiemExportSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"enabled\" />\n </SummaryLayout>\n );\n}\n\nfunction SiemDlqDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"status\" />\n <DisplayField name=\"failureReason\" />\n </Section>\n <Section name=\"delivery\">\n <DisplayField name=\"eventId\" />\n <DisplayField name=\"failureCount\" />\n <DisplayField name=\"lastAttemptAt\" />\n <DisplayField name=\"nextRetryAt\" />\n </Section>\n <Section name=\"payload\">\n <DisplayField name=\"eventPayload\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction SiemDlqSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"failureReason\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\nfunction SsoConfigDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"enforcement\" appearance={SectionMode.CARD}>\n <ObjectScope name=\"enforcement\">\n <DisplayField name=\"requireSSO\" />\n <DisplayField name=\"allowPasswordFallback\" />\n <DisplayField name=\"graceLoginAttempts\" />\n </ObjectScope>\n </Section>\n <Section name=\"domains\">\n <ObjectScope name=\"domains\">\n <DisplayField name=\"verifiedDomains\" />\n <DisplayField name=\"ssoEnabledDomains\" />\n <DisplayField name=\"domainHinting\" />\n <DisplayField name=\"allowExternalDomains\" />\n <DisplayField name=\"domainVerificationStatus\" />\n </ObjectScope>\n </Section>\n <Section name=\"provisioning\">\n <ObjectScope name=\"provisioning\">\n <DisplayField name=\"autoCreateUsers\" />\n <DisplayField name=\"autoUpdateUsers\" />\n <DisplayField name=\"autoDeactivateUsers\" />\n <DisplayField name=\"defaultRole\" />\n <DisplayField name=\"requiredAttributes\" />\n <DisplayField name=\"syncFrequencyHours\" />\n </ObjectScope>\n </Section>\n <Section name=\"session\">\n <ObjectScope name=\"sessionSettings\">\n <DisplayField name=\"ssoSessionDurationMinutes\" />\n <DisplayField name=\"requireReauthForSensitive\" />\n <DisplayField name=\"singleLogoutEnabled\" />\n <DisplayField name=\"maxConcurrentSessions\" />\n </ObjectScope>\n </Section>\n <Section name=\"audit\">\n <ObjectScope name=\"auditConfig\">\n <DisplayField name=\"logAllSSOEvents\" />\n <DisplayField name=\"logProviderSwitching\" />\n <DisplayField name=\"logRoleMapping\" />\n <DisplayField name=\"complianceReporting\" />\n <DisplayField name=\"retentionDays\" />\n </ObjectScope>\n </Section>\n <Section name=\"emergency\">\n <ObjectScope name=\"emergencyAccess\">\n <DisplayField name=\"enabled\" />\n <DisplayField name=\"breakGlassAccounts\" />\n </ObjectScope>\n </Section>\n <Section name=\"oauth\">\n <ObjectScope name=\"oauth2ProviderRestrictions\">\n <DisplayField name=\"allowedProviders\" />\n <DisplayField name=\"blockedProviders\" />\n <DisplayField name=\"requireEnterpriseSSOOnly\" />\n </ObjectScope>\n <DisplayField name=\"socialCredentialOverrides\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction SsoConfigSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <ObjectScope name=\"enforcement\">\n <DisplayField name=\"requireSSO\" />\n </ObjectScope>\n </SummaryLayout>\n );\n}\n\nfunction SsoConnectionDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"protocol\" />\n <DisplayField name=\"enabled\" />\n <DisplayField name=\"isDefault\" />\n <DisplayField name=\"externalProviderId\" />\n </Section>\n <Section name=\"oidc\">\n <ObjectScope name=\"oidc\">\n <DisplayField name=\"templateMode\" />\n <DisplayField name=\"discoveryUrl\" />\n <DisplayField name=\"issuer\" />\n <DisplayField name=\"authorizationEndpoint\" />\n <DisplayField name=\"tokenEndpoint\" />\n <DisplayField name=\"userInfoEndpoint\" />\n <DisplayField name=\"jwksUri\" />\n <DisplayField name=\"endSessionEndpoint\" />\n <DisplayField name=\"clientId\" />\n <DisplayField name=\"scopes\" />\n <DisplayField name=\"responseType\" />\n <DisplayField name=\"responseMode\" />\n <DisplayField name=\"pkceEnabled\" />\n <DisplayField name=\"pkceMethod\" />\n {/*\n The authentication-strength demands placed on the identity provider. `prompt` was\n already rendered here; `acrValues` and `maxAge` are shown beside it because all three\n became real on 2026-09-08 (#419) — until then the screen offered them and the\n authorization request carried none of them.\n\n `validateIssuer` / `validateAudience` were rendered here and are gone with the schema\n fields: the verification is unconditional, so the screen was offering an operator a\n switch whose only reachable position was the unsafe one.\n */}\n <DisplayField name=\"prompt\" />\n <DisplayField name=\"acrValues\" />\n <DisplayField name=\"maxAge\" />\n <DisplayField name=\"claimsMapping\" />\n <DisplayField name=\"auditSettings\" />\n </ObjectScope>\n </Section>\n <Section name=\"saml\">\n <ObjectScope name=\"saml\">\n <DisplayField name=\"entityId\" />\n <DisplayField name=\"ssoUrl\" />\n <DisplayField name=\"sloUrl\" />\n <DisplayField name=\"x509CertificatePem\" />\n <DisplayField name=\"attributeMapping\" />\n <DisplayField name=\"signRequests\" />\n <DisplayField name=\"wantAssertionsSigned\" />\n <DisplayField name=\"allowedClockDrift\" />\n <DisplayField name=\"forceAuthn\" />\n <DisplayField name=\"maxAuthAge\" />\n <DisplayField name=\"nameIdFormat\" />\n <DisplayField name=\"allowIdpInitiated\" />\n <DisplayField name=\"auditSettings\" />\n </ObjectScope>\n </Section>\n <Section name=\"provisioning\">\n <DisplayField name=\"autoCreateUsers\" />\n <DisplayField name=\"autoVerifyEmail\" />\n <DisplayField name=\"bypassAppMFA\" />\n <DisplayField name=\"defaultRole\" />\n <DisplayField name=\"allowedDomains\" />\n <DisplayField name=\"roleMapping\" />\n <DisplayField name=\"groupMapping\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction SsoConnectionSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"displayName\" />\n <SummaryMeta>\n <DisplayField name=\"protocol\" />\n <DisplayField name=\"enabled\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\nfunction ScimProvisioningDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n {/* No `scimEnabled` — whether SCIM is on is an org-type setting\n (`organizationTypes[type].scimProvisioning.enabled`), not a field on this row.\n This section governs what happens to users once SCIM is enabled for the type. */}\n <DisplayField name=\"autoCreateUsers\" />\n <DisplayField name=\"autoVerifyEmail\" />\n <DisplayField name=\"autoDeactivateUsers\" />\n <DisplayField name=\"defaultRole\" />\n </Section>\n <Section name=\"mapping\">\n <DisplayField name=\"attributeMapping\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction ScimProvisioningSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"autoCreateUsers\" />\n </SummaryLayout>\n );\n}\n\nfunction ScimTokenDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD}>\n <DisplayField name=\"displayName\" />\n <DisplayField name=\"isActive\" />\n <DisplayField name=\"createdByUserId\" />\n </Section>\n <Section name=\"lifecycle\">\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction ScimTokenSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"displayName\" />\n <SummaryMeta>\n <DisplayField name=\"isActive\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\nexport function buildSecurityMainPresets(): Partial<ResourceUIBehavior> {\n return {\n [R.ORG_API_KEYS]: resourceUIBehavior(orgApiKeysFactory, ApiKeyOrganizationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Key,\n layout: {\n refs: {\n sections: ['overview', 'access', 'lifecycle'],\n },\n // Settings-page chrome (Settings Hub → API keys): label-left / value-right rows.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n display: OrgApiKeyDisplayTemplate,\n summary: OrgApiKeySummaryTemplate,\n edit: OrgApiKeyEditTemplate,\n },\n fields: {\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [ApiKeyStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [ApiKeyStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [ApiKeyStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n // The empty state's primary action is Create — surfaced because CREATE\n // declares a (non-addressable, overlay) view below. Creating a key returns\n // its one-time `plainKey` (`.isEphemeral()` on the CREATE response DTO) →\n // the ephemeral reveal dialog shows the secret exactly once.\n emptyState: { primaryAction: Op.CREATE },\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n // CREATE has a view but is NOT URL-addressable — surface EMBEDDED; the create\n // form opens as a drill-in within the Settings Hub panel, not a routed page.\n // Its Create button still shows: action visibility is governed by the op\n // having a surface + `actionVisibility`, NOT by addressability.\n [Op.CREATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.DELETE, notAddressable()],\n [OrgApiKeys_Operations.ROTATE, notAddressable({ iconOverride: RotateCw })],\n [OrgApiKeys_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw })],\n [OrgApiKeys_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff })],\n [OrgApiKeys_Operations.REACTIVATE, notAddressable({ iconOverride: Power })],\n [OrgApiKeys_Operations.EXTEND_EXPIRY, notAddressable({ iconOverride: CalendarPlus })],\n [OrgApiKeys_Operations.USAGE_STATS, notAddressable({ iconOverride: ChartColumn })],\n ],\n })),\n\n /**\n * The tenant's OWN credentials toward third parties.\n *\n * Easy to read as a sibling of API keys and it is their mirror image: an API key lets somebody\n * reach THIS application, and one of these lets this application reach somebody else AS THIS\n * TENANT. Same administrator, opposite direction — which is why they sit next to each other in\n * Settings and must not be described in the same words.\n *\n * ## No layout refs, deliberately\n *\n * Declaring `layout.refs.sections` creates a contract the resource SPECIFICATION has to document\n * slot for slot, validated at load; this resource has eight visible fields and no section would\n * earn that coupling. Field-level UI is the whole surface until it needs one.\n *\n * ## What the administrator can see, and what they cannot\n *\n * `secretValue` is `.isWriteOnlySecret()`, so it is present in the CREATE and UPDATE forms and\n * masked on every read — the operator supplies and rotates it, and no screen ever shows it back.\n * Nothing here weakens that; the preset only names the fields that are already readable.\n */\n [R.ORG_PROVIDER_CREDENTIALS]: resourceUIBehavior(\n orgProviderCredentialsFactory,\n OrganizationProviderCredentialSchema,\n ({ schemaShape }) => ({\n icon: KeyRound,\n fields: {\n validationState: schemaShape.validationState.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n // UNVALIDATED is the honest default and is not a warning: storing a credential proves\n // only that somebody typed one, which is a normal state rather than a problem.\n [ProviderCredentialValidationState.UNVALIDATED]: { color: BadgeSemanticVariant.SECONDARY },\n [ProviderCredentialValidationState.VALID]: { color: BadgeSemanticVariant.SUCCESS },\n // The provider REJECTED it on its last use, so the tenant is acting as nobody until it\n // is rotated. That is a call to action, not an error the screen has to explain away.\n [ProviderCredentialValidationState.INVALID]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.providerRef} · ${currentObject.secretSlug}`,\n emptyState: { primaryAction: Op.CREATE },\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n [Op.CREATE, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n }),\n ),\n\n [R.USER_PROVIDER_CREDENTIALS]: resourceUIBehavior(\n userProviderCredentialsFactory,\n UserProviderCredentialSchema,\n ({ schemaShape }) => ({\n icon: KeyRound,\n fields: {\n // The same three states as the tenant's, coloured identically on purpose: a person reading\n // their own connections and an administrator reading the tenant's are answering the same\n // question, and two colour languages for one vocabulary is how a reader learns to distrust\n // both. The WORDS come from the enum's i18n entry, authored once for every surface.\n validationState: schemaShape.validationState.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n // UNVALIDATED is the honest default and is not a warning: storing a credential proves\n // only that somebody typed one, which is a normal state rather than a problem.\n [ProviderCredentialValidationState.UNVALIDATED]: { color: BadgeSemanticVariant.SECONDARY },\n [ProviderCredentialValidationState.VALID]: { color: BadgeSemanticVariant.SUCCESS },\n // The provider REJECTED it on its last use. For a person this is the more actionable of\n // the two failure shapes: nobody else can rotate it for them, so the badge is the only\n // notice they will get that their own integration has stopped working.\n [ProviderCredentialValidationState.INVALID]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.providerRef} · ${currentObject.secretSlug}`,\n emptyState: { primaryAction: Op.CREATE },\n // No `layout.refs`, matching the tenant sibling: this resource declares no layout sections in\n // its specification, and a preset naming refs the layout does not declare fails the\n // structural-slot validator at import time and crash-loops the companion.\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n [Op.CREATE, notAddressable()],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n }),\n ),\n\n [R.AUDIT_LOGS]: resourceUIBehavior(auditLogsFactory, AuditableEvent_BaseSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: ShieldCheck,\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.eventType ?? 'Audit Event'} — ${currentObject.createdAt?.toISOString?.() ?? ''}`,\n layout: {\n refs: {\n sections: ['overview', 'actors', 'payload'],\n },\n display: AuditLogDisplayTemplate,\n summary: AuditLogSummaryTemplate,\n },\n views: [\n [Op.READ, notAddressable()],\n // Audit-trail review dashboard: severity quick tabs (All/Info/Warning/…)\n // + day-bucket grouping — the same generic collection capabilities as\n // the webhook delivery log. `severity` is an enum in the LIST op's own\n // `filterFields`; `createdAt` is a summary field.\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'severity',\n temporalGroupField: 'createdAt',\n },\n })],\n [Op.SEARCH, addressable()],\n [AuditLogs_Operations.EXPORT_AUDIT_LOGS, notAddressable({ iconOverride: Download })],\n ],\n })),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_EXPORT_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_EXPORT_CONFIG },\n ],\n },\n siemExportConfigPolymorphicFactories[R.ORGANIZATION_SIEM_EXPORT_CONFIG],\n SiemExportConfigBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Radio,\n layout: {\n refs: {\n sections: ['status', 'destination', 'authentication', 'format', 'advanced'],\n },\n defaultChromeMode: {\n edit: EditChromeMode.SETTINGS_ROW,\n },\n edit: () => {\n const { isExisting, operationType } = useFormTemplateContext();\n return (\n <FormLayout>\n {/* status is intentionally INLINE — toggle feels awkward as a settings row */}\n <Section name=\"status\" appearance={SectionMode.CARD} chromeMode={EditChromeMode.INLINE}>\n <FormField name=\"enabled\" />\n </Section>\n <Section name=\"destination\" appearance={SectionMode.CARD}>\n <FormField name=\"webhookUrl\" />\n </Section>\n <Section name=\"authentication\">\n <FormField name=\"authMethod\" />\n <FormField name=\"authCredential\" />\n <FormField name=\"authHeaderName\" />\n </Section>\n <Section name=\"format\">\n <FormField name=\"eventFormat\" />\n <ObjectScope name=\"eventFilter\">\n <FormField name=\"categories\" />\n <FormField name=\"severityMinimum\" />\n <FormField name=\"specificEventTypes\" />\n </ObjectScope>\n </Section>\n <Section name=\"advanced\" appearance={SectionMode.COLLAPSIBLE} defaultFocus={false}>\n <ObjectScope name=\"delivery\">\n <FormField name=\"batchSize\" />\n <FormField name=\"batchWindowSeconds\" />\n <FormField name=\"retryAttempts\" />\n <FormField name=\"retryBackoffSeconds\" />\n <FormField name=\"timeoutSeconds\" />\n </ObjectScope>\n <FormField name=\"customHeaders\" />\n <FormField name=\"includeRawEventData\" />\n <FormField name=\"includeDeviceContext\" />\n </Section>\n </FormLayout>\n );\n },\n display: () => {\n const { data, isLoading } = useDisplayTemplateContext();\n return (\n <DisplayLayout>\n <Section name=\"status\" appearance={SectionMode.CARD}>\n <DisplayField name=\"enabled\" />\n </Section>\n <Section name=\"destination\" appearance={SectionMode.CARD}>\n <DisplayField name=\"webhookUrl\" />\n </Section>\n <Section name=\"authentication\">\n <DisplayField name=\"authMethod\" />\n <DisplayField name=\"authCredential\" />\n <DisplayField name=\"authHeaderName\" />\n </Section>\n <Section name=\"format\">\n <DisplayField name=\"eventFormat\" />\n <ObjectScope name=\"eventFilter\">\n <DisplayField name=\"categories\" />\n <DisplayField name=\"severityMinimum\" />\n <DisplayField name=\"specificEventTypes\" />\n </ObjectScope>\n </Section>\n <Section name=\"advanced\" appearance={SectionMode.COLLAPSIBLE} defaultFocus={false}>\n <ObjectScope name=\"delivery\">\n <DisplayField name=\"batchSize\" />\n <DisplayField name=\"batchWindowSeconds\" />\n <DisplayField name=\"retryAttempts\" />\n <DisplayField name=\"retryBackoffSeconds\" />\n <DisplayField name=\"timeoutSeconds\" />\n </ObjectScope>\n <DisplayField name=\"customHeaders\" />\n <DisplayField name=\"includeRawEventData\" />\n <DisplayField name=\"includeDeviceContext\" />\n </Section>\n </DisplayLayout>\n );\n },\n summary: SiemExportSummaryTemplate,\n },\n fields: {\n enabled: siemExportFieldOverrides.enabled(schema),\n webhookUrl: siemExportFieldOverrides.webhookUrl(schema),\n authMethod: siemExportFieldOverrides.authMethod(schema),\n eventFormat: siemExportFieldOverrides.eventFormat(schema),\n includeRawEventData: siemExportFieldOverrides.includeRawEventData(schema),\n includeDeviceContext: siemExportFieldOverrides.includeDeviceContext(schema),\n authCredential: siemExportFieldOverrides.authCredential(schema),\n authHeaderName: siemExportFieldOverrides.authHeaderName(schema),\n },\n views: [\n [Op.READ, addressable()],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_DELIVERY_DLQ },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_DELIVERY_DLQ },\n ],\n },\n siemDeliveryDlqPolymorphicFactories[R.ORGANIZATION_SIEM_DELIVERY_DLQ],\n SiemDeliveryDlqBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: AlertTriangle,\n layout: {\n refs: {\n sections: ['overview', 'delivery', 'payload'],\n },\n display: SiemDlqDisplayTemplate,\n summary: SiemDlqSummaryTemplate,\n },\n fields: {\n // Same billing-style visibility as ORG_API_KEYS / SSO protocol — list rows stay compact; descriptions come from schema metadata when present.\n status: schema.shape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [SiemDeliveryDlqStatus.PENDING_RETRY]: { color: BadgeSemanticVariant.WARNING },\n [SiemDeliveryDlqStatus.EXHAUSTED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [SiemDeliveryDlqStatus.DELIVERED]: { color: BadgeSemanticVariant.SUCCESS },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.failureReason,\n views: [\n // Failed-deliveries triage dashboard: status quick tabs + day-bucket\n // grouping (same generic capabilities as the webhook delivery log).\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n // Per-row retry: executes in place on the clicked row. Its backend reads\n // the target from the request-DTO `entryId` (not the URL id), so the row\n // id is injected into that body field via `rowTargetRequestField`.\n [SiemDeliveryDlq_Operations.RETRY_SINGLE, notAddressable({ iconOverride: RotateCw, rowTargetRequestField: 'entryId' })],\n // Whole-scope drain actions: rendered once in the list's collection-action\n // bar (not per row), confirm by risk (HIGH → confirm, CRITICAL → type-to-\n // confirm), and surface their `{ …count, message }` summary as a toast.\n [SiemDeliveryDlq_Operations.RETRY_ALL, notAddressable({ iconOverride: RefreshCw, actionScope: ResourceOperationActionScope.COLLECTION })],\n [SiemDeliveryDlq_Operations.PURGE_ALL, notAddressable({ iconOverride: Trash2, actionScope: ResourceOperationActionScope.COLLECTION })],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n ],\n },\n ssoConfigPolymorphicFactories[R.ORGANIZATION_SSO_CONFIG],\n SsoConfigBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: StandardIconReference.LOCK,\n layout: {\n refs: {\n sections: ['enforcement', 'domains', 'provisioning', 'session', 'audit', 'emergency', 'oauth'],\n },\n display: SsoConfigDisplayTemplate,\n summary: SsoConfigSummaryTemplate,\n },\n views: [\n [Op.READ, addressable()],\n // Domain ownership is the one publicly mutable part of this policy row (#424). The three\n // actions live beside the `domains` section: claim returns a DNS record to copy, verify\n // resolves it, revoke releases the domain for another scope to verify.\n [SsoConfig_Operations.CLAIM_DOMAIN, notAddressable({ iconOverride: Globe })],\n [SsoConfig_Operations.VERIFY_DOMAIN, notAddressable({ iconOverride: ShieldCheck })],\n [SsoConfig_Operations.REVOKE_DOMAIN, notAddressable({ iconOverride: Unlink })],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONNECTIONS },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONNECTIONS },\n ],\n },\n ssoConnectionPolymorphicFactories[R.ORGANIZATION_SSO_CONNECTIONS],\n SsoConnectionBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Fingerprint,\n layout: {\n refs: {\n sections: ['overview', 'oidc', 'saml', 'provisioning'],\n },\n display: SsoConnectionDisplayTemplate,\n summary: SsoConnectionSummaryTemplate,\n },\n fields: {\n protocol: schema.shape.protocol.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE, showDescription: true },\n edit: { showDescription: true },\n values: {\n [SsoProtocol.OIDC]: { color: BadgeSemanticVariant.INFO },\n [SsoProtocol.SAML]: { color: BadgeSemanticVariant.SECONDARY },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.displayName,\n views: [\n [Op.LIST, addressable()],\n [SsoConnection_Operations.TEST_CONNECTION, addressable({\n iconOverride: PlugZap,\n customView: ResourceLayoutPreset_Read_SsoSaml,\n })],\n [SsoConnection_Operations.DISCOVER_ENDPOINTS, addressable({\n iconOverride: Search,\n customView: ResourceLayoutPreset_Create_SamlWizard,\n })],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_PROVISIONING_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SCIM_PROVISIONING_CONFIG },\n ],\n },\n scimProvisioningConfigPolymorphicFactories[R.ORGANIZATION_SCIM_PROVISIONING_CONFIG],\n ScimProvisioningConfigBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: UserCog,\n layout: {\n refs: {\n sections: ['overview', 'mapping', 'lifecycle'],\n },\n display: ScimProvisioningDisplayTemplate,\n summary: ScimProvisioningSummaryTemplate,\n },\n views: [\n [Op.READ, addressable()],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_TOKENS },\n ],\n },\n scimTokensPolymorphicFactories[R.ORGANIZATION_SCIM_TOKENS],\n ScimTokenBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: KeyRound,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.displayName,\n layout: {\n refs: {\n sections: ['overview', 'lifecycle'],\n },\n display: ScimTokenDisplayTemplate,\n summary: ScimTokenSummaryTemplate,\n },\n views: [\n [Op.LIST, addressable()],\n [ScimTokens_Operations.GENERATE_TOKEN, notAddressable({ iconOverride: KeyRound })],\n [ScimTokens_Operations.REVOKE_TOKEN, notAddressable({ iconOverride: ShieldX })],\n [ScimTokens_Operations.ROTATE_TOKEN, notAddressable({ iconOverride: RotateCw })],\n ],\n }),\n ),\n };\n}\n\nexport function buildSecurityAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_EXPORT_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_EXPORT_CONFIG },\n ],\n },\n siemExportConfigPolymorphicFactories[R.ORGANIZATION_SIEM_EXPORT_CONFIG],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n views: [\n [Op.READ, addressable()],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [[Op.READ, notAddressable()]],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_DELIVERY_DLQ },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_DELIVERY_DLQ },\n ],\n },\n siemDeliveryDlqPolymorphicFactories[R.ORGANIZATION_SIEM_DELIVERY_DLQ],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n views: [\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n // Per-row retry: executes in place on the clicked row. Its backend reads\n // the target from the request-DTO `entryId` (not the URL id), so the row\n // id is injected into that body field via `rowTargetRequestField`.\n [SiemDeliveryDlq_Operations.RETRY_SINGLE, notAddressable({ iconOverride: RotateCw, rowTargetRequestField: 'entryId' })],\n // Whole-scope drain actions: rendered once in the list's collection-action\n // bar (not per row), confirm by risk (HIGH → confirm, CRITICAL → type-to-\n // confirm), and surface their `{ …count, message }` summary as a toast.\n [SiemDeliveryDlq_Operations.RETRY_ALL, notAddressable({ iconOverride: RefreshCw, actionScope: ResourceOperationActionScope.COLLECTION })],\n [SiemDeliveryDlq_Operations.PURGE_ALL, notAddressable({ iconOverride: Trash2, actionScope: ResourceOperationActionScope.COLLECTION })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n ],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n ],\n },\n ssoConfigPolymorphicFactories[R.ORGANIZATION_SSO_CONFIG],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [\n [Op.READ, addressable()],\n [SsoConfig_Operations.CLAIM_DOMAIN, notAddressable({ iconOverride: Globe })],\n [SsoConfig_Operations.VERIFY_DOMAIN, notAddressable({ iconOverride: ShieldCheck })],\n [SsoConfig_Operations.REVOKE_DOMAIN, notAddressable({ iconOverride: Unlink })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [[Op.READ, notAddressable()]],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONNECTIONS },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONNECTIONS },\n ],\n },\n ssoConnectionPolymorphicFactories[R.ORGANIZATION_SSO_CONNECTIONS],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n views: [\n [Op.LIST, addressable()],\n [SsoConnection_Operations.TEST_CONNECTION, addressable({\n iconOverride: PlugZap,\n customView: ResourceLayoutPreset_Read_SsoSaml,\n })],\n [SsoConnection_Operations.DISCOVER_ENDPOINTS, addressable({\n iconOverride: Search,\n customView: ResourceLayoutPreset_Create_SamlWizard,\n })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n ],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_PROVISIONING_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SCIM_PROVISIONING_CONFIG },\n ],\n },\n scimProvisioningConfigPolymorphicFactories[R.ORGANIZATION_SCIM_PROVISIONING_CONFIG],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [\n [Op.READ, addressable()],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [[Op.READ, notAddressable()]],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_TOKENS },\n ],\n },\n scimTokensPolymorphicFactories[R.ORGANIZATION_SCIM_TOKENS],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n views: [\n [Op.LIST, addressable()],\n [ScimTokens_Operations.GENERATE_TOKEN, notAddressable({ iconOverride: KeyRound })],\n [ScimTokens_Operations.REVOKE_TOKEN, notAddressable({ iconOverride: ShieldX })],\n [ScimTokens_Operations.ROTATE_TOKEN, notAddressable({ iconOverride: RotateCw })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable()],\n ],\n },\n },\n }),\n ),\n\n [R.ORG_API_KEYS]: resourceUIBehaviorFrom(orgApiKeysFactory, main[R.ORG_API_KEYS]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n layout: base.layout,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n fields: base.fields,\n views: [\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n [opsVariantResolver(Op.LIST, 'admin'), notAddressable()],\n [opsVariantResolver(Op.SEARCH, 'admin'), notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.ROTATE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.REGENERATE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.DEACTIVATE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.REACTIVATE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.EXTEND_EXPIRY, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.USAGE_STATS, 'admin'), notAddressable()],\n ],\n })),\n };\n}\n\nexport const securityMainPresets = buildSecurityMainPresets();\nexport const securityAdminPresets = buildSecurityAdminPresets(securityMainPresets);\n\nexport const orgApiKeysMainResourceUIBehavior = securityMainPresets[R.ORG_API_KEYS]!;\nexport const orgApiKeysAdminResourceUIBehavior = securityAdminPresets[R.ORG_API_KEYS]!;\nexport const auditLogsMainResourceUIBehavior = securityMainPresets[R.AUDIT_LOGS]!;\n"]}
1
+ {"version":3,"file":"security.resource-presets.js","sourceRoot":"","sources":["../../../../../src/config/resources/security.resource-presets.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * Security & Compliance — Resource frontend presets\n *\n * Domain: ORG_API_KEYS, OAUTH_CLIENTS_ORGANIZATION, AUDIT_LOGS, SIEM (polymorphic),\n * SSO_CONFIG (poly), SSO_CONNECTIONS (poly), SCIM_PROVISIONING (poly), SCIM_TOKENS (poly)\n *\n * SIEM layout JSX lives in this file next to `layout.refs` + `fields` so section chrome\n * and primitive UI params stay co-located with the preset. Edit/display templates are\n * inlined as arrow functions so `useFormTemplateContext` / `useDisplayTemplateContext`\n * are immediately available for future conditional rendering. The scope-level CONFIGURATION records\n * here — SIEM export, SSO config, SCIM provisioning — declare the full settings chrome\n * (`display` + `summary` + `edit`), because each is reached as a READ inside the Settings Hub and is\n * opened to confirm a value far more often than to change one; only sections that differ (e.g. the\n * status toggle) set `chromeMode` explicitly. The COLLECTIONS beside them (SSO connections, the SIEM\n * dead-letter queue, SCIM tokens) declare none on purpose: a list has no label/value rows for the\n * treatment to apply to.\n * Other resources here use field-level UI only until they need custom sections; enum badges use\n * `showDescription: true` like billing.\n */\n\nimport React from 'react';\nimport { resolveVocabularyWordKey } from '@wildo-ai/presets-components-models';\nimport type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';\nimport {\n resourceUIBehavior,\n resourceUIBehaviorFrom,\n polymorphicResourceUIBehavior,\n polymorphicResourceUIBehaviorFrom,\n StandardIconReference,\n ResourceOperationActionScope,\n ActionVisibility,\n ResourceLayoutInlineEditDefault,\n CollectionDisplayMode,\n useFlowsActorsSafe,\n unresolvedLabel,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n DisplayField,\n DisplayLayout,\n FormField,\n FormLayout,\n ObjectScope,\n Section,\n SummaryLayout,\n useFormTemplateContext,\n useDisplayTemplateContext,\n ResourceLayoutPreset_Create_SamlWizard,\n ResourceLayoutPreset_Read_SsoSaml,\n SummaryFlow,\n SummaryMeta,\n SummaryTitle,\n ResourceHeaderTitle,\n} from '@wildo-ai/saas-frontend-lib';\nimport {\n BadgeSemanticVariant,\n BooleanDisplayMode,\n BooleanEditMode,\n BooleanLabellingValue,\n SectionMode,\n DisplayChromeMode,\n EditChromeMode,\n EnumDisplayMode,\n ShowWhenOperator,\n StringDisplayMode,\n StringEditMode,\n} from '@wildo-ai/zod-decorators';\nimport {\n Key,\n ShieldCheck,\n Globe,\n Unlink,\n ShieldAlert,\n Fingerprint,\n UserCog,\n KeyRound,\n Radio,\n AlertTriangle,\n RotateCw,\n RefreshCw,\n PowerOff,\n Power,\n CalendarPlus,\n ChartColumn,\n Download,\n Trash2,\n PlugZap,\n Search,\n ShieldX,\n Bot,\n} from 'lucide-react';\nimport {\n CoreResourceType as R,\n CoreResourceOperation as Op,\n ApiKeyStatus,\n OrgApiKeys_Operations,\n AuditLogs_Operations,\n SiemDeliveryDlq_Operations,\n SsoConnection_Operations,\n ScimTokens_Operations,\n orgApiKeysResourceConfiguration_InitializationFactory as orgApiKeysFactory,\n orgOAuthClientsResourceConfiguration_InitializationFactory as orgOAuthClientsFactory,\n OAuthClientOrganizationSchema,\n OAuthClientStatus,\n OrgOAuthClients_Operations,\n orgProviderCredentialsResourceConfiguration_InitializationFactory as orgProviderCredentialsFactory,\n OrganizationProviderCredentialSchema,\n userProviderCredentialsResourceConfiguration_InitializationFactory as userProviderCredentialsFactory,\n UserProviderCredentialSchema,\n ProviderCredentialValidationState,\n auditLogsResourceConfiguration_InitializationFactory as auditLogsFactory,\n applicationAuditLogsResourceConfiguration_InitializationFactory as applicationAuditLogsFactory,\n siemExportConfigPolymorphicFactories,\n siemDeliveryDlqPolymorphicFactories,\n ssoConfigPolymorphicFactories,\n SsoConfig_Operations,\n ssoConnectionPolymorphicFactories,\n scimProvisioningConfigPolymorphicFactories,\n scimTokensPolymorphicFactories,\n ApiKeyOrganizationSchema,\n AuditableEvent_BaseSchema,\n AuditEventSeverity,\n SiemExportConfigBaseSchema,\n SiemDeliveryDlqBaseSchema,\n SiemDeliveryDlqStatus,\n SsoConfigBaseSchema,\n SsoConnectionBaseSchema,\n ScimProvisioningConfigBaseSchema,\n ScimTokenBaseSchema,\n SsoProtocol,\n SIEMAuthMethod,\n EngineOpenVocabulary,\n} from '@wildo-ai/saas-models';\nimport { ApiKeyRotationWindowRows } from './api-key-rotation-window';\nimport { addressable, notAddressable, ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE } from './resource.config.utils';\n\n/*\n * A registry — keys, connections, tokens — is comparable rows, so it renders as a TABLE with the headers written\n * once, and cards stay one click away for a narrow screen. Named once because the admin lane restates each\n * registry's LIST view and must not lose it.\n */\nconst REGISTRY_TABLE = {\n displayMode: CollectionDisplayMode.TABLE,\n userSwitchableDisplayMode: true,\n} as const;\n\n// ── SIEM export config — field overrides (shared across polymorphic variants) ─\n\nconst siemExportFieldOverrides = {\n // Field descriptions are an EDIT aid — they say what to type. On the read pane, which an operator opens to\n // confirm a value, they were a sentence under every row (\"Controls whether event deliveries are sent.\" under\n // \"Enabled\"), so `display` no longer asks for them; the form keeps them.\n //\n // On the card the value reads bare, and a bare checkmark says nothing about WHAT is true — so the summary\n // renders the word (\"Enabled\" / \"Disabled\") instead of a label and a tick.\n enabled: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.enabled.booleanUI({\n labellingValue: BooleanLabellingValue.ENABLED_DISABLED,\n display: { displayMode: BooleanDisplayMode.CHECKMARK },\n summaryOverride: { displayMode: BooleanDisplayMode.RAW },\n edit: { editMode: BooleanEditMode.SWITCH, showDescription: true },\n }),\n webhookUrl: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.webhookUrl.stringUI({\n display: { displayMode: StringDisplayMode.COPY },\n edit: { showDescription: true },\n }),\n authMethod: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.authMethod.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true, tooltip: true },\n }),\n eventFormat: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.eventFormat.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n }),\n authCredential: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.authCredential.showWhen({\n conditions: { field: 'authMethod', value: SIEMAuthMethod.NONE, operator: ShowWhenOperator.NOT_EQUALS },\n }),\n authHeaderName: (schema: typeof SiemExportConfigBaseSchema) =>\n schema.shape.authHeaderName.showWhen({\n conditions: { field: 'authMethod', value: SIEMAuthMethod.API_KEY_HEADER },\n }),\n};\n\n/*\n * An API key is read to decide whether to rotate, extend or retire it. The header is its NAME and its STATUS\n * badge, so neither is a row below it. `scope` is not rendered anywhere: the organization schema fixes it to one\n * literal, so on this screen it can only ever say \"organization\" — it rendered as an empty \"Scope: —\" on every\n * card. The first card has no heading (it would restate the header) and no read section carries a description.\n *\n * `access` is gone as a section: it held the roles and the description, and a heading over the one row that\n * matters (\"Access\" above \"Roles\") was a heading per field. Both now sit in the first card, beside the prefix.\n */\nfunction OrgApiKeyHeader(): React.JSX.Element {\n return (\n <div className=\"flex min-w-0 flex-wrap items-center gap-field\">\n <ResourceHeaderTitle />\n <DisplayField name=\"status\" hideLabel hideDescription className=\"w-auto\" />\n </div>\n );\n}\n\nfunction OrgApiKeyDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD} hideTitle hideDescription>\n <DisplayField name=\"keyPrefix\" />\n <DisplayField name=\"roles\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"lifecycle\" hideDescription>\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"createdAt\" />\n {/* While the previous secret still authenticates after a rotation: its prefix, and until when. */}\n <ApiKeyRotationWindowRows />\n </Section>\n </DisplayLayout>\n );\n}\n\n/*\n * The CREATE form (this resource has no UPDATE: a key changes through its own verbs — rotate, deactivate,\n * extend). One column, no headings: five fields do not need grouping, and a heading over two of them named\n * the page. The name first and focused; the description is prose, so a textarea; status last, since a new key\n * is active unless somebody deliberately says otherwise.\n */\nfunction OrgApiKeyEditTemplate(): React.JSX.Element {\n return (\n <FormLayout>\n <FormField name=\"name\" autoFocus />\n <FormField name=\"description\" />\n <FormField name=\"roles\" />\n <FormField name=\"expiresAt\" />\n <FormField name=\"status\" />\n </FormLayout>\n );\n}\n\n/*\n * The autonomous agents a client may run as are the ones the APPLICATION declares (#1611), and the backend refuses\n * any other ref — so the binding field offers exactly those, read from `/flows-actors/frontend-info`, instead of a\n * free-text list an administrator fills from memory (#1812). Until the declaration arrives, or where the flows-actors\n * plane is absent, the choice is empty rather than free text: there is nothing it would be honest to accept.\n *\n * Values are the refs themselves. They are identifiers the application names, not a closed engine vocabulary with\n * words in the label tree, so a ref is what an administrator sees — and what every audit row records.\n */\nfunction DeclaredAutonomousAgentsFormField(): React.JSX.Element {\n const flowsActors = useFlowsActorsSafe();\n // Asked for explicitly: the provider bootstraps the declaration only when the application configures a chat view,\n // and an application with none (the scaffold, Wonder CRM) would otherwise offer an empty choice (#1812 review).\n const requestAutonomousAgents = flowsActors?.requestAutonomousAgents;\n React.useEffect(() => {\n requestAutonomousAgents?.();\n }, [requestAutonomousAgents]);\n const declaredAutonomousAgentRefs = (flowsActors?.autonomousAgents ?? []).map((agent) => agent.ref);\n return <FormField name=\"autonomousAgentRefs\" allowedValues={declaredAutonomousAgentRefs} />;\n}\n\n/*\n * ONE flat form for every operation of an organization OAuth client, like an API key's. A field the operation does\n * not accept hides itself, so CREATE shows the registration fields and `setAutonomousAgents` shows only the agent\n * list (`autonomousAgentRefs` is excluded from CREATE: a client is registered first, then bound). Sections were\n * rejected here: a section renders its heading whether or not anything under it survives, so the binding form would\n * have carried \"Access\" and \"Redirects\" headings over nothing.\n */\nfunction OrgOAuthClientEditTemplate(): React.JSX.Element {\n return (\n <FormLayout>\n <FormField name=\"name\" autoFocus />\n <FormField name=\"description\" />\n <FormField name=\"expiresAt\" />\n <FormField name=\"allowedGrants\" />\n <FormField name=\"allowedScopes\" />\n <FormField name=\"roles\" />\n <FormField name=\"tokenEndpointAuthMethod\" />\n <FormField name=\"requiresConsent\" />\n <FormField name=\"redirectUris\" />\n <FormField name=\"postLogoutRedirectUris\" />\n <DeclaredAutonomousAgentsFormField />\n </FormLayout>\n );\n}\n\n/*\n * A card: the name, then the status as a badge and the key's visible prefix. The prefix keeps its label — a\n * bare \"wkprobeB\" beside a badge reads as a second name, not as the first characters of the secret.\n */\nfunction OrgApiKeySummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"keyPrefix\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\n/*\n * An audit event, read once for what happened and once for who did it. The header is its NAME — the event type\n * and the instant, in the viewer's date-time format — so neither is a row below it, and the overview card has no\n * heading of its own (it would restate the header). No read section carries a description: \"Review all\n * application activity\" and \"See who performed each action\" were prompts, on a page that already shows it.\n * Every actor row hides when empty — most events have one actor, and a column of dashes said nothing.\n */\nfunction AuditLogDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD} hideTitle hideDescription>\n <DisplayField name=\"eventCategory\" />\n <DisplayField name=\"severity\" />\n <DisplayField name=\"riskLevel\" />\n </Section>\n <Section name=\"actors\" appearance={SectionMode.CARD} hideDescription>\n <DisplayField name=\"actorKind\" />\n <DisplayField name=\"userId\" />\n {/* WHO beyond the id (#1595): the AI agent when one acted, and the external client or machine credential\n when one was involved. */}\n <DisplayField name=\"agentActor\" />\n <DisplayField name=\"delegatingClientId\" />\n <DisplayField name=\"principalCredentialId\" />\n {/* #1597: the service-provider relationship a firm's expert or machine client acted through, and the firm. */}\n <DisplayField name=\"actingViaServiceProviderRelationshipId\" />\n <DisplayField name=\"providerOrganizationId\" />\n <DisplayField name=\"organizationId\" />\n </Section>\n {/* The card's heading names the data, so the data itself carries no label and takes the full width — as a\n settings row its label repeated the heading and squeezed the key/value grid into half the card. */}\n <Section name=\"payload\" appearance={SectionMode.CARD} chromeMode={DisplayChromeMode.HIDDEN} hideDescription>\n <DisplayField name=\"eventData\" />\n </Section>\n </DisplayLayout>\n );\n}\n\n/*\n * A card in a list grouped by DAY: the event type, then its severity as a badge and who acted, bare. The date is\n * the group heading above it, so the card does not repeat it; the exact instant is the read page's name.\n */\nfunction AuditLogSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"eventType\" />\n <SummaryMeta>\n <DisplayField name=\"severity\" />\n <DisplayField name=\"eventCategory\" />\n <DisplayField name=\"actorKind\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\n/**\n * An audit event's name, shared by both audit doors: the WORD for its type (`system_enums.CoreAuditableEventType.<type>`,\n * #1791) and the instant it happened, in the viewer's date-time format — many events share a day, so the time is part\n * of the name. `eventType` used to be printed raw (`user_login`); an event type with no word still shows its value,\n * which is a missing label looking missing. `eventType` is required on every event.\n */\nfunction auditEventName({ currentObject, t, formatDateTime }: {\n currentObject: { eventType: string; createdAt?: Date | string };\n t: (key: string) => string;\n formatDateTime: (value: Date | string | number) => string;\n}): string {\n const wordKey = resolveVocabularyWordKey(EngineOpenVocabulary.CORE_AUDITABLE_EVENT_TYPE, currentObject.eventType);\n const word = t(wordKey);\n const type = word === wordKey ? unresolvedLabel(currentObject.eventType) : word;\n return currentObject.createdAt ? `${type} — ${formatDateTime(currentObject.createdAt)}` : type;\n}\n\n/**\n * Chrome and field decorators shared by both audit doors (tenant and application-wide): one object, one reading.\n * Settings rows on the read page, bare values on a card, empty actor rows hidden, severity as a coloured badge.\n */\nfunction auditLogPresentation(schemaShape: typeof AuditableEvent_BaseSchema.shape) {\n const hideWhenEmpty = { display: { hideWhenEmpty: true } } as const;\n return {\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.SETTINGS_ROW },\n fields: {\n severity: schemaShape.severity.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n values: {\n [AuditEventSeverity.INFO]: { color: BadgeSemanticVariant.SECONDARY },\n [AuditEventSeverity.WARNING]: { color: BadgeSemanticVariant.WARNING },\n [AuditEventSeverity.CRITICAL]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n },\n }),\n userId: schemaShape.userId.stringUI(hideWhenEmpty),\n agentActor: schemaShape.agentActor.objectUI(hideWhenEmpty),\n delegatingClientId: schemaShape.delegatingClientId.stringUI(hideWhenEmpty),\n principalCredentialId: schemaShape.principalCredentialId.stringUI(hideWhenEmpty),\n actingViaServiceProviderRelationshipId: schemaShape.actingViaServiceProviderRelationshipId.stringUI(hideWhenEmpty),\n providerOrganizationId: schemaShape.providerOrganizationId.stringUI(hideWhenEmpty),\n organizationId: schemaShape.organizationId.stringUI(hideWhenEmpty),\n },\n };\n}\n\nfunction SiemExportSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"enabled\" />\n </SummaryLayout>\n );\n}\n\n/*\n * A failed delivery is named by its failure reason and carries its status badge beside it, so the old\n * `overview` card — which held exactly those two — is gone rather than repeating the header. What is left is\n * the attempt record and the payload. The payload card's heading names the data, so the data itself carries no\n * label (the audit trail's `payload` card, for the same reason).\n */\nfunction SiemDlqHeader(): React.JSX.Element {\n return (\n <div className=\"flex min-w-0 flex-wrap items-center gap-field\">\n <ResourceHeaderTitle />\n <DisplayField name=\"status\" hideLabel hideDescription className=\"w-auto\" />\n </div>\n );\n}\n\nfunction SiemDlqDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"delivery\" appearance={SectionMode.CARD} hideDescription>\n <DisplayField name=\"eventId\" />\n <DisplayField name=\"failureCount\" />\n <DisplayField name=\"lastAttemptAt\" />\n <DisplayField name=\"nextRetryAt\" />\n </Section>\n <Section name=\"payload\" appearance={SectionMode.CARD} chromeMode={DisplayChromeMode.HIDDEN} hideDescription>\n <DisplayField name=\"eventPayload\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction SiemDlqSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"failureReason\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\nfunction SsoConfigDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n {/*\n * No `appearance` on any of these seven. The layout declares\n * `defaultDisplaySectionAppearance: VERTICAL_TABS` once, and grouping keys on\n * `(mode, its props)` over CONSECUTIVE siblings — so declaring it per section would be seven\n * agreements to keep, and one that slipped would render two rails rather than fail.\n * `enforcement` carried CARD here, which is what made it the odd one out: under a shared\n * container mode it would have been a card sitting above the rail instead of its first tab.\n *\n * No `hideDescription` either: the vertical-tabs container renders no section description at all,\n * so the flag would be inert, and the specification documents none for these groups.\n */}\n <Section name=\"enforcement\">\n <ObjectScope name=\"enforcement\">\n <DisplayField name=\"requireSSO\" />\n <DisplayField name=\"allowPasswordFallback\" />\n <DisplayField name=\"graceLoginAttempts\" />\n </ObjectScope>\n </Section>\n <Section name=\"domains\">\n <ObjectScope name=\"domains\">\n <DisplayField name=\"verifiedDomains\" />\n <DisplayField name=\"ssoEnabledDomains\" />\n <DisplayField name=\"domainVerificationStatus\" />\n </ObjectScope>\n </Section>\n {/*\n No `provisioning` section. It rendered `SsoConfig.provisioning`, which decided nothing — and\n on THIS pane it was worse than inert: an administrator reading \"Single sign-on → Provisioning →\n create users automatically\" had every reason to believe it governed who gets an account when\n somebody signs in through the IdP. What governs that is the CONNECTION's own\n `autoCreateUsers`, one pane over under Connections; what governs a directory PUSH is the SCIM\n provisioning pane. Two live answers and a third that looked like the summary of both.\n */}\n {/*\n One row left in `session`, and no `audit` section at all. Both held switches that decided\n nothing: SSO events are not gated on a per-policy log flag, audit RETENTION is\n `ApplicationRetentionSchedule` over `DataRetentionClass`, session lifetime is the token\n issuer's, and the concurrency limit is `userTypes.<type>.auth.maxConcurrentSessions`. Four of\n them looked like security controls — which is why they had to go rather than be documented.\n */}\n <Section name=\"session\">\n <ObjectScope name=\"sessionSettings\">\n <DisplayField name=\"singleLogoutEnabled\" />\n </ObjectScope>\n </Section>\n <Section name=\"emergency\">\n <ObjectScope name=\"emergencyAccess\">\n <DisplayField name=\"enabled\" />\n <DisplayField name=\"breakGlassAccounts\" />\n </ObjectScope>\n </Section>\n <Section name=\"oauth\">\n <ObjectScope name=\"oauth2ProviderRestrictions\">\n <DisplayField name=\"allowedProviders\" />\n <DisplayField name=\"blockedProviders\" />\n <DisplayField name=\"requireEnterpriseSSOOnly\" />\n </ObjectScope>\n <DisplayField name=\"socialCredentialOverrides\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction SsoConfigSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <ObjectScope name=\"enforcement\">\n <DisplayField name=\"requireSSO\" />\n </ObjectScope>\n </SummaryLayout>\n );\n}\n\n/*\n * A connection is named by its display name and carries its protocol badge beside it, so neither is a row; the\n * first card, which held both, keeps only what the header does not say and loses its heading. Only the section\n * of the connection's OWN protocol renders: an OIDC connection showed a whole SAML section of empty rows (and\n * the reverse), which read as unfinished configuration rather than as not applicable. No read section carries a\n * description.\n */\nfunction SsoConnectionHeader(): React.JSX.Element {\n return (\n <div className=\"flex min-w-0 flex-wrap items-center gap-field\">\n <ResourceHeaderTitle />\n <DisplayField name=\"protocol\" hideLabel hideDescription className=\"w-auto\" />\n </div>\n );\n}\n\nfunction SsoConnectionDisplayTemplate(): React.JSX.Element {\n const { data } = useDisplayTemplateContext();\n const protocol = (data as { protocol?: SsoProtocol } | undefined)?.protocol;\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD} hideTitle hideDescription>\n <DisplayField name=\"enabled\" />\n <DisplayField name=\"isDefault\" />\n <DisplayField name=\"externalProviderId\" />\n </Section>\n {protocol !== SsoProtocol.SAML && (\n <Section name=\"oidc\" hideDescription>\n <ObjectScope name=\"oidc\">\n <DisplayField name=\"templateMode\" />\n <DisplayField name=\"discoveryUrl\" />\n <DisplayField name=\"issuer\" />\n <DisplayField name=\"authorizationEndpoint\" />\n <DisplayField name=\"tokenEndpoint\" />\n <DisplayField name=\"userInfoEndpoint\" />\n <DisplayField name=\"jwksUri\" />\n <DisplayField name=\"endSessionEndpoint\" />\n <DisplayField name=\"clientId\" />\n <DisplayField name=\"scopes\" />\n <DisplayField name=\"responseType\" />\n <DisplayField name=\"responseMode\" />\n <DisplayField name=\"pkceEnabled\" />\n <DisplayField name=\"pkceMethod\" />\n {/*\n The authentication-strength demands placed on the identity provider. `prompt` was\n already rendered here; `acrValues` and `maxAge` are shown beside it because all three\n became real on 2026-09-08 (#419) — until then the screen offered them and the\n authorization request carried none of them.\n\n `validateIssuer` / `validateAudience` were rendered here and are gone with the schema\n fields: the verification is unconditional, so the screen was offering an operator a\n switch whose only reachable position was the unsafe one.\n */}\n <DisplayField name=\"prompt\" />\n <DisplayField name=\"acrValues\" />\n <DisplayField name=\"maxAge\" />\n <DisplayField name=\"claimsMapping\" />\n </ObjectScope>\n </Section>\n )}\n {protocol !== SsoProtocol.OIDC && (\n <Section name=\"saml\" hideDescription>\n <ObjectScope name=\"saml\">\n <DisplayField name=\"entityId\" />\n <DisplayField name=\"ssoUrl\" />\n <DisplayField name=\"sloUrl\" />\n <DisplayField name=\"x509CertificatePem\" />\n <DisplayField name=\"attributeMapping\" />\n <DisplayField name=\"signRequests\" />\n <DisplayField name=\"wantAssertionsSigned\" />\n <DisplayField name=\"allowedClockDrift\" />\n <DisplayField name=\"forceAuthn\" />\n <DisplayField name=\"maxAuthAge\" />\n <DisplayField name=\"nameIdFormat\" />\n <DisplayField name=\"allowIdpInitiated\" />\n </ObjectScope>\n </Section>\n )}\n <Section name=\"provisioning\" hideDescription>\n <DisplayField name=\"autoCreateUsers\" />\n <DisplayField name=\"defaultRole\" />\n <DisplayField name=\"allowedDomains\" />\n <DisplayField name=\"roleMapping\" />\n <DisplayField name=\"groupMapping\" />\n </Section>\n </DisplayLayout>\n );\n}\n\n/* A card: the name, then the protocol badge and whether the connection is on — the latter as the word, see `enabled`. */\nfunction SsoConnectionSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"displayName\" />\n <SummaryMeta>\n <DisplayField name=\"protocol\" />\n <DisplayField name=\"enabled\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\n/*\n * The pane's header already names it (\"SCIM provisioning\"), so its groups carry no headings: the first card's\n * was \"Overview\" — a name for the page, not for a part of it — the second's put \"Attribute mapping\" over a single\n * row labelled \"Attribute mapping\", and the third's called two record timestamps \"User lifecycle\", which is what\n * the FIRST card governs. No section carries a description on read.\n */\nfunction ScimProvisioningDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD} hideTitle hideDescription>\n {/* No `scimEnabled` — whether SCIM is on is an org-type setting\n (`organizationTypes[type].scimProvisioning.enabled`), not a field on this row.\n This section governs what happens to users once SCIM is enabled for the type. */}\n <DisplayField name=\"autoCreateUsers\" />\n <DisplayField name=\"autoVerifyEmail\" />\n <DisplayField name=\"autoDeactivateUsers\" />\n <DisplayField name=\"defaultRole\" />\n </Section>\n <Section name=\"mapping\" hideTitle hideDescription>\n <DisplayField name=\"attributeMapping\" />\n </Section>\n <Section name=\"lifecycle\" hideTitle hideDescription>\n <DisplayField name=\"createdAt\" />\n <DisplayField name=\"updatedAt\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction ScimProvisioningSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout flow={SummaryFlow.ROW}>\n <DisplayField name=\"autoCreateUsers\" />\n </SummaryLayout>\n );\n}\n\n/*\n * A token is named by its display name (the header), so the first card keeps whether it is active and who\n * created it, without a heading of its own. No section carries a description on read.\n */\nfunction ScimTokenDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <Section name=\"overview\" appearance={SectionMode.CARD} hideTitle hideDescription>\n <DisplayField name=\"isActive\" />\n <DisplayField name=\"createdByUserId\" />\n </Section>\n <Section name=\"lifecycle\" hideDescription>\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n );\n}\n\nfunction ScimTokenSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryTitle name=\"displayName\" />\n <SummaryMeta>\n <DisplayField name=\"isActive\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\n/*\n * A stored third-party credential, at either owner scope (the tenant's, or a person's own). Its NAME is\n * `provider · slot` and its validation state is the badge beside it, so neither the provider, the slot nor the\n * state is a row: the card showed \"asana · ASANA_API_KEY\", then \"Provider: asana\", then \"Secret key:\n * ASANA_API_KEY\" — the title, twice more.\n *\n * No `<Section>` anywhere, so no `layout.refs`: a section is a contract the specification has to document slot\n * for slot, and a credential is a handful of facts that no heading would group better than the rows do. Every\n * optional fact hides when empty — a credential nobody has validated or used yet is the ordinary case, and a\n * column of dashes under it said nothing.\n */\nfunction ProviderCredentialHeader(): React.JSX.Element {\n return (\n <div className=\"flex min-w-0 flex-wrap items-center gap-field\">\n <ResourceHeaderTitle />\n <DisplayField name=\"validationState\" hideLabel hideDescription className=\"w-auto\" />\n </div>\n );\n}\n\n/** `setByUserId` exists on the tenant's credential only: a person's own is, by construction, set by them. */\nfunction providerCredentialDisplayTemplate(includeSetBy: boolean): () => React.JSX.Element {\n return function ProviderCredentialDisplayTemplate(): React.JSX.Element {\n return (\n <DisplayLayout>\n <DisplayField name=\"enabled\" />\n <DisplayField name=\"description\" />\n <DisplayField name=\"validationError\" />\n <DisplayField name=\"lastValidatedAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"secretSetAt\" />\n {includeSetBy && <DisplayField name=\"setByUserId\" />}\n <DisplayField name=\"connectionFacts\" />\n <DisplayField name=\"createdAt\" />\n </DisplayLayout>\n );\n };\n}\n\n/*\n * The form a person reaches from a credential's Edit action: replace the secret, switch it off, or note what\n * it is for. The secret first and focused, since replacing it is why the form is usually opened. The provider\n * and slot are not offered — they are the credential's identity and cannot change — except on the API's CREATE,\n * which these screens hide (#1040) and which would otherwise have no way to name them.\n */\nfunction ProviderCredentialEditTemplate(): React.JSX.Element {\n const { isExisting } = useFormTemplateContext();\n return (\n <FormLayout>\n {!isExisting && <FormField name=\"providerRef\" />}\n {!isExisting && <FormField name=\"secretSlug\" />}\n <FormField name=\"secretValue\" autoFocus />\n <FormField name=\"enabled\" />\n <FormField name=\"description\" />\n {/* No `validationState`: it is the store's verdict on the credential's last use, excluded from create and\n update (#1809), so the owner cannot declare a credential valid. It shows as the header badge instead. */}\n </FormLayout>\n );\n}\n\n/* A card: the name (`provider · slot`), then the validation badge and whether the credential is on, as the word. */\nfunction ProviderCredentialSummaryTemplate(): React.JSX.Element {\n return (\n <SummaryLayout>\n <SummaryMeta>\n <DisplayField name=\"validationState\" />\n <DisplayField name=\"enabled\" />\n </SummaryMeta>\n </SummaryLayout>\n );\n}\n\n/**\n * Chrome and field decorators shared by both provider-credential scopes. Settings rows on read (a credential is\n * inspected one fact at a time), bare values on a card, a stacked form. `enabled` reads as the word on a card —\n * a bare checkmark there says nothing about WHAT is true.\n */\nfunction providerCredentialPresentation(\n schemaShape: typeof OrganizationProviderCredentialSchema.shape | typeof UserProviderCredentialSchema.shape,\n) {\n const hideWhenEmpty = { display: { hideWhenEmpty: true } } as const;\n return {\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.STACKED },\n fields: {\n enabled: schemaShape.enabled.booleanUI({\n labellingValue: BooleanLabellingValue.ENABLED_DISABLED,\n summaryOverride: { displayMode: BooleanDisplayMode.RAW },\n }),\n description: schemaShape.description.stringUI({\n ...hideWhenEmpty,\n edit: { editMode: StringEditMode.TEXTAREA },\n }),\n validationError: schemaShape.validationError.stringUI(hideWhenEmpty),\n lastValidatedAt: schemaShape.lastValidatedAt.dateUI(hideWhenEmpty),\n lastUsedAt: schemaShape.lastUsedAt.dateUI(hideWhenEmpty),\n secretSetAt: schemaShape.secretSetAt.dateUI(hideWhenEmpty),\n connectionFacts: schemaShape.connectionFacts.objectUI(hideWhenEmpty),\n },\n };\n}\n\nexport function buildSecurityMainPresets(): Partial<ResourceUIBehavior> {\n return {\n /**\n * An organization's OAuth clients — the machine credentials it registers for itself, and the ones an autonomous\n * agent runs as (#1611). Until #1812 they had no screen, so creating, rotating or ending a client — and binding an\n * agent to one — was REST only.\n *\n * The application-scope preset (`application.resource-presets.tsx`) is the model, section for section, because the\n * two are one credential type at two scopes. Two differences, each for the resource's own reason:\n * - an `autonomousAgents` section: which agents this client runs is a grant of standing authority to act\n * unattended, so it is on the page rather than behind the action that changes it;\n * - the Settings Hub chrome of an API key (stacked form, table registry), because this is where it sits — beside\n * API keys, in the organization's settings — rather than on the application's administration page.\n *\n * `EXPIRE` is the expiry sweep's (INTERNAL_CALL) and carries no view. The secret is never laid out: the hashes\n * are backend-only, and `secretPrefix` is the part a person uses to tell which credential a log line names.\n */\n [R.OAUTH_CLIENTS_ORGANIZATION]: resourceUIBehavior(orgOAuthClientsFactory, OAuthClientOrganizationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: KeyRound,\n layout: {\n refs: {\n sections: ['overview', 'access', 'redirects', 'autonomousAgents', 'lifecycle'],\n },\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.STACKED },\n // The identity line: the client's name (the page title) and its status beside it. Neither is repeated below.\n header: () => (\n <div className=\"flex min-w-0 flex-wrap items-center gap-field\">\n <ResourceHeaderTitle />\n <DisplayField name=\"status\" hideLabel hideDescription className=\"w-auto\" />\n </div>\n ),\n display: () => (\n <DisplayLayout>\n {/* Name and status are the header's, so the first card carries no heading. */}\n <Section name=\"overview\" appearance={SectionMode.CARD} hideTitle hideDescription>\n <DisplayField name=\"_id\" />\n <DisplayField name=\"secretPrefix\" />\n <DisplayField name=\"description\" />\n </Section>\n <Section name=\"access\" appearance={SectionMode.CARD} hideDescription>\n <DisplayField name=\"allowedGrants\" />\n <DisplayField name=\"allowedScopes\" />\n <DisplayField name=\"roles\" />\n <DisplayField name=\"tokenEndpointAuthMethod\" />\n <DisplayField name=\"requiresConsent\" />\n </Section>\n <Section name=\"redirects\" appearance={SectionMode.CARD} hideDescription>\n <DisplayField name=\"redirectUris\" />\n <DisplayField name=\"postLogoutRedirectUris\" />\n </Section>\n {/* The one read section that keeps its description: an empty list here means the client runs no agent,\n and a reader should not have to know the binding operation exists to learn that. */}\n <Section name=\"autonomousAgents\" appearance={SectionMode.CARD}>\n <DisplayField name=\"autonomousAgentRefs\" />\n </Section>\n <Section name=\"lifecycle\" appearance={SectionMode.CARD} hideDescription>\n <DisplayField name=\"expiresAt\" />\n <DisplayField name=\"lastUsedAt\" />\n <DisplayField name=\"previousSecretPrefix\" />\n <DisplayField name=\"previousSecretInvalidationDate\" />\n <DisplayField name=\"createdAt\" />\n </Section>\n </DisplayLayout>\n ),\n summary: () => (\n <SummaryLayout>\n <SummaryTitle name=\"name\" />\n <SummaryMeta>\n <DisplayField name=\"status\" />\n <DisplayField name=\"secretPrefix\" />\n <DisplayField name=\"autonomousAgentRefs\" />\n </SummaryMeta>\n </SummaryLayout>\n ),\n edit: OrgOAuthClientEditTemplate,\n },\n fields: {\n // The application client's states and colours, because they mean the same things.\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n values: {\n [OAuthClientStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [OAuthClientStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [OAuthClientStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n // The prefix keeps its label on a card — bare, it reads as a second name.\n secretPrefix: schemaShape.secretPrefix.stringUI({ summaryOverride: { chromeMode: DisplayChromeMode.INLINE } }),\n description: schemaShape.description.stringUI({\n display: { hideWhenEmpty: true },\n edit: { editMode: StringEditMode.TEXTAREA },\n }),\n postLogoutRedirectUris: schemaShape.postLogoutRedirectUris.arrayUI({ display: { hideWhenEmpty: true } }),\n // On a card only when the client runs an agent: most clients run none, and \"Autonomous agents: —\" on every\n // card said nothing.\n autonomousAgentRefs: schemaShape.autonomousAgentRefs.arrayUI({\n summaryOverride: { chromeMode: DisplayChromeMode.INLINE, hideWhenEmpty: true },\n }),\n expiresAt: schemaShape.expiresAt.dateUI({ display: { hideWhenEmpty: true } }),\n lastUsedAt: schemaShape.lastUsedAt.dateUI({ display: { hideWhenEmpty: true } }),\n // The rotation window, shown only while the previous secret still authenticates.\n previousSecretPrefix: schemaShape.previousSecretPrefix.stringUI({ display: { hideWhenEmpty: true, showDescription: true } }),\n previousSecretInvalidationDate: schemaShape.previousSecretInvalidationDate.dateUI({ display: { hideWhenEmpty: true } }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, addressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n // Creating a client returns its one-time `plainSecret` (`.isEphemeral()`), shown once by the reveal dialog.\n [Op.CREATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.DELETE, notAddressable()],\n [OrgOAuthClients_Operations.ROTATE, notAddressable({ iconOverride: RotateCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgOAuthClients_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgOAuthClients_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgOAuthClients_Operations.REACTIVATE, notAddressable({ iconOverride: Power, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgOAuthClients_Operations.SET_AUTONOMOUS_AGENTS, notAddressable({ iconOverride: Bot, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n ],\n })),\n\n [R.ORG_API_KEYS]: resourceUIBehavior(orgApiKeysFactory, ApiKeyOrganizationSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Key,\n layout: {\n refs: {\n sections: ['overview', 'lifecycle'],\n },\n // Settings rows on the read page (Settings Hub → API keys), bare values on a card, and a stacked\n // create form: a key is authored once — a name, what it is for, what it may do — not tuned row by row.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.STACKED },\n header: OrgApiKeyHeader,\n display: OrgApiKeyDisplayTemplate,\n summary: OrgApiKeySummaryTemplate,\n edit: OrgApiKeyEditTemplate,\n },\n fields: {\n // A badge with no sentence under it. \"Determines whether the key can authenticate traffic.\" printed\n // under every card's status is the field's EDIT help — the form keeps it.\n status: schemaShape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n values: {\n [ApiKeyStatus.ACTIVE]: { color: BadgeSemanticVariant.SUCCESS },\n [ApiKeyStatus.INACTIVE]: { color: BadgeSemanticVariant.SECONDARY },\n [ApiKeyStatus.EXPIRED]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n // The one card value that keeps its label: bare, a prefix reads as a second name — see the summary.\n keyPrefix: schemaShape.keyPrefix.stringUI({ summaryOverride: { chromeMode: DisplayChromeMode.INLINE } }),\n description: schemaShape.description.stringUI({\n display: { hideWhenEmpty: true },\n edit: { editMode: StringEditMode.TEXTAREA },\n }),\n // A key with no expiry, or one never used, is ordinary — a dash on those rows said nothing.\n expiresAt: schemaShape.expiresAt.dateUI({ display: { hideWhenEmpty: true } }),\n lastUsedAt: schemaShape.lastUsedAt.dateUI({ display: { hideWhenEmpty: true } }),\n // The rotation window, rendered only while the previous secret still authenticates (`ApiKeyRotationWindowRows`).\n // The prefix row says what an empty end date means — after a regenerate the old secret has none and keeps\n // working — so it carries its description; the end-date row hides itself when there is no date.\n previousKeyPrefix: schemaShape.previousKeyPrefix.stringUI({ display: { hideWhenEmpty: true, showDescription: true } }),\n previousKeyInvalidationDate: schemaShape.previousKeyInvalidationDate.dateUI({ display: { hideWhenEmpty: true } }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.name,\n // The empty state's primary action is Create — surfaced because CREATE\n // declares a (non-addressable, overlay) view below. Creating a key returns\n // its one-time `plainKey` (`.isEphemeral()` on the CREATE response DTO) →\n // the ephemeral reveal dialog shows the secret exactly once.\n views: [\n [Op.READ, notAddressable()],\n // A key registry: name, status, prefix, expiry, last use. Comparable rows.\n // CARDS is the framework default and nothing had ever declared otherwise, so every\n // collection in the product rendered as stacked cards — ~150px per row, four people to a\n // viewport, with each field's help text and label repeated on every card. TABLE writes the\n // headers once. `userSwitchableDisplayMode` keeps cards one click away rather than removing\n // a rendering somebody may prefer on a narrow screen.\n [Op.LIST, addressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n // CREATE has a view but is NOT URL-addressable — surface EMBEDDED; the create\n // form opens as a drill-in within the Settings Hub panel, not a routed page.\n // Its Create button still shows: action visibility is governed by the op\n // having a surface + `actionVisibility`, NOT by addressability.\n [Op.CREATE, notAddressable()],\n [Op.SEARCH, notAddressable()],\n [Op.DELETE, notAddressable()],\n [OrgApiKeys_Operations.ROTATE, notAddressable({ iconOverride: RotateCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgApiKeys_Operations.REGENERATE, notAddressable({ iconOverride: RefreshCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgApiKeys_Operations.DEACTIVATE, notAddressable({ iconOverride: PowerOff, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgApiKeys_Operations.REACTIVATE, notAddressable({ iconOverride: Power, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgApiKeys_Operations.EXTEND_EXPIRY, notAddressable({ iconOverride: CalendarPlus, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [OrgApiKeys_Operations.USAGE_STATS, notAddressable({ iconOverride: ChartColumn })],\n ],\n })),\n\n /**\n * The tenant's OWN credentials toward third parties.\n *\n * Easy to read as a sibling of API keys and it is their mirror image: an API key lets somebody\n * reach THIS application, and one of these lets this application reach somebody else AS THIS\n * TENANT. Same administrator, opposite direction — which is why they sit next to each other in\n * Settings and must not be described in the same words.\n *\n * ## No layout refs, deliberately\n *\n * Declaring `layout.refs.sections` creates a contract the resource SPECIFICATION has to document\n * slot for slot, validated at load; this resource has a handful of visible facts and no section would\n * earn that coupling. Its templates, shared with the person-scope sibling, are flat rows under a header.\n *\n * ## What the administrator can see, and what they cannot\n *\n * `secretValue` is `.isWriteOnlySecret()`, so it is present in the CREATE and UPDATE forms and\n * masked on every read — the operator supplies and rotates it, and no screen ever shows it back.\n * Nothing here weakens that; the preset only names the fields that are already readable.\n */\n [R.ORG_PROVIDER_CREDENTIALS]: resourceUIBehavior(\n orgProviderCredentialsFactory,\n OrganizationProviderCredentialSchema,\n ({ schemaShape }) => ({\n icon: KeyRound,\n layout: {\n defaultChromeMode: providerCredentialPresentation(schemaShape).defaultChromeMode,\n header: ProviderCredentialHeader,\n display: providerCredentialDisplayTemplate(true),\n summary: ProviderCredentialSummaryTemplate,\n edit: ProviderCredentialEditTemplate,\n },\n fields: {\n ...providerCredentialPresentation(schemaShape).fields,\n // Absent for a credential the system stored rather than a person — a dash there said nothing.\n setByUserId: schemaShape.setByUserId.stringUI({ display: { hideWhenEmpty: true } }),\n validationState: schemaShape.validationState.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n values: {\n // UNVALIDATED is the honest default and is not a warning: storing a credential proves\n // only that somebody typed one, which is a normal state rather than a problem.\n [ProviderCredentialValidationState.UNVALIDATED]: { color: BadgeSemanticVariant.SECONDARY },\n [ProviderCredentialValidationState.VALID]: { color: BadgeSemanticVariant.SUCCESS },\n // The provider REJECTED it on its last use, so the tenant is acting as nobody until it\n // is rotated. That is a call to action, not an error the screen has to explain away.\n [ProviderCredentialValidationState.INVALID]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.providerRef} · ${currentObject.secretSlug}`,\n // No Create call to action, and no Create on the list either (#1040). A credential is pasted through the Connect\n // tab beside this list, which offers only declared providers and each provider's declared slots. This list's\n // CREATE form took both as free text, so a value could be stored in a slot nothing reads, and the refusal naming\n // the valid slots never reached the person. The API's CREATE stays for callers that are not these screens.\n emptyState: { primaryAction: false },\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n [Op.CREATE, notAddressable({ actionVisibility: ActionVisibility.HIDDEN })],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n }),\n ),\n\n [R.USER_PROVIDER_CREDENTIALS]: resourceUIBehavior(\n userProviderCredentialsFactory,\n UserProviderCredentialSchema,\n ({ schemaShape }) => ({\n icon: KeyRound,\n layout: {\n defaultChromeMode: providerCredentialPresentation(schemaShape).defaultChromeMode,\n header: ProviderCredentialHeader,\n display: providerCredentialDisplayTemplate(false),\n summary: ProviderCredentialSummaryTemplate,\n edit: ProviderCredentialEditTemplate,\n },\n fields: {\n ...providerCredentialPresentation(schemaShape).fields,\n // The same three states as the tenant's, coloured identically on purpose: a person reading\n // their own connections and an administrator reading the tenant's are answering the same\n // question, and two colour languages for one vocabulary is how a reader learns to distrust\n // both. The WORDS come from the enum's i18n entry, authored once for every surface.\n validationState: schemaShape.validationState.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n values: {\n // UNVALIDATED is the honest default and is not a warning: storing a credential proves\n // only that somebody typed one, which is a normal state rather than a problem.\n [ProviderCredentialValidationState.UNVALIDATED]: { color: BadgeSemanticVariant.SECONDARY },\n [ProviderCredentialValidationState.VALID]: { color: BadgeSemanticVariant.SUCCESS },\n // The provider REJECTED it on its last use. For a person this is the more actionable of\n // the two failure shapes: nobody else can rotate it for them, so the badge is the only\n // notice they will get that their own integration has stopped working.\n [ProviderCredentialValidationState.INVALID]: { color: BadgeSemanticVariant.WARNING },\n },\n }),\n },\n getFrontendResourceLabel: ({ currentObject }) => `${currentObject.providerRef} · ${currentObject.secretSlug}`,\n // No Create call to action, and no Create on the list either (#1040). A credential is pasted through the Connect\n // tab beside this list, which offers only declared providers and each provider's declared slots. This list's\n // CREATE form took both as free text, so a value could be stored in a slot nothing reads, and the refusal naming\n // the valid slots never reached the person. The API's CREATE stays for callers that are not these screens.\n emptyState: { primaryAction: false },\n // No `layout.refs`, matching the tenant sibling: the templates use no `<Section>`, this resource\n // declares no layout sections in its specification, and a preset naming refs the specification does\n // not document fails the structural-slot validator at import time and crash-loops the companion.\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, addressable()],\n [Op.CREATE, notAddressable({ actionVisibility: ActionVisibility.HIDDEN })],\n [Op.UPDATE, notAddressable()],\n [Op.DELETE, notAddressable()],\n ],\n }),\n ),\n\n [R.AUDIT_LOGS]: resourceUIBehavior(auditLogsFactory, AuditableEvent_BaseSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: ShieldCheck,\n // An audit event is named by its type's word and the instant it happened — see `auditEventName`.\n getFrontendResourceLabel: auditEventName,\n layout: {\n refs: {\n sections: ['overview', 'actors', 'payload'],\n },\n defaultChromeMode: auditLogPresentation(schemaShape).defaultChromeMode,\n display: AuditLogDisplayTemplate,\n summary: AuditLogSummaryTemplate,\n },\n fields: auditLogPresentation(schemaShape).fields,\n views: [\n [Op.READ, notAddressable()],\n // Audit-trail review dashboard: severity quick tabs (All/Info/Warning/…)\n // + day-bucket grouping — the same generic collection capabilities as\n // the webhook delivery log. `severity` is an enum in the LIST op's own\n // `filterFields`; `createdAt` is a summary field.\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'severity',\n temporalGroupField: 'createdAt',\n },\n })],\n [Op.SEARCH, addressable()],\n [AuditLogs_Operations.EXPORT_AUDIT_LOGS, notAddressable({ iconOverride: Download })],\n ],\n })),\n\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_EXPORT_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_EXPORT_CONFIG },\n ],\n },\n siemExportConfigPolymorphicFactories[R.ORGANIZATION_SIEM_EXPORT_CONFIG],\n SiemExportConfigBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Radio,\n layout: {\n refs: {\n sections: ['status', 'destination', 'authentication', 'format', 'advanced'],\n },\n // `display` and `summary` joined `edit` on 2026-09-18. Only the form carried the settings\n // treatment, so the READ an operator actually opens rendered with the stacked default while\n // its own edit form used rows — the same record, two shapes, depending on which verb you\n // reached it by. The card is bare: its one value reads as the word (\"Enabled\"), see `enabled`.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.SETTINGS_ROW },\n // SIEM export configuration — a scope-level configuration record. A settings pane is a list of decisions an operator came to TAKE, so its\n // writable fields are offered in place rather than behind a whole-pane edit mode. The set is\n // DERIVED (not primary key, not excludeFromUpdate, not hidden, not opted out), so a field\n // added to this schema tomorrow is covered without anyone remembering to decorate it.\n defaultInlineEdit: ResourceLayoutInlineEditDefault.WRITABLE_FIELDS,\n // And its empty rows say WHICH emptiness they are — \"None yet\" for a list with no members,\n // \"Not available\" for a computed value, \"No value\" for a field awaiting input — instead of one\n // em dash standing for all three. The surface policy's dash is right where a reader is scanning;\n // on a settings row, which is read one at a time to decide something, it is an answer that\n // refuses to answer.\n defaultEmptyValue: 'placeholder',\n edit: () => {\n return (\n <FormLayout>\n {/* status is intentionally INLINE — toggle feels awkward as a settings row. Neither of these two\n cards has a heading: each holds one field, and \"Status\" over \"Enabled\", \"Destination\" over\n \"Webhook URL\" were a heading per field. Only `advanced` keeps a description on the form — the\n others were prompts (\"Configure HTTPS webhook endpoint\") the fields already answer. */}\n <Section name=\"status\" appearance={SectionMode.CARD} chromeMode={EditChromeMode.INLINE} hideTitle>\n <FormField name=\"enabled\" />\n </Section>\n <Section name=\"destination\" appearance={SectionMode.CARD} hideTitle>\n <FormField name=\"webhookUrl\" />\n </Section>\n <Section name=\"authentication\">\n <FormField name=\"authMethod\" />\n <FormField name=\"authCredential\" />\n <FormField name=\"authHeaderName\" />\n </Section>\n <Section name=\"format\">\n <FormField name=\"eventFormat\" />\n <ObjectScope name=\"eventFilter\">\n <FormField name=\"categories\" />\n <FormField name=\"severityMinimum\" />\n <FormField name=\"specificEventTypes\" />\n </ObjectScope>\n {/*\n * Data minimisation sits beside the filter on purpose: the filter decides WHICH\n * events leave, this decides WHAT each one carries, and an operator discharging a\n * processing agreement is answering both questions in one sitting.\n *\n * It is rendered rather than left to the schema because these templates are\n * EXPLICIT — a field nobody lists here has no door at all, and a privacy control\n * an operator cannot reach is the shape this pane has already shipped twice.\n */}\n <ObjectScope name=\"exportProjection\">\n <FormField name=\"disclosedTiers\" />\n <FormField name=\"disclosedEventDataClasses\" />\n </ObjectScope>\n </Section>\n <Section name=\"advanced\" appearance={SectionMode.COLLAPSIBLE} defaultFocus={false}>\n <ObjectScope name=\"delivery\">\n <FormField name=\"retryAttempts\" />\n <FormField name=\"retryBackoffSeconds\" />\n <FormField name=\"timeoutSeconds\" />\n </ObjectScope>\n <FormField name=\"customHeaders\" />\n </Section>\n </FormLayout>\n );\n },\n display: () => {\n const { data, isLoading } = useDisplayTemplateContext();\n return (\n <DisplayLayout>\n {/* The read pane an operator opens to confirm a value: the one-field cards carry no heading (see\n the form) and no section carries a description. */}\n <Section name=\"status\" appearance={SectionMode.CARD} hideTitle>\n <DisplayField name=\"enabled\" />\n </Section>\n <Section name=\"destination\" appearance={SectionMode.CARD} hideTitle>\n <DisplayField name=\"webhookUrl\" />\n </Section>\n <Section name=\"authentication\" hideDescription>\n <DisplayField name=\"authMethod\" />\n <DisplayField name=\"authCredential\" />\n <DisplayField name=\"authHeaderName\" />\n </Section>\n <Section name=\"format\" hideDescription>\n <DisplayField name=\"eventFormat\" />\n <ObjectScope name=\"eventFilter\">\n <DisplayField name=\"categories\" />\n <DisplayField name=\"severityMinimum\" />\n <DisplayField name=\"specificEventTypes\" />\n </ObjectScope>\n <ObjectScope name=\"exportProjection\">\n <DisplayField name=\"disclosedTiers\" />\n <DisplayField name=\"disclosedEventDataClasses\" />\n </ObjectScope>\n </Section>\n <Section name=\"advanced\" appearance={SectionMode.COLLAPSIBLE} defaultFocus={false} hideDescription>\n <ObjectScope name=\"delivery\">\n <DisplayField name=\"retryAttempts\" />\n <DisplayField name=\"retryBackoffSeconds\" />\n <DisplayField name=\"timeoutSeconds\" />\n </ObjectScope>\n <DisplayField name=\"customHeaders\" />\n </Section>\n </DisplayLayout>\n );\n },\n summary: SiemExportSummaryTemplate,\n },\n fields: {\n enabled: siemExportFieldOverrides.enabled(schema),\n webhookUrl: siemExportFieldOverrides.webhookUrl(schema),\n authMethod: siemExportFieldOverrides.authMethod(schema),\n eventFormat: siemExportFieldOverrides.eventFormat(schema),\n authCredential: siemExportFieldOverrides.authCredential(schema),\n authHeaderName: siemExportFieldOverrides.authHeaderName(schema),\n },\n views: [\n [Op.READ, addressable()],\n // The edit this preset's form was always rendering, and nothing could save (#953): UPDATE became\n // the administrator's API_CALL door. Not addressable — it opens from the READ view.\n [Op.UPDATE, notAddressable()],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_DELIVERY_DLQ },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_DELIVERY_DLQ },\n ],\n },\n siemDeliveryDlqPolymorphicFactories[R.ORGANIZATION_SIEM_DELIVERY_DLQ],\n SiemDeliveryDlqBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: AlertTriangle,\n layout: {\n refs: {\n sections: ['delivery', 'payload'],\n },\n // Settings rows on read, bare values on a card: the card is the failure reason and its status badge.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.SETTINGS_ROW },\n header: SiemDlqHeader,\n display: SiemDlqDisplayTemplate,\n summary: SiemDlqSummaryTemplate,\n },\n fields: {\n // A badge with no sentence under it on read; the enum's description is edit help.\n status: schema.shape.status.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n values: {\n [SiemDeliveryDlqStatus.PENDING_RETRY]: { color: BadgeSemanticVariant.WARNING },\n [SiemDeliveryDlqStatus.EXHAUSTED]: { color: BadgeSemanticVariant.DESTRUCTIVE },\n [SiemDeliveryDlqStatus.DELIVERED]: { color: BadgeSemanticVariant.SUCCESS },\n },\n }),\n // Empty once the row is terminal (exhausted or delivered) — a dash there said nothing.\n nextRetryAt: schema.shape.nextRetryAt.dateUI({ display: { hideWhenEmpty: true } }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.failureReason,\n views: [\n // Failed-deliveries triage dashboard: status quick tabs + day-bucket\n // grouping (same generic capabilities as the webhook delivery log).\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n // Per-row retry: executes in place on the clicked row. Its backend reads\n // the target from the request-DTO `entryId` (not the URL id), so the row\n // id is injected into that body field via `rowTargetRequestField`.\n [SiemDeliveryDlq_Operations.RETRY_SINGLE, notAddressable({ iconOverride: RotateCw, rowTargetRequestField: 'entryId' })],\n // Whole-scope drain actions: rendered once in the list's collection-action\n // bar (not per row), confirm by risk (HIGH → confirm, CRITICAL → type-to-\n // confirm), and surface their `{ …count, message }` summary as a toast.\n [SiemDeliveryDlq_Operations.RETRY_ALL, notAddressable({ iconOverride: RefreshCw, actionScope: ResourceOperationActionScope.COLLECTION })],\n [SiemDeliveryDlq_Operations.PURGE_ALL, notAddressable({ iconOverride: Trash2, actionScope: ResourceOperationActionScope.COLLECTION })],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n ],\n },\n ssoConfigPolymorphicFactories[R.ORGANIZATION_SSO_CONFIG],\n SsoConfigBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => {\n /*\n * The one sentence on this pane that is a warning rather than a restatement: each break-glass address is a\n * standing way in with a password alone, so the list is kept short and reviewed. It belongs to the field it\n * warns about, on the row an administrator edits in place and in the form — the pane's vertical tabs render\n * no section description. Its words are the `whyItMatters` the SSO policy specification declares on this\n * nested leaf (the labeller reads a nested field's spec under its dotted path). Without that declaration the\n * generated description restated the label (\"Break-glass accounts\" under \"Break-glass accounts\").\n * spec-cite: N/A — the quoted words are this application's own generated label, and \"specification\" is our\n * SSO policy resource specification, not an external standard.\n *\n * Decorated here rather than through `fields`, whose keys are top-level: a decorator writes the nested\n * declaration's own metadata in place, which is what `fields` relies on for top-level fields too.\n */\n schema.shape.emergencyAccess.shape.breakGlassAccounts.arrayUI({\n display: { showDescription: true },\n edit: { showDescription: true },\n });\n return {\n icon: StandardIconReference.LOCK,\n layout: {\n // Settings-page chrome (Settings Hub): label-left / value-right rows. A scope-level\n // configuration record is READ far more often than it is edited — an operator opens it to\n // confirm a value — so the DISPLAY side needs the row treatment at least as much as the form.\n // The card stays INLINE on purpose: it is ONE boolean (`enforcement.requireSSO`), and a bare checkmark\n // says nothing about what is required. The value is nested, so a field-level `summaryOverride` cannot\n // reach it — the layout default is the only place to keep its label.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.INLINE, edit: EditChromeMode.SETTINGS_ROW },\n // SSO policy — a scope-level configuration record; every field here is a decision. A settings pane is a list of decisions an operator came to TAKE, so its\n // writable fields are offered in place rather than behind a whole-pane edit mode. The set is\n // DERIVED (not primary key, not excludeFromUpdate, not hidden, not opted out), so a field\n // added to this schema tomorrow is covered without anyone remembering to decorate it.\n defaultInlineEdit: ResourceLayoutInlineEditDefault.WRITABLE_FIELDS,\n // And its empty rows say WHICH emptiness they are — \"None yet\" for a list with no members,\n // \"Not available\" for a computed value, \"No value\" for a field awaiting input — instead of one\n // em dash standing for all three. The surface policy's dash is right where a reader is scanning;\n // on a settings row, which is read one at a time to decide something, it is an answer that\n // refuses to answer.\n defaultEmptyValue: 'placeholder',\n // Seven groups of decisions — enforcement, domains, provisioning, session, audit,\n // emergency access, OAuth restrictions — and thirty fields between them. Stacked, the pane\n // is a scroll in which the thing you came to change is below the fold and the six you did\n // not is what you read on the way. Vertical tabs is what a settings surface of this size\n // does: one group at a time, all of them named and reachable in one click, and the rail\n // doubles as the answer to \"what else does SSO decide here\".\n //\n // Declared on the LAYOUT rather than on the seven sections: the section grouping keys on\n // `(mode, its mode-specific props)` over consecutive siblings, so per-section it is an\n // agreement N authors must keep, and a member that slips renders a second rail rather than\n // failing. It is also what lets the Settings Hub know the pane carries a rail of its own\n // and give it the wider frame — a prop inside a React template cannot be read by anything\n // that has to size the surface around it.\n defaultDisplaySectionAppearance: SectionMode.VERTICAL_TABS,\n refs: {\n sections: ['enforcement', 'domains', 'session', 'emergency', 'oauth'],\n },\n display: SsoConfigDisplayTemplate,\n summary: SsoConfigSummaryTemplate,\n },\n views: [\n [Op.READ, addressable()],\n // The edit an administrator opens this pane to make, which until now nothing could save: the\n // literal UPDATE was INTERNAL_CALL, so no route existed and the frontend's update resolution\n // fell through to whichever custom verb below borrowed UPDATE semantics. Not addressable — it\n // opens from the READ view, like SIEM export config's (#953).\n [Op.UPDATE, notAddressable()],\n // Domain ownership is the one publicly mutable part of this policy row (#424). The three\n // actions live beside the `domains` section: claim returns a DNS record to copy, verify\n // resolves it, revoke releases the domain for another scope to verify.\n [SsoConfig_Operations.CLAIM_DOMAIN, notAddressable({ iconOverride: Globe })],\n [SsoConfig_Operations.VERIFY_DOMAIN, notAddressable({ iconOverride: ShieldCheck })],\n [SsoConfig_Operations.REVOKE_DOMAIN, notAddressable({ iconOverride: Unlink })],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n };\n },\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONNECTIONS },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONNECTIONS },\n ],\n },\n ssoConnectionPolymorphicFactories[R.ORGANIZATION_SSO_CONNECTIONS],\n SsoConnectionBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: Fingerprint,\n layout: {\n refs: {\n sections: ['overview', 'oidc', 'saml', 'provisioning'],\n },\n // Settings rows on read, bare values on a card (the name, the protocol badge, on/off as the word).\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.SETTINGS_ROW },\n header: SsoConnectionHeader,\n display: SsoConnectionDisplayTemplate,\n summary: SsoConnectionSummaryTemplate,\n },\n fields: {\n // A badge with no sentence under it on read (\"Selects the authentication protocol…\" sat under every\n // card); the enum's description is edit help.\n protocol: schema.shape.protocol.enumUI({\n display: { displayMode: EnumDisplayMode.BADGE },\n edit: { showDescription: true },\n values: {\n [SsoProtocol.OIDC]: { color: BadgeSemanticVariant.INFO },\n [SsoProtocol.SAML]: { color: BadgeSemanticVariant.SECONDARY },\n },\n }),\n // On a card the value reads bare, and a bare checkmark says nothing about WHAT is true — so the card\n // says the word (\"Enabled\" / \"Disabled\"); the read page keeps the labelled row and its checkmark.\n enabled: schema.shape.enabled.booleanUI({\n labellingValue: BooleanLabellingValue.ENABLED_DISABLED,\n summaryOverride: { displayMode: BooleanDisplayMode.RAW },\n }),\n externalProviderId: schema.shape.externalProviderId.stringUI({ display: { hideWhenEmpty: true } }),\n },\n getFrontendResourceLabel: ({ currentObject }) => currentObject.displayName,\n views: [\n // A connection registry: provider, protocol, status. Comparable rows.\n // CARDS is the framework default and nothing had ever declared otherwise, so every\n // collection in the product rendered as stacked cards — ~150px per row, four people to a\n // viewport, with each field's help text and label repeated on every card. TABLE writes the\n // headers once. `userSwitchableDisplayMode` keeps cards one click away rather than removing\n // a rendering somebody may prefer on a narrow screen.\n [Op.LIST, addressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n [SsoConnection_Operations.TEST_CONNECTION, addressable({\n iconOverride: PlugZap,\n customView: ResourceLayoutPreset_Read_SsoSaml,\n })],\n [SsoConnection_Operations.DISCOVER_ENDPOINTS, addressable({\n iconOverride: Search,\n customView: ResourceLayoutPreset_Create_SamlWizard,\n })],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_PROVISIONING_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SCIM_PROVISIONING_CONFIG },\n ],\n },\n scimProvisioningConfigPolymorphicFactories[R.ORGANIZATION_SCIM_PROVISIONING_CONFIG],\n ScimProvisioningConfigBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: UserCog,\n layout: {\n // Settings-page chrome (Settings Hub): label-left / value-right rows. A scope-level\n // configuration record is READ far more often than it is edited — an operator opens it to\n // confirm a value — so the DISPLAY side needs the row treatment at least as much as the form.\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.SETTINGS_ROW },\n // SCIM provisioning policy — a scope-level configuration record. A settings pane is a list of decisions an operator came to TAKE, so its\n // writable fields are offered in place rather than behind a whole-pane edit mode. The set is\n // DERIVED (not primary key, not excludeFromUpdate, not hidden, not opted out), so a field\n // added to this schema tomorrow is covered without anyone remembering to decorate it.\n defaultInlineEdit: ResourceLayoutInlineEditDefault.WRITABLE_FIELDS,\n // And its empty rows say WHICH emptiness they are — \"None yet\" for a list with no members,\n // \"Not available\" for a computed value, \"No value\" for a field awaiting input — instead of one\n // em dash standing for all three. The surface policy's dash is right where a reader is scanning;\n // on a settings row, which is read one at a time to decide something, it is an answer that\n // refuses to answer.\n defaultEmptyValue: 'placeholder',\n refs: {\n sections: ['overview', 'mapping', 'lifecycle'],\n },\n display: ScimProvisioningDisplayTemplate,\n summary: ScimProvisioningSummaryTemplate,\n },\n fields: {\n // The card's one value keeps its label: a bare checkmark says nothing about WHAT is switched on.\n autoCreateUsers: schema.shape.autoCreateUsers.booleanUI({ summaryOverride: { chromeMode: DisplayChromeMode.INLINE } }),\n },\n views: [\n [Op.READ, addressable()],\n // The four decisions on this row — create users, verify their email, deactivate on\n // deprovision, and the role they land with — are what an operator opens SCIM settings to set,\n // and none of them was settable: the literal UPDATE was INTERNAL_CALL. Not addressable — it\n // opens from the READ view, like SIEM export config's (#953).\n [Op.UPDATE, notAddressable()],\n ],\n variantOverrides: {\n [R.APPLICATION]: { views: [] },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehavior(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_TOKENS },\n ],\n },\n scimTokensPolymorphicFactories[R.ORGANIZATION_SCIM_TOKENS],\n ScimTokenBaseSchema,\n ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: KeyRound,\n getFrontendResourceLabel: ({ currentObject }) => currentObject.displayName,\n layout: {\n refs: {\n sections: ['overview', 'lifecycle'],\n },\n // Settings rows on read, bare values on a card (the name, then active or not as the word).\n defaultChromeMode: { display: DisplayChromeMode.SETTINGS_ROW, summary: DisplayChromeMode.HIDDEN, edit: EditChromeMode.SETTINGS_ROW },\n display: ScimTokenDisplayTemplate,\n summary: ScimTokenSummaryTemplate,\n },\n fields: {\n // \"Active: ✓\" on the card becomes the word: a bare checkmark says nothing about what is true.\n isActive: schema.shape.isActive.booleanUI({\n labellingValue: BooleanLabellingValue.ACTIVE_INACTIVE,\n summaryOverride: { displayMode: BooleanDisplayMode.RAW },\n }),\n // A token never used, or with no expiry, is ordinary — a dash on those rows said nothing.\n lastUsedAt: schema.shape.lastUsedAt.dateUI({ display: { hideWhenEmpty: true } }),\n expiresAt: schema.shape.expiresAt.dateUI({ display: { hideWhenEmpty: true } }),\n },\n views: [\n // A token registry: name, status, last used, expiry. Comparable rows.\n // CARDS is the framework default and nothing had ever declared otherwise, so every\n // collection in the product rendered as stacked cards — ~150px per row, four people to a\n // viewport, with each field's help text and label repeated on every card. TABLE writes the\n // headers once. `userSwitchableDisplayMode` keeps cards one click away rather than removing\n // a rendering somebody may prefer on a narrow screen.\n [Op.LIST, addressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n [ScimTokens_Operations.GENERATE_TOKEN, notAddressable({ iconOverride: KeyRound })],\n [ScimTokens_Operations.REVOKE_TOKEN, notAddressable({ iconOverride: ShieldX })],\n [ScimTokens_Operations.ROTATE_TOKEN, notAddressable({ iconOverride: RotateCw })],\n ],\n }),\n ),\n };\n}\n\nexport function buildSecurityAdminPresets(main: Partial<ResourceUIBehavior>): Partial<ResourceUIBehavior> {\n return {\n /**\n * The APPLICATION-wide audit trail — the same rows the organization door serves, read across\n * every tenant instead of inside one.\n *\n * A separate resource rather than a polymorphic variant of `AUDIT_LOGS`, which is why this is a\n * second entry and not a `variantOverrides` block: the two doors differ in what a read MEANS, not\n * only in scope. Every read here is a declared crossing (`admitsCrossTenantPlatformAdministration`)\n * and emits one crossing event per tenant reached, and under an `INDEPENDENT_APPROVAL` audit\n * policy it additionally needs a two-person `applicationAccessGrants` window. None of that is true\n * of the tenant door.\n *\n * It shares `AuditableEvent_BaseSchema` and therefore both templates verbatim: an audit event is\n * the same object whichever door served it, and giving the operator a differently-shaped row would\n * be a difference with no meaning behind it.\n *\n * NO `EXPORT_AUDIT_LOGS`: the application factory declares READ, LIST and SEARCH and no custom\n * operation, so naming the export here would name an operation that does not exist.\n */\n [R.APPLICATION_AUDIT_LOGS]: resourceUIBehavior(applicationAuditLogsFactory, AuditableEvent_BaseSchema, ({ schema, schemaShape, opsVariantResolver }) => ({\n icon: ShieldCheck,\n // An audit event is named by its type's word and the instant it happened — see `auditEventName`.\n getFrontendResourceLabel: auditEventName,\n layout: {\n refs: {\n sections: ['overview', 'actors', 'payload'],\n },\n defaultChromeMode: auditLogPresentation(schemaShape).defaultChromeMode,\n display: AuditLogDisplayTemplate,\n summary: AuditLogSummaryTemplate,\n },\n fields: auditLogPresentation(schemaShape).fields,\n views: [\n [Op.READ, notAddressable()],\n // Same dashboard capabilities as the tenant door — `severity` is in this operation's own\n // declared `filterFields` and `createdAt` is a summary field, so both cues resolve here too.\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'severity',\n temporalGroupField: 'createdAt',\n },\n })],\n [Op.SEARCH, addressable()],\n ],\n })),\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_EXPORT_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_EXPORT_CONFIG },\n ],\n },\n siemExportConfigPolymorphicFactories[R.ORGANIZATION_SIEM_EXPORT_CONFIG],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n views: [\n [Op.READ, addressable()],\n // The admin app's own edit door for the APP-scope row. The `main` preset above declares\n // the same view for the ORG-scope pane; this block is the SECOND lane, and the two carry\n // the same operation set for a reason — an app super-administrator reading a\n // configuration record here is reading it to change it.\n [Op.UPDATE, notAddressable()],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [[Op.READ, notAddressable()]],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SIEM_DELIVERY_DLQ },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SIEM_DELIVERY_DLQ },\n ],\n },\n siemDeliveryDlqPolymorphicFactories[R.ORGANIZATION_SIEM_DELIVERY_DLQ],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n views: [\n [Op.LIST, addressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n // Per-row retry: executes in place on the clicked row. Its backend reads\n // the target from the request-DTO `entryId` (not the URL id), so the row\n // id is injected into that body field via `rowTargetRequestField`.\n [SiemDeliveryDlq_Operations.RETRY_SINGLE, notAddressable({ iconOverride: RotateCw, rowTargetRequestField: 'entryId' })],\n // Whole-scope drain actions: rendered once in the list's collection-action\n // bar (not per row), confirm by risk (HIGH → confirm, CRITICAL → type-to-\n // confirm), and surface their `{ …count, message }` summary as a toast.\n [SiemDeliveryDlq_Operations.RETRY_ALL, notAddressable({ iconOverride: RefreshCw, actionScope: ResourceOperationActionScope.COLLECTION })],\n [SiemDeliveryDlq_Operations.PURGE_ALL, notAddressable({ iconOverride: Trash2, actionScope: ResourceOperationActionScope.COLLECTION })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable({\n collectionDisplayConfig: {\n quickFilterField: 'status',\n temporalGroupField: 'createdAt',\n },\n })],\n ],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONFIG },\n ],\n },\n ssoConfigPolymorphicFactories[R.ORGANIZATION_SSO_CONFIG],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n views: [\n [Op.READ, addressable()],\n // The admin app's own edit door for the APP-scope row. The `main` preset above declares\n // the same view for the ORG-scope pane; this block is the SECOND lane, and the two carry\n // the same operation set for a reason — an app super-administrator reading a\n // configuration record here is reading it to change it.\n [Op.UPDATE, notAddressable()],\n [SsoConfig_Operations.CLAIM_DOMAIN, notAddressable({ iconOverride: Globe })],\n [SsoConfig_Operations.VERIFY_DOMAIN, notAddressable({ iconOverride: ShieldCheck })],\n [SsoConfig_Operations.REVOKE_DOMAIN, notAddressable({ iconOverride: Unlink })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [[Op.READ, notAddressable()]],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SSO_CONNECTIONS },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SSO_CONNECTIONS },\n ],\n },\n ssoConnectionPolymorphicFactories[R.ORGANIZATION_SSO_CONNECTIONS],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // The main lane's registry TABLE, for the reason given on SCIM tokens below.\n views: [\n [Op.LIST, addressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n [SsoConnection_Operations.TEST_CONNECTION, addressable({\n iconOverride: PlugZap,\n customView: ResourceLayoutPreset_Read_SsoSaml,\n })],\n [SsoConnection_Operations.DISCOVER_ENDPOINTS, addressable({\n iconOverride: Search,\n customView: ResourceLayoutPreset_Create_SamlWizard,\n })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n ],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_PROVISIONING_CONFIG },\n { parentResourceType: R.APPLICATION, resourceType: R.APPLICATION_SCIM_PROVISIONING_CONFIG },\n ],\n },\n scimProvisioningConfigPolymorphicFactories[R.ORGANIZATION_SCIM_PROVISIONING_CONFIG],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n views: [\n [Op.READ, addressable()],\n // The admin app's own edit door for the APP-scope row. The `main` preset above declares\n // the same view for the ORG-scope pane; this block is the SECOND lane, and the two carry\n // the same operation set for a reason — an app super-administrator reading a\n // configuration record here is reading it to change it.\n [Op.UPDATE, notAddressable()],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [[Op.READ, notAddressable()]],\n },\n },\n }),\n ),\n\n ...polymorphicResourceUIBehaviorFrom(\n {\n variants: [\n { parentResourceType: R.ORGANIZATIONS, resourceType: R.ORGANIZATION_SCIM_TOKENS },\n ],\n },\n scimTokensPolymorphicFactories[R.ORGANIZATION_SCIM_TOKENS],\n main,\n ({ base }) => ({\n icon: base.icon,\n layout: base.layout,\n fields: base.fields,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n // The same registry TABLE the main lane declares: this lane REPLACES the main entry in an application\n // that composes both scopes, so leaving it out rendered the inventory as stacked cards there.\n views: [\n [Op.LIST, addressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n [ScimTokens_Operations.GENERATE_TOKEN, notAddressable({ iconOverride: KeyRound })],\n [ScimTokens_Operations.REVOKE_TOKEN, notAddressable({ iconOverride: ShieldX })],\n [ScimTokens_Operations.ROTATE_TOKEN, notAddressable({ iconOverride: RotateCw })],\n ],\n variantOverrides: {\n [R.ORGANIZATIONS]: {\n views: [\n [Op.READ, notAddressable()],\n [Op.LIST, notAddressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n ],\n },\n },\n }),\n ),\n\n /**\n * The application operator's lane onto an organization's OAuth clients: every verb the main lane has, on its\n * `admin` variant — except `setAutonomousAgents`, which has none. Binding an agent grants a credential standing\n * authority to act unattended INSIDE a tenant, so only that tenant's own administrator may do it (#1611); the\n * operator can still see what a client runs, and end the client.\n *\n * It ALSO carries the main lane's views. An application that serves tenants and operators from one frontend\n * composes both lanes, and this entry REPLACES the main one there — so without the default-variant views the\n * tenant administrator's own Settings pane (which runs the DEFAULT variants) would have no Create and no binding\n * action at all. In a split operator-only deployment they are role-gated like everywhere else (the tenant\n * lane's operations admit tenant roles only), but note the main LIST view is ADDRESSABLE: such a frontend\n * registers an organization-scoped list route that an operator who is also a member of an organization can\n * reach. No operator-only deployment exists yet; if one is built, mark the spread LIST not addressable here.\n */\n [R.OAUTH_CLIENTS_ORGANIZATION]: resourceUIBehaviorFrom(orgOAuthClientsFactory, main[R.OAUTH_CLIENTS_ORGANIZATION]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n layout: base.layout,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n fields: base.fields,\n views: [\n ...(base.views ?? []),\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n [opsVariantResolver(Op.LIST, 'admin'), notAddressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n [opsVariantResolver(Op.SEARCH, 'admin'), notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgOAuthClients_Operations.ROTATE, 'admin'), notAddressable({ iconOverride: RotateCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgOAuthClients_Operations.REGENERATE, 'admin'), notAddressable({ iconOverride: RefreshCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgOAuthClients_Operations.DEACTIVATE, 'admin'), notAddressable({ iconOverride: PowerOff, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgOAuthClients_Operations.REACTIVATE, 'admin'), notAddressable({ iconOverride: Power, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n ],\n })),\n\n [R.ORG_API_KEYS]: resourceUIBehaviorFrom(orgApiKeysFactory, main[R.ORG_API_KEYS]!, ({ base, opsVariantResolver }) => ({\n icon: base.icon,\n layout: base.layout,\n getFrontendResourceLabel: base.getFrontendResourceLabel,\n fields: base.fields,\n views: [\n // The tenant administrator's own views, kept. In an application composing both lanes this entry replaces the\n // main one, and the Settings pane runs the DEFAULT variants: with only the `admin` keys below, the organization's\n // API keys rendered with no Create and no declared list shape (#1812 measured it beside the OAuth clients).\n ...(base.views ?? []),\n [opsVariantResolver(Op.READ, 'admin'), notAddressable()],\n // The registry TABLE and the action icons the main lane declares. This lane REPLACES the main entry in an\n // application that composes both scopes, so without them the list rendered as stacked cards and every\n // row action showed the missing-icon placeholder.\n [opsVariantResolver(Op.LIST, 'admin'), notAddressable({ collectionDisplayConfig: REGISTRY_TABLE })],\n [opsVariantResolver(Op.SEARCH, 'admin'), notAddressable()],\n [opsVariantResolver(Op.CREATE, 'admin'), notAddressable()],\n [opsVariantResolver(Op.DELETE, 'admin'), notAddressable()],\n [opsVariantResolver(OrgApiKeys_Operations.ROTATE, 'admin'), notAddressable({ iconOverride: RotateCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgApiKeys_Operations.REGENERATE, 'admin'), notAddressable({ iconOverride: RefreshCw, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgApiKeys_Operations.DEACTIVATE, 'admin'), notAddressable({ iconOverride: PowerOff, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgApiKeys_Operations.REACTIVATE, 'admin'), notAddressable({ iconOverride: Power, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgApiKeys_Operations.EXTEND_EXPIRY, 'admin'), notAddressable({ iconOverride: CalendarPlus, ...ROW_VERB_ON_RESOURCE_WITHOUT_UPDATE })],\n [opsVariantResolver(OrgApiKeys_Operations.USAGE_STATS, 'admin'), notAddressable({ iconOverride: ChartColumn })],\n ],\n })),\n };\n}\n\nexport const securityMainPresets = buildSecurityMainPresets();\nexport const securityAdminPresets = buildSecurityAdminPresets(securityMainPresets);\n\nexport const orgApiKeysMainResourceUIBehavior = securityMainPresets[R.ORG_API_KEYS]!;\nexport const orgApiKeysAdminResourceUIBehavior = securityAdminPresets[R.ORG_API_KEYS]!;\nexport const orgOAuthClientsMainResourceUIBehavior = securityMainPresets[R.OAUTH_CLIENTS_ORGANIZATION]!;\nexport const orgOAuthClientsAdminResourceUIBehavior = securityAdminPresets[R.OAUTH_CLIENTS_ORGANIZATION]!;\nexport const auditLogsMainResourceUIBehavior = securityMainPresets[R.AUDIT_LOGS]!;\nexport const applicationAuditLogsAdminResourceUIBehavior = securityAdminPresets[R.APPLICATION_AUDIT_LOGS]!;\n"]}
@@ -0,0 +1,4 @@
1
+ import type { ResourceUIBehavior } from '@wildo-ai/saas-frontend-lib';
2
+ export declare function buildServiceProvidersMainPresets(): Partial<ResourceUIBehavior>;
3
+ export declare const serviceProvidersMainPresets: Partial<ResourceUIBehavior>;
4
+ //# sourceMappingURL=service-providers.resource-presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-providers.resource-presets.d.ts","sourceRoot":"","sources":["../../../../../src/config/resources/service-providers.resource-presets.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAmC,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAoQvG,wBAAgB,gCAAgC,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA+N9E;AAED,eAAO,MAAM,2BAA2B,6BAAqC,CAAC"}