@flamingo-stack/openframe-frontend-core 0.0.481 → 0.0.482
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-H6DFCF44.cjs → chunk-22AED5IC.cjs} +82 -82
- package/dist/{chunk-H6DFCF44.cjs.map → chunk-22AED5IC.cjs.map} +1 -1
- package/dist/{chunk-MGKCS6KS.js → chunk-3WCARCI4.js} +2 -2
- package/dist/{chunk-LNKWY74S.cjs → chunk-4HL6UENH.cjs} +5 -5
- package/dist/{chunk-LNKWY74S.cjs.map → chunk-4HL6UENH.cjs.map} +1 -1
- package/dist/{chunk-Y3Y2DLNO.js → chunk-6UGYBCEN.js} +3 -3
- package/dist/{chunk-BBUEY73L.js → chunk-7I5B5PQ4.js} +6269 -5339
- package/dist/chunk-7I5B5PQ4.js.map +1 -0
- package/dist/{chunk-PSPWT2Q5.js → chunk-7LWXWXEY.js} +4 -4
- package/dist/{chunk-M7O74OWG.cjs → chunk-ACOU5YJI.cjs} +31 -31
- package/dist/{chunk-M7O74OWG.cjs.map → chunk-ACOU5YJI.cjs.map} +1 -1
- package/dist/{chunk-INDFIVDV.cjs → chunk-AHGSN4AT.cjs} +12 -12
- package/dist/{chunk-INDFIVDV.cjs.map → chunk-AHGSN4AT.cjs.map} +1 -1
- package/dist/{chunk-VTSRDC4W.js → chunk-CKC3EAYT.js} +2 -2
- package/dist/{chunk-SASR7SK5.js → chunk-GZK7FWJJ.js} +20 -4
- package/dist/chunk-GZK7FWJJ.js.map +1 -0
- package/dist/{chunk-ZRANZNEA.js → chunk-JJE5TUZK.js} +2 -2
- package/dist/{chunk-66BNAFO6.js → chunk-JQIUBFHL.js} +4 -4
- package/dist/{chunk-MMCBQJKE.cjs → chunk-KUBJHB6I.cjs} +11 -11
- package/dist/{chunk-MMCBQJKE.cjs.map → chunk-KUBJHB6I.cjs.map} +1 -1
- package/dist/{chunk-ZV6E3U3C.cjs → chunk-MRGTMMJ3.cjs} +30 -30
- package/dist/{chunk-ZV6E3U3C.cjs.map → chunk-MRGTMMJ3.cjs.map} +1 -1
- package/dist/{chunk-OZJN54R5.cjs → chunk-NWVKG7QC.cjs} +37 -37
- package/dist/{chunk-OZJN54R5.cjs.map → chunk-NWVKG7QC.cjs.map} +1 -1
- package/dist/{chunk-AN47EIIJ.cjs → chunk-PHTSSHIQ.cjs} +59 -59
- package/dist/{chunk-AN47EIIJ.cjs.map → chunk-PHTSSHIQ.cjs.map} +1 -1
- package/dist/{chunk-N2JZ33V7.cjs → chunk-RUA3OXSJ.cjs} +26 -26
- package/dist/{chunk-N2JZ33V7.cjs.map → chunk-RUA3OXSJ.cjs.map} +1 -1
- package/dist/{chunk-LK623WCC.cjs → chunk-RZPF7MJ2.cjs} +9 -9
- package/dist/{chunk-LK623WCC.cjs.map → chunk-RZPF7MJ2.cjs.map} +1 -1
- package/dist/{chunk-G3UN2DXU.cjs → chunk-STYA77PH.cjs} +20 -4
- package/dist/chunk-STYA77PH.cjs.map +1 -0
- package/dist/{chunk-JUJY3HQS.cjs → chunk-U37UTLP7.cjs} +19 -19
- package/dist/{chunk-JUJY3HQS.cjs.map → chunk-U37UTLP7.cjs.map} +1 -1
- package/dist/{chunk-2DIOV7BR.js → chunk-UPN6EFOM.js} +4 -4
- package/dist/{chunk-OWMLWJQY.cjs → chunk-VPVOJD5X.cjs} +2432 -1502
- package/dist/chunk-VPVOJD5X.cjs.map +1 -0
- package/dist/{chunk-4SMRQ4SN.js → chunk-WBL5Y4PS.js} +3 -3
- package/dist/{chunk-FP4H6Y5O.js → chunk-WPYPSIY2.js} +3 -3
- package/dist/{chunk-R5WJJL4V.js → chunk-X5X43HFV.js} +5 -5
- package/dist/{chunk-DEHZ5CTC.js → chunk-XTWKDMCG.js} +2 -2
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +4 -4
- package/dist/components/faq/index.js +3 -3
- package/dist/components/features/captions-url.cjs +12 -0
- package/dist/components/features/captions-url.cjs.map +1 -0
- package/dist/components/features/captions-url.js +10 -0
- package/dist/components/features/captions-url.js.map +1 -0
- package/dist/components/features/card-hit-layer.d.ts +40 -0
- package/dist/components/features/card-hit-layer.d.ts.map +1 -0
- package/dist/components/features/floating-walkthrough-video.d.ts +71 -0
- package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/index.cjs +11 -3
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.d.ts +4 -0
- package/dist/components/features/index.d.ts.map +1 -1
- package/dist/components/features/index.js +12 -4
- package/dist/components/features/use-walkthrough-video.d.ts +16 -0
- package/dist/components/features/use-walkthrough-video.d.ts.map +1 -0
- package/dist/components/features/video-bites-strip.d.ts.map +1 -1
- package/dist/components/features/video-center-badge.d.ts.map +1 -1
- package/dist/components/features/video-hover-preview.d.ts +68 -0
- package/dist/components/features/video-hover-preview.d.ts.map +1 -0
- package/dist/components/features/video.d.ts +78 -40
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/form.d.ts +0 -1
- package/dist/components/form.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +21 -21
- package/dist/components/help-center-pages/index.js +12 -12
- package/dist/components/index.cjs +163 -155
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.js +18 -10
- package/dist/components/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +6 -6
- package/dist/components/onboarding-guides/index.js +5 -5
- package/dist/components/related-content/index.cjs +4 -4
- package/dist/components/related-content/index.js +3 -3
- package/dist/components/tickets/index.cjs +6 -6
- package/dist/components/tickets/index.js +5 -5
- package/dist/components/ui/button/button-styles.d.ts +2 -0
- package/dist/components/ui/button/button-styles.d.ts.map +1 -1
- package/dist/components/ui/button/button.d.ts +2 -2
- package/dist/components/ui/button/button.d.ts.map +1 -1
- package/dist/components/ui/file-manager/index.cjs +50 -50
- package/dist/components/ui/file-manager/index.js +1 -1
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/components/ui/page-actions.d.ts +2 -1
- package/dist/components/ui/page-actions.d.ts.map +1 -1
- package/dist/index.cjs +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +28 -4
- package/dist/types/supabase.d.ts +80 -0
- package/dist/types/supabase.d.ts.map +1 -1
- package/dist/types/video-processing.d.ts +1 -1
- package/dist/types/video-processing.d.ts.map +1 -1
- package/dist/utils/announcement-storage.d.ts +1 -1
- package/dist/utils/announcement-storage.d.ts.map +1 -1
- package/dist/utils/dismiss-cookie.d.ts +27 -0
- package/dist/utils/dismiss-cookie.d.ts.map +1 -0
- package/dist/utils/dismissal-storage.d.ts +19 -0
- package/dist/utils/dismissal-storage.d.ts.map +1 -0
- package/dist/utils/index.cjs +48 -10
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +41 -11
- package/dist/utils/index.js.map +1 -1
- package/package.json +8 -2
- package/src/.index.md +39 -32
- package/src/.platform-domains.md +65 -0
- package/src/assets/.fae-avatar.md +33 -0
- package/src/assets/.index.md +15 -9
- package/src/components/.agent-mark.md +31 -0
- package/src/components/.announcement-bar.md +47 -35
- package/src/components/.calendar.md +19 -15
- package/src/components/.categories-cart.md +34 -30
- package/src/components/.category-card.md +33 -33
- package/src/components/.chart.md +38 -40
- package/src/components/.command.md +47 -23
- package/src/components/.comment-card.md +31 -26
- package/src/components/.content-loading-container.md +45 -20
- package/src/components/.context-menu.md +45 -31
- package/src/components/.date-time-picker.md +36 -30
- package/src/components/.empty-state.md +31 -31
- package/src/components/.faq-accordion.md +20 -30
- package/src/components/.filter-chip.md +36 -33
- package/src/components/.footer-waitlist-button.md +27 -21
- package/src/components/.footer.md +39 -24
- package/src/components/.form.md +32 -20
- package/src/components/.hero-image-uploader.md +35 -31
- package/src/components/.icon-display.md +53 -0
- package/src/components/.image-cropper.md +34 -33
- package/src/components/.index.md +25 -29
- package/src/components/.logs-list.md +27 -23
- package/src/components/.media-carousel.md +47 -26
- package/src/components/.metric-value.md +27 -24
- package/src/components/.msp-display.md +29 -23
- package/src/components/.open-source-features.md +23 -26
- package/src/components/.pagination.md +44 -39
- package/src/components/.persistent-filter-controls.md +61 -28
- package/src/components/.pricing-display.md +34 -33
- package/src/components/.results-count.md +33 -20
- package/src/components/.smooth-accordion.md +24 -20
- package/src/components/.social-icon-row.md +33 -21
- package/src/components/.sonner.md +40 -25
- package/src/components/.steps.md +39 -25
- package/src/components/.tool-icon.md +34 -21
- package/src/components/.unified-filter-logic.md +32 -36
- package/src/components/.user-display.md +33 -28
- package/src/components/.user-summary-stub.md +40 -33
- package/src/components/.vendor-display-button.md +17 -15
- package/src/components/.vendor-icon.md +17 -25
- package/src/components/.vendor-tag.md +39 -34
- package/src/components/.why-it-matters.md +15 -11
- package/src/components/.yes-no-display.md +36 -31
- package/src/components/authors/.author-detail-view.md +50 -0
- package/src/components/case-studies/.index.md +26 -0
- package/src/components/case-studies/.share-experience-section.md +45 -0
- package/src/components/chat/.approval-batch-message.md +48 -33
- package/src/components/chat/.approval-request-message.md +37 -26
- package/src/components/chat/.chat-archive-page.md +56 -0
- package/src/components/chat/.chat-attachment-bar.md +32 -40
- package/src/components/chat/.chat-composer.md +43 -0
- package/src/components/chat/.chat-container.md +41 -25
- package/src/components/chat/.chat-context-memory-bar.md +53 -0
- package/src/components/chat/.chat-context-picker.md +89 -0
- package/src/components/chat/.chat-header-icon-button.md +43 -0
- package/src/components/chat/.chat-header-search-field.md +51 -0
- package/src/components/chat/.chat-input.md +63 -30
- package/src/components/chat/.chat-list-empty-state.md +44 -0
- package/src/components/chat/.chat-message-enhanced.md +29 -31
- package/src/components/chat/.chat-message-list.md +34 -44
- package/src/components/chat/.chat-message-row.md +56 -0
- package/src/components/chat/.chat-message-skeleton.md +32 -26
- package/src/components/chat/.chat-panel-header-mobile.md +46 -0
- package/src/components/chat/.chat-panel-header.md +80 -0
- package/src/components/chat/.chat-sidebar-skeleton.md +31 -30
- package/src/components/chat/.chat-sidebar.md +36 -29
- package/src/components/chat/.chat-ticket-list.md +38 -23
- package/src/components/chat/.chat-typing-indicator.md +37 -19
- package/src/components/chat/.context-compaction-display.md +19 -15
- package/src/components/chat/.context-items-list.md +57 -0
- package/src/components/chat/.embeddable-chat.md +57 -66
- package/src/components/chat/.error-message-display.md +40 -22
- package/src/components/chat/.guide-mode-banner.md +41 -0
- package/src/components/chat/.guide-welcome.md +43 -0
- package/src/components/chat/.index.md +26 -21
- package/src/components/chat/.mingo-chat-history.md +63 -0
- package/src/components/chat/.mingo-chat-modals.md +44 -0
- package/src/components/chat/.mingo-history-rail.md +63 -0
- package/src/components/chat/.mingo-info-card.md +59 -0
- package/src/components/chat/.mingo-onboarding-card.md +21 -27
- package/src/components/chat/.mingo-welcome.md +60 -0
- package/src/components/chat/.model-display.md +33 -25
- package/src/components/chat/.msp-organization-card-skeleton.md +44 -0
- package/src/components/chat/.msp-organization-card.md +51 -0
- package/src/components/chat/.nav-link-anchor-via-runtime.md +36 -25
- package/src/components/chat/.quick-action-chip.md +60 -0
- package/src/components/chat/.quick-action-marquee.md +53 -0
- package/src/components/chat/.quick-action-wall.md +68 -0
- package/src/components/chat/.remark-mention-chips.md +41 -0
- package/src/components/chat/.slash-command-suggestions.md +30 -36
- package/src/components/chat/.source-action-button.md +28 -25
- package/src/components/chat/.tool-call-blocks.md +18 -30
- package/src/components/chat/.tool-execution-display.md +29 -34
- package/src/components/chat/entity-cards/.admin-content-card.md +29 -22
- package/src/components/chat/entity-cards/.blog-card.md +44 -33
- package/src/components/chat/entity-cards/.blog-image-placeholder.md +20 -18
- package/src/components/chat/entity-cards/.case-study-card.md +24 -33
- package/src/components/chat/entity-cards/.chat-ticket-item.md +39 -22
- package/src/components/chat/entity-cards/.customer-interview-card.md +29 -32
- package/src/components/chat/entity-cards/.data-room-doc-card.md +21 -22
- package/src/components/chat/entity-cards/.dispatch.md +41 -24
- package/src/components/chat/entity-cards/.entity-author-card.md +36 -33
- package/src/components/chat/entity-cards/.entity-portrait-card.md +47 -0
- package/src/components/chat/entity-cards/.generic-entity-card.md +26 -25
- package/src/components/chat/entity-cards/.github-activity-card.md +35 -41
- package/src/components/chat/entity-cards/.hubspot-ticket-card.md +22 -28
- package/src/components/chat/entity-cards/.index.md +33 -44
- package/src/components/chat/entity-cards/.investor-update-card.md +36 -25
- package/src/components/chat/entity-cards/.onboarding-guide-card.md +20 -29
- package/src/components/chat/entity-cards/.product-release-card-defaults.md +26 -19
- package/src/components/chat/entity-cards/.program-card.md +30 -33
- package/src/components/chat/entity-cards/.roadmap-card.md +40 -31
- package/src/components/chat/entity-cards/.roadmap-vote-button.md +33 -36
- package/src/components/chat/entity-cards/.slack-message-card.md +31 -32
- package/src/components/chat/entity-cards/.use-cover-image-fallback.md +47 -0
- package/src/components/chat/entity-cards/.use-entity-card-link.md +51 -0
- package/src/components/chat/entity-cards/.use-entity-card-placeholder.md +47 -0
- package/src/components/chat/entity-cards/.what-i-shipped-card.md +43 -0
- package/src/components/chat/hooks/.index.md +33 -30
- package/src/components/chat/hooks/.use-chat-card-item.md +30 -17
- package/src/components/chat/hooks/.use-chat-dialog-manager.md +59 -0
- package/src/components/chat/hooks/.use-chat-identity.md +37 -25
- package/src/components/chat/hooks/.use-chunk-catchup.md +53 -36
- package/src/components/chat/hooks/.use-empty-state-config.md +39 -0
- package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +65 -30
- package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
- package/src/components/chat/hooks/.use-nats-dialog-subscription.md +66 -50
- package/src/components/chat/hooks/.use-realtime-chunk-processor.md +58 -31
- package/src/components/chat/hooks/.use-scripted-stream.md +46 -0
- package/src/components/chat/hooks/.use-slash-commands.md +32 -25
- package/src/components/chat/hooks/.use-sse-chat-adapter.md +32 -21
- package/src/components/chat/hooks/.use-unified-chat.md +45 -35
- package/src/components/chat/types/.api.types.md +49 -41
- package/src/components/chat/types/.chat.types.md +56 -34
- package/src/components/chat/types/.component.types.md +36 -36
- package/src/components/chat/types/.context-item.types.md +61 -0
- package/src/components/chat/types/.index.md +32 -17
- package/src/components/chat/types/.message.types.md +44 -45
- package/src/components/chat/types/.network.types.md +46 -46
- package/src/components/chat/types/.processing.types.md +49 -37
- package/src/components/chat/types/.unified-chat-state.types.md +41 -26
- package/src/components/chat/types/entities/.content-ref.md +20 -31
- package/src/components/chat/types/entities/.investor-update.md +14 -16
- package/src/components/chat/types/entities/.onboarding-guide.md +35 -34
- package/src/components/chat/types/entities/.program-types.md +55 -43
- package/src/components/chat/utils/.chip-action-class.md +17 -19
- package/src/components/chat/utils/.chip-styles.md +18 -18
- package/src/components/chat/utils/.chunk-parser.md +48 -37
- package/src/components/chat/utils/.compact-card-classes.md +33 -35
- package/src/components/chat/utils/.execute-navigation.md +49 -0
- package/src/components/chat/utils/.extract-incomplete-message-state.md +9 -12
- package/src/components/chat/utils/.history-merge.md +65 -0
- package/src/components/chat/utils/.icon-library.md +33 -31
- package/src/components/chat/utils/.icon-registry.md +44 -0
- package/src/components/chat/utils/.index.md +37 -33
- package/src/components/chat/utils/.is-cross-origin-url.md +26 -22
- package/src/components/chat/utils/.message-segment-accumulator.md +46 -25
- package/src/components/chat/utils/.nav-anchor-props.md +29 -34
- package/src/components/chat/utils/.nav-click-handler.md +29 -33
- package/src/components/chat/utils/.process-historical-messages.md +29 -33
- package/src/components/chat/utils/.scripted-stream.md +52 -0
- package/src/components/chat/utils/.source-row-cta.md +32 -31
- package/src/components/chat/utils/.tool-call-helpers.md +25 -17
- package/src/components/contact/.contact-form.md +24 -19
- package/src/components/docs/.doc-navigation-context.md +49 -0
- package/src/components/docs/.doc-viewer.md +64 -0
- package/src/components/docs/.docs-hub-page.md +49 -0
- package/src/components/docs/.index.md +51 -0
- package/src/components/docs/.skeletons.md +47 -0
- package/src/components/docs/.use-docs-resolve-link.md +61 -0
- package/src/components/docs/.use-document-tree.md +83 -0
- package/src/components/docs/.use-scroll-spy.md +58 -0
- package/src/components/embeds/.embed-container.md +45 -0
- package/src/components/embeds/.embed-iframe.md +51 -0
- package/src/components/embeds/.figma-embed.md +43 -0
- package/src/components/embeds/.file-download-card.md +47 -0
- package/src/components/embeds/.google-sheets-viewer.md +40 -0
- package/src/components/embeds/.index.md +58 -0
- package/src/components/embeds/.linkedin-embed-client.md +50 -0
- package/src/components/embeds/.markdown-image.md +40 -0
- package/src/components/embeds/.og-link-preview.md +54 -0
- package/src/components/embeds/.pdf-viewer.md +43 -0
- package/src/components/embeds/.reddit-embed-client.md +40 -0
- package/src/components/embeds/.rich-markdown-runtime.md +53 -0
- package/src/components/embeds/.twitter-embed-client.md +44 -0
- package/src/components/faq/.faq-document-page.md +68 -0
- package/src/components/faq/.faq-section.md +55 -0
- package/src/components/faq/.index.md +29 -0
- package/src/components/faq/.json-ld.md +48 -0
- package/src/components/features/.array-entry-manager.md +32 -24
- package/src/components/features/.auth-providers-list.md +33 -32
- package/src/components/features/.captions-url.md +43 -0
- package/src/components/features/.cards-strip.md +48 -0
- package/src/components/features/.changelog-manager.md +17 -20
- package/src/components/features/.command-box.md +11 -16
- package/src/components/features/.entity-summary-editor.md +20 -15
- package/src/components/features/.entity-tag-badges.md +43 -0
- package/src/components/features/.entity-video-section.md +31 -41
- package/src/components/features/.figma-prototype-viewer.md +55 -37
- package/src/components/features/.filters-dropdown.md +14 -13
- package/src/components/features/.highlight-config-section.md +19 -16
- package/src/components/features/.highlight-video-combined-section.md +28 -19
- package/src/components/features/.highlight-video-preview.md +13 -11
- package/src/components/features/.highlight-video-section.md +26 -22
- package/src/components/features/.index.md +40 -36
- package/src/components/features/.media-gallery-manager.md +37 -35
- package/src/components/features/.mux-origins.md +46 -0
- package/src/components/features/.og-editor-preview.md +29 -24
- package/src/components/features/.os-type-badge-group.md +26 -18
- package/src/components/features/.os-type-badge.md +41 -24
- package/src/components/features/.paths-display.md +42 -25
- package/src/components/features/.platform-badge.md +26 -17
- package/src/components/features/.policy-configuration-panel.md +33 -31
- package/src/components/features/.provider-button.md +29 -20
- package/src/components/features/.push-button-selector.md +39 -41
- package/src/components/features/.release-media-manager.md +41 -34
- package/src/components/features/.section-selector.md +27 -16
- package/src/components/features/.select-button.md +21 -32
- package/src/components/features/.seo-editor-preview.md +49 -36
- package/src/components/features/.social-links-manager.md +40 -18
- package/src/components/features/.start-with-openframe-button.md +30 -32
- package/src/components/features/.status-filter-component.md +29 -38
- package/src/components/features/.tags-selector.md +25 -29
- package/src/components/features/.transcript-summary-editor.md +24 -18
- package/src/components/features/.use-video-warmup.md +47 -0
- package/src/components/features/.video-bites-display.md +36 -37
- package/src/components/features/.video-bites-shared.md +44 -0
- package/src/components/features/.video-bites-strip.md +63 -0
- package/src/components/features/.video-center-badge.md +38 -0
- package/src/components/features/.video-ratio-tabs.md +38 -31
- package/src/components/features/.video-source-selector.md +24 -27
- package/src/components/features/.video.md +35 -27
- package/src/components/features/.waitlist-form.md +39 -33
- package/src/components/features/.warning-block.md +53 -0
- package/src/components/features/ai-enrich/.AIEnrichSection.md +24 -25
- package/src/components/features/ai-enrich/.AIRequiredBadge.md +22 -21
- package/src/components/features/ai-enrich/.AIStatusIndicator.md +42 -35
- package/src/components/features/ai-enrich/.AIWarningsSection.md +23 -20
- package/src/components/features/ai-enrich/.ConfidenceBadge.md +35 -20
- package/src/components/features/auth/.auth-benefits-panel.md +48 -0
- package/src/components/features/auth/.auth-branding.md +51 -0
- package/src/components/features/auth/.auth-shell.md +51 -0
- package/src/components/features/auth/.back-to-login-link.md +48 -0
- package/src/components/features/auth/.complete-account-form.md +45 -0
- package/src/components/features/auth/.create-organization-form.md +53 -0
- package/src/components/features/auth/.index.md +48 -0
- package/src/components/features/auth/.invite-link-invalid-modal.md +42 -0
- package/src/components/features/auth/.login-form.md +42 -0
- package/src/components/features/auth/.openframe-sso-login-form.md +46 -0
- package/src/components/features/auth/.openframe-sso-signup-form.md +51 -0
- package/src/components/features/auth/.password-reset-form.md +57 -0
- package/src/components/features/auth/.sso-auth-shell.md +35 -0
- package/src/components/features/auth/.sso-providers.md +42 -0
- package/src/components/features/auth/.terms-agreement-label.md +28 -0
- package/src/components/features/board/.board-column-header.md +24 -18
- package/src/components/features/board/.board-column.md +32 -32
- package/src/components/features/board/.board-ticket-approval.md +42 -0
- package/src/components/features/board/.board.md +38 -38
- package/src/components/features/board/.index.md +35 -38
- package/src/components/features/board/.ticket-card.md +33 -36
- package/src/components/features/board/.types.md +38 -31
- package/src/components/features/card-hit-layer.tsx +84 -0
- package/src/components/features/floating-walkthrough-video.tsx +891 -0
- package/src/components/features/index.ts +4 -0
- package/src/components/features/notifications/.approval-request-notification-tile.md +45 -0
- package/src/components/features/notifications/.index.md +35 -31
- package/src/components/features/notifications/.notification-drawer.md +32 -19
- package/src/components/features/notifications/.notification-popups.md +51 -0
- package/src/components/features/notifications/.notification-tile.md +43 -27
- package/src/components/features/notifications/.notifications-context.md +42 -45
- package/src/components/features/notifications/.types.md +51 -31
- package/src/components/features/ticket-status-config-list/.ticket-status-config-list.md +51 -0
- package/src/components/features/time-tracker/.index.md +48 -0
- package/src/components/features/time-tracker/.time-tracker-context.md +55 -0
- package/src/components/features/time-tracker/.time-tracker-header-button.md +51 -0
- package/src/components/features/time-tracker/.time-tracker-panel.md +58 -0
- package/src/components/features/time-tracker/.types.md +51 -0
- package/src/components/features/time-tracker/.use-tracker-clock.md +32 -0
- package/src/components/features/use-walkthrough-video.ts +70 -0
- package/src/components/features/video-bites-strip.tsx +46 -146
- package/src/components/features/video-center-badge.tsx +11 -2
- package/src/components/features/video-hover-preview.tsx +201 -0
- package/src/components/features/video.tsx +368 -73
- package/src/components/help-center-pages/.delivery-page.md +51 -0
- package/src/components/help-center-pages/.index.md +51 -0
- package/src/components/help-center-pages/.onboarding-guides-catalog-page.md +53 -0
- package/src/components/help-center-pages/.product-releases-list-page.md +51 -0
- package/src/components/help-center-pages/.roadmap-page.md +46 -0
- package/src/components/icons/.figma-icon.md +13 -7
- package/src/components/icons/.index.md +26 -22
- package/src/components/icons/.vendor-directory-icon.md +30 -18
- package/src/components/icons/.x-logo.md +26 -10
- package/src/components/icons-v2-generated/.index.md +30 -41
- package/src/components/icons-v2-generated/brand-logos/.index.md +25 -19
- package/src/components/icons-v2-generated/communication/.index.md +26 -30
- package/src/components/icons-v2-generated/logos/.flamingo-logo-icon.md +41 -0
- package/src/components/layout/.article-detail-layout.md +32 -21
- package/src/components/layout/.page-container.md +25 -23
- package/src/components/layout/.page-heading.md +48 -0
- package/src/components/layout/.page-layout.md +30 -25
- package/src/components/layout/.title-block.md +43 -24
- package/src/components/loading/.card-skeleton.md +28 -35
- package/src/components/loading/.category-card-skeleton.md +25 -23
- package/src/components/loading/.device-card-skeleton.md +22 -15
- package/src/components/loading/.margin-report-skeleton.md +30 -35
- package/src/components/loading/.openmsp-heartbeat.md +30 -32
- package/src/components/loading/.organization-card-skeleton.md +22 -25
- package/src/components/loading/.organization-icon-skeleton.md +39 -27
- package/src/components/loading/.page-layout-skeleton.md +50 -28
- package/src/components/loading/.unified-skeleton.md +37 -40
- package/src/components/loading/.users-grid-skeleton.md +19 -38
- package/src/components/navigation/.app-header.md +35 -28
- package/src/components/navigation/.app-layout-context.md +48 -0
- package/src/components/navigation/.app-layout-drawer.md +56 -0
- package/src/components/navigation/.app-layout.md +24 -23
- package/src/components/navigation/.header-mingo-button.md +46 -0
- package/src/components/navigation/.header-organization-filter.md +32 -18
- package/src/components/navigation/.header.md +24 -31
- package/src/components/navigation/.index.md +36 -50
- package/src/components/navigation/.mingo-ai-button.md +41 -0
- package/src/components/navigation/.mobile-burger-menu.md +29 -29
- package/src/components/navigation/.mobile-nav-panel.md +41 -49
- package/src/components/navigation/.multi-level-navigation.md +76 -0
- package/src/components/navigation/.navigation-sidebar-item.md +14 -14
- package/src/components/navigation/.navigation-sidebar.md +30 -23
- package/src/components/navigation/.sliding-sidebar.md +30 -25
- package/src/components/navigation/.sticky-section-nav.md +23 -21
- package/src/components/onboarding-guides/.index.md +40 -0
- package/src/components/onboarding-guides/.onboarding-guide-detail-view.md +55 -0
- package/src/components/onboarding-guides/.onboarding-guides-catalog-skeleton.md +33 -0
- package/src/components/onboarding-guides/.onboarding-guides-catalog-view.md +50 -0
- package/src/components/onboarding-guides/hooks/.use-onboarding-guides.md +54 -0
- package/src/components/platform/.CveLink.md +28 -17
- package/src/components/platform/.ScriptArguments.md +18 -23
- package/src/components/platform/.ScriptInfoSection.md +27 -21
- package/src/components/platform/.ShellTypeBadge.md +34 -18
- package/src/components/platform/.SoftwareInfo.md +23 -21
- package/src/components/platform/.ToolBadge.md +18 -16
- package/src/components/profile/.ProfileLoadingSkeleton.md +24 -23
- package/src/components/related-content/.index.md +41 -0
- package/src/components/related-content/.related-content-section.md +62 -0
- package/src/components/shared/.article-author-byline.md +56 -0
- package/src/components/shared/.detail-page-skeleton.md +32 -43
- package/src/components/shared/.media-gallery-strip.md +43 -0
- package/src/components/shared/delivery/.delivery-lists.md +20 -19
- package/src/components/shared/delivery/.delivery-row.md +24 -20
- package/src/components/shared/delivery/.delivery-table.md +20 -22
- package/src/components/shared/dev-section/.dev-card-row.md +28 -36
- package/src/components/shared/dev-section/.dev-section-page.md +36 -25
- package/src/components/shared/dev-section/.dev-section-view.md +32 -22
- package/src/components/shared/doc-search/.doc-search-bar.md +58 -0
- package/src/components/shared/doc-search/.doc-search-result-row.md +50 -0
- package/src/components/shared/doc-search/.format-relative-path.md +30 -0
- package/src/components/shared/doc-search/.index.md +46 -0
- package/src/components/shared/doc-search/.map-doc-search-results.md +44 -0
- package/src/components/shared/doc-search/.resolve-search-result-action.md +52 -0
- package/src/components/shared/doc-search/.types.md +49 -0
- package/src/components/shared/doc-search/.use-doc-search.md +66 -0
- package/src/components/shared/legal-document/.legal-document-page.md +26 -20
- package/src/components/shared/legal-document/.use-legal-docs.md +36 -30
- package/src/components/shared/onboarding/.onboarding-step-card.md +24 -16
- package/src/components/shared/onboarding/.onboarding-walkthrough.md +42 -28
- package/src/components/shared/product-release/.index.md +33 -24
- package/src/components/shared/product-release/.product-release-card-skeleton.md +22 -28
- package/src/components/shared/product-release/.product-release-card.md +28 -29
- package/src/components/shared/product-release/.product-releases-view.md +49 -0
- package/src/components/shared/product-release/.release-detail-page.md +30 -15
- package/src/components/shared/roadmap/.index.md +29 -24
- package/src/components/shared/roadmap/.roadmap-grid.md +43 -54
- package/src/components/shared/roadmap/.roadmap-view.md +41 -0
- package/src/components/shared/roadmap/.use-roadmap-voting.md +27 -17
- package/src/components/switch.tsx +1 -1
- package/src/components/tickets/.help-center-card.md +32 -28
- package/src/components/tickets/.help-center-create-form.md +34 -22
- package/src/components/tickets/.help-center-list.md +36 -25
- package/src/components/tickets/.index.md +30 -45
- package/src/components/tickets/.ticket-center.md +31 -38
- package/src/components/tickets/.ticket-detail-drawer.md +20 -30
- package/src/components/tickets/.ticket-open-form.md +24 -26
- package/src/components/tickets/.ticket-reply-composer.md +51 -0
- package/src/components/tickets/.ticket-row.md +26 -11
- package/src/components/tickets/.types.md +56 -38
- package/src/components/tickets/hooks/.use-ticket-actions.md +60 -47
- package/src/components/tickets/hooks/.use-ticket-engagements.md +27 -27
- package/src/components/tickets/hooks/.use-tickets-list.md +24 -30
- package/src/components/ui/.accordion.md +28 -21
- package/src/components/ui/.actions-menu.md +36 -54
- package/src/components/ui/.ai-generated-badge.md +25 -0
- package/src/components/ui/.alert-dialog.md +21 -16
- package/src/components/ui/.alert.md +30 -25
- package/src/components/ui/.allowed-domains-input.md +26 -15
- package/src/components/ui/.announcement-bar-view.md +46 -0
- package/src/components/ui/.autocomplete.md +40 -27
- package/src/components/ui/.badge.md +34 -31
- package/src/components/ui/.brand-association-card.md +22 -18
- package/src/components/ui/.breadcrumb.md +18 -14
- package/src/components/ui/.bullet-list.md +35 -23
- package/src/components/ui/.card.md +47 -30
- package/src/components/ui/.checkbox-block.md +34 -22
- package/src/components/ui/.checkbox-with-description.md +18 -20
- package/src/components/ui/.chevron-button.md +29 -29
- package/src/components/ui/.circular-progress.md +30 -41
- package/src/components/ui/.color-preset-select.md +54 -0
- package/src/components/ui/.color-swatch.md +37 -0
- package/src/components/ui/.content-loader.md +34 -27
- package/src/components/ui/.crossfade-panels.md +50 -0
- package/src/components/ui/.cursor-pagination.md +38 -26
- package/src/components/ui/.dashboard-info-card.md +46 -27
- package/src/components/ui/.date-picker.md +52 -36
- package/src/components/ui/.device-card-compact.md +23 -20
- package/src/components/ui/.device-card.md +39 -30
- package/src/components/ui/.dialog.md +14 -14
- package/src/components/ui/.drawer.md +45 -39
- package/src/components/ui/.dropdown-button.md +41 -33
- package/src/components/ui/.dropdown-menu.md +40 -23
- package/src/components/ui/.duration-input.md +41 -0
- package/src/components/ui/.entity-image.md +32 -28
- package/src/components/ui/.error-state.md +30 -26
- package/src/components/ui/.fade-preview.md +44 -0
- package/src/components/ui/.field-wrapper.md +34 -23
- package/src/components/ui/.file-upload.md +30 -18
- package/src/components/ui/.filter-modal.md +30 -32
- package/src/components/ui/.filter-pill-row.md +58 -0
- package/src/components/ui/.floating-tooltip.md +27 -32
- package/src/components/ui/.hidden-tags-popup.md +18 -20
- package/src/components/ui/.highlight-card.md +36 -23
- package/src/components/ui/.honeypot-field.md +41 -0
- package/src/components/ui/.hover-dropdown.md +44 -31
- package/src/components/ui/.image-gallery-modal.md +28 -30
- package/src/components/ui/.image-uploader.md +39 -22
- package/src/components/ui/.index.md +33 -31
- package/src/components/ui/.info-card-row.md +50 -0
- package/src/components/ui/.info-card.md +27 -20
- package/src/components/ui/.info-row.md +30 -24
- package/src/components/ui/.info-section.md +63 -0
- package/src/components/ui/.input.md +29 -28
- package/src/components/ui/.label.md +34 -26
- package/src/components/ui/.markdown-editor.md +26 -25
- package/src/components/ui/.marquee-wall.md +64 -0
- package/src/components/ui/.menubar.md +50 -16
- package/src/components/ui/.modal-v2.md +41 -27
- package/src/components/ui/.modal.md +22 -19
- package/src/components/ui/.more-actions-menu.md +30 -24
- package/src/components/ui/.navigation-menu.md +40 -25
- package/src/components/ui/.organization-card.md +46 -27
- package/src/components/ui/.page-actions.md +55 -41
- package/src/components/ui/.page-loader.md +40 -23
- package/src/components/ui/.password-input.md +30 -0
- package/src/components/ui/.phone-input.md +20 -22
- package/src/components/ui/.portal-container.md +43 -0
- package/src/components/ui/.progress-bar.md +40 -27
- package/src/components/ui/.release-changelog-section.md +32 -26
- package/src/components/ui/.rich-markdown-renderer.md +45 -0
- package/src/components/ui/.scroll-fade.md +56 -0
- package/src/components/ui/.search-input.md +55 -37
- package/src/components/ui/.select.md +25 -26
- package/src/components/ui/.service-card.md +25 -19
- package/src/components/ui/.sheet.md +21 -21
- package/src/components/ui/.simple-markdown-renderer.md +36 -24
- package/src/components/ui/.slack-channel-chip.md +49 -0
- package/src/components/ui/.square-avatar.md +29 -26
- package/src/components/ui/.stacked-rows-panel.md +61 -0
- package/src/components/ui/.status-badge.md +30 -24
- package/src/components/ui/.status-indicator.md +35 -21
- package/src/components/ui/.tab-content.md +34 -22
- package/src/components/ui/.tab-navigation.md +40 -50
- package/src/components/ui/.tab-selector.md +48 -31
- package/src/components/ui/.tabs.md +34 -21
- package/src/components/ui/.tag-search-input.md +20 -20
- package/src/components/ui/.tag-select-dropdown.md +59 -0
- package/src/components/ui/.tag.md +25 -43
- package/src/components/ui/.tags-input.md +31 -31
- package/src/components/ui/.textarea.md +32 -30
- package/src/components/ui/.ticket-attachments-list.md +36 -29
- package/src/components/ui/.ticket-info-section.md +37 -42
- package/src/components/ui/.ticket-status-config-row.md +66 -0
- package/src/components/ui/.ticket-status-tag.md +39 -35
- package/src/components/ui/.toaster.md +21 -15
- package/src/components/ui/.toggle.md +38 -37
- package/src/components/ui/.tooltip.md +16 -13
- package/src/components/ui/button/.button-styles.md +17 -18
- package/src/components/ui/button/.button.md +30 -37
- package/src/components/ui/button/.split-button.md +46 -23
- package/src/components/ui/button/button-styles.ts +13 -0
- package/src/components/ui/button/button.tsx +5 -0
- package/src/components/ui/data-table/.data-table-body.md +50 -35
- package/src/components/ui/data-table/.data-table-empty.md +17 -33
- package/src/components/ui/data-table/.data-table-header.md +43 -40
- package/src/components/ui/data-table/.data-table-row.md +31 -31
- package/src/components/ui/data-table/.types.md +23 -28
- package/src/components/ui/file-manager/.file-manager-breadcrumb.md +16 -24
- package/src/components/ui/file-manager/.file-manager-empty.md +23 -15
- package/src/components/ui/file-manager/.file-manager-skeleton.md +34 -36
- package/src/components/ui/file-manager/.file-manager-table-row.md +29 -29
- package/src/components/ui/file-manager/.file-manager-table.md +39 -24
- package/src/components/ui/no-data/.index.md +22 -0
- package/src/components/ui/no-data/.no-data-actions.md +29 -0
- package/src/components/ui/no-data/.no-data-message.md +37 -0
- package/src/components/ui/no-data/.no-data-styles.md +39 -0
- package/src/components/ui/no-data/.no-data.md +59 -0
- package/src/components/ui/page-actions.tsx +2 -1
- package/src/components/ui/query-report-table/.query-report-table-header.md +15 -15
- package/src/components/ui/query-report-table/.query-report-table-row.md +16 -16
- package/src/components/ui/query-report-table/.query-report-table.md +39 -24
- package/src/components/ui/table/.table-column-filter-dropdown.md +15 -9
- package/src/components/ui/table/.table-description-cell.md +13 -12
- package/src/components/ui/table/.table-empty-state.md +19 -20
- package/src/components/ui/table/.table-row.md +30 -20
- package/src/components/ui/table/.table-skeleton.md +32 -27
- package/src/components/ui/table/.table-timestamp-cell.md +24 -23
- package/src/components/ui/table/.table.md +43 -30
- package/src/components/ui/table/.types.md +49 -45
- package/src/components/ui/table/.use-table-motion.md +45 -0
- package/src/contexts/.chat-runtime-context.md +55 -26
- package/src/contexts/.endpoints-runtime-context.md +40 -44
- package/src/embed-shims/.next-navigation.md +38 -31
- package/src/hooks/.api-hooks.md +28 -21
- package/src/hooks/.index.md +30 -25
- package/src/hooks/.use-authed-image-src.md +38 -0
- package/src/hooks/.use-contact-submission.md +35 -36
- package/src/hooks/.use-humanity-signals.md +47 -0
- package/src/hooks/.use-near-viewport.md +30 -30
- package/src/hooks/.use-og-placeholder-url.md +57 -0
- package/src/hooks/.use-scroll-to-hash.md +46 -0
- package/src/hooks/.use-self-fetch.md +52 -0
- package/src/hooks/state/.flatten-schema.md +37 -29
- package/src/hooks/ui/.index.md +37 -25
- package/src/hooks/ui/.use-auto-limit-tags.md +55 -38
- package/src/hooks/ui/.use-deferred-error.md +44 -0
- package/src/hooks/ui/.use-focus-trap.md +59 -0
- package/src/hooks/ui/.use-header-height.md +37 -0
- package/src/hooks/ui/.use-horizontal-scrollbar.md +25 -34
- package/src/hooks/ui/.use-marquee-engine.md +73 -0
- package/src/hooks/ui/.use-notification-permission.md +49 -0
- package/src/hooks/ui/.use-reset-on-page-hidden.md +40 -0
- package/src/hooks/ui/.use-suppress-clone-focus.md +41 -0
- package/src/nats/.index.md +39 -0
- package/src/nats/.nats-provider.md +46 -0
- package/src/nats/.nats.md +38 -28
- package/src/nats/.shared-connection.md +56 -0
- package/src/nats/.use-nats-subscription.md +57 -0
- package/src/stories/.ActionsMenu.stories.md +57 -0
- package/src/stories/.Alert.stories.md +46 -0
- package/src/stories/.AnnouncementBar.stories.md +59 -32
- package/src/stories/.AppLayoutDrawer.stories.md +60 -0
- package/src/stories/.AppLayoutSidebar.stories.md +45 -0
- package/src/stories/.ApprovalBatchMessage.stories.md +46 -0
- package/src/stories/.ApprovalBatchMessageClient.stories.md +55 -0
- package/src/stories/.ApprovalRequestMessage.stories.md +50 -0
- package/src/stories/.ApprovalRequestMessageClient.stories.md +41 -0
- package/src/stories/.BlogCard.stories.md +52 -0
- package/src/stories/.Board.stories.md +25 -20
- package/src/stories/.Button.stories.md +35 -40
- package/src/stories/.CampaignCardAdmin.stories.md +38 -0
- package/src/stories/.CardsStrip.stories.md +39 -0
- package/src/stories/.CaseStudyCard.stories.md +41 -0
- package/src/stories/.ChatContainer.stories.md +41 -0
- package/src/stories/.ChatInlineVideoPill.stories.md +36 -0
- package/src/stories/.ChatMessageEnhanced.stories.md +51 -0
- package/src/stories/.ChatMingoInfoCards.stories.md +30 -0
- package/src/stories/.ChatTicketList.stories.md +38 -22
- package/src/stories/.ChatTypingIndicator.stories.md +47 -0
- package/src/stories/.CheckboxBlock.stories.md +34 -35
- package/src/stories/.ContextCompactionDisplay.stories.md +28 -0
- package/src/stories/.CustomerInterviewCard.stories.md +36 -0
- package/src/stories/.DashboardInfoCard.stories.md +40 -33
- package/src/stories/.DataRoomDocCard.stories.md +42 -0
- package/src/stories/.DataTable.stories.md +37 -32
- package/src/stories/.DatePicker.stories.md +34 -30
- package/src/stories/.EmbeddableChat.stories.md +45 -28
- package/src/stories/.EmptyState.stories.md +55 -0
- package/src/stories/.ErrorMessageDisplay.stories.md +45 -0
- package/src/stories/.FilterModal.stories.md +28 -22
- package/src/stories/.GenericEntityCard.stories.md +50 -0
- package/src/stories/.GitHubActivityCard.stories.md +41 -0
- package/src/stories/.GuideWelcome.stories.md +38 -0
- package/src/stories/.Header.stories.md +32 -22
- package/src/stories/.HubspotTicketCard.stories.md +41 -0
- package/src/stories/.InfoCard.stories.md +37 -26
- package/src/stories/.InfoCardRow.stories.md +48 -0
- package/src/stories/.InfoSection.stories.md +55 -0
- package/src/stories/.Input.stories.md +45 -35
- package/src/stories/.InvestorUpdateCard.stories.md +41 -0
- package/src/stories/.MarqueeWall.stories.md +53 -0
- package/src/stories/.MingoAiButton.stories.md +31 -0
- package/src/stories/.MingoChatModals.stories.md +47 -0
- package/src/stories/.MingoInfoCard.stories.md +50 -0
- package/src/stories/.MingoOnboardingCard.stories.md +19 -19
- package/src/stories/.MingoWelcome.stories.md +41 -0
- package/src/stories/.MobileNavPanel.stories.md +52 -0
- package/src/stories/.Modal.stories.md +19 -16
- package/src/stories/.MspOrganizationCard.stories.md +45 -0
- package/src/stories/.NotificationDrawer.stories.md +39 -28
- package/src/stories/.OSTypeBadge.stories.md +34 -25
- package/src/stories/.OnboardingGuideCard.stories.md +41 -0
- package/src/stories/.PageActions.stories.md +21 -21
- package/src/stories/.PageContainer.stories.md +29 -24
- package/src/stories/.PageLayout.stories.md +18 -35
- package/src/stories/.PolicyConfigurationPanel.stories.md +58 -0
- package/src/stories/.ProductReleaseCard.stories.md +39 -0
- package/src/stories/.ProgramCard.stories.md +51 -0
- package/src/stories/.QuickActionChip.stories.md +59 -0
- package/src/stories/.QuickActionMarquee.stories.md +51 -0
- package/src/stories/.QuickActionWall.stories.md +58 -0
- package/src/stories/.RoadmapCard.stories.md +41 -0
- package/src/stories/.ShellTypeBadge.stories.md +42 -22
- package/src/stories/.SlackMessageCard.stories.md +42 -0
- package/src/stories/.SlashCommandSuggestions.stories.md +21 -31
- package/src/stories/.SplitButton.stories.md +23 -25
- package/src/stories/.StackedRowsPanel.stories.md +65 -0
- package/src/stories/.TabSelector.stories.md +26 -38
- package/src/stories/.Tag.stories.md +32 -27
- package/src/stories/.ThinkingDisplay.stories.md +43 -0
- package/src/stories/.TicketCard.stories.md +60 -0
- package/src/stories/.TicketInfoSection.stories.md +28 -20
- package/src/stories/.TimeTracker.stories.md +35 -0
- package/src/stories/.Toaster.stories.md +26 -20
- package/src/stories/.ToolBadge.stories.md +34 -24
- package/src/stories/.ToolExecutionDisplay.stories.md +22 -20
- package/src/stories/.ToolExecutionDisplayClient.stories.md +33 -0
- package/src/stories/.VideoBitesStrip.stories.md +37 -0
- package/src/stories/.WarningBlock.stories.md +51 -0
- package/src/stories/__fixtures__/.chat-card-decorator.md +39 -0
- package/src/stories/__fixtures__/.chat-cards.md +57 -0
- package/src/stories/auth/.CompleteAccount.stories.md +36 -0
- package/src/stories/auth/.CreateOrganization.stories.md +52 -0
- package/src/stories/auth/.InviteLinkInvalid.stories.md +21 -0
- package/src/stories/auth/.Login.stories.md +32 -0
- package/src/stories/auth/.OpenFrameSso.stories.md +58 -0
- package/src/stories/auth/.PasswordReset.stories.md +49 -0
- package/src/styles/ods-interaction-states.css +32 -0
- package/src/types/.announcement.md +67 -35
- package/src/types/.blog.md +44 -41
- package/src/types/.case-study.md +31 -17
- package/src/types/.content-ref.md +37 -0
- package/src/types/.customer-interview.md +38 -38
- package/src/types/.doc-source.md +87 -0
- package/src/types/.entity-author.md +53 -0
- package/src/types/.entity-platform.md +40 -0
- package/src/types/.index.md +23 -17
- package/src/types/.marketing.md +32 -35
- package/src/types/.navigation.md +31 -19
- package/src/types/.os.types.md +30 -31
- package/src/types/.permissions.md +49 -35
- package/src/types/.platform.md +44 -28
- package/src/types/.product-release.md +59 -42
- package/src/types/.shell.types.md +46 -30
- package/src/types/.supabase.md +43 -29
- package/src/types/.tool.types.md +43 -23
- package/src/types/.video-processing.md +40 -31
- package/src/types/supabase.ts +80 -0
- package/src/types/video-processing.ts +1 -0
- package/src/utils/.announcement-storage.md +49 -17
- package/src/utils/.app-config.md +22 -18
- package/src/utils/.brand-marks.md +46 -0
- package/src/utils/.cn.md +40 -29
- package/src/utils/.color-analysis.md +34 -25
- package/src/utils/.common.md +43 -23
- package/src/utils/.content-href.md +64 -0
- package/src/utils/.content-ref-groups.md +51 -0
- package/src/utils/.date-utils.md +46 -35
- package/src/utils/.doc-path-utils.md +38 -0
- package/src/utils/.doc-tree-nav.md +51 -0
- package/src/utils/.embed-authed-fetch.md +48 -32
- package/src/utils/.embed-content-fetch.md +36 -0
- package/src/utils/.embed-url-converters.md +52 -0
- package/src/utils/.extract-items.md +49 -0
- package/src/utils/.faq-anchor.md +48 -0
- package/src/utils/.format.md +73 -55
- package/src/utils/.humanity-signals.md +59 -0
- package/src/utils/.index.md +73 -31
- package/src/utils/.list-url.md +43 -0
- package/src/utils/.markdown-section-extractor.md +57 -0
- package/src/utils/.markdown-to-plain.md +51 -0
- package/src/utils/.media-carousel-utils-stub.md +42 -31
- package/src/utils/.ods-color-utils.md +84 -43
- package/src/utils/.og-placeholder.md +45 -0
- package/src/utils/.page-header-constants.md +26 -0
- package/src/utils/.platform-config.md +34 -34
- package/src/utils/.release-badge.md +47 -0
- package/src/utils/.release-cover.md +45 -0
- package/src/utils/.same-page-hash-nav.md +45 -0
- package/src/utils/.scroll-into-view.md +32 -25
- package/src/utils/.seo-description.md +37 -0
- package/src/utils/.seo-title.md +25 -0
- package/src/utils/.social-embed-cache.md +37 -0
- package/src/utils/.source-icons.md +30 -34
- package/src/utils/.suggestion-url.md +46 -0
- package/src/utils/.tool-utils.md +39 -24
- package/src/utils/.tree-builder.md +64 -0
- package/src/utils/.video-bite-id.md +42 -0
- package/src/utils/announcement-storage.ts +9 -18
- package/src/utils/dev-sections/.dev-section-param-keys.md +51 -0
- package/src/utils/dev-sections/.openframe-dev-sections.md +40 -28
- package/src/utils/dismiss-cookie.ts +55 -0
- package/src/utils/dismissal-storage.ts +38 -0
- package/src/utils/index.ts +3 -0
- package/dist/chunk-BBUEY73L.js.map +0 -1
- package/dist/chunk-G3UN2DXU.cjs.map +0 -1
- package/dist/chunk-OWMLWJQY.cjs.map +0 -1
- package/dist/chunk-SASR7SK5.js.map +0 -1
- package/src/components/chat/utils/.onboarding-icons.md +0 -28
- package/src/hooks/.use-og-placeholder.md +0 -51
- /package/dist/{chunk-MGKCS6KS.js.map → chunk-3WCARCI4.js.map} +0 -0
- /package/dist/{chunk-Y3Y2DLNO.js.map → chunk-6UGYBCEN.js.map} +0 -0
- /package/dist/{chunk-PSPWT2Q5.js.map → chunk-7LWXWXEY.js.map} +0 -0
- /package/dist/{chunk-VTSRDC4W.js.map → chunk-CKC3EAYT.js.map} +0 -0
- /package/dist/{chunk-ZRANZNEA.js.map → chunk-JJE5TUZK.js.map} +0 -0
- /package/dist/{chunk-66BNAFO6.js.map → chunk-JQIUBFHL.js.map} +0 -0
- /package/dist/{chunk-2DIOV7BR.js.map → chunk-UPN6EFOM.js.map} +0 -0
- /package/dist/{chunk-4SMRQ4SN.js.map → chunk-WBL5Y4PS.js.map} +0 -0
- /package/dist/{chunk-FP4H6Y5O.js.map → chunk-WPYPSIY2.js.map} +0 -0
- /package/dist/{chunk-R5WJJL4V.js.map → chunk-X5X43HFV.js.map} +0 -0
- /package/dist/{chunk-DEHZ5CTC.js.map → chunk-XTWKDMCG.js.map} +0 -0
|
@@ -1,29 +1,44 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Central barrel export file that re-exports all TypeScript
|
|
1
|
+
<!-- source-hash: 75c4ecf369e61a07b6662d1777b9777b -->
|
|
2
|
+
Central barrel export file that re-exports all TypeScript type definitions for the OpenFrame chat system, providing a single import entry point for consumers.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
All exports are sourced from the following modules:
|
|
7
|
+
|
|
8
|
+
| Module | Description |
|
|
7
9
|
|---|---|
|
|
8
|
-
| `chat.types` | Core chat
|
|
9
|
-
| `message.types` | Message structure and
|
|
10
|
-
| `component.types` | UI component prop
|
|
10
|
+
| `chat.types` | Core chat domain types |
|
|
11
|
+
| `message.types` | Message structure and payload types |
|
|
12
|
+
| `component.types` | UI component prop/state types |
|
|
11
13
|
| `network.types` | Network request/response types |
|
|
12
|
-
| `processing.types` | Message processing
|
|
13
|
-
| `api.types` | API contract
|
|
14
|
-
| `entities` |
|
|
15
|
-
| `
|
|
14
|
+
| `processing.types` | Message processing pipeline types |
|
|
15
|
+
| `api.types` | External API contract types |
|
|
16
|
+
| `entities` | Shared domain entity definitions |
|
|
17
|
+
| `context-item.types` | Context item types for AI/chat context |
|
|
18
|
+
| `unified-chat-state.types` | Unified state management types |
|
|
16
19
|
|
|
17
20
|
## Usage Example
|
|
18
21
|
|
|
19
22
|
```typescript
|
|
20
|
-
// Import any
|
|
21
|
-
import {
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
// Import any type directly from the package root — no need to reach into submodules
|
|
24
|
+
import type {
|
|
25
|
+
ChatMessage,
|
|
26
|
+
NetworkRequest,
|
|
24
27
|
UnifiedChatState,
|
|
25
|
-
|
|
26
|
-
} from '
|
|
28
|
+
ContextItem,
|
|
29
|
+
} from '@openframe/chat-types'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Instead of:
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
// ❌ Avoid deep imports
|
|
36
|
+
import type { ChatMessage } from '@openframe/chat-types/message.types'
|
|
37
|
+
import type { UnifiedChatState } from '@openframe/chat-types/unified-chat-state.types'
|
|
27
38
|
```
|
|
28
39
|
|
|
29
|
-
|
|
40
|
+
## Notes
|
|
41
|
+
|
|
42
|
+
- This file contains **no runtime logic** — it is purely a type re-export barrel.
|
|
43
|
+
- Adding a new type module requires a corresponding `export *` line here to expose it to consumers.
|
|
44
|
+
- See the [source file](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts) for the full export list.
|
|
@@ -1,32 +1,30 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Defines all
|
|
1
|
+
<!-- source-hash: 91d6851796cacd6ea48ea0e1555aaf5a -->
|
|
2
|
+
Defines all TypeScript types, interfaces, and constants for the chat message system, covering message lifecycle events, content structures, tool execution states, approval workflows, and historical/processed message representations.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
### Constants
|
|
7
|
-
- **`MESSAGE_TYPE`** — Enum-
|
|
8
|
-
- **`SCROLL_ANCHOR`** —
|
|
7
|
+
- **`MESSAGE_TYPE`** — Enum-style const object with 16 message types (`TEXT`, `THINKING`, `EXECUTING_TOOL`, `APPROVAL_REQUEST`, `CONTEXT_COMPACTION_START`, etc.)
|
|
8
|
+
- **`SCROLL_ANCHOR`** — Per-message viewport hint (`top` | `bottom`) controlling chat scroll behavior on long assistant responses
|
|
9
9
|
|
|
10
10
|
### Tool Execution
|
|
11
|
-
- **`ToolExecutionData`** —
|
|
12
|
-
- **`ExecutingToolState`** — In-flight snapshot
|
|
11
|
+
- **`ToolExecutionData`** — Wire payload for `EXECUTING_TOOL` / `EXECUTED_TOOL` events, including optional `toolExecutionRequestId` for merging into approval batches
|
|
12
|
+
- **`ExecutingToolState`** — In-flight snapshot carried between executing/executed events to preserve `toolTitle` and `toolExplanation`
|
|
13
13
|
|
|
14
|
-
### Approval
|
|
15
|
-
- **`ApprovalRequestData`** / **`ApprovalResultData`** — Single-
|
|
16
|
-
- **`
|
|
14
|
+
### Approval Workflow
|
|
15
|
+
- **`ApprovalRequestData`** / **`ApprovalResultData`** — Single-command approval request/result payloads
|
|
16
|
+
- **`PendingToolCallData`** — Individual tool call within a batch approval request
|
|
17
|
+
- **`ApprovalBatchData`** — Batch of tool calls requiring approval, keyed by `toolExecutionRequestId`
|
|
18
|
+
- **`ApprovalBatchExecutionState`** — Per-tool execution progress (`executing` | `done`) within a resolved batch
|
|
17
19
|
|
|
18
|
-
### Message Segments
|
|
20
|
+
### Message Segments
|
|
19
21
|
- **`MessageSegment`** — Union of `TextSegment`, `ThinkingSegment`, `ToolExecutionSegment`, `ApprovalRequestSegment`, `ApprovalBatchSegment`, `ErrorSegment`, `ContextCompactionSegment`
|
|
20
22
|
- **`MessageContent`** — `string | MessageSegment[]`
|
|
21
23
|
|
|
22
|
-
###
|
|
23
|
-
- **`MessageData`** — Discriminated union of all
|
|
24
|
-
- **`
|
|
25
|
-
|
|
26
|
-
### Core Message Interfaces
|
|
27
|
-
- **`Message`** — Primary chat message object with role, content, scroll anchor, `chatRefs` for entity cards, and `hidden` flag for synthetic continuation turns
|
|
28
|
-
- **`ProcessedMessage`** — Normalized display-ready message derived from raw history
|
|
29
|
-
- **`HistoricalMessage`** — Raw persisted message shape from GraphQL/API
|
|
24
|
+
### API Data Types
|
|
25
|
+
- **`MessageData`** — Discriminated union of all wire-format message data types from GraphQL/API
|
|
26
|
+
- **`HistoricalMessage`** — Persisted message row with `lastChunkStreamSeq` for realtime merge coverage
|
|
27
|
+
- **`ProcessedMessage`** / **`Message`** — Normalized display-ready message with role, content, timestamps, and `streamSeq`
|
|
30
28
|
|
|
31
29
|
## Usage Example
|
|
32
30
|
|
|
@@ -34,39 +32,40 @@ Defines all message-related TypeScript types, interfaces, and constants used acr
|
|
|
34
32
|
import {
|
|
35
33
|
MESSAGE_TYPE,
|
|
36
34
|
SCROLL_ANCHOR,
|
|
37
|
-
type
|
|
35
|
+
type MessageData,
|
|
38
36
|
type MessageSegment,
|
|
39
|
-
type ApprovalBatchData
|
|
37
|
+
type ApprovalBatchData,
|
|
38
|
+
type ProcessedMessage,
|
|
40
39
|
} from './message.types'
|
|
41
40
|
|
|
42
|
-
//
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
approvalType: 'CLIENT',
|
|
50
|
-
toolCalls: [
|
|
51
|
-
{
|
|
52
|
-
toolExecutionRequestId: 'exec_456',
|
|
53
|
-
toolName: 'create_ticket',
|
|
54
|
-
toolTitle: 'Create Support Ticket',
|
|
55
|
-
requiresApproval: true,
|
|
56
|
-
approvalType: 'CLIENT',
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
},
|
|
60
|
-
status: 'PENDING',
|
|
61
|
-
onApprove: async (id) => console.log('Approved:', id),
|
|
41
|
+
// Check incoming message type
|
|
42
|
+
function handleChunk(data: MessageData) {
|
|
43
|
+
if (data.type === MESSAGE_TYPE.EXECUTING_TOOL) {
|
|
44
|
+
console.log('Tool running:', data.toolFunction)
|
|
45
|
+
}
|
|
46
|
+
if (data.type === MESSAGE_TYPE.APPROVAL_REQUEST) {
|
|
47
|
+
console.log('Batch calls:', data.toolCalls?.length)
|
|
62
48
|
}
|
|
63
|
-
|
|
49
|
+
}
|
|
64
50
|
|
|
65
|
-
|
|
66
|
-
|
|
51
|
+
// Build a processed message for rendering
|
|
52
|
+
const msg: ProcessedMessage = {
|
|
53
|
+
id: 'msg-1',
|
|
67
54
|
role: 'assistant',
|
|
68
|
-
content:
|
|
69
|
-
|
|
55
|
+
content: [
|
|
56
|
+
{ type: 'text', text: 'Done! Here is the result.' },
|
|
57
|
+
{ type: 'tool_execution', data: {
|
|
58
|
+
type: 'EXECUTED_TOOL',
|
|
59
|
+
integratedToolType: 'ticketing',
|
|
60
|
+
toolFunction: 'createTicket',
|
|
61
|
+
success: true,
|
|
62
|
+
result: '{"ticketId":"T-42"}',
|
|
63
|
+
}},
|
|
64
|
+
],
|
|
70
65
|
timestamp: new Date(),
|
|
66
|
+
streamSeq: 14,
|
|
71
67
|
}
|
|
68
|
+
|
|
69
|
+
// Scroll hint for long article responses
|
|
70
|
+
const anchor = SCROLL_ANCHOR.TOP
|
|
72
71
|
```
|
|
@@ -1,63 +1,55 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Defines TypeScript types and constants for
|
|
1
|
+
<!-- source-hash: b3a25b6e2897d6d6248d3a4a28608f01 -->
|
|
2
|
+
Defines TypeScript types and constants for network and communication infrastructure, covering NATS messaging, WebSocket connections, streaming chunk data, and generic API response shapes.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
###
|
|
6
|
+
### Constants
|
|
7
|
+
- **`NETWORK_CONFIG`** — Frozen configuration object with tunable network parameters (timeouts, retry backoff, message limits, ping intervals)
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
| `NatsConnectionSource` | Origin of a NATS connection: `client`, `agent`, or `dashboard` |
|
|
9
|
+
### NATS Types
|
|
10
|
+
- **`NatsMessageType`** — Discriminates between `'message'` and `'admin-message'` NATS payloads
|
|
11
|
+
- **`NatsConnectionStatus`** — Union of NATS lifecycle states (`connecting`, `connected`, `disconnected`, `reconnecting`, `closed`, `error`)
|
|
12
|
+
- **`NatsConnectionSource`** — Identifies the actor initiating a connection (`client`, `agent`, `dashboard`)
|
|
13
13
|
|
|
14
|
-
###
|
|
14
|
+
### Chunk / Streaming Types
|
|
15
|
+
- **`ChunkData`** — Core streaming payload; carries sequence IDs, stream state, tool execution metadata, approval workflow fields, and model/provider info. Supports an open index signature for extension
|
|
16
|
+
- **`BufferedChunk`** — Wraps a `ChunkData` with its `NatsMessageType` for buffered delivery
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
| `NetworkConfig` | Inferred type from `NETWORK_CONFIG` |
|
|
18
|
+
### WebSocket Types
|
|
19
|
+
- **`WebSocketMessage`** — Generic typed message envelope with optional timestamp and ID
|
|
20
|
+
- **`WebSocketConfig`** — Full WebSocket client configuration including reconnect strategy and lifecycle callbacks
|
|
20
21
|
|
|
21
|
-
###
|
|
22
|
+
### Function Types
|
|
23
|
+
- **`FetchChunksFunction`** — Typed async fetcher for polling `ChunkData[]` by dialog ID and chat type
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
| `WebSocketMessage` | Generic WebSocket envelope with `type`, `payload`, and optional metadata |
|
|
28
|
-
| `WebSocketConfig` | Full WebSocket client configuration including reconnect strategy and event handlers |
|
|
29
|
-
| `FetchChunksFunction` | Async function signature for polling dialog chunks by `dialogId` and `ChatType` |
|
|
30
|
-
| `NetworkResponse<T>` | Standard API response wrapper with `success`, `data`, `error`, and `message` |
|
|
31
|
-
| `PaginatedResponse<T>` | Extends `NetworkResponse<T>` with pagination metadata |
|
|
32
|
-
| `NetworkError` | Structured error shape with `code`, `message`, optional `details`, and `timestamp` |
|
|
25
|
+
### Response Types
|
|
26
|
+
- **`NetworkResponse<T>`** — Generic success/error API envelope
|
|
27
|
+
- **`PaginatedResponse<T>`** — Extends `NetworkResponse` with page, pageSize, totalCount, and totalPages
|
|
28
|
+
- **`NetworkError`** — Structured error with code, message, optional details, and ISO timestamp
|
|
33
29
|
|
|
34
30
|
## Usage Example
|
|
35
31
|
|
|
36
32
|
```typescript
|
|
37
|
-
import
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
import {
|
|
34
|
+
NETWORK_CONFIG,
|
|
35
|
+
type ChunkData,
|
|
36
|
+
type FetchChunksFunction,
|
|
37
|
+
type NetworkResponse,
|
|
38
|
+
type PaginatedResponse,
|
|
39
|
+
type NatsConnectionStatus,
|
|
43
40
|
} from './network.types'
|
|
44
|
-
import { NETWORK_CONFIG } from './network.types'
|
|
45
41
|
|
|
46
|
-
// Use
|
|
47
|
-
const
|
|
48
|
-
timeout: NETWORK_CONFIG.CONNECT_TIMEOUT_MS,
|
|
49
|
-
reconnectTimeWait: NETWORK_CONFIG.RECONNECT_TIME_WAIT_MS,
|
|
50
|
-
maxPingOut: NETWORK_CONFIG.MAX_PING_OUT,
|
|
51
|
-
})
|
|
42
|
+
// Use frozen config values
|
|
43
|
+
const timeout = NETWORK_CONFIG.CONNECT_TIMEOUT_MS // 10_000
|
|
52
44
|
|
|
53
|
-
// Type
|
|
54
|
-
function
|
|
55
|
-
if (status === '
|
|
56
|
-
|
|
45
|
+
// Type a NATS connection status handler
|
|
46
|
+
function handleStatus(status: NatsConnectionStatus): void {
|
|
47
|
+
if (status === 'error') {
|
|
48
|
+
scheduleReconnect(NETWORK_CONFIG.RECONNECT_TIME_WAIT_MS)
|
|
57
49
|
}
|
|
58
50
|
}
|
|
59
51
|
|
|
60
|
-
//
|
|
52
|
+
// Type a chunk fetcher implementation
|
|
61
53
|
const fetchChunks: FetchChunksFunction = async (dialogId, chatType, fromSequenceId) => {
|
|
62
54
|
const res = await api.get<ChunkData[]>(`/dialogs/${dialogId}/chunks`, {
|
|
63
55
|
params: { chatType, from: fromSequenceId },
|
|
@@ -65,7 +57,15 @@ const fetchChunks: FetchChunksFunction = async (dialogId, chatType, fromSequence
|
|
|
65
57
|
return res.data
|
|
66
58
|
}
|
|
67
59
|
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
60
|
+
// Consume a paginated API response
|
|
61
|
+
async function loadHistory(): Promise<void> {
|
|
62
|
+
const response: PaginatedResponse<ChunkData[]> = await api.getHistory()
|
|
63
|
+
if (response.success) {
|
|
64
|
+
console.log(`Page ${response.page} of ${response.totalPages}`)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Source
|
|
70
|
+
|
|
71
|
+
[`network.types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/network.types.ts)
|
|
@@ -1,21 +1,31 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Defines TypeScript types for message processing pipeline
|
|
1
|
+
<!-- source-hash: bdb71cca9908cf9cfebf089a00d84db8 -->
|
|
2
|
+
Defines TypeScript types for the message processing pipeline, covering chunk parsing, state accumulation, stream control, and buffer management.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
### Union Types
|
|
7
|
+
- **`ParsedChunkAction`** — Discriminated union of all possible chunk parse results: `message_start`, `message_end`, `error`, `metadata`, `text`, `thinking`, `tool_execution`, `approval_request`, `approval_batch`, `approval_result`, `token_usage`, `direct_message`, `system`, `context_compaction_start/end`, `dialog_closed`
|
|
8
|
+
|
|
9
|
+
### Accumulator State
|
|
10
|
+
- **`AccumulatorState`** — Tracks in-flight message segments, pending approvals, and executing tool states during streaming
|
|
11
|
+
- **`PendingApproval`** — Holds command, explanation, and approval type for a deferred approval card
|
|
12
|
+
|
|
13
|
+
### Processing Configuration
|
|
14
|
+
- **`MessageProcessingOptions`** — Runtime options passed to the processor: assistant identity, approval callbacks, chat type filter, approval status map, `displayApprovalTypes`, and `batchApprovalsEnabled` (consumer-owned feature flag)
|
|
15
|
+
|
|
16
|
+
### Chunk Processing
|
|
17
|
+
- **`ChunkProcessor`** — Interface for stateful chunk parsing with `processChunk` and `reset`
|
|
18
|
+
- **`ChunkProcessorOptions`** — Lifecycle callbacks for chunk events (`onText`, `onToolExecution`, `onApprovalRequest`, etc.)
|
|
19
|
+
|
|
20
|
+
### Message Transformation
|
|
21
|
+
- **`MessageTransformer`** — Single and batch transform interface producing `ProcessedMessage` outputs
|
|
22
|
+
- **`TransformationOptions`** — Flags for segment merging, timestamp formatting, and metadata inclusion
|
|
23
|
+
|
|
24
|
+
### Stream & Buffer Management
|
|
25
|
+
- **`StreamProcessor`** — Lifecycle control (`start`, `stop`, `pause`, `resume`, `reset`, `getState`)
|
|
26
|
+
- **`StreamState`** — Runtime counters: active state, pause flag, processed message count, buffered chunks, error log
|
|
27
|
+
- **`BufferManager`** — FIFO buffer operations (`add`, `flush`, `clear`, `size`, `isEmpty`, `isFull`)
|
|
28
|
+
- **`BufferOptions`** — Max size, flush interval, and overflow/flush callbacks
|
|
19
29
|
|
|
20
30
|
## Usage Example
|
|
21
31
|
|
|
@@ -24,45 +34,47 @@ import type {
|
|
|
24
34
|
ParsedChunkAction,
|
|
25
35
|
AccumulatorState,
|
|
26
36
|
MessageProcessingOptions,
|
|
27
|
-
StreamState
|
|
37
|
+
StreamState,
|
|
28
38
|
} from './processing.types'
|
|
29
39
|
|
|
30
|
-
//
|
|
31
|
-
function
|
|
40
|
+
// Narrow a parsed chunk action by discriminant
|
|
41
|
+
function handleChunk(action: ParsedChunkAction) {
|
|
32
42
|
switch (action.action) {
|
|
33
43
|
case 'text':
|
|
34
|
-
console.log('
|
|
44
|
+
console.log('Text received:', action.text)
|
|
35
45
|
break
|
|
36
46
|
case 'tool_execution':
|
|
37
|
-
console.log('Tool
|
|
47
|
+
console.log('Tool segment:', action.segment)
|
|
38
48
|
break
|
|
39
49
|
case 'approval_batch':
|
|
40
|
-
console.log('Batch approval
|
|
50
|
+
console.log('Batch approval', action.requestId, action.toolCalls)
|
|
41
51
|
break
|
|
42
52
|
case 'error':
|
|
43
|
-
console.error(
|
|
53
|
+
console.error(action.error, action.details)
|
|
44
54
|
break
|
|
45
55
|
}
|
|
46
56
|
}
|
|
47
57
|
|
|
48
|
-
//
|
|
49
|
-
const state: AccumulatorState = {
|
|
50
|
-
segments: [],
|
|
51
|
-
pendingApprovals: new Map(),
|
|
52
|
-
executingTools: new Map()
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// Configuring message processing
|
|
58
|
+
// Configure message processing with batch approvals enabled
|
|
56
59
|
const options: MessageProcessingOptions = {
|
|
57
60
|
assistantName: 'Mingo',
|
|
58
61
|
assistantType: 'mingo',
|
|
59
|
-
batchApprovalsEnabled: true,
|
|
60
|
-
displayApprovalTypes: ['shell', '
|
|
62
|
+
batchApprovalsEnabled: true, // consumer sets this from their feature flag
|
|
63
|
+
displayApprovalTypes: ['shell', 'file_write'],
|
|
61
64
|
onApprove: async (requestId) => {
|
|
62
|
-
await
|
|
65
|
+
await fetch(`/api/approvals/${requestId}/approve`, { method: 'POST' })
|
|
66
|
+
},
|
|
67
|
+
onReject: async (requestId) => {
|
|
68
|
+
await fetch(`/api/approvals/${requestId}/reject`, { method: 'POST' })
|
|
63
69
|
},
|
|
64
|
-
onReject: (requestId) => {
|
|
65
|
-
logRejection(requestId)
|
|
66
|
-
}
|
|
67
70
|
}
|
|
68
|
-
|
|
71
|
+
|
|
72
|
+
// Initialize accumulator state
|
|
73
|
+
const state: AccumulatorState = {
|
|
74
|
+
segments: [],
|
|
75
|
+
pendingApprovals: new Map(),
|
|
76
|
+
executingTools: new Map(),
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Source:** [`processing.types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/processing.types.ts)
|
|
@@ -1,41 +1,56 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: cae6679d748353879069b316add2f081 -->
|
|
2
|
+
Unified contract type definitions for the `useChat` hook's transport-agnostic return shape, shared by both the SSE (Guide mode) and NATS (Mingo mode) transport adapters.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
| Export | Kind | Description |
|
|
7
|
-
|
|
8
|
-
| `
|
|
9
|
-
| `
|
|
10
|
-
| `
|
|
11
|
-
| `
|
|
12
|
-
| `
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `DialogTokenUsage` | Interface | Per-dialog token usage snapshot from the Mingo backend's GraphQL `dialogs` endpoint |
|
|
9
|
+
| `ChatConnectionState` | Type | Transport-level connection status: `'connected' \| 'connecting' \| 'disconnected'` |
|
|
10
|
+
| `StreamingPhase` | Type | Granular streaming indicator: `'idle' \| 'thinking' \| 'streaming'` |
|
|
11
|
+
| `UnifiedUsageBreakdown` | Interface | SSE-only sub-call token costs for the Haiku rewriter/classifier/summarizer pipeline |
|
|
12
|
+
| `UnifiedChatMessage` | Interface | Transport-agnostic message shape; Guide-only fields (`sources`, `chatRefs`) are optional |
|
|
13
|
+
| `UnifiedSendMessageOptions` | Interface | Options accepted by `sendMessage` honoured by both transports |
|
|
14
|
+
| `UnifiedChatState` | Interface | **Primary contract** — the full return shape both transport hooks must satisfy |
|
|
13
15
|
|
|
14
16
|
## Usage Example
|
|
15
17
|
|
|
16
18
|
```typescript
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
import type {
|
|
20
|
+
UnifiedChatState,
|
|
21
|
+
UnifiedChatMessage,
|
|
22
|
+
UnifiedSendMessageOptions,
|
|
23
|
+
StreamingPhase,
|
|
24
|
+
} from './unified-chat-state.types'
|
|
25
|
+
|
|
26
|
+
// Consuming the contract without branching on transport mode
|
|
27
|
+
function MyChatShell({ chat }: { chat: UnifiedChatState }) {
|
|
21
28
|
const { messages, isLoading, streamingPhase, sendMessage, stopMessage } = chat
|
|
22
29
|
|
|
23
|
-
async
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
const handleSend = async (text: string, opts?: UnifiedSendMessageOptions) => {
|
|
31
|
+
await sendMessage(text, {
|
|
32
|
+
hidden: false,
|
|
33
|
+
attachments: opts?.attachments,
|
|
34
|
+
contextItems: opts?.contextItems,
|
|
35
|
+
})
|
|
26
36
|
}
|
|
27
37
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{streamingPhase === 'streaming' && <span>Streaming...</span>}
|
|
34
|
-
<MessageList messages={messages.filter(m => !m.hidden)} />
|
|
35
|
-
<ChatInput onSubmit={handleSubmit} disabled={isLoading} onStop={stopMessage} />
|
|
36
|
-
</>
|
|
37
|
-
)
|
|
38
|
+
// SSE-only fields are null in Mingo mode — guard before rendering
|
|
39
|
+
const modelLabel = chat.currentModelLabel ?? 'AI'
|
|
40
|
+
const phase: StreamingPhase = streamingPhase
|
|
41
|
+
|
|
42
|
+
return { messages, isLoading, phase, modelLabel, handleSend, stopMessage }
|
|
38
43
|
}
|
|
39
44
|
```
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
## Transport Compatibility
|
|
47
|
+
|
|
48
|
+
| Field | SSE (Guide) | NATS (Mingo) |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| `sources`, `chatRefs` | ✅ Populated | `undefined` |
|
|
51
|
+
| `currentProvider` / `currentModelLabel` | ✅ Populated | `null` |
|
|
52
|
+
| `currentUsageBreakdown` | ✅ After trailing frame | `null` |
|
|
53
|
+
| `DialogTokenUsage` (separate) | `null` | ✅ From GraphQL |
|
|
54
|
+
| `discussRef` / `displayRef` | ✅ Active | no-op |
|
|
55
|
+
|
|
56
|
+
> **Source:** [`unified-chat-state.types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/unified-chat-state.types.ts)
|
|
@@ -1,41 +1,30 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
|
|
1
|
+
<!-- source-hash: d15c6ea0015118d3460fb4327e86fe26 -->
|
|
2
|
+
Backwards-compatibility re-export stub that preserves existing import paths for `ContentRef` and `ContentRefWithReason` after their canonical definitions were relocated to `src/types/content-ref.ts`.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
| Field | Type | Required | Description |
|
|
9
|
-
|-------|------|----------|-------------|
|
|
10
|
-
| `type` | `string` | ✅ | Content type identifier (e.g., `"video"`, `"article"`) |
|
|
11
|
-
| `id` | `string` | ✅ | Unique content identifier |
|
|
12
|
-
| `slug` | `string` | ✅ | URL-friendly slug |
|
|
13
|
-
| `url` | `string` | ✅ | Canonical URL of the referenced content |
|
|
14
|
-
| `targetPlatform` | `string \| null` | ❌ | Platform hint (e.g., `"youtube"`, `"notion"`) |
|
|
15
|
-
| `title` | `string` | ✅ | Display title |
|
|
16
|
-
| `summary` | `string` | ❌ | Short description or excerpt |
|
|
17
|
-
| `image_url` | `string` | ❌ | Thumbnail or preview image URL |
|
|
18
|
-
| `image_bg_color` | `string` | ❌ | Background color for image placeholder |
|
|
19
|
-
| `visibility` | `'public' \| 'internal'` | ✅ | Access scope |
|
|
20
|
-
| `display_order` | `number` | ✅ | Sort position within its parent list |
|
|
6
|
+
- **`ContentRef`** — re-exported from `src/types/content-ref.ts`; the canonical content reference type shared across the related-content rail and chat entities.
|
|
7
|
+
- **`ContentRefWithReason`** — re-exported from `src/types/content-ref.ts`; extends `ContentRef` with a reason field.
|
|
21
8
|
|
|
22
9
|
## Usage Example
|
|
23
10
|
|
|
24
11
|
```typescript
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
title: 'Q1 2025 Investor Update',
|
|
34
|
-
summary: 'Quarterly performance highlights and roadmap preview.',
|
|
35
|
-
image_url: 'https://img.youtube.com/vi/abc123/hqdefault.jpg',
|
|
36
|
-
visibility: 'internal',
|
|
37
|
-
display_order: 1,
|
|
12
|
+
// Existing imports continue to work unchanged — no migration required.
|
|
13
|
+
import type { ContentRef, ContentRefWithReason } from './content-ref';
|
|
14
|
+
|
|
15
|
+
const ref: ContentRef = { id: '123', type: 'article' };
|
|
16
|
+
|
|
17
|
+
const refWithReason: ContentRefWithReason = {
|
|
18
|
+
...ref,
|
|
19
|
+
reason: 'Related to current investor update',
|
|
38
20
|
};
|
|
39
21
|
```
|
|
40
22
|
|
|
41
|
-
> **Note:**
|
|
23
|
+
> **Note:** Prefer importing directly from the canonical location for new code:
|
|
24
|
+
> ```typescript
|
|
25
|
+
> import type { ContentRef } from 'src/types/content-ref';
|
|
26
|
+
> ```
|
|
27
|
+
|
|
28
|
+
## Source
|
|
29
|
+
|
|
30
|
+
[`content-ref.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/content-ref.ts)
|
|
@@ -1,35 +1,33 @@
|
|
|
1
|
-
<!-- source-hash:
|
|
2
|
-
Defines the wire-shape types
|
|
1
|
+
<!-- source-hash: ef4cd58c55bef9dac453eefe4b6067ba -->
|
|
2
|
+
Defines the wire-shape types for investor update entities used in chat cards and `/api/investor-updates` API responses, plus a pure date-range formatter utility.
|
|
3
3
|
|
|
4
4
|
## Key Components
|
|
5
5
|
|
|
6
6
|
### Interfaces
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
| `InvestorUpdateHighlights` | Grouped collections of `HighlightEntry` items by category |
|
|
13
|
-
| `InvestorUpdate` | Full wire shape for an investor update — covers content, media, SEO, HubSpot, authorship, and visibility |
|
|
8
|
+
- **`MetricEntry`** — A single financial or operational metric with current/previous values, optional percentage change, and a `public | internal` visibility flag
|
|
9
|
+
- **`HighlightEntry`** — A titled highlight item (e.g. product milestone, community update) with visibility control
|
|
10
|
+
- **`InvestorUpdateHighlights`** — Groups highlight entries by category: `key_highlights`, `product_milestones`, `community_updates`, `upcoming_priorities`, and `financial_notes`
|
|
11
|
+
- **`InvestorUpdate`** — The primary entity shape covering all update fields: content, video assets, financials, metrics, SEO metadata, HubSpot integration IDs, and audit timestamps
|
|
14
12
|
|
|
15
13
|
### Functions
|
|
16
14
|
|
|
17
|
-
- **`formatInvestorUpdatePeriod`** —
|
|
15
|
+
- **`formatInvestorUpdatePeriod(start, end, options?)`** — Formats a date range as a human-readable string (e.g. `Mar 2025 - May 2025`). Renders `?` for missing endpoints. Pins to UTC to ensure SSR/client hydration consistency.
|
|
18
16
|
|
|
19
17
|
## Usage Example
|
|
20
18
|
|
|
21
19
|
```typescript
|
|
22
|
-
import type { InvestorUpdate, MetricEntry } from '
|
|
23
|
-
import { formatInvestorUpdatePeriod } from '
|
|
20
|
+
import type { InvestorUpdate, MetricEntry } from '@openframe-oss-lib/investor-update';
|
|
21
|
+
import { formatInvestorUpdatePeriod } from '@openframe-oss-lib/investor-update';
|
|
24
22
|
|
|
25
|
-
// Format a period
|
|
23
|
+
// Format a period label for display
|
|
26
24
|
const label = formatInvestorUpdatePeriod('2025-03-01', '2025-05-31');
|
|
27
25
|
// → "Mar 2025 - May 2025"
|
|
28
26
|
|
|
29
27
|
const labelLong = formatInvestorUpdatePeriod('2025-03-01', null, { monthFormat: 'long' });
|
|
30
28
|
// → "March 2025 - ?"
|
|
31
29
|
|
|
32
|
-
//
|
|
30
|
+
// Typing a metric entry
|
|
33
31
|
const mrr: MetricEntry = {
|
|
34
32
|
current: 42000,
|
|
35
33
|
previous: 38000,
|
|
@@ -40,6 +38,6 @@ const mrr: MetricEntry = {
|
|
|
40
38
|
|
|
41
39
|
## Notes
|
|
42
40
|
|
|
43
|
-
-
|
|
44
|
-
- `section_visibility`
|
|
45
|
-
-
|
|
41
|
+
- Only **types** and the pure `formatInvestorUpdatePeriod` formatter are exported here. Server-side data utilities and visibility filters remain hub-side.
|
|
42
|
+
- `section_visibility` allows per-section `public | internal` gating on the `InvestorUpdate` object independent of field-level `MetricEntry` / `HighlightEntry` visibility.
|
|
43
|
+
- Source: [`investor-update.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/investor-update.ts)
|