react-semaphor 0.1.523 → 0.1.525
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/appearance-runtime/index.js +1 -1
- package/dist/brand-studio/index.js +1 -1
- package/dist/briefings/index.js +38 -33
- package/dist/chunks/{appearance-context-VJdrKi7r.js → appearance-context-DEYtWinQ.js} +0 -1
- package/dist/chunks/{appearance-runtime-provider-CC4HT2Gi.js → appearance-runtime-provider-B-M8gwlZ.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-CYiPCXQv.js → dashboard-briefing-launcher-BilVIEyw.js} +790 -800
- package/dist/chunks/dashboard-controls-DyLPcvCK.js +2146 -0
- package/dist/chunks/{dashboard-json-D_70142A.js → dashboard-json-QEoU-mx4.js} +5 -5
- package/dist/chunks/edit-dashboard-visual-DtmKNNdE.js +22120 -0
- package/dist/chunks/{editor-action-buttons-CEw61v6F.js → editor-action-buttons-B9VRW3Bh.js} +740 -675
- package/dist/chunks/{index-BBn_2FHm.js → index-DYOaHuLS.js} +40215 -40411
- package/dist/chunks/{index-BnZz-3jX.js → index-ON7Gpvcv.js} +1186 -1018
- package/dist/chunks/{report-preferences-dialog-B7Ny-bLC.js → report-preferences-dialog-BLaFmlE2.js} +2 -2
- package/dist/chunks/{switch-BxOntwjd.js → switch-CWPcwAZ4.js} +4543 -5123
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-assistant/index.js +1 -2
- package/dist/data-app-builder/index.js +2 -2
- package/dist/index.js +9 -9
- package/dist/style.css +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/brand-studio/brand-studio-editor.d.ts +2 -1
- package/dist/types/briefings/index.d.ts +1 -1
- package/dist/types/briefings/schedule.d.ts +49 -2
- package/dist/types/components/ai/assistant-context-entity-controls.d.ts +1 -1
- package/dist/types/components/ai/assistant-message-components.d.ts +6 -6
- package/dist/types/components/ai/assistant-message.d.ts +1 -1
- package/dist/types/components/ai/assistant-virtualized-messages.d.ts +1 -1
- package/dist/types/components/ai/chat-custom-visual.d.ts +1 -1
- package/dist/types/components/ai/chat-visual-query-utils.d.ts +0 -27
- package/dist/types/components/ai/chat-visual.d.ts +1 -1
- package/dist/types/components/ai/clarification-card.d.ts +1 -1
- package/dist/types/components/ai/context-entity-display.d.ts +1 -1
- package/dist/types/components/ai/dashboard-assistant.d.ts +1 -4
- package/dist/types/components/ai/editor-assistant.d.ts +1 -1
- package/dist/types/components/ai/entity-mention-dropdown.d.ts +2 -1
- package/dist/types/components/ai/file-upload/file-preview.d.ts +3 -2
- package/dist/types/components/ai/file-upload/file-upload-button.d.ts +2 -1
- package/dist/types/components/ai/file-upload/file-upload-zone.d.ts +2 -2
- package/dist/types/components/ai/message-feedback-buttons.d.ts +1 -1
- package/dist/types/components/ai/pending-messages-display.d.ts +1 -1
- package/dist/types/components/ai/placeholders.d.ts +1 -1
- package/dist/types/components/ai/pre-block.d.ts +2 -2
- package/dist/types/components/ai/reasoning-effort-slider.d.ts +1 -1
- package/dist/types/components/ai/seed-questions.d.ts +1 -1
- package/dist/types/components/ai/tool-call-error.d.ts +1 -1
- package/dist/types/components/ai/tool-call.d.ts +1 -1
- package/dist/types/components/ai/tool-part-renderer.d.ts +1 -1
- package/dist/types/components/briefings/attachments/briefing-attachment-list.d.ts +1 -1
- package/dist/types/components/briefings/attachments/briefing-attachment-selector.d.ts +1 -1
- package/dist/types/components/briefings/attachments/briefing-attachment-settings-dialog.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/attachment-section.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/author-actions.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/content-composers.d.ts +2 -2
- package/dist/types/components/briefings/briefing-author/delivery-section.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/form-primitives.d.ts +4 -4
- package/dist/types/components/briefings/briefing-author/run-ui.d.ts +12 -12
- package/dist/types/components/briefings/briefing-author/schedule-model.d.ts +12 -2
- package/dist/types/components/briefings/briefing-author/schedule-section.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/schedule.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/scope-picker.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author/slack-channel-picker.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author-dialog.d.ts +1 -1
- package/dist/types/components/briefings/briefing-author.d.ts +1 -1
- package/dist/types/components/briefings/briefing-html-frame.d.ts +1 -1
- package/dist/types/components/briefings/briefing-recipient-field.d.ts +1 -1
- package/dist/types/components/briefings/briefing-ui-capabilities.d.ts +2 -2
- package/dist/types/components/briefings/dashboard-briefing-launcher-list.d.ts +1 -1
- package/dist/types/components/briefings/dashboard-briefing-launcher.d.ts +1 -1
- package/dist/types/components/briefings/dashboard-schedule-report-menu-item.d.ts +2 -2
- package/dist/types/components/briefings/watch-dashboard-button.d.ts +1 -1
- package/dist/types/components/calculated-fields/ai-compose-panel.d.ts +1 -1
- package/dist/types/components/calculated-fields/calculated-field-editor.d.ts +2 -1
- package/dist/types/components/calculated-fields/domain-definition-notice.d.ts +1 -1
- package/dist/types/components/calculated-fields/expression-validator.d.ts +1 -1
- package/dist/types/components/calculated-fields/field-picker-panel.d.ts +1 -1
- package/dist/types/components/calculated-fields/field-type-toggle.d.ts +1 -1
- package/dist/types/components/calculated-fields/insert-field-popover.d.ts +1 -1
- package/dist/types/components/calculated-fields/placeholder-field-picker.d.ts +1 -1
- package/dist/types/components/calculated-fields/summary-ribbon.d.ts +1 -1
- package/dist/types/components/calculated-fields/templates-menu.d.ts +1 -1
- package/dist/types/components/calculated-fields/validation-results.d.ts +1 -1
- package/dist/types/components/chart-selector/chart-icon.d.ts +3 -2
- package/dist/types/components/chart-selector/chart-selector-item.d.ts +7 -8
- package/dist/types/components/chart-selector/chart-selector.d.ts +9 -3
- package/dist/types/components/chart-selector/chart-type-picker.d.ts +1 -1
- package/dist/types/components/chart-selector/index.d.ts +0 -1
- package/dist/types/components/dashboard/ai-dashboard-create-dialog.d.ts +2 -2
- package/dist/types/components/dashboard/card-actions-menu.d.ts +1 -1
- package/dist/types/components/dashboard/card-selection-pill.d.ts +1 -1
- package/dist/types/components/dashboard/card-summary.d.ts +1 -1
- package/dist/types/components/dashboard/comparison-metadata-badge.d.ts +2 -2
- package/dist/types/components/dashboard/dashboard-card.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-container.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-error-state.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-export-dialog.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-frame-expand-dialog.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-frame.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-hub-row.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-hub.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-tabs.d.ts +1 -1
- package/dist/types/components/dashboard/dashboard-visual-error-state.d.ts +3 -3
- package/dist/types/components/dashboard/dashboard.d.ts +1 -1
- package/dist/types/components/dashboard/download-pdf.d.ts +1 -1
- package/dist/types/components/dashboard/drill-breadcrumb.d.ts +1 -1
- package/dist/types/components/dashboard/drill-navigation-controls.d.ts +1 -1
- package/dist/types/components/dashboard/inline-filter-bar.d.ts +2 -1
- package/dist/types/components/dashboard/inline-filter-component.d.ts +2 -1
- package/dist/types/components/dashboard/kpi-header.d.ts +1 -1
- package/dist/types/components/dashboard/sheet/delete-sheet-alert.d.ts +1 -1
- package/dist/types/components/dashboard/sheet/sheet-empty-state.d.ts +1 -1
- package/dist/types/components/dashboard/sheet/sheet-layout.d.ts +2 -1
- package/dist/types/components/dashboard/summary-card.d.ts +3 -3
- package/dist/types/components/dashboard/unconfigured-card-state.d.ts +1 -1
- package/dist/types/components/data-app-runtime/published-data-app-runtime.d.ts +1 -1
- package/dist/types/components/document-sheet/document-control-options-resolver.d.ts +1 -1
- package/dist/types/components/document-sheet/document-control-toolbar-actions.d.ts +1 -1
- package/dist/types/components/document-sheet/document-controls-settings.d.ts +1 -1
- package/dist/types/components/document-sheet/document-input-bar.d.ts +1 -1
- package/dist/types/components/document-sheet/document-insert-picker.d.ts +2 -2
- package/dist/types/components/document-sheet/document-inspector-primitives.d.ts +2 -2
- package/dist/types/components/document-sheet/document-kpi-section.d.ts +1 -1
- package/dist/types/components/document-sheet/document-matrix-section.d.ts +1 -1
- package/dist/types/components/document-sheet/document-measure-layer.d.ts +1 -1
- package/dist/types/components/document-sheet/document-outline.d.ts +1 -1
- package/dist/types/components/document-sheet/document-page-navigation.d.ts +2 -2
- package/dist/types/components/document-sheet/document-page.d.ts +3 -3
- package/dist/types/components/document-sheet/document-panel/document-side-panel.d.ts +1 -1
- package/dist/types/components/document-sheet/document-panel/inputs-panel.d.ts +1 -1
- package/dist/types/components/document-sheet/document-panel/page-panel.d.ts +1 -1
- package/dist/types/components/document-sheet/document-panel/panel-controls.d.ts +2 -2
- package/dist/types/components/document-sheet/document-panel/region-panels.d.ts +2 -2
- package/dist/types/components/document-sheet/document-panel/section-panel.d.ts +2 -2
- package/dist/types/components/document-sheet/document-section-print-boundary.d.ts +1 -1
- package/dist/types/components/document-sheet/document-sheet.d.ts +2 -2
- package/dist/types/components/document-sheet/document-table-chrome.d.ts +5 -5
- package/dist/types/components/document-sheet/document-table-section.d.ts +1 -1
- package/dist/types/components/document-sheet/document-text-editor.d.ts +1 -1
- package/dist/types/components/editor/dashboard-json.d.ts +1 -1
- package/dist/types/components/editor/editable.d.ts +1 -1
- package/dist/types/components/editor/editor-main/advanced-mode-toggle.d.ts +1 -1
- package/dist/types/components/editor/editor-main/card-display-options-dropdown.d.ts +1 -1
- package/dist/types/components/editor/editor-main/card-tabs.d.ts +1 -1
- package/dist/types/components/editor/editor-main/chart-configuration-options.d.ts +1 -1
- package/dist/types/components/editor/editor-main/code-editors/expanded-query-editor-dialog.d.ts +1 -1
- package/dist/types/components/editor/editor-main/code-editors/json-editor-readonly.d.ts +1 -1
- package/dist/types/components/editor/editor-main/content-editable-text.d.ts +2 -1
- package/dist/types/components/editor/editor-main/context-hover-card.d.ts +2 -1
- package/dist/types/components/editor/editor-main/customize-visual/customize-visual-dialog.d.ts +1 -1
- package/dist/types/components/editor/editor-main/dashboard-filter-subscription-status.d.ts +1 -1
- package/dist/types/components/editor/editor-main/data-label-settings.d.ts +1 -1
- package/dist/types/components/editor/editor-main/edit-dashboard-visual.d.ts +2 -1
- package/dist/types/components/editor/editor-main/editor-action-buttons.d.ts +7 -7
- package/dist/types/components/editor/editor-main/editor-actions-biz-mode.d.ts +1 -1
- package/dist/types/components/editor/editor-main/editor-card.d.ts +1 -1
- package/dist/types/components/editor/editor-main/editor-main-component.d.ts +1 -1
- package/dist/types/components/editor/editor-main/editor-query-section.d.ts +3 -2
- package/dist/types/components/editor/editor-main/editor-visual-section.d.ts +3 -8
- package/dist/types/components/editor/editor-main/inline-query-writer/inline-query-writer.d.ts +1 -1
- package/dist/types/components/editor/editor-main/legend-popover.d.ts +1 -1
- package/dist/types/components/editor/editor-main/raw-output-table.d.ts +2 -1
- package/dist/types/components/editor/editor-main/realtime-popover.d.ts +1 -1
- package/dist/types/components/editor/editor-main/table-type-switcher.d.ts +1 -1
- package/dist/types/components/editor/editor-main/text-card-rich-editor.d.ts +2 -1
- package/dist/types/components/editor/editor-main/text-card.d.ts +2 -1
- package/dist/types/components/editor/editor-main/visual-aside.d.ts +1 -1
- package/dist/types/components/editor/editor-main/visual-editing-controls.d.ts +1 -1
- package/dist/types/components/editor/editor-main/visual-save-as-dialog.d.ts +2 -1
- package/dist/types/components/editor/editor-main/visual-settings.d.ts +1 -1
- package/dist/types/components/editor/editor.d.ts +1 -1
- package/dist/types/components/editor/mode-toggle.d.ts +2 -2
- package/dist/types/components/editor/query-feedback/query-card-details.d.ts +2 -2
- package/dist/types/components/editor/query-feedback/query-error.d.ts +2 -2
- package/dist/types/components/editor/query-feedback/query-feedback-layout.d.ts +3 -3
- package/dist/types/components/editor/query-feedback/query-info.d.ts +1 -1
- package/dist/types/components/editor/query-feedback/query-sql-preview.d.ts +1 -1
- package/dist/types/components/editor/query-feedback/visual-query-error-state.d.ts +1 -1
- package/dist/types/components/error-fallbacks/fallback.d.ts +4 -4
- package/dist/types/components/explorer/chart-configuration/area-series-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/axis-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/bar-series-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/bar-style-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/bubble-scatter-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/bullet-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/chart-config-sections.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/chart-configuration-panel.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/chart-fields-configuration.d.ts +2 -2
- package/dist/types/components/explorer/chart-configuration/chart-type-row.d.ts +2 -2
- package/dist/types/components/explorer/chart-configuration/color-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/combo-series-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/comparison-config-section.d.ts +2 -2
- package/dist/types/components/explorer/chart-configuration/custom-color-picker.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/data-labels-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/data-labels-fields.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/funnel-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/heatmap-color-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/kpi-format-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/legend-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/line-series-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/line-style-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/matrix-authoring-controls.d.ts +5 -5
- package/dist/types/components/explorer/chart-configuration/matrix-authoring-panel.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/matrix-editor-settings.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/metric-format-editor.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/number-format-config.d.ts +2 -1
- package/dist/types/components/explorer/chart-configuration/stacked-sort-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/summary-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/tooltip-format-config-section.d.ts +1 -1
- package/dist/types/components/explorer/chart-configuration/treemap-color-mode-section.d.ts +1 -1
- package/dist/types/components/explorer/data-source/add-data-picker.d.ts +1 -1
- package/dist/types/components/explorer/data-source/data-source-panel.d.ts +1 -1
- package/dist/types/components/explorer/data-source/dataset-selector-popover.d.ts +1 -1
- package/dist/types/components/explorer/data-source/db-schema-selector.d.ts +1 -1
- package/dist/types/components/explorer/data-source/direct-source-tree.d.ts +1 -1
- package/dist/types/components/explorer/data-source/entity-tooltip.d.ts +2 -2
- package/dist/types/components/explorer/data-source/file-upload-manager.d.ts +1 -1
- package/dist/types/components/explorer/data-source/select-data-dialog.d.ts +1 -1
- package/dist/types/components/explorer/data-source/selected-entities-summary.d.ts +1 -1
- package/dist/types/components/explorer/data-source/semantic-domain-tree.d.ts +2 -2
- package/dist/types/components/explorer/data-source/url-source-manager.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/attribute-filter-dialog.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/data-concept-tooltip.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/drag-overlay.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/draggable-field-shell.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/draggable-field.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/droppable-zone.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/inline-edit-field.d.ts +2 -1
- package/dist/types/components/explorer/drag-and-drop/matrix-draggable-field.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/pivot-alias-template-editor.d.ts +1 -1
- package/dist/types/components/explorer/drag-and-drop/pivot-value-aliases-editor.d.ts +1 -1
- package/dist/types/components/explorer/fields/field-option-list.d.ts +1 -1
- package/dist/types/components/explorer/fields/icon-for-field-type.d.ts +1 -1
- package/dist/types/components/explorer/fields/numeric-popover.d.ts +1 -1
- package/dist/types/components/explorer/fields/source-field.d.ts +3 -3
- package/dist/types/components/explorer/fields/type-glyph.d.ts +1 -1
- package/dist/types/components/explorer/filters/card-date-filter.d.ts +1 -1
- package/dist/types/components/explorer/filters/card-filter-builder.d.ts +2 -1
- package/dist/types/components/explorer/filters/card-filter-manager.d.ts +1 -1
- package/dist/types/components/explorer/filters/field-multi-select.d.ts +2 -1
- package/dist/types/components/explorer/filters/field-single-select.d.ts +2 -1
- package/dist/types/components/explorer/filters/searchable-field-combobox.d.ts +2 -1
- package/dist/types/components/explorer/join-configuration/auto-join-info.d.ts +1 -1
- package/dist/types/components/explorer/join-configuration/join-conditions-builder.d.ts +1 -1
- package/dist/types/components/explorer/join-configuration/join-dialog.d.ts +1 -1
- package/dist/types/components/explorer/join-configuration/join-manager.d.ts +1 -1
- package/dist/types/components/explorer/join-configuration/join-tooltip-content.d.ts +1 -1
- package/dist/types/components/explorer/main/explorer.d.ts +1 -1
- package/dist/types/components/explorer/main/view-tabs.d.ts +1 -1
- package/dist/types/components/explorer/visualization/chart-settings-panel.d.ts +2 -1
- package/dist/types/components/explorer/visualization/chart-split-view.d.ts +1 -3
- package/dist/types/components/explorer/visualization/feedback-dialog.d.ts +2 -1
- package/dist/types/components/explorer/visualization/row-limit-selector.d.ts +1 -1
- package/dist/types/components/explorer/visualization/visualization-panel.d.ts +1 -1
- package/dist/types/components/icons/bullet-chart-icon.d.ts +1 -1
- package/dist/types/components/interactions/applied-filters-display.d.ts +1 -1
- package/dist/types/components/interactions/card-renderer.d.ts +1 -1
- package/dist/types/components/interactions/click-to-filter-review-dialog.d.ts +2 -1
- package/dist/types/components/interactions/dashboard-drill-host.d.ts +1 -1
- package/dist/types/components/interactions/drill-config/hierarchy-steps-display.d.ts +1 -1
- package/dist/types/components/interactions/drill-config/hierarchy-templates.d.ts +1 -1
- package/dist/types/components/interactions/drill-config/sortable-step.d.ts +1 -1
- package/dist/types/components/interactions/drill-config/step-configuration-popup.d.ts +1 -1
- package/dist/types/components/interactions/drill-hierarchy-modal.d.ts +1 -1
- package/dist/types/components/interactions/drill-to-url-modal.d.ts +1 -1
- package/dist/types/components/interactions/filter-badge-tooltip.d.ts +1 -1
- package/dist/types/components/interactions/insight-modal.d.ts +1 -1
- package/dist/types/components/interactions/insight-viewer.d.ts +1 -1
- package/dist/types/components/interactions/interactions-sheet.d.ts +2 -1
- package/dist/types/components/interactions/panels/click-to-filter-panel.d.ts +1 -1
- package/dist/types/components/interactions/panels/drill-down-panel.d.ts +2 -1
- package/dist/types/components/interactions/panels/drill-to-dashboard-panel.d.ts +1 -1
- package/dist/types/components/interactions/panels/drill-to-insight-panel.d.ts +1 -1
- package/dist/types/components/interactions/panels/drill-to-url-panel-v2.d.ts +1 -1
- package/dist/types/components/interactions/panels/dynamic-drill-panel.d.ts +1 -1
- package/dist/types/components/interactions/panels/panel-field.d.ts +1 -1
- package/dist/types/components/interactions/pickers/dashboard-picker.d.ts +1 -1
- package/dist/types/components/interactions/pickers/insight-picker.d.ts +1 -1
- package/dist/types/components/interactions/replaced-card-wrapper.d.ts +1 -1
- package/dist/types/components/interactions/reusable/field-combobox.d.ts +2 -1
- package/dist/types/components/interactions/reusable/field-selector.d.ts +1 -1
- package/dist/types/components/interactions/reusable/inline-field-selector.d.ts +1 -1
- package/dist/types/components/interactions/sheet/action-editor.d.ts +1 -1
- package/dist/types/components/interactions/sheet/action-picker.d.ts +1 -1
- package/dist/types/components/interactions/sheet/click-outcome-preview.d.ts +1 -1
- package/dist/types/components/interactions/sheet/interactions-home.d.ts +1 -1
- package/dist/types/components/interactions/sheet/sheet-parts.d.ts +4 -4
- package/dist/types/components/kpi-visual-v2/country-selector.d.ts +1 -1
- package/dist/types/components/kpi-visual-v2/kpi-card-explorer.d.ts +1 -1
- package/dist/types/components/kpi-visual-v2/kpi-settings.d.ts +1 -1
- package/dist/types/components/kpi-visual-v2/kpi-tooltip-components.d.ts +4 -4
- package/dist/types/components/kpi-visual-v2/kpi-tooltip.d.ts +2 -1
- package/dist/types/components/kpi-visual-v2/metric-comparison-indicator.d.ts +2 -1
- package/dist/types/components/kpi-visual-v2/metric-comparison-kpi.d.ts +1 -1
- package/dist/types/components/notifications/export-notification-item.d.ts +2 -1
- package/dist/types/components/notifications/export-notification-list.d.ts +2 -1
- package/dist/types/components/notifications/notification-bell.d.ts +2 -1
- package/dist/types/components/providers/appearance-runtime-provider.d.ts +2 -2
- package/dist/types/components/providers/dashboard-matrix-execution-provider.d.ts +1 -1
- package/dist/types/components/providers/dashboard-preferences-provider.d.ts +1 -1
- package/dist/types/components/providers/display-preferences-provider.d.ts +1 -1
- package/dist/types/components/providers/semaphor-context-provider.d.ts +1 -1
- package/dist/types/components/providers/semaphor-query-provider.d.ts +1 -1
- package/dist/types/components/providers/theme-provider.d.ts +1 -1
- package/dist/types/components/providers/ux-provider.d.ts +1 -1
- package/dist/types/components/semaphor/code-block.d.ts +1 -1
- package/dist/types/components/shared/unsaved-changes/unsaved-changes-alert.d.ts +1 -1
- package/dist/types/components/sharing-and-management/common-loading-skeleton.d.ts +1 -1
- package/dist/types/components/sharing-and-management/create-dashboard-dialog.d.ts +1 -1
- package/dist/types/components/sharing-and-management/create-visual-dialog.d.ts +1 -1
- package/dist/types/components/sharing-and-management/dashboard-actions-menu.d.ts +1 -1
- package/dist/types/components/sharing-and-management/group-management-dialog.d.ts +1 -1
- package/dist/types/components/sharing-and-management/hooks/use-groups.d.ts +5 -1
- package/dist/types/components/sharing-and-management/hooks/use-unified-users.d.ts +9 -1
- package/dist/types/components/sharing-and-management/resource-edit-dialog.d.ts +2 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/index.d.ts +2 -2
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/access-list.d.ts +1 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/adapter.d.ts +21 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/configs.d.ts +12 -0
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/invite-combobox.d.ts +6 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/primitives.d.ts +3 -3
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/share-shape.d.ts +8 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/shell.d.ts +1 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/status-bar.d.ts +1 -1
- package/dist/types/components/sharing-and-management/resource-share-dialog/unified/types.d.ts +2 -0
- package/dist/types/components/sharing-and-management/utils/shares-types.d.ts +8 -0
- package/dist/types/components/sharing-and-management/utils/types.d.ts +2 -0
- package/dist/types/components/sharing-and-management/visuals-library-dialog.d.ts +1 -1
- package/dist/types/components/surfboard/card-controls-toolbar.d.ts +1 -1
- package/dist/types/components/surfboard/controls/card-runtime-controls.d.ts +1 -1
- package/dist/types/components/surfboard/controls/control-binding-list-editor.d.ts +1 -1
- package/dist/types/components/surfboard/controls/control-definition-editor-sections.d.ts +9 -9
- package/dist/types/components/surfboard/controls/control-definition-list-editor.d.ts +1 -1
- package/dist/types/components/surfboard/controls/control-toolbar-item.d.ts +1 -1
- package/dist/types/components/surfboard/controls/control-toolbar-settings-form.d.ts +1 -1
- package/dist/types/components/surfboard/controls/control-toolbar-settings-shell.d.ts +2 -2
- package/dist/types/components/surfboard/controls/dashboard-control-delete-dialog.d.ts +1 -1
- package/dist/types/components/surfboard/controls/dashboard-control-toolbar-popover.d.ts +1 -1
- package/dist/types/components/surfboard/controls/dashboard-controls-settings.d.ts +1 -1
- package/dist/types/components/surfboard/controls/dashboard-filter-controls-button.d.ts +1 -1
- package/dist/types/components/surfboard/controls/dashboard-filter-controls-launcher.d.ts +1 -1
- package/dist/types/components/surfboard/controls/dashboard-runtime-controls.d.ts +1 -1
- package/dist/types/components/surfboard/controls/matrix-structural-targets.d.ts +1 -1
- package/dist/types/components/surfboard/controls/presentation-currency-binding-editor.d.ts +1 -1
- package/dist/types/components/surfboard/controls/runtime-control-input.d.ts +1 -1
- package/dist/types/components/surfboard/controls/runtime-controls-group.d.ts +1 -1
- package/dist/types/components/surfboard/controls/sortable-control-toolbar-item.d.ts +1 -1
- package/dist/types/components/surfboard/dashboard-controls.d.ts +1 -1
- package/dist/types/components/surfboard/dashboard-plus-main.d.ts +1 -1
- package/dist/types/components/surfboard/dashboard-plus.d.ts +1 -1
- package/dist/types/components/surfboard/expanded-card-view.d.ts +2 -1
- package/dist/types/components/surfboard/export-dialog.d.ts +2 -1
- package/dist/types/components/surfboard/filter/apply-filters-check-box.d.ts +1 -1
- package/dist/types/components/surfboard/filter/custom-filter/custom-filter-selector.d.ts +1 -1
- package/dist/types/components/surfboard/filter/custom-filter/dashboard-custom-filter.d.ts +1 -1
- package/dist/types/components/surfboard/filter/custom-filter-popover.d.ts +1 -1
- package/dist/types/components/surfboard/filter/dashboard-filter-info-group.d.ts +1 -1
- package/dist/types/components/surfboard/filter/dashboard-filter-mapping-panel.d.ts +3 -3
- package/dist/types/components/surfboard/filter/date-comparison-controls.d.ts +1 -1
- package/dist/types/components/surfboard/filter/date-range-filter-v2.d.ts +1 -1
- package/dist/types/components/surfboard/filter/date-range-filter.d.ts +1 -1
- package/dist/types/components/surfboard/filter/day-picker.d.ts +2 -1
- package/dist/types/components/surfboard/filter/field-date-filter.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-actions-popover-content.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-aside.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-component.d.ts +2 -1
- package/dist/types/components/surfboard/filter/filter-configuration-panel.d.ts +7 -7
- package/dist/types/components/surfboard/filter/filter-default-values-picker.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-error-state.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-header.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-info.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-option-dependencies-settings.d.ts +2 -1
- package/dist/types/components/surfboard/filter/filter-option-list.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-option-source-settings.d.ts +2 -1
- package/dist/types/components/surfboard/filter/filter-picker-popover-content.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-popover-parts.d.ts +3 -3
- package/dist/types/components/surfboard/filter/filter-scope-config.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-settings-popover.d.ts +1 -1
- package/dist/types/components/surfboard/filter/filter-toolbar-item.d.ts +2 -1
- package/dist/types/components/surfboard/filter/filter-toolbar.d.ts +1 -1
- package/dist/types/components/surfboard/filter/global-date-comparison-footer.d.ts +1 -1
- package/dist/types/components/surfboard/filter/global-date-filter.d.ts +1 -1
- package/dist/types/components/surfboard/filter/hidden-filters.d.ts +1 -1
- package/dist/types/components/surfboard/filter/month-picker.d.ts +2 -1
- package/dist/types/components/surfboard/filter/multi-select-filter.d.ts +2 -2
- package/dist/types/components/surfboard/filter/multi-select-inline-content.d.ts +1 -1
- package/dist/types/components/surfboard/filter/numeric-filter-input.d.ts +1 -1
- package/dist/types/components/surfboard/filter/radio-button-filter.d.ts +1 -1
- package/dist/types/components/surfboard/filter/selection-chip.d.ts +1 -1
- package/dist/types/components/surfboard/filter/selection-filter-section.d.ts +1 -1
- package/dist/types/components/surfboard/filter/sortable-filter-toolbar-item.d.ts +1 -1
- package/dist/types/components/surfboard/filter/tabs-filter.d.ts +1 -1
- package/dist/types/components/surfboard/inline-options-error-state.d.ts +1 -1
- package/dist/types/components/surfboard/input-chip-row.d.ts +1 -1
- package/dist/types/components/surfboard/preferences/calendar-preferences-panel.d.ts +2 -1
- package/dist/types/components/surfboard/preferences/display-format-preferences-fields.d.ts +1 -1
- package/dist/types/components/surfboard/preferences/display-format-preferences-panel.d.ts +1 -1
- package/dist/types/components/surfboard/preferences/report-preferences-dialog.d.ts +1 -1
- package/dist/types/components/surfboard/toolbar-item-shell.d.ts +1 -1
- package/dist/types/components/text-variables/variable-chip-plugin.d.ts +2 -2
- package/dist/types/components/text-variables/variable-picker.d.ts +2 -2
- package/dist/types/components/ui/alert-dialog.d.ts +2 -2
- package/dist/types/components/ui/audience-type-badge.d.ts +1 -1
- package/dist/types/components/ui/calendar.d.ts +2 -2
- package/dist/types/components/ui/command.d.ts +2 -2
- package/dist/types/components/ui/context-menu.d.ts +1 -1
- package/dist/types/components/ui/dialog.d.ts +2 -2
- package/dist/types/components/ui/dropdown-menu.d.ts +1 -1
- package/dist/types/components/ui/resizable.d.ts +3 -3
- package/dist/types/components/ui/sheet.d.ts +2 -2
- package/dist/types/components/ui/skeleton.d.ts +1 -1
- package/dist/types/components/ui/sonner.d.ts +1 -1
- package/dist/types/components/ui-custom/color-field.d.ts +2 -1
- package/dist/types/components/ui-custom/column-search.d.ts +2 -1
- package/dist/types/components/ui-custom/combo-box-2.d.ts +1 -1
- package/dist/types/components/ui-custom/combo-box.d.ts +1 -1
- package/dist/types/components/ui-custom/copy-button.d.ts +1 -1
- package/dist/types/components/ui-custom/copy-on-click.d.ts +1 -1
- package/dist/types/components/ui-custom/date-range-picker.d.ts +1 -1
- package/dist/types/components/ui-custom/date-range-popover.d.ts +1 -1
- package/dist/types/components/ui-custom/details.d.ts +1 -1
- package/dist/types/components/ui-custom/editable-text.d.ts +2 -1
- package/dist/types/components/ui-custom/load-on-scroll-status.d.ts +1 -1
- package/dist/types/components/ui-custom/loading-dots.d.ts +1 -1
- package/dist/types/components/ui-custom/local-blur-input.d.ts +1 -1
- package/dist/types/components/ui-custom/option-search-input.d.ts +1 -1
- package/dist/types/components/ui-custom/overflow-div.d.ts +1 -1
- package/dist/types/components/ui-custom/overflow-span.d.ts +1 -1
- package/dist/types/components/ui-custom/pre-tag.d.ts +1 -1
- package/dist/types/components/ui-custom/radio-indicator.d.ts +1 -1
- package/dist/types/components/ui-custom/resizable-handle-custom.d.ts +1 -1
- package/dist/types/components/ui-custom/reusable-select.d.ts +1 -1
- package/dist/types/components/ui-custom/visual-badge.d.ts +1 -1
- package/dist/types/components/visual/aggregated-table/aggregate-table.d.ts +2 -1
- package/dist/types/components/visual/aggregated-table/columns/column-cell-components.d.ts +2 -1
- package/dist/types/components/visual/aggregated-table/columns/column-header-components.d.ts +3 -2
- package/dist/types/components/visual/aggregated-table/components/aggregate-table-body.d.ts +1 -1
- package/dist/types/components/visual/aggregated-table/components/grand-total-footer.d.ts +2 -1
- package/dist/types/components/visual/chartjs-visual.d.ts +1 -1
- package/dist/types/components/visual/custom-visual/component-combo-box.d.ts +2 -1
- package/dist/types/components/visual/custom-visual/custom-visual-settings.d.ts +1 -1
- package/dist/types/components/visual/custom-visual/dashboard-custom-visual.d.ts +1 -1
- package/dist/types/components/visual/custom-visual/editor-custom-visual.d.ts +1 -1
- package/dist/types/components/visual/custom-visual/multi-input-empty-renderer.d.ts +1 -1
- package/dist/types/components/visual/data-table/column-resize-handle.d.ts +1 -1
- package/dist/types/components/visual/data-table/copyable-cell.d.ts +1 -1
- package/dist/types/components/visual/data-table/data-table-column-settings.d.ts +1 -1
- package/dist/types/components/visual/data-table/data-table-conditional-formatting-settings.d.ts +1 -1
- package/dist/types/components/visual/data-table/data-table-pagination.d.ts +1 -1
- package/dist/types/components/visual/data-table/data-table-toolbar.d.ts +1 -1
- package/dist/types/components/visual/data-table/data-table.d.ts +1 -1
- package/dist/types/components/visual/data-table/overflow-cell.d.ts +1 -1
- package/dist/types/components/visual/data-table/table-settings-toolbar-button.d.ts +1 -1
- package/dist/types/components/visual/data-table/table-skeleton.d.ts +1 -1
- package/dist/types/components/visual/data-table/table-visual.d.ts +1 -1
- package/dist/types/components/visual/info-hover.d.ts +2 -1
- package/dist/types/components/visual/kpi-visual/format-number-setting.d.ts +1 -1
- package/dist/types/components/visual/kpi-visual/kpi-card-with-info.d.ts +1 -1
- package/dist/types/components/visual/kpi-visual/kpi-card.d.ts +3 -3
- package/dist/types/components/visual/kpi-visual/kpi-editor-ownership-badge.d.ts +1 -1
- package/dist/types/components/visual/matrix-table/matrix-axis-menu.d.ts +1 -1
- package/dist/types/components/visual/matrix-table/matrix-card-view.d.ts +1 -1
- package/dist/types/components/visual/matrix-table/matrix-interaction-actions.d.ts +2 -2
- package/dist/types/components/visual/matrix-table/matrix-loading-skeleton.d.ts +2 -2
- package/dist/types/components/visual/matrix-table/matrix-window-viewer.d.ts +1 -1
- package/dist/types/components/visual/pivot-table/aggregation-menu.d.ts +1 -1
- package/dist/types/components/visual/pivot-table/components/pivot-table-body.d.ts +1 -1
- package/dist/types/components/visual/pivot-table/components/pivot-table-footer.d.ts +2 -1
- package/dist/types/components/visual/pivot-table/hooks/use-pivot-column-headers.d.ts +1 -1
- package/dist/types/components/visual/pivot-table/pivot-table-tanstack.d.ts +1 -1
- package/dist/types/components/visual/settings/axis-mapping.d.ts +2 -2
- package/dist/types/components/visual/settings/chart-documentation.d.ts +3 -3
- package/dist/types/components/visual/settings/chart-orientation.d.ts +1 -1
- package/dist/types/components/visual/settings/color-format.d.ts +2 -1
- package/dist/types/components/visual/settings/controls-settings.d.ts +2 -1
- package/dist/types/components/visual/settings/dataset-label-popover.d.ts +2 -1
- package/dist/types/components/visual/settings/display-labels.d.ts +2 -1
- package/dist/types/components/visual/settings/filter-on-click-columns.d.ts +1 -1
- package/dist/types/components/visual/settings/frame-filters.d.ts +3 -2
- package/dist/types/components/visual/settings/inline-filters-settings.d.ts +2 -1
- package/dist/types/components/visual/settings/kpi-settings.d.ts +1 -1
- package/dist/types/components/visual/settings/map-chart-settings.d.ts +1 -1
- package/dist/types/components/visual/settings/scale-options.d.ts +1 -1
- package/dist/types/components/visual/settings/table-column-visibility-settings.d.ts +1 -1
- package/dist/types/components/visual/settings/table-presentation-settings.d.ts +4 -4
- package/dist/types/components/visual/settings/table-visual-settings.d.ts +1 -1
- package/dist/types/components/visual/settings/text-settings.d.ts +1 -1
- package/dist/types/components/visual/settings/text-type-radio.d.ts +2 -1
- package/dist/types/components/visual/visual-error-state.d.ts +1 -1
- package/dist/types/components/visual/visual.d.ts +1 -1
- package/dist/types/dashboard-assistant/index.d.ts +4 -25
- package/dist/types/data-app-builder/data-app-builder.d.ts +1 -1
- package/dist/types/data-app-sdk/devtools/index.d.ts +1 -1
- package/dist/types/data-app-sdk/provider.d.ts +1 -1
- package/dist/types/lib/charts/area-chart.d.ts +1 -1
- package/dist/types/lib/charts/bar-chart.d.ts +1 -1
- package/dist/types/lib/charts/cartesian-data.d.ts +72 -0
- package/dist/types/lib/charts/cartesian-fields.d.ts +60 -0
- package/dist/types/lib/charts/chart-utils.d.ts +3 -0
- package/dist/types/lib/charts/combo-chart.d.ts +1 -1
- package/dist/types/lib/charts/create-chart.d.ts +1 -1
- package/dist/types/lib/charts/line-chart.d.ts +1 -1
- package/dist/types/lib/charts/shared/category-group-axis-plugin.d.ts +23 -0
- package/dist/types/lib/charts/stacked-line-chart.d.ts +2 -0
- package/dist/types/lib/charts/types.d.ts +2 -8
- package/dist/types/lib/contexts/interactions-popover-context.d.ts +1 -1
- package/dist/types/lib/formatters/cartesian-temporal-presentation.d.ts +6 -1
- package/dist/types/lib/hooks/ai/use-dashboard-assistant.d.ts +1 -5
- package/dist/types/lib/hooks/semaphor-ready-indicator.d.ts +1 -1
- package/dist/types/lib/hooks/use-card-render-context.d.ts +14 -0
- package/dist/types/lib/hooks/use-dashboard-query.d.ts +0 -8
- package/dist/types/lib/hooks/use-dashboard.d.ts +0 -4
- package/dist/types/lib/matrix-table/matrix-execution-provider.d.ts +1 -1
- package/dist/types/lib/print/print-inputs.d.ts +1 -1
- package/dist/types/lib/query-context/build-dashboard-card-query-contract.d.ts +0 -1
- package/dist/types/lib/query-context/dashboard-card-query-key.d.ts +0 -1
- package/dist/types/lib/stores/dashboard-store.d.ts +1 -5
- package/dist/types/lib/stores/editor-store.d.ts +1 -3
- package/dist/types/lib/types/common-types.d.ts +0 -51
- package/dist/types/lib/types/token-types.d.ts +3 -3
- package/dist/types/lib/utils/build-saved-editor-card.d.ts +15 -0
- package/dist/types/lib/utils/dashboard-controls-visibility.d.ts +1 -2
- package/dist/types/lib/utils/entity-icon-utils.d.ts +1 -1
- package/dist/types/lib/utils/field-icon-utils.d.ts +1 -1
- package/dist/types/lib/utils.d.ts +0 -4
- package/package.json +7 -6
- package/dist/chunks/dashboard-controls-lzfI5yqq.js +0 -2432
- package/dist/chunks/edit-dashboard-visual-wlJKYkAf.js +0 -23585
- package/dist/types/components/ai/dynamic-visual-host.d.ts +0 -23
- package/dist/types/components/ai/persisted-dynamic-visual.d.ts +0 -15
- package/dist/types/components/chart-selector/star-button.d.ts +0 -13
- package/dist/types/components/editor/dynamic-visualization-menu-items.d.ts +0 -3
- package/dist/types/components/editor/editor-main/dynamic-visual-editor.d.ts +0 -13
- package/dist/types/components/explorer/chart-configuration/chart-quick-selector.d.ts +0 -19
- package/dist/types/components/explorer/spreadsheet/column-header.d.ts +0 -11
- package/dist/types/components/explorer/spreadsheet/editor-panel.d.ts +0 -7
- package/dist/types/components/explorer/spreadsheet/formula-bar.d.ts +0 -11
- package/dist/types/components/explorer/spreadsheet/index.d.ts +0 -5
- package/dist/types/components/explorer/spreadsheet/spreadsheet-table.d.ts +0 -10
- package/dist/types/components/explorer/spreadsheet/spreadsheet-view.d.ts +0 -5
- package/dist/types/components/surfboard/lens/add-lens-dialog.d.ts +0 -9
- package/dist/types/components/surfboard/lens/default-lens-checkbox.d.ts +0 -1
- package/dist/types/components/surfboard/lens/lens-dropdown.d.ts +0 -10
- package/dist/types/components/surfboard/lens/lens-utils.d.ts +0 -21
- package/dist/types/lib/ai/dynamic-visual-card-utils.d.ts +0 -70
- package/dist/types/lib/ai/dynamic-visual-theme.d.ts +0 -11
- package/dist/types/lib/hooks/use-dynamic-fallback-render-context.d.ts +0 -12
- package/dist/types/lib/hooks/use-starred-charts.d.ts +0 -1
- package/dist/types/lib/stores/starred-charts-store.d.ts +0 -27
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var F = (e, r, t) =>
|
|
4
|
-
import { k as
|
|
5
|
-
import { al as
|
|
1
|
+
var ft = Object.defineProperty;
|
|
2
|
+
var pt = (e, r, t) => r in e ? ft(e, r, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[r] = t;
|
|
3
|
+
var F = (e, r, t) => pt(e, typeof r != "symbol" ? r + "" : r, t);
|
|
4
|
+
import { k as Re, g as yt } from "./numeric-presentation-VhMUHfrJ.js";
|
|
5
|
+
import { al as Ae, a5 as ht, a7 as me, $ as ye, t as gt } from "./validators-CsdOtZI6.js";
|
|
6
6
|
import "./matrix-continuation-C4sRcjZU.js";
|
|
7
|
-
import { $ as
|
|
8
|
-
import { DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES as
|
|
9
|
-
import { k as
|
|
10
|
-
import { z as
|
|
11
|
-
import { r as
|
|
12
|
-
import { h as
|
|
13
|
-
import { r as
|
|
14
|
-
import { a as
|
|
15
|
-
import { h as
|
|
16
|
-
import { r as
|
|
17
|
-
import { v as
|
|
18
|
-
import { f as
|
|
19
|
-
import { v as
|
|
20
|
-
import { r as
|
|
21
|
-
const
|
|
7
|
+
import { $ as vt, a1 as bt } from "./matrix-operation-contract-D32U2CSw.js";
|
|
8
|
+
import { DEFAULT_RESOLVED_VALUE_FORMAT_PREFERENCES as he } from "../value-format-preferences/index.js";
|
|
9
|
+
import { k as It, i as Ct, g as Tt, j as wt, e as $t, M as xt, c as kt, b as Et, P as G } from "./pivot-result-lifecycle-BFO354lk.js";
|
|
10
|
+
import { z as T } from "zod";
|
|
11
|
+
import { r as St } from "./matrix-definition-E5gXXSTZ.js";
|
|
12
|
+
import { h as De, i as ge, r as Me, a as Pe, v as _t, b as Ft } from "./card-config-utils-CAyjC5Tp.js";
|
|
13
|
+
import { r as Rt } from "./matrix-card-CIlz0Dnp.js";
|
|
14
|
+
import { a as Be, s as At, i as Dt, o as Mt } from "./field-aggregations-BQjogiI1.js";
|
|
15
|
+
import { h as re, r as W, c as Pt, R as Bt, v as Ot } from "./raw-temporal-7bFbXd2a.js";
|
|
16
|
+
import { r as V, b as Kt, d as Nt, P as Lt } from "./pivot-result-identity-BzUQiCEV.js";
|
|
17
|
+
import { v as zt, a as qt } from "./temporal-bucket-contract-DTLDRzgV.js";
|
|
18
|
+
import { f as Vt, c as Ut, r as Oe, D as jt } from "./temporal-bucket-PcLFSYWX.js";
|
|
19
|
+
import { v as Ke } from "./raw-temporal-contract-BQZIJ1fn.js";
|
|
20
|
+
import { r as Gt, a as Ht, b as Wt } from "./canonical-result-keys-CEQefvdO.js";
|
|
21
|
+
const Yt = `import pandas as pd
|
|
22
22
|
df = pd.DataFrame(data) # 'data' contains the query result
|
|
23
23
|
result = df.to_dict('records') # must return 'result' as [dict] type
|
|
24
24
|
`;
|
|
25
|
-
function
|
|
25
|
+
function ro(e) {
|
|
26
26
|
return {
|
|
27
27
|
databaseName: (e == null ? void 0 : e.lastSelectedDatabase) || "",
|
|
28
28
|
schemaName: (e == null ? void 0 : e.lastSelectedSchema) || "",
|
|
@@ -30,17 +30,17 @@ function On(e) {
|
|
|
30
30
|
datamodelId: (e == null ? void 0 : e.datamodelId) || ""
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
function
|
|
34
|
-
return e ===
|
|
33
|
+
function Z(e) {
|
|
34
|
+
return e === Yt ? "" : e;
|
|
35
35
|
}
|
|
36
|
-
function
|
|
37
|
-
return
|
|
38
|
-
hasExecutableConfig:
|
|
36
|
+
function ne(e, r = e.config) {
|
|
37
|
+
return Be({
|
|
38
|
+
hasExecutableConfig: De(r, e.type),
|
|
39
39
|
sql: e.sql,
|
|
40
|
-
normalizedPython:
|
|
40
|
+
normalizedPython: Z(e.python || "")
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
class
|
|
43
|
+
class Zt extends Error {
|
|
44
44
|
constructor(t) {
|
|
45
45
|
super(
|
|
46
46
|
`ambiguous_temporal_grain: Temporal field "${t}" has saved presentation but no valid grouping grain. Reconfigure and resave the field.`
|
|
@@ -50,17 +50,17 @@ class Nt extends Error {
|
|
|
50
50
|
this.name = "AmbiguousGroupedTemporalGrainError", this.fieldId = t;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
-
function
|
|
54
|
-
return
|
|
53
|
+
function Qt(e) {
|
|
54
|
+
return Pe(e) || e.semanticTemporalPresentation != null;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function Xt(e) {
|
|
57
57
|
if (!e.id || !["date", "datetime"].includes(
|
|
58
|
-
|
|
58
|
+
Ae(e.dataType)
|
|
59
59
|
))
|
|
60
60
|
return;
|
|
61
|
-
if (
|
|
62
|
-
if (!
|
|
63
|
-
if (!
|
|
61
|
+
if (ht(e.granularity)) return e;
|
|
62
|
+
if (!Qt(e)) return;
|
|
63
|
+
if (!Me({
|
|
64
64
|
fieldId: e.id,
|
|
65
65
|
dataType: e.dataType,
|
|
66
66
|
granularity: e.granularity,
|
|
@@ -68,15 +68,15 @@ function Lt(e) {
|
|
|
68
68
|
dateFormat: e.dateFormat,
|
|
69
69
|
customFormat: e.customFormat
|
|
70
70
|
}).ok)
|
|
71
|
-
throw new
|
|
71
|
+
throw new Zt(e.id);
|
|
72
72
|
return { ...e, granularity: "day" };
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function ve(e) {
|
|
75
75
|
const r = e.cardConfig ?? e.card.config;
|
|
76
|
-
if (!r || !e.supportsCardType(e.card.type) ||
|
|
77
|
-
hasExecutableConfig:
|
|
76
|
+
if (!r || !e.supportsCardType(e.card.type) || Be({
|
|
77
|
+
hasExecutableConfig: De(r),
|
|
78
78
|
sql: e.card.sql,
|
|
79
|
-
normalizedPython:
|
|
79
|
+
normalizedPython: Z(e.card.python || "")
|
|
80
80
|
}) !== "config")
|
|
81
81
|
return;
|
|
82
82
|
const t = [
|
|
@@ -93,74 +93,74 @@ function pe(e) {
|
|
|
93
93
|
cardType: e.card.type,
|
|
94
94
|
cardConfig: r,
|
|
95
95
|
fields: t.flatMap((n) => {
|
|
96
|
-
const o =
|
|
96
|
+
const o = Xt(n);
|
|
97
97
|
return o ? [o] : [];
|
|
98
98
|
})
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
|
-
function
|
|
102
|
-
if (
|
|
103
|
-
return
|
|
101
|
+
function no(e) {
|
|
102
|
+
if (ge(e.card))
|
|
103
|
+
return ve({
|
|
104
104
|
...e,
|
|
105
105
|
card: e.card,
|
|
106
106
|
supportsCardType: (r) => r === "table"
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
|
-
function
|
|
110
|
-
if (
|
|
111
|
-
return
|
|
109
|
+
function oo(e) {
|
|
110
|
+
if (ge(e.card))
|
|
111
|
+
return ve({
|
|
112
112
|
...e,
|
|
113
113
|
card: e.card,
|
|
114
|
-
supportsCardType:
|
|
114
|
+
supportsCardType: Dt
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
|
-
function
|
|
118
|
-
if (
|
|
119
|
-
return
|
|
117
|
+
function Jt(e) {
|
|
118
|
+
if (ge(e.card))
|
|
119
|
+
return ve({
|
|
120
120
|
...e,
|
|
121
121
|
card: e.card,
|
|
122
122
|
// Raw detail-table presentation has its own result/adapter contract.
|
|
123
123
|
// This module remains grouped-only even though the shared producer
|
|
124
124
|
// registry now recognizes detailTable.
|
|
125
|
-
supportsCardType: (r) => r !== "detailTable" &&
|
|
125
|
+
supportsCardType: (r) => r !== "detailTable" && At(r)
|
|
126
126
|
});
|
|
127
127
|
}
|
|
128
|
-
const
|
|
129
|
-
function
|
|
130
|
-
const r =
|
|
128
|
+
const xe = /* @__PURE__ */ new WeakMap();
|
|
129
|
+
function er(e) {
|
|
130
|
+
const r = xe.get(e);
|
|
131
131
|
if (r) return r;
|
|
132
|
-
const t =
|
|
133
|
-
return
|
|
132
|
+
const t = It(e);
|
|
133
|
+
return xe.set(e, t), t;
|
|
134
134
|
}
|
|
135
|
-
function
|
|
135
|
+
function j(e, r) {
|
|
136
136
|
const t = e ?? [], n = r ?? [];
|
|
137
137
|
return t.length === n.length && t.every((o, a) => o === n[a]);
|
|
138
138
|
}
|
|
139
|
-
function
|
|
140
|
-
const t =
|
|
139
|
+
function tr(e, r) {
|
|
140
|
+
const t = Ct({
|
|
141
141
|
groupByFields: r.groupByColumns,
|
|
142
142
|
metricFields: r.metricColumns,
|
|
143
143
|
pivotByFields: r.pivotByColumns,
|
|
144
144
|
detailFields: r.detailColumns
|
|
145
145
|
});
|
|
146
|
-
return
|
|
146
|
+
return j(
|
|
147
147
|
e.expectedRoleFieldIds.groupby,
|
|
148
148
|
t.expectedRoleFieldIds.groupby
|
|
149
|
-
) &&
|
|
149
|
+
) && j(
|
|
150
150
|
e.expectedRoleFieldIds.metric,
|
|
151
151
|
t.expectedRoleFieldIds.metric
|
|
152
|
-
) &&
|
|
152
|
+
) && j(
|
|
153
153
|
e.expectedRoleFieldIds.pivotby,
|
|
154
154
|
t.expectedRoleFieldIds.pivotby
|
|
155
|
-
) &&
|
|
155
|
+
) && j(
|
|
156
156
|
e.expectedRoleFieldIds.detail,
|
|
157
157
|
t.expectedRoleFieldIds.detail
|
|
158
|
-
) &&
|
|
158
|
+
) && j(
|
|
159
159
|
e.expectedMetricAliases,
|
|
160
160
|
t.expectedMetricAliases
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
|
-
class
|
|
163
|
+
class rr extends Error {
|
|
164
164
|
constructor(t) {
|
|
165
165
|
super(
|
|
166
166
|
`missing_resolved_temporal_format: Saved presentation is missing temporal field "${t.fieldId}" for card "${t.cardId}". Resave the report or Briefing to capture the current dashboard presentation.`
|
|
@@ -173,7 +173,7 @@ class Ut extends Error {
|
|
|
173
173
|
this.name = "MissingResolvedTemporalPresentationError", this.dashboardId = t.dashboardId, this.cardId = t.cardId, this.fieldId = t.fieldId;
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
|
-
class
|
|
176
|
+
class ae extends Error {
|
|
177
177
|
constructor(t) {
|
|
178
178
|
super(
|
|
179
179
|
`missing_temporal_bucket_metadata: Result column "${t.columnKey}" is missing temporal bucket metadata for field "${t.fieldId}" on card "${t.cardId}". Refresh the report and resave the delivery if the problem persists.`
|
|
@@ -186,23 +186,23 @@ class te extends Error {
|
|
|
186
186
|
this.name = "MissingTemporalResultMetadataError", this.cardId = t.cardId, this.fieldId = t.fieldId, this.columnKey = t.columnKey;
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
|
-
class
|
|
189
|
+
class L extends Error {
|
|
190
190
|
constructor(t, n, o) {
|
|
191
191
|
super(`${t}: ${n}`);
|
|
192
192
|
F(this, "deliveryBlocking", !0);
|
|
193
193
|
this.code = t, this.context = o, this.name = "DashboardTemporalBoundaryError";
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
|
-
function
|
|
196
|
+
function Ne(e, r) {
|
|
197
197
|
return `${r}:${e}`;
|
|
198
198
|
}
|
|
199
|
-
function
|
|
199
|
+
function nr(e) {
|
|
200
200
|
var r, t;
|
|
201
201
|
return (t = (r = e.presentation) == null ? void 0 : r.byFieldRole) == null ? void 0 : t.get(
|
|
202
|
-
|
|
202
|
+
Ne(e.fieldId, e.role)
|
|
203
203
|
);
|
|
204
204
|
}
|
|
205
|
-
function
|
|
205
|
+
function or(e) {
|
|
206
206
|
var t;
|
|
207
207
|
if ((((t = e.cardConfig.metricColumns) == null ? void 0 : t.length) || 0) > 0 || e.binding.role !== "metric")
|
|
208
208
|
return !1;
|
|
@@ -210,22 +210,22 @@ function Ht(e) {
|
|
|
210
210
|
return e.columns.some(
|
|
211
211
|
(n) => {
|
|
212
212
|
var o;
|
|
213
|
-
return n.role === "measure" && n.dataType === "number" && (n.key === r || ((o = n.pivotIdentity) == null ? void 0 : o.metricId) ===
|
|
213
|
+
return n.role === "measure" && n.dataType === "number" && (n.key === r || ((o = n.pivotIdentity) == null ? void 0 : o.metricId) === me);
|
|
214
214
|
}
|
|
215
215
|
);
|
|
216
216
|
}
|
|
217
|
-
function
|
|
217
|
+
function ao(e, r) {
|
|
218
218
|
return !r || r.byColumnKey.size === 0 ? e.map((t) => ({ ...t })) : e.map((t) => {
|
|
219
219
|
const n = { ...t };
|
|
220
220
|
return r.byColumnKey.forEach((o, a) => {
|
|
221
|
-
Object.prototype.hasOwnProperty.call(t, a) && (n[a] =
|
|
221
|
+
Object.prototype.hasOwnProperty.call(t, a) && (n[a] = Le({
|
|
222
222
|
value: t[a],
|
|
223
223
|
presentation: o
|
|
224
224
|
}));
|
|
225
225
|
}), n;
|
|
226
226
|
});
|
|
227
227
|
}
|
|
228
|
-
function
|
|
228
|
+
function io(e) {
|
|
229
229
|
var p;
|
|
230
230
|
if (!e.result || typeof e.result != "object") return !1;
|
|
231
231
|
const r = e.result;
|
|
@@ -234,64 +234,64 @@ function Ln(e) {
|
|
|
234
234
|
const t = e.activation;
|
|
235
235
|
if (!t || t.cardType !== "pivotTable" && t.fields.length === 0)
|
|
236
236
|
return !0;
|
|
237
|
-
const n = Array.isArray(r.records) ? r.records.length : void 0, o = (t.cardConfig.pivotByColumns || []).map((
|
|
237
|
+
const n = Array.isArray(r.records) ? r.records.length : void 0, o = (t.cardConfig.pivotByColumns || []).map((m) => m.id);
|
|
238
238
|
if (t.cardType === "pivotTable")
|
|
239
239
|
try {
|
|
240
|
-
const
|
|
241
|
-
if (!
|
|
242
|
-
|
|
240
|
+
const m = er(r);
|
|
241
|
+
if (!tr(
|
|
242
|
+
m.pivotResultContract,
|
|
243
243
|
t.cardConfig
|
|
244
244
|
))
|
|
245
245
|
return !1;
|
|
246
|
-
if (
|
|
247
|
-
const
|
|
248
|
-
(
|
|
249
|
-
),
|
|
250
|
-
(
|
|
251
|
-
var
|
|
252
|
-
return (((
|
|
246
|
+
if (m.pivotResultState === "loaded_empty") return !0;
|
|
247
|
+
const g = m.columns.filter(
|
|
248
|
+
(C) => m.pivotResultContract.columnKinds[C.key] === "pivot_metric"
|
|
249
|
+
), y = g.filter(
|
|
250
|
+
(C) => {
|
|
251
|
+
var v;
|
|
252
|
+
return (((v = C.pivotIdentity) == null ? void 0 : v.members.length) ?? 0) > 0;
|
|
253
253
|
}
|
|
254
|
-
), b =
|
|
255
|
-
(
|
|
256
|
-
var
|
|
257
|
-
return ((
|
|
254
|
+
), b = g.length > 0 && g.every(
|
|
255
|
+
(C) => {
|
|
256
|
+
var v;
|
|
257
|
+
return ((v = C.pivotIdentity) == null ? void 0 : v.members.length) === 0 && Kt({
|
|
258
258
|
expectedPivotFieldIds: o,
|
|
259
|
-
classification:
|
|
259
|
+
classification: m.pivotResultContract.columnClassifications[C.key]
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
);
|
|
263
|
-
return t.fields.every((
|
|
263
|
+
return t.fields.every((C) => {
|
|
264
264
|
var E;
|
|
265
|
-
const
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
265
|
+
const v = V(
|
|
266
|
+
m.columnKeyMap,
|
|
267
|
+
C.id,
|
|
268
|
+
C.role
|
|
269
269
|
);
|
|
270
|
-
if (!
|
|
271
|
-
if (
|
|
272
|
-
const _ =
|
|
273
|
-
(
|
|
274
|
-
var
|
|
275
|
-
return ((
|
|
276
|
-
(
|
|
270
|
+
if (!v) return !1;
|
|
271
|
+
if (v.role === "pivotby") {
|
|
272
|
+
const _ = y.flatMap(
|
|
273
|
+
(M) => {
|
|
274
|
+
var U;
|
|
275
|
+
return ((U = M.pivotIdentity) == null ? void 0 : U.members.filter(
|
|
276
|
+
(ut) => ut.fieldId === C.id
|
|
277
277
|
)) ?? [];
|
|
278
278
|
}
|
|
279
279
|
);
|
|
280
280
|
return _.length === 0 ? b : _.every(
|
|
281
|
-
(
|
|
282
|
-
var
|
|
283
|
-
return ((
|
|
281
|
+
(M) => {
|
|
282
|
+
var U;
|
|
283
|
+
return ((U = M.temporalBucket) == null ? void 0 : U.granularity) === C.granularity;
|
|
284
284
|
}
|
|
285
285
|
);
|
|
286
286
|
}
|
|
287
|
-
const
|
|
288
|
-
(_) => _.key === (
|
|
287
|
+
const w = m.columns.find(
|
|
288
|
+
(_) => _.key === (v.outputKey || v.rawKey)
|
|
289
289
|
);
|
|
290
|
-
return ((E =
|
|
290
|
+
return ((E = w == null ? void 0 : w.temporalBucket) == null ? void 0 : E.granularity) === C.granularity;
|
|
291
291
|
});
|
|
292
|
-
} catch (
|
|
293
|
-
if (
|
|
294
|
-
throw
|
|
292
|
+
} catch (m) {
|
|
293
|
+
if (m instanceof wt) return !1;
|
|
294
|
+
throw m;
|
|
295
295
|
}
|
|
296
296
|
if (n === 0)
|
|
297
297
|
return !0;
|
|
@@ -299,100 +299,100 @@ function Ln(e) {
|
|
|
299
299
|
if (!a || !a.byRole || typeof a.byRole != "object" || Array.isArray(a.byRole))
|
|
300
300
|
return !1;
|
|
301
301
|
const i = [
|
|
302
|
-
...(t.cardConfig.groupByColumns || []).map((
|
|
303
|
-
field:
|
|
302
|
+
...(t.cardConfig.groupByColumns || []).map((m) => ({
|
|
303
|
+
field: m,
|
|
304
304
|
role: "groupby"
|
|
305
305
|
})),
|
|
306
|
-
...(t.cardConfig.metricColumns || []).map((
|
|
307
|
-
field:
|
|
306
|
+
...(t.cardConfig.metricColumns || []).map((m) => ({
|
|
307
|
+
field: m,
|
|
308
308
|
role: "metric"
|
|
309
309
|
})),
|
|
310
|
-
...(t.cardConfig.pivotByColumns || []).map((
|
|
311
|
-
field:
|
|
310
|
+
...(t.cardConfig.pivotByColumns || []).map((m) => ({
|
|
311
|
+
field: m,
|
|
312
312
|
role: "pivotby"
|
|
313
313
|
})),
|
|
314
|
-
...(t.cardConfig.detailColumns || []).map((
|
|
315
|
-
field:
|
|
314
|
+
...(t.cardConfig.detailColumns || []).map((m) => ({
|
|
315
|
+
field: m,
|
|
316
316
|
role: "detail"
|
|
317
317
|
}))
|
|
318
318
|
], l = new Set(
|
|
319
|
-
i.map(({ field:
|
|
320
|
-
),
|
|
321
|
-
(r.columns || []).map((
|
|
322
|
-
), c =
|
|
319
|
+
i.map(({ field: m, role: g }) => `${g}:${m.id}`)
|
|
320
|
+
), d = new Map(
|
|
321
|
+
(r.columns || []).map((m) => [m.key, m])
|
|
322
|
+
), c = V(
|
|
323
323
|
a,
|
|
324
|
-
|
|
324
|
+
me,
|
|
325
325
|
"metric"
|
|
326
326
|
);
|
|
327
327
|
if (c) {
|
|
328
|
-
if (!
|
|
328
|
+
if (!or({
|
|
329
329
|
cardConfig: t.cardConfig,
|
|
330
330
|
binding: c,
|
|
331
331
|
columns: r.columns || []
|
|
332
332
|
}))
|
|
333
333
|
return !1;
|
|
334
|
-
l.add(`metric:${
|
|
334
|
+
l.add(`metric:${me}`);
|
|
335
335
|
}
|
|
336
336
|
const s = Object.entries(a.byRole).flatMap(
|
|
337
|
-
([
|
|
337
|
+
([m, g]) => Object.keys(g || {}).map((y) => `${m}:${y}`)
|
|
338
338
|
);
|
|
339
|
-
if (s.length !== l.size || s.some((
|
|
340
|
-
({ field:
|
|
339
|
+
if (s.length !== l.size || s.some((m) => !l.has(m)) || i.some(
|
|
340
|
+
({ field: m, role: g }) => !V(a, m.id, g)
|
|
341
341
|
))
|
|
342
342
|
return !1;
|
|
343
343
|
try {
|
|
344
|
-
|
|
345
|
-
(r.columns || []).map((
|
|
346
|
-
key:
|
|
347
|
-
pivotIdentity:
|
|
344
|
+
Nt(
|
|
345
|
+
(r.columns || []).map((m) => ({
|
|
346
|
+
key: m.key,
|
|
347
|
+
pivotIdentity: m.pivotIdentity
|
|
348
348
|
})),
|
|
349
349
|
{
|
|
350
350
|
expectedPivotFieldIds: o,
|
|
351
351
|
columnClassifications: r.columnMetadata
|
|
352
352
|
}
|
|
353
353
|
);
|
|
354
|
-
} catch (
|
|
355
|
-
if (
|
|
356
|
-
throw
|
|
354
|
+
} catch (m) {
|
|
355
|
+
if (m instanceof Lt) return !1;
|
|
356
|
+
throw m;
|
|
357
357
|
}
|
|
358
|
-
const u = (r.columns || []).filter((
|
|
359
|
-
const
|
|
360
|
-
return !!(
|
|
358
|
+
const u = (r.columns || []).filter((m) => {
|
|
359
|
+
const g = m.pivotIdentity;
|
|
360
|
+
return !!(g && g.members.length > 0);
|
|
361
361
|
});
|
|
362
|
-
return n !== 0 && ((p = t.cardConfig.pivotByColumns) != null && p.length) && u.length === 0 ? !1 : t.fields.every((
|
|
362
|
+
return n !== 0 && ((p = t.cardConfig.pivotByColumns) != null && p.length) && u.length === 0 ? !1 : t.fields.every((m) => {
|
|
363
363
|
var b;
|
|
364
|
-
const
|
|
364
|
+
const g = V(
|
|
365
365
|
a,
|
|
366
|
-
|
|
367
|
-
|
|
366
|
+
m.id,
|
|
367
|
+
m.role
|
|
368
368
|
);
|
|
369
|
-
if (!
|
|
370
|
-
if (
|
|
371
|
-
const
|
|
372
|
-
(
|
|
369
|
+
if (!g) return !1;
|
|
370
|
+
if (g.role === "pivotby") {
|
|
371
|
+
const v = u.flatMap(
|
|
372
|
+
(w) => {
|
|
373
373
|
var E;
|
|
374
|
-
return ((E =
|
|
374
|
+
return ((E = w.pivotIdentity) == null ? void 0 : E.members) ?? [];
|
|
375
375
|
}
|
|
376
|
-
).filter((
|
|
377
|
-
return u.length === 0 ? n === 0 :
|
|
378
|
-
(
|
|
376
|
+
).filter((w) => w.fieldId === m.id);
|
|
377
|
+
return u.length === 0 ? n === 0 : v.length > 0 && v.every(
|
|
378
|
+
(w) => {
|
|
379
379
|
var E;
|
|
380
|
-
return ((E =
|
|
380
|
+
return ((E = w.temporalBucket) == null ? void 0 : E.granularity) === m.granularity;
|
|
381
381
|
}
|
|
382
382
|
);
|
|
383
383
|
}
|
|
384
|
-
const
|
|
385
|
-
return ((b =
|
|
384
|
+
const y = d.get(g.outputKey || g.rawKey);
|
|
385
|
+
return ((b = y == null ? void 0 : y.temporalBucket) == null ? void 0 : b.granularity) === m.granularity;
|
|
386
386
|
});
|
|
387
387
|
}
|
|
388
|
-
function
|
|
388
|
+
function ee(e, r) {
|
|
389
389
|
const t = e.semanticTemporalPresentation, n = r === "card" ? {
|
|
390
390
|
format: e.format,
|
|
391
391
|
dateFormat: e.dateFormat
|
|
392
392
|
} : { format: t == null ? void 0 : t.format };
|
|
393
|
-
if (!
|
|
393
|
+
if (!Pe(n))
|
|
394
394
|
return;
|
|
395
|
-
const o =
|
|
395
|
+
const o = Me({
|
|
396
396
|
fieldId: e.id,
|
|
397
397
|
dataType: e.dataType,
|
|
398
398
|
granularity: r === "semantic" ? t == null ? void 0 : t.granularity : e.granularity,
|
|
@@ -405,9 +405,9 @@ function Q(e, r) {
|
|
|
405
405
|
if (!o.ok) throw new Error(o.error.code);
|
|
406
406
|
return o.format;
|
|
407
407
|
}
|
|
408
|
-
function
|
|
409
|
-
const n =
|
|
410
|
-
return
|
|
408
|
+
function ar(e, r, t = he) {
|
|
409
|
+
const n = ee(e, "card"), o = ee(e, "semantic"), a = e.semanticTemporalPresentation;
|
|
410
|
+
return Oe({
|
|
411
411
|
metadata: r,
|
|
412
412
|
...n ? { cardFormat: n } : {},
|
|
413
413
|
...o && a ? {
|
|
@@ -423,9 +423,9 @@ function Wt(e, r, t = ue) {
|
|
|
423
423
|
}
|
|
424
424
|
});
|
|
425
425
|
}
|
|
426
|
-
function
|
|
426
|
+
function ir(e, r = jt, t = "en-US") {
|
|
427
427
|
var i;
|
|
428
|
-
const n =
|
|
428
|
+
const n = ee(e, "card"), o = ((i = e.semanticTemporalPresentation) == null ? void 0 : i.granularity) === e.granularity ? ee(e, "semantic") : void 0, a = n && n.presentation.mode !== "auto" ? n : o && o.presentation.mode !== "auto" ? o : {
|
|
429
429
|
presentation: { mode: "auto" }
|
|
430
430
|
};
|
|
431
431
|
return a.presentation.mode === "auto" ? {
|
|
@@ -438,7 +438,7 @@ function Yt(e, r = Mt, t = "en-US") {
|
|
|
438
438
|
presentation: a.presentation
|
|
439
439
|
};
|
|
440
440
|
}
|
|
441
|
-
function
|
|
441
|
+
function co(e) {
|
|
442
442
|
const r = e.activation;
|
|
443
443
|
if (!r)
|
|
444
444
|
return {
|
|
@@ -456,17 +456,17 @@ function Vn(e) {
|
|
|
456
456
|
(e.columns || []).map((c) => [c.key, c])
|
|
457
457
|
), n = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), i = r.fields.reduce((c, s) => (c.set(s.id, (c.get(s.id) || 0) + 1), c), /* @__PURE__ */ new Map()), l = (c, s) => {
|
|
458
458
|
a.set(
|
|
459
|
-
|
|
459
|
+
Ne(c.id, c.role),
|
|
460
460
|
s
|
|
461
461
|
), i.get(c.id) === 1 && o.set(c.id, s);
|
|
462
|
-
},
|
|
462
|
+
}, d = (c, s, u) => {
|
|
463
463
|
if (s.granularity !== c.granularity)
|
|
464
|
-
throw new
|
|
464
|
+
throw new L(
|
|
465
465
|
"invalid_temporal_bucket_metadata",
|
|
466
466
|
`Result identity "${u}" declares ${s.granularity} buckets for active ${c.granularity} field "${c.id}".`,
|
|
467
467
|
{ cardId: e.card.id, fieldId: c.id, columnKey: u }
|
|
468
468
|
);
|
|
469
|
-
const p = e.executionSnapshot && e.dashboardId ?
|
|
469
|
+
const p = e.executionSnapshot && e.dashboardId ? Tt({
|
|
470
470
|
snapshot: e.executionSnapshot,
|
|
471
471
|
scope: {
|
|
472
472
|
dashboardId: e.dashboardId,
|
|
@@ -480,7 +480,7 @@ function Vn(e) {
|
|
|
480
480
|
}
|
|
481
481
|
}) : void 0;
|
|
482
482
|
if (e.executionSnapshot && !p)
|
|
483
|
-
throw new
|
|
483
|
+
throw new rr({
|
|
484
484
|
dashboardId: e.dashboardId,
|
|
485
485
|
cardId: e.card.id,
|
|
486
486
|
fieldId: c.id
|
|
@@ -490,22 +490,22 @@ function Vn(e) {
|
|
|
490
490
|
fieldId: c.id,
|
|
491
491
|
role: c.role,
|
|
492
492
|
metadata: s,
|
|
493
|
-
resolved: p ?
|
|
493
|
+
resolved: p ? Oe({
|
|
494
494
|
metadata: s,
|
|
495
495
|
cardFormat: p,
|
|
496
496
|
locale: p.locale,
|
|
497
497
|
...p.presentation.mode === "auto" ? {
|
|
498
498
|
styles: p.presentation.styles
|
|
499
499
|
} : {}
|
|
500
|
-
}) :
|
|
500
|
+
}) : ar(
|
|
501
501
|
c,
|
|
502
502
|
s,
|
|
503
|
-
e.valueFormatPreferences ??
|
|
503
|
+
e.valueFormatPreferences ?? he
|
|
504
504
|
)
|
|
505
505
|
};
|
|
506
506
|
};
|
|
507
507
|
for (const c of r.fields) {
|
|
508
|
-
const s =
|
|
508
|
+
const s = V(
|
|
509
509
|
e.columnKeyMap,
|
|
510
510
|
c.id,
|
|
511
511
|
c.role
|
|
@@ -513,106 +513,106 @@ function Vn(e) {
|
|
|
513
513
|
if (!s) {
|
|
514
514
|
if (e.columns === void 0 && e.columnKeyMap === void 0 && (e.resultRowCount === void 0 || e.resultRowCount === 0))
|
|
515
515
|
continue;
|
|
516
|
-
throw new
|
|
516
|
+
throw new L(
|
|
517
517
|
"missing_temporal_column_binding",
|
|
518
518
|
`Activated temporal field "${c.id}" has no authoritative result-column binding.`,
|
|
519
519
|
{ cardId: e.card.id, fieldId: c.id, columnKey: c.name }
|
|
520
520
|
);
|
|
521
521
|
}
|
|
522
522
|
if (s.role === "pivotby") {
|
|
523
|
-
const
|
|
523
|
+
const y = (e.columns || []).filter(
|
|
524
524
|
(E) => E.pivotIdentity !== void 0
|
|
525
|
-
), b =
|
|
525
|
+
), b = y.flatMap(
|
|
526
526
|
(E) => {
|
|
527
527
|
var _;
|
|
528
|
-
return (((_ = E.pivotIdentity) == null ? void 0 : _.members) || []).filter((
|
|
528
|
+
return (((_ = E.pivotIdentity) == null ? void 0 : _.members) || []).filter((M) => M.fieldId === c.id).map((M) => ({ column: E, member: M }));
|
|
529
529
|
}
|
|
530
530
|
);
|
|
531
531
|
if (b.length === 0) {
|
|
532
|
-
if (
|
|
532
|
+
if (y.length === 0 && (e.card.type !== "pivotTable" || e.resultRowCount === 0))
|
|
533
533
|
continue;
|
|
534
|
-
throw new
|
|
534
|
+
throw new ae({
|
|
535
535
|
cardId: e.card.id,
|
|
536
536
|
fieldId: c.id,
|
|
537
537
|
columnKey: s.outputKey || s.rawKey
|
|
538
538
|
});
|
|
539
539
|
}
|
|
540
|
-
const
|
|
541
|
-
if (!
|
|
542
|
-
throw new
|
|
540
|
+
const C = b[0];
|
|
541
|
+
if (!C.member.temporalBucket)
|
|
542
|
+
throw new ae({
|
|
543
543
|
cardId: e.card.id,
|
|
544
544
|
fieldId: c.id,
|
|
545
|
-
columnKey:
|
|
545
|
+
columnKey: C.column.key
|
|
546
546
|
});
|
|
547
|
-
const
|
|
548
|
-
|
|
547
|
+
const v = zt(
|
|
548
|
+
C.member.temporalBucket
|
|
549
549
|
);
|
|
550
|
-
if (!
|
|
551
|
-
throw new
|
|
550
|
+
if (!v.ok || !v.value)
|
|
551
|
+
throw new L(
|
|
552
552
|
"invalid_temporal_bucket_metadata",
|
|
553
|
-
|
|
553
|
+
v.ok ? `Pivot result column "${C.column.key}" has no validated temporal bucket metadata.` : v.error.message,
|
|
554
554
|
{
|
|
555
555
|
cardId: e.card.id,
|
|
556
556
|
fieldId: c.id,
|
|
557
|
-
columnKey:
|
|
557
|
+
columnKey: C.column.key
|
|
558
558
|
}
|
|
559
559
|
);
|
|
560
|
-
const
|
|
560
|
+
const w = d(
|
|
561
561
|
c,
|
|
562
|
-
|
|
563
|
-
|
|
562
|
+
v.value,
|
|
563
|
+
C.column.key
|
|
564
564
|
);
|
|
565
565
|
for (const { column: E, member: _ } of b)
|
|
566
|
-
if (!_.temporalBucket || JSON.stringify(_.temporalBucket) !== JSON.stringify(
|
|
567
|
-
throw new
|
|
566
|
+
if (!_.temporalBucket || JSON.stringify(_.temporalBucket) !== JSON.stringify(C.member.temporalBucket))
|
|
567
|
+
throw new L(
|
|
568
568
|
"invalid_temporal_bucket_metadata",
|
|
569
569
|
`Pivot result column "${E.key}" has contradictory bucket metadata for field "${c.id}".`,
|
|
570
570
|
{ cardId: e.card.id, fieldId: c.id, columnKey: E.key }
|
|
571
571
|
);
|
|
572
|
-
l(c,
|
|
572
|
+
l(c, w);
|
|
573
573
|
continue;
|
|
574
574
|
}
|
|
575
575
|
const u = s.outputKey || s.rawKey, p = t.get(u);
|
|
576
576
|
if (!(p != null && p.temporalBucket))
|
|
577
|
-
throw new
|
|
577
|
+
throw new ae({
|
|
578
578
|
cardId: e.card.id,
|
|
579
579
|
fieldId: c.id,
|
|
580
580
|
columnKey: u
|
|
581
581
|
});
|
|
582
|
-
const
|
|
582
|
+
const m = qt(p, {
|
|
583
583
|
metadataRequired: !0
|
|
584
584
|
});
|
|
585
|
-
if (!
|
|
586
|
-
throw new
|
|
585
|
+
if (!m.ok || !m.value)
|
|
586
|
+
throw new L(
|
|
587
587
|
"invalid_temporal_bucket_metadata",
|
|
588
|
-
|
|
588
|
+
m.ok ? `Result column "${u}" has no validated temporal bucket metadata.` : m.error.message,
|
|
589
589
|
{ cardId: e.card.id, fieldId: c.id, columnKey: u }
|
|
590
590
|
);
|
|
591
|
-
const
|
|
591
|
+
const g = d(
|
|
592
592
|
c,
|
|
593
|
-
|
|
593
|
+
m.value,
|
|
594
594
|
u
|
|
595
595
|
);
|
|
596
|
-
n.set(u,
|
|
596
|
+
n.set(u, g), l(c, g);
|
|
597
597
|
}
|
|
598
598
|
return { byColumnKey: n, byFieldId: o, byFieldRole: a };
|
|
599
599
|
}
|
|
600
|
-
function
|
|
600
|
+
function lo(e) {
|
|
601
601
|
var t, n;
|
|
602
|
-
const r = e.role ?
|
|
602
|
+
const r = e.role ? nr({
|
|
603
603
|
presentation: e.presentation,
|
|
604
604
|
fieldId: e.fieldId,
|
|
605
605
|
role: e.role
|
|
606
606
|
}) : (n = (t = e.presentation) == null ? void 0 : t.byFieldId) == null ? void 0 : n.get(e.fieldId);
|
|
607
|
-
return r ?
|
|
607
|
+
return r ? Le({
|
|
608
608
|
value: e.value,
|
|
609
609
|
presentation: r
|
|
610
610
|
}) : e.value === null || e.value === void 0 ? "" : String(e.value);
|
|
611
611
|
}
|
|
612
|
-
function
|
|
612
|
+
function Le(e) {
|
|
613
613
|
if (e.value === null || e.value === void 0) return "(Blank)";
|
|
614
614
|
if (typeof e.value != "string")
|
|
615
|
-
throw new
|
|
615
|
+
throw new L(
|
|
616
616
|
"invalid_temporal_bucket_value",
|
|
617
617
|
`Canonical temporal column "${e.presentation.columnKey}" must contain a string or null.`,
|
|
618
618
|
{
|
|
@@ -621,13 +621,13 @@ function Be(e) {
|
|
|
621
621
|
}
|
|
622
622
|
);
|
|
623
623
|
try {
|
|
624
|
-
return
|
|
624
|
+
return Vt({
|
|
625
625
|
value: e.value,
|
|
626
626
|
metadata: e.presentation.metadata,
|
|
627
627
|
format: e.presentation.resolved.format
|
|
628
628
|
});
|
|
629
629
|
} catch (r) {
|
|
630
|
-
throw r instanceof
|
|
630
|
+
throw r instanceof Ut ? new L(
|
|
631
631
|
r.code,
|
|
632
632
|
r.message,
|
|
633
633
|
{
|
|
@@ -642,19 +642,19 @@ class S extends Error {
|
|
|
642
642
|
super(`${r}: ${t}`), this.code = r, this.context = n, Object.setPrototypeOf(this, S.prototype), this.name = "RawTemporalPresentationBoundaryError";
|
|
643
643
|
}
|
|
644
644
|
}
|
|
645
|
-
function
|
|
645
|
+
function ze() {
|
|
646
646
|
return { type: "raw_temporal", presentation: { mode: "auto" } };
|
|
647
647
|
}
|
|
648
|
-
function
|
|
648
|
+
function cr(e) {
|
|
649
649
|
if (e.locale || e.relative || e.timezone && e.timezone !== "auto" || e.sourceTimezone && e.sourceTimezone !== "auto" || e.prefix || e.suffix)
|
|
650
650
|
throw new S(
|
|
651
651
|
"invalid_raw_temporal_format",
|
|
652
652
|
"Activated raw temporal presentation contains unsupported locale, relative-time, timezone, prefix, or suffix settings."
|
|
653
653
|
);
|
|
654
654
|
}
|
|
655
|
-
function
|
|
655
|
+
function qe(e) {
|
|
656
656
|
const r = e.format;
|
|
657
|
-
if ((r == null ? void 0 : r.type) === "date" && (
|
|
657
|
+
if ((r == null ? void 0 : r.type) === "date" && (cr(r), r.pattern))
|
|
658
658
|
return {
|
|
659
659
|
type: "raw_temporal",
|
|
660
660
|
presentation: {
|
|
@@ -692,12 +692,12 @@ function Oe(e) {
|
|
|
692
692
|
dialect: "semaphor_tokens",
|
|
693
693
|
pattern: e.dateFormat
|
|
694
694
|
}
|
|
695
|
-
} :
|
|
695
|
+
} : ze();
|
|
696
696
|
}
|
|
697
|
-
function
|
|
697
|
+
function be(e) {
|
|
698
698
|
var i;
|
|
699
699
|
if (e != null && e.useRelativeTime) return;
|
|
700
|
-
if (!e) return
|
|
700
|
+
if (!e) return ze();
|
|
701
701
|
if (e.useCustomFormat && !((i = e.customFormat) != null && i.trim()))
|
|
702
702
|
throw new S(
|
|
703
703
|
"invalid_raw_temporal_format",
|
|
@@ -723,18 +723,18 @@ function ye(e) {
|
|
|
723
723
|
presentation: { mode: "auto" }
|
|
724
724
|
};
|
|
725
725
|
}
|
|
726
|
-
function
|
|
726
|
+
function so(e) {
|
|
727
727
|
return e === "instant" ? "yyyy-MM-dd'T'HH:mm:ssXXX" : e === "wall_datetime" ? "yyyy-MM-dd'T'HH:mm:ss" : "yyyy-MM-dd";
|
|
728
728
|
}
|
|
729
|
-
function
|
|
730
|
-
|
|
729
|
+
function mo(e) {
|
|
730
|
+
Ot({
|
|
731
731
|
dialect: "date_fns",
|
|
732
732
|
pattern: e.pattern,
|
|
733
733
|
valueKind: e.valueKind
|
|
734
734
|
});
|
|
735
735
|
}
|
|
736
|
-
function
|
|
737
|
-
const r =
|
|
736
|
+
function lr(e) {
|
|
737
|
+
const r = be(e.settings);
|
|
738
738
|
if (!r)
|
|
739
739
|
throw new S(
|
|
740
740
|
"invalid_raw_temporal_format",
|
|
@@ -743,9 +743,9 @@ function Qt(e) {
|
|
|
743
743
|
const t = e.valueKind ?? (r.presentation.mode === "pattern" ? "instant" : "date"), n = {
|
|
744
744
|
kind: "raw_temporal",
|
|
745
745
|
valueKind: t
|
|
746
|
-
}, o = e.value ?? (t === "date" ? "2023-05-15" : t === "wall_datetime" ? "2023-05-15T14:30:45" : "2023-05-15T14:30:45Z"), a =
|
|
746
|
+
}, o = e.value ?? (t === "date" ? "2023-05-15" : t === "wall_datetime" ? "2023-05-15T14:30:45" : "2023-05-15T14:30:45Z"), a = re({
|
|
747
747
|
metadata: n,
|
|
748
|
-
format:
|
|
748
|
+
format: W({
|
|
749
749
|
format: r,
|
|
750
750
|
preferences: e.preferences,
|
|
751
751
|
calendar: { tz: e.calendarTimezone }
|
|
@@ -758,9 +758,9 @@ function Qt(e) {
|
|
|
758
758
|
);
|
|
759
759
|
return a.text;
|
|
760
760
|
}
|
|
761
|
-
function
|
|
761
|
+
function uo(e) {
|
|
762
762
|
try {
|
|
763
|
-
return { ok: !0, text:
|
|
763
|
+
return { ok: !0, text: lr(e) };
|
|
764
764
|
} catch (r) {
|
|
765
765
|
return {
|
|
766
766
|
ok: !1,
|
|
@@ -768,14 +768,14 @@ function Gn(e) {
|
|
|
768
768
|
};
|
|
769
769
|
}
|
|
770
770
|
}
|
|
771
|
-
function
|
|
771
|
+
function Ve(e) {
|
|
772
772
|
var t;
|
|
773
773
|
const r = e.effectiveCardConfig ?? e.card.config;
|
|
774
|
-
return
|
|
774
|
+
return ne(e.card, r) === "freeform" && !!((t = e.card.sql) != null && t.trim()) && !Z(e.card.python || "").trim();
|
|
775
775
|
}
|
|
776
|
-
function
|
|
776
|
+
function sr(e) {
|
|
777
777
|
var r, t;
|
|
778
|
-
return e.type !== "table" && e.type !== "detailTable" || !
|
|
778
|
+
return e.type !== "table" && e.type !== "detailTable" || !Ve({ card: e }) ? !1 : Object.values(
|
|
779
779
|
((t = (r = e.preferences) == null ? void 0 : r.tablePrefs) == null ? void 0 : t.columnSettingsMap) || {}
|
|
780
780
|
).some(
|
|
781
781
|
(n) => {
|
|
@@ -784,9 +784,9 @@ function Jt(e) {
|
|
|
784
784
|
}
|
|
785
785
|
);
|
|
786
786
|
}
|
|
787
|
-
function
|
|
787
|
+
function fo(e) {
|
|
788
788
|
var t, n, o;
|
|
789
|
-
if (!
|
|
789
|
+
if (!sr(e)) return e;
|
|
790
790
|
const r = ((n = (t = e.preferences) == null ? void 0 : t.tablePrefs) == null ? void 0 : n.columnSettingsMap) || {};
|
|
791
791
|
return {
|
|
792
792
|
...e,
|
|
@@ -796,10 +796,10 @@ function Hn(e) {
|
|
|
796
796
|
...(o = e.preferences) == null ? void 0 : o.tablePrefs,
|
|
797
797
|
columnSettingsMap: Object.fromEntries(
|
|
798
798
|
Object.entries(r).map(([a, i]) => {
|
|
799
|
-
var l,
|
|
799
|
+
var l, d, c;
|
|
800
800
|
return [
|
|
801
801
|
a,
|
|
802
|
-
i.type === "date" && ((l = i.dateFormat) == null ? void 0 : l.useRelativeTime) !== !0 && ((
|
|
802
|
+
i.type === "date" && ((l = i.dateFormat) == null ? void 0 : l.useRelativeTime) !== !0 && ((d = i.dateFormat) == null ? void 0 : d.useCustomFormat) === !0 && !((c = i.dateFormat.customFormat) != null && c.trim()) ? {
|
|
803
803
|
...i,
|
|
804
804
|
dateFormat: {
|
|
805
805
|
...i.dateFormat,
|
|
@@ -815,17 +815,17 @@ function Hn(e) {
|
|
|
815
815
|
}
|
|
816
816
|
};
|
|
817
817
|
}
|
|
818
|
-
function
|
|
818
|
+
function dr() {
|
|
819
819
|
return {
|
|
820
820
|
activatedColumnKeys: /* @__PURE__ */ new Set(),
|
|
821
821
|
byColumnKey: /* @__PURE__ */ new Map(),
|
|
822
822
|
byFieldId: /* @__PURE__ */ new Map()
|
|
823
823
|
};
|
|
824
824
|
}
|
|
825
|
-
function
|
|
825
|
+
function ue(e, r) {
|
|
826
826
|
return e === void 0 ? { kind: "invalid", error: r } : {
|
|
827
827
|
kind: "invalid",
|
|
828
|
-
error: e instanceof S ? e : e instanceof
|
|
828
|
+
error: e instanceof S ? e : e instanceof Bt ? new S(
|
|
829
829
|
e.code,
|
|
830
830
|
e.message,
|
|
831
831
|
r.context
|
|
@@ -836,14 +836,14 @@ function le(e, r) {
|
|
|
836
836
|
)
|
|
837
837
|
};
|
|
838
838
|
}
|
|
839
|
-
function
|
|
839
|
+
function mr(e) {
|
|
840
840
|
var o;
|
|
841
841
|
if (e.cardType !== "detailTable" || e.resultOwner !== "config")
|
|
842
842
|
return { kind: "inactive" };
|
|
843
843
|
if (!e.result) return { kind: "loading" };
|
|
844
844
|
const { records: r, columns: t, columnKeyMap: n } = e.result;
|
|
845
845
|
if (!Array.isArray(r) || !Array.isArray(t) || !n)
|
|
846
|
-
return
|
|
846
|
+
return ue(
|
|
847
847
|
void 0,
|
|
848
848
|
new S(
|
|
849
849
|
"missing_raw_temporal_result_contract",
|
|
@@ -858,13 +858,13 @@ function er(e) {
|
|
|
858
858
|
s.id,
|
|
859
859
|
s
|
|
860
860
|
])
|
|
861
|
-
), l = /* @__PURE__ */ new Map(),
|
|
861
|
+
), l = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map();
|
|
862
862
|
for (const s of a) {
|
|
863
863
|
const u = Array.from(i).flatMap(
|
|
864
|
-
([
|
|
865
|
-
const _ =
|
|
864
|
+
([w, E]) => {
|
|
865
|
+
const _ = V(
|
|
866
866
|
n,
|
|
867
|
-
|
|
867
|
+
w,
|
|
868
868
|
"detail"
|
|
869
869
|
);
|
|
870
870
|
return _ && _.role === "detail" && (_.outputKey ?? _.rawKey) === s.key ? [{ field: E, binding: _ }] : [];
|
|
@@ -876,43 +876,43 @@ function er(e) {
|
|
|
876
876
|
`Raw temporal result column "${s.key}" does not have one valid exact detail result binding.`,
|
|
877
877
|
{ columnKey: s.key }
|
|
878
878
|
);
|
|
879
|
-
const { field:
|
|
879
|
+
const { field: m, binding: g } = p, y = g.outputKey ?? g.rawKey, b = Ke(s, {
|
|
880
880
|
metadataRequired: !0
|
|
881
881
|
});
|
|
882
882
|
if (!b)
|
|
883
883
|
throw new S(
|
|
884
884
|
"invalid_raw_temporal_metadata",
|
|
885
|
-
`Raw temporal result column "${
|
|
886
|
-
{ fieldId:
|
|
885
|
+
`Raw temporal result column "${y}" has no metadata.`,
|
|
886
|
+
{ fieldId: m.id, columnKey: y }
|
|
887
887
|
);
|
|
888
|
-
const
|
|
889
|
-
format:
|
|
888
|
+
const C = W({
|
|
889
|
+
format: qe(m),
|
|
890
890
|
preferences: e.preferences,
|
|
891
891
|
calendar: e.calendar
|
|
892
|
-
}),
|
|
893
|
-
fieldId:
|
|
894
|
-
columnKey:
|
|
892
|
+
}), v = {
|
|
893
|
+
fieldId: m.id,
|
|
894
|
+
columnKey: y,
|
|
895
895
|
metadata: b,
|
|
896
|
-
format:
|
|
897
|
-
formatValue:
|
|
896
|
+
format: C,
|
|
897
|
+
formatValue: re({ metadata: b, format: C })
|
|
898
898
|
};
|
|
899
|
-
for (let
|
|
900
|
-
if (!Object.prototype.hasOwnProperty.call(r[
|
|
899
|
+
for (let w = 0; w < r.length; w += 1)
|
|
900
|
+
if (!Object.prototype.hasOwnProperty.call(r[w], y) || r[w][y] === void 0)
|
|
901
901
|
throw new S(
|
|
902
902
|
"missing_raw_temporal_result_contract",
|
|
903
|
-
`Raw temporal result row ${
|
|
904
|
-
{ fieldId:
|
|
903
|
+
`Raw temporal result row ${w} is missing column "${y}".`,
|
|
904
|
+
{ fieldId: m.id, columnKey: y }
|
|
905
905
|
);
|
|
906
|
-
l.set(
|
|
906
|
+
l.set(y, v), d.set(m.id, v);
|
|
907
907
|
}
|
|
908
908
|
const c = {
|
|
909
909
|
activatedColumnKeys: new Set(l.keys()),
|
|
910
910
|
byColumnKey: l,
|
|
911
|
-
byFieldId:
|
|
911
|
+
byFieldId: d
|
|
912
912
|
};
|
|
913
913
|
return r.length === 0 ? { kind: "loaded_empty", presentation: c } : { kind: "loaded_valid", presentation: c };
|
|
914
914
|
} catch (a) {
|
|
915
|
-
return
|
|
915
|
+
return ue(
|
|
916
916
|
a,
|
|
917
917
|
new S(
|
|
918
918
|
"invalid_raw_temporal_metadata",
|
|
@@ -921,9 +921,9 @@ function er(e) {
|
|
|
921
921
|
);
|
|
922
922
|
}
|
|
923
923
|
}
|
|
924
|
-
function
|
|
924
|
+
function ur(e) {
|
|
925
925
|
var n, o, a;
|
|
926
|
-
const r = e.effectiveCardConfig ?? e.card.config, t =
|
|
926
|
+
const r = e.effectiveCardConfig ?? e.card.config, t = ne(
|
|
927
927
|
e.card,
|
|
928
928
|
r
|
|
929
929
|
);
|
|
@@ -935,8 +935,8 @@ function tr(e) {
|
|
|
935
935
|
"missing_raw_temporal_result_contract",
|
|
936
936
|
"Activated raw temporal detail results require records, columns, and columnKeyMap atomically."
|
|
937
937
|
)
|
|
938
|
-
} : e.records !== void 0 && !i ? { kind: "inactive" } :
|
|
939
|
-
|
|
938
|
+
} : e.records !== void 0 && !i ? { kind: "inactive" } : ke(
|
|
939
|
+
mr({
|
|
940
940
|
cardType: e.card.type,
|
|
941
941
|
resultOwner: t,
|
|
942
942
|
effectiveCardConfig: r,
|
|
@@ -951,11 +951,11 @@ function tr(e) {
|
|
|
951
951
|
e
|
|
952
952
|
);
|
|
953
953
|
}
|
|
954
|
-
return
|
|
955
|
-
|
|
954
|
+
return ke(
|
|
955
|
+
fr({
|
|
956
956
|
resultOwner: t,
|
|
957
957
|
sql: e.card.sql,
|
|
958
|
-
normalizedPython:
|
|
958
|
+
normalizedPython: Z(
|
|
959
959
|
e.card.python || ""
|
|
960
960
|
),
|
|
961
961
|
records: e.records,
|
|
@@ -967,13 +967,13 @@ function tr(e) {
|
|
|
967
967
|
e
|
|
968
968
|
);
|
|
969
969
|
}
|
|
970
|
-
function
|
|
970
|
+
function po(e) {
|
|
971
971
|
var n, o, a;
|
|
972
|
-
const r = e.effectiveCardConfig ?? e.card.config, t =
|
|
972
|
+
const r = e.effectiveCardConfig ?? e.card.config, t = ne(
|
|
973
973
|
e.card,
|
|
974
974
|
r
|
|
975
975
|
);
|
|
976
|
-
return e.card.type === "detailTable" && t === "config" ? !!((n = e.columns) != null && n.some((i) => i.rawTemporal)) :
|
|
976
|
+
return e.card.type === "detailTable" && t === "config" ? !!((n = e.columns) != null && n.some((i) => i.rawTemporal)) : Ve(e) ? Object.values(
|
|
977
977
|
((a = (o = e.card.preferences) == null ? void 0 : o.tablePrefs) == null ? void 0 : a.columnSettingsMap) || {}
|
|
978
978
|
).some(
|
|
979
979
|
(i) => {
|
|
@@ -982,7 +982,7 @@ function Wn(e) {
|
|
|
982
982
|
}
|
|
983
983
|
) : !1;
|
|
984
984
|
}
|
|
985
|
-
function
|
|
985
|
+
function ke(e, r) {
|
|
986
986
|
if (!r.executionSnapshot || e.kind === "inactive" || e.kind === "loading" || e.kind === "invalid")
|
|
987
987
|
return e;
|
|
988
988
|
if (!r.dashboardId)
|
|
@@ -995,7 +995,7 @@ function Ce(e, r) {
|
|
|
995
995
|
};
|
|
996
996
|
const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
997
997
|
for (const o of e.presentation.activatedColumnKeys) {
|
|
998
|
-
const a =
|
|
998
|
+
const a = $t({
|
|
999
999
|
snapshot: r.executionSnapshot,
|
|
1000
1000
|
scope: {
|
|
1001
1001
|
dashboardId: r.dashboardId,
|
|
@@ -1007,14 +1007,14 @@ function Ce(e, r) {
|
|
|
1007
1007
|
if (!a)
|
|
1008
1008
|
return {
|
|
1009
1009
|
kind: "invalid",
|
|
1010
|
-
error: new
|
|
1010
|
+
error: new xt(o)
|
|
1011
1011
|
};
|
|
1012
1012
|
const i = e.presentation.byColumnKey.get(o);
|
|
1013
1013
|
if (!i) continue;
|
|
1014
1014
|
const l = {
|
|
1015
1015
|
...i,
|
|
1016
1016
|
format: a,
|
|
1017
|
-
formatValue:
|
|
1017
|
+
formatValue: re({
|
|
1018
1018
|
metadata: i.metadata,
|
|
1019
1019
|
format: a
|
|
1020
1020
|
})
|
|
@@ -1030,7 +1030,7 @@ function Ce(e, r) {
|
|
|
1030
1030
|
}
|
|
1031
1031
|
};
|
|
1032
1032
|
}
|
|
1033
|
-
function
|
|
1033
|
+
function fr(e) {
|
|
1034
1034
|
var t, n;
|
|
1035
1035
|
if (e.resultOwner !== "freeform" || !((t = e.sql) != null && t.trim()) || (n = e.normalizedPython) != null && n.trim())
|
|
1036
1036
|
return { kind: "inactive" };
|
|
@@ -1049,11 +1049,11 @@ function rr(e) {
|
|
|
1049
1049
|
r.map(([c]) => c)
|
|
1050
1050
|
), i = /* @__PURE__ */ new Map(), l = [...e.columns || []];
|
|
1051
1051
|
for (const [c, s] of r) {
|
|
1052
|
-
const u =
|
|
1052
|
+
const u = be(
|
|
1053
1053
|
s.dateFormat
|
|
1054
1054
|
);
|
|
1055
1055
|
if (!u) continue;
|
|
1056
|
-
const p =
|
|
1056
|
+
const p = Pt({
|
|
1057
1057
|
columnKey: c,
|
|
1058
1058
|
values: e.records.map((b) => {
|
|
1059
1059
|
if (!Object.prototype.hasOwnProperty.call(b, c))
|
|
@@ -1062,37 +1062,37 @@ function rr(e) {
|
|
|
1062
1062
|
`Declared SQL temporal column "${c}" is absent from a physical result row.`,
|
|
1063
1063
|
{ columnKey: c }
|
|
1064
1064
|
);
|
|
1065
|
-
const
|
|
1066
|
-
return
|
|
1065
|
+
const C = b[c];
|
|
1066
|
+
return C === null || typeof C == "string" ? C : String(C);
|
|
1067
1067
|
})
|
|
1068
1068
|
});
|
|
1069
1069
|
if (i.set(c, p), p.status !== "classified") continue;
|
|
1070
|
-
let
|
|
1070
|
+
let m = l.findIndex(
|
|
1071
1071
|
(b) => b.key === c
|
|
1072
1072
|
);
|
|
1073
|
-
if (e.columns &&
|
|
1073
|
+
if (e.columns && m < 0)
|
|
1074
1074
|
throw new S(
|
|
1075
1075
|
"missing_raw_temporal_result_contract",
|
|
1076
1076
|
`Classified SQL temporal column "${c}" is absent from result columns.`,
|
|
1077
1077
|
{ columnKey: c }
|
|
1078
1078
|
);
|
|
1079
|
-
|
|
1079
|
+
m < 0 && (m = l.length, l.push({
|
|
1080
1080
|
key: c,
|
|
1081
1081
|
name: c,
|
|
1082
1082
|
label: c,
|
|
1083
1083
|
role: "dimension",
|
|
1084
1084
|
dataType: "string"
|
|
1085
1085
|
}));
|
|
1086
|
-
const
|
|
1087
|
-
...l[
|
|
1086
|
+
const g = {
|
|
1087
|
+
...l[m],
|
|
1088
1088
|
role: "date",
|
|
1089
1089
|
dataType: p.metadata.valueKind === "date" ? "date" : "datetime",
|
|
1090
1090
|
rawTemporal: p.metadata
|
|
1091
1091
|
};
|
|
1092
|
-
|
|
1092
|
+
Ke(g, {
|
|
1093
1093
|
metadataRequired: !0
|
|
1094
|
-
}), l[
|
|
1095
|
-
const
|
|
1094
|
+
}), l[m] = g;
|
|
1095
|
+
const y = W({
|
|
1096
1096
|
format: u,
|
|
1097
1097
|
preferences: e.preferences,
|
|
1098
1098
|
calendar: e.calendar
|
|
@@ -1100,31 +1100,31 @@ function rr(e) {
|
|
|
1100
1100
|
o.set(c, {
|
|
1101
1101
|
columnKey: c,
|
|
1102
1102
|
metadata: p.metadata,
|
|
1103
|
-
format:
|
|
1104
|
-
formatValue:
|
|
1103
|
+
format: y,
|
|
1104
|
+
formatValue: re({
|
|
1105
1105
|
metadata: p.metadata,
|
|
1106
|
-
format:
|
|
1106
|
+
format: y
|
|
1107
1107
|
})
|
|
1108
1108
|
});
|
|
1109
1109
|
}
|
|
1110
|
-
const
|
|
1111
|
-
...
|
|
1110
|
+
const d = {
|
|
1111
|
+
...dr(),
|
|
1112
1112
|
activatedColumnKeys: a,
|
|
1113
1113
|
byColumnKey: o
|
|
1114
1114
|
};
|
|
1115
1115
|
return e.records.length === 0 ? {
|
|
1116
1116
|
kind: "loaded_empty",
|
|
1117
|
-
presentation:
|
|
1117
|
+
presentation: d,
|
|
1118
1118
|
adaptedColumns: l,
|
|
1119
1119
|
sqlClassifications: i
|
|
1120
1120
|
} : {
|
|
1121
1121
|
kind: "loaded_valid",
|
|
1122
|
-
presentation:
|
|
1122
|
+
presentation: d,
|
|
1123
1123
|
adaptedColumns: l,
|
|
1124
1124
|
sqlClassifications: i
|
|
1125
1125
|
};
|
|
1126
1126
|
} catch (o) {
|
|
1127
|
-
return
|
|
1127
|
+
return ue(
|
|
1128
1128
|
o,
|
|
1129
1129
|
new S(
|
|
1130
1130
|
"invalid_raw_temporal_format",
|
|
@@ -1133,7 +1133,7 @@ function rr(e) {
|
|
|
1133
1133
|
);
|
|
1134
1134
|
}
|
|
1135
1135
|
}
|
|
1136
|
-
function
|
|
1136
|
+
function yo(e) {
|
|
1137
1137
|
if (e.value !== null && typeof e.value != "string")
|
|
1138
1138
|
return {
|
|
1139
1139
|
value: e.value,
|
|
@@ -1150,51 +1150,51 @@ function Yn(e) {
|
|
|
1150
1150
|
const r = e.presentation.formatValue(e.value);
|
|
1151
1151
|
return { value: e.value, label: r.text, result: r };
|
|
1152
1152
|
}
|
|
1153
|
-
function
|
|
1153
|
+
function ho(e) {
|
|
1154
1154
|
if (!e.result || typeof e.result != "object") return !1;
|
|
1155
1155
|
const r = e.result;
|
|
1156
1156
|
if (e.expectedResultOwner !== void 0 && r.resultOwner !== e.expectedResultOwner || !Array.isArray(r.records)) return !1;
|
|
1157
|
-
const t =
|
|
1157
|
+
const t = ur({
|
|
1158
1158
|
card: e.card,
|
|
1159
1159
|
effectiveCardConfig: e.effectiveCardConfig,
|
|
1160
1160
|
records: r.records,
|
|
1161
1161
|
columns: r.columns,
|
|
1162
1162
|
columnKeyMap: r.columnKeyMap,
|
|
1163
|
-
preferences:
|
|
1163
|
+
preferences: he,
|
|
1164
1164
|
calendar: { tz: "UTC" }
|
|
1165
1165
|
});
|
|
1166
1166
|
return t.kind === "inactive" || t.kind === "loaded_empty" || t.kind === "loaded_valid";
|
|
1167
1167
|
}
|
|
1168
|
-
function
|
|
1168
|
+
function Ee(e) {
|
|
1169
1169
|
return !e || typeof e != "object" ? !1 : Array.isArray(e.cards);
|
|
1170
1170
|
}
|
|
1171
|
-
function
|
|
1171
|
+
function pr(e) {
|
|
1172
1172
|
if (!e)
|
|
1173
1173
|
return null;
|
|
1174
1174
|
if (typeof e == "string")
|
|
1175
1175
|
try {
|
|
1176
1176
|
const r = JSON.parse(e);
|
|
1177
|
-
return
|
|
1177
|
+
return Ee(r) ? r : null;
|
|
1178
1178
|
} catch {
|
|
1179
1179
|
return null;
|
|
1180
1180
|
}
|
|
1181
|
-
return
|
|
1181
|
+
return Ee(e) ? e : null;
|
|
1182
1182
|
}
|
|
1183
|
-
function
|
|
1183
|
+
function Ue(e) {
|
|
1184
1184
|
var r;
|
|
1185
1185
|
return (r = e == null ? void 0 : e.cards) != null && r.length ? e.activeCardId && e.cards.find((t) => t.id === e.activeCardId) || e.cards[0] : null;
|
|
1186
1186
|
}
|
|
1187
|
-
function
|
|
1187
|
+
function go(e) {
|
|
1188
1188
|
var t;
|
|
1189
1189
|
const r = (e == null ? void 0 : e.frameObject) ?? ((t = e == null ? void 0 : e.visual) == null ? void 0 : t.frameObject);
|
|
1190
|
-
return
|
|
1190
|
+
return Ue(pr(r));
|
|
1191
1191
|
}
|
|
1192
|
-
function
|
|
1192
|
+
function Ie(e) {
|
|
1193
1193
|
if (!(e != null && e.expectedType)) return "table";
|
|
1194
1194
|
const r = Array.isArray(e.expectedType) ? e.expectedType[0] : e.expectedType;
|
|
1195
|
-
return
|
|
1195
|
+
return hr(r) ? r : "table";
|
|
1196
1196
|
}
|
|
1197
|
-
const
|
|
1197
|
+
const yr = [
|
|
1198
1198
|
"bar",
|
|
1199
1199
|
"horizontalBar",
|
|
1200
1200
|
"line",
|
|
@@ -1213,7 +1213,6 @@ const or = [
|
|
|
1213
1213
|
"pivotTable",
|
|
1214
1214
|
"aggregateTable",
|
|
1215
1215
|
"detailTable",
|
|
1216
|
-
"tableBuilder",
|
|
1217
1216
|
"kpi",
|
|
1218
1217
|
"pyramid",
|
|
1219
1218
|
"tornado",
|
|
@@ -1226,10 +1225,10 @@ const or = [
|
|
|
1226
1225
|
"treemap",
|
|
1227
1226
|
"custom"
|
|
1228
1227
|
];
|
|
1229
|
-
function
|
|
1230
|
-
return
|
|
1228
|
+
function hr(e) {
|
|
1229
|
+
return yr.includes(e);
|
|
1231
1230
|
}
|
|
1232
|
-
function
|
|
1231
|
+
function Y(e) {
|
|
1233
1232
|
const r = e.position;
|
|
1234
1233
|
if (typeof r == "number") return r;
|
|
1235
1234
|
if (typeof r == "string") {
|
|
@@ -1241,7 +1240,7 @@ function H(e) {
|
|
|
1241
1240
|
}
|
|
1242
1241
|
return Number.POSITIVE_INFINITY;
|
|
1243
1242
|
}
|
|
1244
|
-
function
|
|
1243
|
+
function H(e) {
|
|
1245
1244
|
if (typeof e == "number")
|
|
1246
1245
|
return { kind: "number", start: e, end: e };
|
|
1247
1246
|
if (typeof e == "string") {
|
|
@@ -1261,63 +1260,63 @@ function U(e) {
|
|
|
1261
1260
|
}
|
|
1262
1261
|
return null;
|
|
1263
1262
|
}
|
|
1264
|
-
function
|
|
1263
|
+
function je(e) {
|
|
1265
1264
|
return !e || e.length === 0 ? void 0 : [...e].sort(
|
|
1266
|
-
(t, n) =>
|
|
1265
|
+
(t, n) => Y(t) - Y(n)
|
|
1267
1266
|
)[0];
|
|
1268
1267
|
}
|
|
1269
|
-
function
|
|
1268
|
+
function Ge(e, r) {
|
|
1270
1269
|
if (!e || e.length === 0) return;
|
|
1271
1270
|
const t = [], n = [], o = [];
|
|
1272
1271
|
e.forEach((s) => {
|
|
1273
|
-
const u =
|
|
1272
|
+
const u = H(s.position);
|
|
1274
1273
|
u && (u.kind === "number" ? t.push(s) : u.kind === "range" ? n.push(s) : u.kind === "dynamic" && o.push(s));
|
|
1275
1274
|
});
|
|
1276
1275
|
const a = t.find((s) => {
|
|
1277
|
-
const u =
|
|
1276
|
+
const u = H(s.position);
|
|
1278
1277
|
return (u == null ? void 0 : u.kind) === "number" && u.start === r;
|
|
1279
1278
|
});
|
|
1280
1279
|
if (a) return a;
|
|
1281
1280
|
const l = n.sort(
|
|
1282
|
-
(s, u) =>
|
|
1281
|
+
(s, u) => Y(s) - Y(u)
|
|
1283
1282
|
).find((s) => {
|
|
1284
|
-
const u =
|
|
1283
|
+
const u = H(s.position);
|
|
1285
1284
|
return (u == null ? void 0 : u.kind) === "range" && r >= u.start && r <= u.end;
|
|
1286
1285
|
});
|
|
1287
1286
|
if (l) return l;
|
|
1288
1287
|
const c = o.map((s) => ({
|
|
1289
1288
|
slot: s,
|
|
1290
|
-
parsed:
|
|
1289
|
+
parsed: H(s.position)
|
|
1291
1290
|
})).filter((s) => {
|
|
1292
1291
|
var u;
|
|
1293
1292
|
return ((u = s.parsed) == null ? void 0 : u.kind) === "dynamic";
|
|
1294
1293
|
}).sort(
|
|
1295
1294
|
(s, u) => {
|
|
1296
|
-
var p,
|
|
1297
|
-
return (((p = s.parsed) == null ? void 0 : p.start) ?? 0) - (((
|
|
1295
|
+
var p, m;
|
|
1296
|
+
return (((p = s.parsed) == null ? void 0 : p.start) ?? 0) - (((m = u.parsed) == null ? void 0 : m.start) ?? 0);
|
|
1298
1297
|
}
|
|
1299
1298
|
).filter((s) => {
|
|
1300
1299
|
var u;
|
|
1301
1300
|
return r >= (((u = s.parsed) == null ? void 0 : u.start) ?? 0);
|
|
1302
1301
|
}).sort(
|
|
1303
1302
|
(s, u) => {
|
|
1304
|
-
var p,
|
|
1305
|
-
return (((p = u.parsed) == null ? void 0 : p.start) ?? 0) - (((
|
|
1303
|
+
var p, m;
|
|
1304
|
+
return (((p = u.parsed) == null ? void 0 : p.start) ?? 0) - (((m = s.parsed) == null ? void 0 : m.start) ?? 0);
|
|
1306
1305
|
}
|
|
1307
1306
|
)[0];
|
|
1308
1307
|
return c == null ? void 0 : c.slot;
|
|
1309
1308
|
}
|
|
1310
|
-
function
|
|
1311
|
-
const t =
|
|
1309
|
+
function gr(e, r) {
|
|
1310
|
+
const t = Ge(e, r);
|
|
1312
1311
|
if (t)
|
|
1313
|
-
return
|
|
1312
|
+
return Ie(t);
|
|
1314
1313
|
}
|
|
1315
|
-
function
|
|
1314
|
+
function vr(e, r) {
|
|
1316
1315
|
var n;
|
|
1317
1316
|
const t = (n = e == null ? void 0 : e.customCardPreferences) == null ? void 0 : n.slotIndex;
|
|
1318
1317
|
return typeof t == "number" ? t : r;
|
|
1319
1318
|
}
|
|
1320
|
-
function
|
|
1319
|
+
function Se(e, r) {
|
|
1321
1320
|
var t;
|
|
1322
1321
|
if (!((t = e == null ? void 0 : e.customCardPreferences) != null && t.url))
|
|
1323
1322
|
return !1;
|
|
@@ -1335,18 +1334,18 @@ function xe(e, r) {
|
|
|
1335
1334
|
}
|
|
1336
1335
|
return !1;
|
|
1337
1336
|
}
|
|
1338
|
-
function
|
|
1337
|
+
function br(e) {
|
|
1339
1338
|
const r = [];
|
|
1340
1339
|
let t = -1;
|
|
1341
1340
|
e.forEach((n, o) => {
|
|
1342
|
-
const a =
|
|
1341
|
+
const a = vr(n, o);
|
|
1343
1342
|
a > t && (t = a), r[a] = n ?? null;
|
|
1344
1343
|
});
|
|
1345
1344
|
for (let n = 0; n <= t; n += 1)
|
|
1346
1345
|
n in r || (r[n] = null);
|
|
1347
1346
|
return r;
|
|
1348
1347
|
}
|
|
1349
|
-
function
|
|
1348
|
+
function vo(e) {
|
|
1350
1349
|
return e.map((r, t) => !r.customCardPreferences || r.customCardPreferences.slotIndex === t ? r : {
|
|
1351
1350
|
...r,
|
|
1352
1351
|
customCardPreferences: {
|
|
@@ -1355,18 +1354,18 @@ function Jn(e) {
|
|
|
1355
1354
|
}
|
|
1356
1355
|
});
|
|
1357
1356
|
}
|
|
1358
|
-
function
|
|
1359
|
-
const r =
|
|
1357
|
+
function bo(e) {
|
|
1358
|
+
const r = je(e);
|
|
1360
1359
|
if (r)
|
|
1361
|
-
return
|
|
1360
|
+
return Ie(r);
|
|
1362
1361
|
}
|
|
1363
|
-
function
|
|
1362
|
+
function Io(e, r, t) {
|
|
1364
1363
|
if (!e) return;
|
|
1365
|
-
const n =
|
|
1364
|
+
const n = gr(t, r);
|
|
1366
1365
|
return e.type === "custom" && n ? n : e.type;
|
|
1367
1366
|
}
|
|
1368
|
-
function
|
|
1369
|
-
var
|
|
1367
|
+
function Co(e, r, t) {
|
|
1368
|
+
var g;
|
|
1370
1369
|
const n = {
|
|
1371
1370
|
dataSource: t.dataSource,
|
|
1372
1371
|
connectionId: t.connectionId,
|
|
@@ -1384,62 +1383,62 @@ function to(e, r, t) {
|
|
|
1384
1383
|
pluginChartType: r.chartType,
|
|
1385
1384
|
minInputs: r.minInputs,
|
|
1386
1385
|
maxInputs: r.maxInputs
|
|
1387
|
-
}, a = r.minInputs || 1, l = e.map((
|
|
1388
|
-
const
|
|
1389
|
-
return Number.isFinite(
|
|
1390
|
-
}, -1),
|
|
1386
|
+
}, a = r.minInputs || 1, l = e.map((y) => ({ slot: y, parsed: H(y.position) })).filter((y) => y.parsed !== null).reduce((y, b) => {
|
|
1387
|
+
const C = b.parsed.end;
|
|
1388
|
+
return Number.isFinite(C) ? Math.max(y, C) : y;
|
|
1389
|
+
}, -1), d = Math.max(a, l + 1), c = je(e), s = c ? Y(c) : 0;
|
|
1391
1390
|
let u = !1;
|
|
1392
1391
|
const p = [];
|
|
1393
|
-
for (let
|
|
1394
|
-
const b =
|
|
1392
|
+
for (let y = 0; y < d; y += 1) {
|
|
1393
|
+
const b = Ge(e, y), C = Ie(b), v = !u && y === s, w = y, E = {
|
|
1395
1394
|
...n,
|
|
1396
|
-
id:
|
|
1397
|
-
title: (
|
|
1398
|
-
tabTitle: (
|
|
1399
|
-
description: (
|
|
1400
|
-
type:
|
|
1395
|
+
id: _t(),
|
|
1396
|
+
title: (v ? c == null ? void 0 : c.label : b == null ? void 0 : b.label) || `Tab ${y + 1}`,
|
|
1397
|
+
tabTitle: (v ? c == null ? void 0 : c.label : b == null ? void 0 : b.label) || `Tab ${y + 1}`,
|
|
1398
|
+
description: (v ? c == null ? void 0 : c.description : b == null ? void 0 : b.description) || "",
|
|
1399
|
+
type: C,
|
|
1401
1400
|
sql: "",
|
|
1402
1401
|
preferences: {
|
|
1403
1402
|
onClickFilter: [{ columnIndex: 0, expression: "" }]
|
|
1404
1403
|
},
|
|
1405
|
-
...
|
|
1404
|
+
...v && {
|
|
1406
1405
|
customCardPreferences: {
|
|
1407
1406
|
...o,
|
|
1408
|
-
slotIndex:
|
|
1407
|
+
slotIndex: w
|
|
1409
1408
|
}
|
|
1410
1409
|
},
|
|
1411
|
-
...!
|
|
1410
|
+
...!v && {
|
|
1412
1411
|
customCardPreferences: {
|
|
1413
|
-
slotIndex:
|
|
1412
|
+
slotIndex: w
|
|
1414
1413
|
}
|
|
1415
1414
|
}
|
|
1416
1415
|
};
|
|
1417
|
-
|
|
1416
|
+
v && (u = !0), p.push(E);
|
|
1418
1417
|
}
|
|
1419
1418
|
if (!u && p.length > 0) {
|
|
1420
|
-
const
|
|
1419
|
+
const y = ((g = p[0].customCardPreferences) == null ? void 0 : g.slotIndex) ?? 0;
|
|
1421
1420
|
p[0] = {
|
|
1422
1421
|
...p[0],
|
|
1423
1422
|
type: p[0].type,
|
|
1424
1423
|
customCardPreferences: {
|
|
1425
1424
|
...o,
|
|
1426
|
-
slotIndex:
|
|
1425
|
+
slotIndex: y
|
|
1427
1426
|
}
|
|
1428
1427
|
};
|
|
1429
1428
|
}
|
|
1430
|
-
const
|
|
1431
|
-
(
|
|
1429
|
+
const m = p.findIndex(
|
|
1430
|
+
(y) => {
|
|
1432
1431
|
var b;
|
|
1433
|
-
return !!((b =
|
|
1432
|
+
return !!((b = y.customCardPreferences) != null && b.url);
|
|
1434
1433
|
}
|
|
1435
1434
|
);
|
|
1436
|
-
if (
|
|
1437
|
-
const [
|
|
1438
|
-
p.unshift(
|
|
1435
|
+
if (m > 0) {
|
|
1436
|
+
const [y] = p.splice(m, 1);
|
|
1437
|
+
p.unshift(y);
|
|
1439
1438
|
}
|
|
1440
1439
|
return p;
|
|
1441
1440
|
}
|
|
1442
|
-
function
|
|
1441
|
+
function Ir({
|
|
1443
1442
|
frame: e,
|
|
1444
1443
|
configCard: r,
|
|
1445
1444
|
isMultiInputVisual: t
|
|
@@ -1451,13 +1450,13 @@ function dr({
|
|
|
1451
1450
|
return n ? Object.keys(n).sort((a, i) => Number(a) - Number(i)).map((a) => {
|
|
1452
1451
|
var l;
|
|
1453
1452
|
const i = (l = n[a]) == null ? void 0 : l.cardId;
|
|
1454
|
-
return e.cards.find((
|
|
1453
|
+
return e.cards.find((d) => d.id === i) || null;
|
|
1455
1454
|
}) : e.cards;
|
|
1456
1455
|
}
|
|
1457
|
-
function
|
|
1458
|
-
return r &&
|
|
1456
|
+
function Cr(e, r) {
|
|
1457
|
+
return r && Se(r, e.cards) ? r : e.cards.find((t) => Se(t, e.cards)) || null;
|
|
1459
1458
|
}
|
|
1460
|
-
function
|
|
1459
|
+
function Tr(e, r) {
|
|
1461
1460
|
var o, a;
|
|
1462
1461
|
if (!e) return null;
|
|
1463
1462
|
const t = r == null ? void 0 : r.visualType;
|
|
@@ -1467,13 +1466,13 @@ function mr(e, r) {
|
|
|
1467
1466
|
const n = (o = e.customCardPreferences) == null ? void 0 : o.visualType;
|
|
1468
1467
|
return n || ((a = e.customCardPreferences) != null && a.dataInputCardIds ? "multiple" : null);
|
|
1469
1468
|
}
|
|
1470
|
-
function
|
|
1469
|
+
function To(e) {
|
|
1471
1470
|
return e.visualType === "multiple" || e.slots && e.slots.length > 0 || (e.minInputs || 0) > 1 || (e.maxInputs || 0) > 1 || (e.dataInputs || []).length > 1 ? "multiple" : "single";
|
|
1472
1471
|
}
|
|
1473
|
-
function
|
|
1472
|
+
function wo(e) {
|
|
1474
1473
|
return Array.isArray(e) ? { records: e } : e;
|
|
1475
1474
|
}
|
|
1476
|
-
class
|
|
1475
|
+
class Q extends Error {
|
|
1477
1476
|
constructor(t) {
|
|
1478
1477
|
const n = t.cardId ? `card "${t.cardId}"` : t.sheetId ? `sheet "${t.sheetId}"` : `dashboard "${t.dashboardId}"`;
|
|
1479
1478
|
super(
|
|
@@ -1484,28 +1483,28 @@ class Y extends Error {
|
|
|
1484
1483
|
this.name = "TemporalSnapshotSelectionError", this.selection = t;
|
|
1485
1484
|
}
|
|
1486
1485
|
}
|
|
1487
|
-
function
|
|
1486
|
+
function wr(e, r) {
|
|
1488
1487
|
var o;
|
|
1489
1488
|
const t = [], n = /* @__PURE__ */ new Map();
|
|
1490
1489
|
for (const a of r) {
|
|
1491
1490
|
if (a.dashboardId !== e.id)
|
|
1492
|
-
throw new
|
|
1491
|
+
throw new Q(a);
|
|
1493
1492
|
const i = (e.sheets || []).filter(
|
|
1494
|
-
(
|
|
1493
|
+
(d) => !a.sheetId || a.sheetId === d.id
|
|
1495
1494
|
);
|
|
1496
1495
|
if (a.sheetId && i.length === 0)
|
|
1497
|
-
throw new
|
|
1496
|
+
throw new Q(a);
|
|
1498
1497
|
let l = !a.cardId;
|
|
1499
|
-
for (const
|
|
1500
|
-
const c = (((o =
|
|
1501
|
-
(p) =>
|
|
1502
|
-
), s = (
|
|
1503
|
-
(p) =>
|
|
1498
|
+
for (const d of i) {
|
|
1499
|
+
const c = (((o = d.document) == null ? void 0 : o.sections) || []).flatMap(
|
|
1500
|
+
(p) => Mt(p)
|
|
1501
|
+
), s = (d.frames || []).flatMap(
|
|
1502
|
+
(p) => $r(p, a.cardId)
|
|
1504
1503
|
);
|
|
1505
1504
|
s.length > 0 && (l = !0);
|
|
1506
1505
|
const u = [
|
|
1507
1506
|
...s,
|
|
1508
|
-
...(
|
|
1507
|
+
...(d.cards || []).filter(
|
|
1509
1508
|
(p) => !a.cardId || a.cardId === p.id
|
|
1510
1509
|
),
|
|
1511
1510
|
...c.filter(
|
|
@@ -1514,124 +1513,124 @@ function ur(e, r) {
|
|
|
1514
1513
|
];
|
|
1515
1514
|
for (const p of u) {
|
|
1516
1515
|
l = !0;
|
|
1517
|
-
const
|
|
1518
|
-
|
|
1516
|
+
const m = n.get(a.attachmentIndex) ?? /* @__PURE__ */ new Set();
|
|
1517
|
+
m.has(p.id) || (m.add(p.id), n.set(a.attachmentIndex, m), t.push({
|
|
1519
1518
|
card: p,
|
|
1520
1519
|
...a.attachmentIndex !== void 0 ? { attachmentIndex: a.attachmentIndex } : {}
|
|
1521
1520
|
}));
|
|
1522
1521
|
}
|
|
1523
1522
|
}
|
|
1524
1523
|
if (!l)
|
|
1525
|
-
throw new
|
|
1524
|
+
throw new Q(a);
|
|
1526
1525
|
}
|
|
1527
1526
|
return t;
|
|
1528
1527
|
}
|
|
1529
|
-
function
|
|
1528
|
+
function $r(e, r) {
|
|
1530
1529
|
var i;
|
|
1531
|
-
const t = r ? (i = e.cards) == null ? void 0 : i.find((l) => l.id === r) :
|
|
1530
|
+
const t = r ? (i = e.cards) == null ? void 0 : i.find((l) => l.id === r) : Ue(e);
|
|
1532
1531
|
if (!t) return [];
|
|
1533
|
-
const n =
|
|
1532
|
+
const n = Cr(e, t), o = (e.cards || []).filter(
|
|
1534
1533
|
(l) => {
|
|
1535
|
-
var
|
|
1536
|
-
return typeof ((
|
|
1534
|
+
var d;
|
|
1535
|
+
return typeof ((d = l.customCardPreferences) == null ? void 0 : d.slotIndex) == "number";
|
|
1537
1536
|
}
|
|
1538
|
-
).length > 1, a = n != null && (
|
|
1539
|
-
return !n || !a ? [t] :
|
|
1540
|
-
|
|
1537
|
+
).length > 1, a = n != null && (Tr(n) === "multiple" || o);
|
|
1538
|
+
return !n || !a ? [t] : br(
|
|
1539
|
+
Ir({
|
|
1541
1540
|
frame: e,
|
|
1542
1541
|
configCard: n,
|
|
1543
1542
|
isMultiInputVisual: !0
|
|
1544
1543
|
})
|
|
1545
1544
|
).filter((l) => l !== null);
|
|
1546
1545
|
}
|
|
1547
|
-
function
|
|
1548
|
-
return
|
|
1546
|
+
function $o(e) {
|
|
1547
|
+
return wr(e.dashboard, e.selections).flatMap(
|
|
1549
1548
|
({ card: r, attachmentIndex: t }) => {
|
|
1550
|
-
var s, u, p,
|
|
1551
|
-
const n = ((s = e.resolveCardConfig) == null ? void 0 : s.call(e, r)) ?? r.config, o =
|
|
1549
|
+
var s, u, p, m;
|
|
1550
|
+
const n = ((s = e.resolveCardConfig) == null ? void 0 : s.call(e, r)) ?? r.config, o = Jt({
|
|
1552
1551
|
card: r,
|
|
1553
1552
|
cardConfig: n
|
|
1554
1553
|
}), a = {
|
|
1555
1554
|
dashboardId: e.dashboard.id,
|
|
1556
1555
|
cardId: r.id,
|
|
1557
1556
|
...t !== void 0 ? { attachmentIndex: t } : {}
|
|
1558
|
-
}, i = o ? o.fields.map((
|
|
1557
|
+
}, i = o ? o.fields.map((g) => ({
|
|
1559
1558
|
scope: a,
|
|
1560
1559
|
target: {
|
|
1561
1560
|
kind: "field",
|
|
1562
|
-
fieldId:
|
|
1563
|
-
role:
|
|
1561
|
+
fieldId: g.id,
|
|
1562
|
+
role: g.role
|
|
1564
1563
|
},
|
|
1565
|
-
format:
|
|
1566
|
-
|
|
1564
|
+
format: ir(
|
|
1565
|
+
g,
|
|
1567
1566
|
{
|
|
1568
1567
|
dateStyle: e.valueFormatPreferences.dateStyle,
|
|
1569
1568
|
dateTime: { ...e.valueFormatPreferences.dateTime }
|
|
1570
1569
|
},
|
|
1571
1570
|
e.valueFormatPreferences.locale
|
|
1572
1571
|
)
|
|
1573
|
-
})) : [], l = [],
|
|
1572
|
+
})) : [], l = [], d = ne(r, n), c = Z(
|
|
1574
1573
|
r.python || ""
|
|
1575
1574
|
);
|
|
1576
|
-
if (r.type === "detailTable" &&
|
|
1577
|
-
const
|
|
1578
|
-
...((n == null ? void 0 : n.groupByColumns) || []).map((
|
|
1579
|
-
field:
|
|
1575
|
+
if (r.type === "detailTable" && d === "config") {
|
|
1576
|
+
const g = (n == null ? void 0 : n.detailColumns) || [], y = [
|
|
1577
|
+
...((n == null ? void 0 : n.groupByColumns) || []).map((v) => ({
|
|
1578
|
+
field: v,
|
|
1580
1579
|
role: "groupby"
|
|
1581
1580
|
})),
|
|
1582
|
-
...((n == null ? void 0 : n.metricColumns) || []).map((
|
|
1583
|
-
field:
|
|
1581
|
+
...((n == null ? void 0 : n.metricColumns) || []).map((v) => ({
|
|
1582
|
+
field: v,
|
|
1584
1583
|
role: "metric"
|
|
1585
1584
|
})),
|
|
1586
|
-
...((n == null ? void 0 : n.pivotByColumns) || []).map((
|
|
1587
|
-
field:
|
|
1585
|
+
...((n == null ? void 0 : n.pivotByColumns) || []).map((v) => ({
|
|
1586
|
+
field: v,
|
|
1588
1587
|
role: "pivotby"
|
|
1589
1588
|
})),
|
|
1590
|
-
...
|
|
1591
|
-
field:
|
|
1589
|
+
...g.map((v) => ({
|
|
1590
|
+
field: v,
|
|
1592
1591
|
role: "detail"
|
|
1593
1592
|
}))
|
|
1594
|
-
], b = /* @__PURE__ */ new Map(),
|
|
1595
|
-
|
|
1596
|
-
({ field:
|
|
1593
|
+
], b = /* @__PURE__ */ new Map(), C = new Set(
|
|
1594
|
+
y.map(
|
|
1595
|
+
({ field: v, role: w }) => Gt(v, w)
|
|
1597
1596
|
)
|
|
1598
1597
|
);
|
|
1599
|
-
for (const { field:
|
|
1600
|
-
const
|
|
1601
|
-
|
|
1598
|
+
for (const { field: v } of y) {
|
|
1599
|
+
const w = v.label;
|
|
1600
|
+
w && b.set(w, (b.get(w) || 0) + 1);
|
|
1602
1601
|
}
|
|
1603
|
-
for (const
|
|
1604
|
-
const
|
|
1605
|
-
if (
|
|
1606
|
-
const E =
|
|
1602
|
+
for (const v of g) {
|
|
1603
|
+
const w = Ae(v.dataType);
|
|
1604
|
+
if (w !== "date" && w !== "datetime") continue;
|
|
1605
|
+
const E = Ht(v), _ = v.label, M = Wt({
|
|
1607
1606
|
label: _,
|
|
1608
1607
|
labelCount: _ && b.get(_) || 0,
|
|
1609
1608
|
rawKey: E,
|
|
1610
|
-
rawKeys:
|
|
1609
|
+
rawKeys: C
|
|
1611
1610
|
});
|
|
1612
|
-
if (!
|
|
1611
|
+
if (!M) throw new Q(a);
|
|
1613
1612
|
l.push({
|
|
1614
1613
|
scope: a,
|
|
1615
|
-
target: { kind: "column", columnKey:
|
|
1616
|
-
format:
|
|
1617
|
-
format:
|
|
1614
|
+
target: { kind: "column", columnKey: M },
|
|
1615
|
+
format: W({
|
|
1616
|
+
format: qe(v),
|
|
1618
1617
|
preferences: e.valueFormatPreferences,
|
|
1619
1618
|
calendar: e.calendar
|
|
1620
1619
|
})
|
|
1621
1620
|
});
|
|
1622
1621
|
}
|
|
1623
|
-
} else if (
|
|
1624
|
-
for (const [
|
|
1625
|
-
((
|
|
1622
|
+
} else if (d === "freeform" && ((u = r.sql) != null && u.trim()) && !c.trim())
|
|
1623
|
+
for (const [g, y] of Object.entries(
|
|
1624
|
+
((m = (p = r.preferences) == null ? void 0 : p.tablePrefs) == null ? void 0 : m.columnSettingsMap) || {}
|
|
1626
1625
|
)) {
|
|
1627
|
-
if (
|
|
1628
|
-
const b =
|
|
1629
|
-
|
|
1626
|
+
if (y.type !== "date") continue;
|
|
1627
|
+
const b = be(
|
|
1628
|
+
y.dateFormat
|
|
1630
1629
|
);
|
|
1631
1630
|
b && l.push({
|
|
1632
1631
|
scope: a,
|
|
1633
|
-
target: { kind: "column", columnKey:
|
|
1634
|
-
format:
|
|
1632
|
+
target: { kind: "column", columnKey: g },
|
|
1633
|
+
format: W({
|
|
1635
1634
|
format: b,
|
|
1636
1635
|
preferences: e.valueFormatPreferences,
|
|
1637
1636
|
calendar: e.calendar
|
|
@@ -1642,12 +1641,12 @@ function oo(e) {
|
|
|
1642
1641
|
}
|
|
1643
1642
|
);
|
|
1644
1643
|
}
|
|
1645
|
-
const
|
|
1644
|
+
const xr = /* @__PURE__ */ new Set([
|
|
1646
1645
|
"table",
|
|
1647
1646
|
"aggregateTable",
|
|
1648
1647
|
"pivotTable",
|
|
1649
1648
|
"detailTable"
|
|
1650
|
-
]),
|
|
1649
|
+
]), kr = /* @__PURE__ */ new Set([
|
|
1651
1650
|
"bar",
|
|
1652
1651
|
"horizontalBar",
|
|
1653
1652
|
"line",
|
|
@@ -1678,40 +1677,40 @@ const pr = /* @__PURE__ */ new Set([
|
|
|
1678
1677
|
"treemap",
|
|
1679
1678
|
"custom"
|
|
1680
1679
|
]);
|
|
1681
|
-
function
|
|
1680
|
+
function xo(e) {
|
|
1682
1681
|
var o, a, i;
|
|
1683
|
-
const r =
|
|
1682
|
+
const r = kr.has(e.type) && (e.type !== "custom" || !!((o = e.customCardPreferences) != null && o.url));
|
|
1684
1683
|
let t = !1;
|
|
1685
1684
|
try {
|
|
1686
|
-
t = !!
|
|
1685
|
+
t = !!Rt(e);
|
|
1687
1686
|
} catch {
|
|
1688
1687
|
return { formats: [], defaultFormat: null };
|
|
1689
1688
|
}
|
|
1690
|
-
return e.type === "text" || !r || !t &&
|
|
1691
|
-
formats:
|
|
1689
|
+
return e.type === "text" || !r || !t && Ft(e) ? { formats: [], defaultFormat: null } : {
|
|
1690
|
+
formats: Er({
|
|
1692
1691
|
cardType: e.type,
|
|
1693
1692
|
allowDownload: (a = e.preferences) == null ? void 0 : a.allowDownload
|
|
1694
1693
|
}),
|
|
1695
|
-
defaultFormat:
|
|
1694
|
+
defaultFormat: Sr({
|
|
1696
1695
|
cardType: e.type,
|
|
1697
1696
|
allowDownload: (i = e.preferences) == null ? void 0 : i.allowDownload
|
|
1698
1697
|
})
|
|
1699
1698
|
};
|
|
1700
1699
|
}
|
|
1701
|
-
function
|
|
1700
|
+
function Er(e) {
|
|
1702
1701
|
return e.allowDownload === !1 ? ["pdf"] : ["pdf", "csv"];
|
|
1703
1702
|
}
|
|
1704
|
-
function
|
|
1705
|
-
return
|
|
1703
|
+
function Sr(e) {
|
|
1704
|
+
return xr.has(e.cardType) && e.allowDownload !== !1 ? "csv" : "pdf";
|
|
1706
1705
|
}
|
|
1707
|
-
function
|
|
1708
|
-
const { config: r } = e, t =
|
|
1706
|
+
function ko(e) {
|
|
1707
|
+
const { config: r } = e, t = St({
|
|
1709
1708
|
spec: r.spec,
|
|
1710
1709
|
presentation: r.presentation,
|
|
1711
1710
|
defaults: r.defaultView,
|
|
1712
1711
|
session: e.purpose === "manual" ? e.session : void 0
|
|
1713
1712
|
});
|
|
1714
|
-
return
|
|
1713
|
+
return ye.parse({
|
|
1715
1714
|
spec: t.spec,
|
|
1716
1715
|
presentation: t.presentation,
|
|
1717
1716
|
...e.content === "flat" ? { mode: "flat", format: "csv" } : {
|
|
@@ -1725,37 +1724,37 @@ function io(e) {
|
|
|
1725
1724
|
}
|
|
1726
1725
|
});
|
|
1727
1726
|
}
|
|
1728
|
-
const
|
|
1729
|
-
connection_id:
|
|
1730
|
-
cardType:
|
|
1731
|
-
resultOwner:
|
|
1732
|
-
sql:
|
|
1733
|
-
python:
|
|
1734
|
-
tableStructure:
|
|
1735
|
-
cardDataSource:
|
|
1736
|
-
connectionId:
|
|
1737
|
-
connectionType:
|
|
1738
|
-
mode:
|
|
1739
|
-
selectedEntities:
|
|
1740
|
-
semanticDomainId:
|
|
1727
|
+
const _r = T.object({
|
|
1728
|
+
connection_id: T.string().min(1),
|
|
1729
|
+
cardType: T.literal("matrixTable"),
|
|
1730
|
+
resultOwner: T.literal("config"),
|
|
1731
|
+
sql: T.literal("").optional(),
|
|
1732
|
+
python: T.literal("").optional(),
|
|
1733
|
+
tableStructure: T.never().optional(),
|
|
1734
|
+
cardDataSource: T.object({
|
|
1735
|
+
connectionId: T.string().min(1),
|
|
1736
|
+
connectionType: T.string().min(1),
|
|
1737
|
+
mode: T.enum(["database", "semanticDomain"]),
|
|
1738
|
+
selectedEntities: T.array(T.unknown()),
|
|
1739
|
+
semanticDomainId: T.string().optional()
|
|
1741
1740
|
}).passthrough(),
|
|
1742
|
-
active_filters:
|
|
1743
|
-
}).passthrough(),
|
|
1744
|
-
dashboardId:
|
|
1745
|
-
cardId:
|
|
1746
|
-
formatOptions:
|
|
1747
|
-
matrix:
|
|
1748
|
-
acquisition:
|
|
1749
|
-
presentationExecutionSnapshot:
|
|
1741
|
+
active_filters: T.array(T.unknown()).default([])
|
|
1742
|
+
}).passthrough(), Eo = _r.extend({
|
|
1743
|
+
dashboardId: T.string().min(1),
|
|
1744
|
+
cardId: T.string().min(1),
|
|
1745
|
+
formatOptions: T.object({
|
|
1746
|
+
matrix: ye,
|
|
1747
|
+
acquisition: T.literal("continuation").optional(),
|
|
1748
|
+
presentationExecutionSnapshot: T.unknown()
|
|
1750
1749
|
}).passthrough().superRefine((e, r) => {
|
|
1751
1750
|
e.matrix.format === "csv" != (e.acquisition === "continuation") && r.addIssue({
|
|
1752
|
-
code:
|
|
1751
|
+
code: T.ZodIssueCode.custom,
|
|
1753
1752
|
path: ["acquisition"],
|
|
1754
1753
|
message: "CSV requires continuation acquisition; PDF must not specify acquisition."
|
|
1755
1754
|
});
|
|
1756
1755
|
})
|
|
1757
1756
|
});
|
|
1758
|
-
function
|
|
1757
|
+
function So(e) {
|
|
1759
1758
|
return {
|
|
1760
1759
|
...e.controls,
|
|
1761
1760
|
type: "card",
|
|
@@ -1780,25 +1779,25 @@ function lo(e) {
|
|
|
1780
1779
|
delimiter: e.delimiter,
|
|
1781
1780
|
includeHeaders: e.includeHeaders,
|
|
1782
1781
|
timezone: e.reportContext.calendar.tz,
|
|
1783
|
-
presentationExecutionSnapshot:
|
|
1782
|
+
presentationExecutionSnapshot: kt({
|
|
1784
1783
|
reportContext: e.reportContext,
|
|
1785
1784
|
resolvedFormats: []
|
|
1786
1785
|
})
|
|
1787
1786
|
}
|
|
1788
1787
|
};
|
|
1789
1788
|
}
|
|
1790
|
-
const
|
|
1791
|
-
|
|
1792
|
-
status:
|
|
1793
|
-
request:
|
|
1794
|
-
layout:
|
|
1795
|
-
rows:
|
|
1796
|
-
usage:
|
|
1789
|
+
const ie = T.number().int().nonnegative(), _o = T.discriminatedUnion("status", [
|
|
1790
|
+
T.object({
|
|
1791
|
+
status: T.literal("ok"),
|
|
1792
|
+
request: ye,
|
|
1793
|
+
layout: vt,
|
|
1794
|
+
rows: T.array(bt).readonly(),
|
|
1795
|
+
usage: T.object({ rows: ie, cells: ie, bytes: ie }).strict()
|
|
1797
1796
|
}).strict(),
|
|
1798
|
-
|
|
1799
|
-
status:
|
|
1800
|
-
failure:
|
|
1801
|
-
code:
|
|
1797
|
+
T.object({
|
|
1798
|
+
status: T.literal("failed"),
|
|
1799
|
+
failure: T.object({
|
|
1800
|
+
code: T.enum([
|
|
1802
1801
|
"invalid_request",
|
|
1803
1802
|
"unsupported_capability",
|
|
1804
1803
|
"stale_cursor",
|
|
@@ -1808,17 +1807,17 @@ const re = C.number().int().nonnegative(), so = C.discriminatedUnion("status", [
|
|
|
1808
1807
|
"execution_failed",
|
|
1809
1808
|
"cancelled"
|
|
1810
1809
|
]),
|
|
1811
|
-
limit:
|
|
1812
|
-
message:
|
|
1813
|
-
retryable:
|
|
1810
|
+
limit: T.enum(["rows", "bytes"]).optional(),
|
|
1811
|
+
message: T.string().min(1),
|
|
1812
|
+
retryable: T.boolean()
|
|
1814
1813
|
}).strict()
|
|
1815
1814
|
}).strict()
|
|
1816
1815
|
]);
|
|
1817
|
-
function
|
|
1816
|
+
function Fr(e) {
|
|
1818
1817
|
return !!e && typeof e == "object" && !Array.isArray(e);
|
|
1819
1818
|
}
|
|
1820
|
-
function
|
|
1821
|
-
return
|
|
1819
|
+
function P(e, r, t) {
|
|
1820
|
+
return Fr(e) ? e : (t.push({ field: r, message: "Expected an object." }), {});
|
|
1822
1821
|
}
|
|
1823
1822
|
function B(e, r, t, n) {
|
|
1824
1823
|
const o = new Set(t);
|
|
@@ -1829,7 +1828,7 @@ function B(e, r, t, n) {
|
|
|
1829
1828
|
});
|
|
1830
1829
|
});
|
|
1831
1830
|
}
|
|
1832
|
-
function
|
|
1831
|
+
function N(e, r, t, n, o = {}) {
|
|
1833
1832
|
if (e == null)
|
|
1834
1833
|
return;
|
|
1835
1834
|
if (typeof e != "string") {
|
|
@@ -1850,8 +1849,8 @@ function K(e, r, t, n, o = {}) {
|
|
|
1850
1849
|
}
|
|
1851
1850
|
return a;
|
|
1852
1851
|
}
|
|
1853
|
-
function
|
|
1854
|
-
const n =
|
|
1852
|
+
function Ce(e, r, t) {
|
|
1853
|
+
const n = N(e, r, 2e3, t);
|
|
1855
1854
|
if (n)
|
|
1856
1855
|
try {
|
|
1857
1856
|
return new URL(n), n;
|
|
@@ -1860,12 +1859,12 @@ function ge(e, r, t) {
|
|
|
1860
1859
|
return;
|
|
1861
1860
|
}
|
|
1862
1861
|
}
|
|
1863
|
-
function
|
|
1864
|
-
const n =
|
|
1862
|
+
function _e(e, r, t) {
|
|
1863
|
+
const n = P(e, r, t);
|
|
1865
1864
|
B(n, r, ["tokens", "components"], t);
|
|
1866
1865
|
const o = {};
|
|
1867
1866
|
if (n.tokens !== void 0) {
|
|
1868
|
-
const a =
|
|
1867
|
+
const a = P(n.tokens, `${r}.tokens`, t);
|
|
1869
1868
|
B(
|
|
1870
1869
|
a,
|
|
1871
1870
|
`${r}.tokens`,
|
|
@@ -1874,11 +1873,11 @@ function $e(e, r, t) {
|
|
|
1874
1873
|
);
|
|
1875
1874
|
const i = {};
|
|
1876
1875
|
if (a.color !== void 0) {
|
|
1877
|
-
const l =
|
|
1876
|
+
const l = P(
|
|
1878
1877
|
a.color,
|
|
1879
1878
|
`${r}.tokens.color`,
|
|
1880
1879
|
t
|
|
1881
|
-
),
|
|
1880
|
+
), d = [
|
|
1882
1881
|
"background",
|
|
1883
1882
|
"foreground",
|
|
1884
1883
|
"muted",
|
|
@@ -1891,10 +1890,10 @@ function $e(e, r, t) {
|
|
|
1891
1890
|
"warning",
|
|
1892
1891
|
"info"
|
|
1893
1892
|
];
|
|
1894
|
-
B(l, `${r}.tokens.color`,
|
|
1893
|
+
B(l, `${r}.tokens.color`, d, t);
|
|
1895
1894
|
const c = {};
|
|
1896
|
-
|
|
1897
|
-
const u =
|
|
1895
|
+
d.forEach((s) => {
|
|
1896
|
+
const u = N(
|
|
1898
1897
|
l[s],
|
|
1899
1898
|
`${r}.tokens.color.${s}`,
|
|
1900
1899
|
120,
|
|
@@ -1904,7 +1903,7 @@ function $e(e, r, t) {
|
|
|
1904
1903
|
}), i.color = c;
|
|
1905
1904
|
}
|
|
1906
1905
|
if (a.typography !== void 0) {
|
|
1907
|
-
const l =
|
|
1906
|
+
const l = P(
|
|
1908
1907
|
a.typography,
|
|
1909
1908
|
`${r}.tokens.typography`,
|
|
1910
1909
|
t
|
|
@@ -1915,13 +1914,13 @@ function $e(e, r, t) {
|
|
|
1915
1914
|
["fontFamily", "monoFontFamily"],
|
|
1916
1915
|
t
|
|
1917
1916
|
);
|
|
1918
|
-
const
|
|
1917
|
+
const d = N(
|
|
1919
1918
|
l.fontFamily,
|
|
1920
1919
|
`${r}.tokens.typography.fontFamily`,
|
|
1921
1920
|
500,
|
|
1922
1921
|
t,
|
|
1923
1922
|
{ allowEmpty: !0 }
|
|
1924
|
-
), c =
|
|
1923
|
+
), c = N(
|
|
1925
1924
|
l.monoFontFamily,
|
|
1926
1925
|
`${r}.tokens.typography.monoFontFamily`,
|
|
1927
1926
|
500,
|
|
@@ -1929,20 +1928,20 @@ function $e(e, r, t) {
|
|
|
1929
1928
|
{ allowEmpty: !0 }
|
|
1930
1929
|
);
|
|
1931
1930
|
i.typography = {
|
|
1932
|
-
...
|
|
1931
|
+
...d !== void 0 ? { fontFamily: d } : {},
|
|
1933
1932
|
...c !== void 0 ? { monoFontFamily: c } : {}
|
|
1934
1933
|
};
|
|
1935
1934
|
}
|
|
1936
1935
|
o.tokens = i;
|
|
1937
1936
|
}
|
|
1938
1937
|
if (n.components !== void 0) {
|
|
1939
|
-
const a =
|
|
1938
|
+
const a = P(
|
|
1940
1939
|
n.components,
|
|
1941
1940
|
`${r}.components`,
|
|
1942
1941
|
t
|
|
1943
1942
|
);
|
|
1944
1943
|
if (B(a, `${r}.components`, ["chart"], t), a.chart !== void 0) {
|
|
1945
|
-
const i =
|
|
1944
|
+
const i = P(
|
|
1946
1945
|
a.chart,
|
|
1947
1946
|
`${r}.components.chart`,
|
|
1948
1947
|
t
|
|
@@ -1953,13 +1952,13 @@ function $e(e, r, t) {
|
|
|
1953
1952
|
field: `${r}.components.chart.palette`,
|
|
1954
1953
|
message: "Expected 20 colors or fewer."
|
|
1955
1954
|
}) : l = i.palette.map(
|
|
1956
|
-
(
|
|
1957
|
-
|
|
1955
|
+
(d, c) => N(
|
|
1956
|
+
d,
|
|
1958
1957
|
`${r}.components.chart.palette.${c}`,
|
|
1959
1958
|
120,
|
|
1960
1959
|
t
|
|
1961
1960
|
)
|
|
1962
|
-
).filter((
|
|
1961
|
+
).filter((d) => d !== void 0) : t.push({
|
|
1963
1962
|
field: `${r}.components.chart.palette`,
|
|
1964
1963
|
message: "Expected an array."
|
|
1965
1964
|
})), o.components = {
|
|
@@ -1969,22 +1968,22 @@ function $e(e, r, t) {
|
|
|
1969
1968
|
}
|
|
1970
1969
|
return o;
|
|
1971
1970
|
}
|
|
1972
|
-
function
|
|
1973
|
-
const t = "presentation.appearance", n =
|
|
1971
|
+
function Rr(e, r) {
|
|
1972
|
+
const t = "presentation.appearance", n = P(e, t, r);
|
|
1974
1973
|
B(n, t, ["version", "schemes"], r);
|
|
1975
1974
|
const o = {};
|
|
1976
1975
|
if (n.version !== void 0 && (typeof n.version != "number" || !Number.isFinite(n.version) ? r.push({ field: `${t}.version`, message: "Expected a number." }) : o.version = n.version), n.schemes !== void 0) {
|
|
1977
|
-
const a =
|
|
1976
|
+
const a = P(n.schemes, `${t}.schemes`, r);
|
|
1978
1977
|
B(a, `${t}.schemes`, ["light", "dark"], r), o.schemes = {
|
|
1979
1978
|
...a.light !== void 0 ? {
|
|
1980
|
-
light:
|
|
1979
|
+
light: _e(
|
|
1981
1980
|
a.light,
|
|
1982
1981
|
`${t}.schemes.light`,
|
|
1983
1982
|
r
|
|
1984
1983
|
)
|
|
1985
1984
|
} : {},
|
|
1986
1985
|
...a.dark !== void 0 ? {
|
|
1987
|
-
dark:
|
|
1986
|
+
dark: _e(
|
|
1988
1987
|
a.dark,
|
|
1989
1988
|
`${t}.schemes.dark`,
|
|
1990
1989
|
r
|
|
@@ -1994,23 +1993,23 @@ function Ir(e, r) {
|
|
|
1994
1993
|
}
|
|
1995
1994
|
return o;
|
|
1996
1995
|
}
|
|
1997
|
-
function
|
|
1998
|
-
const t = "presentation.brandOverrides", n =
|
|
1996
|
+
function Ar(e, r) {
|
|
1997
|
+
const t = "presentation.brandOverrides", n = P(e, t, r);
|
|
1999
1998
|
B(n, t, ["brandName", "logoUrl", "link"], r);
|
|
2000
|
-
const o =
|
|
1999
|
+
const o = N(
|
|
2001
2000
|
n.brandName,
|
|
2002
2001
|
`${t}.brandName`,
|
|
2003
2002
|
200,
|
|
2004
2003
|
r
|
|
2005
|
-
), a =
|
|
2004
|
+
), a = Ce(n.logoUrl, `${t}.logoUrl`, r), i = N(n.link, `${t}.link`, 120, r);
|
|
2006
2005
|
return {
|
|
2007
2006
|
...o !== void 0 ? { brandName: o } : {},
|
|
2008
2007
|
...a !== void 0 ? { logoUrl: a } : {},
|
|
2009
2008
|
...i !== void 0 ? { link: i } : {}
|
|
2010
2009
|
};
|
|
2011
2010
|
}
|
|
2012
|
-
function
|
|
2013
|
-
const t = "presentation.fragments", n =
|
|
2011
|
+
function Dr(e, r) {
|
|
2012
|
+
const t = "presentation.fragments", n = P(e, t, r), o = [
|
|
2014
2013
|
"preHeaderText",
|
|
2015
2014
|
"headerBannerHtml",
|
|
2016
2015
|
"signatureHtml",
|
|
@@ -2021,7 +2020,7 @@ function Cr(e, r) {
|
|
|
2021
2020
|
B(n, t, o, r);
|
|
2022
2021
|
const a = {};
|
|
2023
2022
|
return o.forEach((i) => {
|
|
2024
|
-
const l = i === "unsubscribeUrl" ?
|
|
2023
|
+
const l = i === "unsubscribeUrl" ? Ce(n[i], `${t}.${i}`, r) : N(
|
|
2025
2024
|
n[i],
|
|
2026
2025
|
`${t}.${i}`,
|
|
2027
2026
|
i === "preHeaderText" ? 200 : 5e3,
|
|
@@ -2031,15 +2030,15 @@ function Cr(e, r) {
|
|
|
2031
2030
|
l !== void 0 && (a[i] = l);
|
|
2032
2031
|
}), a;
|
|
2033
2032
|
}
|
|
2034
|
-
function
|
|
2033
|
+
function Mr(e) {
|
|
2035
2034
|
const r = [], t = {};
|
|
2036
|
-
if (e.appearance !== void 0 && (t.appearance =
|
|
2037
|
-
const n =
|
|
2035
|
+
if (e.appearance !== void 0 && (t.appearance = Rr(e.appearance, r)), e.brandOverrides !== void 0 && (t.brandOverrides = Ar(e.brandOverrides, r)), e.fragments !== void 0 && (t.fragments = Dr(e.fragments, r)), e.viewUrl !== void 0) {
|
|
2036
|
+
const n = Ce(e.viewUrl, "presentation.viewUrl", r);
|
|
2038
2037
|
n !== void 0 && (t.viewUrl = n);
|
|
2039
2038
|
}
|
|
2040
2039
|
return { value: t, issues: r };
|
|
2041
2040
|
}
|
|
2042
|
-
const
|
|
2041
|
+
const X = [
|
|
2043
2042
|
"SUN",
|
|
2044
2043
|
"MON",
|
|
2045
2044
|
"TUE",
|
|
@@ -2047,15 +2046,21 @@ const Ve = [
|
|
|
2047
2046
|
"THU",
|
|
2048
2047
|
"FRI",
|
|
2049
2048
|
"SAT"
|
|
2050
|
-
],
|
|
2051
|
-
|
|
2052
|
-
),
|
|
2053
|
-
|
|
2049
|
+
], He = new Map(
|
|
2050
|
+
X.map((e, r) => [e, r])
|
|
2051
|
+
), te = [1, 2, 3, 4, 5], We = [1, 2, 3, 6, 12], Ye = {
|
|
2052
|
+
1: "first",
|
|
2053
|
+
2: "second",
|
|
2054
|
+
3: "third",
|
|
2055
|
+
4: "fourth",
|
|
2056
|
+
[-1]: "last"
|
|
2057
|
+
}, Fo = {
|
|
2058
|
+
frequency: "weekly",
|
|
2054
2059
|
hour: 9,
|
|
2055
2060
|
minute: 0,
|
|
2056
2061
|
weekdays: [1]
|
|
2057
|
-
};
|
|
2058
|
-
function
|
|
2062
|
+
}, A = { ok: !1, issue: "Choose a supported schedule." };
|
|
2063
|
+
function Pr(e) {
|
|
2059
2064
|
if (typeof e != "string" || e.length === 0 || e !== e.trim() || /^(?:(?:UTC|GMT)[+-]|[+-]\d{2}:\d{2}$)/.test(e))
|
|
2060
2065
|
return !1;
|
|
2061
2066
|
try {
|
|
@@ -2064,79 +2069,165 @@ function uo(e) {
|
|
|
2064
2069
|
return !1;
|
|
2065
2070
|
}
|
|
2066
2071
|
}
|
|
2067
|
-
function
|
|
2072
|
+
function Br(e) {
|
|
2068
2073
|
return Number.isInteger(e.minute) && e.minute >= 0 && e.minute <= 59 && Number.isInteger(e.hour) && e.hour >= 0 && e.hour <= 23;
|
|
2069
2074
|
}
|
|
2070
|
-
function
|
|
2075
|
+
function Ze(e) {
|
|
2071
2076
|
if (e.length === 0) return null;
|
|
2072
2077
|
const r = [...e].sort((t, n) => t - n);
|
|
2073
2078
|
return r.some(
|
|
2074
2079
|
(t, n) => !Number.isInteger(t) || t < 0 || t > 6 || n > 0 && t === r[n - 1]
|
|
2075
2080
|
) ? null : r;
|
|
2076
2081
|
}
|
|
2077
|
-
function
|
|
2078
|
-
|
|
2082
|
+
function Qe(e) {
|
|
2083
|
+
const t = [...e.filter((o) => o !== "last")].sort((o, a) => o - a);
|
|
2084
|
+
if (t.some(
|
|
2085
|
+
(o, a) => !Number.isInteger(o) || o < 1 || o > 31 || a > 0 && o === t[a - 1]
|
|
2086
|
+
) || e.filter((o) => o === "last").length > 1)
|
|
2087
|
+
return null;
|
|
2088
|
+
const n = e.includes("last") ? [...t, "last"] : t;
|
|
2089
|
+
return n.length > 0 ? n : null;
|
|
2090
|
+
}
|
|
2091
|
+
function q(e, r) {
|
|
2092
|
+
const t = [];
|
|
2093
|
+
for (let n = 0; n < 12 / e; n += 1)
|
|
2094
|
+
t.push((r + n * e) % 12);
|
|
2095
|
+
return t.sort((n, o) => n - o);
|
|
2096
|
+
}
|
|
2097
|
+
function Or(e, r) {
|
|
2098
|
+
return e === 1 ? "*" : q(e, r).map((t) => t + 1).join(",");
|
|
2099
|
+
}
|
|
2100
|
+
function Xe(e, r) {
|
|
2101
|
+
return e.every((t) => jr(t, r));
|
|
2102
|
+
}
|
|
2103
|
+
function Ro(e) {
|
|
2104
|
+
if (!Br(e))
|
|
2079
2105
|
throw new Error("Choose a valid schedule time.");
|
|
2080
2106
|
const r = `${e.minute} ${e.hour}`;
|
|
2081
|
-
switch (e.
|
|
2107
|
+
switch (e.frequency) {
|
|
2082
2108
|
case "daily":
|
|
2083
|
-
return `${r} * * *`;
|
|
2109
|
+
return e.weekdaysOnly ? `${r} * * ${te.map((t) => X[t]).join(",")}` : `${r} * * *`;
|
|
2084
2110
|
case "weekly": {
|
|
2085
|
-
const t =
|
|
2111
|
+
const t = Ze(e.weekdays);
|
|
2086
2112
|
if (!t) throw new Error("Choose at least one weekday.");
|
|
2087
|
-
return `${r} * * ${t.map((n) =>
|
|
2113
|
+
return `${r} * * ${t.map((n) => X[n]).join(",")}`;
|
|
2114
|
+
}
|
|
2115
|
+
case "monthly": {
|
|
2116
|
+
if (!We.includes(e.interval) || !Number.isInteger(e.startMonth) || e.startMonth < 0 || e.startMonth >= e.interval)
|
|
2117
|
+
throw new Error("Choose a valid month cycle.");
|
|
2118
|
+
const t = Or(e.interval, e.startMonth);
|
|
2119
|
+
if (e.on.type === "days") {
|
|
2120
|
+
const i = Qe(e.on.days);
|
|
2121
|
+
if (!i) throw new Error("Choose at least one day of the month.");
|
|
2122
|
+
const l = q(e.interval, e.startMonth);
|
|
2123
|
+
if (!Xe(i, l))
|
|
2124
|
+
throw new Error("Choose a day that occurs in the chosen months.");
|
|
2125
|
+
const d = i.map((c) => c === "last" ? "L" : String(c)).join(",");
|
|
2126
|
+
return `${r} ${d} ${t} *`;
|
|
2127
|
+
}
|
|
2128
|
+
const { ordinal: n, weekday: o } = e.on;
|
|
2129
|
+
if (!Number.isInteger(o) || o < 0 || o > 6 || !(n in Ye))
|
|
2130
|
+
throw new Error("Choose a valid weekday.");
|
|
2131
|
+
const a = X[o];
|
|
2132
|
+
return `${r} * ${t} ${n === -1 ? `${a}L` : `${a}#${n}`}`;
|
|
2088
2133
|
}
|
|
2089
|
-
case "twice_monthly":
|
|
2090
|
-
return `${r} 1,15 * *`;
|
|
2091
|
-
case "monthly":
|
|
2092
|
-
return `${r} 1 * *`;
|
|
2093
2134
|
}
|
|
2094
2135
|
}
|
|
2095
|
-
function
|
|
2096
|
-
if (
|
|
2097
|
-
|
|
2098
|
-
if (
|
|
2099
|
-
|
|
2136
|
+
function Kr(e) {
|
|
2137
|
+
if (e === "*") return { interval: 1, startMonth: 0 };
|
|
2138
|
+
const r = e.split(",");
|
|
2139
|
+
if (r.some((i) => !/^([1-9]|1[0-2])$/.test(i))) return null;
|
|
2140
|
+
const t = r.map((i) => Number(i) - 1), n = 12 / t.length;
|
|
2141
|
+
if (!We.includes(n))
|
|
2142
|
+
return null;
|
|
2143
|
+
const o = t[0], a = q(
|
|
2144
|
+
n,
|
|
2145
|
+
o
|
|
2146
|
+
);
|
|
2147
|
+
return o >= n || a.length !== t.length || a.some((i, l) => i !== t[l]) ? null : { interval: n, startMonth: o };
|
|
2148
|
+
}
|
|
2149
|
+
function Nr(e) {
|
|
2150
|
+
const r = e.split(",");
|
|
2151
|
+
if (r.some((o) => !/^(L|[1-9]|[12]\d|3[01])$/.test(o))) return null;
|
|
2152
|
+
const t = r.map(
|
|
2153
|
+
(o) => o === "L" ? "last" : Number(o)
|
|
2154
|
+
), n = Qe(t);
|
|
2155
|
+
return !n || n.some((o, a) => o !== t[a]) ? null : n;
|
|
2156
|
+
}
|
|
2157
|
+
function Lr(e) {
|
|
2158
|
+
const r = /^([A-Z]{3})(?:#([1-4])|(L))$/.exec(e);
|
|
2159
|
+
if (!r) return null;
|
|
2160
|
+
const t = He.get(r[1]);
|
|
2161
|
+
return t === void 0 ? null : {
|
|
2162
|
+
weekday: t,
|
|
2163
|
+
ordinal: r[3] ? -1 : Number(r[2])
|
|
2164
|
+
};
|
|
2165
|
+
}
|
|
2166
|
+
function Je(e) {
|
|
2167
|
+
if (typeof e != "string" || e.length === 0 || e !== e.trim() || e.includes(" "))
|
|
2168
|
+
return A;
|
|
2100
2169
|
const r = e.split(" ");
|
|
2101
|
-
if (r.length !== 5)
|
|
2102
|
-
return { ok: !1, issue: "Choose a supported schedule." };
|
|
2170
|
+
if (r.length !== 5) return A;
|
|
2103
2171
|
const [t, n, o, a, i] = r;
|
|
2104
2172
|
if (!/^(0|[1-9]\d?)$/.test(t) || !/^(0|[1-9]\d?)$/.test(n))
|
|
2105
|
-
return
|
|
2106
|
-
const l = Number(t),
|
|
2107
|
-
if (l > 59 ||
|
|
2108
|
-
|
|
2109
|
-
if (o === "*" && i === "*")
|
|
2173
|
+
return A;
|
|
2174
|
+
const l = Number(t), d = Number(n);
|
|
2175
|
+
if (l > 59 || d > 23) return A;
|
|
2176
|
+
if (a === "*" && o === "*" && i === "*")
|
|
2110
2177
|
return {
|
|
2111
2178
|
ok: !0,
|
|
2112
|
-
value: {
|
|
2179
|
+
value: { frequency: "daily", hour: d, minute: l, weekdaysOnly: !1 }
|
|
2113
2180
|
};
|
|
2114
|
-
if (o === "*" && i
|
|
2115
|
-
const
|
|
2116
|
-
if (
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2181
|
+
if (a === "*" && o === "*" && !i.includes("#") && !i.endsWith("L")) {
|
|
2182
|
+
const u = i.split(",").map((g) => He.get(g));
|
|
2183
|
+
if (u.some((g) => g === void 0)) return A;
|
|
2184
|
+
const p = u, m = Ze(p);
|
|
2185
|
+
return !m || m.some((g, y) => g !== p[y]) ? A : m.length === te.length && m.every((g, y) => g === te[y]) ? {
|
|
2186
|
+
ok: !0,
|
|
2187
|
+
value: { frequency: "daily", hour: d, minute: l, weekdaysOnly: !0 }
|
|
2188
|
+
} : {
|
|
2120
2189
|
ok: !0,
|
|
2121
|
-
value: {
|
|
2190
|
+
value: { frequency: "weekly", hour: d, minute: l, weekdays: m }
|
|
2191
|
+
};
|
|
2192
|
+
}
|
|
2193
|
+
const c = Kr(a);
|
|
2194
|
+
if (!c) return A;
|
|
2195
|
+
if (o !== "*" && i === "*") {
|
|
2196
|
+
const s = Nr(o), u = q(c.interval, c.startMonth);
|
|
2197
|
+
return !s || !Xe(s, u) ? A : {
|
|
2198
|
+
ok: !0,
|
|
2199
|
+
value: {
|
|
2200
|
+
frequency: "monthly",
|
|
2201
|
+
hour: d,
|
|
2202
|
+
minute: l,
|
|
2203
|
+
...c,
|
|
2204
|
+
on: { type: "days", days: s }
|
|
2205
|
+
}
|
|
2122
2206
|
};
|
|
2123
2207
|
}
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2208
|
+
if (o === "*" && i !== "*") {
|
|
2209
|
+
const s = Lr(i);
|
|
2210
|
+
return s ? {
|
|
2211
|
+
ok: !0,
|
|
2212
|
+
value: {
|
|
2213
|
+
frequency: "monthly",
|
|
2214
|
+
hour: d,
|
|
2215
|
+
minute: l,
|
|
2216
|
+
...c,
|
|
2217
|
+
on: { type: "weekday", ...s }
|
|
2218
|
+
}
|
|
2219
|
+
} : A;
|
|
2220
|
+
}
|
|
2221
|
+
return A;
|
|
2131
2222
|
}
|
|
2132
|
-
function
|
|
2223
|
+
function zr(e, r, t) {
|
|
2133
2224
|
return new Intl.DateTimeFormat(t, {
|
|
2134
2225
|
hour: "numeric",
|
|
2135
2226
|
minute: "2-digit",
|
|
2136
2227
|
timeZone: "UTC"
|
|
2137
2228
|
}).format(new Date(Date.UTC(2020, 0, 1, e, r)));
|
|
2138
2229
|
}
|
|
2139
|
-
function
|
|
2230
|
+
function qr(e, r) {
|
|
2140
2231
|
var t;
|
|
2141
2232
|
if (e === "UTC") return "UTC";
|
|
2142
2233
|
try {
|
|
@@ -2148,58 +2239,130 @@ function Sr(e, r) {
|
|
|
2148
2239
|
return null;
|
|
2149
2240
|
}
|
|
2150
2241
|
}
|
|
2151
|
-
function
|
|
2152
|
-
|
|
2242
|
+
function Fe(e) {
|
|
2243
|
+
return e.length <= 1 ? e.join("") : e.length === 2 ? `${e[0]} and ${e[1]}` : `${e.slice(0, -1).join(", ")} and ${e[e.length - 1]}`;
|
|
2244
|
+
}
|
|
2245
|
+
function Vr(e) {
|
|
2246
|
+
const r = e % 100;
|
|
2247
|
+
return r >= 11 && r <= 13 ? `${e}th` : `${e}${["th", "st", "nd", "rd"][e % 10] ?? "th"}`;
|
|
2248
|
+
}
|
|
2249
|
+
function Ur(e, r, t) {
|
|
2250
|
+
const n = (a, i) => new Intl.DateTimeFormat(t, { month: i, timeZone: "UTC" }).format(
|
|
2251
|
+
new Date(Date.UTC(2020, a, 1))
|
|
2252
|
+
);
|
|
2253
|
+
if (e === 1) return "every month";
|
|
2254
|
+
if (e === 12) return `${n(r, "long")} each year`;
|
|
2255
|
+
const o = q(e, r).map((a) => n(a, "short")).join(", ");
|
|
2256
|
+
return e === 3 ? `each quarter (${o})` : `every ${e} months (${o})`;
|
|
2257
|
+
}
|
|
2258
|
+
function Ao(e, r, t = "en-US") {
|
|
2259
|
+
const n = Je(e);
|
|
2153
2260
|
if (!n.ok) return null;
|
|
2154
2261
|
try {
|
|
2155
|
-
const o =
|
|
2262
|
+
const o = n.value, a = qr(r, t);
|
|
2156
2263
|
if (!a) return null;
|
|
2157
|
-
|
|
2264
|
+
const i = `at ${zr(o.hour, o.minute, t)} ${a}`, l = (d) => new Intl.DateTimeFormat(t, {
|
|
2265
|
+
weekday: "long",
|
|
2266
|
+
timeZone: "UTC"
|
|
2267
|
+
}).format(new Date(Date.UTC(2023, 0, 1 + d)));
|
|
2268
|
+
switch (o.frequency) {
|
|
2158
2269
|
case "daily":
|
|
2159
|
-
return `
|
|
2160
|
-
case "weekly":
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2270
|
+
return o.weekdaysOnly ? `Every weekday, Monday to Friday, ${i}` : `Every day ${i}`;
|
|
2271
|
+
case "weekly":
|
|
2272
|
+
return `Every ${Fe(o.weekdays.map(l))} ${i}`;
|
|
2273
|
+
case "monthly": {
|
|
2274
|
+
const d = Ur(o.interval, o.startMonth, t);
|
|
2275
|
+
if (o.on.type === "weekday")
|
|
2276
|
+
return `On the ${Ye[o.on.ordinal]} ${l(o.on.weekday)} of ${d} ${i}`;
|
|
2277
|
+
const c = o.on.days.map(
|
|
2278
|
+
(s) => s === "last" ? "last day" : Vr(s)
|
|
2279
|
+
);
|
|
2280
|
+
return `On the ${Fe(c)} of ${d} ${i}`;
|
|
2168
2281
|
}
|
|
2169
|
-
case "twice_monthly":
|
|
2170
|
-
return `On the 1st and 15th at ${o} ${a}`;
|
|
2171
|
-
case "monthly":
|
|
2172
|
-
return `Monthly on the 1st at ${o} ${a}`;
|
|
2173
2282
|
}
|
|
2174
2283
|
} catch {
|
|
2175
2284
|
return null;
|
|
2176
2285
|
}
|
|
2177
2286
|
}
|
|
2178
|
-
|
|
2287
|
+
const et = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
2288
|
+
function jr(e, r) {
|
|
2289
|
+
return e === "last" || r.some((t) => e <= et[t]);
|
|
2290
|
+
}
|
|
2291
|
+
function Do(e) {
|
|
2292
|
+
if (e.frequency !== "monthly" || e.on.type !== "days") return null;
|
|
2293
|
+
const r = e.on.days.filter((o) => o !== "last");
|
|
2294
|
+
if (r.length === 0) return null;
|
|
2295
|
+
const t = Math.max(...r), n = q(e.interval, e.startMonth).filter(
|
|
2296
|
+
(o) => t > (o === 1 ? 28 : et[o])
|
|
2297
|
+
);
|
|
2298
|
+
return n.length > 0 ? { day: t, months: n } : null;
|
|
2299
|
+
}
|
|
2300
|
+
function Gr(e, r) {
|
|
2301
|
+
return new Date(Date.UTC(e, r + 1, 0)).getUTCDate();
|
|
2302
|
+
}
|
|
2303
|
+
function Hr(e, r, t, n) {
|
|
2304
|
+
const o = new Date(Date.UTC(r, t, n)).getUTCDay();
|
|
2305
|
+
switch (e.frequency) {
|
|
2306
|
+
case "daily":
|
|
2307
|
+
return !e.weekdaysOnly || te.includes(o);
|
|
2308
|
+
case "weekly":
|
|
2309
|
+
return e.weekdays.includes(o);
|
|
2310
|
+
case "monthly": {
|
|
2311
|
+
if (!q(e.interval, e.startMonth).includes(t))
|
|
2312
|
+
return !1;
|
|
2313
|
+
const a = Gr(r, t);
|
|
2314
|
+
return e.on.type === "days" ? e.on.days.some(
|
|
2315
|
+
(i) => i === "last" ? n === a : i === n
|
|
2316
|
+
) : o !== e.on.weekday ? !1 : e.on.ordinal === -1 ? n + 7 > a : Math.ceil(n / 7) === e.on.ordinal;
|
|
2317
|
+
}
|
|
2318
|
+
}
|
|
2319
|
+
}
|
|
2320
|
+
function Mo(e, r, t, n) {
|
|
2321
|
+
const o = Je(e);
|
|
2322
|
+
if (!o.ok || !Pr(r)) return [];
|
|
2323
|
+
const a = o.value, i = new Intl.DateTimeFormat("en-US", {
|
|
2324
|
+
timeZone: r,
|
|
2325
|
+
hourCycle: "h23",
|
|
2326
|
+
year: "numeric",
|
|
2327
|
+
month: "numeric",
|
|
2328
|
+
day: "numeric",
|
|
2329
|
+
hour: "numeric",
|
|
2330
|
+
minute: "numeric"
|
|
2331
|
+
}).formatToParts(t), l = (s) => {
|
|
2332
|
+
var u;
|
|
2333
|
+
return Number((u = i.find((p) => p.type === s)) == null ? void 0 : u.value);
|
|
2334
|
+
}, d = new Date(Date.UTC(l("year"), l("month") - 1, l("day")));
|
|
2335
|
+
l("hour") * 60 + l("minute") >= a.hour * 60 + a.minute && d.setUTCDate(d.getUTCDate() + 1);
|
|
2336
|
+
const c = [];
|
|
2337
|
+
for (let s = 0; s < 366 * 4 * (n + 1) && c.length < n; s += 1)
|
|
2338
|
+
Hr(a, d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()) && c.push(d.toISOString().slice(0, 10)), d.setUTCDate(d.getUTCDate() + 1);
|
|
2339
|
+
return c;
|
|
2340
|
+
}
|
|
2341
|
+
function Po(e) {
|
|
2179
2342
|
return e != null && e.role ? e.type === "tenant" ? e.role === "POWER_USER" : ["AUTHOR", "ADMIN", "SUPER_ADMIN"].includes(e.role) : !1;
|
|
2180
2343
|
}
|
|
2181
|
-
function
|
|
2344
|
+
function Bo(e) {
|
|
2182
2345
|
return e.canCreate ? [
|
|
2183
2346
|
...e.scheduledReportAvailable ? ["scheduled_report"] : [],
|
|
2184
2347
|
...e.analyticalBriefingsEnabled ? ["analytical_briefing"] : []
|
|
2185
2348
|
] : [];
|
|
2186
2349
|
}
|
|
2187
|
-
function
|
|
2350
|
+
function Wr(e) {
|
|
2188
2351
|
const r = (e == null ? void 0 : e.channels) ?? [];
|
|
2189
2352
|
return r.length === 1 && r[0] === "EMAIL";
|
|
2190
2353
|
}
|
|
2191
|
-
function
|
|
2192
|
-
return e.body.type === "generated_analysis" ? "Analytical briefing" : e.body.type === "custom_message" && e.attachments.length > 0 &&
|
|
2354
|
+
function Yr(e) {
|
|
2355
|
+
return e.body.type === "generated_analysis" ? "Analytical briefing" : e.body.type === "custom_message" && e.attachments.length > 0 && Wr(e.deliveryConfig) ? e.scheduleExpr ? "Scheduled report" : "On-demand report" : "Plain briefing";
|
|
2193
2356
|
}
|
|
2194
|
-
function
|
|
2195
|
-
const r =
|
|
2357
|
+
function Oo(e) {
|
|
2358
|
+
const r = Yr(e), t = r === "Scheduled report" || r === "On-demand report" ? "report" : "briefing";
|
|
2196
2359
|
return {
|
|
2197
2360
|
typeLabel: r,
|
|
2198
2361
|
noun: t,
|
|
2199
2362
|
pluralNoun: t === "report" ? "reports" : "briefings"
|
|
2200
2363
|
};
|
|
2201
2364
|
}
|
|
2202
|
-
const
|
|
2365
|
+
const fe = "BRIEFING", Zr = ["markdown", "html"], pe = ["markdown"], ce = 20, h = {
|
|
2203
2366
|
name: 500,
|
|
2204
2367
|
description: 2e3,
|
|
2205
2368
|
instruction: 5e4,
|
|
@@ -2219,16 +2382,16 @@ const de = "BRIEFING", Rr = ["markdown", "html"], se = ["markdown"], ne = 20, y
|
|
|
2219
2382
|
maxBlocks: 50,
|
|
2220
2383
|
maxTableRows: 100,
|
|
2221
2384
|
maxTableColumns: 20,
|
|
2222
|
-
maxTableCellCharacters:
|
|
2223
|
-
maxParagraphCharacters:
|
|
2224
|
-
maxFindingCharacters:
|
|
2385
|
+
maxTableCellCharacters: h.contentCell,
|
|
2386
|
+
maxParagraphCharacters: h.contentText,
|
|
2387
|
+
maxFindingCharacters: h.contentText,
|
|
2225
2388
|
maxListItems: 100,
|
|
2226
2389
|
// A kpi_grid is rendered as a 2-up tile arrangement in emails. Cap at 8 so
|
|
2227
2390
|
// the visual stays at most 4 rows (4 columns wide on desktop would force
|
|
2228
2391
|
// tiny tiles in narrow client panels; 2-up was the chosen layout).
|
|
2229
2392
|
maxKpiTiles: 8
|
|
2230
2393
|
};
|
|
2231
|
-
function
|
|
2394
|
+
function Qr(e) {
|
|
2232
2395
|
if (e === null || typeof e != "object" || Array.isArray(e))
|
|
2233
2396
|
return !1;
|
|
2234
2397
|
const r = e;
|
|
@@ -2238,60 +2401,60 @@ function Ar(e) {
|
|
|
2238
2401
|
if (t === null || typeof t != "object" || Array.isArray(t))
|
|
2239
2402
|
return !1;
|
|
2240
2403
|
const n = t;
|
|
2241
|
-
return (n.kind === "metric" && typeof n.metricId == "string" && !!n.metricId.trim() || n.kind === "column" && typeof n.columnKey == "string" && !!n.columnKey.trim() || n.kind === "matrix_measure" && typeof n.measureId == "string" && !!n.measureId.trim()) &&
|
|
2404
|
+
return (n.kind === "metric" && typeof n.metricId == "string" && !!n.metricId.trim() || n.kind === "column" && typeof n.columnKey == "string" && !!n.columnKey.trim() || n.kind === "matrix_measure" && typeof n.measureId == "string" && !!n.measureId.trim()) && Re(r.format).ok;
|
|
2242
2405
|
}
|
|
2243
|
-
function
|
|
2244
|
-
return e == null ? "" :
|
|
2406
|
+
function Xr(e) {
|
|
2407
|
+
return e == null ? "" : Qr(e) ? yt(e.value, e.format) : String(e);
|
|
2245
2408
|
}
|
|
2246
|
-
function
|
|
2409
|
+
function Ko(e) {
|
|
2247
2410
|
return [e.delta, e.percentChange].filter(
|
|
2248
2411
|
(r) => r != null
|
|
2249
|
-
).map(
|
|
2412
|
+
).map(Xr).filter(Boolean).join(" / ");
|
|
2250
2413
|
}
|
|
2251
|
-
const
|
|
2414
|
+
const tt = new Set(Zr), Jr = /* @__PURE__ */ new Set([
|
|
2252
2415
|
"EMAIL",
|
|
2253
2416
|
"WEBHOOK",
|
|
2254
2417
|
"SLACK",
|
|
2255
2418
|
"IN_APP",
|
|
2256
2419
|
"TELEGRAM"
|
|
2257
|
-
]),
|
|
2420
|
+
]), le = {
|
|
2258
2421
|
maxToolCalls: { min: 1, max: 100 },
|
|
2259
2422
|
maxPlanningIterations: { min: 1, max: 10 },
|
|
2260
2423
|
maxRows: { min: 1, max: 1e5 },
|
|
2261
2424
|
timeoutMs: { min: 1e3, max: 30 * 6e4 }
|
|
2262
|
-
},
|
|
2425
|
+
}, en = /* @__PURE__ */ new Set([
|
|
2263
2426
|
"letter",
|
|
2264
2427
|
"legal",
|
|
2265
2428
|
"a4",
|
|
2266
2429
|
"a3",
|
|
2267
2430
|
"tabloid"
|
|
2268
|
-
]),
|
|
2431
|
+
]), tn = /* @__PURE__ */ new Set([
|
|
2269
2432
|
"portrait",
|
|
2270
2433
|
"landscape"
|
|
2271
|
-
]),
|
|
2434
|
+
]), rn = /* @__PURE__ */ new Set([",", ";", " "]), nn = /* @__PURE__ */ new Set([
|
|
2272
2435
|
"current",
|
|
2273
2436
|
"all"
|
|
2274
|
-
]),
|
|
2437
|
+
]), on = /* @__PURE__ */ new Set([
|
|
2275
2438
|
"concise",
|
|
2276
2439
|
"balanced",
|
|
2277
2440
|
"detailed"
|
|
2278
|
-
]),
|
|
2441
|
+
]), an = /* @__PURE__ */ new Set([
|
|
2279
2442
|
"info",
|
|
2280
2443
|
"positive",
|
|
2281
2444
|
"warning",
|
|
2282
2445
|
"critical"
|
|
2283
|
-
]),
|
|
2446
|
+
]), cn = /* @__PURE__ */ new Set([
|
|
2284
2447
|
"text",
|
|
2285
2448
|
"number",
|
|
2286
2449
|
"currency",
|
|
2287
2450
|
"percent",
|
|
2288
2451
|
"date",
|
|
2289
2452
|
"boolean"
|
|
2290
|
-
]),
|
|
2453
|
+
]), ln = /* @__PURE__ */ new Set([
|
|
2291
2454
|
"left",
|
|
2292
2455
|
"center",
|
|
2293
2456
|
"right"
|
|
2294
|
-
]),
|
|
2457
|
+
]), sn = [
|
|
2295
2458
|
"matrix",
|
|
2296
2459
|
"pageSize",
|
|
2297
2460
|
"orientation",
|
|
@@ -2319,21 +2482,21 @@ const je = new Set(Rr), Mr = /* @__PURE__ */ new Set([
|
|
|
2319
2482
|
"allowDownload",
|
|
2320
2483
|
"theme"
|
|
2321
2484
|
];
|
|
2322
|
-
class
|
|
2485
|
+
class oe extends Error {
|
|
2323
2486
|
constructor(t) {
|
|
2324
2487
|
super(t.map((n) => `${n.field}: ${n.message}`).join("; "));
|
|
2325
2488
|
F(this, "issues");
|
|
2326
2489
|
this.name = "BriefingContractError", this.issues = t;
|
|
2327
2490
|
}
|
|
2328
2491
|
}
|
|
2329
|
-
function
|
|
2492
|
+
function rt(e) {
|
|
2330
2493
|
return typeof e == "object" && e !== null && !Array.isArray(e);
|
|
2331
2494
|
}
|
|
2332
2495
|
function f(e, r, t) {
|
|
2333
2496
|
e.push({ field: r, message: t });
|
|
2334
2497
|
}
|
|
2335
2498
|
function k(e, r, t) {
|
|
2336
|
-
return
|
|
2499
|
+
return rt(e) ? e : (f(t, r, "Expected an object."), {});
|
|
2337
2500
|
}
|
|
2338
2501
|
function I(e, r, t, n) {
|
|
2339
2502
|
const o = new Set(t);
|
|
@@ -2345,13 +2508,13 @@ function I(e, r, t, n) {
|
|
|
2345
2508
|
);
|
|
2346
2509
|
});
|
|
2347
2510
|
}
|
|
2348
|
-
function
|
|
2511
|
+
function $(e, r, t, n) {
|
|
2349
2512
|
if (typeof e != "string")
|
|
2350
2513
|
return f(n, r, "Expected a string."), "";
|
|
2351
2514
|
const o = e.trim();
|
|
2352
2515
|
return o ? (o.length > t && f(n, r, `Must be ${t} characters or fewer.`), o) : (f(n, r, "Required value cannot be empty."), "");
|
|
2353
2516
|
}
|
|
2354
|
-
function
|
|
2517
|
+
function x(e, r, t, n) {
|
|
2355
2518
|
if (e == null)
|
|
2356
2519
|
return;
|
|
2357
2520
|
if (typeof e != "string") {
|
|
@@ -2362,13 +2525,13 @@ function $(e, r, t, n) {
|
|
|
2362
2525
|
if (o)
|
|
2363
2526
|
return o.length > t && f(n, r, `Must be ${t} characters or fewer.`), o;
|
|
2364
2527
|
}
|
|
2365
|
-
function
|
|
2528
|
+
function dn(e, r, t, n) {
|
|
2366
2529
|
if (typeof e != "string")
|
|
2367
2530
|
return f(n, r, "Expected a string."), "";
|
|
2368
2531
|
const o = e.trim();
|
|
2369
2532
|
return o.length > t && f(n, r, `Must be ${t} characters or fewer.`), o;
|
|
2370
2533
|
}
|
|
2371
|
-
function
|
|
2534
|
+
function mn(e, r, t) {
|
|
2372
2535
|
if (e != null) {
|
|
2373
2536
|
if (!Number.isInteger(e) || Number(e) < 0) {
|
|
2374
2537
|
f(t, r, "Expected a non-negative integer.");
|
|
@@ -2377,17 +2540,17 @@ function Ur(e, r, t) {
|
|
|
2377
2540
|
return Number(e);
|
|
2378
2541
|
}
|
|
2379
2542
|
}
|
|
2380
|
-
function
|
|
2543
|
+
function D(e, r, t, n = {}) {
|
|
2381
2544
|
if (e == null)
|
|
2382
2545
|
return n.required ? (f(t, r, "Expected at least one evidence id."), []) : void 0;
|
|
2383
2546
|
if (!Array.isArray(e))
|
|
2384
2547
|
return f(t, r, "Expected an array."), n.required ? [] : void 0;
|
|
2385
2548
|
const o = [];
|
|
2386
2549
|
return e.forEach((a, i) => {
|
|
2387
|
-
const l =
|
|
2550
|
+
const l = $(
|
|
2388
2551
|
a,
|
|
2389
2552
|
`${r}.${i}`,
|
|
2390
|
-
|
|
2553
|
+
h.id,
|
|
2391
2554
|
t
|
|
2392
2555
|
);
|
|
2393
2556
|
l && !o.includes(l) && o.push(l);
|
|
@@ -2396,42 +2559,42 @@ function A(e, r, t, n = {}) {
|
|
|
2396
2559
|
function z(e, r, t, n) {
|
|
2397
2560
|
return e == null ? r : typeof e != "boolean" ? (f(n, t, "Expected a boolean."), r) : e;
|
|
2398
2561
|
}
|
|
2399
|
-
function
|
|
2562
|
+
function un(e, r) {
|
|
2400
2563
|
return e == null ? "ACTIVE" : e === "ACTIVE" || e === "PAUSED" || e === "DISABLED" ? e : (f(r, "status", "Expected ACTIVE, PAUSED, or DISABLED."), "ACTIVE");
|
|
2401
2564
|
}
|
|
2402
|
-
function
|
|
2565
|
+
function fn(e) {
|
|
2403
2566
|
return e.includes("@") && e.includes(".") && !e.includes(" ");
|
|
2404
2567
|
}
|
|
2405
|
-
function
|
|
2568
|
+
function nt(e, r) {
|
|
2406
2569
|
if (e == null)
|
|
2407
2570
|
return { type: "project" };
|
|
2408
2571
|
const t = k(e, "source", r), n = t.type;
|
|
2409
2572
|
return n === "project" ? (I(t, "source", ["type"], r), { type: "project" }) : n === "dashboard" ? (I(t, "source", ["type", "dashboardId"], r), {
|
|
2410
2573
|
type: "dashboard",
|
|
2411
|
-
dashboardId:
|
|
2574
|
+
dashboardId: $(
|
|
2412
2575
|
t.dashboardId,
|
|
2413
2576
|
"source.dashboardId",
|
|
2414
|
-
|
|
2577
|
+
h.id,
|
|
2415
2578
|
r
|
|
2416
2579
|
)
|
|
2417
2580
|
}) : (f(r, "source.type", "Expected project or dashboard."), { type: "project" });
|
|
2418
2581
|
}
|
|
2419
|
-
function
|
|
2582
|
+
function ot(e, r) {
|
|
2420
2583
|
const t = k(e, "body", r), n = t.type;
|
|
2421
2584
|
return n === "generated_analysis" ? (I(t, "body", ["type", "instruction"], r), {
|
|
2422
2585
|
type: "generated_analysis",
|
|
2423
|
-
instruction:
|
|
2586
|
+
instruction: $(
|
|
2424
2587
|
t.instruction,
|
|
2425
2588
|
"body.instruction",
|
|
2426
|
-
|
|
2589
|
+
h.instruction,
|
|
2427
2590
|
r
|
|
2428
2591
|
)
|
|
2429
2592
|
}) : n === "custom_message" ? (I(t, "body", ["type", "message"], r), {
|
|
2430
2593
|
type: "custom_message",
|
|
2431
|
-
message:
|
|
2594
|
+
message: dn(
|
|
2432
2595
|
t.message,
|
|
2433
2596
|
"body.message",
|
|
2434
|
-
|
|
2597
|
+
h.customMessage,
|
|
2435
2598
|
r
|
|
2436
2599
|
)
|
|
2437
2600
|
}) : n === "none" ? (I(t, "body", ["type"], r), { type: "none" }) : (f(
|
|
@@ -2440,11 +2603,11 @@ function He(e, r) {
|
|
|
2440
2603
|
"Expected generated_analysis, custom_message, or none."
|
|
2441
2604
|
), { type: "none" });
|
|
2442
2605
|
}
|
|
2443
|
-
function
|
|
2606
|
+
function pn(e, r) {
|
|
2444
2607
|
if (e == null)
|
|
2445
|
-
return [...
|
|
2608
|
+
return [...pe];
|
|
2446
2609
|
if (!Array.isArray(e))
|
|
2447
|
-
return f(r, "presentation.artifactFormats", "Expected an array."), [...
|
|
2610
|
+
return f(r, "presentation.artifactFormats", "Expected an array."), [...pe];
|
|
2448
2611
|
if (e.length === 0)
|
|
2449
2612
|
return f(
|
|
2450
2613
|
r,
|
|
@@ -2453,7 +2616,7 @@ function Wr(e, r) {
|
|
|
2453
2616
|
), [];
|
|
2454
2617
|
const t = [];
|
|
2455
2618
|
return e.forEach((n, o) => {
|
|
2456
|
-
if (typeof n != "string" || !
|
|
2619
|
+
if (typeof n != "string" || !tt.has(n)) {
|
|
2457
2620
|
f(
|
|
2458
2621
|
r,
|
|
2459
2622
|
`presentation.artifactFormats.${o}`,
|
|
@@ -2464,10 +2627,10 @@ function Wr(e, r) {
|
|
|
2464
2627
|
t.includes(n) || t.push(n);
|
|
2465
2628
|
}), t;
|
|
2466
2629
|
}
|
|
2467
|
-
function
|
|
2630
|
+
function at(e, r) {
|
|
2468
2631
|
if (e == null)
|
|
2469
2632
|
return {
|
|
2470
|
-
artifactFormats: [...
|
|
2633
|
+
artifactFormats: [...pe],
|
|
2471
2634
|
includeEvidence: !0,
|
|
2472
2635
|
includeSql: !0
|
|
2473
2636
|
};
|
|
@@ -2490,7 +2653,7 @@ function We(e, r) {
|
|
|
2490
2653
|
r
|
|
2491
2654
|
);
|
|
2492
2655
|
const n = {
|
|
2493
|
-
artifactFormats:
|
|
2656
|
+
artifactFormats: pn(t.artifactFormats, r),
|
|
2494
2657
|
includeEvidence: z(
|
|
2495
2658
|
t.includeEvidence,
|
|
2496
2659
|
!0,
|
|
@@ -2503,69 +2666,69 @@ function We(e, r) {
|
|
|
2503
2666
|
"presentation.includeSql",
|
|
2504
2667
|
r
|
|
2505
2668
|
)
|
|
2506
|
-
}, o =
|
|
2669
|
+
}, o = x(
|
|
2507
2670
|
t.audience,
|
|
2508
2671
|
"presentation.audience",
|
|
2509
|
-
|
|
2672
|
+
h.presentationAudience,
|
|
2510
2673
|
r
|
|
2511
|
-
), a =
|
|
2674
|
+
), a = x(
|
|
2512
2675
|
t.tone,
|
|
2513
2676
|
"presentation.tone",
|
|
2514
|
-
|
|
2677
|
+
h.presentationTone,
|
|
2515
2678
|
r
|
|
2516
|
-
), i =
|
|
2679
|
+
), i = x(
|
|
2517
2680
|
t.format,
|
|
2518
2681
|
"presentation.format",
|
|
2519
|
-
|
|
2682
|
+
h.presentationFormat,
|
|
2520
2683
|
r
|
|
2521
2684
|
);
|
|
2522
2685
|
o && (n.audience = o), a && (n.tone = a), i && (n.format = i);
|
|
2523
|
-
const l =
|
|
2524
|
-
return l.issues.forEach((
|
|
2686
|
+
const l = Mr(t);
|
|
2687
|
+
return l.issues.forEach((d) => f(r, d.field, d.message)), Object.assign(n, l.value), n;
|
|
2525
2688
|
}
|
|
2526
|
-
function
|
|
2689
|
+
function yn(e, r, t) {
|
|
2527
2690
|
return Array.isArray(e) ? (e.length === 0 && f(t, r, "Expected at least one item."), e.length > R.maxListItems && f(
|
|
2528
2691
|
t,
|
|
2529
2692
|
r,
|
|
2530
2693
|
`Must have ${R.maxListItems} items or fewer.`
|
|
2531
2694
|
), e.slice(0, R.maxListItems).map(
|
|
2532
|
-
(n, o) =>
|
|
2695
|
+
(n, o) => $(
|
|
2533
2696
|
n,
|
|
2534
2697
|
`${r}.${o}`,
|
|
2535
|
-
|
|
2698
|
+
h.contentItem,
|
|
2536
2699
|
t
|
|
2537
2700
|
)
|
|
2538
2701
|
).filter(Boolean)) : (f(t, r, "Expected an array."), []);
|
|
2539
2702
|
}
|
|
2540
|
-
function
|
|
2703
|
+
function hn(e, r, t) {
|
|
2541
2704
|
const n = k(e, r, t);
|
|
2542
2705
|
if (n.kind === "metric")
|
|
2543
2706
|
return I(n, r, ["kind", "metricId"], t), {
|
|
2544
2707
|
kind: "metric",
|
|
2545
|
-
metricId:
|
|
2708
|
+
metricId: $(
|
|
2546
2709
|
n.metricId,
|
|
2547
2710
|
`${r}.metricId`,
|
|
2548
|
-
|
|
2711
|
+
h.id,
|
|
2549
2712
|
t
|
|
2550
2713
|
)
|
|
2551
2714
|
};
|
|
2552
2715
|
if (n.kind === "column")
|
|
2553
2716
|
return I(n, r, ["kind", "columnKey"], t), {
|
|
2554
2717
|
kind: "column",
|
|
2555
|
-
columnKey:
|
|
2718
|
+
columnKey: $(
|
|
2556
2719
|
n.columnKey,
|
|
2557
2720
|
`${r}.columnKey`,
|
|
2558
|
-
|
|
2721
|
+
h.id,
|
|
2559
2722
|
t
|
|
2560
2723
|
)
|
|
2561
2724
|
};
|
|
2562
2725
|
if (n.kind === "matrix_measure")
|
|
2563
2726
|
return I(n, r, ["kind", "measureId"], t), {
|
|
2564
2727
|
kind: "matrix_measure",
|
|
2565
|
-
measureId:
|
|
2728
|
+
measureId: $(
|
|
2566
2729
|
n.measureId,
|
|
2567
2730
|
`${r}.measureId`,
|
|
2568
|
-
|
|
2731
|
+
h.id,
|
|
2569
2732
|
t
|
|
2570
2733
|
)
|
|
2571
2734
|
};
|
|
@@ -2575,18 +2738,18 @@ function Zr(e, r, t) {
|
|
|
2575
2738
|
"Expected metric, column, or matrix_measure."
|
|
2576
2739
|
);
|
|
2577
2740
|
}
|
|
2578
|
-
function
|
|
2741
|
+
function it(e, r, t) {
|
|
2579
2742
|
if (e === null || typeof e != "object" || Array.isArray(e))
|
|
2580
2743
|
return;
|
|
2581
2744
|
const n = k(e, r, t);
|
|
2582
2745
|
if (!Object.prototype.hasOwnProperty.call(n, "target") && !Object.prototype.hasOwnProperty.call(n, "format"))
|
|
2583
2746
|
return;
|
|
2584
2747
|
I(n, r, ["value", "target", "format"], t), (typeof n.value != "number" || !Number.isFinite(n.value)) && f(t, `${r}.value`, "Expected a finite number.");
|
|
2585
|
-
const o =
|
|
2748
|
+
const o = hn(
|
|
2586
2749
|
n.target,
|
|
2587
2750
|
`${r}.target`,
|
|
2588
2751
|
t
|
|
2589
|
-
), a =
|
|
2752
|
+
), a = Re(n.format);
|
|
2590
2753
|
if (a.ok || a.issues.forEach(
|
|
2591
2754
|
(i) => f(
|
|
2592
2755
|
t,
|
|
@@ -2596,7 +2759,7 @@ function Ye(e, r, t) {
|
|
|
2596
2759
|
), !(typeof n.value != "number" || !Number.isFinite(n.value) || !o || !a.ok))
|
|
2597
2760
|
return { value: n.value, target: o, format: a.value };
|
|
2598
2761
|
}
|
|
2599
|
-
function
|
|
2762
|
+
function K(e, r, t) {
|
|
2600
2763
|
if (typeof e == "string")
|
|
2601
2764
|
return e;
|
|
2602
2765
|
if (typeof e == "number") {
|
|
@@ -2606,7 +2769,7 @@ function O(e, r, t) {
|
|
|
2606
2769
|
}
|
|
2607
2770
|
return e;
|
|
2608
2771
|
}
|
|
2609
|
-
const n =
|
|
2772
|
+
const n = it(e, r, t);
|
|
2610
2773
|
if (n) return n;
|
|
2611
2774
|
f(
|
|
2612
2775
|
t,
|
|
@@ -2614,21 +2777,21 @@ function O(e, r, t) {
|
|
|
2614
2777
|
"Expected a string, number, or structured numeric value."
|
|
2615
2778
|
);
|
|
2616
2779
|
}
|
|
2617
|
-
function
|
|
2780
|
+
function gn(e, r, t) {
|
|
2618
2781
|
if (e === null || typeof e == "string" || typeof e == "number" || typeof e == "boolean")
|
|
2619
|
-
return typeof e == "string" && e.length >
|
|
2782
|
+
return typeof e == "string" && e.length > h.contentCell ? (f(
|
|
2620
2783
|
t,
|
|
2621
2784
|
r,
|
|
2622
|
-
`Must be ${
|
|
2623
|
-
), e.slice(0,
|
|
2624
|
-
const n =
|
|
2785
|
+
`Must be ${h.contentCell} characters or fewer.`
|
|
2786
|
+
), e.slice(0, h.contentCell)) : typeof e == "number" && !Number.isFinite(e) ? (f(t, r, "Expected a finite number."), null) : e;
|
|
2787
|
+
const n = it(e, r, t);
|
|
2625
2788
|
return n || (f(
|
|
2626
2789
|
t,
|
|
2627
2790
|
r,
|
|
2628
2791
|
"Expected a string, number, boolean, structured numeric value, or null."
|
|
2629
2792
|
), null);
|
|
2630
2793
|
}
|
|
2631
|
-
function
|
|
2794
|
+
function vn(e, r, t) {
|
|
2632
2795
|
if (!Array.isArray(e))
|
|
2633
2796
|
return f(t, r, "Expected an array."), [];
|
|
2634
2797
|
e.length === 0 && f(t, r, "Expected at least one column."), e.length > R.maxTableColumns && f(
|
|
@@ -2640,40 +2803,40 @@ function Jr(e, r, t) {
|
|
|
2640
2803
|
return e.slice(0, R.maxTableColumns).map((o, a) => {
|
|
2641
2804
|
const i = `${r}.${a}`, l = k(o, i, t);
|
|
2642
2805
|
I(l, i, ["key", "label", "kind", "align"], t);
|
|
2643
|
-
const
|
|
2806
|
+
const d = $(
|
|
2644
2807
|
l.key,
|
|
2645
2808
|
`${i}.key`,
|
|
2646
|
-
|
|
2809
|
+
h.id,
|
|
2647
2810
|
t
|
|
2648
2811
|
);
|
|
2649
|
-
|
|
2650
|
-
const c =
|
|
2812
|
+
d && (n.has(d) && f(t, `${i}.key`, "Column key must be unique."), n.add(d));
|
|
2813
|
+
const c = $(
|
|
2651
2814
|
l.label,
|
|
2652
2815
|
`${i}.label`,
|
|
2653
|
-
|
|
2816
|
+
h.contentTitle,
|
|
2654
2817
|
t
|
|
2655
|
-
), s =
|
|
2818
|
+
), s = O(
|
|
2656
2819
|
l.kind,
|
|
2657
2820
|
`${i}.kind`,
|
|
2658
|
-
|
|
2821
|
+
cn,
|
|
2659
2822
|
"text, number, currency, percent, date, or boolean",
|
|
2660
2823
|
t
|
|
2661
|
-
), u =
|
|
2824
|
+
), u = O(
|
|
2662
2825
|
l.align,
|
|
2663
2826
|
`${i}.align`,
|
|
2664
|
-
|
|
2827
|
+
ln,
|
|
2665
2828
|
"left, center, or right",
|
|
2666
2829
|
t
|
|
2667
2830
|
);
|
|
2668
2831
|
return {
|
|
2669
|
-
key:
|
|
2832
|
+
key: d,
|
|
2670
2833
|
label: c,
|
|
2671
2834
|
...s ? { kind: s } : {},
|
|
2672
2835
|
...u ? { align: u } : {}
|
|
2673
2836
|
};
|
|
2674
2837
|
});
|
|
2675
2838
|
}
|
|
2676
|
-
function
|
|
2839
|
+
function bn(e, r, t, n) {
|
|
2677
2840
|
if (!Array.isArray(e))
|
|
2678
2841
|
return f(n, r, "Expected an array."), [];
|
|
2679
2842
|
e.length > R.maxTableRows && f(
|
|
@@ -2683,30 +2846,30 @@ function Xr(e, r, t, n) {
|
|
|
2683
2846
|
);
|
|
2684
2847
|
const o = new Set(t.map((a) => a.key).filter(Boolean));
|
|
2685
2848
|
return e.slice(0, R.maxTableRows).map((a, i) => {
|
|
2686
|
-
const l = `${r}.${i}`,
|
|
2687
|
-
return Object.keys(
|
|
2849
|
+
const l = `${r}.${i}`, d = k(a, l, n);
|
|
2850
|
+
return Object.keys(d).forEach((c) => {
|
|
2688
2851
|
o.has(c) || f(n, `${l}.${c}`, `Unexpected table cell "${c}".`);
|
|
2689
2852
|
}), Object.fromEntries(
|
|
2690
2853
|
t.map((c) => [
|
|
2691
2854
|
c.key,
|
|
2692
|
-
|
|
2855
|
+
gn(d[c.key] ?? null, `${l}.${c.key}`, n)
|
|
2693
2856
|
])
|
|
2694
2857
|
);
|
|
2695
2858
|
});
|
|
2696
2859
|
}
|
|
2697
|
-
function
|
|
2860
|
+
function In(e, r, t) {
|
|
2698
2861
|
const n = `content.blocks.${r}`, o = k(e, n, t), a = o.type;
|
|
2699
2862
|
if (a === "heading") {
|
|
2700
2863
|
I(o, n, ["type", "text", "level", "evidenceIds"], t);
|
|
2701
2864
|
const i = o.level === void 0 || o.level === null ? void 0 : o.level === 2 || o.level === 3 ? o.level : void 0;
|
|
2702
2865
|
o.level !== void 0 && o.level !== null && i === void 0 && f(t, `${n}.level`, "Expected 2 or 3.");
|
|
2703
|
-
const l =
|
|
2866
|
+
const l = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
2704
2867
|
return {
|
|
2705
2868
|
type: "heading",
|
|
2706
|
-
text:
|
|
2869
|
+
text: $(
|
|
2707
2870
|
o.text,
|
|
2708
2871
|
`${n}.text`,
|
|
2709
|
-
|
|
2872
|
+
h.contentTitle,
|
|
2710
2873
|
t
|
|
2711
2874
|
),
|
|
2712
2875
|
...i ? { level: i } : {},
|
|
@@ -2715,13 +2878,13 @@ function en(e, r, t) {
|
|
|
2715
2878
|
}
|
|
2716
2879
|
if (a === "paragraph") {
|
|
2717
2880
|
I(o, n, ["type", "text", "evidenceIds"], t);
|
|
2718
|
-
const i =
|
|
2881
|
+
const i = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
2719
2882
|
return {
|
|
2720
2883
|
type: "paragraph",
|
|
2721
|
-
text:
|
|
2884
|
+
text: $(
|
|
2722
2885
|
o.text,
|
|
2723
2886
|
`${n}.text`,
|
|
2724
|
-
|
|
2887
|
+
h.contentText,
|
|
2725
2888
|
t
|
|
2726
2889
|
),
|
|
2727
2890
|
...i ? { evidenceIds: i } : {}
|
|
@@ -2729,45 +2892,45 @@ function en(e, r, t) {
|
|
|
2729
2892
|
}
|
|
2730
2893
|
if (a === "finding") {
|
|
2731
2894
|
I(o, n, ["type", "title", "text", "severity", "evidenceIds"], t);
|
|
2732
|
-
const i =
|
|
2895
|
+
const i = x(
|
|
2733
2896
|
o.title,
|
|
2734
2897
|
`${n}.title`,
|
|
2735
|
-
|
|
2898
|
+
h.contentTitle,
|
|
2736
2899
|
t
|
|
2737
|
-
), l =
|
|
2900
|
+
), l = O(
|
|
2738
2901
|
o.severity,
|
|
2739
2902
|
`${n}.severity`,
|
|
2740
|
-
|
|
2903
|
+
an,
|
|
2741
2904
|
"info, positive, warning, or critical",
|
|
2742
2905
|
t
|
|
2743
2906
|
);
|
|
2744
2907
|
return {
|
|
2745
2908
|
type: "finding",
|
|
2746
2909
|
...i ? { title: i } : {},
|
|
2747
|
-
text:
|
|
2910
|
+
text: $(
|
|
2748
2911
|
o.text,
|
|
2749
2912
|
`${n}.text`,
|
|
2750
|
-
|
|
2913
|
+
h.contentText,
|
|
2751
2914
|
t
|
|
2752
2915
|
),
|
|
2753
2916
|
...l ? { severity: l } : {},
|
|
2754
|
-
evidenceIds:
|
|
2917
|
+
evidenceIds: D(o.evidenceIds, `${n}.evidenceIds`, t, {
|
|
2755
2918
|
required: !0
|
|
2756
2919
|
}) ?? []
|
|
2757
2920
|
};
|
|
2758
2921
|
}
|
|
2759
2922
|
if (a === "bullets" || a === "actions" || a === "limitations") {
|
|
2760
2923
|
I(o, n, ["type", "title", "items", "evidenceIds"], t);
|
|
2761
|
-
const i =
|
|
2924
|
+
const i = x(
|
|
2762
2925
|
o.title,
|
|
2763
2926
|
`${n}.title`,
|
|
2764
|
-
|
|
2927
|
+
h.contentTitle,
|
|
2765
2928
|
t
|
|
2766
|
-
), l =
|
|
2929
|
+
), l = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
2767
2930
|
return {
|
|
2768
2931
|
type: a,
|
|
2769
2932
|
...i ? { title: i } : {},
|
|
2770
|
-
items:
|
|
2933
|
+
items: yn(o.items, `${n}.items`, t),
|
|
2771
2934
|
...l ? { evidenceIds: l } : {}
|
|
2772
2935
|
};
|
|
2773
2936
|
}
|
|
@@ -2787,41 +2950,41 @@ function en(e, r, t) {
|
|
|
2787
2950
|
],
|
|
2788
2951
|
t
|
|
2789
2952
|
);
|
|
2790
|
-
const i =
|
|
2953
|
+
const i = K(o.value, `${n}.value`, t) ?? "";
|
|
2791
2954
|
i === "" && f(
|
|
2792
2955
|
t,
|
|
2793
2956
|
`${n}.value`,
|
|
2794
2957
|
"Expected a non-empty string, number, or structured numeric value."
|
|
2795
2958
|
);
|
|
2796
|
-
const l = o.previousValue === void 0 || o.previousValue === null ? o.previousValue :
|
|
2959
|
+
const l = o.previousValue === void 0 || o.previousValue === null ? o.previousValue : K(
|
|
2797
2960
|
o.previousValue,
|
|
2798
2961
|
`${n}.previousValue`,
|
|
2799
2962
|
t
|
|
2800
|
-
),
|
|
2963
|
+
), d = o.delta === void 0 || o.delta === null ? o.delta : K(
|
|
2801
2964
|
o.delta,
|
|
2802
2965
|
`${n}.delta`,
|
|
2803
2966
|
t
|
|
2804
|
-
), c = o.percentChange === void 0 || o.percentChange === null ? o.percentChange :
|
|
2967
|
+
), c = o.percentChange === void 0 || o.percentChange === null ? o.percentChange : K(
|
|
2805
2968
|
o.percentChange,
|
|
2806
2969
|
`${n}.percentChange`,
|
|
2807
2970
|
t
|
|
2808
|
-
), s =
|
|
2971
|
+
), s = x(
|
|
2809
2972
|
o.unit,
|
|
2810
2973
|
`${n}.unit`,
|
|
2811
|
-
|
|
2974
|
+
h.contentTitle,
|
|
2812
2975
|
t
|
|
2813
|
-
), u =
|
|
2976
|
+
), u = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
2814
2977
|
return {
|
|
2815
2978
|
type: "metric",
|
|
2816
|
-
label:
|
|
2979
|
+
label: $(
|
|
2817
2980
|
o.label,
|
|
2818
2981
|
`${n}.label`,
|
|
2819
|
-
|
|
2982
|
+
h.contentTitle,
|
|
2820
2983
|
t
|
|
2821
2984
|
),
|
|
2822
2985
|
value: i,
|
|
2823
2986
|
...l !== void 0 ? { previousValue: l } : {},
|
|
2824
|
-
...
|
|
2987
|
+
...d !== void 0 ? { delta: d } : {},
|
|
2825
2988
|
...c !== void 0 ? { percentChange: c } : {},
|
|
2826
2989
|
...s ? { unit: s } : {},
|
|
2827
2990
|
...u ? { evidenceIds: u } : {}
|
|
@@ -2829,10 +2992,10 @@ function en(e, r, t) {
|
|
|
2829
2992
|
}
|
|
2830
2993
|
if (a === "kpi_grid") {
|
|
2831
2994
|
I(o, n, ["type", "title", "tiles", "evidenceIds"], t);
|
|
2832
|
-
const i =
|
|
2995
|
+
const i = x(
|
|
2833
2996
|
o.title,
|
|
2834
2997
|
`${n}.title`,
|
|
2835
|
-
|
|
2998
|
+
h.contentTitle,
|
|
2836
2999
|
t
|
|
2837
3000
|
), l = Array.isArray(o.tiles) ? o.tiles : [];
|
|
2838
3001
|
Array.isArray(o.tiles) || f(t, `${n}.tiles`, "Expected an array."), l.length === 0 && f(t, `${n}.tiles`, "Expected at least one tile."), l.length > R.maxKpiTiles && f(
|
|
@@ -2840,10 +3003,10 @@ function en(e, r, t) {
|
|
|
2840
3003
|
`${n}.tiles`,
|
|
2841
3004
|
`Must have ${R.maxKpiTiles} tiles or fewer.`
|
|
2842
3005
|
);
|
|
2843
|
-
const
|
|
2844
|
-
const p = `${n}.tiles.${u}`,
|
|
3006
|
+
const d = l.slice(0, R.maxKpiTiles).map((s, u) => {
|
|
3007
|
+
const p = `${n}.tiles.${u}`, m = k(s, p, t);
|
|
2845
3008
|
I(
|
|
2846
|
-
|
|
3009
|
+
m,
|
|
2847
3010
|
p,
|
|
2848
3011
|
[
|
|
2849
3012
|
"label",
|
|
@@ -2856,53 +3019,53 @@ function en(e, r, t) {
|
|
|
2856
3019
|
],
|
|
2857
3020
|
t
|
|
2858
3021
|
);
|
|
2859
|
-
const
|
|
2860
|
-
|
|
3022
|
+
const g = K(
|
|
3023
|
+
m.value,
|
|
2861
3024
|
`${p}.value`,
|
|
2862
3025
|
t
|
|
2863
3026
|
) ?? "";
|
|
2864
|
-
|
|
3027
|
+
g === "" && f(
|
|
2865
3028
|
t,
|
|
2866
3029
|
`${p}.value`,
|
|
2867
3030
|
"Expected a non-empty string, number, or structured numeric value."
|
|
2868
3031
|
);
|
|
2869
|
-
const
|
|
2870
|
-
|
|
3032
|
+
const y = m.previousValue === void 0 || m.previousValue === null ? m.previousValue : K(
|
|
3033
|
+
m.previousValue,
|
|
2871
3034
|
`${p}.previousValue`,
|
|
2872
3035
|
t
|
|
2873
|
-
), b =
|
|
2874
|
-
|
|
3036
|
+
), b = m.delta === void 0 || m.delta === null ? m.delta : K(
|
|
3037
|
+
m.delta,
|
|
2875
3038
|
`${p}.delta`,
|
|
2876
3039
|
t
|
|
2877
|
-
),
|
|
2878
|
-
|
|
3040
|
+
), C = m.percentChange === void 0 || m.percentChange === null ? m.percentChange : K(
|
|
3041
|
+
m.percentChange,
|
|
2879
3042
|
`${p}.percentChange`,
|
|
2880
3043
|
t
|
|
2881
|
-
),
|
|
2882
|
-
|
|
3044
|
+
), v = x(
|
|
3045
|
+
m.unit,
|
|
2883
3046
|
`${p}.unit`,
|
|
2884
|
-
|
|
3047
|
+
h.contentTitle,
|
|
2885
3048
|
t
|
|
2886
|
-
),
|
|
2887
|
-
|
|
3049
|
+
), w = D(
|
|
3050
|
+
m.evidenceIds,
|
|
2888
3051
|
`${p}.evidenceIds`,
|
|
2889
3052
|
t
|
|
2890
3053
|
);
|
|
2891
3054
|
return {
|
|
2892
|
-
label:
|
|
2893
|
-
|
|
3055
|
+
label: $(
|
|
3056
|
+
m.label,
|
|
2894
3057
|
`${p}.label`,
|
|
2895
|
-
|
|
3058
|
+
h.contentTitle,
|
|
2896
3059
|
t
|
|
2897
3060
|
),
|
|
2898
|
-
value:
|
|
2899
|
-
...
|
|
3061
|
+
value: g,
|
|
3062
|
+
...y !== void 0 ? { previousValue: y } : {},
|
|
2900
3063
|
...b !== void 0 ? { delta: b } : {},
|
|
2901
|
-
...
|
|
2902
|
-
...
|
|
2903
|
-
...
|
|
3064
|
+
...C !== void 0 ? { percentChange: C } : {},
|
|
3065
|
+
...v ? { unit: v } : {},
|
|
3066
|
+
...w ? { evidenceIds: w } : {}
|
|
2904
3067
|
};
|
|
2905
|
-
}), c =
|
|
3068
|
+
}), c = D(
|
|
2906
3069
|
o.evidenceIds,
|
|
2907
3070
|
`${n}.evidenceIds`,
|
|
2908
3071
|
t
|
|
@@ -2910,7 +3073,7 @@ function en(e, r, t) {
|
|
|
2910
3073
|
return {
|
|
2911
3074
|
type: "kpi_grid",
|
|
2912
3075
|
...i ? { title: i } : {},
|
|
2913
|
-
tiles:
|
|
3076
|
+
tiles: d,
|
|
2914
3077
|
...c ? { evidenceIds: c } : {}
|
|
2915
3078
|
};
|
|
2916
3079
|
}
|
|
@@ -2918,23 +3081,23 @@ function en(e, r, t) {
|
|
|
2918
3081
|
I(o, n, ["type", "label", "value", "detail", "evidenceIds"], t);
|
|
2919
3082
|
const i = typeof o.value == "number" && Number.isFinite(o.value) ? o.value : 0;
|
|
2920
3083
|
(typeof o.value != "number" || !Number.isFinite(o.value)) && f(t, `${n}.value`, "Expected a finite number.");
|
|
2921
|
-
const l =
|
|
3084
|
+
const l = x(
|
|
2922
3085
|
o.detail,
|
|
2923
3086
|
`${n}.detail`,
|
|
2924
|
-
|
|
3087
|
+
h.contentText,
|
|
2925
3088
|
t
|
|
2926
|
-
),
|
|
3089
|
+
), d = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
2927
3090
|
return {
|
|
2928
3091
|
type: "progress",
|
|
2929
|
-
label:
|
|
3092
|
+
label: $(
|
|
2930
3093
|
o.label,
|
|
2931
3094
|
`${n}.label`,
|
|
2932
|
-
|
|
3095
|
+
h.contentTitle,
|
|
2933
3096
|
t
|
|
2934
3097
|
),
|
|
2935
3098
|
value: i,
|
|
2936
3099
|
...l ? { detail: l } : {},
|
|
2937
|
-
...
|
|
3100
|
+
...d ? { evidenceIds: d } : {}
|
|
2938
3101
|
};
|
|
2939
3102
|
}
|
|
2940
3103
|
if (a === "table") {
|
|
@@ -2944,32 +3107,32 @@ function en(e, r, t) {
|
|
|
2944
3107
|
["type", "id", "title", "columns", "rows", "caption", "totalRows", "evidenceIds"],
|
|
2945
3108
|
t
|
|
2946
3109
|
);
|
|
2947
|
-
const i =
|
|
3110
|
+
const i = vn(o.columns, `${n}.columns`, t), l = x(
|
|
2948
3111
|
o.title,
|
|
2949
3112
|
`${n}.title`,
|
|
2950
|
-
|
|
3113
|
+
h.contentTitle,
|
|
2951
3114
|
t
|
|
2952
|
-
),
|
|
3115
|
+
), d = x(
|
|
2953
3116
|
o.id,
|
|
2954
3117
|
`${n}.id`,
|
|
2955
|
-
|
|
3118
|
+
h.id,
|
|
2956
3119
|
t
|
|
2957
|
-
), c =
|
|
3120
|
+
), c = x(
|
|
2958
3121
|
o.caption,
|
|
2959
3122
|
`${n}.caption`,
|
|
2960
|
-
|
|
3123
|
+
h.contentItem,
|
|
2961
3124
|
t
|
|
2962
|
-
), s =
|
|
3125
|
+
), s = mn(
|
|
2963
3126
|
o.totalRows,
|
|
2964
3127
|
`${n}.totalRows`,
|
|
2965
3128
|
t
|
|
2966
|
-
), u =
|
|
3129
|
+
), u = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
2967
3130
|
return {
|
|
2968
3131
|
type: "table",
|
|
2969
|
-
...
|
|
3132
|
+
...d ? { id: d } : {},
|
|
2970
3133
|
...l ? { title: l } : {},
|
|
2971
3134
|
columns: i,
|
|
2972
|
-
rows:
|
|
3135
|
+
rows: bn(o.rows, `${n}.rows`, i, t),
|
|
2973
3136
|
...c ? { caption: c } : {},
|
|
2974
3137
|
...s !== void 0 ? { totalRows: s } : {},
|
|
2975
3138
|
...u ? { evidenceIds: u } : {}
|
|
@@ -2977,38 +3140,38 @@ function en(e, r, t) {
|
|
|
2977
3140
|
}
|
|
2978
3141
|
if (a === "evidence_appendix") {
|
|
2979
3142
|
I(o, n, ["type", "title", "evidenceIds"], t);
|
|
2980
|
-
const i =
|
|
3143
|
+
const i = x(
|
|
2981
3144
|
o.title,
|
|
2982
3145
|
`${n}.title`,
|
|
2983
|
-
|
|
3146
|
+
h.contentTitle,
|
|
2984
3147
|
t
|
|
2985
3148
|
);
|
|
2986
3149
|
return {
|
|
2987
3150
|
type: "evidence_appendix",
|
|
2988
3151
|
...i ? { title: i } : {},
|
|
2989
|
-
evidenceIds:
|
|
3152
|
+
evidenceIds: D(o.evidenceIds, `${n}.evidenceIds`, t, {
|
|
2990
3153
|
required: !0
|
|
2991
3154
|
}) ?? []
|
|
2992
3155
|
};
|
|
2993
3156
|
}
|
|
2994
3157
|
if (a === "sql") {
|
|
2995
3158
|
I(o, n, ["type", "title", "sql", "evidenceIds"], t);
|
|
2996
|
-
const i =
|
|
3159
|
+
const i = x(
|
|
2997
3160
|
o.title,
|
|
2998
3161
|
`${n}.title`,
|
|
2999
|
-
|
|
3162
|
+
h.contentTitle,
|
|
3000
3163
|
t
|
|
3001
|
-
), l =
|
|
3164
|
+
), l = $(
|
|
3002
3165
|
o.sql,
|
|
3003
3166
|
`${n}.sql`,
|
|
3004
|
-
|
|
3167
|
+
h.contentSql,
|
|
3005
3168
|
t
|
|
3006
|
-
),
|
|
3169
|
+
), d = D(o.evidenceIds, `${n}.evidenceIds`, t);
|
|
3007
3170
|
return {
|
|
3008
3171
|
type: "sql",
|
|
3009
3172
|
...i ? { title: i } : {},
|
|
3010
3173
|
sql: l,
|
|
3011
|
-
...
|
|
3174
|
+
...d ? { evidenceIds: d } : {}
|
|
3012
3175
|
};
|
|
3013
3176
|
}
|
|
3014
3177
|
return f(
|
|
@@ -3020,18 +3183,18 @@ function en(e, r, t) {
|
|
|
3020
3183
|
text: ""
|
|
3021
3184
|
};
|
|
3022
3185
|
}
|
|
3023
|
-
function
|
|
3186
|
+
function Cn(e) {
|
|
3024
3187
|
const r = [], t = k(e, "content", r);
|
|
3025
3188
|
I(t, "content", ["version", "title", "summary", "blocks"], r), t.version !== 1 && f(r, "content.version", "Expected version 1.");
|
|
3026
|
-
const n =
|
|
3189
|
+
const n = x(
|
|
3027
3190
|
t.title,
|
|
3028
3191
|
"content.title",
|
|
3029
|
-
|
|
3192
|
+
h.contentTitle,
|
|
3030
3193
|
r
|
|
3031
|
-
), o =
|
|
3194
|
+
), o = x(
|
|
3032
3195
|
t.summary,
|
|
3033
3196
|
"content.summary",
|
|
3034
|
-
|
|
3197
|
+
h.contentSummary,
|
|
3035
3198
|
r
|
|
3036
3199
|
);
|
|
3037
3200
|
Array.isArray(t.blocks) || f(r, "content.blocks", "Expected an array.");
|
|
@@ -3041,38 +3204,38 @@ function tn(e) {
|
|
|
3041
3204
|
"content.blocks",
|
|
3042
3205
|
`Must have ${R.maxBlocks} blocks or fewer.`
|
|
3043
3206
|
);
|
|
3044
|
-
const i = a.slice(0, R.maxBlocks).map((l,
|
|
3045
|
-
return
|
|
3207
|
+
const i = a.slice(0, R.maxBlocks).map((l, d) => In(l, d, r));
|
|
3208
|
+
return Te(r), {
|
|
3046
3209
|
version: 1,
|
|
3047
3210
|
...n ? { title: n } : {},
|
|
3048
3211
|
...o ? { summary: o } : {},
|
|
3049
3212
|
blocks: i
|
|
3050
3213
|
};
|
|
3051
3214
|
}
|
|
3052
|
-
function
|
|
3215
|
+
function No(e) {
|
|
3053
3216
|
try {
|
|
3054
3217
|
return {
|
|
3055
3218
|
valid: !0,
|
|
3056
|
-
value:
|
|
3219
|
+
value: Cn(e),
|
|
3057
3220
|
issues: []
|
|
3058
3221
|
};
|
|
3059
3222
|
} catch (r) {
|
|
3060
|
-
if (r instanceof
|
|
3223
|
+
if (r instanceof oe)
|
|
3061
3224
|
return { valid: !1, issues: r.issues };
|
|
3062
3225
|
throw r;
|
|
3063
3226
|
}
|
|
3064
3227
|
}
|
|
3065
|
-
function
|
|
3228
|
+
function J(e, r, t, n) {
|
|
3066
3229
|
return typeof e == "string" && t.includes(e) ? e : (f(n, r, `Expected ${t.join(" or ")}.`), t[0]);
|
|
3067
3230
|
}
|
|
3068
|
-
function
|
|
3231
|
+
function O(e, r, t, n, o) {
|
|
3069
3232
|
if (e != null) {
|
|
3070
3233
|
if (typeof e == "string" && t.has(e))
|
|
3071
3234
|
return e;
|
|
3072
3235
|
f(o, r, `Expected ${n}.`);
|
|
3073
3236
|
}
|
|
3074
3237
|
}
|
|
3075
|
-
function
|
|
3238
|
+
function Tn(e, r, t) {
|
|
3076
3239
|
if (e != null) {
|
|
3077
3240
|
if (!Array.isArray(e)) {
|
|
3078
3241
|
f(t, r, "Expected an array.");
|
|
@@ -3081,27 +3244,27 @@ function rn(e, r, t) {
|
|
|
3081
3244
|
return e;
|
|
3082
3245
|
}
|
|
3083
3246
|
}
|
|
3084
|
-
function
|
|
3247
|
+
function wn(e, r, t) {
|
|
3085
3248
|
if (e != null) {
|
|
3086
|
-
if (!
|
|
3249
|
+
if (!rt(e)) {
|
|
3087
3250
|
f(t, r, "Expected an object.");
|
|
3088
3251
|
return;
|
|
3089
3252
|
}
|
|
3090
3253
|
return e;
|
|
3091
3254
|
}
|
|
3092
3255
|
}
|
|
3093
|
-
function
|
|
3256
|
+
function $n(e, r, t) {
|
|
3094
3257
|
if (e == null)
|
|
3095
3258
|
return;
|
|
3096
3259
|
const n = k(e, r, t);
|
|
3097
|
-
I(n, r,
|
|
3260
|
+
I(n, r, sn, t);
|
|
3098
3261
|
const o = {};
|
|
3099
3262
|
if (n.matrix !== void 0) {
|
|
3100
3263
|
const c = k(n.matrix, `${r}.matrix`, t);
|
|
3101
3264
|
I(c, `${r}.matrix`, ["config", "content"], t);
|
|
3102
|
-
const s =
|
|
3265
|
+
const s = gt.safeParse(c.config);
|
|
3103
3266
|
s.success || f(t, `${r}.matrix.config`, "Expected a valid Matrix definition.");
|
|
3104
|
-
const u =
|
|
3267
|
+
const u = O(
|
|
3105
3268
|
c.content,
|
|
3106
3269
|
`${r}.matrix.content`,
|
|
3107
3270
|
/* @__PURE__ */ new Set(["current", "all", "flat"]),
|
|
@@ -3110,32 +3273,32 @@ function on(e, r, t) {
|
|
|
3110
3273
|
);
|
|
3111
3274
|
u || f(t, `${r}.matrix.content`, "Choose Matrix export content."), s.success && u && (o.matrix = { config: s.data, content: u });
|
|
3112
3275
|
}
|
|
3113
|
-
const a =
|
|
3276
|
+
const a = O(
|
|
3114
3277
|
n.pageSize,
|
|
3115
3278
|
`${r}.pageSize`,
|
|
3116
|
-
|
|
3279
|
+
en,
|
|
3117
3280
|
"letter, legal, a4, a3, or tabloid",
|
|
3118
3281
|
t
|
|
3119
|
-
), i =
|
|
3282
|
+
), i = O(
|
|
3120
3283
|
n.orientation,
|
|
3121
3284
|
`${r}.orientation`,
|
|
3122
|
-
|
|
3285
|
+
tn,
|
|
3123
3286
|
"portrait or landscape",
|
|
3124
3287
|
t
|
|
3125
|
-
), l =
|
|
3288
|
+
), l = O(
|
|
3126
3289
|
n.delimiter,
|
|
3127
3290
|
`${r}.delimiter`,
|
|
3128
|
-
|
|
3291
|
+
rn,
|
|
3129
3292
|
"comma, semicolon, or tab",
|
|
3130
3293
|
t
|
|
3131
|
-
),
|
|
3294
|
+
), d = O(
|
|
3132
3295
|
n.sheetSelection,
|
|
3133
3296
|
`${r}.sheetSelection`,
|
|
3134
|
-
|
|
3297
|
+
nn,
|
|
3135
3298
|
"current or all",
|
|
3136
3299
|
t
|
|
3137
3300
|
);
|
|
3138
|
-
a && (o.pageSize = a), i && (o.orientation = i), l && (o.delimiter = l),
|
|
3301
|
+
a && (o.pageSize = a), i && (o.orientation = i), l && (o.delimiter = l), d && (o.sheetSelection = d);
|
|
3139
3302
|
for (const c of [
|
|
3140
3303
|
"includeFilters",
|
|
3141
3304
|
"includeTimestamp",
|
|
@@ -3158,10 +3321,10 @@ function on(e, r, t) {
|
|
|
3158
3321
|
"cardType",
|
|
3159
3322
|
"theme"
|
|
3160
3323
|
]) {
|
|
3161
|
-
const s =
|
|
3324
|
+
const s = x(
|
|
3162
3325
|
n[c],
|
|
3163
3326
|
`${r}.${c}`,
|
|
3164
|
-
|
|
3327
|
+
h.id,
|
|
3165
3328
|
t
|
|
3166
3329
|
);
|
|
3167
3330
|
s && (o[c] = s);
|
|
@@ -3174,7 +3337,7 @@ function on(e, r, t) {
|
|
|
3174
3337
|
"cardControlDefinitions",
|
|
3175
3338
|
"controlBindings"
|
|
3176
3339
|
]) {
|
|
3177
|
-
const s =
|
|
3340
|
+
const s = Tn(n[c], `${r}.${c}`, t);
|
|
3178
3341
|
s && (o[c] = s);
|
|
3179
3342
|
}
|
|
3180
3343
|
for (const c of [
|
|
@@ -3183,29 +3346,29 @@ function on(e, r, t) {
|
|
|
3183
3346
|
"dashboardInputExecutionSnapshot",
|
|
3184
3347
|
"printInputCapture"
|
|
3185
3348
|
]) {
|
|
3186
|
-
const s =
|
|
3349
|
+
const s = wn(n[c], `${r}.${c}`, t);
|
|
3187
3350
|
s && (o[c] = s);
|
|
3188
3351
|
}
|
|
3189
3352
|
return Object.keys(o).length > 0 ? o : void 0;
|
|
3190
3353
|
}
|
|
3191
|
-
function
|
|
3192
|
-
const o =
|
|
3354
|
+
function se(e, r, t, n) {
|
|
3355
|
+
const o = x(
|
|
3193
3356
|
r,
|
|
3194
3357
|
t,
|
|
3195
|
-
|
|
3358
|
+
h.attachmentTitle,
|
|
3196
3359
|
n
|
|
3197
3360
|
);
|
|
3198
3361
|
return o && (e.title = o), e;
|
|
3199
3362
|
}
|
|
3200
|
-
function
|
|
3201
|
-
const o =
|
|
3363
|
+
function de(e, r, t, n) {
|
|
3364
|
+
const o = $n(r, t, n);
|
|
3202
3365
|
return o != null && o.printInputCapture && e.type !== "dashboard" && f(
|
|
3203
3366
|
n,
|
|
3204
3367
|
`${t}.printInputCapture`,
|
|
3205
3368
|
"Only a full dashboard attachment can carry printInputCapture."
|
|
3206
3369
|
), o && (e.settings = o), e;
|
|
3207
3370
|
}
|
|
3208
|
-
function
|
|
3371
|
+
function xn(e, r, t) {
|
|
3209
3372
|
const n = `attachments.${r}`, o = k(e, n, t), a = o.type;
|
|
3210
3373
|
if (a === "dashboard") {
|
|
3211
3374
|
I(
|
|
@@ -3214,22 +3377,22 @@ function an(e, r, t) {
|
|
|
3214
3377
|
["type", "dashboardId", "format", "title", "settings"],
|
|
3215
3378
|
t
|
|
3216
3379
|
);
|
|
3217
|
-
const i =
|
|
3380
|
+
const i = se(
|
|
3218
3381
|
{
|
|
3219
3382
|
type: "dashboard",
|
|
3220
|
-
dashboardId:
|
|
3383
|
+
dashboardId: $(
|
|
3221
3384
|
o.dashboardId,
|
|
3222
3385
|
`${n}.dashboardId`,
|
|
3223
|
-
|
|
3386
|
+
h.id,
|
|
3224
3387
|
t
|
|
3225
3388
|
),
|
|
3226
|
-
format:
|
|
3389
|
+
format: J(o.format, `${n}.format`, ["pdf"], t)
|
|
3227
3390
|
},
|
|
3228
3391
|
o.title,
|
|
3229
3392
|
`${n}.title`,
|
|
3230
3393
|
t
|
|
3231
3394
|
);
|
|
3232
|
-
return
|
|
3395
|
+
return de(i, o.settings, `${n}.settings`, t);
|
|
3233
3396
|
}
|
|
3234
3397
|
if (a === "dashboard_sheet" || a === "document_sheet") {
|
|
3235
3398
|
I(
|
|
@@ -3238,28 +3401,28 @@ function an(e, r, t) {
|
|
|
3238
3401
|
["type", "dashboardId", "sheetId", "format", "title", "settings"],
|
|
3239
3402
|
t
|
|
3240
3403
|
);
|
|
3241
|
-
const i =
|
|
3404
|
+
const i = se(
|
|
3242
3405
|
{
|
|
3243
3406
|
type: a,
|
|
3244
|
-
dashboardId:
|
|
3407
|
+
dashboardId: $(
|
|
3245
3408
|
o.dashboardId,
|
|
3246
3409
|
`${n}.dashboardId`,
|
|
3247
|
-
|
|
3410
|
+
h.id,
|
|
3248
3411
|
t
|
|
3249
3412
|
),
|
|
3250
|
-
sheetId:
|
|
3413
|
+
sheetId: $(
|
|
3251
3414
|
o.sheetId,
|
|
3252
3415
|
`${n}.sheetId`,
|
|
3253
|
-
|
|
3416
|
+
h.id,
|
|
3254
3417
|
t
|
|
3255
3418
|
),
|
|
3256
|
-
format:
|
|
3419
|
+
format: J(o.format, `${n}.format`, ["pdf"], t)
|
|
3257
3420
|
},
|
|
3258
3421
|
o.title,
|
|
3259
3422
|
`${n}.title`,
|
|
3260
3423
|
t
|
|
3261
3424
|
);
|
|
3262
|
-
return
|
|
3425
|
+
return de(i, o.settings, `${n}.settings`, t);
|
|
3263
3426
|
}
|
|
3264
3427
|
if (a === "card") {
|
|
3265
3428
|
I(
|
|
@@ -3268,22 +3431,22 @@ function an(e, r, t) {
|
|
|
3268
3431
|
["type", "dashboardId", "cardId", "format", "title", "settings"],
|
|
3269
3432
|
t
|
|
3270
3433
|
);
|
|
3271
|
-
const i =
|
|
3434
|
+
const i = se(
|
|
3272
3435
|
{
|
|
3273
3436
|
type: "card",
|
|
3274
|
-
dashboardId:
|
|
3437
|
+
dashboardId: $(
|
|
3275
3438
|
o.dashboardId,
|
|
3276
3439
|
`${n}.dashboardId`,
|
|
3277
|
-
|
|
3440
|
+
h.id,
|
|
3278
3441
|
t
|
|
3279
3442
|
),
|
|
3280
|
-
cardId:
|
|
3443
|
+
cardId: $(
|
|
3281
3444
|
o.cardId,
|
|
3282
3445
|
`${n}.cardId`,
|
|
3283
|
-
|
|
3446
|
+
h.id,
|
|
3284
3447
|
t
|
|
3285
3448
|
),
|
|
3286
|
-
format:
|
|
3449
|
+
format: J(
|
|
3287
3450
|
o.format,
|
|
3288
3451
|
`${n}.format`,
|
|
3289
3452
|
["csv", "pdf"],
|
|
@@ -3294,7 +3457,7 @@ function an(e, r, t) {
|
|
|
3294
3457
|
`${n}.title`,
|
|
3295
3458
|
t
|
|
3296
3459
|
);
|
|
3297
|
-
return
|
|
3460
|
+
return de(i, o.settings, `${n}.settings`, t);
|
|
3298
3461
|
}
|
|
3299
3462
|
return f(
|
|
3300
3463
|
t,
|
|
@@ -3302,7 +3465,7 @@ function an(e, r, t) {
|
|
|
3302
3465
|
"Expected dashboard, dashboard_sheet, document_sheet, or card."
|
|
3303
3466
|
), { type: "dashboard", dashboardId: "", format: "pdf" };
|
|
3304
3467
|
}
|
|
3305
|
-
function
|
|
3468
|
+
function kn(e) {
|
|
3306
3469
|
switch (e.type) {
|
|
3307
3470
|
case "dashboard":
|
|
3308
3471
|
return `${e.type}:${e.dashboardId}:${e.format}`;
|
|
@@ -3313,35 +3476,35 @@ function cn(e) {
|
|
|
3313
3476
|
return `${e.type}:${e.dashboardId}:${e.cardId}:${e.format}`;
|
|
3314
3477
|
}
|
|
3315
3478
|
}
|
|
3316
|
-
function
|
|
3479
|
+
function ct(e, r) {
|
|
3317
3480
|
if (e == null)
|
|
3318
3481
|
return [];
|
|
3319
3482
|
if (!Array.isArray(e))
|
|
3320
3483
|
return f(r, "attachments", "Expected an array."), [];
|
|
3321
|
-
e.length >
|
|
3484
|
+
e.length > ce && f(
|
|
3322
3485
|
r,
|
|
3323
3486
|
"attachments",
|
|
3324
|
-
`Choose ${
|
|
3487
|
+
`Choose ${ce} attachments or fewer.`
|
|
3325
3488
|
);
|
|
3326
|
-
const t = e.slice(0,
|
|
3489
|
+
const t = e.slice(0, ce).map((o, a) => xn(o, a, r)), n = /* @__PURE__ */ new Set();
|
|
3327
3490
|
return t.forEach((o, a) => {
|
|
3328
3491
|
var l;
|
|
3329
3492
|
(l = o.settings) != null && l.matrix && (o.type !== "card" || o.settings.cardType !== "matrixTable" || o.settings.matrix.content === "flat" && o.format !== "csv") && f(r, `attachments.${a}.settings.matrix`, "Matrix settings require a matrixTable card attachment; flat content requires CSV.");
|
|
3330
|
-
const i =
|
|
3493
|
+
const i = kn(o);
|
|
3331
3494
|
n.has(i) && f(r, `attachments.${a}`, "Duplicate attachment."), n.add(i);
|
|
3332
3495
|
}), t;
|
|
3333
3496
|
}
|
|
3334
|
-
function
|
|
3497
|
+
function lt(e, r) {
|
|
3335
3498
|
if (e == null)
|
|
3336
3499
|
return;
|
|
3337
3500
|
const t = k(e, "limits", r);
|
|
3338
|
-
I(t, "limits", Object.keys(
|
|
3501
|
+
I(t, "limits", Object.keys(le), r);
|
|
3339
3502
|
const n = {};
|
|
3340
|
-
return Object.keys(
|
|
3503
|
+
return Object.keys(le).forEach((o) => {
|
|
3341
3504
|
const a = t[o];
|
|
3342
3505
|
if (a == null)
|
|
3343
3506
|
return;
|
|
3344
|
-
const i =
|
|
3507
|
+
const i = le[o];
|
|
3345
3508
|
if (typeof a != "number" || !Number.isInteger(a) || a < i.min || a > i.max) {
|
|
3346
3509
|
f(
|
|
3347
3510
|
r,
|
|
@@ -3353,40 +3516,40 @@ function Qe(e, r) {
|
|
|
3353
3516
|
n[o] = a;
|
|
3354
3517
|
}), Object.keys(n).length > 0 ? n : void 0;
|
|
3355
3518
|
}
|
|
3356
|
-
function
|
|
3519
|
+
function Te(e) {
|
|
3357
3520
|
if (e.length > 0)
|
|
3358
|
-
throw new
|
|
3521
|
+
throw new oe(e);
|
|
3359
3522
|
}
|
|
3360
|
-
function
|
|
3523
|
+
function st(e, r, t) {
|
|
3361
3524
|
!(e.type === "generated_analysis" || e.type === "custom_message" && !!e.message.trim()) && r.length === 0 && f(
|
|
3362
3525
|
t,
|
|
3363
3526
|
"body",
|
|
3364
3527
|
"Add briefing instructions, a custom message, or at least one attachment."
|
|
3365
3528
|
);
|
|
3366
3529
|
}
|
|
3367
|
-
function
|
|
3530
|
+
function En(e, r, t) {
|
|
3368
3531
|
e == null || e.forEach((n, o) => {
|
|
3369
3532
|
const a = `${t}.${o}.scope`, i = n.scope.attachmentIndex;
|
|
3370
3533
|
if (i === void 0)
|
|
3371
|
-
throw new
|
|
3534
|
+
throw new G(
|
|
3372
3535
|
`${a}.attachmentIndex must identify the attachment that owns this presentation entry.`
|
|
3373
3536
|
);
|
|
3374
3537
|
const l = r[i];
|
|
3375
3538
|
if (!l)
|
|
3376
|
-
throw new
|
|
3539
|
+
throw new G(
|
|
3377
3540
|
`${a}.attachmentIndex must identify an existing attachment.`
|
|
3378
3541
|
);
|
|
3379
3542
|
if (n.scope.dashboardId !== l.dashboardId)
|
|
3380
|
-
throw new
|
|
3543
|
+
throw new G(
|
|
3381
3544
|
`${a}.dashboardId must match the dashboard selected by the referenced attachment.`
|
|
3382
3545
|
);
|
|
3383
3546
|
if (l.type === "card" && n.scope.cardId !== l.cardId)
|
|
3384
|
-
throw new
|
|
3547
|
+
throw new G(
|
|
3385
3548
|
`${a}.cardId must match the card selected by the referenced attachment.`
|
|
3386
3549
|
);
|
|
3387
3550
|
});
|
|
3388
3551
|
}
|
|
3389
|
-
function
|
|
3552
|
+
function dt(e) {
|
|
3390
3553
|
const r = [], t = k(e, "jobConfig", r);
|
|
3391
3554
|
I(
|
|
3392
3555
|
t,
|
|
@@ -3401,14 +3564,14 @@ function Xe(e) {
|
|
|
3401
3564
|
"limits"
|
|
3402
3565
|
],
|
|
3403
3566
|
r
|
|
3404
|
-
), t.kind !==
|
|
3567
|
+
), t.kind !== fe && f(r, "kind", "Expected BRIEFING.");
|
|
3405
3568
|
let n;
|
|
3406
3569
|
try {
|
|
3407
|
-
n =
|
|
3570
|
+
n = Et(
|
|
3408
3571
|
t.presentationExecutionSnapshot
|
|
3409
3572
|
);
|
|
3410
3573
|
} catch (c) {
|
|
3411
|
-
if (c instanceof
|
|
3574
|
+
if (c instanceof G)
|
|
3412
3575
|
throw c;
|
|
3413
3576
|
f(
|
|
3414
3577
|
r,
|
|
@@ -3416,70 +3579,70 @@ function Xe(e) {
|
|
|
3416
3579
|
c instanceof Error ? c.message : "Invalid presentation snapshot."
|
|
3417
3580
|
);
|
|
3418
3581
|
}
|
|
3419
|
-
const o =
|
|
3420
|
-
return
|
|
3582
|
+
const o = nt(t.source, r), a = ot(t.body, r), i = ct(t.attachments, r), l = at(t.presentation, r), d = lt(t.limits, r);
|
|
3583
|
+
return st(a, i, r), En(
|
|
3421
3584
|
n == null ? void 0 : n.resolvedFormats,
|
|
3422
3585
|
i,
|
|
3423
3586
|
"jobConfig.presentationExecutionSnapshot.resolvedFormats"
|
|
3424
|
-
),
|
|
3425
|
-
kind:
|
|
3587
|
+
), Te(r), {
|
|
3588
|
+
kind: fe,
|
|
3426
3589
|
presentationExecutionSnapshot: n,
|
|
3427
3590
|
source: o,
|
|
3428
3591
|
body: a,
|
|
3429
3592
|
attachments: i,
|
|
3430
3593
|
presentation: l,
|
|
3431
|
-
...
|
|
3594
|
+
...d ? { limits: d } : {}
|
|
3432
3595
|
};
|
|
3433
3596
|
}
|
|
3434
|
-
function
|
|
3435
|
-
return
|
|
3597
|
+
function Lo(e) {
|
|
3598
|
+
return dt({
|
|
3436
3599
|
...e,
|
|
3437
|
-
kind:
|
|
3600
|
+
kind: fe
|
|
3438
3601
|
});
|
|
3439
3602
|
}
|
|
3440
|
-
function
|
|
3603
|
+
function we(e, r, t, n = "deliveryConfig.recipients") {
|
|
3441
3604
|
const o = `${n}.${r}`, a = k(e, o, t), i = a.type;
|
|
3442
3605
|
if (i === "email") {
|
|
3443
3606
|
I(a, o, ["type", "address", "name"], t);
|
|
3444
|
-
const l =
|
|
3607
|
+
const l = $(
|
|
3445
3608
|
a.address,
|
|
3446
3609
|
`${o}.address`,
|
|
3447
|
-
|
|
3610
|
+
h.id,
|
|
3448
3611
|
t
|
|
3449
|
-
),
|
|
3612
|
+
), d = x(
|
|
3450
3613
|
a.name,
|
|
3451
3614
|
`${o}.name`,
|
|
3452
|
-
|
|
3615
|
+
h.attachmentTitle,
|
|
3453
3616
|
t
|
|
3454
3617
|
);
|
|
3455
|
-
return l && !
|
|
3618
|
+
return l && !fn(l) && f(t, `${o}.address`, "Email address is invalid."), {
|
|
3456
3619
|
type: "email",
|
|
3457
3620
|
address: l,
|
|
3458
|
-
...
|
|
3621
|
+
...d ? { name: d } : {}
|
|
3459
3622
|
};
|
|
3460
3623
|
}
|
|
3461
3624
|
return i === "user" ? (I(a, o, ["type", "userId"], t), {
|
|
3462
3625
|
type: "user",
|
|
3463
|
-
userId:
|
|
3626
|
+
userId: $(
|
|
3464
3627
|
a.userId,
|
|
3465
3628
|
`${o}.userId`,
|
|
3466
|
-
|
|
3629
|
+
h.id,
|
|
3467
3630
|
t
|
|
3468
3631
|
)
|
|
3469
3632
|
}) : i === "tenant_user" ? (I(a, o, ["type", "tenantUserId"], t), {
|
|
3470
3633
|
type: "tenant_user",
|
|
3471
|
-
tenantUserId:
|
|
3634
|
+
tenantUserId: $(
|
|
3472
3635
|
a.tenantUserId,
|
|
3473
3636
|
`${o}.tenantUserId`,
|
|
3474
|
-
|
|
3637
|
+
h.id,
|
|
3475
3638
|
t
|
|
3476
3639
|
)
|
|
3477
3640
|
}) : i === "group" ? (I(a, o, ["type", "groupId"], t), {
|
|
3478
3641
|
type: "group",
|
|
3479
|
-
groupId:
|
|
3642
|
+
groupId: $(
|
|
3480
3643
|
a.groupId,
|
|
3481
3644
|
`${o}.groupId`,
|
|
3482
|
-
|
|
3645
|
+
h.id,
|
|
3483
3646
|
t
|
|
3484
3647
|
)
|
|
3485
3648
|
}) : (f(
|
|
@@ -3488,17 +3651,17 @@ function be(e, r, t, n = "deliveryConfig.recipients") {
|
|
|
3488
3651
|
"Expected email, user, tenant_user, or group."
|
|
3489
3652
|
), { type: "email", address: "" });
|
|
3490
3653
|
}
|
|
3491
|
-
function
|
|
3654
|
+
function Sn(e, r) {
|
|
3492
3655
|
return e == null ? [] : Array.isArray(e) ? e.map(
|
|
3493
|
-
(t, n) =>
|
|
3656
|
+
(t, n) => we(t, n, r)
|
|
3494
3657
|
) : (f(r, "deliveryConfig.recipients", "Expected an array."), []);
|
|
3495
3658
|
}
|
|
3496
|
-
function
|
|
3659
|
+
function _n(e, r) {
|
|
3497
3660
|
if (!Array.isArray(e))
|
|
3498
3661
|
return f(r, "deliveryConfig.channels", "Expected an array."), [];
|
|
3499
3662
|
const t = [];
|
|
3500
3663
|
return e.forEach((n, o) => {
|
|
3501
|
-
if (!
|
|
3664
|
+
if (!mt(n)) {
|
|
3502
3665
|
f(
|
|
3503
3666
|
r,
|
|
3504
3667
|
`deliveryConfig.channels.${o}`,
|
|
@@ -3509,7 +3672,7 @@ function sn(e, r) {
|
|
|
3509
3672
|
t.includes(n) || t.push(n);
|
|
3510
3673
|
}), t;
|
|
3511
3674
|
}
|
|
3512
|
-
function
|
|
3675
|
+
function Fn(e, r, t) {
|
|
3513
3676
|
if (e == null)
|
|
3514
3677
|
return;
|
|
3515
3678
|
const n = k(e, r, t), o = {};
|
|
@@ -3521,7 +3684,7 @@ function mn(e, r, t) {
|
|
|
3521
3684
|
o[a] = i.trim();
|
|
3522
3685
|
}), Object.keys(o).length > 0 ? o : void 0;
|
|
3523
3686
|
}
|
|
3524
|
-
function
|
|
3687
|
+
function Rn(e, r, t) {
|
|
3525
3688
|
if (e == null)
|
|
3526
3689
|
return;
|
|
3527
3690
|
const n = k(e, r, t);
|
|
@@ -3531,20 +3694,20 @@ function un(e, r, t) {
|
|
|
3531
3694
|
["url", "method", "headers", "secretEncrypted"],
|
|
3532
3695
|
t
|
|
3533
3696
|
);
|
|
3534
|
-
const o = n.method === void 0 || n.method === null ? void 0 :
|
|
3697
|
+
const o = n.method === void 0 || n.method === null ? void 0 : J(n.method, `${r}.method`, ["POST", "PUT"], t), a = Fn(n.headers, `${r}.headers`, t), i = x(
|
|
3535
3698
|
n.secretEncrypted,
|
|
3536
3699
|
`${r}.secretEncrypted`,
|
|
3537
3700
|
2e3,
|
|
3538
3701
|
t
|
|
3539
3702
|
);
|
|
3540
3703
|
return {
|
|
3541
|
-
url:
|
|
3704
|
+
url: $(n.url, `${r}.url`, 2e3, t),
|
|
3542
3705
|
...o ? { method: o } : {},
|
|
3543
3706
|
...a ? { headers: a } : {},
|
|
3544
3707
|
...i ? { secretEncrypted: i } : {}
|
|
3545
3708
|
};
|
|
3546
3709
|
}
|
|
3547
|
-
function
|
|
3710
|
+
function An(e, r, t) {
|
|
3548
3711
|
const n = k(e, r, t), o = n.type;
|
|
3549
3712
|
if (o === "channel") {
|
|
3550
3713
|
I(
|
|
@@ -3553,10 +3716,10 @@ function fn(e, r, t) {
|
|
|
3553
3716
|
["type", "channelId", "channelName", "isPrivate"],
|
|
3554
3717
|
t
|
|
3555
3718
|
);
|
|
3556
|
-
const a =
|
|
3719
|
+
const a = x(
|
|
3557
3720
|
n.channelName,
|
|
3558
3721
|
`${r}.channelName`,
|
|
3559
|
-
|
|
3722
|
+
h.attachmentTitle,
|
|
3560
3723
|
t
|
|
3561
3724
|
), i = n.isPrivate === void 0 || n.isPrivate === null ? void 0 : z(
|
|
3562
3725
|
n.isPrivate,
|
|
@@ -3566,10 +3729,10 @@ function fn(e, r, t) {
|
|
|
3566
3729
|
);
|
|
3567
3730
|
return {
|
|
3568
3731
|
type: "channel",
|
|
3569
|
-
channelId:
|
|
3732
|
+
channelId: $(
|
|
3570
3733
|
n.channelId,
|
|
3571
3734
|
`${r}.channelId`,
|
|
3572
|
-
|
|
3735
|
+
h.id,
|
|
3573
3736
|
t
|
|
3574
3737
|
),
|
|
3575
3738
|
...a ? { channelName: a } : {},
|
|
@@ -3582,10 +3745,10 @@ function fn(e, r, t) {
|
|
|
3582
3745
|
"Slack DM delivery is not supported in V1."
|
|
3583
3746
|
), {
|
|
3584
3747
|
type: "dm",
|
|
3585
|
-
recipient:
|
|
3748
|
+
recipient: we(n.recipient, 0, t, `${r}.recipient`)
|
|
3586
3749
|
}) : (f(t, `${r}.type`, "Expected channel."), { type: "channel", channelId: "" });
|
|
3587
3750
|
}
|
|
3588
|
-
function
|
|
3751
|
+
function Dn(e, r, t) {
|
|
3589
3752
|
if (e == null)
|
|
3590
3753
|
return;
|
|
3591
3754
|
if (!Array.isArray(e)) {
|
|
@@ -3593,11 +3756,11 @@ function pn(e, r, t) {
|
|
|
3593
3756
|
return;
|
|
3594
3757
|
}
|
|
3595
3758
|
const n = e.map(
|
|
3596
|
-
(o, a) =>
|
|
3759
|
+
(o, a) => we(o, a, t, r)
|
|
3597
3760
|
);
|
|
3598
3761
|
return n.length > 0 ? n : void 0;
|
|
3599
3762
|
}
|
|
3600
|
-
function
|
|
3763
|
+
function Mn(e, r, t) {
|
|
3601
3764
|
if (e == null)
|
|
3602
3765
|
return;
|
|
3603
3766
|
const n = k(e, r, t);
|
|
@@ -3613,7 +3776,7 @@ function yn(e, r, t) {
|
|
|
3613
3776
|
],
|
|
3614
3777
|
t
|
|
3615
3778
|
);
|
|
3616
|
-
const o =
|
|
3779
|
+
const o = Dn(
|
|
3617
3780
|
n.threadMentions,
|
|
3618
3781
|
`${r}.threadMentions`,
|
|
3619
3782
|
t
|
|
@@ -3634,7 +3797,7 @@ function yn(e, r, t) {
|
|
|
3634
3797
|
t
|
|
3635
3798
|
);
|
|
3636
3799
|
return {
|
|
3637
|
-
destination:
|
|
3800
|
+
destination: An(
|
|
3638
3801
|
n.destination,
|
|
3639
3802
|
`${r}.destination`,
|
|
3640
3803
|
t
|
|
@@ -3645,7 +3808,7 @@ function yn(e, r, t) {
|
|
|
3645
3808
|
...n.includeBriefingLink !== void 0 ? { includeBriefingLink: l } : {}
|
|
3646
3809
|
};
|
|
3647
3810
|
}
|
|
3648
|
-
function
|
|
3811
|
+
function Pn(e, r, t) {
|
|
3649
3812
|
const n = k(e, r, t);
|
|
3650
3813
|
I(
|
|
3651
3814
|
n,
|
|
@@ -3661,37 +3824,37 @@ function hn(e, r, t) {
|
|
|
3661
3824
|
],
|
|
3662
3825
|
t
|
|
3663
3826
|
);
|
|
3664
|
-
const o =
|
|
3827
|
+
const o = O(
|
|
3665
3828
|
n.formatProfile,
|
|
3666
3829
|
`${r}.formatProfile`,
|
|
3667
|
-
|
|
3830
|
+
on,
|
|
3668
3831
|
"concise, balanced, or detailed",
|
|
3669
3832
|
t
|
|
3670
|
-
), a =
|
|
3833
|
+
), a = x(
|
|
3671
3834
|
n.subjectOverride,
|
|
3672
3835
|
`${r}.subjectOverride`,
|
|
3673
3836
|
500,
|
|
3674
3837
|
t
|
|
3675
|
-
), i =
|
|
3838
|
+
), i = x(
|
|
3676
3839
|
n.titleOverride,
|
|
3677
3840
|
`${r}.titleOverride`,
|
|
3678
3841
|
500,
|
|
3679
3842
|
t
|
|
3680
|
-
), l =
|
|
3843
|
+
), l = x(
|
|
3681
3844
|
n.summaryOverride,
|
|
3682
3845
|
`${r}.summaryOverride`,
|
|
3683
3846
|
2e3,
|
|
3684
3847
|
t
|
|
3685
|
-
),
|
|
3848
|
+
), d = z(
|
|
3686
3849
|
n.actionBlockVisible,
|
|
3687
3850
|
!0,
|
|
3688
3851
|
`${r}.actionBlockVisible`,
|
|
3689
3852
|
t
|
|
3690
|
-
), c =
|
|
3853
|
+
), c = Rn(
|
|
3691
3854
|
n.webhookConfig,
|
|
3692
3855
|
`${r}.webhookConfig`,
|
|
3693
3856
|
t
|
|
3694
|
-
), s =
|
|
3857
|
+
), s = Mn(
|
|
3695
3858
|
n.slackConfig,
|
|
3696
3859
|
`${r}.slackConfig`,
|
|
3697
3860
|
t
|
|
@@ -3701,17 +3864,17 @@ function hn(e, r, t) {
|
|
|
3701
3864
|
...a ? { subjectOverride: a } : {},
|
|
3702
3865
|
...i ? { titleOverride: i } : {},
|
|
3703
3866
|
...l ? { summaryOverride: l } : {},
|
|
3704
|
-
...n.actionBlockVisible !== void 0 ? { actionBlockVisible:
|
|
3867
|
+
...n.actionBlockVisible !== void 0 ? { actionBlockVisible: d } : {},
|
|
3705
3868
|
...s ? { slackConfig: s } : {},
|
|
3706
3869
|
...c ? { webhookConfig: c } : {}
|
|
3707
3870
|
};
|
|
3708
3871
|
}
|
|
3709
|
-
function
|
|
3872
|
+
function Bn(e, r) {
|
|
3710
3873
|
if (e == null)
|
|
3711
3874
|
return;
|
|
3712
3875
|
const t = k(e, "deliveryConfig.channelConfigs", r), n = {};
|
|
3713
3876
|
return Object.entries(t).forEach(([o, a]) => {
|
|
3714
|
-
if (!
|
|
3877
|
+
if (!mt(o)) {
|
|
3715
3878
|
f(
|
|
3716
3879
|
r,
|
|
3717
3880
|
`deliveryConfig.channelConfigs.${o}`,
|
|
@@ -3719,15 +3882,15 @@ function gn(e, r) {
|
|
|
3719
3882
|
);
|
|
3720
3883
|
return;
|
|
3721
3884
|
}
|
|
3722
|
-
n[o] =
|
|
3885
|
+
n[o] = Pn(
|
|
3723
3886
|
a,
|
|
3724
3887
|
`deliveryConfig.channelConfigs.${o}`,
|
|
3725
3888
|
r
|
|
3726
3889
|
);
|
|
3727
3890
|
}), Object.keys(n).length > 0 ? n : void 0;
|
|
3728
3891
|
}
|
|
3729
|
-
function
|
|
3730
|
-
var
|
|
3892
|
+
function On(e, r) {
|
|
3893
|
+
var d, c, s;
|
|
3731
3894
|
if (e == null)
|
|
3732
3895
|
return null;
|
|
3733
3896
|
const t = k(e, "deliveryConfig", r);
|
|
@@ -3737,7 +3900,7 @@ function vn(e, r) {
|
|
|
3737
3900
|
["recipients", "channels", "channelConfigs"],
|
|
3738
3901
|
r
|
|
3739
3902
|
);
|
|
3740
|
-
const n =
|
|
3903
|
+
const n = Bn(t.channelConfigs, r), o = Sn(t.recipients, r), a = _n(t.channels, r), i = ((c = (d = n == null ? void 0 : n.SLACK) == null ? void 0 : d.slackConfig) == null ? void 0 : c.destination.type) === "channel" && !!n.SLACK.slackConfig.destination.channelId.trim();
|
|
3741
3904
|
return a.some(
|
|
3742
3905
|
(u) => u !== "SLACK"
|
|
3743
3906
|
) && o.length === 0 && f(
|
|
@@ -3762,7 +3925,7 @@ function vn(e, r) {
|
|
|
3762
3925
|
...n ? { channelConfigs: n } : {}
|
|
3763
3926
|
};
|
|
3764
3927
|
}
|
|
3765
|
-
function
|
|
3928
|
+
function $e(e) {
|
|
3766
3929
|
const r = [], t = k(e, "draft", r);
|
|
3767
3930
|
I(
|
|
3768
3931
|
t,
|
|
@@ -3782,149 +3945,154 @@ function Ie(e) {
|
|
|
3782
3945
|
],
|
|
3783
3946
|
r
|
|
3784
3947
|
);
|
|
3785
|
-
const n =
|
|
3948
|
+
const n = $(
|
|
3786
3949
|
t.name,
|
|
3787
3950
|
"name",
|
|
3788
|
-
|
|
3951
|
+
h.name,
|
|
3789
3952
|
r
|
|
3790
|
-
), o =
|
|
3953
|
+
), o = x(
|
|
3791
3954
|
t.description,
|
|
3792
3955
|
"description",
|
|
3793
|
-
|
|
3956
|
+
h.description,
|
|
3794
3957
|
r
|
|
3795
|
-
) ?? null, a =
|
|
3796
|
-
return
|
|
3958
|
+
) ?? null, a = x(t.scheduleExpr, "scheduleExpr", 500, r) ?? null, i = x(t.timezone, "timezone", 200, r) ?? "UTC", l = un(t.status, r), d = nt(t.source, r), c = ot(t.body, r), s = ct(t.attachments, r), u = at(t.presentation, r), p = lt(t.limits, r), m = On(t.deliveryConfig, r);
|
|
3959
|
+
return st(c, s, r), Te(r), {
|
|
3797
3960
|
name: n,
|
|
3798
3961
|
description: o,
|
|
3799
3962
|
status: l,
|
|
3800
3963
|
scheduleExpr: a,
|
|
3801
3964
|
timezone: i,
|
|
3802
|
-
source:
|
|
3965
|
+
source: d,
|
|
3803
3966
|
body: c,
|
|
3804
3967
|
attachments: s,
|
|
3805
3968
|
presentation: u,
|
|
3806
3969
|
...p ? { limits: p } : {},
|
|
3807
|
-
deliveryConfig:
|
|
3970
|
+
deliveryConfig: m
|
|
3808
3971
|
};
|
|
3809
3972
|
}
|
|
3810
|
-
function
|
|
3811
|
-
return
|
|
3973
|
+
function zo(e) {
|
|
3974
|
+
return $e(e);
|
|
3812
3975
|
}
|
|
3813
|
-
function
|
|
3814
|
-
return
|
|
3976
|
+
function qo(e) {
|
|
3977
|
+
return $e(e);
|
|
3815
3978
|
}
|
|
3816
|
-
function
|
|
3979
|
+
function Vo(e) {
|
|
3817
3980
|
try {
|
|
3818
|
-
return { valid: !0, value:
|
|
3981
|
+
return { valid: !0, value: $e(e), issues: [] };
|
|
3819
3982
|
} catch (r) {
|
|
3820
|
-
if (r instanceof
|
|
3983
|
+
if (r instanceof oe)
|
|
3821
3984
|
return { valid: !1, issues: r.issues };
|
|
3822
3985
|
throw r;
|
|
3823
3986
|
}
|
|
3824
3987
|
}
|
|
3825
|
-
function
|
|
3988
|
+
function Uo(e) {
|
|
3826
3989
|
try {
|
|
3827
|
-
return { valid: !0, value:
|
|
3990
|
+
return { valid: !0, value: dt(e), issues: [] };
|
|
3828
3991
|
} catch (r) {
|
|
3829
|
-
if (r instanceof
|
|
3992
|
+
if (r instanceof oe)
|
|
3830
3993
|
return { valid: !1, issues: r.issues };
|
|
3831
3994
|
throw r;
|
|
3832
3995
|
}
|
|
3833
3996
|
}
|
|
3834
|
-
function
|
|
3835
|
-
return typeof e == "string" &&
|
|
3997
|
+
function jo(e) {
|
|
3998
|
+
return typeof e == "string" && tt.has(e);
|
|
3836
3999
|
}
|
|
3837
|
-
function
|
|
3838
|
-
return typeof e == "string" &&
|
|
4000
|
+
function mt(e) {
|
|
4001
|
+
return typeof e == "string" && Jr.has(e);
|
|
3839
4002
|
}
|
|
3840
4003
|
export {
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
4004
|
+
Je as $,
|
|
4005
|
+
fo as A,
|
|
4006
|
+
$o as B,
|
|
4007
|
+
Er as C,
|
|
4008
|
+
ko as D,
|
|
4009
|
+
So as E,
|
|
4010
|
+
ne as F,
|
|
4011
|
+
nr as G,
|
|
4012
|
+
no as H,
|
|
4013
|
+
yo as I,
|
|
4014
|
+
L as J,
|
|
4015
|
+
lo as K,
|
|
4016
|
+
Zt as L,
|
|
4017
|
+
er as M,
|
|
4018
|
+
tr as N,
|
|
4019
|
+
ur as O,
|
|
4020
|
+
mr as P,
|
|
4021
|
+
be as Q,
|
|
4022
|
+
ir as R,
|
|
4023
|
+
po as S,
|
|
4024
|
+
ao as T,
|
|
4025
|
+
so as U,
|
|
4026
|
+
mo as V,
|
|
4027
|
+
uo as W,
|
|
4028
|
+
Ve as X,
|
|
3866
4029
|
S as Y,
|
|
3867
|
-
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
3901
|
-
|
|
3902
|
-
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3908
|
-
|
|
3909
|
-
|
|
3910
|
-
|
|
3911
|
-
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
3916
|
-
|
|
3917
|
-
|
|
3918
|
-
|
|
3919
|
-
|
|
3920
|
-
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
4030
|
+
xo as Z,
|
|
4031
|
+
Pr as _,
|
|
4032
|
+
Bo as a,
|
|
4033
|
+
Ro as a0,
|
|
4034
|
+
q as a1,
|
|
4035
|
+
Do as a2,
|
|
4036
|
+
jr as a3,
|
|
4037
|
+
Mo as a4,
|
|
4038
|
+
Qe as a5,
|
|
4039
|
+
Fo as a6,
|
|
4040
|
+
Wr as a7,
|
|
4041
|
+
Po as a8,
|
|
4042
|
+
sr as a9,
|
|
4043
|
+
Eo as aA,
|
|
4044
|
+
_r as aB,
|
|
4045
|
+
Sr as aC,
|
|
4046
|
+
Yr as aD,
|
|
4047
|
+
pr as aa,
|
|
4048
|
+
Ue as ab,
|
|
4049
|
+
go as ac,
|
|
4050
|
+
_o as ad,
|
|
4051
|
+
Yt as ae,
|
|
4052
|
+
fe as af,
|
|
4053
|
+
Zr as ag,
|
|
4054
|
+
pe as ah,
|
|
4055
|
+
ce as ai,
|
|
4056
|
+
h as aj,
|
|
4057
|
+
R as ak,
|
|
4058
|
+
Qr as al,
|
|
4059
|
+
Xr as am,
|
|
4060
|
+
Ko as an,
|
|
4061
|
+
oe as ao,
|
|
4062
|
+
Cn as ap,
|
|
4063
|
+
No as aq,
|
|
4064
|
+
dt as ar,
|
|
4065
|
+
Lo as as,
|
|
4066
|
+
$e as at,
|
|
4067
|
+
zo as au,
|
|
4068
|
+
qo as av,
|
|
4069
|
+
Vo as aw,
|
|
4070
|
+
Uo as ax,
|
|
4071
|
+
jo as ay,
|
|
4072
|
+
mt as az,
|
|
4073
|
+
Ir as b,
|
|
4074
|
+
vr as c,
|
|
4075
|
+
Ao as d,
|
|
4076
|
+
Io as e,
|
|
4077
|
+
Cr as f,
|
|
4078
|
+
Oo as g,
|
|
4079
|
+
To as h,
|
|
4080
|
+
Se as i,
|
|
4081
|
+
Co as j,
|
|
4082
|
+
br as k,
|
|
4083
|
+
wo as l,
|
|
4084
|
+
Ge as m,
|
|
4085
|
+
Z as n,
|
|
4086
|
+
vo as o,
|
|
4087
|
+
Ie as p,
|
|
4088
|
+
bo as q,
|
|
4089
|
+
Tr as r,
|
|
4090
|
+
Xt as s,
|
|
4091
|
+
ro as t,
|
|
4092
|
+
co as u,
|
|
4093
|
+
Jt as v,
|
|
4094
|
+
io as w,
|
|
4095
|
+
ho as x,
|
|
4096
|
+
Le as y,
|
|
4097
|
+
oo as z
|
|
3930
4098
|
};
|