@drawnagency/primitives 0.1.113 → 0.1.115
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/README.md +1 -1
- package/dist/auth/cookies.d.ts +39 -0
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/index.js +3 -3
- package/dist/chunk-4WQ36ZP7.js +83 -0
- package/dist/{chunk-REDDTTGJ.js → chunk-4Y2JQQZL.js} +19 -1
- package/dist/chunk-5GFACGSN.js +6 -0
- package/dist/{chunk-AHALSCQH.js → chunk-67P34WNW.js} +76 -131
- package/dist/{chunk-S2L3BPLS.js → chunk-7SX42OP4.js} +1 -1
- package/dist/{chunk-GGXZZ77Z.js → chunk-AASEGXNT.js} +18 -1
- package/dist/chunk-APIJPTFG.js +64 -0
- package/dist/{chunk-WKZ7OENC.js → chunk-BQ5TZZUE.js} +5 -1
- package/dist/chunk-CDBURDPX.js +90 -0
- package/dist/chunk-DFKTF3CH.js +0 -0
- package/dist/chunk-DIMDRBFK.js +11 -0
- package/dist/chunk-DJABADOO.js +131 -0
- package/dist/{chunk-NHN2LSIU.js → chunk-DJOGPSRU.js} +31 -68
- package/dist/{chunk-KR2MHTNJ.js → chunk-FHTKSELX.js} +610 -62
- package/dist/{chunk-WUJ3XNFI.js → chunk-GGYY3JQJ.js} +19 -24
- package/dist/chunk-GNF6KFQ7.js +18 -0
- package/dist/{chunk-FRE2CCLV.js → chunk-HHNPSKPT.js} +5 -79
- package/dist/{chunk-IINIZBQB.js → chunk-JCDZAFX2.js} +30 -10
- package/dist/chunk-JR24U7FJ.js +120 -0
- package/dist/{chunk-BDFTMGCL.js → chunk-JXATNKLV.js} +11 -10
- package/dist/{chunk-SW6PCQQD.js → chunk-KQA772WQ.js} +2 -1
- package/dist/{chunk-6BZ2KNTP.js → chunk-NX7TFHA4.js} +195 -65
- package/dist/{chunk-VWWY5TL5.js → chunk-O37AV27P.js} +14 -75
- package/dist/chunk-RIITGTV3.js +275 -0
- package/dist/{chunk-HBULBDGP.js → chunk-S37DZPHW.js} +1 -1
- package/dist/chunk-S7QRHUWO.js +8 -0
- package/dist/{chunk-Z7W3DQTR.js → chunk-T26HAKW3.js} +424 -42
- package/dist/{chunk-4I5OO5UB.js → chunk-TEOAKGZA.js} +0 -1
- package/dist/{chunk-GPPVYLEI.js → chunk-UUUSJDIG.js} +1 -1
- package/dist/chunk-VY3IFGE3.js +70 -0
- package/dist/chunk-WYOFQHKI.js +176 -0
- package/dist/{chunk-4RNF2DRG.js → chunk-XDEPXTBY.js} +0 -2
- package/dist/{chunk-DS4GCYV2.js → chunk-YV3YSZEB.js} +223 -16
- package/dist/collab/rebase.d.ts +2 -1
- package/dist/collab/rebase.d.ts.map +1 -1
- package/dist/collab/rebase.js +24 -9
- package/dist/components/brandguide/ColorsEditable.d.ts.map +1 -1
- package/dist/components/chat/ChatPanel.d.ts.map +1 -1
- package/dist/components/chat/ChatWidget.d.ts.map +1 -1
- package/dist/components/docfile/DocFilePane.d.ts.map +1 -1
- package/dist/components/editor/ChildBlockWrapper.d.ts.map +1 -1
- package/dist/components/editor/ConflictDialog.d.ts.map +1 -1
- package/dist/components/editor/DragHandle.d.ts +12 -2
- package/dist/components/editor/DragHandle.d.ts.map +1 -1
- package/dist/components/editor/DropEdgeIndicator.d.ts +15 -6
- package/dist/components/editor/DropEdgeIndicator.d.ts.map +1 -1
- package/dist/components/editor/NavGroupRow.d.ts +4 -1
- package/dist/components/editor/NavGroupRow.d.ts.map +1 -1
- package/dist/components/editor/PagesModal.d.ts.map +1 -1
- package/dist/components/editor/SectionWrapper.d.ts +1 -1
- package/dist/components/editor/SectionWrapper.d.ts.map +1 -1
- package/dist/components/editor/SettingsForm.d.ts.map +1 -1
- package/dist/components/editor/TagIndicator.d.ts +15 -0
- package/dist/components/editor/TagIndicator.d.ts.map +1 -0
- package/dist/components/editor/index.js +150 -79
- package/dist/components/primitives/DocumentDropZone.d.ts +1 -1
- package/dist/components/primitives/EditableGrid.d.ts.map +1 -1
- package/dist/components/primitives/EditableList.d.ts.map +1 -1
- package/dist/components/primitives/HeadingSection.d.ts +4 -1
- package/dist/components/primitives/HeadingSection.d.ts.map +1 -1
- package/dist/components/primitives/ResolvedMedia.d.ts +5 -1
- package/dist/components/primitives/ResolvedMedia.d.ts.map +1 -1
- package/dist/components/primitives/{defineHeadingSection.d.ts → define-heading-section.d.ts} +1 -1
- package/dist/components/primitives/define-heading-section.d.ts.map +1 -0
- package/dist/components/primitives/{gridDrop.d.ts → grid-drop.d.ts} +1 -1
- package/dist/components/primitives/grid-drop.d.ts.map +1 -0
- package/dist/components/primitives/index.d.ts +1 -1
- package/dist/components/primitives/index.d.ts.map +1 -1
- package/dist/components/primitives/index.js +22 -154
- package/dist/components/sections/Button/CTAButton.d.ts.map +1 -1
- package/dist/components/sections/DoDontMedia/DoDontMediaBlock.d.ts +2 -6
- package/dist/components/sections/DoDontMedia/DoDontMediaBlock.d.ts.map +1 -1
- package/dist/components/sections/DoDontMedia/index.d.ts +8 -0
- package/dist/components/sections/DoDontMedia/index.d.ts.map +1 -1
- package/dist/components/sections/IconList/IconList.d.ts +2 -1
- package/dist/components/sections/IconList/IconList.d.ts.map +1 -1
- package/dist/components/sections/IconList/IconListSettings.d.ts +2 -1
- package/dist/components/sections/IconList/IconListSettings.d.ts.map +1 -1
- package/dist/components/sections/IconList/index.d.ts +1 -0
- package/dist/components/sections/IconList/index.d.ts.map +1 -1
- package/dist/components/sections/Media/MediaBlock.d.ts +2 -1
- package/dist/components/sections/Media/MediaBlock.d.ts.map +1 -1
- package/dist/components/sections/Media/index.d.ts +8 -0
- package/dist/components/sections/Media/index.d.ts.map +1 -1
- package/dist/components/sections/Reference/ReferenceList.d.ts +35 -0
- package/dist/components/sections/Reference/ReferenceList.d.ts.map +1 -0
- package/dist/components/sections/Reference/ReferenceSettings.d.ts +12 -0
- package/dist/components/sections/Reference/ReferenceSettings.d.ts.map +1 -0
- package/dist/components/sections/Reference/index.d.ts +9 -0
- package/dist/components/sections/Reference/index.d.ts.map +1 -0
- package/dist/components/sections/SectionSummary/SectionSummaryBlock.d.ts +38 -0
- package/dist/components/sections/SectionSummary/SectionSummaryBlock.d.ts.map +1 -0
- package/dist/components/sections/SectionSummary/SectionSummarySettings.d.ts +20 -0
- package/dist/components/sections/SectionSummary/SectionSummarySettings.d.ts.map +1 -0
- package/dist/components/sections/SectionSummary/index.d.ts +33 -0
- package/dist/components/sections/SectionSummary/index.d.ts.map +1 -0
- package/dist/components/sections/all-sections.d.ts +53 -0
- package/dist/components/sections/all-sections.d.ts.map +1 -1
- package/dist/components/sections/brand-guide.d.ts +41 -2
- package/dist/components/sections/brand-guide.d.ts.map +1 -1
- package/dist/components/sections/brand-guide.js +17 -10
- package/dist/components/sections/core-sections.d.ts +14 -0
- package/dist/components/sections/core-sections.d.ts.map +1 -1
- package/dist/components/sections/register-schemas.js +25 -18
- package/dist/components/sections/register.js +25 -18
- package/dist/components/shared/BrandSwatchesContext.d.ts +9 -0
- package/dist/components/shared/BrandSwatchesContext.d.ts.map +1 -0
- package/dist/components/shared/Button.d.ts +11 -3
- package/dist/components/shared/Button.d.ts.map +1 -1
- package/dist/components/shared/Checkbox.d.ts +6 -0
- package/dist/components/shared/Checkbox.d.ts.map +1 -1
- package/dist/components/shared/ConfirmDialog.d.ts +25 -0
- package/dist/components/shared/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/shared/ConfirmInline.d.ts +25 -0
- package/dist/components/shared/ConfirmInline.d.ts.map +1 -0
- package/dist/components/shared/ErrorBoundary.d.ts.map +1 -1
- package/dist/components/shared/Fab.d.ts +11 -2
- package/dist/components/shared/Fab.d.ts.map +1 -1
- package/dist/components/shared/FabStack.d.ts +22 -0
- package/dist/components/shared/FabStack.d.ts.map +1 -0
- package/dist/components/shared/HistoryChangesModal.d.ts.map +1 -1
- package/dist/components/shared/HistoryPopover.d.ts.map +1 -1
- package/dist/components/shared/ImageBackgroundField.d.ts +9 -0
- package/dist/components/shared/ImageBackgroundField.d.ts.map +1 -0
- package/dist/components/shared/{UploadRejectionAlert.d.ts → InlineAlert.d.ts} +4 -2
- package/dist/components/shared/InlineAlert.d.ts.map +1 -0
- package/dist/components/shared/Input.d.ts +10 -0
- package/dist/components/shared/Input.d.ts.map +1 -1
- package/dist/components/shared/Navigation.d.ts.map +1 -1
- package/dist/components/shared/Notice.d.ts +10 -0
- package/dist/components/shared/Notice.d.ts.map +1 -0
- package/dist/components/shared/Popover.d.ts.map +1 -1
- package/dist/components/shared/ReferenceSourcesContext.d.ts +25 -0
- package/dist/components/shared/ReferenceSourcesContext.d.ts.map +1 -0
- package/dist/components/shared/Select.d.ts +3 -2
- package/dist/components/shared/Select.d.ts.map +1 -1
- package/dist/components/shared/SplitButton.d.ts.map +1 -1
- package/dist/components/shared/SummaryAnchorsContext.d.ts +10 -0
- package/dist/components/shared/SummaryAnchorsContext.d.ts.map +1 -0
- package/dist/components/shared/Textarea.d.ts +7 -0
- package/dist/components/shared/Textarea.d.ts.map +1 -1
- package/dist/components/shared/ToolbarFrame.d.ts +17 -0
- package/dist/components/shared/ToolbarFrame.d.ts.map +1 -0
- package/dist/components/shared/copy.d.ts +13 -0
- package/dist/components/shared/copy.d.ts.map +1 -0
- package/dist/components/shared/icons.d.ts +0 -12
- package/dist/components/shared/icons.d.ts.map +1 -1
- package/dist/components/shell/AudienceDetailsPanel.d.ts +7 -1
- package/dist/components/shell/AudienceDetailsPanel.d.ts.map +1 -1
- package/dist/components/shell/AudienceRow.d.ts.map +1 -1
- package/dist/components/shell/BugReportFAB.d.ts +7 -1
- package/dist/components/shell/BugReportFAB.d.ts.map +1 -1
- package/dist/components/shell/CredentialList.d.ts.map +1 -1
- package/dist/components/shell/DocInspector.d.ts.map +1 -1
- package/dist/components/shell/DocumentEditorOverlay.d.ts.map +1 -1
- package/dist/components/shell/EditorContext.d.ts +4 -0
- package/dist/components/shell/EditorContext.d.ts.map +1 -1
- package/dist/components/shell/EditorLoginForm.d.ts.map +1 -1
- package/dist/components/shell/EditorModal.d.ts.map +1 -1
- package/dist/components/shell/EditorShell.d.ts.map +1 -1
- package/dist/components/shell/HistoryToolbar.d.ts.map +1 -1
- package/dist/components/shell/MediaFolderTile.d.ts +4 -1
- package/dist/components/shell/MediaFolderTile.d.ts.map +1 -1
- package/dist/components/shell/MediaLibraryModal.d.ts.map +1 -1
- package/dist/components/shell/RestoreModal.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsChatbot.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsDisplay.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsModal.d.ts +3 -1
- package/dist/components/shell/SiteSettingsModal.d.ts.map +1 -1
- package/dist/components/shell/SiteSettingsTags.d.ts +13 -0
- package/dist/components/shell/SiteSettingsTags.d.ts.map +1 -0
- package/dist/components/shell/SiteSettingsUsers.d.ts.map +1 -1
- package/dist/components/shell/ViewerLoginForm.d.ts.map +1 -1
- package/dist/components/shell/{blockMoveDispatch.d.ts → block-move-dispatch.d.ts} +1 -1
- package/dist/components/shell/block-move-dispatch.d.ts.map +1 -0
- package/dist/components/shell/reference-sources.d.ts +22 -0
- package/dist/components/shell/reference-sources.d.ts.map +1 -0
- package/dist/deck/index.d.ts +2 -2
- package/dist/deck/index.d.ts.map +1 -1
- package/dist/deck/index.js +1 -3
- package/dist/deck-builder/index.js +10 -17
- package/dist/document/index.d.ts +2 -2
- package/dist/document/index.d.ts.map +1 -1
- package/dist/hooks/useBlockDnd.d.ts +11 -0
- package/dist/hooks/useBlockDnd.d.ts.map +1 -1
- package/dist/hooks/useBuildStatus.d.ts +1 -1
- package/dist/hooks/useBuildStatus.d.ts.map +1 -1
- package/dist/hooks/useDocumentUploads.d.ts +1 -1
- package/dist/hooks/useDocumentUploads.d.ts.map +1 -1
- package/dist/hooks/useEditorPersistence.d.ts +5 -1
- package/dist/hooks/useEditorPersistence.d.ts.map +1 -1
- package/dist/hooks/useEditorPublish.d.ts +6 -3
- package/dist/hooks/useEditorPublish.d.ts.map +1 -1
- package/dist/hooks/useMediaPipeline.d.ts.map +1 -1
- package/dist/hooks/useNotice.d.ts +19 -0
- package/dist/hooks/useNotice.d.ts.map +1 -0
- package/dist/hooks/useSortableNavRow.d.ts +11 -0
- package/dist/hooks/useSortableNavRow.d.ts.map +1 -1
- package/dist/hooks/useSortableRow.d.ts +11 -0
- package/dist/hooks/useSortableRow.d.ts.map +1 -1
- package/dist/hooks/useStackedEscape.d.ts +32 -0
- package/dist/hooks/useStackedEscape.d.ts.map +1 -0
- package/dist/index.js +95 -48
- package/dist/lib/audience-secret.js +2 -2
- package/dist/lib/block-dnd.d.ts +5 -0
- package/dist/lib/block-dnd.d.ts.map +1 -1
- package/dist/lib/block-move.d.ts.map +1 -1
- package/dist/lib/brand-swatches.d.ts +12 -0
- package/dist/lib/brand-swatches.d.ts.map +1 -0
- package/dist/lib/container-ops.d.ts +3 -2
- package/dist/lib/container-ops.d.ts.map +1 -1
- package/dist/lib/dexie.d.ts +7 -1
- package/dist/lib/dexie.d.ts.map +1 -1
- package/dist/lib/dexie.js +12 -3
- package/dist/lib/env.d.ts +4 -0
- package/dist/lib/env.d.ts.map +1 -1
- package/dist/lib/env.js +5 -3
- package/dist/lib/events.d.ts +1 -2
- package/dist/lib/events.d.ts.map +1 -1
- package/dist/lib/image-background.d.ts +8 -0
- package/dist/lib/image-background.d.ts.map +1 -0
- package/dist/lib/image-variant-plan.d.ts +42 -0
- package/dist/lib/image-variant-plan.d.ts.map +1 -0
- package/dist/lib/image-variant-plan.js +53 -0
- package/dist/lib/index-ops.d.ts.map +1 -1
- package/dist/lib/index-ops.js +21 -17
- package/dist/lib/index.d.ts +7 -4
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +55 -26
- package/dist/lib/loader.d.ts +25 -12
- package/dist/lib/loader.d.ts.map +1 -1
- package/dist/lib/media-ops.d.ts +73 -0
- package/dist/lib/media-ops.d.ts.map +1 -0
- package/dist/lib/media-ops.js +60 -0
- package/dist/lib/nav-tree.d.ts +7 -0
- package/dist/lib/nav-tree.d.ts.map +1 -1
- package/dist/lib/nav.d.ts +38 -0
- package/dist/lib/nav.d.ts.map +1 -1
- package/dist/lib/pages.d.ts +2 -1
- package/dist/lib/pages.d.ts.map +1 -1
- package/dist/lib/platform-broker.d.ts +4 -2
- package/dist/lib/platform-broker.d.ts.map +1 -1
- package/dist/lib/platform-broker.js +21 -13
- package/dist/lib/reference-type.d.ts +2 -0
- package/dist/lib/reference-type.d.ts.map +1 -0
- package/dist/lib/reference-validation.d.ts +31 -0
- package/dist/lib/reference-validation.d.ts.map +1 -0
- package/dist/lib/reference-validation.js +39 -0
- package/dist/lib/references.d.ts +74 -0
- package/dist/lib/references.d.ts.map +1 -0
- package/dist/lib/registry.d.ts +35 -0
- package/dist/lib/registry.d.ts.map +1 -1
- package/dist/lib/{safeRedirect.d.ts → safe-redirect.d.ts} +1 -1
- package/dist/lib/safe-redirect.d.ts.map +1 -0
- package/dist/lib/sidecar-diagnostics.d.ts +20 -0
- package/dist/lib/sidecar-diagnostics.d.ts.map +1 -0
- package/dist/lib/sidecars.d.ts +118 -0
- package/dist/lib/sidecars.d.ts.map +1 -0
- package/dist/lib/sidecars.js +23 -0
- package/dist/lib/slug.d.ts +2 -0
- package/dist/lib/slug.d.ts.map +1 -0
- package/dist/lib/storage-tier.d.ts +17 -0
- package/dist/lib/storage-tier.d.ts.map +1 -0
- package/dist/lib/storage-tier.js +29 -0
- package/dist/lib/tags.d.ts +64 -0
- package/dist/lib/tags.d.ts.map +1 -0
- package/dist/lib/theme-vars.d.ts +9 -0
- package/dist/lib/theme-vars.d.ts.map +1 -1
- package/dist/media/index.d.ts +1 -1
- package/dist/media/index.d.ts.map +1 -1
- package/dist/media/index.js +18 -14
- package/dist/media/queue.d.ts +2 -0
- package/dist/media/queue.d.ts.map +1 -1
- package/dist/media/utils.d.ts +2 -0
- package/dist/media/utils.d.ts.map +1 -1
- package/dist/media/{videoPoster.d.ts → video-poster.d.ts} +1 -1
- package/dist/media/video-poster.d.ts.map +1 -0
- package/dist/media/worker.d.ts +1 -35
- package/dist/media/worker.d.ts.map +1 -1
- package/dist/schemas/audience.js +2 -2
- package/dist/schemas/index.d.ts +1 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +25 -13
- package/dist/schemas/media.d.ts +4 -0
- package/dist/schemas/media.d.ts.map +1 -1
- package/dist/schemas/shared.d.ts +26 -0
- package/dist/schemas/shared.d.ts.map +1 -1
- package/dist/schemas/site-config.d.ts +6 -0
- package/dist/schemas/site-config.d.ts.map +1 -1
- package/dist/schemas/tags.d.ts +27 -0
- package/dist/schemas/tags.d.ts.map +1 -0
- package/dist/storage/index.js +2 -1
- package/dist/storage/memory.d.ts +21 -0
- package/dist/storage/memory.d.ts.map +1 -0
- package/dist/storage/memory.js +129 -0
- package/dist/storage/types.d.ts +9 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/types/database.d.ts.map +1 -1
- package/package.json +26 -1
- package/src/auth/cookies.ts +111 -0
- package/src/collab/rebase.ts +29 -9
- package/src/components/brandguide/ColorSwatchSettings.tsx +1 -1
- package/src/components/brandguide/ColorsEditable.tsx +1 -0
- package/src/components/chat/ChatPanel.tsx +2 -3
- package/src/components/chat/ChatWidget.tsx +2 -3
- package/src/components/docfile/DocFilePane.tsx +4 -12
- package/src/components/editor/ChildBlockWrapper.tsx +13 -19
- package/src/components/editor/ConflictDialog.tsx +27 -35
- package/src/components/editor/DeleteButton.tsx +2 -2
- package/src/components/editor/DragHandle.tsx +16 -3
- package/src/components/editor/DropEdgeIndicator.tsx +36 -10
- package/src/components/editor/InsertButton.tsx +2 -2
- package/src/components/editor/NavGroupRow.tsx +43 -14
- package/src/components/editor/PagesModal.tsx +99 -26
- package/src/components/editor/SectionWrapper.tsx +64 -23
- package/src/components/editor/SettingsButton.tsx +2 -2
- package/src/components/editor/SettingsForm.tsx +19 -2
- package/src/components/editor/StatusIndicator.tsx +4 -4
- package/src/components/editor/TagIndicator.tsx +80 -0
- package/src/components/primitives/DocumentDropZone.tsx +1 -1
- package/src/components/primitives/EditableGrid.tsx +15 -14
- package/src/components/primitives/EditableList.tsx +27 -74
- package/src/components/primitives/HeadingSection.tsx +5 -2
- package/src/components/primitives/ResolvedMedia.tsx +13 -0
- package/src/components/primitives/{defineHeadingSection.tsx → define-heading-section.tsx} +1 -0
- package/src/components/primitives/index.ts +1 -1
- package/src/components/primitives/useEditablePlainText.ts +5 -5
- package/src/components/sections/Button/CTAButton.tsx +3 -1
- package/src/components/sections/DoDontMedia/DoDontMediaBlock.tsx +4 -4
- package/src/components/sections/DoDontMedia/index.tsx +12 -3
- package/src/components/sections/IconList/DoDontToggle.tsx +2 -2
- package/src/components/sections/IconList/IconList.tsx +70 -37
- package/src/components/sections/IconList/IconListSettings.tsx +55 -17
- package/src/components/sections/IconList/index.tsx +10 -3
- package/src/components/sections/LinkHeading/index.tsx +1 -1
- package/src/components/sections/Media/MediaBlock.tsx +13 -2
- package/src/components/sections/Media/index.tsx +12 -4
- package/src/components/sections/Reference/ReferenceList.tsx +214 -0
- package/src/components/sections/Reference/ReferenceSettings.tsx +159 -0
- package/src/components/sections/Reference/index.tsx +47 -0
- package/src/components/sections/SectionSummary/SectionSummaryBlock.tsx +476 -0
- package/src/components/sections/SectionSummary/SectionSummarySettings.tsx +126 -0
- package/src/components/sections/SectionSummary/index.tsx +149 -0
- package/src/components/sections/SubHeading/index.tsx +1 -1
- package/src/components/sections/SubSubHeading/index.tsx +1 -1
- package/src/components/sections/brand-guide.ts +4 -3
- package/src/components/sections/core-sections.ts +2 -0
- package/src/components/shared/BrandSwatchesContext.ts +13 -0
- package/src/components/shared/Button.tsx +47 -34
- package/src/components/shared/Checkbox.tsx +21 -12
- package/src/components/shared/ConfirmDialog.tsx +87 -0
- package/src/components/shared/ConfirmInline.tsx +90 -0
- package/src/components/shared/ErrorBoundary.tsx +6 -18
- package/src/components/shared/Fab.tsx +15 -5
- package/src/components/shared/FabStack.tsx +28 -0
- package/src/components/shared/HistoryChangesModal.tsx +43 -41
- package/src/components/shared/HistoryPopover.tsx +7 -20
- package/src/components/shared/ImageBackgroundField.tsx +92 -0
- package/src/components/shared/{UploadRejectionAlert.tsx → InlineAlert.tsx} +21 -5
- package/src/components/shared/Input.tsx +23 -7
- package/src/components/shared/Navigation.tsx +22 -17
- package/src/components/shared/Notice.tsx +59 -0
- package/src/components/shared/Popover.tsx +7 -11
- package/src/components/shared/ReferenceSourcesContext.ts +27 -0
- package/src/components/shared/Select.tsx +5 -2
- package/src/components/shared/SplitButton.tsx +11 -17
- package/src/components/shared/SummaryAnchorsContext.ts +11 -0
- package/src/components/shared/Textarea.tsx +17 -2
- package/src/components/shared/ToolbarFrame.tsx +28 -0
- package/src/components/shared/VideoSourceField.tsx +1 -1
- package/src/components/shared/copy.ts +18 -0
- package/src/components/shared/icons.tsx +1 -17
- package/src/components/shell/AudienceAddForm.tsx +2 -2
- package/src/components/shell/AudienceDetailsPanel.tsx +23 -5
- package/src/components/shell/AudienceRow.tsx +22 -15
- package/src/components/shell/BugReportFAB.tsx +50 -40
- package/src/components/shell/CredentialList.tsx +33 -13
- package/src/components/shell/DocInspector.tsx +3 -12
- package/src/components/shell/DocumentEditorOverlay.tsx +33 -23
- package/src/components/shell/EditorContext.tsx +7 -0
- package/src/components/shell/EditorLoginForm.tsx +26 -36
- package/src/components/shell/EditorModal.tsx +8 -10
- package/src/components/shell/EditorShell.tsx +501 -338
- package/src/components/shell/HistoryToolbar.tsx +24 -26
- package/src/components/shell/MediaFolderTile.tsx +8 -3
- package/src/components/shell/MediaLibraryModal.tsx +59 -60
- package/src/components/shell/ProcessingIndicator.tsx +2 -2
- package/src/components/shell/RestoreModal.tsx +17 -16
- package/src/components/shell/SetPasswordForm.tsx +3 -3
- package/src/components/shell/SiteSettingsChatbot.tsx +61 -42
- package/src/components/shell/SiteSettingsDisplay.tsx +10 -20
- package/src/components/shell/SiteSettingsModal.tsx +24 -2
- package/src/components/shell/SiteSettingsTags.tsx +143 -0
- package/src/components/shell/SiteSettingsUsers.tsx +36 -26
- package/src/components/shell/SiteSettingsViewerAccess.tsx +2 -2
- package/src/components/shell/ViewerLoginForm.tsx +5 -4
- package/src/components/shell/reference-sources.ts +36 -0
- package/src/deck/index.ts +2 -2
- package/src/document/index.ts +2 -2
- package/src/hooks/useBlockDnd.ts +11 -0
- package/src/hooks/useBuildStatus.ts +53 -6
- package/src/hooks/useDocumentUploads.ts +1 -1
- package/src/hooks/useEditorPersistence.ts +141 -35
- package/src/hooks/useEditorPublish.ts +27 -31
- package/src/hooks/useMediaPipeline.ts +30 -24
- package/src/hooks/useNotice.ts +45 -0
- package/src/hooks/useSortableNavRow.ts +11 -0
- package/src/hooks/useSortableRow.ts +22 -2
- package/src/hooks/useStackedEscape.ts +62 -0
- package/src/lib/block-dnd.ts +6 -1
- package/src/lib/block-move.ts +3 -0
- package/src/lib/brand-swatches.ts +32 -0
- package/src/lib/container-ops.ts +5 -3
- package/src/lib/dexie.ts +24 -2
- package/src/lib/env.ts +9 -0
- package/src/lib/events.ts +1 -2
- package/src/lib/image-background.ts +31 -0
- package/src/lib/image-variant-plan.ts +92 -0
- package/src/lib/index-ops.ts +9 -18
- package/src/lib/index.ts +20 -4
- package/src/lib/loader.ts +28 -88
- package/src/lib/media-ops.ts +112 -0
- package/src/lib/nav-tree.ts +104 -4
- package/src/lib/nav.ts +196 -36
- package/src/lib/pages.ts +2 -3
- package/src/lib/platform-broker.ts +32 -14
- package/src/lib/reference-type.ts +3 -0
- package/src/lib/reference-validation.ts +69 -0
- package/src/lib/references.ts +130 -0
- package/src/lib/registry.ts +37 -0
- package/src/lib/sidecar-diagnostics.ts +29 -0
- package/src/lib/sidecars.ts +221 -0
- package/src/lib/slug.ts +6 -0
- package/src/lib/storage-tier.ts +38 -0
- package/src/lib/tags.ts +165 -0
- package/src/lib/theme-vars.ts +23 -0
- package/src/media/index.ts +1 -1
- package/src/media/queue.ts +3 -0
- package/src/media/utils.ts +19 -1
- package/src/media/{videoPoster.ts → video-poster.ts} +2 -2
- package/src/media/worker.ts +17 -8
- package/src/schemas/index.ts +1 -0
- package/src/schemas/media.ts +7 -2
- package/src/schemas/shared.ts +24 -1
- package/src/schemas/site-config.ts +6 -1
- package/src/schemas/tags.ts +33 -0
- package/src/storage/memory.ts +178 -0
- package/src/storage/types.ts +16 -3
- package/src/types/database.ts +2 -0
- package/dist/chunk-DNY72JZN.js +0 -86
- package/dist/chunk-F2LYQPXV.js +0 -77
- package/dist/chunk-JH762VUH.js +0 -128
- package/dist/chunk-K7DYZXVU.js +0 -138
- package/dist/components/primitives/defineHeadingSection.d.ts.map +0 -1
- package/dist/components/primitives/gridDrop.d.ts.map +0 -1
- package/dist/components/shared/UploadRejectionAlert.d.ts.map +0 -1
- package/dist/components/shell/BuildStatusIndicator.d.ts +0 -7
- package/dist/components/shell/BuildStatusIndicator.d.ts.map +0 -1
- package/dist/components/shell/blockMoveDispatch.d.ts.map +0 -1
- package/dist/hooks/index.d.ts +0 -9
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/lib/grid.d.ts +0 -2
- package/dist/lib/grid.d.ts.map +0 -1
- package/dist/lib/safeRedirect.d.ts.map +0 -1
- package/dist/media/videoPoster.d.ts.map +0 -1
- package/src/components/brandguide/ColorSwatchSettings.d.ts.map +0 -1
- package/src/components/brandguide/Colors.d.ts.map +0 -1
- package/src/components/primitives/CustomParagraph.d.ts.map +0 -1
- package/src/components/primitives/EditableGrid.d.ts.map +0 -1
- package/src/components/primitives/EditablePlainText.d.ts.map +0 -1
- package/src/components/primitives/EditableRichText.d.ts.map +0 -1
- package/src/components/primitives/HeadingSection.d.ts.map +0 -1
- package/src/components/primitives/IconPicker.d.ts.map +0 -1
- package/src/components/primitives/LinkPopover.d.ts.map +0 -1
- package/src/components/primitives/MediaSettingsForms.d.ts.map +0 -1
- package/src/components/primitives/ResolvedMedia.d.ts.map +0 -1
- package/src/components/primitives/RichTextToolbar.d.ts.map +0 -1
- package/src/components/primitives/tiptap-presets.d.ts.map +0 -1
- package/src/components/primitives/useEditableCollection.d.ts.map +0 -1
- package/src/components/primitives/useEditablePlainText.d.ts.map +0 -1
- package/src/components/primitives/useEditableRichText.d.ts.map +0 -1
- package/src/components/sections/Button/CTAButton.d.ts.map +0 -1
- package/src/components/sections/Button/index.d.ts.map +0 -1
- package/src/components/sections/Colors/index.d.ts.map +0 -1
- package/src/components/sections/IconList/IconList.d.ts.map +0 -1
- package/src/components/sections/IconList/IconListSettings.d.ts.map +0 -1
- package/src/components/sections/IconList/index.d.ts.map +0 -1
- package/src/components/sections/LinkHeading/index.d.ts.map +0 -1
- package/src/components/sections/Prose/Prose.d.ts.map +0 -1
- package/src/components/sections/Prose/index.d.ts.map +0 -1
- package/src/components/sections/SubHeading/index.d.ts.map +0 -1
- package/src/components/sections/SubSubHeading/index.d.ts.map +0 -1
- package/src/components/sections/register-schemas.d.ts.map +0 -1
- package/src/components/shared/Button.d.ts.map +0 -1
- package/src/components/shared/Checkbox.d.ts.map +0 -1
- package/src/components/shared/FormLabel.d.ts.map +0 -1
- package/src/components/shared/IconButton.d.ts.map +0 -1
- package/src/components/shared/Input.d.ts.map +0 -1
- package/src/components/shared/Select.d.ts.map +0 -1
- package/src/components/shared/icons.d.ts.map +0 -1
- package/src/components/shell/BuildStatusIndicator.tsx +0 -59
- package/src/components/shell/MediaLibraryContext.d.ts.map +0 -1
- package/src/hooks/index.ts +0 -8
- package/src/hooks/useResolvedMedia.d.ts.map +0 -1
- package/src/lib/cn.d.ts.map +0 -1
- package/src/lib/grid.d.ts.map +0 -1
- package/src/lib/grid.ts +0 -7
- package/src/lib/icons.d.ts.map +0 -1
- package/src/lib/loader.d.ts.map +0 -1
- package/src/lib/nav.d.ts.map +0 -1
- package/src/lib/registry.d.ts.map +0 -1
- package/src/lib/sanitize.d.ts.map +0 -1
- package/src/media/github.d.ts.map +0 -1
- package/src/media/index.d.ts.map +0 -1
- package/src/media/queue.d.ts.map +0 -1
- package/src/media/resolve.d.ts.map +0 -1
- package/src/media/types.d.ts.map +0 -1
- package/src/media/utils.d.ts.map +0 -1
- package/src/media/videoPoster.d.ts.map +0 -1
- package/src/schemas/auth.d.ts.map +0 -1
- package/src/schemas/media-grid-options.d.ts.map +0 -1
- package/src/schemas/media.d.ts.map +0 -1
- package/src/schemas/sections.d.ts.map +0 -1
- package/src/schemas/shared.d.ts.map +0 -1
- package/src/schemas/site-config.d.ts.map +0 -1
- /package/dist/{chunk-B7VBSE5X.js → chunk-3JDTXOIG.js} +0 -0
- /package/dist/{chunk-CXZ5YJG4.js → chunk-L45X7DKX.js} +0 -0
- /package/src/components/primitives/{gridDrop.ts → grid-drop.ts} +0 -0
- /package/src/components/shell/{blockMoveDispatch.ts → block-move-dispatch.ts} +0 -0
- /package/src/lib/{safeRedirect.ts → safe-redirect.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/schemas/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;2BAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA6CtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;iEACiE;AACjE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAqD,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,eAAO,MAAM,cAAc,aAEiC,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/schemas/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;2BAKzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AA6CtD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;iEACiE;AACjE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAqD,CAAC;AAE7F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAG9E,eAAO,MAAM,cAAc,aAEiC,CAAC;AAE7D,QAAA,MAAM,4BAA4B;;;;EAAoC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;qDACqD;AACrD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;2BAchC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAOpE,eAAO,MAAM,cAAc,aAG6C,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { NavEntry } from "./nav";
|
|
3
|
+
import type { TagEntry } from "./tags";
|
|
3
4
|
export declare const StatusSchema: z.ZodPipe<z.ZodEnum<{
|
|
4
5
|
draft: "draft";
|
|
5
6
|
live: "live";
|
|
@@ -425,9 +426,14 @@ export declare const IndexSchema: z.ZodPipe<z.ZodPipe<z.ZodObject<{
|
|
|
425
426
|
* index.json. It is optional because most SiteIndex values (tests, legacy
|
|
426
427
|
* content, partial writes) have no nav — reads go through navEntries(), which
|
|
427
428
|
* reconciles a missing nav into a flat one.
|
|
429
|
+
*
|
|
430
|
+
* `tags` follows the same rules for the src/content/tags.json sidecar; read it
|
|
431
|
+
* only through siteTags() (lib/tags.ts). Absent means "not loaded", which every
|
|
432
|
+
* writer treats as "leave tags.json alone" — not as "no tags".
|
|
428
433
|
*/
|
|
429
434
|
export type SiteIndex = z.infer<typeof CanonicalIndexSchema> & {
|
|
430
435
|
nav?: NavEntry[];
|
|
436
|
+
tags?: TagEntry[];
|
|
431
437
|
};
|
|
432
438
|
/** Parse + normalize any raw index (legacy or canonical) to the canonical shape. */
|
|
433
439
|
export declare function normalizeSiteIndex(raw: unknown): SiteIndex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site-config.d.ts","sourceRoot":"","sources":["../../src/schemas/site-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"site-config.d.ts","sourceRoot":"","sources":["../../src/schemas/site-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,eAAO,MAAM,YAAY;;;;;+FAExB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;iBAI5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAQ5D,eAAO,MAAM,cAAc,oGAAqG,CAAC;AAWjI,eAAO,MAAM,gBAAgB;;;EAA+B,CAAC;AAE7D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAI9C,eAAO,MAAM,OAAO,QAA+B,CAAC;AAwCpD,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuEtB,CAAC;AAEL,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAyE,CAAC;AAElG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAEvG,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAE1D;AAMD,eAAO,MAAM,iBAAiB;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;iBAiC5B,CAAC;AACL,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;iBAWlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyE3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* The site's section tags, persisted to `src/content/tags.json`.
|
|
4
|
+
*
|
|
5
|
+
* A sidecar for the same reason nav.json is (see schemas/nav.ts): an older
|
|
6
|
+
* writer re-serializes the Zod-parsed index and silently deletes any key it
|
|
7
|
+
* does not know, so tags must never be a key on index.json or a section file.
|
|
8
|
+
*
|
|
9
|
+
* Each tag owns its assignments (`sectionIds`), so deleting a tag removes it
|
|
10
|
+
* from every section by construction; a deleted section is pruned by
|
|
11
|
+
* `reconcileTags` (lib/tags.ts). Array order is the registry's display order.
|
|
12
|
+
*/
|
|
13
|
+
export declare const TagEntrySchema: z.ZodObject<{
|
|
14
|
+
id: z.ZodString;
|
|
15
|
+
label: z.ZodCatch<z.ZodString>;
|
|
16
|
+
sectionIds: z.ZodPipe<z.ZodCatch<z.ZodArray<z.ZodUnknown>>, z.ZodTransform<string[], unknown[]>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
export declare const TagsFileSchema: z.ZodObject<{
|
|
19
|
+
tags: z.ZodArray<z.ZodObject<{
|
|
20
|
+
id: z.ZodString;
|
|
21
|
+
label: z.ZodCatch<z.ZodString>;
|
|
22
|
+
sectionIds: z.ZodPipe<z.ZodCatch<z.ZodArray<z.ZodUnknown>>, z.ZodTransform<string[], unknown[]>>;
|
|
23
|
+
}, z.core.$strip>>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export type TagEntry = z.infer<typeof TagEntrySchema>;
|
|
26
|
+
export type TagsFile = z.infer<typeof TagsFileSchema>;
|
|
27
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/schemas/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;;;iBAYzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;iBAEzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
package/dist/storage/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../chunk-DFKTF3CH.js";
|
|
1
2
|
import {
|
|
2
3
|
ASSET_CACHE_CONTROL,
|
|
3
4
|
DOCUMENT_CACHE_CONTROL,
|
|
@@ -7,7 +8,7 @@ import {
|
|
|
7
8
|
NothingToPublishError,
|
|
8
9
|
StorageConflictError,
|
|
9
10
|
withIdempotencyTrailer
|
|
10
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-UUUSJDIG.js";
|
|
11
12
|
import "../chunk-JSBRDJBE.js";
|
|
12
13
|
export {
|
|
13
14
|
ASSET_CACHE_CONTROL,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type StorageProvider } from "./types";
|
|
2
|
+
type Files = Record<string, string | Uint8Array | null>;
|
|
3
|
+
export type MemoryStorage = StorageProvider & {
|
|
4
|
+
/**
|
|
5
|
+
* Commit straight to a branch as another writer would — a concurrent editor
|
|
6
|
+
* save on the draft (created from main if absent), or a merge onto main.
|
|
7
|
+
* Returns the new commit's sha.
|
|
8
|
+
*/
|
|
9
|
+
commit(branch: "main" | "draft", files: Files, message?: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Run `fn` once at the start of the next `writeFiles`, before its
|
|
12
|
+
* `baseVersion` check: a writer landing between a caller's read and its write.
|
|
13
|
+
*/
|
|
14
|
+
beforeNextWrite(fn: () => void): void;
|
|
15
|
+
};
|
|
16
|
+
export declare function createMemoryStorage(seed?: {
|
|
17
|
+
main?: Files;
|
|
18
|
+
draft?: Files;
|
|
19
|
+
}): MemoryStorage;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AAWjB,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;AAMxD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG;IAC5C;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzE;;;OAGG;IACH,eAAe,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAO,GAAG,aAAa,CAoI7F"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IDEMPOTENCY_TRAILER,
|
|
3
|
+
NothingToPublishError,
|
|
4
|
+
StorageConflictError
|
|
5
|
+
} from "../chunk-UUUSJDIG.js";
|
|
6
|
+
import "../chunk-JSBRDJBE.js";
|
|
7
|
+
|
|
8
|
+
// src/storage/memory.ts
|
|
9
|
+
var PUBLISHED_PREFIXES = ["src/content/", "assets/"];
|
|
10
|
+
function createMemoryStorage(seed = {}) {
|
|
11
|
+
const commits = /* @__PURE__ */ new Map();
|
|
12
|
+
let counter = 0;
|
|
13
|
+
let mainHead;
|
|
14
|
+
let draftHead = null;
|
|
15
|
+
let pendingHook = null;
|
|
16
|
+
function newCommit(tree, parent, message) {
|
|
17
|
+
counter += 1;
|
|
18
|
+
const sha = counter.toString(16).padStart(40, "0");
|
|
19
|
+
commits.set(sha, { tree, parent, message });
|
|
20
|
+
return sha;
|
|
21
|
+
}
|
|
22
|
+
function applyFiles(base, files) {
|
|
23
|
+
const tree = new Map(base);
|
|
24
|
+
for (const [path, content] of Object.entries(files)) {
|
|
25
|
+
if (content === null) tree.delete(path);
|
|
26
|
+
else tree.set(path, toBytes(content));
|
|
27
|
+
}
|
|
28
|
+
return tree;
|
|
29
|
+
}
|
|
30
|
+
function commitTo(branch, files, message = "commit") {
|
|
31
|
+
if (branch === "main") {
|
|
32
|
+
mainHead = newCommit(applyFiles(commits.get(mainHead).tree, files), mainHead, message);
|
|
33
|
+
return mainHead;
|
|
34
|
+
}
|
|
35
|
+
const parent = draftHead ?? mainHead;
|
|
36
|
+
draftHead = newCommit(applyFiles(commits.get(parent).tree, files), parent, message);
|
|
37
|
+
return draftHead;
|
|
38
|
+
}
|
|
39
|
+
function treeFor(options) {
|
|
40
|
+
if (options?.at !== void 0) return commits.get(options.at)?.tree ?? null;
|
|
41
|
+
if (options?.draft) return draftHead === null ? null : commits.get(draftHead).tree;
|
|
42
|
+
return commits.get(mainHead).tree;
|
|
43
|
+
}
|
|
44
|
+
function checkBase(options) {
|
|
45
|
+
if (options && "baseVersion" in options) {
|
|
46
|
+
const expected = options.baseVersion ?? null;
|
|
47
|
+
if (expected !== draftHead) throw new StorageConflictError(draftHead);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
mainHead = newCommit(applyFiles(/* @__PURE__ */ new Map(), seed.main ?? {}), null, "initial");
|
|
51
|
+
if (seed.draft) commitTo("draft", seed.draft, "seed draft");
|
|
52
|
+
return {
|
|
53
|
+
commit: commitTo,
|
|
54
|
+
beforeNextWrite(fn) {
|
|
55
|
+
pendingHook = fn;
|
|
56
|
+
},
|
|
57
|
+
async writeFiles(files, message, options) {
|
|
58
|
+
const hook = pendingHook;
|
|
59
|
+
pendingHook = null;
|
|
60
|
+
hook?.();
|
|
61
|
+
checkBase(options);
|
|
62
|
+
if (files.length === 0) return { version: draftHead ?? mainHead };
|
|
63
|
+
const parentTree = commits.get(draftHead ?? mainHead).tree;
|
|
64
|
+
const changes = {};
|
|
65
|
+
for (const file of files) {
|
|
66
|
+
if (file.content === null && !parentTree.has(file.path)) {
|
|
67
|
+
throw new Error(`Cannot delete ${file.path}: it is not on the branch`);
|
|
68
|
+
}
|
|
69
|
+
changes[file.path] = file.content === null || file.content instanceof Uint8Array || file.encoding !== "base64" ? file.content : fromBase64(file.content);
|
|
70
|
+
}
|
|
71
|
+
return { version: commitTo("draft", changes, message) };
|
|
72
|
+
},
|
|
73
|
+
async readFile(path, options) {
|
|
74
|
+
return treeFor(options)?.get(path) ?? null;
|
|
75
|
+
},
|
|
76
|
+
async listDirectory(path, options) {
|
|
77
|
+
const tree = treeFor(options);
|
|
78
|
+
if (!tree) return [];
|
|
79
|
+
const prefix = path.endsWith("/") ? path : `${path}/`;
|
|
80
|
+
const names = [];
|
|
81
|
+
for (const key of tree.keys()) {
|
|
82
|
+
if (!key.startsWith(prefix)) continue;
|
|
83
|
+
const rest = key.slice(prefix.length);
|
|
84
|
+
if (!rest.includes("/")) names.push(rest);
|
|
85
|
+
}
|
|
86
|
+
return names;
|
|
87
|
+
},
|
|
88
|
+
async getVersion() {
|
|
89
|
+
return mainHead;
|
|
90
|
+
},
|
|
91
|
+
async getDraftVersion() {
|
|
92
|
+
return draftHead;
|
|
93
|
+
},
|
|
94
|
+
async promoteDraft() {
|
|
95
|
+
if (draftHead === null) throw new NothingToPublishError();
|
|
96
|
+
const draft = commits.get(draftHead).tree;
|
|
97
|
+
const main = commits.get(mainHead).tree;
|
|
98
|
+
const published = (p) => PUBLISHED_PREFIXES.some((prefix) => p.startsWith(prefix));
|
|
99
|
+
if (![...draft.keys(), ...main.keys()].some(published)) {
|
|
100
|
+
throw new Error("No editor-managed content found on the saved branch \u2014 refusing to publish.");
|
|
101
|
+
}
|
|
102
|
+
const tree = new Map([...main].filter(([p]) => !published(p)));
|
|
103
|
+
for (const [p, bytes] of draft) if (published(p)) tree.set(p, bytes);
|
|
104
|
+
mainHead = newCommit(tree, mainHead, "Publish content via Brand Portal");
|
|
105
|
+
draftHead = null;
|
|
106
|
+
return { version: mainHead };
|
|
107
|
+
},
|
|
108
|
+
async findCommitByIdempotencyKey(key, options) {
|
|
109
|
+
const limit = Math.min(Math.max(options?.limit ?? 30, 1), 100);
|
|
110
|
+
const trailer = `${IDEMPOTENCY_TRAILER}: ${key}`;
|
|
111
|
+
let sha = draftHead;
|
|
112
|
+
for (let seen = 0; sha !== null && seen < limit; seen += 1) {
|
|
113
|
+
const commit = commits.get(sha);
|
|
114
|
+
if (commit.message.split("\n").some((line) => line.trim() === trailer)) return sha;
|
|
115
|
+
sha = commit.parent;
|
|
116
|
+
}
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
function toBytes(content) {
|
|
122
|
+
return typeof content === "string" ? new TextEncoder().encode(content) : content;
|
|
123
|
+
}
|
|
124
|
+
function fromBase64(content) {
|
|
125
|
+
return Uint8Array.from(atob(content), (c) => c.charCodeAt(0));
|
|
126
|
+
}
|
|
127
|
+
export {
|
|
128
|
+
createMemoryStorage
|
|
129
|
+
};
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -25,13 +25,22 @@ export interface StorageProvider {
|
|
|
25
25
|
}>;
|
|
26
26
|
readFile(path: string, options?: {
|
|
27
27
|
draft?: boolean;
|
|
28
|
+
at?: string;
|
|
28
29
|
}): Promise<Uint8Array | null>;
|
|
29
30
|
promoteDraft(): Promise<{
|
|
30
31
|
version: string;
|
|
31
32
|
}>;
|
|
33
|
+
/** The published branch's head. Never a valid `baseVersion`. */
|
|
32
34
|
getVersion(): Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* The draft branch's head, or null when no draft exists — exactly the value
|
|
37
|
+
* `writeFiles` accepts as `baseVersion`.
|
|
38
|
+
*/
|
|
39
|
+
getDraftVersion(): Promise<string | null>;
|
|
40
|
+
/** File basenames directly under `path` (no subdirectories); `[]` when absent. Same options as `readFile`. */
|
|
33
41
|
listDirectory(path: string, options?: {
|
|
34
42
|
draft?: boolean;
|
|
43
|
+
at?: string;
|
|
35
44
|
}): Promise<string[]>;
|
|
36
45
|
/**
|
|
37
46
|
* Find a recent commit on the draft branch whose message carries the given
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aACjB,cAAc,EAAE,MAAM,GAAG,IAAI;gBAA7B,cAAc,EAAE,MAAM,GAAG,IAAI;CAI1D;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;;CAK/C;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CACR,KAAK,EAAE,SAAS,EAAE,EAClB,OAAO,EAAE,MAAM,EAIf,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACxC,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/types/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/types/database.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drawnagency/primitives",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.115",
|
|
4
|
+
"description": "Browser-safe foundation of the Brand Portal framework: Zod schemas, section components, editor shell, hooks, pure libs, collab contract, document engine.",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"exports": {
|
|
6
7
|
"./package.json": "./package.json",
|
|
@@ -80,10 +81,30 @@
|
|
|
80
81
|
"types": "./dist/lib/registry.d.ts",
|
|
81
82
|
"default": "./dist/lib/registry.js"
|
|
82
83
|
},
|
|
84
|
+
"./lib/storage-tier": {
|
|
85
|
+
"types": "./dist/lib/storage-tier.d.ts",
|
|
86
|
+
"default": "./dist/lib/storage-tier.js"
|
|
87
|
+
},
|
|
88
|
+
"./lib/image-variant-plan": {
|
|
89
|
+
"types": "./dist/lib/image-variant-plan.d.ts",
|
|
90
|
+
"default": "./dist/lib/image-variant-plan.js"
|
|
91
|
+
},
|
|
92
|
+
"./lib/media-ops": {
|
|
93
|
+
"types": "./dist/lib/media-ops.d.ts",
|
|
94
|
+
"default": "./dist/lib/media-ops.js"
|
|
95
|
+
},
|
|
96
|
+
"./lib/sidecars": {
|
|
97
|
+
"types": "./dist/lib/sidecars.d.ts",
|
|
98
|
+
"default": "./dist/lib/sidecars.js"
|
|
99
|
+
},
|
|
83
100
|
"./lib/index-ops": {
|
|
84
101
|
"types": "./dist/lib/index-ops.d.ts",
|
|
85
102
|
"default": "./dist/lib/index-ops.js"
|
|
86
103
|
},
|
|
104
|
+
"./lib/reference-validation": {
|
|
105
|
+
"types": "./dist/lib/reference-validation.d.ts",
|
|
106
|
+
"default": "./dist/lib/reference-validation.js"
|
|
107
|
+
},
|
|
87
108
|
"./lib/deck-access": {
|
|
88
109
|
"types": "./dist/lib/deck-access.d.ts",
|
|
89
110
|
"default": "./dist/lib/deck-access.js"
|
|
@@ -160,6 +181,10 @@
|
|
|
160
181
|
"types": "./dist/storage/index.d.ts",
|
|
161
182
|
"default": "./dist/storage/index.js"
|
|
162
183
|
},
|
|
184
|
+
"./storage/memory": {
|
|
185
|
+
"types": "./dist/storage/memory.d.ts",
|
|
186
|
+
"default": "./dist/storage/memory.js"
|
|
187
|
+
},
|
|
163
188
|
"./types/database": {
|
|
164
189
|
"types": "./dist/types/database.d.ts",
|
|
165
190
|
"default": "./dist/types/database.js"
|
package/src/auth/cookies.ts
CHANGED
|
@@ -98,6 +98,117 @@ export async function verifyAudienceToken(token: string): Promise<string | null>
|
|
|
98
98
|
return (await verifyAudienceClaims(token))?.audience ?? null;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
export const IMPERSONATION_COOKIE = "bp-impersonate";
|
|
102
|
+
export const IMPERSONATION_MAX_AGE_SECONDS = 60 * 60;
|
|
103
|
+
|
|
104
|
+
/** The audience someone is viewing the site as (#61). */
|
|
105
|
+
export interface ImpersonationClaims {
|
|
106
|
+
audience: string;
|
|
107
|
+
displayName: string;
|
|
108
|
+
isDefault: boolean;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* The login an impersonation rides on: an editor session, or a sign-in under
|
|
113
|
+
* the site's DEFAULT audience (the client, who can also see Audience Details).
|
|
114
|
+
* No other viewer can impersonate.
|
|
115
|
+
*/
|
|
116
|
+
export type Impersonator =
|
|
117
|
+
| { kind: "editor"; userId: string | null }
|
|
118
|
+
| { kind: "audience"; audience: string; username: string | null };
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Who may impersonate on this request. An editor session wins over an audience
|
|
122
|
+
* cookie when a browser carries both, matching how every route resolves them.
|
|
123
|
+
*/
|
|
124
|
+
export function impersonatorFor(session: Session | null, audience: AudienceClaims | null): Impersonator | null {
|
|
125
|
+
if (session) return { kind: "editor", userId: session.userId };
|
|
126
|
+
if (audience?.isDefault) return { kind: "audience", audience: audience.audience, username: audience.username };
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function sameImpersonator(a: Impersonator, b: Impersonator): boolean {
|
|
131
|
+
if (a.kind === "editor") return b.kind === "editor" && a.userId === b.userId;
|
|
132
|
+
return b.kind === "audience" && a.audience === b.audience && a.username === b.username;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function parseImpersonator(value: unknown): Impersonator | null {
|
|
136
|
+
if (typeof value !== "object" || value === null) return null;
|
|
137
|
+
const v = value as Record<string, unknown>;
|
|
138
|
+
const nullableString = (x: unknown) => (typeof x === "string" ? x : null);
|
|
139
|
+
if (v.kind === "editor") return { kind: "editor", userId: nullableString(v.userId) };
|
|
140
|
+
if (v.kind === "audience" && typeof v.audience === "string" && v.audience !== "") {
|
|
141
|
+
return { kind: "audience", audience: v.audience, username: nullableString(v.username) };
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// Impersonation: "show me the viewer site as this audience". The token is an
|
|
147
|
+
// ADD-ON to a login, never a credential — it is honoured only beside the live
|
|
148
|
+
// login that minted it (see Impersonator), so a leaked cookie grants nothing.
|
|
149
|
+
// It shares SESSION_SECRET with the session and audience tokens, so its claim
|
|
150
|
+
// names are deliberately disjoint from both: no top-level `audience` (or
|
|
151
|
+
// verifyAudienceClaims would accept it as a viewer login) and no `role` (or
|
|
152
|
+
// verifySessionToken would accept it as an editor).
|
|
153
|
+
export async function signImpersonationToken(target: ImpersonationClaims, by: Impersonator): Promise<string> {
|
|
154
|
+
return new jose.SignJWT({
|
|
155
|
+
typ: "impersonation",
|
|
156
|
+
impersonate: target.audience,
|
|
157
|
+
displayName: target.displayName,
|
|
158
|
+
isDefault: target.isDefault,
|
|
159
|
+
by,
|
|
160
|
+
})
|
|
161
|
+
.setProtectedHeader({ alg: "HS256" })
|
|
162
|
+
.setExpirationTime(`${IMPERSONATION_MAX_AGE_SECONDS}s`)
|
|
163
|
+
.setIssuedAt()
|
|
164
|
+
.sign(requireSessionSecret());
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Claims of an impersonation token, or null unless it is validly signed,
|
|
169
|
+
* unexpired, and minted by this exact login: the same editor (by userId), or
|
|
170
|
+
* the same default-audience sign-in (audience + username). That binding is what
|
|
171
|
+
* stops an impersonation outliving its login on a shared browser. Password-mode
|
|
172
|
+
* editors have no per-user id, so there the binding is "any password-mode
|
|
173
|
+
* editor session".
|
|
174
|
+
*/
|
|
175
|
+
export async function verifyImpersonationClaims(
|
|
176
|
+
token: string,
|
|
177
|
+
impersonator: Impersonator,
|
|
178
|
+
): Promise<ImpersonationClaims | null> {
|
|
179
|
+
const secret = requireSessionSecret(); // throws on misconfiguration, before try
|
|
180
|
+
try {
|
|
181
|
+
const { payload } = await jose.jwtVerify(token, secret, { algorithms: ["HS256"] });
|
|
182
|
+
if (payload.typ !== "impersonation") return null;
|
|
183
|
+
const audience = payload.impersonate;
|
|
184
|
+
if (typeof audience !== "string" || audience === "") return null;
|
|
185
|
+
const by = parseImpersonator(payload.by);
|
|
186
|
+
if (!by || !sameImpersonator(by, impersonator)) return null;
|
|
187
|
+
return {
|
|
188
|
+
audience,
|
|
189
|
+
displayName: typeof payload.displayName === "string" && payload.displayName !== "" ? payload.displayName : audience,
|
|
190
|
+
isDefault: payload.isDefault === true,
|
|
191
|
+
};
|
|
192
|
+
} catch {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export function setImpersonationCookie(cookies: CookieLike, token: string, isProduction: boolean): void {
|
|
198
|
+
cookies.set(IMPERSONATION_COOKIE, token, {
|
|
199
|
+
httpOnly: true,
|
|
200
|
+
secure: isProduction,
|
|
201
|
+
sameSite: "lax",
|
|
202
|
+
path: "/",
|
|
203
|
+
maxAge: IMPERSONATION_MAX_AGE_SECONDS,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
/** Paired with `setImpersonationCookie` so the path cannot drift — see `clearSessionCookie`. */
|
|
208
|
+
export function clearImpersonationCookie(cookies: CookieLike): void {
|
|
209
|
+
cookies.delete(IMPERSONATION_COOKIE, { path: "/" });
|
|
210
|
+
}
|
|
211
|
+
|
|
101
212
|
export function setSessionCookie(
|
|
102
213
|
cookies: CookieLike,
|
|
103
214
|
token: string,
|
package/src/collab/rebase.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { LoadedSection } from "../lib/loader";
|
|
5
5
|
import type { SiteIndex } from "../schemas/site-config";
|
|
6
6
|
import { IndexSchema } from "../schemas/site-config";
|
|
7
|
-
import {
|
|
7
|
+
import { liftSidecars, NAV, TAGS } from "../lib/sidecars";
|
|
8
8
|
|
|
9
9
|
export interface RebaseArgs {
|
|
10
10
|
localSections: LoadedSection[];
|
|
@@ -105,19 +105,27 @@ export function reconcileRemoteIndex(remoteIndex: SiteIndex, localIndex: SiteInd
|
|
|
105
105
|
* never touches, so the peer's nav transfers whole; readers go through
|
|
106
106
|
* `navEntries()` → `reconcileNav`, which repairs any drift against the
|
|
107
107
|
* resulting page set. A peer that sends no nav (an older client) leaves ours
|
|
108
|
-
* intact rather than flattening it.
|
|
108
|
+
* intact rather than flattening it. The `tags` sidecar is lifted the same way,
|
|
109
|
+
* for the same reason. */
|
|
109
110
|
export function applyRemoteIndexUpdate(rawRemoteIndex: unknown, localIndex: SiteIndex): SiteIndex | null {
|
|
110
|
-
const
|
|
111
|
+
const lifted = liftSidecars(rawRemoteIndex);
|
|
112
|
+
// safeParse, not parse: this arrives off the network, and a throw inside a
|
|
113
|
+
// collab callback would take down the session rather than one bad message.
|
|
111
114
|
const parsed = IndexSchema.safeParse(rawRemoteIndex);
|
|
112
115
|
if (!parsed.success) return null;
|
|
113
116
|
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
|
|
117
|
-
const nav =
|
|
117
|
+
// A peer's Degraded read is never adopted: installing a lossy tree would arm
|
|
118
|
+
// our next save to write it over the file. Tags' section ids are not pruned
|
|
119
|
+
// to our index here — siteTags reconciles on read, and tags writes reconcile.
|
|
120
|
+
const nav = lifted.nav && !lifted.nav.degraded ? lifted.nav.entries : localIndex.nav;
|
|
121
|
+
const tags = lifted.tags && !lifted.tags.degraded ? lifted.tags.entries : localIndex.tags;
|
|
118
122
|
|
|
119
123
|
const reconciled = reconcileRemoteIndex(parsed.data, localIndex);
|
|
120
|
-
return
|
|
124
|
+
return {
|
|
125
|
+
...reconciled,
|
|
126
|
+
...(nav !== undefined ? { nav } : {}),
|
|
127
|
+
...(tags !== undefined ? { tags } : {}),
|
|
128
|
+
};
|
|
121
129
|
}
|
|
122
130
|
|
|
123
131
|
export function rebaseContent(args: RebaseArgs): RebaseResult {
|
|
@@ -225,9 +233,21 @@ export function rebaseContent(args: RebaseArgs): RebaseResult {
|
|
|
225
233
|
// conflict dialog, so persisted-beats-unsaved is the safe rule. A remote with
|
|
226
234
|
// no nav (an older server that doesn't attach the sidecar) leaves ours intact
|
|
227
235
|
// rather than flattening it; readers repair any drift via reconcileNav.
|
|
228
|
-
const nav = args.
|
|
236
|
+
const nav = NAV.rebase({ base: args.baselineIndex?.nav, local: args.localIndex.nav, remote: args.remoteIndex.nav });
|
|
229
237
|
if (nav !== undefined) index = { ...index, nav };
|
|
230
238
|
|
|
239
|
+
// Tags: three-way, not nav's "persisted wins" — see TAGS.rebase (mergeTags) for why and for
|
|
240
|
+
// the exact rules. Only the dirty branch merges: the clean branch above took
|
|
241
|
+
// the remote's tags as-is, including their absence from an older server,
|
|
242
|
+
// which leaves tags unloaded (so no write touches tags.json) rather than
|
|
243
|
+
// reviving a local copy nothing local edited.
|
|
244
|
+
if (args.localIndexDirty) {
|
|
245
|
+
const tags = TAGS.rebase({ base: args.baselineIndex?.tags, local: args.localIndex.tags, remote: args.remoteIndex.tags });
|
|
246
|
+
// undefined only when neither local nor remote carries tags, in which case
|
|
247
|
+
// the localIndex-derived index above carries none either.
|
|
248
|
+
if (tags !== undefined) index = { ...index, tags };
|
|
249
|
+
}
|
|
250
|
+
|
|
231
251
|
// Partition invariant (unconditional): every id in `merged` must be
|
|
232
252
|
// reachable from `index`. The only ids that can be missing are dirty
|
|
233
253
|
// survivors of a remote deletion — re-link each where the local index had
|