@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214
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/{chunk-3JWIJJ44.js → chunk-5OWDOFKK.js} +2 -2
- package/dist/{chunk-IK2X5YJU.js → chunk-HWY35EAK.js} +2 -2
- package/dist/{chunk-OTKJASSX.cjs → chunk-IZL2KEH6.cjs} +24 -24
- package/dist/{chunk-OTKJASSX.cjs.map → chunk-IZL2KEH6.cjs.map} +1 -1
- package/dist/{chunk-35XIT2CF.cjs → chunk-KDNGUYZM.cjs} +17 -17
- package/dist/{chunk-35XIT2CF.cjs.map → chunk-KDNGUYZM.cjs.map} +1 -1
- package/dist/{chunk-ZTJVRSN5.js → chunk-UKND27XC.js} +2 -2
- package/dist/chunk-UKND27XC.js.map +1 -0
- package/dist/{chunk-ZDF6F7ED.cjs → chunk-YZUUFTIK.cjs} +2 -2
- package/dist/chunk-YZUUFTIK.cjs.map +1 -0
- package/dist/components/chat/index.cjs +2 -2
- package/dist/components/chat/index.js +1 -1
- package/dist/components/contact/index.cjs +3 -3
- package/dist/components/contact/index.js +2 -2
- package/dist/components/features/index.cjs +2 -2
- package/dist/components/features/index.js +1 -1
- package/dist/components/index.cjs +49 -49
- package/dist/components/index.js +2 -2
- package/dist/components/navigation/index.cjs +2 -2
- package/dist/components/navigation/index.js +1 -1
- package/dist/components/tickets/index.cjs +61 -61
- package/dist/components/tickets/index.js +3 -3
- package/dist/components/ui/index.cjs +2 -2
- package/dist/components/ui/index.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/.index.md +36 -34
- package/src/components/.alert-dialog.md +27 -23
- package/src/components/.announcement-bar.md +26 -21
- package/src/components/.breadcrumb.md +19 -15
- package/src/components/.calendar.md +24 -19
- package/src/components/.categories-cart.md +29 -24
- package/src/components/.checkbox.md +23 -25
- package/src/components/.chevron-button.md +37 -32
- package/src/components/.comment-card.md +32 -62
- package/src/components/.dialog.md +26 -26
- package/src/components/.dynamic-skeleton.md +54 -57
- package/src/components/.empty-state.md +42 -51
- package/src/components/.faq-accordion.md +27 -21
- package/src/components/.filter-chip.md +41 -24
- package/src/components/.flamingo-logo.md +20 -23
- package/src/components/.footer-waitlist-button.md +29 -22
- package/src/components/.footer.md +32 -32
- package/src/components/.icons-block.md +27 -17
- package/src/components/.image-cropper.md +41 -32
- package/src/components/.index.md +33 -39
- package/src/components/.input.md +31 -35
- package/src/components/.logs-list.md +31 -20
- package/src/components/.media-carousel.md +35 -36
- package/src/components/.open-source-features.md +33 -16
- package/src/components/.pagination.md +52 -51
- package/src/components/.provider-button.md +21 -23
- package/src/components/.select.md +31 -20
- package/src/components/.sidebar.md +34 -24
- package/src/components/.smooth-accordion.md +29 -24
- package/src/components/.social-icon-row.md +36 -32
- package/src/components/.textarea.md +25 -31
- package/src/components/.tool-icon.md +24 -26
- package/src/components/.unified-filter-logic.md +37 -30
- package/src/components/.unified-pagination.md +23 -22
- package/src/components/.user-summary-stub.md +38 -22
- package/src/components/.vendor-display-button.md +25 -25
- package/src/components/.vendor-icon.md +33 -25
- package/src/components/.why-it-matters.md +28 -25
- package/src/components/chat/.approval-batch-message.md +51 -0
- package/src/components/chat/.approval-request-message.md +35 -34
- package/src/components/chat/.chat-attachment-bar.md +64 -0
- package/src/components/chat/.chat-container.md +36 -18
- package/src/components/chat/.chat-input.md +37 -20
- package/src/components/chat/.chat-message-enhanced.md +30 -49
- package/src/components/chat/.chat-message-list.md +45 -32
- package/src/components/chat/.chat-message-skeleton.md +26 -22
- package/src/components/chat/.chat-panel-context.md +52 -0
- package/src/components/chat/.chat-ref.types.md +42 -0
- package/src/components/chat/.chat-sidebar-skeleton.md +34 -25
- package/src/components/chat/.chat-sidebar.md +31 -26
- package/src/components/chat/.chat-ticket-list.md +39 -0
- package/src/components/chat/.context-compaction-display.md +36 -0
- package/src/components/chat/.cycling-phrase.md +52 -0
- package/src/components/chat/.embeddable-chat.md +48 -0
- package/src/components/chat/.expand-chevron.md +24 -0
- package/src/components/chat/.index.md +31 -35
- package/src/components/chat/.mingo-onboarding-card-skeleton.md +44 -0
- package/src/components/chat/.mingo-onboarding-card.md +62 -0
- package/src/components/chat/.model-display.md +32 -30
- package/src/components/chat/.nav-link-anchor-via-runtime.md +40 -0
- package/src/components/chat/.remark-card-links.md +38 -0
- package/src/components/chat/.slash-command-suggestions.md +47 -0
- package/src/components/chat/.source-action-button.md +48 -0
- package/src/components/chat/.thinking-display.md +42 -0
- package/src/components/chat/.tool-call-blocks.md +45 -0
- package/src/components/chat/.tool-execution-display.md +44 -36
- package/src/components/chat/chat-container.tsx +1 -1
- package/src/components/chat/entity-cards/.admin-content-card.md +43 -0
- package/src/components/chat/entity-cards/.block-card.md +47 -0
- package/src/components/chat/entity-cards/.blog-card.md +52 -0
- package/src/components/chat/entity-cards/.blog-image-placeholder.md +39 -0
- package/src/components/chat/entity-cards/.campaign-card-admin.md +47 -0
- package/src/components/chat/entity-cards/.case-study-card.md +58 -0
- package/src/components/chat/entity-cards/.chat-ticket-item.md +40 -0
- package/src/components/chat/entity-cards/.chat-video-entity-card.md +43 -0
- package/src/components/chat/entity-cards/.customer-interview-card.md +53 -0
- package/src/components/chat/entity-cards/.data-room-doc-card.md +47 -0
- package/src/components/chat/entity-cards/.dispatch.md +39 -0
- package/src/components/chat/entity-cards/.entity-author-card.md +51 -0
- package/src/components/chat/entity-cards/.generic-entity-card.md +62 -0
- package/src/components/chat/entity-cards/.github-activity-card.md +61 -0
- package/src/components/chat/entity-cards/.hubspot-ticket-card.md +53 -0
- package/src/components/chat/entity-cards/.index.md +66 -0
- package/src/components/chat/entity-cards/.investor-update-card.md +47 -0
- package/src/components/chat/entity-cards/.onboarding-guide-card.md +58 -0
- package/src/components/chat/entity-cards/.product-release-card-defaults.md +31 -0
- package/src/components/chat/entity-cards/.product-release-card.md +29 -0
- package/src/components/chat/entity-cards/.program-card-defaults.md +41 -0
- package/src/components/chat/entity-cards/.program-card.md +59 -0
- package/src/components/chat/entity-cards/.roadmap-card.md +46 -0
- package/src/components/chat/entity-cards/.roadmap-vote-button.md +52 -0
- package/src/components/chat/entity-cards/.slack-message-card.md +48 -0
- package/src/components/chat/entity-cards/.task-type-icon.md +47 -0
- package/src/components/chat/hooks/.index.md +36 -21
- package/src/components/chat/hooks/.use-chat-attachment-image-gallery.md +51 -0
- package/src/components/chat/hooks/.use-chat-attachments.md +48 -0
- package/src/components/chat/hooks/.use-chat-card-item.md +39 -0
- package/src/components/chat/hooks/.use-chat-identity.md +45 -0
- package/src/components/chat/hooks/.use-chat.md +58 -0
- package/src/components/chat/hooks/.use-chunk-catchup.md +46 -48
- package/src/components/chat/hooks/.use-close-on-navigation.md +44 -0
- package/src/components/chat/hooks/.use-collapsible.md +48 -0
- package/src/components/chat/hooks/.use-embedded-chat.md +32 -0
- package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +40 -0
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +52 -0
- package/src/components/chat/hooks/.use-nats-dialog-subscription.md +49 -30
- package/src/components/chat/hooks/.use-proxied-image-url.md +40 -0
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +43 -40
- package/src/components/chat/hooks/.use-slash-commands.md +46 -0
- package/src/components/chat/hooks/.use-sse-chat-adapter.md +34 -0
- package/src/components/chat/hooks/.use-sse.md +60 -0
- package/src/components/chat/hooks/.use-unified-chat.md +57 -0
- package/src/components/chat/types/.api.types.md +52 -38
- package/src/components/chat/types/.chat.types.md +43 -34
- package/src/components/chat/types/.component.types.md +47 -48
- package/src/components/chat/types/.index.md +20 -27
- package/src/components/chat/types/.message.types.md +58 -48
- package/src/components/chat/types/.network.types.md +57 -31
- package/src/components/chat/types/.processing.types.md +49 -31
- package/src/components/chat/types/.unified-chat-state.types.md +41 -0
- package/src/components/chat/types/entities/.blog.md +43 -0
- package/src/components/chat/types/entities/.case-study.md +26 -0
- package/src/components/chat/types/entities/.content-ref.md +41 -0
- package/src/components/chat/types/entities/.customer-interview.md +28 -0
- package/src/components/chat/types/entities/.data-room-doc.md +36 -0
- package/src/components/chat/types/entities/.github-activity.md +43 -0
- package/src/components/chat/types/entities/.hubspot-ticket.md +53 -0
- package/src/components/chat/types/entities/.index.md +42 -0
- package/src/components/chat/types/entities/.investor-update.md +45 -0
- package/src/components/chat/types/entities/.onboarding-guide.md +50 -0
- package/src/components/chat/types/entities/.program-types.md +57 -0
- package/src/components/chat/types/entities/.roadmap-item.md +58 -0
- package/src/components/chat/types/entities/.slack-message.md +35 -0
- package/src/components/chat/utils/.agent-status-message.md +45 -0
- package/src/components/chat/utils/.auto-continuation-directive.md +58 -0
- package/src/components/chat/utils/.chat-attachment-markdown.md +54 -0
- package/src/components/chat/utils/.chat-authed-fetch.md +25 -0
- package/src/components/chat/utils/.chat-nav-resolution.md +46 -0
- package/src/components/chat/utils/.chat-proxy-auth-storage.md +38 -0
- package/src/components/chat/utils/.chip-action-class.md +34 -0
- package/src/components/chat/utils/.chip-styles.md +46 -0
- package/src/components/chat/utils/.chunk-parser.md +38 -28
- package/src/components/chat/utils/.clickup-task-type-utils.md +48 -0
- package/src/components/chat/utils/.compact-card-classes.md +62 -0
- package/src/components/chat/utils/.decide-new-tab.md +51 -0
- package/src/components/chat/utils/.external-app-urls.md +29 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +25 -29
- package/src/components/chat/utils/.flatten-assistant-content.md +34 -0
- package/src/components/chat/utils/.icon-registry.md +46 -0
- package/src/components/chat/utils/.index.md +37 -32
- package/src/components/chat/utils/.is-cross-origin-url.md +35 -0
- package/src/components/chat/utils/.message-segment-accumulator.md +25 -34
- package/src/components/chat/utils/.nav-anchor-props.md +44 -0
- package/src/components/chat/utils/.nav-click-handler.md +47 -0
- package/src/components/chat/utils/.onboarding-icons.md +28 -0
- package/src/components/chat/utils/.process-historical-messages.md +46 -35
- package/src/components/chat/utils/.scroll-anchor.md +40 -0
- package/src/components/chat/utils/.slash-dispatch-utils.md +44 -0
- package/src/components/chat/utils/.source-icons.md +35 -0
- package/src/components/chat/utils/.source-row-cta.md +54 -0
- package/src/components/chat/utils/.tool-call-helpers.md +42 -0
- package/src/components/contact/.contact-form.md +43 -0
- package/src/components/contact/.index.md +27 -0
- package/src/components/features/.array-entry-manager.md +36 -45
- package/src/components/features/.changelog-manager.md +47 -21
- package/src/components/features/.changelog-sections-manager.md +21 -26
- package/src/components/features/.command-box.md +31 -28
- package/src/components/features/.entity-summary-editor.md +46 -0
- package/src/components/features/.entity-video-section.md +51 -0
- package/src/components/features/.figma-prototype-viewer.md +48 -29
- package/src/components/features/.filters-dropdown.md +33 -46
- package/src/components/features/.highlight-config-section.md +42 -0
- package/src/components/features/.highlight-generation-section.md +46 -0
- package/src/components/features/.highlight-video-combined-section.md +47 -0
- package/src/components/features/.highlight-video-preview.md +44 -0
- package/src/components/features/.highlight-video-section.md +47 -0
- package/src/components/features/.index.md +40 -66
- package/src/components/features/.media-gallery-manager.md +48 -38
- package/src/components/features/.more-about-button.md +22 -19
- package/src/components/features/.og-editor-preview.md +40 -36
- package/src/components/features/.parallax-image-showcase.md +33 -26
- package/src/components/features/.paths-display.md +42 -43
- package/src/components/features/.platform-badge.md +37 -36
- package/src/components/features/.platform-filter.md +23 -16
- package/src/components/features/.policy-configuration-panel.md +48 -56
- package/src/components/features/.provider-button.md +33 -36
- package/src/components/features/.push-button-selector.md +40 -29
- package/src/components/features/.release-media-manager.md +46 -31
- package/src/components/features/.section-selector.md +26 -31
- package/src/components/features/.select-button.md +35 -25
- package/src/components/features/.seo-editor-preview.md +41 -44
- package/src/components/features/.social-links-manager.md +25 -19
- package/src/components/features/.start-with-openframe-button.md +37 -29
- package/src/components/features/.status-filter-component.md +36 -20
- package/src/components/features/.tags-selector.md +40 -24
- package/src/components/features/.transcribe-and-summarize-combined-section.md +45 -0
- package/src/components/features/.transcribe-summarize-section.md +48 -0
- package/src/components/features/.transcript-summary-editor.md +53 -0
- package/src/components/features/.video-bites-display.md +46 -0
- package/src/components/features/.video-clips-section.md +41 -0
- package/src/components/features/.video-ratio-tabs.md +56 -0
- package/src/components/features/.video-source-selector.md +60 -0
- package/src/components/features/.video.md +44 -0
- package/src/components/features/.waitlist-form.md +60 -0
- package/src/components/features/ai-enrich/.AIEnrichButton.md +30 -27
- package/src/components/features/ai-enrich/.AIEnrichSection.md +46 -42
- package/src/components/features/board/.board-column-header.md +38 -0
- package/src/components/features/board/.board-column.md +43 -0
- package/src/components/features/board/.board.md +51 -0
- package/src/components/features/board/.color-utils.md +26 -0
- package/src/components/features/board/.index.md +56 -0
- package/src/components/features/board/.ticket-card-skeleton.md +38 -0
- package/src/components/features/board/.ticket-card.md +47 -0
- package/src/components/features/board/.types.md +45 -0
- package/src/components/features/board/.use-board-collapse.md +34 -0
- package/src/components/features/notifications/.index.md +57 -0
- package/src/components/features/notifications/.notification-drawer.md +34 -0
- package/src/components/features/notifications/.notification-tile.md +39 -0
- package/src/components/features/notifications/.notifications-context.md +73 -0
- package/src/components/features/notifications/.types.md +45 -0
- package/src/components/icons/.about-icon.md +20 -28
- package/src/components/icons/.ai-robot-icon.md +15 -17
- package/src/components/icons/.bash-icon.md +16 -23
- package/src/components/icons/.buildings-icon.md +10 -24
- package/src/components/icons/.capterra-icon.md +30 -26
- package/src/components/icons/.carta-icon.md +29 -0
- package/src/components/icons/.clickup-icon.md +26 -0
- package/src/components/icons/.cmd-icon.md +15 -22
- package/src/components/icons/.coins-icon.md +17 -25
- package/src/components/icons/.community-hub-icon.md +19 -25
- package/src/components/icons/.community-icon.md +24 -21
- package/src/components/icons/.compare-icon.md +32 -19
- package/src/components/icons/.copy-icon.md +29 -15
- package/src/components/icons/.custom-external-link-icon.md +19 -17
- package/src/components/icons/.custom-fork-icon.md +32 -21
- package/src/components/icons/.custom-license-icon.md +29 -25
- package/src/components/icons/.custom-star-icon.md +20 -28
- package/src/components/icons/.custom-time-icon.md +21 -22
- package/src/components/icons/.cut-vendor-costs-icon.md +6 -19
- package/src/components/icons/.dashboard-icon.md +13 -18
- package/src/components/icons/.deno-icon.md +16 -23
- package/src/components/icons/.donut-icon.md +12 -23
- package/src/components/icons/.double-chevron-icon.md +28 -36
- package/src/components/icons/.elestio-logo.md +13 -23
- package/src/components/icons/.empty-vendor-icon.md +16 -18
- package/src/components/icons/.explore-categories-icon.md +18 -29
- package/src/components/icons/.eye-icon.md +16 -26
- package/src/components/icons/.facebook-icon.md +9 -20
- package/src/components/icons/.figma-icon.md +8 -17
- package/src/components/icons/.filter-icon.md +15 -17
- package/src/components/icons/.flamingo-logo.md +28 -27
- package/src/components/icons/.folder-shield-icon.md +28 -19
- package/src/components/icons/.g2-icon.md +22 -21
- package/src/components/icons/.getapp-icon.md +25 -21
- package/src/components/icons/.github-icon.md +13 -25
- package/src/components/icons/.globe-icon.md +14 -19
- package/src/components/icons/.google-gemini-icon.md +16 -19
- package/src/components/icons/.google-logo.md +15 -21
- package/src/components/icons/.grid-view-icon.md +30 -19
- package/src/components/icons/.hamburger-icon.md +22 -20
- package/src/components/icons/.hand-dollar-icon.md +24 -34
- package/src/components/icons/.hotel-icon.md +27 -21
- package/src/components/icons/.icon-utils.md +28 -29
- package/src/components/icons/.image-icon.md +15 -22
- package/src/components/icons/.index.md +25 -28
- package/src/components/icons/.info-circle-icon.md +29 -30
- package/src/components/icons/.instagram-icon.md +10 -24
- package/src/components/icons/.jump-in-icon.md +18 -18
- package/src/components/icons/.linux-icon.md +18 -18
- package/src/components/icons/.log-out-icon.md +15 -23
- package/src/components/icons/.logs-icon.md +14 -23
- package/src/components/icons/.margin-crisis-icon.md +21 -20
- package/src/components/icons/.menu-icon.md +18 -19
- package/src/components/icons/.miami-cyber-gang-logo-face-only.md +18 -21
- package/src/components/icons/.miami-cyber-gang-logo.md +22 -14
- package/src/components/icons/.mlg-logo.md +18 -16
- package/src/components/icons/.moon-icon.md +32 -22
- package/src/components/icons/.ms-icon.md +30 -19
- package/src/components/icons/.nushell-icon.md +7 -21
- package/src/components/icons/.open-source-icon.md +19 -23
- package/src/components/icons/.openai-icon.md +9 -24
- package/src/components/icons/.openframe-ai-icons.md +25 -26
- package/src/components/icons/.openframe-logo.md +28 -22
- package/src/components/icons/.openframe-text.md +24 -27
- package/src/components/icons/.openmsp-logo.md +26 -23
- package/src/components/icons/.pilot-icon.md +23 -0
- package/src/components/icons/.powershell-icon.md +17 -22
- package/src/components/icons/.python-icon.md +16 -23
- package/src/components/icons/.queries-icon.md +13 -21
- package/src/components/icons/.reddit-icon.md +28 -24
- package/src/components/icons/.remote-control-icon.md +13 -17
- package/src/components/icons/.script-icon.md +27 -19
- package/src/components/icons/.search-icon.md +21 -21
- package/src/components/icons/.send-icon.md +14 -16
- package/src/components/icons/.settings-icon.md +30 -19
- package/src/components/icons/.shape-circle-dash-icon.md +16 -21
- package/src/components/icons/.shell-icon.md +15 -19
- package/src/components/icons/.shield-check-icon.md +18 -31
- package/src/components/icons/.shield-key-icon.md +25 -25
- package/src/components/icons/.shield-lock-icon.md +8 -18
- package/src/components/icons/.slack-icon.md +28 -32
- package/src/components/icons/.sparkles-icon.md +18 -23
- package/src/components/icons/.sso-configuration-icon.md +29 -16
- package/src/components/icons/.sun-icon.md +20 -18
- package/src/components/icons/.table-view-icon.md +17 -19
- package/src/components/icons/.telegram-icon.md +8 -22
- package/src/components/icons/.thumbs-down-icon.md +10 -19
- package/src/components/icons/.thumbs-up-icon.md +8 -17
- package/src/components/icons/.tool-directory-icons.md +24 -28
- package/src/components/icons/.trustpilot-icon.md +25 -22
- package/src/components/icons/.user-icon.md +26 -28
- package/src/components/icons/.users-group-icon.md +28 -24
- package/src/components/icons/.vendor-showcase-icons.md +21 -29
- package/src/components/icons/.vendors-icon.md +18 -22
- package/src/components/icons/.whatsapp-icon.md +30 -14
- package/src/components/icons/.x-icon.md +18 -23
- package/src/components/icons/.x-logo.md +13 -38
- package/src/components/icons/.youtube-icon.md +8 -19
- package/src/components/icons/device-type-icons/.get-device-type-icon.md +26 -34
- package/src/components/icons-v2-generated/.index.md +52 -0
- package/src/components/icons-v2-generated/alphabet/.index.md +33 -0
- package/src/components/icons-v2-generated/arrows/.index.md +39 -0
- package/src/components/icons-v2-generated/audio-and-visual/.index.md +40 -0
- package/src/components/icons-v2-generated/brand-logos/.elestio-logo-icon.md +40 -0
- package/src/components/icons-v2-generated/brand-logos/.gemini-logo-icon.md +37 -0
- package/src/components/icons-v2-generated/brand-logos/.google-gemini-logo-icon.md +33 -0
- package/src/components/icons-v2-generated/brand-logos/.index.md +38 -0
- package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-grey-icon.md +35 -0
- package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-icon.md +36 -0
- package/src/components/icons-v2-generated/buildings/.index.md +48 -0
- package/src/components/icons-v2-generated/charts/.index.md +40 -0
- package/src/components/icons-v2-generated/clothes/.index.md +48 -0
- package/src/components/icons-v2-generated/coding/.index.md +42 -0
- package/src/components/icons-v2-generated/communication/.index.md +39 -0
- package/src/components/icons-v2-generated/date-and-time/.index.md +29 -0
- package/src/components/icons-v2-generated/design/.index.md +39 -0
- package/src/components/icons-v2-generated/devices/.index.md +38 -0
- package/src/components/icons-v2-generated/documents/.index.md +38 -0
- package/src/components/icons-v2-generated/finance/.index.md +34 -0
- package/src/components/icons-v2-generated/food-and-drinks/.index.md +34 -0
- package/src/components/icons-v2-generated/food-and-drinks/.leafy-green-icon.md +36 -0
- package/src/components/icons-v2-generated/food-and-drinks/.strawberry-icon.md +39 -0
- package/src/components/icons-v2-generated/health/.index.md +40 -0
- package/src/components/icons-v2-generated/household/.index.md +45 -0
- package/src/components/icons-v2-generated/interface/.index.md +36 -0
- package/src/components/icons-v2-generated/map-and-travel/.index.md +41 -0
- package/src/components/icons-v2-generated/media-playback/.index.md +51 -0
- package/src/components/icons-v2-generated/number/.index.md +41 -0
- package/src/components/icons-v2-generated/school/.index.md +37 -0
- package/src/components/icons-v2-generated/security/.fingerprint-icon.md +38 -0
- package/src/components/icons-v2-generated/security/.index.md +39 -0
- package/src/components/icons-v2-generated/shopping/.index.md +42 -0
- package/src/components/icons-v2-generated/signs-and-symbols/.index.md +32 -0
- package/src/components/icons-v2-generated/sort-and-filter/.index.md +35 -0
- package/src/components/icons-v2-generated/sport/.index.md +41 -0
- package/src/components/icons-v2-generated/text-editor/.index.md +44 -0
- package/src/components/icons-v2-generated/users/.index.md +45 -0
- package/src/components/icons-v2-generated/vehicles-and-delivery/.index.md +36 -0
- package/src/components/icons-v2-generated/weather-and-nature/.flower-sakura-icon.md +36 -0
- package/src/components/icons-v2-generated/weather-and-nature/.index.md +34 -0
- package/src/components/layout/.article-detail-layout.md +43 -0
- package/src/components/layout/.back-button.md +40 -0
- package/src/components/layout/.list-page-layout.md +35 -26
- package/src/components/layout/.page-container.md +27 -38
- package/src/components/layout/.page-layout.md +50 -0
- package/src/components/layout/.title-block.md +42 -0
- package/src/components/loading/.card-skeleton.md +38 -29
- package/src/components/loading/.device-card-skeleton.md +29 -25
- package/src/components/loading/.index.md +39 -46
- package/src/components/loading/.margin-report-skeleton.md +45 -34
- package/src/components/loading/.organization-card-skeleton.md +39 -44
- package/src/components/loading/.page-layout-skeleton.md +34 -45
- package/src/components/loading/.unified-skeleton.md +62 -36
- package/src/components/navigation/.app-header.md +40 -29
- package/src/components/navigation/.app-layout.md +25 -26
- package/src/components/navigation/.header-global-search.md +34 -37
- package/src/components/navigation/.header-organization-filter.md +23 -22
- package/src/components/navigation/.header.md +31 -35
- package/src/components/navigation/.mobile-burger-menu.md +39 -47
- package/src/components/navigation/.mobile-nav-panel.md +51 -32
- package/src/components/navigation/.navigation-sidebar-header.md +36 -0
- package/src/components/navigation/.navigation-sidebar-item.md +45 -0
- package/src/components/navigation/.navigation-sidebar-toggle.md +38 -0
- package/src/components/navigation/.navigation-sidebar.md +33 -34
- package/src/components/navigation/.sliding-sidebar.md +52 -41
- package/src/components/navigation/.sticky-section-nav.md +56 -48
- package/src/components/platform/.ScriptArguments.md +39 -25
- package/src/components/platform/.ScriptInfoSection.md +30 -26
- package/src/components/platform/.ShellTypeBadge.md +18 -13
- package/src/components/platform/.SoftwareInfo.md +23 -27
- package/src/components/platform/.SoftwareSourceBadge.md +28 -19
- package/src/components/platform/.ToolBadge.md +25 -26
- package/src/components/providers/.theme-provider.md +52 -0
- package/src/components/shared/delivery/.delivery-lists.md +39 -0
- package/src/components/shared/delivery/.delivery-row.md +41 -0
- package/src/components/shared/delivery/.delivery-table.md +41 -0
- package/src/components/shared/delivery/.index.md +38 -0
- package/src/components/shared/dev-section/.dev-card-row.md +60 -0
- package/src/components/shared/dev-section/.dev-section-page.md +48 -0
- package/src/components/shared/dev-section/.dev-section-view.md +43 -0
- package/src/components/shared/dev-section/.index.md +38 -0
- package/src/components/shared/legal-document/.index.md +40 -0
- package/src/components/shared/legal-document/.legal-document-page.md +50 -0
- package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
- package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
- package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
- package/src/components/shared/product-release/.index.md +28 -30
- package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
- package/src/components/shared/product-release/.product-release-card.md +45 -27
- package/src/components/shared/product-release/.release-detail-page.md +23 -24
- package/src/components/shared/roadmap/.index.md +37 -0
- package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
- package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
- package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
- package/src/components/tickets/.help-center-card.md +51 -0
- package/src/components/tickets/.help-center-create-form.md +38 -0
- package/src/components/tickets/.help-center-list.md +40 -0
- package/src/components/tickets/.index.md +65 -0
- package/src/components/tickets/.ticket-center.md +51 -0
- package/src/components/tickets/.ticket-detail-drawer.md +48 -0
- package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
- package/src/components/tickets/.ticket-open-form.md +50 -0
- package/src/components/tickets/.ticket-row.md +30 -0
- package/src/components/tickets/.types.md +57 -0
- package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
- package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
- package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
- package/src/components/ui/.actions-menu.md +66 -41
- package/src/components/ui/.alert-dialog.md +29 -26
- package/src/components/ui/.allowed-domains-input.md +29 -21
- package/src/components/ui/.assignee-dropdown.md +45 -0
- package/src/components/ui/.autocomplete.md +47 -41
- package/src/components/ui/.benefit-card.md +51 -36
- package/src/components/ui/.brand-association-card.md +30 -27
- package/src/components/ui/.breadcrumb.md +17 -15
- package/src/components/ui/.checkbox-block.md +39 -35
- package/src/components/ui/.checkbox-with-description.md +23 -16
- package/src/components/ui/.checkbox.md +31 -23
- package/src/components/ui/.circular-progress.md +49 -19
- package/src/components/ui/.content-loader.md +32 -20
- package/src/components/ui/.cursor-pagination.md +41 -52
- package/src/components/ui/.dashboard-info-card.md +33 -26
- package/src/components/ui/.date-picker.md +27 -25
- package/src/components/ui/.device-card-compact.md +28 -29
- package/src/components/ui/.device-card.md +27 -27
- package/src/components/ui/.dialog.md +25 -16
- package/src/components/ui/.drawer.md +86 -0
- package/src/components/ui/.dropdown-button.md +45 -0
- package/src/components/ui/.entity-image.md +46 -0
- package/src/components/ui/.error-state.md +41 -28
- package/src/components/ui/.feature-card.md +35 -31
- package/src/components/ui/.feature-list.md +48 -0
- package/src/components/ui/.field-wrapper.md +47 -0
- package/src/components/ui/.file-upload.md +42 -0
- package/src/components/ui/.filter-checkbox-item.md +43 -0
- package/src/components/ui/.filter-list.md +57 -0
- package/src/components/ui/.filter-modal.md +59 -0
- package/src/components/ui/.floating-tooltip.md +43 -26
- package/src/components/ui/.hidden-tags-popup.md +49 -0
- package/src/components/ui/.hover-dropdown.md +54 -0
- package/src/components/ui/.image-gallery-modal.md +41 -34
- package/src/components/ui/.image-uploader.md +53 -0
- package/src/components/ui/.index.md +40 -34
- package/src/components/ui/.info-card.md +31 -31
- package/src/components/ui/.info-row.md +31 -27
- package/src/components/ui/.input-trigger.md +44 -0
- package/src/components/ui/.input.md +37 -31
- package/src/components/ui/.markdown-editor.md +57 -0
- package/src/components/ui/.modal-v2.md +51 -0
- package/src/components/ui/.modal.md +32 -31
- package/src/components/ui/.more-actions-menu.md +45 -38
- package/src/components/ui/.organization-card.md +31 -37
- package/src/components/ui/.page-actions.md +44 -54
- package/src/components/ui/.phone-input.md +54 -0
- package/src/components/ui/.progress-bar.md +35 -27
- package/src/components/ui/.radio-group.md +39 -27
- package/src/components/ui/.release-changelog-section.md +34 -34
- package/src/components/ui/.search-input.md +48 -0
- package/src/components/ui/.select.md +54 -34
- package/src/components/ui/.service-card.md +42 -40
- package/src/components/ui/.sheet.md +27 -18
- package/src/components/ui/.simple-markdown-renderer.md +29 -31
- package/src/components/ui/.sort-column-item.md +42 -0
- package/src/components/ui/.square-avatar.md +34 -24
- package/src/components/ui/.status-badge.md +26 -38
- package/src/components/ui/.switch.md +22 -35
- package/src/components/ui/.tab-navigation.md +56 -53
- package/src/components/ui/.tab-selector.md +40 -0
- package/src/components/ui/.tag-key-value-filter.md +56 -0
- package/src/components/ui/.tag-search-input.md +53 -0
- package/src/components/ui/.tag.md +49 -31
- package/src/components/ui/.tags-manager.md +60 -0
- package/src/components/ui/.textarea.md +44 -34
- package/src/components/ui/.ticket-attachments-list.md +45 -0
- package/src/components/ui/.ticket-detail-section.md +29 -0
- package/src/components/ui/.ticket-info-section.md +56 -0
- package/src/components/ui/.ticket-note-card.md +53 -0
- package/src/components/ui/.ticket-notes-section.md +54 -0
- package/src/components/ui/.ticket-status-tag.md +49 -0
- package/src/components/ui/.title-content-block.md +25 -26
- package/src/components/ui/.toaster.md +40 -28
- package/src/components/ui/.tooltip.md +22 -11
- package/src/components/ui/.truncate-text.md +39 -0
- package/src/components/ui/button/.button-styles.md +35 -0
- package/src/components/ui/button/.button.md +53 -0
- package/src/components/ui/button/.split-button.md +48 -0
- package/src/components/ui/data-table/.data-table-body.md +48 -0
- package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
- package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
- package/src/components/ui/data-table/.data-table-empty.md +43 -0
- package/src/components/ui/data-table/.data-table-header.md +55 -0
- package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
- package/src/components/ui/data-table/.data-table-row-count.md +43 -0
- package/src/components/ui/data-table/.data-table-row.md +47 -0
- package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
- package/src/components/ui/data-table/.data-table.md +47 -0
- package/src/components/ui/data-table/.index.md +55 -0
- package/src/components/ui/data-table/.types.md +54 -0
- package/src/components/ui/data-table/.use-data-table.md +45 -0
- package/src/components/ui/data-table/.utils.md +38 -0
- package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
- package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
- package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
- package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
- package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
- package/src/components/ui/file-manager/.file-manager.md +35 -31
- package/src/components/ui/query-report-table/.index.md +43 -0
- package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
- package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
- package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
- package/src/components/ui/query-report-table/.query-report-table.md +47 -0
- package/src/components/ui/query-report-table/.types.md +41 -0
- package/src/components/ui/query-report-table/.utils.md +35 -0
- package/src/components/ui/table/.index.md +27 -48
- package/src/components/ui/table/.table-cell.md +18 -27
- package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
- package/src/components/ui/table/.table-description-cell.md +24 -14
- package/src/components/ui/table/.table-empty-state.md +21 -22
- package/src/components/ui/table/.table-header.md +25 -40
- package/src/components/ui/table/.table-row.md +22 -40
- package/src/components/ui/table/.table-skeleton.md +33 -26
- package/src/components/ui/table/.table-timestamp-cell.md +26 -16
- package/src/components/ui/table/.table.md +39 -59
- package/src/components/ui/table/.types.md +44 -36
- package/src/components/ui/table/.utils.md +18 -20
- package/src/contexts/.chat-runtime-context.md +54 -0
- package/src/contexts/.endpoints-runtime-context.md +58 -0
- package/src/contexts/.index.md +53 -0
- package/src/contexts/.use-outer-or-default.md +36 -0
- package/src/embed-shims/.index.md +45 -0
- package/src/embed-shims/.next-dynamic.md +43 -0
- package/src/embed-shims/.next-image.md +45 -0
- package/src/embed-shims/.next-link.md +59 -0
- package/src/embed-shims/.next-navigation.md +59 -0
- package/src/hooks/.index.md +34 -29
- package/src/hooks/.use-access-code-integration.md +49 -0
- package/src/hooks/.use-contact-submission.md +37 -26
- package/src/hooks/.use-copy-to-clipboard.md +42 -0
- package/src/hooks/.use-near-viewport.md +44 -0
- package/src/hooks/.use-og-placeholder.md +51 -0
- package/src/hooks/.use-toast.md +36 -35
- package/src/hooks/state/.use-api-params.md +29 -46
- package/src/hooks/state/.use-query-params.md +37 -33
- package/src/hooks/ui/.index.md +33 -32
- package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
- package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
- package/src/hooks/ui/.use-image-edge-color.md +42 -0
- package/src/hooks/ui/.use-media-query.md +33 -25
- package/src/hooks/ui/.use-search.md +51 -0
- package/src/nats/.nats.md +49 -28
- package/src/schemas/.contact-schema.md +45 -0
- package/src/stories/.AnnouncementBar.stories.md +45 -0
- package/src/stories/.AppLayout.stories.md +20 -21
- package/src/stories/.Autocomplete.stories.md +48 -34
- package/src/stories/.Board.stories.md +35 -0
- package/src/stories/.Button.stories.md +36 -33
- package/src/stories/.ChatTicketList.stories.md +33 -0
- package/src/stories/.CheckboxBlock.stories.md +40 -28
- package/src/stories/.ContentLoader.stories.md +47 -0
- package/src/stories/.DashboardInfoCard.stories.md +57 -0
- package/src/stories/.DataTable.stories.md +41 -0
- package/src/stories/.DatePicker.stories.md +66 -52
- package/src/stories/.DeviceCard.stories.md +41 -40
- package/src/stories/.DeviceCardCompact.stories.md +41 -0
- package/src/stories/.DotsLoaderIcon.stories.md +36 -0
- package/src/stories/.Drawer.stories.md +58 -0
- package/src/stories/.EmbeddableChat.stories.md +41 -0
- package/src/stories/.FileManager.stories.md +41 -0
- package/src/stories/.FileManagerActionBar.stories.md +38 -0
- package/src/stories/.FileUpload.stories.md +53 -0
- package/src/stories/.FilterList.stories.md +54 -0
- package/src/stories/.FilterModal.stories.md +72 -0
- package/src/stories/.FiltersDropdown.stories.md +57 -0
- package/src/stories/.Header.stories.md +48 -0
- package/src/stories/.ImageUploader.stories.md +49 -0
- package/src/stories/.InfoCard.stories.md +54 -0
- package/src/stories/.Input.stories.md +48 -30
- package/src/stories/.ListPageLayout.stories.md +56 -43
- package/src/stories/.MingoOnboardingCard.stories.md +42 -0
- package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
- package/src/stories/.Modal.stories.md +40 -31
- package/src/stories/.NotificationDrawer.stories.md +55 -0
- package/src/stories/.OnboardingStepCard.stories.md +41 -0
- package/src/stories/.OrganizationCard.stories.md +61 -0
- package/src/stories/.PageActions.stories.md +52 -49
- package/src/stories/.PageContainer.stories.md +41 -35
- package/src/stories/.PageLayout.stories.md +60 -0
- package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
- package/src/stories/.PhoneInput.stories.md +53 -0
- package/src/stories/.QueryReportTable.stories.md +44 -0
- package/src/stories/.RadioGroup.stories.md +46 -0
- package/src/stories/.RadioGroupBlock.stories.md +45 -0
- package/src/stories/.Select.stories.md +29 -15
- package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
- package/src/stories/.SplitButton.stories.md +62 -0
- package/src/stories/.TabNavigation.stories.md +47 -38
- package/src/stories/.TabSelector.stories.md +65 -0
- package/src/stories/.Table.stories.md +38 -46
- package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
- package/src/stories/.Tag.stories.md +43 -32
- package/src/stories/.TagKeyValueFilter.stories.md +44 -0
- package/src/stories/.TagSearchInput.stories.md +61 -0
- package/src/stories/.Textarea.stories.md +49 -26
- package/src/stories/.Theme.stories.md +41 -0
- package/src/stories/.TicketAttachmentsList.stories.md +39 -0
- package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
- package/src/stories/.TicketInfoSection.stories.md +40 -0
- package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
- package/src/stories/.TicketNotesSection.stories.md +50 -0
- package/src/stories/.Toaster.stories.md +40 -0
- package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
- package/src/stories/.Tooltip.stories.md +41 -0
- package/src/stories/.UserSummary.stories.md +41 -0
- package/src/stories/.WaitlistForm.stories.md +42 -0
- package/src/stories/BlogCard.stories.tsx +61 -0
- package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
- package/src/stories/CaseStudyCard.stories.tsx +42 -0
- package/src/stories/ChatContainer.stories.tsx +186 -0
- package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
- package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
- package/src/stories/DataRoomDocCard.stories.tsx +52 -0
- package/src/stories/GenericEntityCard.stories.tsx +66 -0
- package/src/stories/GitHubActivityCard.stories.tsx +61 -0
- package/src/stories/HubspotTicketCard.stories.tsx +98 -0
- package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
- package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
- package/src/stories/ProductReleaseCard.stories.tsx +61 -0
- package/src/stories/ProgramCard.stories.tsx +79 -0
- package/src/stories/RoadmapCard.stories.tsx +75 -0
- package/src/stories/SlackMessageCard.stories.tsx +41 -0
- package/src/stories/__fixtures__/chat-cards.ts +604 -0
- package/src/types/.blog.md +53 -29
- package/src/types/.case-study.md +44 -27
- package/src/types/.customer-interview.md +66 -44
- package/src/types/.delivery.md +40 -0
- package/src/types/.employee.md +24 -30
- package/src/types/.index.md +33 -47
- package/src/types/.marketing.md +49 -44
- package/src/types/.navigation.md +33 -25
- package/src/types/.os.types.md +32 -27
- package/src/types/.platform.md +31 -28
- package/src/types/.product-release.md +65 -38
- package/src/types/.supabase.md +37 -29
- package/src/types/.team.md +41 -33
- package/src/types/.video-processing.md +54 -0
- package/src/types/.waitlist.md +40 -36
- package/src/utils/.access-code-client.md +37 -36
- package/src/utils/.cn.md +31 -23
- package/src/utils/.color-analysis.md +35 -0
- package/src/utils/.country-phone-utils.md +39 -0
- package/src/utils/.date-formatters.md +19 -18
- package/src/utils/.embed-authed-fetch.md +39 -0
- package/src/utils/.embed-proxy-auth-storage.md +38 -0
- package/src/utils/.fetch-priority.md +41 -0
- package/src/utils/.format.md +74 -25
- package/src/utils/.generic-domain-utils.md +42 -0
- package/src/utils/.image-proxy.md +59 -23
- package/src/utils/.index.md +42 -49
- package/src/utils/.local-storage-adapter.md +50 -0
- package/src/utils/.ods-color-utils.md +55 -38
- package/src/utils/.platform-config.md +45 -25
- package/src/utils/.scroll-into-view.md +40 -0
- package/src/utils/.source-icons.md +53 -0
- package/src/utils/.sse-decision-frame.md +46 -0
- package/src/utils/dev-sections/.index.md +34 -0
- package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
- package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
- package/dist/chunk-ZTJVRSN5.js.map +0 -1
- package/src/components/.card.md +0 -42
- package/src/components/.contact-button.md +0 -30
- package/src/components/.drawer.md +0 -46
- package/src/components/.fixed-layout-container.md +0 -47
- package/src/components/.footer-waitlist-card.md +0 -29
- package/src/components/.join-waitlist-cta.md +0 -29
- package/src/components/.sheet.md +0 -47
- package/src/components/.sliding-panel.md +0 -48
- package/src/components/.tooltip.md +0 -48
- package/src/components/.use-mobile.md +0 -42
- package/src/components/.vendor-compact-card.md +0 -66
- package/src/components/.x-button.md +0 -42
- package/src/components/features/.github-repo-button.md +0 -40
- package/src/components/features/.organization-icon.md +0 -47
- package/src/components/features/.organization-selector.md +0 -45
- package/src/components/icons/.fleet-icon.md +0 -39
- package/src/components/icons/.meshcentral-icon.md +0 -35
- package/src/components/icons/.refresh-icon.md +0 -34
- package/src/components/icons/.tactical-icon.md +0 -35
- package/src/components/ui/.button.md +0 -69
- package/src/components/ui/.log-table-row.md +0 -47
- package/src/components/ui/.selectable-device-card.md +0 -46
- package/src/hooks/.api-hooks-stub.md +0 -45
- package/src/hooks/api/.use-product-releases.md +0 -53
- package/src/stories/.OrganizationSelector.stories.md +0 -42
- package/src/stories/.SelectableDeviceCard.stories.md +0 -30
- package/src/utils/.lite-youtube-embed-stub.md +0 -37
- package/src/utils/.lite-youtube-embed.md +0 -33
- /package/dist/{chunk-3JWIJJ44.js.map → chunk-5OWDOFKK.js.map} +0 -0
- /package/dist/{chunk-IK2X5YJU.js.map → chunk-HWY35EAK.js.map} +0 -0
package/src/types/.navigation.md
CHANGED
|
@@ -1,44 +1,52 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 4697d9aedf1aceab0cdd55dfb68dfa62 -->
|
|
2
|
+
Defines shared TypeScript interfaces for all navigation-related components, providing a unified type contract for headers, sidebars, and mobile navigation panels.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
| Interface | Purpose |
|
|
7
|
+
|-----------|---------|
|
|
8
|
+
| `NavigationItem` | Base interface for any nav item — supports links, dropdowns, badges, icons, and custom elements |
|
|
9
|
+
| `HeaderConfig` | Full configuration for the top header including logo, nav items, actions, and mobile behavior |
|
|
10
|
+
| `MobileNavConfig` | Configuration for grouped mobile navigation panels with optional footer |
|
|
11
|
+
| `SlidingSidebarConfig` | Configuration for animated slide-in sidebars (left or right) |
|
|
12
|
+
| `NavigationSidebarConfig` | Configuration for collapsible vertical sidebars with minimize support |
|
|
13
|
+
| `NavigationSidebarItem` | Sidebar-specific nav item with section placement (`primary` / `secondary`) |
|
|
14
|
+
| `UnifiedSidebarUser` | User identity shape (name, email, avatar, role) consumed by unified sidebar components |
|
|
13
15
|
|
|
14
16
|
## Usage Example
|
|
15
17
|
|
|
16
18
|
```typescript
|
|
17
19
|
import { NavigationItem, HeaderConfig } from './navigation'
|
|
18
20
|
|
|
19
|
-
const
|
|
21
|
+
const navItems: NavigationItem[] = [
|
|
20
22
|
{
|
|
21
|
-
id: '
|
|
22
|
-
label: '
|
|
23
|
-
href: '/',
|
|
24
|
-
|
|
25
|
-
isActive: true
|
|
23
|
+
id: 'dashboard',
|
|
24
|
+
label: 'Dashboard',
|
|
25
|
+
href: '/dashboard',
|
|
26
|
+
type: 'single',
|
|
27
|
+
isActive: true,
|
|
26
28
|
},
|
|
27
29
|
{
|
|
28
|
-
id: '
|
|
29
|
-
label: '
|
|
30
|
+
id: 'tools',
|
|
31
|
+
label: 'Tools',
|
|
30
32
|
type: 'dropdown',
|
|
31
33
|
children: [
|
|
32
|
-
{ id: '
|
|
33
|
-
{ id: '
|
|
34
|
-
]
|
|
35
|
-
}
|
|
34
|
+
{ id: 'tickets', label: 'Tickets', href: '/tickets' },
|
|
35
|
+
{ id: 'assets', label: 'Assets', href: '/assets' },
|
|
36
|
+
],
|
|
37
|
+
},
|
|
36
38
|
]
|
|
37
39
|
|
|
38
40
|
const headerConfig: HeaderConfig = {
|
|
39
|
-
logo: {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
logo: {
|
|
42
|
+
element: <FlamingoLogo />,
|
|
43
|
+
href: '/',
|
|
44
|
+
},
|
|
45
|
+
navigation: {
|
|
46
|
+
items: navItems,
|
|
47
|
+
position: 'center',
|
|
48
|
+
},
|
|
49
|
+
autoHide: true,
|
|
50
|
+
backgroundColor: 'bg-ods-card',
|
|
43
51
|
}
|
|
44
52
|
```
|
package/src/types/.os.types.md
CHANGED
|
@@ -1,38 +1,43 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: 6581d93b3edee981ded786a177e99959 -->
|
|
2
|
+
Defines the centralized source of truth for operating system type metadata across the Flamingo platform, normalizing OS values from Fleet MDM, Tactical RMM, and GraphQL into a unified structure.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
- **`OSTypeValues`**
|
|
7
|
-
- **`OSType`**
|
|
8
|
-
- **`OSTypeDefinition`**
|
|
9
|
-
- **`OS_TYPES`**
|
|
10
|
-
- **`osLabels`**
|
|
6
|
+
- **`OSTypeValues`** — Const enum-like object with `WINDOWS`, `MACOS`, and `LINUX` string literals
|
|
7
|
+
- **`OSType`** — Union type derived from `OSTypeValues`
|
|
8
|
+
- **`OSTypeDefinition`** — Interface describing a full OS entry: `id`, `label`, `value`, `icon`, `platformId`, and `aliases`
|
|
9
|
+
- **`OS_TYPES`** — Primary export; array of `OSTypeDefinition` objects for all three platforms, including brand icons and alias lists for fuzzy matching
|
|
10
|
+
- **`osLabels`** — Convenience record mapping each `OSType` to its display label
|
|
11
11
|
|
|
12
12
|
## Usage Example
|
|
13
13
|
|
|
14
14
|
```typescript
|
|
15
|
-
import { OS_TYPES, OSTypeValues,
|
|
16
|
-
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
)
|
|
15
|
+
import { OS_TYPES, OSTypeValues, osLabels } from './os.types'
|
|
16
|
+
|
|
17
|
+
// Resolve an OS from an arbitrary string (e.g. from Fleet MDM)
|
|
18
|
+
function resolveOS(raw: string) {
|
|
19
|
+
const normalized = raw.toLowerCase()
|
|
20
|
+
return OS_TYPES.find(os =>
|
|
21
|
+
os.aliases.includes(normalized)
|
|
23
22
|
)
|
|
24
|
-
return osDefinition?.id || null
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return IconComponent ? <IconComponent /> : null
|
|
32
|
-
}
|
|
25
|
+
const match = resolveOS('darwin')
|
|
26
|
+
// match.id → 'MACOS'
|
|
27
|
+
// match.label → 'macOS'
|
|
28
|
+
// match.platformId → 'darwin'
|
|
33
29
|
|
|
34
|
-
//
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
// Render display label from known type
|
|
31
|
+
const label = osLabels[OSTypeValues.WINDOWS]
|
|
32
|
+
// → 'Windows'
|
|
33
|
+
|
|
34
|
+
// Render the OS icon in a React component
|
|
35
|
+
const OsIcon = match?.icon
|
|
36
|
+
// <OsIcon className="w-4 h-4" />
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Notes
|
|
40
|
+
|
|
41
|
+
- Aliases are **order-sensitive** — more specific strings (e.g. `'darwin'`) precede shorter ones (e.g. `'mac'`) to prevent false-positive matches
|
|
42
|
+
- Linux aliases cover major distros (`ubuntu`, `debian`, `centos`, `fedora`, `arch`, etc.)
|
|
43
|
+
- Icons are pulled from the internal `icons-v2-generated` brand logo set
|
package/src/types/.platform.md
CHANGED
|
@@ -1,39 +1,42 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: a990391bb43e6e44b547ca32debddb41 -->
|
|
2
|
+
Defines unified platform types used across announcements, blog posts, and platform configuration throughout the Flamingo/OpenFrame stack.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `PlatformName` | `type` | Union of all valid platform identifiers (e.g. `'flamingo'`, `'openframe'`, `'openmsp'`) |
|
|
9
|
+
| `PlatformRecord` | `interface` | Full database model from the `platforms` table, including chat/RAG wiring fields |
|
|
10
|
+
| `PlatformConfig` | `interface` | API-facing configuration shape with display metadata (color, icon, description) |
|
|
11
|
+
| `PlatformOption` | `interface` | Minimal `value`/`label` pair for dropdowns and filter UIs |
|
|
12
|
+
| `PlatformFilter` | `type` | Extends `PlatformName` with an `'all'` wildcard for filter contexts |
|
|
13
|
+
| `LegacyPlatform` | `type` | Backward-compatible alias scoped to the original three platforms |
|
|
14
|
+
| `PlatformStats` | `interface` | Aggregate counts of announcements and blog posts per platform |
|
|
11
15
|
|
|
12
16
|
## Usage Example
|
|
13
17
|
|
|
14
18
|
```typescript
|
|
15
|
-
import { PlatformName, PlatformRecord,
|
|
19
|
+
import type { PlatformName, PlatformRecord, PlatformFilter } from './platform';
|
|
16
20
|
|
|
17
|
-
//
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
// Type-safe platform reference
|
|
22
|
+
const platform: PlatformName = 'openframe';
|
|
23
|
+
|
|
24
|
+
// Filter selection (includes 'all' wildcard)
|
|
25
|
+
const filter: PlatformFilter = 'all';
|
|
26
|
+
|
|
27
|
+
// Working with a database record
|
|
28
|
+
const record: PlatformRecord = {
|
|
29
|
+
id: 'uuid-123',
|
|
22
30
|
name: 'flamingo',
|
|
23
|
-
display_name: 'Flamingo
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
display_name: 'Flamingo',
|
|
32
|
+
is_active: true,
|
|
33
|
+
is_internal: false,
|
|
34
|
+
chat_source_id: 'src-abc',
|
|
35
|
+
chat_source_rag_tables_version: 3,
|
|
36
|
+
chat_enabled: true,
|
|
37
|
+
created_at: '2024-01-01T00:00:00Z',
|
|
38
|
+
updated_at: '2024-01-01T00:00:00Z',
|
|
27
39
|
};
|
|
40
|
+
```
|
|
28
41
|
|
|
29
|
-
|
|
30
|
-
function filterByPlatform(platform: PlatformName) {
|
|
31
|
-
// Implementation for filtering announcements/blog posts
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Create dropdown options
|
|
35
|
-
const platformOptions: PlatformOption[] = [
|
|
36
|
-
{ value: 'openmsp', label: 'OpenMSP' },
|
|
37
|
-
{ value: 'flamingo', label: 'Flamingo Platform' }
|
|
38
|
-
];
|
|
39
|
-
```
|
|
42
|
+
> `chat_source_rag_tables_version` is bumped by the `replace_chat_source_rag_tables` RPC and drives cross-Lambda cache invalidation — do not modify this field manually.
|
|
@@ -1,55 +1,82 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
TypeScript
|
|
1
|
+
<!-- source-hash: 5a845a31a46ea7c6d1945d44c5a712fa -->
|
|
2
|
+
Defines the complete TypeScript type system for the Flamingo product release module, including data shapes for releases, changelog entries, media assets, and external integrations (GitHub, ClickUp, Knowledge Base).
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
### Core Interfaces
|
|
7
|
+
|
|
8
|
+
| Interface | Purpose |
|
|
9
|
+
|-----------|---------|
|
|
10
|
+
| `ProductRelease` | Primary entity — full release record with video, SEO, AI, analytics, and relation fields |
|
|
11
|
+
| `ChangelogEntry` | Single changelog item with optional per-entry `visibility` (supports investor update use case) |
|
|
12
|
+
| `ReleaseMedia` | Attached media assets (`image`, `video`, `screenshot`, `demo`) |
|
|
13
|
+
| `CreateProductReleaseData` | Input shape for creating a new release |
|
|
14
|
+
| `UpdateProductReleaseData` | Partial version of create data for updates |
|
|
15
|
+
| `ProductReleaseFilters` | Query filter bag for list endpoints (pagination, tags, type, status, search) |
|
|
16
|
+
| `ProductReleaseListResponse` | Paginated list response wrapper |
|
|
17
|
+
|
|
18
|
+
### External Link Interfaces
|
|
19
|
+
|
|
20
|
+
| Interface | Links To |
|
|
21
|
+
|-----------|---------|
|
|
22
|
+
| `ProductReleaseGitHubLink` | GitHub release URLs |
|
|
23
|
+
| `KnowledgeBaseLink` | Internal KB article paths |
|
|
24
|
+
| `ClickUpRoadmapTask` | ClickUp roadmap task IDs |
|
|
25
|
+
| `ClickUpDeliveryTask` | ClickUp delivery list task IDs |
|
|
26
|
+
| `GitHubRelease` | GitHub API release shape (wizard import) |
|
|
27
|
+
|
|
28
|
+
### Constants & Utilities
|
|
29
|
+
|
|
30
|
+
- `releaseTypeOptions` — dropdown metadata for `major`, `minor`, `patch`, `beta`, `alpha`
|
|
31
|
+
- `releaseStatusOptions` — dropdown metadata for `alpha`, `beta`, `stable`, `deprecated`
|
|
32
|
+
- `changelogLabels` — human-readable labels for changelog categories
|
|
33
|
+
- `SEMVER_REGEX` — validates semantic versioning strings including pre-release and build metadata
|
|
13
34
|
|
|
14
35
|
## Usage Example
|
|
15
36
|
|
|
16
37
|
```typescript
|
|
17
|
-
import {
|
|
18
|
-
ProductRelease,
|
|
19
|
-
CreateProductReleaseData,
|
|
20
|
-
|
|
21
|
-
|
|
38
|
+
import type {
|
|
39
|
+
ProductRelease,
|
|
40
|
+
CreateProductReleaseData,
|
|
41
|
+
ProductReleaseFilters,
|
|
42
|
+
ChangelogEntry,
|
|
22
43
|
} from './product-release'
|
|
44
|
+
import { releaseTypeOptions, SEMVER_REGEX } from './product-release'
|
|
23
45
|
|
|
24
|
-
//
|
|
46
|
+
// Validate version before submission
|
|
47
|
+
const version = '2.1.0-beta.1'
|
|
48
|
+
if (!SEMVER_REGEX.test(version)) {
|
|
49
|
+
throw new Error(`Invalid semver: ${version}`)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Build a new release payload
|
|
25
53
|
const newRelease: CreateProductReleaseData = {
|
|
26
|
-
title:
|
|
27
|
-
slug:
|
|
28
|
-
version
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
54
|
+
title: 'OpenFrame 2.1 Beta',
|
|
55
|
+
slug: 'openframe-2-1-beta',
|
|
56
|
+
version,
|
|
57
|
+
release_type: 'beta',
|
|
58
|
+
release_status: 'beta',
|
|
59
|
+
release_date: '2025-07-01',
|
|
60
|
+
status: 'draft',
|
|
61
|
+
author_id: 'user-uuid',
|
|
62
|
+
platforms: ['platform-uuid-1'],
|
|
63
|
+
tags: [1, 4],
|
|
33
64
|
features_added: [
|
|
34
|
-
{ title:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{ title: "Memory leak in connection pool" }
|
|
38
|
-
],
|
|
39
|
-
platforms: ["platform-uuid"],
|
|
40
|
-
tags: [1, 2, 3],
|
|
41
|
-
status: "published",
|
|
42
|
-
author_id: "user-123"
|
|
65
|
+
{ title: 'Mingo AI ticket routing', visibility: 'public' },
|
|
66
|
+
{ title: 'Internal billing dashboard', visibility: 'internal' },
|
|
67
|
+
] satisfies ChangelogEntry[],
|
|
43
68
|
}
|
|
44
69
|
|
|
45
|
-
//
|
|
46
|
-
const isValidVersion = SEMVER_REGEX.test("2.1.0") // true
|
|
47
|
-
|
|
48
|
-
// Filter releases
|
|
70
|
+
// Filter releases for a public changelog page
|
|
49
71
|
const filters: ProductReleaseFilters = {
|
|
50
|
-
|
|
51
|
-
release_type: ["major", "minor"],
|
|
72
|
+
release_status: ['stable', 'beta'],
|
|
52
73
|
has_breaking_changes: false,
|
|
53
|
-
|
|
74
|
+
status: 'published',
|
|
75
|
+
limit: 20,
|
|
76
|
+
offset: 0,
|
|
54
77
|
}
|
|
78
|
+
|
|
79
|
+
// Access dropdown labels for a form
|
|
80
|
+
const typeLabel = releaseTypeOptions.find(o => o.value === 'beta')?.label
|
|
81
|
+
// → 'Beta Release'
|
|
55
82
|
```
|
package/src/types/.supabase.md
CHANGED
|
@@ -1,44 +1,52 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: e5e5528221514a1a868f47ffbc324b0c -->
|
|
2
|
+
Auto-generated type definitions for the Flamingo/OpenFrame Supabase database schema, providing fully-typed `Row`, `Insert`, and `Update` interfaces for all public tables along with their foreign key relationships.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- **`Tables<T>`** - Generic utility type for extracting row types from any table
|
|
9
|
-
- **`TablesInsert<T>`** - Generic utility type for insert operations with optional fields
|
|
10
|
-
- **`TablesUpdate<T>`** - Generic utility type for update operations with all optional fields
|
|
6
|
+
### `Json` Type
|
|
7
|
+
A recursive union type representing any valid JSON value — `string`, `number`, `boolean`, `null`, nested objects, or arrays.
|
|
11
8
|
|
|
12
|
-
### Database
|
|
9
|
+
### `Database` Type
|
|
10
|
+
The root type exported for use with the Supabase client. Contains a `public` schema with the following tables:
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
| Table | Description |
|
|
13
|
+
|---|---|
|
|
14
|
+
| `announcement_assets` | File attachments (images, docs) linked to announcements |
|
|
15
|
+
| `announcements` | Platform announcements with icon, color, and active state |
|
|
16
|
+
| `slack_channels` | Synced Slack workspace channels |
|
|
17
|
+
| `slack_messages` | Slack messages with threading and reply support |
|
|
18
|
+
| `slack_users` | Slack workspace user profiles |
|
|
19
|
+
| `podcast_episodes` | Podbean podcast episodes linked to platforms |
|
|
20
|
+
| `webinars` | Livestorm webinar events linked to platforms |
|
|
21
|
+
|
|
22
|
+
Each table exposes three operation shapes:
|
|
23
|
+
- **`Row`** — full record shape returned by `SELECT`
|
|
24
|
+
- **`Insert`** — shape for `INSERT` (required fields enforced, optional fields use `?`)
|
|
25
|
+
- **`Update`** — shape for `UPDATE` (all fields optional)
|
|
19
26
|
|
|
20
27
|
## Usage Example
|
|
21
28
|
|
|
22
29
|
```typescript
|
|
23
|
-
import { Database, Tables, TablesInsert } from './supabase'
|
|
24
30
|
import { createClient } from '@supabase/supabase-js'
|
|
31
|
+
import type { Database } from './supabase'
|
|
25
32
|
|
|
26
|
-
const supabase = createClient<Database>(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
type SlackMessage = Tables<'slack_messages'>
|
|
33
|
+
const supabase = createClient<Database>(
|
|
34
|
+
process.env.SUPABASE_URL!,
|
|
35
|
+
process.env.SUPABASE_ANON_KEY!
|
|
36
|
+
)
|
|
31
37
|
|
|
32
|
-
//
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
+
// Fully typed query — row shape inferred automatically
|
|
39
|
+
const { data: episodes } = await supabase
|
|
40
|
+
.from('podcast_episodes')
|
|
41
|
+
.select('id, title, audio_url, published_at')
|
|
42
|
+
.eq('platform_id', 'abc-123')
|
|
38
43
|
|
|
39
|
-
//
|
|
40
|
-
const {
|
|
44
|
+
// Typed insert
|
|
45
|
+
const { error } = await supabase
|
|
41
46
|
.from('announcements')
|
|
42
|
-
.insert(
|
|
43
|
-
|
|
47
|
+
.insert({
|
|
48
|
+
title: 'New Feature',
|
|
49
|
+
description: 'Check out what is new!',
|
|
50
|
+
platform_id: 'abc-123',
|
|
51
|
+
})
|
|
44
52
|
```
|
package/src/types/.team.md
CHANGED
|
@@ -1,46 +1,54 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Defines TypeScript interfaces for team
|
|
1
|
+
<!-- source-hash: d36360a6eca29b3fb1beb45b84046f49 -->
|
|
2
|
+
Defines TypeScript interfaces for team roster data structures, supporting organized display of team members grouped by department sections.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
| Interface | Description |
|
|
7
|
+
|-----------|-------------|
|
|
8
|
+
| `TeamMember` | Full profile of an individual employee including personal info, employment details, skills, and social links |
|
|
9
|
+
| `TeamSection` | Groups team members by department with a title and description |
|
|
10
|
+
| `TeamData` | Top-level container holding an optional founder and an array of department sections |
|
|
11
|
+
| `GetTeamOptions` | Query options for filtering team data by active status or department |
|
|
10
12
|
|
|
11
13
|
## Usage Example
|
|
12
14
|
|
|
13
15
|
```typescript
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
import type { TeamData, TeamMember, GetTeamOptions } from './team';
|
|
17
|
+
|
|
18
|
+
const options: GetTeamOptions = {
|
|
19
|
+
includeInactive: false,
|
|
20
|
+
department: 'Engineering',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const member: TeamMember = {
|
|
24
|
+
id: 'usr_01',
|
|
25
|
+
employee_id: 'EMP-001',
|
|
26
|
+
first_name: 'Jane',
|
|
27
|
+
last_name: 'Doe',
|
|
28
|
+
employment_status: 'active',
|
|
24
29
|
is_public: true,
|
|
25
|
-
is_manager:
|
|
26
|
-
created_at:
|
|
27
|
-
updated_at:
|
|
30
|
+
is_manager: true,
|
|
31
|
+
created_at: '2024-01-01T00:00:00Z',
|
|
32
|
+
updated_at: '2024-06-01T00:00:00Z',
|
|
33
|
+
skills: ['TypeScript', 'Node.js'],
|
|
34
|
+
social_links: { linkedin: 'https://linkedin.com/in/janedoe' },
|
|
28
35
|
};
|
|
29
36
|
|
|
30
|
-
// Organizing team data
|
|
31
37
|
const teamData: TeamData = {
|
|
32
|
-
founder:
|
|
33
|
-
sections: [
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
founder: member,
|
|
39
|
+
sections: [
|
|
40
|
+
{
|
|
41
|
+
title: 'Engineering',
|
|
42
|
+
department: 'engineering',
|
|
43
|
+
description: 'Builds and maintains the platform',
|
|
44
|
+
members: [member],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
39
47
|
};
|
|
48
|
+
```
|
|
40
49
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```
|
|
50
|
+
## Notes
|
|
51
|
+
|
|
52
|
+
- `full_name` is optional and may be derived from `first_name` + `last_name`
|
|
53
|
+
- `work_email` and `email` are both optional to support personal vs. corporate email separation
|
|
54
|
+
- `social_links` uses a flexible `Record<string, string>` map to accommodate any platform
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!-- source-hash: d2e79259f53d9d688fe3d007c1eb382a -->
|
|
2
|
+
Shared type definitions for video processing functionality used across multiple entities (CustomerInterview, ProductRelease, and other video-enabled features).
|
|
3
|
+
|
|
4
|
+
## Key Components
|
|
5
|
+
|
|
6
|
+
| Export | Type | Description |
|
|
7
|
+
|--------|------|-------------|
|
|
8
|
+
| `VideoTeaser` | Interface | Short video clip for previews; tracks URL, thumbnail, visibility, and origin (`manual` \| `ai_generated`) |
|
|
9
|
+
| `Speaker` | Interface | Speaker identification metadata from transcription |
|
|
10
|
+
| `VideoClip` | Interface | AI-identified video segment with time range, confidence, and optional Twelve Labs ID |
|
|
11
|
+
| `TranscriptWord` | Interface | Word-level transcript entry with millisecond timestamps and speaker attribution |
|
|
12
|
+
| `SpeakerMapping` | Interface | Maps AssemblyAI speaker labels (e.g., `"A"`, `"B"`) to names and roles |
|
|
13
|
+
| `ExcludedRange` | Interface | Time range exclusion (e.g., incentive mentions) in seconds |
|
|
14
|
+
| `VideoProcessingFields` | Interface | Base fields shared across all video-enabled entities (transcript, highlight video, thumbnails, AI confidence scores) |
|
|
15
|
+
| `VideoProcessingEntityType` | Union Type | Supported entity types for agent processing pipelines |
|
|
16
|
+
|
|
17
|
+
## Usage Example
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import type {
|
|
21
|
+
VideoProcessingFields,
|
|
22
|
+
SpeakerMapping,
|
|
23
|
+
VideoTeaser,
|
|
24
|
+
VideoProcessingEntityType
|
|
25
|
+
} from './video-processing'
|
|
26
|
+
|
|
27
|
+
const speakerMapping: SpeakerMapping = {
|
|
28
|
+
A: { name: 'Jane Smith', role: 'interviewer' },
|
|
29
|
+
B: { name: 'John Doe', role: 'interviewee', userId: 'usr_123' },
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const videoFields: VideoProcessingFields = {
|
|
33
|
+
main_video_url: 'https://cdn.example.com/interviews/abc.mp4',
|
|
34
|
+
transcript: 'Full transcript text...',
|
|
35
|
+
transcript_words_data: [
|
|
36
|
+
{ text: 'Hello', start: 0, end: 450, confidence: 0.98, speaker: 'A' },
|
|
37
|
+
],
|
|
38
|
+
speaker_mapping: speakerMapping,
|
|
39
|
+
ai_confidence_transcript: 0.95,
|
|
40
|
+
ai_confidence_summary: 0.88,
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const teaser: VideoTeaser = {
|
|
44
|
+
url: 'https://cdn.example.com/teasers/clip1.mp4',
|
|
45
|
+
title: 'Key insight on onboarding',
|
|
46
|
+
published: true,
|
|
47
|
+
source: 'ai_generated',
|
|
48
|
+
created_at: new Date().toISOString(),
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const entityType: VideoProcessingEntityType = 'customer_interview'
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
> **Note:** `VideoProcessingFields` is intended as a base — extend it per entity rather than using it directly. `published` on `VideoTeaser` defaults to `false`; an admin must explicitly set it to `true` for public visibility.
|