@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.
- package/dist/esm/components/actions/action-bar.d.ts.map +1 -1
- package/dist/esm/components/actions/action-bar.js +65 -8
- package/dist/esm/components/actions/action-bar.js.map +1 -1
- package/dist/esm/components/actions/action-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.d.ts.map +1 -1
- package/dist/esm/components/actions/action-button.js +3 -3
- package/dist/esm/components/actions/action-button.js.map +1 -1
- package/dist/esm/components/actions/action-button.labels.d.ts.map +1 -1
- package/dist/esm/components/actions/button-group.d.ts.map +1 -1
- package/dist/esm/components/actions/button.d.ts.map +1 -1
- package/dist/esm/components/actions/button.js +62 -3
- package/dist/esm/components/actions/button.js.map +1 -1
- package/dist/esm/components/actions/button.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact-browser.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/artifact.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.js.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/code-block.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts +4 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.js +165 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts +3 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js +63 -0
- package/dist/esm/components/ai-elements/artifacts/diff-block.labels.js.map +1 -0
- package/dist/esm/components/ai-elements/artifacts/image.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/image.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/shiki-highlighter-runtime.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/shiki-highlighter.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/artifacts/web-preview.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/conversation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/message.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/prompt-input.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/sources.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js +8 -1
- package/dist/esm/components/ai-elements/chat/suggestion.js.map +1 -1
- package/dist/esm/components/ai-elements/chat/suggestion.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts +68 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.d.ts.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.js +208 -0
- package/dist/esm/components/ai-elements/decision/approval-argument-fields.js.map +1 -0
- package/dist/esm/components/ai-elements/decision/approval.d.ts +124 -17
- package/dist/esm/components/ai-elements/decision/approval.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/approval.js +105 -13
- package/dist/esm/components/ai-elements/decision/approval.js.map +1 -1
- package/dist/esm/components/ai-elements/decision/decision-request.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/decision/decision-request.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/confirmation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/queue.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.js +1 -1
- package/dist/esm/components/ai-elements/execution/task.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/task.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.js +8 -1
- package/dist/esm/components/ai-elements/execution/tool.js.map +1 -1
- package/dist/esm/components/ai-elements/execution/tool.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/canvas.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/connection.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/controls.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/edge.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts +3 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.js +3 -1
- package/dist/esm/components/ai-elements/graph/graph-runtime.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/graph.lazy.js +15 -15
- package/dist/esm/components/ai-elements/graph/graph.lazy.js.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/node.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/panel.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/graph/toolbar.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.d.ts +0 -1
- package/dist/esm/components/ai-elements/meta/agent.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/agent.js +23 -18
- package/dist/esm/components/ai-elements/meta/agent.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.lazy.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/context.lazy.js +13 -11
- package/dist/esm/components/ai-elements/meta/context.lazy.js.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/model-selector.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/meta/open-in-chat.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/loader.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/shared/shimmer.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/stream/execution-stream.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts +6 -0
- package/dist/esm/components/ai-elements/trace/chain-of-thought.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js +13 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.js.map +1 -1
- package/dist/esm/components/ai-elements/trace/chain-of-thought.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/checkpoint.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/inline-citation.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/plan.labels.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.d.ts.map +1 -1
- package/dist/esm/components/ai-elements/trace/reasoning.labels.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-consent-gate.d.ts +23 -0
- package/dist/esm/components/app/app-layout-consent-gate.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-consent-gate.js +133 -0
- package/dist/esm/components/app/app-layout-consent-gate.js.map +1 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts +19 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.d.ts.map +1 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.js +56 -0
- package/dist/esm/components/app/app-layout-document-acceptance-gate.js.map +1 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts +9 -0
- package/dist/esm/components/app/app-layout-main-container.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.js +17 -23
- package/dist/esm/components/app/app-layout-main-container.js.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.labels.d.ts.map +1 -1
- package/dist/esm/components/app/app-layout-main-container.labels.js +48 -0
- package/dist/esm/components/app/app-layout-main-container.labels.js.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.d.ts +1 -1
- package/dist/esm/components/app/public-layout-main-container.d.ts.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.js +9 -8
- package/dist/esm/components/app/public-layout-main-container.js.map +1 -1
- package/dist/esm/components/app/public-layout-main-container.labels.d.ts.map +1 -1
- package/dist/esm/components/app/public-layout-terms.d.ts +46 -0
- package/dist/esm/components/app/public-layout-terms.d.ts.map +1 -0
- package/dist/esm/components/app/public-layout-terms.js +137 -0
- package/dist/esm/components/app/public-layout-terms.js.map +1 -0
- package/dist/esm/components/billing/billing-format.utils.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts +1 -1
- package/dist/esm/components/billing/billing-invoice-history.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.js +3 -1
- package/dist/esm/components/billing/billing-invoice-history.js.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-invoice-history.labels.js +1 -0
- package/dist/esm/components/billing/billing-invoice-history.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts +5 -0
- package/dist/esm/components/billing/billing-plan-change-preview.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js +25 -0
- package/dist/esm/components/billing/billing-plan-change-preview.js.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts +3 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.d.ts.map +1 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js +22 -0
- package/dist/esm/components/billing/billing-plan-change-preview.labels.js.map +1 -0
- package/dist/esm/components/billing/billing-portal-link.d.ts +1 -1
- package/dist/esm/components/billing/billing-portal-link.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.js +3 -1
- package/dist/esm/components/billing/billing-portal-link.js.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-portal-link.labels.js +1 -0
- package/dist/esm/components/billing/billing-portal-link.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts +1 -1
- package/dist/esm/components/billing/billing-pricing-table.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.js +10 -4
- package/dist/esm/components/billing/billing-pricing-table.js.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.js +8 -1
- package/dist/esm/components/billing/billing-pricing-table.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts +1 -1
- package/dist/esm/components/billing/billing-subscription-status.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.js +3 -1
- package/dist/esm/components/billing/billing-subscription-status.js.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-subscription-status.labels.js +1 -0
- package/dist/esm/components/billing/billing-subscription-status.labels.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.js +10 -7
- package/dist/esm/components/billing/billing-usage-dashboard.js.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.d.ts.map +1 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.js +4 -1
- package/dist/esm/components/billing/billing-usage-dashboard.labels.js.map +1 -1
- package/dist/esm/components/data-display/avatar.d.ts.map +1 -1
- package/dist/esm/components/data-display/avatar.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.d.ts.map +1 -1
- package/dist/esm/components/data-display/badge.js +16 -15
- package/dist/esm/components/data-display/badge.js.map +1 -1
- package/dist/esm/components/data-display/badge.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.d.ts +2 -1
- package/dist/esm/components/data-display/description-list.d.ts.map +1 -1
- package/dist/esm/components/data-display/description-list.js +24 -8
- package/dist/esm/components/data-display/description-list.js.map +1 -1
- package/dist/esm/components/data-display/description-list.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/duration.d.ts +15 -0
- package/dist/esm/components/data-display/duration.d.ts.map +1 -0
- package/dist/esm/components/data-display/duration.js +50 -0
- package/dist/esm/components/data-display/duration.js.map +1 -0
- package/dist/esm/components/data-display/duration.labels.d.ts +15 -0
- package/dist/esm/components/data-display/duration.labels.d.ts.map +1 -0
- package/dist/esm/components/data-display/duration.labels.js +35 -0
- package/dist/esm/components/data-display/duration.labels.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts +21 -0
- package/dist/esm/components/data-display/formatters/display-field-address.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.js +75 -0
- package/dist/esm/components/data-display/formatters/display-field-address.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts +3 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.d.ts.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.js +13 -0
- package/dist/esm/components/data-display/formatters/display-field-address.labels.js.map +1 -0
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js +6 -2
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-boolean.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.js +2 -2
- package/dist/esm/components/data-display/formatters/display-field-code.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-code.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts +3 -3
- package/dist/esm/components/data-display/formatters/display-field-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.js +17 -4
- package/dist/esm/components/data-display/formatters/display-field-date.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-date.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts +3 -3
- package/dist/esm/components/data-display/formatters/display-field-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.js +17 -4
- package/dist/esm/components/data-display/formatters/display-field-datetime.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-duration.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.js +29 -11
- package/dist/esm/components/data-display/formatters/display-field-enum.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-enum.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js +2 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-audio.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts +4 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.js +18 -5
- package/dist/esm/components/data-display/formatters/display-field-file-document.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js +20 -0
- package/dist/esm/components/data-display/formatters/display-field-file-document.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-gallery.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js +3 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-image.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file-video.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.js +14 -15
- package/dist/esm/components/data-display/formatters/display-field-file.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-file.labels.js +2 -0
- package/dist/esm/components/data-display/formatters/display-field-file.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-format.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-i18n.utils.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-money.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.js +8 -3
- package/dist/esm/components/data-display/formatters/display-field-number.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-number.labels.js +5 -2
- package/dist/esm/components/data-display/formatters/display-field-number.labels.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-phone.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-bigdecimal.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-date.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-datetime.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-money.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-number.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-range-time.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.js +129 -15
- package/dist/esm/components/data-display/formatters/display-field-string.js.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-string.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.d.ts.map +1 -1
- package/dist/esm/components/data-display/formatters/display-field-time.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/identifier.d.ts +19 -0
- package/dist/esm/components/data-display/identifier.d.ts.map +1 -0
- package/dist/esm/components/data-display/identifier.js +21 -0
- package/dist/esm/components/data-display/identifier.js.map +1 -0
- package/dist/esm/components/data-display/kbd.d.ts +17 -0
- package/dist/esm/components/data-display/kbd.d.ts.map +1 -0
- package/dist/esm/components/data-display/kbd.js +18 -0
- package/dist/esm/components/data-display/kbd.js.map +1 -0
- package/dist/esm/components/data-display/markdown-content.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream-runtime.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream.lazy.d.ts.map +1 -1
- package/dist/esm/components/data-display/markdown-stream.lazy.js +13 -2
- package/dist/esm/components/data-display/markdown-stream.lazy.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.d.ts.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.js +3 -11
- package/dist/esm/components/data-display/notification-indicator.js.map +1 -1
- package/dist/esm/components/data-display/notification-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts +63 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.d.ts.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js +75 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.js.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts +32 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.d.ts.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js +36 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer-worker.vite.js.map +1 -0
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts +46 -6
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js +70 -46
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.js.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts +12 -2
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.d.ts.map +1 -1
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js +3 -2
- package/dist/esm/components/data-display/pdf-viewer/pdf-viewer.lazy.js.map +1 -1
- package/dist/esm/components/data-display/timeline.d.ts +3 -0
- package/dist/esm/components/data-display/timeline.d.ts.map +1 -0
- package/dist/esm/components/data-display/timeline.js +92 -0
- package/dist/esm/components/data-display/timeline.js.map +1 -0
- package/dist/esm/components/data-display/untrusted-html-content.d.ts +55 -0
- package/dist/esm/components/data-display/untrusted-html-content.d.ts.map +1 -0
- package/dist/esm/components/data-display/untrusted-html-content.js +67 -0
- package/dist/esm/components/data-display/untrusted-html-content.js.map +1 -0
- package/dist/esm/components/feedback/celebration-overlay.d.ts +13 -4
- package/dist/esm/components/feedback/celebration-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.js +146 -22
- package/dist/esm/components/feedback/celebration-overlay.js.map +1 -1
- package/dist/esm/components/feedback/celebration-overlay.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.d.ts.map +1 -1
- package/dist/esm/components/feedback/danger-zone.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.d.ts.map +1 -1
- package/dist/esm/components/feedback/empty-state.js.map +1 -1
- package/dist/esm/components/feedback/empty-state.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.d.ts.map +1 -1
- package/dist/esm/components/feedback/error-display.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-limit-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-lock-badge.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.d.ts.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.js.map +1 -1
- package/dist/esm/components/feedback/features/feature-unavailable-prompt.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-overlay.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.d.ts.map +1 -1
- package/dist/esm/components/feedback/loading-spinner.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.d.ts.map +1 -1
- package/dist/esm/components/feedback/notification-center.js +5 -5
- package/dist/esm/components/feedback/notification-center.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.d.ts.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.js +9 -7
- package/dist/esm/components/feedback/operations-confirm-critical.js.map +1 -1
- package/dist/esm/components/feedback/operations-confirm-critical.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.d.ts.map +1 -1
- package/dist/esm/components/feedback/progress.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.d.ts.map +1 -1
- package/dist/esm/components/feedback/skeleton.labels.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.d.ts.map +1 -1
- package/dist/esm/components/feedback/toast.labels.d.ts.map +1 -1
- package/dist/esm/components/form/autosave-indicator.d.ts.map +1 -1
- package/dist/esm/components/form/autosave-indicator.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/field.js +11 -3
- package/dist/esm/components/form/chromes/field.js.map +1 -1
- package/dist/esm/components/form/chromes/field.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.labels.d.ts.map +1 -1
- package/dist/esm/components/form/chromes/form-primitive.labels.js +37 -0
- package/dist/esm/components/form/chromes/form-primitive.labels.js.map +1 -1
- package/dist/esm/components/form/combobox.d.ts.map +1 -1
- package/dist/esm/components/form/combobox.js +14 -13
- package/dist/esm/components/form/combobox.js.map +1 -1
- package/dist/esm/components/form/combobox.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts +42 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.d.ts.map +1 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js +120 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.adapter.js.map +1 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts +16 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.d.ts.map +1 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js +8 -0
- package/dist/esm/components/form/controls/address/providers/google-places-address-lookup.js.map +1 -0
- package/dist/esm/components/form/controls/boolean/checkbox.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.js +2 -2
- package/dist/esm/components/form/controls/boolean/checkbox.js.map +1 -1
- package/dist/esm/components/form/controls/boolean/checkbox.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/switch.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle-group-boolean.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.d.ts.map +1 -1
- package/dist/esm/components/form/controls/boolean/toggle.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor-appearance.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js +11 -2
- package/dist/esm/components/form/controls/code-editor/cm6-editor.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/code-editor/form-field-code.d.ts.map +1 -1
- package/dist/esm/components/form/controls/code-editor/markdown-editor.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/calendar.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/date-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datepicker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js +11 -2
- package/dist/esm/components/form/controls/date-time/datetime-range-picker.labels.js.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js +11 -2
- package/dist/esm/components/form/controls/date-time/time-range-picker.labels.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts +1 -1
- package/dist/esm/components/form/controls/enum/radio.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.js +13 -12
- package/dist/esm/components/form/controls/enum/radio.js.map +1 -1
- package/dist/esm/components/form/controls/enum/radio.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.js +5 -3
- package/dist/esm/components/form/controls/enum/select-multiple.js.map +1 -1
- package/dist/esm/components/form/controls/enum/select-multiple.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/select.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.js +96 -5
- package/dist/esm/components/form/controls/enum/toggle-group.js.map +1 -1
- package/dist/esm/components/form/controls/enum/toggle-group.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/file-upload.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/image-crop.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts +44 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.js +137 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts +22 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.d.ts.map +1 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js +27 -0
- package/dist/esm/components/form/controls/file/providers/dropbox-picker.lazy.js.map +1 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts +3 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.js +3 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.js.map +1 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts +6 -0
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js +8 -1
- package/dist/esm/components/form/controls/file/providers/google-drive-picker.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts +6 -2
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.js +6 -2
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.js.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts +6 -0
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.d.ts.map +1 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js +8 -1
- package/dist/esm/components/form/controls/file/providers/onedrive-picker.lazy.js.map +1 -1
- package/dist/esm/components/form/controls/input-group.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input-group.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/number/slider.labels.js +9 -2
- package/dist/esm/components/form/controls/number/slider.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-picker-surface.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/color-picker-surface.js.map +1 -1
- package/dist/esm/components/form/controls/string/inline-edit-text.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/input-otp.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.labels.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/password-input.labels.js +9 -2
- package/dist/esm/components/form/controls/string/password-input.labels.js.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.d.ts.map +1 -1
- package/dist/esm/components/form/controls/string/textarea.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.d.ts.map +1 -1
- package/dist/esm/components/layout/aspect-ratio.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.d.ts.map +1 -1
- package/dist/esm/components/layout/carousel.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.d.ts.map +1 -1
- package/dist/esm/components/layout/divider.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.d.ts.map +1 -1
- package/dist/esm/components/layout/resizable.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.d.ts.map +1 -1
- package/dist/esm/components/layout/scroll-area.labels.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.d.ts.map +1 -1
- package/dist/esm/components/layout/separator.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.js +2 -2
- package/dist/esm/components/navigation/app-level/activity-bar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/activity-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.js +2 -2
- package/dist/esm/components/navigation/app-level/command-menu.js.map +1 -1
- package/dist/esm/components/navigation/app-level/command-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/control-panel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/control-panel.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.js +10 -4
- package/dist/esm/components/navigation/app-level/menu-user-org.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.js +7 -0
- package/dist/esm/components/navigation/app-level/menu-user-org.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.js +36 -14
- package/dist/esm/components/navigation/app-level/menubar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/menubar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.js +31 -5
- package/dist/esm/components/navigation/app-level/navigation-back.js.map +1 -1
- package/dist/esm/components/navigation/app-level/navigation-back.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.js.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/notification-center.labels.js +15 -0
- package/dist/esm/components/navigation/app-level/notification-center.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.js +4 -0
- package/dist/esm/components/navigation/app-level/quick-action-button.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-switcher.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/quick-switcher.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.js +41 -25
- package/dist/esm/components/navigation/app-level/sidebar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/sidebar.labels.js +1 -0
- package/dist/esm/components/navigation/app-level/sidebar.labels.js.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.js +2 -2
- package/dist/esm/components/navigation/app-level/status-bar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/status-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.js +2 -2
- package/dist/esm/components/navigation/app-level/toolbar.js.map +1 -1
- package/dist/esm/components/navigation/app-level/toolbar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.js +24 -6
- package/dist/esm/components/navigation/app-level/utility-panel.js.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/app-level/utility-panel.labels.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.d.ts.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.js +1 -1
- package/dist/esm/components/navigation/breadcrumb.js.map +1 -1
- package/dist/esm/components/navigation/breadcrumb.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.d.ts.map +1 -1
- package/dist/esm/components/navigation/command.js +2 -2
- package/dist/esm/components/navigation/command.js.map +1 -1
- package/dist/esm/components/navigation/command.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.d.ts.map +1 -1
- package/dist/esm/components/navigation/menu-bar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.d.ts.map +1 -1
- package/dist/esm/components/navigation/navbar.labels.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.d.ts.map +1 -1
- package/dist/esm/components/navigation/sidebar.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js +11 -1
- package/dist/esm/components/overlays/containers/alert-dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/alert-dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/alert.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.js +11 -1
- package/dist/esm/components/overlays/containers/dialog.js.map +1 -1
- package/dist/esm/components/overlays/containers/dialog.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/drawer.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.d.ts.map +1 -1
- package/dist/esm/components/overlays/containers/sheet.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/context-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/dropdown-menu.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/hover-card.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/popover.labels.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.d.ts.map +1 -1
- package/dist/esm/components/overlays/floating/tooltip.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.d.ts.map +1 -1
- package/dist/esm/components/sections/accordion.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/card.d.ts.map +1 -1
- package/dist/esm/components/sections/card.js +71 -6
- package/dist/esm/components/sections/card.js.map +1 -1
- package/dist/esm/components/sections/card.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.d.ts.map +1 -1
- package/dist/esm/components/sections/collapsible.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.d.ts.map +1 -1
- package/dist/esm/components/sections/content-section.js +36 -6
- package/dist/esm/components/sections/content-section.js.map +1 -1
- package/dist/esm/components/sections/disclosure-nesting.d.ts.map +1 -1
- package/dist/esm/components/sections/option-gesture.d.ts +15 -0
- package/dist/esm/components/sections/option-gesture.d.ts.map +1 -0
- package/dist/esm/components/sections/option-gesture.js +66 -0
- package/dist/esm/components/sections/option-gesture.js.map +1 -0
- package/dist/esm/components/sections/pagination.d.ts.map +1 -1
- package/dist/esm/components/sections/pagination.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.d.ts.map +1 -1
- package/dist/esm/components/sections/stacked-layout.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.d.ts.map +1 -1
- package/dist/esm/components/sections/stepper.js +5 -3
- package/dist/esm/components/sections/stepper.js.map +1 -1
- package/dist/esm/components/sections/stepper.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/table.d.ts.map +1 -1
- package/dist/esm/components/sections/table.labels.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.d.ts.map +1 -1
- package/dist/esm/components/sections/tabs.js +60 -15
- package/dist/esm/components/sections/tabs.js.map +1 -1
- package/dist/esm/components/sections/tabs.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.d.ts.map +1 -1
- package/dist/esm/components/typography/heading.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/label.d.ts.map +1 -1
- package/dist/esm/components/typography/label.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/link.d.ts.map +1 -1
- package/dist/esm/components/typography/link.js +9 -3
- package/dist/esm/components/typography/link.js.map +1 -1
- package/dist/esm/components/typography/link.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/text.d.ts +1 -1
- package/dist/esm/components/typography/text.d.ts.map +1 -1
- package/dist/esm/components/typography/text.js +3 -2
- package/dist/esm/components/typography/text.js.map +1 -1
- package/dist/esm/components/typography/text.labels.d.ts.map +1 -1
- package/dist/esm/components/typography/truncated-text.d.ts.map +1 -1
- package/dist/esm/config/billing-shell.presets.d.ts.map +1 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/preset-design-system.d.ts.map +1 -1
- package/dist/esm/config/preset-design-system.js +37 -60
- package/dist/esm/config/preset-design-system.js.map +1 -1
- package/dist/esm/config/preset-error-pages.d.ts.map +1 -1
- package/dist/esm/config/preset-kits.d.ts.map +1 -1
- package/dist/esm/config/preset-navigation.d.ts.map +1 -1
- package/dist/esm/config/preset-navigation.js +23 -7
- package/dist/esm/config/preset-navigation.js.map +1 -1
- package/dist/esm/config/preset-resources.d.ts.map +1 -1
- package/dist/esm/config/preset-shell.d.ts.map +1 -1
- package/dist/esm/config/preset-utils.d.ts.map +1 -1
- package/dist/esm/config/presets.d.ts.map +1 -1
- package/dist/esm/config/resources/agent-work.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/agent-work.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/agent-work.resource-presets.js +115 -0
- package/dist/esm/config/resources/agent-work.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/api-key-rotation-window.d.ts +22 -0
- package/dist/esm/config/resources/api-key-rotation-window.d.ts.map +1 -0
- package/dist/esm/config/resources/api-key-rotation-window.js +45 -0
- package/dist/esm/config/resources/api-key-rotation-window.js.map +1 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts +2 -0
- package/dist/esm/config/resources/application.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/application.resource-presets.js +268 -26
- package/dist/esm/config/resources/application.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/billing.resource-presets.d.ts +4 -3
- package/dist/esm/config/resources/billing.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/billing.resource-presets.js +241 -111
- package/dist/esm/config/resources/billing.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/conversation-threads.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/conversation-threads.resource-presets.js +105 -0
- package/dist/esm/config/resources/conversation-threads.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/guidance.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/guidance.resource-presets.js +39 -16
- package/dist/esm/config/resources/guidance.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/identity.resource-presets.d.ts +0 -13
- package/dist/esm/config/resources/identity.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/identity.resource-presets.js +71 -17
- package/dist/esm/config/resources/identity.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts +6 -0
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.js +112 -0
- package/dist/esm/config/resources/inbound-deliveries.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.js +182 -0
- package/dist/esm/config/resources/inbound-email.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/index.d.ts.map +1 -1
- package/dist/esm/config/resources/index.js +9 -2
- package/dist/esm/config/resources/index.js.map +1 -1
- package/dist/esm/config/resources/legal-holds.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/legal-holds.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/legal-holds.resource-presets.js +76 -0
- package/dist/esm/config/resources/legal-holds.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/organizations.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/organizations.resource-presets.js +216 -35
- package/dist/esm/config/resources/organizations.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/resource.config.utils.d.ts +20 -0
- package/dist/esm/config/resources/resource.config.utils.d.ts.map +1 -1
- package/dist/esm/config/resources/resource.config.utils.js +20 -0
- package/dist/esm/config/resources/resource.config.utils.js.map +1 -1
- package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts +5 -0
- package/dist/esm/config/resources/retention-enforcement.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/retention-enforcement.resource-presets.js +74 -0
- package/dist/esm/config/resources/retention-enforcement.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/security.resource-presets.d.ts +11 -3
- package/dist/esm/config/resources/security.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/security.resource-presets.js +685 -99
- package/dist/esm/config/resources/security.resource-presets.js.map +1 -1
- package/dist/esm/config/resources/service-providers.resource-presets.d.ts +4 -0
- package/dist/esm/config/resources/service-providers.resource-presets.d.ts.map +1 -0
- package/dist/esm/config/resources/service-providers.resource-presets.js +321 -0
- package/dist/esm/config/resources/service-providers.resource-presets.js.map +1 -0
- package/dist/esm/config/resources/webhooks.resource-presets.d.ts +4 -3
- package/dist/esm/config/resources/webhooks.resource-presets.d.ts.map +1 -1
- package/dist/esm/config/resources/webhooks.resource-presets.js +102 -26
- package/dist/esm/config/resources/webhooks.resource-presets.js.map +1 -1
- package/dist/esm/index.d.ts +7 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lottie/lottie.content.definitions.d.ts.map +1 -1
- package/dist/esm/lottie/lottie.definitions.d.ts.map +1 -1
- package/dist/esm/mermaid-stub.d.ts.map +1 -1
- package/dist/esm/registration/register-common-enums.d.ts.map +1 -1
- package/dist/esm/registration/register-common-enums.js +63 -34
- package/dist/esm/registration/register-common-enums.js.map +1 -1
- package/dist/esm/registration/register-default-animations.d.ts.map +1 -1
- package/dist/esm/registration/register-default-icons.d.ts.map +1 -1
- package/dist/esm/registration/register-default-icons.js +3 -1
- package/dist/esm/registration/register-default-icons.js.map +1 -1
- package/dist/esm/registration/register-default-presets.d.ts.map +1 -1
- package/dist/esm/registration/register-default-presets.js +32 -4
- package/dist/esm/registration/register-default-presets.js.map +1 -1
- package/dist/esm/registration/register-provider-components.d.ts.map +1 -1
- package/dist/esm/registration/register-provider-components.js +11 -0
- package/dist/esm/registration/register-provider-components.js.map +1 -1
- package/dist/esm/shiki-subset.d.ts +11 -3
- package/dist/esm/shiki-subset.d.ts.map +1 -1
- package/dist/esm/shiki-subset.js +10 -2
- package/dist/esm/shiki-subset.js.map +1 -1
- package/dist/esm/theme-exports.d.ts.map +1 -1
- package/dist/esm/themes/cozy.theme.d.ts.map +1 -1
- package/dist/esm/themes/cozy.theme.js +19 -5
- package/dist/esm/themes/cozy.theme.js.map +1 -1
- package/dist/esm/themes/dense.theme.d.ts.map +1 -1
- package/dist/esm/themes/dense.theme.js +76 -10
- package/dist/esm/themes/dense.theme.js.map +1 -1
- package/dist/esm/themes/editorial.theme.d.ts.map +1 -1
- package/dist/esm/themes/editorial.theme.js +19 -5
- package/dist/esm/themes/editorial.theme.js.map +1 -1
- package/dist/esm/themes/glass.theme.d.ts.map +1 -1
- package/dist/esm/themes/glass.theme.js +5 -1
- package/dist/esm/themes/glass.theme.js.map +1 -1
- package/dist/esm/themes/neo-brutalist.theme.d.ts.map +1 -1
- package/dist/esm/themes/neo-brutalist.theme.js +9 -2
- package/dist/esm/themes/neo-brutalist.theme.js.map +1 -1
- package/dist/esm/themes/terminal.theme.d.ts.map +1 -1
- package/dist/esm/themes/terminal.theme.js +19 -5
- package/dist/esm/themes/terminal.theme.js.map +1 -1
- package/dist/esm/themes/trading.theme.d.ts.map +1 -1
- package/dist/esm/themes/trading.theme.js +22 -6
- package/dist/esm/themes/trading.theme.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +31 -45
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts +0 -16
- package/dist/esm/components/form/controls/form-field-checkbox-group.d.ts.map +0 -1
- package/dist/esm/components/form/controls/form-field-checkbox-group.js +0 -143
- package/dist/esm/components/form/controls/form-field-checkbox-group.js.map +0 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { CheckboxRoot, InputRoot, SelectContent, SelectItem, SelectRoot, SelectTrigger, SelectValue, TextareaRoot, } from '@wildo-ai/saas-frontend-lib';
|
|
5
|
+
//===============================================================
|
|
6
|
+
// Approval argument fields (#587)
|
|
7
|
+
//
|
|
8
|
+
// A field editor over a gated tool call's arguments, generated from the tool's input-schema
|
|
9
|
+
// descriptor, used by `AI_ApprovalRequest` when an approver edits the call.
|
|
10
|
+
//
|
|
11
|
+
// ## Why not the automated-form pipeline
|
|
12
|
+
//
|
|
13
|
+
// The issue pointed at `AutomatedForm`. It was checked against this surface and rejected on three
|
|
14
|
+
// counts. Its default label resolution humanizes field names, while a tool's argument keys must
|
|
15
|
+
// render VERBATIM — they carry no i18n entry, and turning `renameTodo` into "Rename Todo" is invented
|
|
16
|
+
// display text. It owns a submit lifecycle, while an approval is decided by the Approve / Deny actions
|
|
17
|
+
// beside it. And its field registry assumes a resource-aware form context an agent's tool does not
|
|
18
|
+
// have. This surface needs something narrower — one control per argument, seeded from the proposed
|
|
19
|
+
// call, reporting a value — so it is built from the same preset controls instead.
|
|
20
|
+
//
|
|
21
|
+
// ## A convenience, never the control
|
|
22
|
+
//
|
|
23
|
+
// The descriptor drops refinements (length, range, pattern) by construction, and nothing here
|
|
24
|
+
// validates beyond "does this JSON parse". The server re-validates the edit against the tool's live
|
|
25
|
+
// schema and refuses a violation with a message naming the argument; that refusal is what protects
|
|
26
|
+
// the call.
|
|
27
|
+
//
|
|
28
|
+
// ## Anything a field cannot express is edited as JSON, per argument
|
|
29
|
+
//
|
|
30
|
+
// Lists, records, unions, dates and unknown shapes each keep a small JSON editor of their own, so one
|
|
31
|
+
// awkward argument never forces the whole call back into a blob — and a descriptor with nothing a
|
|
32
|
+
// field can express is not offered as fields at all (see `fieldsEditableArgumentsSchema`).
|
|
33
|
+
//===============================================================
|
|
34
|
+
/** Which editor an approver is authoring a call in. */
|
|
35
|
+
export var ApprovalArgumentEditorMode;
|
|
36
|
+
(function (ApprovalArgumentEditorMode) {
|
|
37
|
+
/** One field per argument, generated from the tool's input-schema descriptor. */
|
|
38
|
+
ApprovalArgumentEditorMode["FIELDS"] = "fields";
|
|
39
|
+
/** The arguments as one JSON object — always reachable, and the fallback for shapes fields cannot express. */
|
|
40
|
+
ApprovalArgumentEditorMode["JSON"] = "json";
|
|
41
|
+
})(ApprovalArgumentEditorMode || (ApprovalArgumentEditorMode = {}));
|
|
42
|
+
/** How one argument is edited. A closed vocabulary: the editor switches on it exhaustively. */
|
|
43
|
+
export var ApprovalArgumentEditorKind;
|
|
44
|
+
(function (ApprovalArgumentEditorKind) {
|
|
45
|
+
/** A free-text string. */
|
|
46
|
+
ApprovalArgumentEditorKind["TEXT"] = "text";
|
|
47
|
+
/** A number. */
|
|
48
|
+
ApprovalArgumentEditorKind["NUMBER"] = "number";
|
|
49
|
+
/** A boolean. */
|
|
50
|
+
ApprovalArgumentEditorKind["BOOLEAN"] = "boolean";
|
|
51
|
+
/** One of a fixed set of string values — an enum, or a string literal. */
|
|
52
|
+
ApprovalArgumentEditorKind["CHOICE"] = "choice";
|
|
53
|
+
/** A nested object, edited as a group of its own arguments. */
|
|
54
|
+
ApprovalArgumentEditorKind["GROUP"] = "group";
|
|
55
|
+
/** Any shape a single field cannot express — edited as that argument's own JSON text. */
|
|
56
|
+
ApprovalArgumentEditorKind["JSON"] = "json";
|
|
57
|
+
})(ApprovalArgumentEditorKind || (ApprovalArgumentEditorKind = {}));
|
|
58
|
+
/**
|
|
59
|
+
* The editor for one argument's descriptor.
|
|
60
|
+
*
|
|
61
|
+
* semantic-literal-boundary: `SerializableZodSchema.type` is a type-level union declared by
|
|
62
|
+
* `@wildo-ai/zod-decorators` with no runtime enum to compare against; this switch is where that
|
|
63
|
+
* external vocabulary is translated into {@link ApprovalArgumentEditorKind}.
|
|
64
|
+
*/
|
|
65
|
+
export function classifyArgumentDescriptor(descriptor) {
|
|
66
|
+
switch (descriptor.type) {
|
|
67
|
+
case "string":
|
|
68
|
+
return ApprovalArgumentEditorKind.TEXT;
|
|
69
|
+
case "number":
|
|
70
|
+
return ApprovalArgumentEditorKind.NUMBER;
|
|
71
|
+
case "boolean":
|
|
72
|
+
return ApprovalArgumentEditorKind.BOOLEAN;
|
|
73
|
+
case "enum":
|
|
74
|
+
return ApprovalArgumentEditorKind.CHOICE;
|
|
75
|
+
case "literal":
|
|
76
|
+
return typeof descriptor.value === "string" ? ApprovalArgumentEditorKind.CHOICE : ApprovalArgumentEditorKind.JSON;
|
|
77
|
+
case "object":
|
|
78
|
+
return ApprovalArgumentEditorKind.GROUP;
|
|
79
|
+
default:
|
|
80
|
+
return ApprovalArgumentEditorKind.JSON;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The descriptor as fields, or `undefined` when fields would add nothing.
|
|
85
|
+
*
|
|
86
|
+
* Fields are offered only for an OBJECT whose properties include at least one argument a field can
|
|
87
|
+
* express. A root that is not an object, or an object made only of JSON-edited shapes, would be a JSON
|
|
88
|
+
* editor wearing a form's clothes — the raw editor is the honest answer there.
|
|
89
|
+
*/
|
|
90
|
+
export function fieldsEditableArgumentsSchema(descriptor) {
|
|
91
|
+
if (!descriptor || typeof descriptor !== "object")
|
|
92
|
+
return undefined;
|
|
93
|
+
const candidate = descriptor;
|
|
94
|
+
if (candidate.type !== "object" || !candidate.properties || typeof candidate.properties !== "object")
|
|
95
|
+
return undefined;
|
|
96
|
+
const offersAField = Object.values(candidate.properties)
|
|
97
|
+
.some((property) => classifyArgumentDescriptor(property) !== ApprovalArgumentEditorKind.JSON);
|
|
98
|
+
return offersAField ? candidate : undefined;
|
|
99
|
+
}
|
|
100
|
+
function readAtPath(value, path) {
|
|
101
|
+
return path.reduce((current, key) => (current !== null && typeof current === "object" ? current[key] : undefined), value);
|
|
102
|
+
}
|
|
103
|
+
/** Immutable write; writing `undefined` REMOVES the argument, because an omitted argument and an empty one differ. */
|
|
104
|
+
function writeAtPath(value, path, next) {
|
|
105
|
+
const [head, ...rest] = path;
|
|
106
|
+
if (head === undefined)
|
|
107
|
+
return value;
|
|
108
|
+
const copy = { ...value };
|
|
109
|
+
if (rest.length === 0) {
|
|
110
|
+
if (next === undefined)
|
|
111
|
+
delete copy[head];
|
|
112
|
+
else
|
|
113
|
+
copy[head] = next;
|
|
114
|
+
return copy;
|
|
115
|
+
}
|
|
116
|
+
const child = copy[head];
|
|
117
|
+
copy[head] = writeAtPath(child !== null && typeof child === "object" && !Array.isArray(child) ? child : {}, rest, next);
|
|
118
|
+
return copy;
|
|
119
|
+
}
|
|
120
|
+
const draftKeyOf = (path) => JSON.stringify(path);
|
|
121
|
+
function collectJsonPaths(schema, prefix = []) {
|
|
122
|
+
return Object.entries(schema.properties).flatMap(([key, child]) => {
|
|
123
|
+
const path = [...prefix, key];
|
|
124
|
+
const kind = classifyArgumentDescriptor(child);
|
|
125
|
+
if (kind === ApprovalArgumentEditorKind.GROUP)
|
|
126
|
+
return collectJsonPaths(child, path);
|
|
127
|
+
return kind === ApprovalArgumentEditorKind.JSON ? [path] : [];
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The arguments the approver has AUTHORED: the field values, with every JSON-edited argument parsed
|
|
132
|
+
* back in. `value` is `undefined` whenever any of those texts does not parse — the approval must not be
|
|
133
|
+
* submittable then, or it would silently send the model's value for an argument the approver believes
|
|
134
|
+
* they changed. An emptied JSON text omits that argument.
|
|
135
|
+
*/
|
|
136
|
+
export function composeEditedArguments(schema, values, jsonDrafts) {
|
|
137
|
+
let composed = values;
|
|
138
|
+
const invalidDraftKeys = [];
|
|
139
|
+
for (const path of collectJsonPaths(schema)) {
|
|
140
|
+
const key = draftKeyOf(path);
|
|
141
|
+
const draft = jsonDrafts[key];
|
|
142
|
+
if (draft === undefined)
|
|
143
|
+
continue;
|
|
144
|
+
if (draft.trim() === "") {
|
|
145
|
+
composed = writeAtPath(composed, path, undefined);
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
149
|
+
composed = writeAtPath(composed, path, JSON.parse(draft));
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
invalidDraftKeys.push(key);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return { value: invalidDraftKeys.length > 0 ? undefined : composed, invalidDraftKeys };
|
|
156
|
+
}
|
|
157
|
+
export function ApprovalArgumentFields({ schema, initialValue, disabled, invalidJsonMessage, onChange, }) {
|
|
158
|
+
const [values, setValues] = React.useState(initialValue);
|
|
159
|
+
const [jsonDrafts, setJsonDrafts] = React.useState(() => Object.fromEntries(collectJsonPaths(schema).map((path) => {
|
|
160
|
+
const current = readAtPath(initialValue, path);
|
|
161
|
+
return [draftKeyOf(path), current === undefined ? "" : JSON.stringify(current, null, 2)];
|
|
162
|
+
})));
|
|
163
|
+
const composed = React.useMemo(() => composeEditedArguments(schema, values, jsonDrafts), [schema, values, jsonDrafts]);
|
|
164
|
+
// Held in a ref so a parent that does not memoize its handler cannot turn this report into a render loop.
|
|
165
|
+
const onChangeRef = React.useRef(onChange);
|
|
166
|
+
onChangeRef.current = onChange;
|
|
167
|
+
React.useEffect(() => {
|
|
168
|
+
onChangeRef.current({ value: composed.value, invalid: composed.invalidDraftKeys.length > 0 });
|
|
169
|
+
}, [composed]);
|
|
170
|
+
const renderGroup = (group, prefix) => Object.entries(group.properties).map(([key, descriptor]) => {
|
|
171
|
+
const path = [...prefix, key];
|
|
172
|
+
const id = `approval-argument-${path.join("-")}`;
|
|
173
|
+
const required = !descriptor.optional && !descriptor.nullable;
|
|
174
|
+
const current = readAtPath(values, path);
|
|
175
|
+
const set = (next) => setValues((previous) => writeAtPath(previous, path, next));
|
|
176
|
+
// Keys render VERBATIM: they are the tool's own parameter names and carry no i18n entry.
|
|
177
|
+
const label = _jsx("label", { htmlFor: id, className: "font-mono text-2xs text-muted-foreground", children: key });
|
|
178
|
+
const kind = classifyArgumentDescriptor(descriptor);
|
|
179
|
+
switch (kind) {
|
|
180
|
+
case ApprovalArgumentEditorKind.TEXT:
|
|
181
|
+
return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsx(InputRoot, { id: id, value: typeof current === "string" ? current : "", required: required, disabled: disabled, className: "font-mono text-2xs",
|
|
182
|
+
// Emptying an OPTIONAL string omits it; a required one stays an empty string, which the
|
|
183
|
+
// server's validation then names if the tool refuses it.
|
|
184
|
+
onChange: (event) => set(event.target.value === "" && !required ? undefined : event.target.value) })] }, id));
|
|
185
|
+
case ApprovalArgumentEditorKind.NUMBER:
|
|
186
|
+
return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsx(InputRoot, { id: id, type: "number", value: typeof current === "number" ? String(current) : "", required: required, disabled: disabled, className: "font-mono text-2xs", onChange: (event) => set(event.target.value === "" ? undefined : Number(event.target.value)) })] }, id));
|
|
187
|
+
case ApprovalArgumentEditorKind.BOOLEAN:
|
|
188
|
+
return (_jsxs("div", { className: "flex items-center gap-element", children: [_jsx(CheckboxRoot, { id: id, checked: current === true, disabled: disabled, onCheckedChange: (checked) => set(checked === true) }), label] }, id));
|
|
189
|
+
case ApprovalArgumentEditorKind.CHOICE: {
|
|
190
|
+
// The values are the tool's own identifiers and render as authored, for the same reason as the keys.
|
|
191
|
+
const options = descriptor.type === "enum" ? descriptor.values : [String(descriptor.value)];
|
|
192
|
+
return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsxs(SelectRoot, { value: typeof current === "string" ? current : undefined, onValueChange: (next) => set(next), disabled: disabled, required: required, children: [_jsx(SelectTrigger, { id: id, className: "font-mono text-2xs", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: options.map((option) => (_jsx(SelectItem, { value: option, children: option }, option))) })] })] }, id));
|
|
193
|
+
}
|
|
194
|
+
case ApprovalArgumentEditorKind.GROUP:
|
|
195
|
+
return (_jsxs("fieldset", { className: "flex min-w-0 flex-col gap-element rounded-md border p-2", children: [_jsx("legend", { className: "font-mono text-2xs text-muted-foreground", children: key }), renderGroup(descriptor, path)] }, id));
|
|
196
|
+
case ApprovalArgumentEditorKind.JSON: {
|
|
197
|
+
const draftKey = draftKeyOf(path);
|
|
198
|
+
const invalid = composed.invalidDraftKeys.includes(draftKey);
|
|
199
|
+
return (_jsxs("div", { className: "flex flex-col gap-0.5", children: [label, _jsx(TextareaRoot, { id: id, rows: 3, value: jsonDrafts[draftKey] ?? "", disabled: disabled, className: "font-mono text-2xs", "aria-invalid": invalid || undefined, onChange: (event) => {
|
|
200
|
+
const text = event.target.value;
|
|
201
|
+
setJsonDrafts((previous) => ({ ...previous, [draftKey]: text }));
|
|
202
|
+
} }), invalid && _jsx("span", { className: "text-2xs text-destructive", children: invalidJsonMessage })] }, id));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
return _jsx("div", { className: "flex flex-col gap-element", children: renderGroup(schema, []) });
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=approval-argument-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-argument-fields.js","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/approval-argument-fields.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n CheckboxRoot,\n InputRoot,\n SelectContent,\n SelectItem,\n SelectRoot,\n SelectTrigger,\n SelectValue,\n TextareaRoot,\n} from '@wildo-ai/saas-frontend-lib';\nimport type { SerializableZodSchema } from '@wildo-ai/zod-decorators';\n\n//===============================================================\n// Approval argument fields (#587)\n//\n// A field editor over a gated tool call's arguments, generated from the tool's input-schema\n// descriptor, used by `AI_ApprovalRequest` when an approver edits the call.\n//\n// ## Why not the automated-form pipeline\n//\n// The issue pointed at `AutomatedForm`. It was checked against this surface and rejected on three\n// counts. Its default label resolution humanizes field names, while a tool's argument keys must\n// render VERBATIM — they carry no i18n entry, and turning `renameTodo` into \"Rename Todo\" is invented\n// display text. It owns a submit lifecycle, while an approval is decided by the Approve / Deny actions\n// beside it. And its field registry assumes a resource-aware form context an agent's tool does not\n// have. This surface needs something narrower — one control per argument, seeded from the proposed\n// call, reporting a value — so it is built from the same preset controls instead.\n//\n// ## A convenience, never the control\n//\n// The descriptor drops refinements (length, range, pattern) by construction, and nothing here\n// validates beyond \"does this JSON parse\". The server re-validates the edit against the tool's live\n// schema and refuses a violation with a message naming the argument; that refusal is what protects\n// the call.\n//\n// ## Anything a field cannot express is edited as JSON, per argument\n//\n// Lists, records, unions, dates and unknown shapes each keep a small JSON editor of their own, so one\n// awkward argument never forces the whole call back into a blob — and a descriptor with nothing a\n// field can express is not offered as fields at all (see `fieldsEditableArgumentsSchema`).\n//===============================================================\n\n/** Which editor an approver is authoring a call in. */\nexport enum ApprovalArgumentEditorMode {\n /** One field per argument, generated from the tool's input-schema descriptor. */\n FIELDS = \"fields\",\n /** The arguments as one JSON object — always reachable, and the fallback for shapes fields cannot express. */\n JSON = \"json\",\n}\n\n/** How one argument is edited. A closed vocabulary: the editor switches on it exhaustively. */\nexport enum ApprovalArgumentEditorKind {\n /** A free-text string. */\n TEXT = \"text\",\n /** A number. */\n NUMBER = \"number\",\n /** A boolean. */\n BOOLEAN = \"boolean\",\n /** One of a fixed set of string values — an enum, or a string literal. */\n CHOICE = \"choice\",\n /** A nested object, edited as a group of its own arguments. */\n GROUP = \"group\",\n /** Any shape a single field cannot express — edited as that argument's own JSON text. */\n JSON = \"json\",\n}\n\nexport type ApprovalArgumentsObjectDescriptor = Extract<SerializableZodSchema, { type: \"object\" }>;\ntype ArgumentPath = readonly string[];\n\n/**\n * The editor for one argument's descriptor.\n *\n * semantic-literal-boundary: `SerializableZodSchema.type` is a type-level union declared by\n * `@wildo-ai/zod-decorators` with no runtime enum to compare against; this switch is where that\n * external vocabulary is translated into {@link ApprovalArgumentEditorKind}.\n */\nexport function classifyArgumentDescriptor(descriptor: SerializableZodSchema): ApprovalArgumentEditorKind {\n switch (descriptor.type) {\n case \"string\":\n return ApprovalArgumentEditorKind.TEXT;\n case \"number\":\n return ApprovalArgumentEditorKind.NUMBER;\n case \"boolean\":\n return ApprovalArgumentEditorKind.BOOLEAN;\n case \"enum\":\n return ApprovalArgumentEditorKind.CHOICE;\n case \"literal\":\n return typeof descriptor.value === \"string\" ? ApprovalArgumentEditorKind.CHOICE : ApprovalArgumentEditorKind.JSON;\n case \"object\":\n return ApprovalArgumentEditorKind.GROUP;\n default:\n return ApprovalArgumentEditorKind.JSON;\n }\n}\n\n/**\n * The descriptor as fields, or `undefined` when fields would add nothing.\n *\n * Fields are offered only for an OBJECT whose properties include at least one argument a field can\n * express. A root that is not an object, or an object made only of JSON-edited shapes, would be a JSON\n * editor wearing a form's clothes — the raw editor is the honest answer there.\n */\nexport function fieldsEditableArgumentsSchema(descriptor: unknown): ApprovalArgumentsObjectDescriptor | undefined {\n if (!descriptor || typeof descriptor !== \"object\") return undefined;\n const candidate = descriptor as SerializableZodSchema;\n if (candidate.type !== \"object\" || !candidate.properties || typeof candidate.properties !== \"object\") return undefined;\n const offersAField = Object.values(candidate.properties)\n .some((property) => classifyArgumentDescriptor(property) !== ApprovalArgumentEditorKind.JSON);\n return offersAField ? candidate : undefined;\n}\n\nfunction readAtPath(value: unknown, path: ArgumentPath): unknown {\n return path.reduce<unknown>(\n (current, key) => (current !== null && typeof current === \"object\" ? (current as Record<string, unknown>)[key] : undefined),\n value,\n );\n}\n\n/** Immutable write; writing `undefined` REMOVES the argument, because an omitted argument and an empty one differ. */\nfunction writeAtPath(value: Record<string, unknown>, path: ArgumentPath, next: unknown): Record<string, unknown> {\n const [head, ...rest] = path;\n if (head === undefined) return value;\n const copy: Record<string, unknown> = { ...value };\n if (rest.length === 0) {\n if (next === undefined) delete copy[head];\n else copy[head] = next;\n return copy;\n }\n const child = copy[head];\n copy[head] = writeAtPath(\n child !== null && typeof child === \"object\" && !Array.isArray(child) ? (child as Record<string, unknown>) : {},\n rest,\n next,\n );\n return copy;\n}\n\nconst draftKeyOf = (path: ArgumentPath): string => JSON.stringify(path);\n\nfunction collectJsonPaths(schema: ApprovalArgumentsObjectDescriptor, prefix: ArgumentPath = []): ArgumentPath[] {\n return Object.entries(schema.properties).flatMap(([key, child]) => {\n const path = [...prefix, key];\n const kind = classifyArgumentDescriptor(child);\n if (kind === ApprovalArgumentEditorKind.GROUP) return collectJsonPaths(child as ApprovalArgumentsObjectDescriptor, path);\n return kind === ApprovalArgumentEditorKind.JSON ? [path] : [];\n });\n}\n\n/**\n * The arguments the approver has AUTHORED: the field values, with every JSON-edited argument parsed\n * back in. `value` is `undefined` whenever any of those texts does not parse — the approval must not be\n * submittable then, or it would silently send the model's value for an argument the approver believes\n * they changed. An emptied JSON text omits that argument.\n */\nexport function composeEditedArguments(\n schema: ApprovalArgumentsObjectDescriptor,\n values: Record<string, unknown>,\n jsonDrafts: Readonly<Record<string, string>>,\n): { value: Record<string, unknown> | undefined; invalidDraftKeys: readonly string[] } {\n let composed = values;\n const invalidDraftKeys: string[] = [];\n for (const path of collectJsonPaths(schema)) {\n const key = draftKeyOf(path);\n const draft = jsonDrafts[key];\n if (draft === undefined) continue;\n if (draft.trim() === \"\") {\n composed = writeAtPath(composed, path, undefined);\n continue;\n }\n try {\n composed = writeAtPath(composed, path, JSON.parse(draft) as unknown);\n } catch {\n invalidDraftKeys.push(key);\n }\n }\n return { value: invalidDraftKeys.length > 0 ? undefined : composed, invalidDraftKeys };\n}\n\nexport type ApprovalArgumentFieldsProps = {\n schema: ApprovalArgumentsObjectDescriptor;\n /** The arguments to start from — so the approver changes one value rather than retyping the call. */\n initialValue: Record<string, unknown>;\n disabled?: boolean;\n /** Shown under a JSON-edited argument whose text does not parse. */\n invalidJsonMessage: string;\n /** Called with the authored arguments whenever they change; `invalid` while any JSON text does not parse. */\n onChange: (next: { value: Record<string, unknown> | undefined; invalid: boolean }) => void;\n};\n\nexport function ApprovalArgumentFields({\n schema,\n initialValue,\n disabled,\n invalidJsonMessage,\n onChange,\n}: ApprovalArgumentFieldsProps): React.JSX.Element {\n const [values, setValues] = React.useState<Record<string, unknown>>(initialValue);\n const [jsonDrafts, setJsonDrafts] = React.useState<Record<string, string>>(() =>\n Object.fromEntries(collectJsonPaths(schema).map((path) => {\n const current = readAtPath(initialValue, path);\n return [draftKeyOf(path), current === undefined ? \"\" : JSON.stringify(current, null, 2)];\n })),\n );\n const composed = React.useMemo(() => composeEditedArguments(schema, values, jsonDrafts), [schema, values, jsonDrafts]);\n\n // Held in a ref so a parent that does not memoize its handler cannot turn this report into a render loop.\n const onChangeRef = React.useRef(onChange);\n onChangeRef.current = onChange;\n React.useEffect(() => {\n onChangeRef.current({ value: composed.value, invalid: composed.invalidDraftKeys.length > 0 });\n }, [composed]);\n\n const renderGroup = (group: ApprovalArgumentsObjectDescriptor, prefix: ArgumentPath): React.ReactNode =>\n Object.entries(group.properties).map(([key, descriptor]) => {\n const path = [...prefix, key];\n const id = `approval-argument-${path.join(\"-\")}`;\n const required = !descriptor.optional && !descriptor.nullable;\n const current = readAtPath(values, path);\n const set = (next: unknown): void => setValues((previous) => writeAtPath(previous, path, next));\n // Keys render VERBATIM: they are the tool's own parameter names and carry no i18n entry.\n const label = <label htmlFor={id} className=\"font-mono text-2xs text-muted-foreground\">{key}</label>;\n const kind = classifyArgumentDescriptor(descriptor);\n\n switch (kind) {\n case ApprovalArgumentEditorKind.TEXT:\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <InputRoot\n id={id}\n value={typeof current === \"string\" ? current : \"\"}\n required={required}\n disabled={disabled}\n className=\"font-mono text-2xs\"\n // Emptying an OPTIONAL string omits it; a required one stays an empty string, which the\n // server's validation then names if the tool refuses it.\n onChange={(event) => set(event.target.value === \"\" && !required ? undefined : event.target.value)}\n />\n </div>\n );\n case ApprovalArgumentEditorKind.NUMBER:\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <InputRoot\n id={id}\n type=\"number\"\n value={typeof current === \"number\" ? String(current) : \"\"}\n required={required}\n disabled={disabled}\n className=\"font-mono text-2xs\"\n onChange={(event) => set(event.target.value === \"\" ? undefined : Number(event.target.value))}\n />\n </div>\n );\n case ApprovalArgumentEditorKind.BOOLEAN:\n return (\n <div key={id} className=\"flex items-center gap-element\">\n <CheckboxRoot\n id={id}\n checked={current === true}\n disabled={disabled}\n onCheckedChange={(checked) => set(checked === true)}\n />\n {label}\n </div>\n );\n case ApprovalArgumentEditorKind.CHOICE: {\n // The values are the tool's own identifiers and render as authored, for the same reason as the keys.\n const options = descriptor.type === \"enum\" ? descriptor.values : [String((descriptor as { value: unknown }).value)];\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <SelectRoot\n value={typeof current === \"string\" ? current : undefined}\n onValueChange={(next) => set(next)}\n disabled={disabled}\n required={required}\n >\n <SelectTrigger id={id} className=\"font-mono text-2xs\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map((option) => (\n <SelectItem key={option} value={option}>{option}</SelectItem>\n ))}\n </SelectContent>\n </SelectRoot>\n </div>\n );\n }\n case ApprovalArgumentEditorKind.GROUP:\n return (\n <fieldset key={id} className=\"flex min-w-0 flex-col gap-element rounded-md border p-2\">\n <legend className=\"font-mono text-2xs text-muted-foreground\">{key}</legend>\n {renderGroup(descriptor as ApprovalArgumentsObjectDescriptor, path)}\n </fieldset>\n );\n case ApprovalArgumentEditorKind.JSON: {\n const draftKey = draftKeyOf(path);\n const invalid = composed.invalidDraftKeys.includes(draftKey);\n return (\n <div key={id} className=\"flex flex-col gap-0.5\">\n {label}\n <TextareaRoot\n id={id}\n rows={3}\n value={jsonDrafts[draftKey] ?? \"\"}\n disabled={disabled}\n className=\"font-mono text-2xs\"\n aria-invalid={invalid || undefined}\n onChange={(event) => {\n const text = event.target.value;\n setJsonDrafts((previous) => ({ ...previous, [draftKey]: text }));\n }}\n />\n {invalid && <span className=\"text-2xs text-destructive\">{invalidJsonMessage}</span>}\n </div>\n );\n }\n }\n });\n\n return <div className=\"flex flex-col gap-element\">{renderGroup(schema, [])}</div>;\n}\n"]}
|
|
@@ -1,7 +1,66 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { Alert } from '@wildo-ai/saas-frontend-lib';
|
|
3
|
+
import type { SerializableZodSchema } from '@wildo-ai/zod-decorators';
|
|
3
4
|
import type { ComponentProps } from "react";
|
|
4
|
-
|
|
5
|
+
/** One person a decision may be moved to, as the surface shows them. `value` is their id. */
|
|
6
|
+
export type AI_ApprovalReassignCandidate = {
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
};
|
|
10
|
+
/** One reason a decision's clocks may be paused for (#1628). `value` is the gate's pause-state identifier. */
|
|
11
|
+
export type AI_ApprovalPauseStateOption = {
|
|
12
|
+
value: string;
|
|
13
|
+
label: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* One reason an approver may give for changing or rejecting an agent's proposal (#1921). `value` is a code of the
|
|
17
|
+
* application's declared vocabulary; `label` is its word, as LOCALIZED text the surface's owner resolved.
|
|
18
|
+
*/
|
|
19
|
+
export type AI_ApprovalReasonCodeOption = {
|
|
20
|
+
value: string;
|
|
21
|
+
label: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* What else a person may do with a decision besides answering it (#1594 D12). Each is offered only when its
|
|
25
|
+
* callback is supplied, so a surface shows exactly the acts its owner can carry out — never a button that
|
|
26
|
+
* submits into nothing.
|
|
27
|
+
*/
|
|
28
|
+
export type AI_ApprovalRoutingProps = {
|
|
29
|
+
/** Take a decision routed to a role you hold for yourself. */
|
|
30
|
+
onClaim?: (approvalId: string) => void;
|
|
31
|
+
/** Give a decision you claimed back to its role. */
|
|
32
|
+
onUnclaim?: (approvalId: string) => void;
|
|
33
|
+
/** The reassign picker opened: load who it may go to, and pass them back as `reassignCandidates`. */
|
|
34
|
+
onReassignOpen?: (approvalId: string) => void;
|
|
35
|
+
/** Only people who could answer it. Absent while loading; empty when nobody else can. */
|
|
36
|
+
reassignCandidates?: readonly AI_ApprovalReassignCandidate[];
|
|
37
|
+
onReassign?: (approvalId: string, targetUserId: string, comment?: string) => void;
|
|
38
|
+
/**
|
|
39
|
+
* What the last act came to, as LOCALIZED text the surface's owner resolved — "someone else settled this",
|
|
40
|
+
* "there is nobody to escalate this to". Absent when there is nothing to say.
|
|
41
|
+
*/
|
|
42
|
+
actionNotice?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Stop the decision's CLAIM and DECISION deadlines, naming one of `pauseStateOptions` (#1628). Offered only
|
|
45
|
+
* with at least one option. Pausing never stops the decision from expiring.
|
|
46
|
+
*/
|
|
47
|
+
onPauseClock?: (approvalId: string, pauseStateRef: string) => void;
|
|
48
|
+
/** Restart paused deadlines; the paused time is added to them. */
|
|
49
|
+
onResumeClock?: (approvalId: string) => void;
|
|
50
|
+
/** The reasons the gate allows its deadlines to be paused for. */
|
|
51
|
+
pauseStateOptions?: readonly AI_ApprovalPauseStateOption[];
|
|
52
|
+
/** The next deadline ahead of the decision, as LOCALIZED text the surface's owner resolved. */
|
|
53
|
+
deadlineNotice?: string;
|
|
54
|
+
/** Set while its deadlines are paused: why, as LOCALIZED text the surface's owner resolved. */
|
|
55
|
+
clockPausedNotice?: string;
|
|
56
|
+
};
|
|
57
|
+
export type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & AI_ApprovalRoutingProps & {
|
|
58
|
+
/**
|
|
59
|
+
* Whether THIS viewer may answer it (#1594). `false` renders the request with no actions — the person
|
|
60
|
+
* whose conversation it is sees a question that a reviewer answers, and `actionNotice` says so. Default
|
|
61
|
+
* `true`, which is every surface that answers its own questions.
|
|
62
|
+
*/
|
|
63
|
+
answerable?: boolean;
|
|
5
64
|
approvalId: string;
|
|
6
65
|
actionDescription: string;
|
|
7
66
|
/**
|
|
@@ -32,35 +91,56 @@ export type AI_ApprovalRequestProps = ComponentProps<typeof Alert> & {
|
|
|
32
91
|
* shows the editor must be wired to a decision path that carries the result, or it collects a
|
|
33
92
|
* change and drops it, which is the failure #537 refused to ship.
|
|
34
93
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* control
|
|
38
|
-
*
|
|
94
|
+
* The editor offers the tool's FIELDS when `argumentsSchema` describes a shape they can express
|
|
95
|
+
* (#587), and raw JSON otherwise; the raw editor stays one click away in both cases. Neither is the
|
|
96
|
+
* control: the server re-validates the edit against the tool's live schema and refuses a violation
|
|
97
|
+
* with a readable message, which is why a field editor that drops refinements is still honest.
|
|
39
98
|
*/
|
|
40
99
|
allowArgumentModification?: boolean;
|
|
100
|
+
/** The gated tool's input-schema descriptor (#587). Absent, or a shape fields cannot express, means raw JSON. */
|
|
101
|
+
argumentsSchema?: SerializableZodSchema;
|
|
102
|
+
/**
|
|
103
|
+
* Why the last submitted edit was refused (#587), as LOCALIZED text. The approval is still pending: the
|
|
104
|
+
* editor reopens on the refused arguments and shows this reason beside them. The engine wrapper renders it
|
|
105
|
+
* from the approval's own labels, one per refusal reason, naming the tool and the offending arguments
|
|
106
|
+
* (#1186) — a direct consumer must pass words the reader can read, never a server's sentence.
|
|
107
|
+
*/
|
|
108
|
+
argumentModificationError?: string;
|
|
109
|
+
/** What the approver submitted when that edit was refused (#587) — the reopened editor starts from it. */
|
|
110
|
+
rejectedArguments?: Record<string, unknown>;
|
|
111
|
+
/**
|
|
112
|
+
* The reasons an approver may give when they CHANGE or REJECT the proposal (#1921) — the application's declared
|
|
113
|
+
* vocabulary, worded by the surface's owner. Offered only then: approving the call as proposed is not a correction.
|
|
114
|
+
* Never required — a reason is evidence for why experts disagree with the agent, not a gate on answering.
|
|
115
|
+
*/
|
|
116
|
+
reasonCodeOptions?: readonly AI_ApprovalReasonCodeOption[];
|
|
41
117
|
/**
|
|
42
118
|
* `modifiedToolArgs` is present only when the approver EDITED the arguments. Absent means "run the
|
|
43
|
-
* call as proposed", which is what every approval meant before this parameter existed.
|
|
119
|
+
* call as proposed", which is what every approval meant before this parameter existed. `reasonCode` is present only
|
|
120
|
+
* when the approver edited the call AND chose a reason for it (#1921).
|
|
44
121
|
*/
|
|
45
|
-
onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown
|
|
46
|
-
|
|
122
|
+
onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
|
|
123
|
+
/** `reasonCode` is present only when the approver chose a reason for the rejection (#1921). */
|
|
124
|
+
onDeny?: (approvalId: string, comment?: string, reasonCode?: string) => void;
|
|
47
125
|
onEscalate?: (approvalId: string, comment?: string) => void;
|
|
48
126
|
isProcessing?: boolean;
|
|
49
127
|
createdAt?: Date;
|
|
50
128
|
};
|
|
51
|
-
export declare const AI_ApprovalRequest: ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, toolName, executionContext, allowArgumentModification, onApprove, onDeny, onEscalate, isProcessing, createdAt, className, ...props }: AI_ApprovalRequestProps) => React.JSX.Element | null;
|
|
52
|
-
export type AI_ApprovalActionsProps = ComponentProps<"div"> & {
|
|
129
|
+
export declare const AI_ApprovalRequest: ({ approvalId, actionDescription, riskLevel, executionId, systemRef, expiresAt, requiredRoles, toolName, executionContext, allowArgumentModification, argumentsSchema, argumentModificationError, rejectedArguments, reasonCodeOptions, onApprove, onDeny, onEscalate, onClaim, onUnclaim, onReassignOpen, reassignCandidates, onReassign, actionNotice, onPauseClock, onResumeClock, pauseStateOptions, deadlineNotice, clockPausedNotice, answerable, isProcessing, createdAt, className, ...props }: AI_ApprovalRequestProps) => React.JSX.Element | null;
|
|
130
|
+
export type AI_ApprovalActionsProps = ComponentProps<"div"> & AI_ApprovalRoutingProps & {
|
|
53
131
|
approvalId: string;
|
|
54
132
|
riskLevel?: "low" | "medium" | "high" | "critical";
|
|
55
133
|
/** Present only while the approver has the argument editor open with a parseable draft (#566). */
|
|
56
134
|
modifiedToolArgs?: Record<string, unknown>;
|
|
57
|
-
|
|
58
|
-
|
|
135
|
+
/** See {@link AI_ApprovalRequestProps.reasonCodeOptions} (#1921). */
|
|
136
|
+
reasonCodeOptions?: readonly AI_ApprovalReasonCodeOption[];
|
|
137
|
+
onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
|
|
138
|
+
onDeny?: (approvalId: string, comment?: string, reasonCode?: string) => void;
|
|
59
139
|
onEscalate?: (approvalId: string, comment?: string) => void;
|
|
60
140
|
isProcessing?: boolean;
|
|
61
141
|
disabled?: boolean;
|
|
62
142
|
};
|
|
63
|
-
export declare const AI_ApprovalActions: ({ approvalId, riskLevel, modifiedToolArgs, onApprove, onDeny, onEscalate, isProcessing, disabled, className, ...props }: AI_ApprovalActionsProps) => React.JSX.Element | null;
|
|
143
|
+
export declare const AI_ApprovalActions: ({ approvalId, riskLevel, modifiedToolArgs, reasonCodeOptions, onApprove, onDeny, onEscalate, onClaim, onUnclaim, onReassignOpen, reassignCandidates, onReassign, actionNotice, onPauseClock, onResumeClock, pauseStateOptions, isProcessing, disabled, className, ...props }: AI_ApprovalActionsProps) => React.JSX.Element | null;
|
|
64
144
|
export type AI_ApprovalQueueItem = {
|
|
65
145
|
approvalId: string;
|
|
66
146
|
executionId: string;
|
|
@@ -72,15 +152,42 @@ export type AI_ApprovalQueueItem = {
|
|
|
72
152
|
requiredRoles?: string[];
|
|
73
153
|
executionContext?: Record<string, unknown>;
|
|
74
154
|
createdAt?: Date;
|
|
155
|
+
/** The gated tool, rendered as authored (#455). */
|
|
156
|
+
toolName?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Which routing acts THIS item offers (#1594). Unset means none: the queue's callbacks are wired per item
|
|
159
|
+
* only where the person may perform the act, so no item shows a button the server would refuse.
|
|
160
|
+
*/
|
|
161
|
+
canEscalate?: boolean;
|
|
162
|
+
canClaim?: boolean;
|
|
163
|
+
canUnclaim?: boolean;
|
|
164
|
+
canReassign?: boolean;
|
|
165
|
+
/** See {@link AI_ApprovalRoutingProps.reassignCandidates}. */
|
|
166
|
+
reassignCandidates?: readonly AI_ApprovalReassignCandidate[];
|
|
167
|
+
/** See {@link AI_ApprovalRoutingProps.actionNotice}. */
|
|
168
|
+
actionNotice?: string;
|
|
169
|
+
/** #1628: whether this item offers Pause / Resume, the reasons it may be paused for, and its deadline lines. */
|
|
170
|
+
canPauseClock?: boolean;
|
|
171
|
+
canResumeClock?: boolean;
|
|
172
|
+
pauseStateOptions?: readonly AI_ApprovalPauseStateOption[];
|
|
173
|
+
deadlineNotice?: string;
|
|
174
|
+
clockPausedNotice?: string;
|
|
175
|
+
/** #1921: the reasons a reviewer may give when changing or rejecting this item's proposal. */
|
|
176
|
+
reasonCodeOptions?: readonly AI_ApprovalReasonCodeOption[];
|
|
177
|
+
/** #1921: offer the argument editor on this item, so a reviewer may CHANGE the proposed call. */
|
|
178
|
+
allowArgumentModification?: boolean;
|
|
179
|
+
/** The gated tool's input-schema descriptor, so the editor offers the tool's fields (#587). */
|
|
180
|
+
argumentsSchema?: SerializableZodSchema;
|
|
75
181
|
};
|
|
76
|
-
export type AI_ApprovalQueueProps = ComponentProps<"div"> & {
|
|
182
|
+
export type AI_ApprovalQueueProps = ComponentProps<"div"> & Omit<AI_ApprovalRoutingProps, 'reassignCandidates' | 'actionNotice' | 'pauseStateOptions' | 'deadlineNotice' | 'clockPausedNotice'> & {
|
|
77
183
|
items: AI_ApprovalQueueItem[];
|
|
78
|
-
|
|
79
|
-
|
|
184
|
+
/** `modifiedToolArgs` only when the reviewer edited the call; `reasonCode` only when they gave a reason (#1921). */
|
|
185
|
+
onApprove?: (approvalId: string, comment?: string, modifiedToolArgs?: Record<string, unknown>, reasonCode?: string) => void;
|
|
186
|
+
onDeny?: (approvalId: string, comment?: string, reasonCode?: string) => void;
|
|
80
187
|
onEscalate?: (approvalId: string, comment?: string) => void;
|
|
81
188
|
processingIds?: Set<string>;
|
|
82
189
|
filter?: string;
|
|
83
190
|
onFilterChange?: (filter: string) => void;
|
|
84
191
|
};
|
|
85
|
-
export declare const AI_ApprovalQueue: ({ items, onApprove, onDeny, onEscalate, processingIds, filter, onFilterChange, className, ...props }: AI_ApprovalQueueProps) => React.JSX.Element | null;
|
|
192
|
+
export declare const AI_ApprovalQueue: ({ items, onApprove, onDeny, onEscalate, onClaim, onUnclaim, onReassignOpen, onReassign, onPauseClock, onResumeClock, processingIds, filter, onFilterChange, className, ...props }: AI_ApprovalQueueProps) => React.JSX.Element | null;
|
|
86
193
|
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ai-elements/decision/approval.tsx"],"names":[],"mappings":"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"}
|