canopycms 0.0.62 → 0.0.64
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 +153 -19
- package/dist/ai/generate.d.ts +4 -5
- package/dist/ai/generate.js +0 -1
- package/dist/ai/handler.d.ts +3 -4
- package/dist/ai/handler.js +0 -1
- package/dist/ai/index.d.ts +15 -7
- package/dist/ai/index.js +9 -1
- package/dist/ai/json-to-markdown.d.ts +1 -2
- package/dist/ai/json-to-markdown.js +11 -2
- package/dist/ai/resolve-branch.d.ts +1 -2
- package/dist/ai/resolve-branch.js +0 -1
- package/dist/ai/strip-mdx.d.ts +0 -1
- package/dist/ai/strip-mdx.js +0 -1
- package/dist/ai/to-plain-text.d.ts +60 -0
- package/dist/ai/to-plain-text.js +301 -0
- package/dist/ai/transform-components.d.ts +1 -2
- package/dist/ai/transform-components.js +70 -6
- package/dist/ai/types.d.ts +1 -2
- package/dist/ai/types.js +0 -1
- package/dist/api/admin-branch-health.d.ts +7 -8
- package/dist/api/admin-branch-health.js +0 -1
- package/dist/api/admin.d.ts +16 -17
- package/dist/api/admin.js +0 -1
- package/dist/api/assets.d.ts +8 -9
- package/dist/api/assets.js +0 -1
- package/dist/api/branch-merge.d.ts +3 -4
- package/dist/api/branch-merge.js +0 -1
- package/dist/api/branch-review.d.ts +5 -6
- package/dist/api/branch-review.js +0 -1
- package/dist/api/branch-status.d.ts +15 -16
- package/dist/api/branch-status.js +0 -1
- package/dist/api/branch-withdraw.d.ts +3 -4
- package/dist/api/branch-withdraw.js +0 -1
- package/dist/api/branch.d.ts +13 -14
- package/dist/api/branch.js +0 -1
- package/dist/api/client.d.ts +14 -15
- package/dist/api/client.js +0 -1
- package/dist/api/comments.d.ts +11 -12
- package/dist/api/comments.js +0 -1
- package/dist/api/content.d.ts +22 -24
- package/dist/api/content.js +132 -18
- package/dist/api/entries-constants.d.ts +0 -1
- package/dist/api/entries-constants.js +0 -1
- package/dist/api/entries.d.ts +12 -13
- package/dist/api/entries.js +12 -2
- package/dist/api/github-sync.d.ts +2 -3
- package/dist/api/github-sync.js +0 -1
- package/dist/api/groups.d.ts +6 -7
- package/dist/api/groups.js +0 -1
- package/dist/api/guards.d.ts +2 -3
- package/dist/api/guards.js +0 -1
- package/dist/api/index.d.ts +18 -19
- package/dist/api/index.js +0 -1
- package/dist/api/permissions.d.ts +10 -11
- package/dist/api/permissions.js +0 -1
- package/dist/api/reference-options.d.ts +3 -4
- package/dist/api/reference-options.js +0 -1
- package/dist/api/request-body-hash.d.ts +0 -1
- package/dist/api/request-body-hash.js +0 -1
- package/dist/api/resolve-references.d.ts +6 -7
- package/dist/api/resolve-references.js +24 -6
- package/dist/api/route-builder.d.ts +2 -3
- package/dist/api/route-builder.js +0 -1
- package/dist/api/schema.d.ts +43 -44
- package/dist/api/schema.js +0 -1
- package/dist/api/settings-helpers.d.ts +2 -3
- package/dist/api/settings-helpers.js +0 -1
- package/dist/api/types.d.ts +6 -7
- package/dist/api/types.js +0 -1
- package/dist/api/user.d.ts +2 -3
- package/dist/api/user.js +0 -1
- package/dist/api/validators.d.ts +3 -4
- package/dist/api/validators.js +0 -1
- package/dist/assets/asset-prefixes.d.ts +1 -2
- package/dist/assets/asset-prefixes.js +0 -1
- package/dist/assets/asset-src.d.ts +17 -5
- package/dist/assets/asset-src.js +15 -3
- package/dist/assets/asset-url.d.ts +28 -7
- package/dist/assets/asset-url.js +20 -15
- package/dist/assets/factory.d.ts +2 -3
- package/dist/assets/factory.js +0 -2
- package/dist/assets/finalize.d.ts +2 -3
- package/dist/assets/finalize.js +0 -1
- package/dist/assets/index.d.ts +12 -13
- package/dist/assets/index.js +0 -1
- package/dist/assets/keys.d.ts +1 -2
- package/dist/assets/keys.js +0 -1
- package/dist/assets/pipeline.d.ts +1 -2
- package/dist/assets/pipeline.js +0 -1
- package/dist/assets/store-local.d.ts +1 -2
- package/dist/assets/store-local.js +0 -1
- package/dist/assets/store-s3.d.ts +2 -4
- package/dist/assets/store-s3.js +0 -1
- package/dist/assets/svg-sanitizer.d.ts +0 -1
- package/dist/assets/svg-sanitizer.js +0 -1
- package/dist/assets/transform-directives.d.ts +0 -1
- package/dist/assets/transform-directives.js +0 -1
- package/dist/assets/transform.d.ts +1 -2
- package/dist/assets/transform.js +0 -1
- package/dist/assets/types.d.ts +0 -1
- package/dist/assets/types.js +0 -1
- package/dist/auth/cache.d.ts +2 -3
- package/dist/auth/cache.js +0 -1
- package/dist/auth/caching-auth-plugin.d.ts +3 -4
- package/dist/auth/caching-auth-plugin.js +0 -1
- package/dist/auth/context-helpers.d.ts +1 -2
- package/dist/auth/context-helpers.js +0 -1
- package/dist/auth/file-based-auth-cache.d.ts +3 -4
- package/dist/auth/file-based-auth-cache.js +0 -1
- package/dist/auth/index.d.ts +6 -7
- package/dist/auth/index.js +0 -1
- package/dist/auth/plugin.d.ts +3 -4
- package/dist/auth/plugin.js +0 -1
- package/dist/auth/types.d.ts +1 -2
- package/dist/auth/types.js +0 -1
- package/dist/authorization/branch.d.ts +58 -7
- package/dist/authorization/branch.js +55 -10
- package/dist/authorization/content.d.ts +6 -7
- package/dist/authorization/content.js +0 -1
- package/dist/authorization/groups/index.d.ts +2 -3
- package/dist/authorization/groups/index.js +0 -1
- package/dist/authorization/groups/loader.d.ts +3 -4
- package/dist/authorization/groups/loader.js +0 -1
- package/dist/authorization/groups/schema.d.ts +1 -2
- package/dist/authorization/groups/schema.js +0 -1
- package/dist/authorization/helpers.d.ts +0 -1
- package/dist/authorization/helpers.js +0 -1
- package/dist/authorization/index.d.ts +11 -12
- package/dist/authorization/index.js +0 -1
- package/dist/authorization/path.d.ts +4 -5
- package/dist/authorization/path.js +0 -1
- package/dist/authorization/permissions/index.d.ts +2 -3
- package/dist/authorization/permissions/index.js +0 -1
- package/dist/authorization/permissions/loader.d.ts +4 -5
- package/dist/authorization/permissions/loader.js +0 -1
- package/dist/authorization/permissions/schema.d.ts +2 -3
- package/dist/authorization/permissions/schema.js +0 -1
- package/dist/authorization/protected-branch.d.ts +2 -3
- package/dist/authorization/protected-branch.js +0 -1
- package/dist/authorization/settings-file-store.d.ts +1 -2
- package/dist/authorization/settings-file-store.js +0 -1
- package/dist/authorization/types.d.ts +7 -8
- package/dist/authorization/types.js +0 -1
- package/dist/authorization/validation.d.ts +1 -2
- package/dist/authorization/validation.js +0 -1
- package/dist/branch-health.d.ts +2 -3
- package/dist/branch-health.js +0 -1
- package/dist/branch-metadata.d.ts +2 -3
- package/dist/branch-metadata.js +0 -1
- package/dist/branch-registry.d.ts +1 -2
- package/dist/branch-registry.js +0 -1
- package/dist/branch-schema-cache.d.ts +4 -5
- package/dist/branch-schema-cache.js +0 -1
- package/dist/branch-workspace.d.ts +4 -5
- package/dist/branch-workspace.js +0 -1
- package/dist/build/generate-ai-content.d.ts +21 -5
- package/dist/build/generate-ai-content.js +98 -6
- package/dist/build/index.d.ts +2 -3
- package/dist/build/index.js +0 -1
- package/dist/build-canopy.d.ts +48 -0
- package/dist/build-canopy.js +50 -0
- package/dist/build-mode.d.ts +1 -2
- package/dist/build-mode.js +0 -1
- package/dist/cli/cli.d.ts +1 -2
- package/dist/cli/cli.js +1192 -495
- package/dist/cli/generate-ai-content.d.ts +0 -1
- package/dist/cli/generate-ai-content.js +1062 -370
- package/dist/cli/init.d.ts +1 -2
- package/dist/cli/init.js +12 -2
- package/dist/cli/migrate.d.ts +5 -3
- package/dist/cli/migrate.js +5 -3
- package/dist/cli/project-detect.d.ts +5 -2
- package/dist/cli/project-detect.js +5 -1
- package/dist/cli/project-root.d.ts +0 -1
- package/dist/cli/project-root.js +0 -1
- package/dist/cli/sync.d.ts +0 -1
- package/dist/cli/sync.js +0 -1
- package/dist/cli/template-files/canopycms.config.ts.template +18 -1
- package/dist/cli/template-files/deploy-cms.yml.template +8 -6
- package/dist/cli/templates.d.ts +0 -1
- package/dist/cli/templates.js +0 -1
- package/dist/client.d.ts +13 -14
- package/dist/client.js +0 -1
- package/dist/comment-store.d.ts +0 -1
- package/dist/comment-store.js +0 -1
- package/dist/config/flatten.d.ts +1 -2
- package/dist/config/flatten.js +0 -1
- package/dist/config/helpers.d.ts +3 -4
- package/dist/config/helpers.js +2 -2
- package/dist/config/index.d.ts +10 -11
- package/dist/config/index.js +0 -1
- package/dist/config/schemas/collection.d.ts +0 -1
- package/dist/config/schemas/collection.js +0 -1
- package/dist/config/schemas/config.d.ts +7 -4
- package/dist/config/schemas/config.js +12 -1
- package/dist/config/schemas/field.d.ts +3 -1
- package/dist/config/schemas/field.js +5 -1
- package/dist/config/schemas/media.d.ts +0 -1
- package/dist/config/schemas/media.js +0 -1
- package/dist/config/schemas/permissions.d.ts +0 -1
- package/dist/config/schemas/permissions.js +0 -1
- package/dist/config/types.d.ts +55 -9
- package/dist/config/types.js +0 -1
- package/dist/config/validation.d.ts +1 -2
- package/dist/config/validation.js +0 -1
- package/dist/config.d.ts +2 -3
- package/dist/config.js +0 -1
- package/dist/content-id-index.d.ts +1 -2
- package/dist/content-id-index.js +0 -1
- package/dist/content-index-generation.d.ts +0 -1
- package/dist/content-index-generation.js +0 -1
- package/dist/content-index-registry.d.ts +0 -1
- package/dist/content-index-registry.js +0 -1
- package/dist/content-listing.d.ts +137 -16
- package/dist/content-listing.js +175 -41
- package/dist/content-reader.d.ts +44 -8
- package/dist/content-reader.js +39 -7
- package/dist/content-store.d.ts +147 -7
- package/dist/content-store.js +294 -22
- package/dist/content-tree.d.ts +44 -5
- package/dist/content-tree.js +47 -11
- package/dist/context.d.ts +38 -15
- package/dist/context.js +55 -5
- package/dist/dev-content-watcher.d.ts +2 -3
- package/dist/dev-content-watcher.js +0 -1
- package/dist/editor/BranchManager.d.ts +4 -5
- package/dist/editor/BranchManager.js +0 -1
- package/dist/editor/CanopyEditor.d.ts +2 -3
- package/dist/editor/CanopyEditor.js +1 -2
- package/dist/editor/CanopyEditorPage.d.ts +2 -3
- package/dist/editor/CanopyEditorPage.js +0 -1
- package/dist/editor/CommentsPanel.d.ts +2 -3
- package/dist/editor/CommentsPanel.js +0 -1
- package/dist/editor/Editor.d.ts +13 -8
- package/dist/editor/Editor.js +4 -5
- package/dist/editor/EditorPanes.d.ts +0 -1
- package/dist/editor/EditorPanes.js +0 -1
- package/dist/editor/EntryNavigator.d.ts +1 -2
- package/dist/editor/EntryNavigator.js +0 -1
- package/dist/editor/FormRenderer.d.ts +2 -3
- package/dist/editor/FormRenderer.js +22 -3
- package/dist/editor/GroupManager.d.ts +2 -3
- package/dist/editor/GroupManager.js +0 -1
- package/dist/editor/PermissionManager.d.ts +2 -3
- package/dist/editor/PermissionManager.js +0 -1
- package/dist/editor/admin/SystemHealthPanel.d.ts +0 -1
- package/dist/editor/admin/SystemHealthPanel.js +0 -1
- package/dist/editor/admin/useSystemHealth.d.ts +2 -3
- package/dist/editor/admin/useSystemHealth.js +0 -1
- package/dist/editor/canopy-path.d.ts +0 -1
- package/dist/editor/canopy-path.js +0 -1
- package/dist/editor/client-reference-resolver.d.ts +13 -4
- package/dist/editor/client-reference-resolver.js +18 -8
- package/dist/editor/comments/BranchComments.d.ts +2 -3
- package/dist/editor/comments/BranchComments.js +0 -1
- package/dist/editor/comments/EntryComments.d.ts +1 -2
- package/dist/editor/comments/EntryComments.js +0 -1
- package/dist/editor/comments/FieldWrapper.d.ts +1 -2
- package/dist/editor/comments/FieldWrapper.js +0 -1
- package/dist/editor/comments/InlineCommentThread.d.ts +2 -3
- package/dist/editor/comments/InlineCommentThread.js +0 -1
- package/dist/editor/comments/ThreadCarousel.d.ts +2 -3
- package/dist/editor/comments/ThreadCarousel.js +0 -1
- package/dist/editor/components/ConfirmDeleteModal.d.ts +0 -1
- package/dist/editor/components/ConfirmDeleteModal.js +0 -1
- package/dist/editor/components/EditorFooter.d.ts +0 -1
- package/dist/editor/components/EditorFooter.js +0 -1
- package/dist/editor/components/EditorHeader.d.ts +4 -5
- package/dist/editor/components/EditorHeader.js +0 -1
- package/dist/editor/components/EditorSidebar.d.ts +1 -2
- package/dist/editor/components/EditorSidebar.js +0 -1
- package/dist/editor/components/EntryCreateModal.d.ts +0 -1
- package/dist/editor/components/EntryCreateModal.js +21 -10
- package/dist/editor/components/RenameEntryModal.d.ts +0 -1
- package/dist/editor/components/RenameEntryModal.js +0 -1
- package/dist/editor/components/UserBadge.d.ts +2 -3
- package/dist/editor/components/UserBadge.js +0 -1
- package/dist/editor/components/index.d.ts +3 -4
- package/dist/editor/components/index.js +0 -1
- package/dist/editor/context/ApiClientContext.d.ts +9 -3
- package/dist/editor/context/ApiClientContext.js +8 -4
- package/dist/editor/context/AssetContext.d.ts +26 -2
- package/dist/editor/context/AssetContext.js +23 -3
- package/dist/editor/context/EditorStateContext.d.ts +1 -2
- package/dist/editor/context/EditorStateContext.js +0 -1
- package/dist/editor/context/SWRProvider.d.ts +0 -1
- package/dist/editor/context/SWRProvider.js +0 -1
- package/dist/editor/context/index.d.ts +4 -5
- package/dist/editor/context/index.js +0 -1
- package/dist/editor/editor-config.d.ts +2 -3
- package/dist/editor/editor-config.js +0 -1
- package/dist/editor/editor-utils.d.ts +22 -10
- package/dist/editor/editor-utils.js +41 -10
- package/dist/editor/fields/BlockField.d.ts +1 -2
- package/dist/editor/fields/BlockField.js +0 -1
- package/dist/editor/fields/CodeField.d.ts +0 -1
- package/dist/editor/fields/CodeField.js +0 -1
- package/dist/editor/fields/DateTimeField.d.ts +0 -1
- package/dist/editor/fields/DateTimeField.js +0 -1
- package/dist/editor/fields/ImageField.d.ts +1 -2
- package/dist/editor/fields/ImageField.js +0 -1
- package/dist/editor/fields/InlineGroupField.d.ts +2 -3
- package/dist/editor/fields/InlineGroupField.js +0 -1
- package/dist/editor/fields/MarkdownField.d.ts +0 -1
- package/dist/editor/fields/MarkdownField.js +0 -1
- package/dist/editor/fields/MdxImageDialog.d.ts +0 -1
- package/dist/editor/fields/MdxImageDialog.js +0 -1
- package/dist/editor/fields/NumberField.d.ts +0 -1
- package/dist/editor/fields/NumberField.js +0 -1
- package/dist/editor/fields/NumberListField.d.ts +0 -1
- package/dist/editor/fields/NumberListField.js +0 -1
- package/dist/editor/fields/ObjectField.d.ts +11 -2
- package/dist/editor/fields/ObjectField.js +3 -4
- package/dist/editor/fields/ReferenceField.d.ts +0 -1
- package/dist/editor/fields/ReferenceField.js +8 -3
- package/dist/editor/fields/SelectField.d.ts +0 -1
- package/dist/editor/fields/SelectField.js +0 -1
- package/dist/editor/fields/StringListField.d.ts +0 -1
- package/dist/editor/fields/StringListField.js +0 -1
- package/dist/editor/fields/TextField.d.ts +0 -1
- package/dist/editor/fields/TextField.js +0 -1
- package/dist/editor/fields/ToggleField.d.ts +0 -1
- package/dist/editor/fields/ToggleField.js +0 -1
- package/dist/editor/fields/entry-link/EntryLinkContext.d.ts +1 -2
- package/dist/editor/fields/entry-link/EntryLinkContext.js +0 -1
- package/dist/editor/fields/entry-link/InsertEntryLink.d.ts +0 -1
- package/dist/editor/fields/entry-link/InsertEntryLink.js +0 -1
- package/dist/editor/fields/entry-link/index.d.ts +2 -3
- package/dist/editor/fields/entry-link/index.js +0 -1
- package/dist/editor/group-manager/ExternalGroupsTab.d.ts +1 -2
- package/dist/editor/group-manager/ExternalGroupsTab.js +0 -1
- package/dist/editor/group-manager/GroupCard.d.ts +1 -2
- package/dist/editor/group-manager/GroupCard.js +0 -1
- package/dist/editor/group-manager/GroupForm.d.ts +1 -2
- package/dist/editor/group-manager/GroupForm.js +0 -1
- package/dist/editor/group-manager/InternalGroupsTab.d.ts +1 -2
- package/dist/editor/group-manager/InternalGroupsTab.js +0 -1
- package/dist/editor/group-manager/MemberList.d.ts +1 -2
- package/dist/editor/group-manager/MemberList.js +0 -1
- package/dist/editor/group-manager/hooks/useExternalGroupSearch.d.ts +1 -2
- package/dist/editor/group-manager/hooks/useExternalGroupSearch.js +0 -1
- package/dist/editor/group-manager/hooks/useGroupState.d.ts +1 -2
- package/dist/editor/group-manager/hooks/useGroupState.js +0 -1
- package/dist/editor/group-manager/hooks/useUserSearch.d.ts +1 -2
- package/dist/editor/group-manager/hooks/useUserSearch.js +0 -1
- package/dist/editor/group-manager/index.d.ts +5 -6
- package/dist/editor/group-manager/index.js +0 -1
- package/dist/editor/group-manager/types.d.ts +4 -5
- package/dist/editor/group-manager/types.js +0 -1
- package/dist/editor/hooks/index.d.ts +14 -15
- package/dist/editor/hooks/index.js +0 -1
- package/dist/editor/hooks/useBranchActions.d.ts +0 -1
- package/dist/editor/hooks/useBranchActions.js +0 -1
- package/dist/editor/hooks/useBranchManager.d.ts +4 -5
- package/dist/editor/hooks/useBranchManager.js +0 -1
- package/dist/editor/hooks/useBranchesData.d.ts +2 -3
- package/dist/editor/hooks/useBranchesData.js +0 -1
- package/dist/editor/hooks/useCommentSystem.d.ts +2 -3
- package/dist/editor/hooks/useCommentSystem.js +0 -1
- package/dist/editor/hooks/useCommentsData.d.ts +2 -3
- package/dist/editor/hooks/useCommentsData.js +0 -1
- package/dist/editor/hooks/useDraftManager.d.ts +3 -4
- package/dist/editor/hooks/useDraftManager.js +0 -1
- package/dist/editor/hooks/useEditorLayout.d.ts +1 -2
- package/dist/editor/hooks/useEditorLayout.js +0 -1
- package/dist/editor/hooks/useEntriesData.d.ts +3 -5
- package/dist/editor/hooks/useEntriesData.js +0 -3
- package/dist/editor/hooks/useEntryLinkResolution.d.ts +2 -3
- package/dist/editor/hooks/useEntryLinkResolution.js +0 -1
- package/dist/editor/hooks/useEntryManager.d.ts +5 -7
- package/dist/editor/hooks/useEntryManager.js +8 -3
- package/dist/editor/hooks/useGroupManager.d.ts +2 -3
- package/dist/editor/hooks/useGroupManager.js +0 -1
- package/dist/editor/hooks/usePermissionManager.d.ts +2 -3
- package/dist/editor/hooks/usePermissionManager.js +0 -1
- package/dist/editor/hooks/useReferenceResolution.d.ts +1 -2
- package/dist/editor/hooks/useReferenceResolution.js +8 -3
- package/dist/editor/hooks/useSchemaManager.d.ts +2 -3
- package/dist/editor/hooks/useSchemaManager.js +0 -1
- package/dist/editor/hooks/useUserContext.d.ts +1 -2
- package/dist/editor/hooks/useUserContext.js +8 -3
- package/dist/editor/hooks/useUserMetadata.d.ts +2 -3
- package/dist/editor/hooks/useUserMetadata.js +0 -1
- package/dist/editor/media/AssetCard.d.ts +1 -2
- package/dist/editor/media/AssetCard.js +0 -1
- package/dist/editor/media/CropStep.d.ts +1 -2
- package/dist/editor/media/CropStep.js +0 -1
- package/dist/editor/media/MediaLibrary.d.ts +1 -2
- package/dist/editor/media/MediaLibrary.js +0 -1
- package/dist/editor/media/MediaLibraryBody.d.ts +1 -2
- package/dist/editor/media/MediaLibraryBody.js +0 -1
- package/dist/editor/media/crop-math.d.ts +1 -2
- package/dist/editor/media/crop-math.js +0 -1
- package/dist/editor/media/upload-asset.d.ts +2 -3
- package/dist/editor/media/upload-asset.js +0 -1
- package/dist/editor/media/upload-constants.d.ts +0 -1
- package/dist/editor/media/upload-constants.js +0 -1
- package/dist/editor/media/useAssetUpload.d.ts +1 -2
- package/dist/editor/media/useAssetUpload.js +0 -1
- package/dist/editor/media/xhr-upload.d.ts +0 -1
- package/dist/editor/media/xhr-upload.js +0 -1
- package/dist/editor/permission-manager/GroupSelector.d.ts +1 -2
- package/dist/editor/permission-manager/GroupSelector.js +0 -1
- package/dist/editor/permission-manager/PermissionEditor.d.ts +1 -2
- package/dist/editor/permission-manager/PermissionEditor.js +0 -1
- package/dist/editor/permission-manager/PermissionLevelBadge.d.ts +1 -2
- package/dist/editor/permission-manager/PermissionLevelBadge.js +0 -1
- package/dist/editor/permission-manager/PermissionTree.d.ts +1 -2
- package/dist/editor/permission-manager/PermissionTree.js +0 -1
- package/dist/editor/permission-manager/UserSelector.d.ts +1 -2
- package/dist/editor/permission-manager/UserSelector.js +0 -1
- package/dist/editor/permission-manager/constants.d.ts +1 -2
- package/dist/editor/permission-manager/constants.js +0 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +1 -2
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +0 -1
- package/dist/editor/permission-manager/hooks/usePermissionTree.d.ts +2 -3
- package/dist/editor/permission-manager/hooks/usePermissionTree.js +0 -1
- package/dist/editor/permission-manager/index.d.ts +4 -5
- package/dist/editor/permission-manager/index.js +0 -1
- package/dist/editor/permission-manager/types.d.ts +3 -4
- package/dist/editor/permission-manager/types.js +0 -1
- package/dist/editor/permission-manager/utils.d.ts +2 -3
- package/dist/editor/permission-manager/utils.js +0 -1
- package/dist/editor/preview-bridge.d.ts +1 -2
- package/dist/editor/preview-bridge.js +0 -1
- package/dist/editor/relative-time.d.ts +0 -1
- package/dist/editor/relative-time.js +0 -1
- package/dist/editor/schema-editor/CollectionEditor.d.ts +4 -5
- package/dist/editor/schema-editor/CollectionEditor.js +0 -1
- package/dist/editor/schema-editor/EntryTypeEditor.d.ts +2 -3
- package/dist/editor/schema-editor/EntryTypeEditor.js +0 -1
- package/dist/editor/schema-editor/index.d.ts +2 -3
- package/dist/editor/schema-editor/index.js +0 -1
- package/dist/editor/theme.d.ts +0 -1
- package/dist/editor/theme.js +0 -1
- package/dist/editor/utils/env.d.ts +0 -1
- package/dist/editor/utils/env.js +0 -1
- package/dist/entry-link-resolver.d.ts +1 -2
- package/dist/entry-link-resolver.js +0 -1
- package/dist/entry-schema-registry.d.ts +3 -4
- package/dist/entry-schema-registry.js +6 -2
- package/dist/entry-schema.d.ts +342 -11
- package/dist/entry-schema.js +170 -1
- package/dist/git-manager.d.ts +1 -2
- package/dist/git-manager.js +0 -1
- package/dist/github-service.d.ts +1 -2
- package/dist/github-service.js +0 -1
- package/dist/http/handler.d.ts +6 -7
- package/dist/http/handler.js +0 -1
- package/dist/http/index.d.ts +6 -7
- package/dist/http/index.js +0 -1
- package/dist/http/router.d.ts +2 -3
- package/dist/http/router.js +0 -1
- package/dist/http/types.d.ts +0 -1
- package/dist/http/types.js +0 -1
- package/dist/id.d.ts +2 -3
- package/dist/id.js +0 -1
- package/dist/index.d.ts +17 -17
- package/dist/index.js +7 -1
- package/dist/operating-mode/client-safe-strategy.d.ts +1 -2
- package/dist/operating-mode/client-safe-strategy.js +0 -1
- package/dist/operating-mode/client-unsafe-strategy.d.ts +1 -2
- package/dist/operating-mode/client-unsafe-strategy.js +0 -1
- package/dist/operating-mode/client.d.ts +3 -4
- package/dist/operating-mode/client.js +0 -1
- package/dist/operating-mode/deployment-name-fixtures.d.ts +0 -1
- package/dist/operating-mode/deployment-name-fixtures.js +0 -1
- package/dist/operating-mode/deployment-name.d.ts +0 -1
- package/dist/operating-mode/deployment-name.js +0 -1
- package/dist/operating-mode/index.d.ts +5 -6
- package/dist/operating-mode/index.js +0 -1
- package/dist/operating-mode/mode-env.d.ts +1 -2
- package/dist/operating-mode/mode-env.js +0 -1
- package/dist/operating-mode/types.d.ts +2 -3
- package/dist/operating-mode/types.js +0 -1
- package/dist/paths/branch-name.d.ts +1 -2
- package/dist/paths/branch-name.js +0 -1
- package/dist/paths/branch.d.ts +3 -4
- package/dist/paths/branch.js +0 -1
- package/dist/paths/index.d.ts +8 -9
- package/dist/paths/index.js +0 -1
- package/dist/paths/normalize-server.d.ts +1 -2
- package/dist/paths/normalize-server.js +0 -1
- package/dist/paths/normalize.d.ts +1 -2
- package/dist/paths/normalize.js +0 -1
- package/dist/paths/resolve.d.ts +2 -3
- package/dist/paths/resolve.js +0 -1
- package/dist/paths/types.d.ts +0 -1
- package/dist/paths/types.js +0 -1
- package/dist/paths/validation.d.ts +1 -2
- package/dist/paths/validation.js +0 -1
- package/dist/reference-resolver.d.ts +3 -4
- package/dist/reference-resolver.js +0 -1
- package/dist/resolve-canopy-user.d.ts +3 -4
- package/dist/resolve-canopy-user.js +0 -1
- package/dist/resource-generation.d.ts +0 -1
- package/dist/resource-generation.js +0 -1
- package/dist/schema/index.d.ts +3 -4
- package/dist/schema/index.js +0 -1
- package/dist/schema/meta-loader.d.ts +3 -4
- package/dist/schema/meta-loader.js +3 -3
- package/dist/schema/resolver.d.ts +2 -3
- package/dist/schema/resolver.js +0 -1
- package/dist/schema/schema-store-types.d.ts +2 -3
- package/dist/schema/schema-store-types.js +0 -1
- package/dist/schema/schema-store.d.ts +6 -7
- package/dist/schema/schema-store.js +33 -1
- package/dist/schema/types.d.ts +1 -2
- package/dist/schema/types.js +0 -1
- package/dist/server.d.ts +97 -37
- package/dist/server.js +60 -3
- package/dist/services.d.ts +10 -12
- package/dist/services.js +2 -7
- package/dist/settings-workspace.d.ts +12 -15
- package/dist/settings-workspace.js +10 -13
- package/dist/static/index.d.ts +227 -9
- package/dist/static/index.js +302 -14
- package/dist/static/seo.d.ts +128 -0
- package/dist/static/seo.js +162 -0
- package/dist/sync-core.d.ts +0 -1
- package/dist/sync-core.js +0 -1
- package/dist/task-queue/index.d.ts +2 -3
- package/dist/task-queue/index.js +0 -1
- package/dist/task-queue/task-queue.d.ts +1 -2
- package/dist/task-queue/task-queue.js +0 -1
- package/dist/task-queue/types.d.ts +0 -1
- package/dist/task-queue/types.js +0 -1
- package/dist/types.d.ts +3 -4
- package/dist/types.js +0 -1
- package/dist/url-collision.d.ts +86 -0
- package/dist/url-collision.js +186 -0
- package/dist/url-path-resolver.d.ts +11 -2
- package/dist/url-path-resolver.js +37 -5
- package/dist/user.d.ts +3 -4
- package/dist/user.js +0 -1
- package/dist/utils/async-mutex.d.ts +0 -1
- package/dist/utils/async-mutex.js +0 -1
- package/dist/utils/atomic-write.d.ts +0 -1
- package/dist/utils/atomic-write.js +0 -1
- package/dist/utils/body-field.d.ts +12 -2
- package/dist/utils/body-field.js +17 -1
- package/dist/utils/content-serialize.d.ts +37 -0
- package/dist/utils/content-serialize.js +429 -0
- package/dist/utils/content-write-lock.d.ts +12 -16
- package/dist/utils/content-write-lock.js +38 -22
- package/dist/utils/debug.d.ts +0 -1
- package/dist/utils/debug.js +0 -1
- package/dist/utils/entry-url.d.ts +17 -1
- package/dist/utils/entry-url.js +21 -3
- package/dist/utils/error.d.ts +0 -1
- package/dist/utils/error.js +0 -1
- package/dist/utils/flatten-group-fields.d.ts +1 -2
- package/dist/utils/flatten-group-fields.js +0 -1
- package/dist/utils/format.d.ts +1 -2
- package/dist/utils/format.js +0 -1
- package/dist/utils/fs.d.ts +7 -1
- package/dist/utils/fs.js +16 -1
- package/dist/utils/git.d.ts +1 -2
- package/dist/utils/git.js +0 -1
- package/dist/utils/logger.d.ts +0 -1
- package/dist/utils/logger.js +0 -1
- package/dist/utils/occ-json-write.d.ts +0 -1
- package/dist/utils/occ-json-write.js +0 -1
- package/dist/utils/provisioning-lock.d.ts +17 -4
- package/dist/utils/provisioning-lock.js +94 -14
- package/dist/utils/sanitize-href.d.ts +46 -1
- package/dist/utils/sanitize-href.js +63 -3
- package/dist/utils/title-field.d.ts +1 -2
- package/dist/utils/title-field.js +0 -1
- package/dist/utils/typed-filename.d.ts +61 -0
- package/dist/utils/typed-filename.js +92 -0
- package/dist/utils/url-prefix.d.ts +121 -0
- package/dist/utils/url-prefix.js +158 -0
- package/dist/validation/block-structural-keys.d.ts +42 -0
- package/dist/validation/block-structural-keys.js +44 -0
- package/dist/validation/deletion-checker.d.ts +4 -5
- package/dist/validation/deletion-checker.js +0 -1
- package/dist/validation/entry-link-validator.d.ts +2 -3
- package/dist/validation/entry-link-validator.js +0 -1
- package/dist/validation/entry-type-reference-validator.d.ts +1 -2
- package/dist/validation/entry-type-reference-validator.js +0 -1
- package/dist/validation/entry-validator.d.ts +23 -2
- package/dist/validation/entry-validator.js +34 -2
- package/dist/validation/field-traversal.d.ts +28 -4
- package/dist/validation/field-traversal.js +24 -7
- package/dist/validation/reference-validator.d.ts +2 -3
- package/dist/validation/reference-validator.js +0 -1
- package/dist/worker/cms-worker.d.ts +9 -2
- package/dist/worker/cms-worker.js +59 -2
- package/dist/worker/log.d.ts +0 -1
- package/dist/worker/log.js +0 -1
- package/dist/worker/task-queue-config.d.ts +1 -2
- package/dist/worker/task-queue-config.js +0 -1
- package/dist/worker/task-queue.d.ts +3 -4
- package/dist/worker/task-queue.js +0 -1
- package/dist/worker/worker-status.d.ts +1 -2
- package/dist/worker/worker-status.js +0 -1
- package/package.json +2 -6
- package/dist/ai/generate.d.ts.map +0 -1
- package/dist/ai/generate.js.map +0 -1
- package/dist/ai/handler.d.ts.map +0 -1
- package/dist/ai/handler.js.map +0 -1
- package/dist/ai/index.d.ts.map +0 -1
- package/dist/ai/index.js.map +0 -1
- package/dist/ai/json-to-markdown.d.ts.map +0 -1
- package/dist/ai/json-to-markdown.js.map +0 -1
- package/dist/ai/resolve-branch.d.ts.map +0 -1
- package/dist/ai/resolve-branch.js.map +0 -1
- package/dist/ai/strip-mdx.d.ts.map +0 -1
- package/dist/ai/strip-mdx.js.map +0 -1
- package/dist/ai/transform-components.d.ts.map +0 -1
- package/dist/ai/transform-components.js.map +0 -1
- package/dist/ai/types.d.ts.map +0 -1
- package/dist/ai/types.js.map +0 -1
- package/dist/api/__test__/mock-client.d.ts +0 -231
- package/dist/api/__test__/mock-client.d.ts.map +0 -1
- package/dist/api/__test__/mock-client.js +0 -388
- package/dist/api/__test__/mock-client.js.map +0 -1
- package/dist/api/admin-branch-health.d.ts.map +0 -1
- package/dist/api/admin-branch-health.js.map +0 -1
- package/dist/api/admin.d.ts.map +0 -1
- package/dist/api/admin.js.map +0 -1
- package/dist/api/assets.d.ts.map +0 -1
- package/dist/api/assets.js.map +0 -1
- package/dist/api/branch-merge.d.ts.map +0 -1
- package/dist/api/branch-merge.js.map +0 -1
- package/dist/api/branch-review.d.ts.map +0 -1
- package/dist/api/branch-review.js.map +0 -1
- package/dist/api/branch-status.d.ts.map +0 -1
- package/dist/api/branch-status.js.map +0 -1
- package/dist/api/branch-withdraw.d.ts.map +0 -1
- package/dist/api/branch-withdraw.js.map +0 -1
- package/dist/api/branch.d.ts.map +0 -1
- package/dist/api/branch.js.map +0 -1
- package/dist/api/client.d.ts.map +0 -1
- package/dist/api/client.js.map +0 -1
- package/dist/api/comments.d.ts.map +0 -1
- package/dist/api/comments.js.map +0 -1
- package/dist/api/content.d.ts.map +0 -1
- package/dist/api/content.js.map +0 -1
- package/dist/api/entries-constants.d.ts.map +0 -1
- package/dist/api/entries-constants.js.map +0 -1
- package/dist/api/entries.d.ts.map +0 -1
- package/dist/api/entries.js.map +0 -1
- package/dist/api/github-sync.d.ts.map +0 -1
- package/dist/api/github-sync.js.map +0 -1
- package/dist/api/groups.d.ts.map +0 -1
- package/dist/api/groups.js.map +0 -1
- package/dist/api/guards.d.ts.map +0 -1
- package/dist/api/guards.js.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/permissions.d.ts.map +0 -1
- package/dist/api/permissions.js.map +0 -1
- package/dist/api/reference-options.d.ts.map +0 -1
- package/dist/api/reference-options.js.map +0 -1
- package/dist/api/request-body-hash.d.ts.map +0 -1
- package/dist/api/request-body-hash.js.map +0 -1
- package/dist/api/resolve-references.d.ts.map +0 -1
- package/dist/api/resolve-references.js.map +0 -1
- package/dist/api/route-builder.d.ts.map +0 -1
- package/dist/api/route-builder.js.map +0 -1
- package/dist/api/schema.d.ts.map +0 -1
- package/dist/api/schema.js.map +0 -1
- package/dist/api/settings-helpers.d.ts.map +0 -1
- package/dist/api/settings-helpers.js.map +0 -1
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js.map +0 -1
- package/dist/api/user.d.ts.map +0 -1
- package/dist/api/user.js.map +0 -1
- package/dist/api/validators.d.ts.map +0 -1
- package/dist/api/validators.js.map +0 -1
- package/dist/assets/asset-prefixes.d.ts.map +0 -1
- package/dist/assets/asset-prefixes.js.map +0 -1
- package/dist/assets/asset-src.d.ts.map +0 -1
- package/dist/assets/asset-src.js.map +0 -1
- package/dist/assets/asset-url.d.ts.map +0 -1
- package/dist/assets/asset-url.js.map +0 -1
- package/dist/assets/factory.d.ts.map +0 -1
- package/dist/assets/factory.js.map +0 -1
- package/dist/assets/finalize.d.ts.map +0 -1
- package/dist/assets/finalize.js.map +0 -1
- package/dist/assets/index.d.ts.map +0 -1
- package/dist/assets/index.js.map +0 -1
- package/dist/assets/keys.d.ts.map +0 -1
- package/dist/assets/keys.js.map +0 -1
- package/dist/assets/pipeline.d.ts.map +0 -1
- package/dist/assets/pipeline.js.map +0 -1
- package/dist/assets/store-local.d.ts.map +0 -1
- package/dist/assets/store-local.js.map +0 -1
- package/dist/assets/store-s3.d.ts.map +0 -1
- package/dist/assets/store-s3.js.map +0 -1
- package/dist/assets/svg-sanitizer.d.ts.map +0 -1
- package/dist/assets/svg-sanitizer.js.map +0 -1
- package/dist/assets/transform-directives.d.ts.map +0 -1
- package/dist/assets/transform-directives.js.map +0 -1
- package/dist/assets/transform.d.ts.map +0 -1
- package/dist/assets/transform.js.map +0 -1
- package/dist/assets/types.d.ts.map +0 -1
- package/dist/assets/types.js.map +0 -1
- package/dist/auth/cache.d.ts.map +0 -1
- package/dist/auth/cache.js.map +0 -1
- package/dist/auth/caching-auth-plugin.d.ts.map +0 -1
- package/dist/auth/caching-auth-plugin.js.map +0 -1
- package/dist/auth/context-helpers.d.ts.map +0 -1
- package/dist/auth/context-helpers.js.map +0 -1
- package/dist/auth/file-based-auth-cache.d.ts.map +0 -1
- package/dist/auth/file-based-auth-cache.js.map +0 -1
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/plugin.d.ts.map +0 -1
- package/dist/auth/plugin.js.map +0 -1
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js.map +0 -1
- package/dist/authorization/branch.d.ts.map +0 -1
- package/dist/authorization/branch.js.map +0 -1
- package/dist/authorization/content.d.ts.map +0 -1
- package/dist/authorization/content.js.map +0 -1
- package/dist/authorization/groups/index.d.ts.map +0 -1
- package/dist/authorization/groups/index.js.map +0 -1
- package/dist/authorization/groups/loader.d.ts.map +0 -1
- package/dist/authorization/groups/loader.js.map +0 -1
- package/dist/authorization/groups/schema.d.ts.map +0 -1
- package/dist/authorization/groups/schema.js.map +0 -1
- package/dist/authorization/helpers.d.ts.map +0 -1
- package/dist/authorization/helpers.js.map +0 -1
- package/dist/authorization/index.d.ts.map +0 -1
- package/dist/authorization/index.js.map +0 -1
- package/dist/authorization/path.d.ts.map +0 -1
- package/dist/authorization/path.js.map +0 -1
- package/dist/authorization/permissions/index.d.ts.map +0 -1
- package/dist/authorization/permissions/index.js.map +0 -1
- package/dist/authorization/permissions/loader.d.ts.map +0 -1
- package/dist/authorization/permissions/loader.js.map +0 -1
- package/dist/authorization/permissions/schema.d.ts.map +0 -1
- package/dist/authorization/permissions/schema.js.map +0 -1
- package/dist/authorization/protected-branch.d.ts.map +0 -1
- package/dist/authorization/protected-branch.js.map +0 -1
- package/dist/authorization/settings-file-store.d.ts.map +0 -1
- package/dist/authorization/settings-file-store.js.map +0 -1
- package/dist/authorization/test-utils.d.ts +0 -26
- package/dist/authorization/test-utils.d.ts.map +0 -1
- package/dist/authorization/test-utils.js +0 -23
- package/dist/authorization/test-utils.js.map +0 -1
- package/dist/authorization/types.d.ts.map +0 -1
- package/dist/authorization/types.js.map +0 -1
- package/dist/authorization/validation.d.ts.map +0 -1
- package/dist/authorization/validation.js.map +0 -1
- package/dist/branch-health.d.ts.map +0 -1
- package/dist/branch-health.js.map +0 -1
- package/dist/branch-metadata.d.ts.map +0 -1
- package/dist/branch-metadata.js.map +0 -1
- package/dist/branch-registry.d.ts.map +0 -1
- package/dist/branch-registry.js.map +0 -1
- package/dist/branch-schema-cache.d.ts.map +0 -1
- package/dist/branch-schema-cache.js.map +0 -1
- package/dist/branch-workspace.d.ts.map +0 -1
- package/dist/branch-workspace.js.map +0 -1
- package/dist/build/generate-ai-content.d.ts.map +0 -1
- package/dist/build/generate-ai-content.js.map +0 -1
- package/dist/build/index.d.ts.map +0 -1
- package/dist/build/index.js.map +0 -1
- package/dist/build-mode.d.ts.map +0 -1
- package/dist/build-mode.js.map +0 -1
- package/dist/cli/cli.d.ts.map +0 -1
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/generate-ai-content.d.ts.map +0 -1
- package/dist/cli/generate-ai-content.js.map +0 -1
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js.map +0 -1
- package/dist/cli/migrate.d.ts.map +0 -1
- package/dist/cli/migrate.js.map +0 -1
- package/dist/cli/project-detect.d.ts.map +0 -1
- package/dist/cli/project-detect.js.map +0 -1
- package/dist/cli/project-root.d.ts.map +0 -1
- package/dist/cli/project-root.js.map +0 -1
- package/dist/cli/sync.d.ts.map +0 -1
- package/dist/cli/sync.js.map +0 -1
- package/dist/cli/templates.d.ts.map +0 -1
- package/dist/cli/templates.js.map +0 -1
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/comment-store.d.ts.map +0 -1
- package/dist/comment-store.js.map +0 -1
- package/dist/config/flatten.d.ts.map +0 -1
- package/dist/config/flatten.js.map +0 -1
- package/dist/config/helpers.d.ts.map +0 -1
- package/dist/config/helpers.js.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/schemas/collection.d.ts.map +0 -1
- package/dist/config/schemas/collection.js.map +0 -1
- package/dist/config/schemas/config.d.ts.map +0 -1
- package/dist/config/schemas/config.js.map +0 -1
- package/dist/config/schemas/field.d.ts.map +0 -1
- package/dist/config/schemas/field.js.map +0 -1
- package/dist/config/schemas/media.d.ts.map +0 -1
- package/dist/config/schemas/media.js.map +0 -1
- package/dist/config/schemas/permissions.d.ts.map +0 -1
- package/dist/config/schemas/permissions.js.map +0 -1
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js.map +0 -1
- package/dist/config/validation.d.ts.map +0 -1
- package/dist/config/validation.js.map +0 -1
- package/dist/config-test.d.ts +0 -20
- package/dist/config-test.d.ts.map +0 -1
- package/dist/config-test.js +0 -49
- package/dist/config-test.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/content-id-index.d.ts.map +0 -1
- package/dist/content-id-index.js.map +0 -1
- package/dist/content-index-generation.d.ts.map +0 -1
- package/dist/content-index-generation.js.map +0 -1
- package/dist/content-index-registry.d.ts.map +0 -1
- package/dist/content-index-registry.js.map +0 -1
- package/dist/content-listing.d.ts.map +0 -1
- package/dist/content-listing.js.map +0 -1
- package/dist/content-reader.d.ts.map +0 -1
- package/dist/content-reader.js.map +0 -1
- package/dist/content-store.d.ts.map +0 -1
- package/dist/content-store.js.map +0 -1
- package/dist/content-tree.d.ts.map +0 -1
- package/dist/content-tree.js.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/dev-content-watcher.d.ts.map +0 -1
- package/dist/dev-content-watcher.js.map +0 -1
- package/dist/editor/BranchManager.d.ts.map +0 -1
- package/dist/editor/BranchManager.js.map +0 -1
- package/dist/editor/CanopyEditor.d.ts.map +0 -1
- package/dist/editor/CanopyEditor.js.map +0 -1
- package/dist/editor/CanopyEditorPage.d.ts.map +0 -1
- package/dist/editor/CanopyEditorPage.js.map +0 -1
- package/dist/editor/CommentsPanel.d.ts.map +0 -1
- package/dist/editor/CommentsPanel.js.map +0 -1
- package/dist/editor/Editor.d.ts.map +0 -1
- package/dist/editor/Editor.js.map +0 -1
- package/dist/editor/EditorPanes.d.ts.map +0 -1
- package/dist/editor/EditorPanes.js.map +0 -1
- package/dist/editor/EntryNavigator.d.ts.map +0 -1
- package/dist/editor/EntryNavigator.js.map +0 -1
- package/dist/editor/FormRenderer.d.ts.map +0 -1
- package/dist/editor/FormRenderer.js.map +0 -1
- package/dist/editor/GroupManager.d.ts.map +0 -1
- package/dist/editor/GroupManager.js.map +0 -1
- package/dist/editor/PermissionManager.d.ts.map +0 -1
- package/dist/editor/PermissionManager.js.map +0 -1
- package/dist/editor/admin/SystemHealthPanel.d.ts.map +0 -1
- package/dist/editor/admin/SystemHealthPanel.js.map +0 -1
- package/dist/editor/admin/useSystemHealth.d.ts.map +0 -1
- package/dist/editor/admin/useSystemHealth.js.map +0 -1
- package/dist/editor/canopy-path.d.ts.map +0 -1
- package/dist/editor/canopy-path.js.map +0 -1
- package/dist/editor/client-reference-resolver.d.ts.map +0 -1
- package/dist/editor/client-reference-resolver.js.map +0 -1
- package/dist/editor/comments/BranchComments.d.ts.map +0 -1
- package/dist/editor/comments/BranchComments.js.map +0 -1
- package/dist/editor/comments/EntryComments.d.ts.map +0 -1
- package/dist/editor/comments/EntryComments.js.map +0 -1
- package/dist/editor/comments/FieldWrapper.d.ts.map +0 -1
- package/dist/editor/comments/FieldWrapper.js.map +0 -1
- package/dist/editor/comments/InlineCommentThread.d.ts.map +0 -1
- package/dist/editor/comments/InlineCommentThread.js.map +0 -1
- package/dist/editor/comments/ThreadCarousel.d.ts.map +0 -1
- package/dist/editor/comments/ThreadCarousel.js.map +0 -1
- package/dist/editor/components/ConfirmDeleteModal.d.ts.map +0 -1
- package/dist/editor/components/ConfirmDeleteModal.js.map +0 -1
- package/dist/editor/components/EditorFooter.d.ts.map +0 -1
- package/dist/editor/components/EditorFooter.js.map +0 -1
- package/dist/editor/components/EditorHeader.d.ts.map +0 -1
- package/dist/editor/components/EditorHeader.js.map +0 -1
- package/dist/editor/components/EditorSidebar.d.ts.map +0 -1
- package/dist/editor/components/EditorSidebar.js.map +0 -1
- package/dist/editor/components/EntryCreateModal.d.ts.map +0 -1
- package/dist/editor/components/EntryCreateModal.js.map +0 -1
- package/dist/editor/components/RenameEntryModal.d.ts.map +0 -1
- package/dist/editor/components/RenameEntryModal.js.map +0 -1
- package/dist/editor/components/UserBadge.d.ts.map +0 -1
- package/dist/editor/components/UserBadge.js.map +0 -1
- package/dist/editor/components/index.d.ts.map +0 -1
- package/dist/editor/components/index.js.map +0 -1
- package/dist/editor/context/ApiClientContext.d.ts.map +0 -1
- package/dist/editor/context/ApiClientContext.js.map +0 -1
- package/dist/editor/context/AssetContext.d.ts.map +0 -1
- package/dist/editor/context/AssetContext.js.map +0 -1
- package/dist/editor/context/EditorStateContext.d.ts.map +0 -1
- package/dist/editor/context/EditorStateContext.js.map +0 -1
- package/dist/editor/context/SWRProvider.d.ts.map +0 -1
- package/dist/editor/context/SWRProvider.js.map +0 -1
- package/dist/editor/context/index.d.ts.map +0 -1
- package/dist/editor/context/index.js.map +0 -1
- package/dist/editor/editor-config.d.ts.map +0 -1
- package/dist/editor/editor-config.js.map +0 -1
- package/dist/editor/editor-utils.d.ts.map +0 -1
- package/dist/editor/editor-utils.js.map +0 -1
- package/dist/editor/fields/BlockField.d.ts.map +0 -1
- package/dist/editor/fields/BlockField.js.map +0 -1
- package/dist/editor/fields/CodeField.d.ts.map +0 -1
- package/dist/editor/fields/CodeField.js.map +0 -1
- package/dist/editor/fields/DateTimeField.d.ts.map +0 -1
- package/dist/editor/fields/DateTimeField.js.map +0 -1
- package/dist/editor/fields/ImageField.d.ts.map +0 -1
- package/dist/editor/fields/ImageField.js.map +0 -1
- package/dist/editor/fields/InlineGroupField.d.ts.map +0 -1
- package/dist/editor/fields/InlineGroupField.js.map +0 -1
- package/dist/editor/fields/MarkdownField.d.ts.map +0 -1
- package/dist/editor/fields/MarkdownField.js.map +0 -1
- package/dist/editor/fields/MdxImageDialog.d.ts.map +0 -1
- package/dist/editor/fields/MdxImageDialog.js.map +0 -1
- package/dist/editor/fields/NumberField.d.ts.map +0 -1
- package/dist/editor/fields/NumberField.js.map +0 -1
- package/dist/editor/fields/NumberListField.d.ts.map +0 -1
- package/dist/editor/fields/NumberListField.js.map +0 -1
- package/dist/editor/fields/ObjectField.d.ts.map +0 -1
- package/dist/editor/fields/ObjectField.js.map +0 -1
- package/dist/editor/fields/ReferenceField.d.ts.map +0 -1
- package/dist/editor/fields/ReferenceField.js.map +0 -1
- package/dist/editor/fields/SelectField.d.ts.map +0 -1
- package/dist/editor/fields/SelectField.js.map +0 -1
- package/dist/editor/fields/StringListField.d.ts.map +0 -1
- package/dist/editor/fields/StringListField.js.map +0 -1
- package/dist/editor/fields/TextField.d.ts.map +0 -1
- package/dist/editor/fields/TextField.js.map +0 -1
- package/dist/editor/fields/ToggleField.d.ts.map +0 -1
- package/dist/editor/fields/ToggleField.js.map +0 -1
- package/dist/editor/fields/entry-link/EntryLinkContext.d.ts.map +0 -1
- package/dist/editor/fields/entry-link/EntryLinkContext.js.map +0 -1
- package/dist/editor/fields/entry-link/InsertEntryLink.d.ts.map +0 -1
- package/dist/editor/fields/entry-link/InsertEntryLink.js.map +0 -1
- package/dist/editor/fields/entry-link/index.d.ts.map +0 -1
- package/dist/editor/fields/entry-link/index.js.map +0 -1
- package/dist/editor/group-manager/ExternalGroupsTab.d.ts.map +0 -1
- package/dist/editor/group-manager/ExternalGroupsTab.js.map +0 -1
- package/dist/editor/group-manager/GroupCard.d.ts.map +0 -1
- package/dist/editor/group-manager/GroupCard.js.map +0 -1
- package/dist/editor/group-manager/GroupForm.d.ts.map +0 -1
- package/dist/editor/group-manager/GroupForm.js.map +0 -1
- package/dist/editor/group-manager/InternalGroupsTab.d.ts.map +0 -1
- package/dist/editor/group-manager/InternalGroupsTab.js.map +0 -1
- package/dist/editor/group-manager/MemberList.d.ts.map +0 -1
- package/dist/editor/group-manager/MemberList.js.map +0 -1
- package/dist/editor/group-manager/hooks/useExternalGroupSearch.d.ts.map +0 -1
- package/dist/editor/group-manager/hooks/useExternalGroupSearch.js.map +0 -1
- package/dist/editor/group-manager/hooks/useGroupState.d.ts.map +0 -1
- package/dist/editor/group-manager/hooks/useGroupState.js.map +0 -1
- package/dist/editor/group-manager/hooks/useUserSearch.d.ts.map +0 -1
- package/dist/editor/group-manager/hooks/useUserSearch.js.map +0 -1
- package/dist/editor/group-manager/index.d.ts.map +0 -1
- package/dist/editor/group-manager/index.js.map +0 -1
- package/dist/editor/group-manager/types.d.ts.map +0 -1
- package/dist/editor/group-manager/types.js.map +0 -1
- package/dist/editor/hooks/__test__/test-utils.d.ts +0 -164
- package/dist/editor/hooks/__test__/test-utils.d.ts.map +0 -1
- package/dist/editor/hooks/__test__/test-utils.js +0 -203
- package/dist/editor/hooks/__test__/test-utils.js.map +0 -1
- package/dist/editor/hooks/index.d.ts.map +0 -1
- package/dist/editor/hooks/index.js.map +0 -1
- package/dist/editor/hooks/useBranchActions.d.ts.map +0 -1
- package/dist/editor/hooks/useBranchActions.js.map +0 -1
- package/dist/editor/hooks/useBranchManager.d.ts.map +0 -1
- package/dist/editor/hooks/useBranchManager.js.map +0 -1
- package/dist/editor/hooks/useBranchesData.d.ts.map +0 -1
- package/dist/editor/hooks/useBranchesData.js.map +0 -1
- package/dist/editor/hooks/useCommentSystem.d.ts.map +0 -1
- package/dist/editor/hooks/useCommentSystem.js.map +0 -1
- package/dist/editor/hooks/useCommentsData.d.ts.map +0 -1
- package/dist/editor/hooks/useCommentsData.js.map +0 -1
- package/dist/editor/hooks/useDraftManager.d.ts.map +0 -1
- package/dist/editor/hooks/useDraftManager.js.map +0 -1
- package/dist/editor/hooks/useEditorLayout.d.ts.map +0 -1
- package/dist/editor/hooks/useEditorLayout.js.map +0 -1
- package/dist/editor/hooks/useEntriesData.d.ts.map +0 -1
- package/dist/editor/hooks/useEntriesData.js.map +0 -1
- package/dist/editor/hooks/useEntryLinkResolution.d.ts.map +0 -1
- package/dist/editor/hooks/useEntryLinkResolution.js.map +0 -1
- package/dist/editor/hooks/useEntryManager.d.ts.map +0 -1
- package/dist/editor/hooks/useEntryManager.js.map +0 -1
- package/dist/editor/hooks/useGroupManager.d.ts.map +0 -1
- package/dist/editor/hooks/useGroupManager.js.map +0 -1
- package/dist/editor/hooks/usePermissionManager.d.ts.map +0 -1
- package/dist/editor/hooks/usePermissionManager.js.map +0 -1
- package/dist/editor/hooks/useReferenceResolution.d.ts.map +0 -1
- package/dist/editor/hooks/useReferenceResolution.js.map +0 -1
- package/dist/editor/hooks/useSchemaManager.d.ts.map +0 -1
- package/dist/editor/hooks/useSchemaManager.js.map +0 -1
- package/dist/editor/hooks/useUserContext.d.ts.map +0 -1
- package/dist/editor/hooks/useUserContext.js.map +0 -1
- package/dist/editor/hooks/useUserMetadata.d.ts.map +0 -1
- package/dist/editor/hooks/useUserMetadata.js.map +0 -1
- package/dist/editor/media/AssetCard.d.ts.map +0 -1
- package/dist/editor/media/AssetCard.js.map +0 -1
- package/dist/editor/media/CropStep.d.ts.map +0 -1
- package/dist/editor/media/CropStep.js.map +0 -1
- package/dist/editor/media/MediaLibrary.d.ts.map +0 -1
- package/dist/editor/media/MediaLibrary.js.map +0 -1
- package/dist/editor/media/MediaLibraryBody.d.ts.map +0 -1
- package/dist/editor/media/MediaLibraryBody.js.map +0 -1
- package/dist/editor/media/crop-math.d.ts.map +0 -1
- package/dist/editor/media/crop-math.js.map +0 -1
- package/dist/editor/media/upload-asset.d.ts.map +0 -1
- package/dist/editor/media/upload-asset.js.map +0 -1
- package/dist/editor/media/upload-constants.d.ts.map +0 -1
- package/dist/editor/media/upload-constants.js.map +0 -1
- package/dist/editor/media/useAssetUpload.d.ts.map +0 -1
- package/dist/editor/media/useAssetUpload.js.map +0 -1
- package/dist/editor/media/xhr-upload.d.ts.map +0 -1
- package/dist/editor/media/xhr-upload.js.map +0 -1
- package/dist/editor/permission-manager/GroupSelector.d.ts.map +0 -1
- package/dist/editor/permission-manager/GroupSelector.js.map +0 -1
- package/dist/editor/permission-manager/PermissionEditor.d.ts.map +0 -1
- package/dist/editor/permission-manager/PermissionEditor.js.map +0 -1
- package/dist/editor/permission-manager/PermissionLevelBadge.d.ts.map +0 -1
- package/dist/editor/permission-manager/PermissionLevelBadge.js.map +0 -1
- package/dist/editor/permission-manager/PermissionTree.d.ts.map +0 -1
- package/dist/editor/permission-manager/PermissionTree.js.map +0 -1
- package/dist/editor/permission-manager/UserSelector.d.ts.map +0 -1
- package/dist/editor/permission-manager/UserSelector.js.map +0 -1
- package/dist/editor/permission-manager/constants.d.ts.map +0 -1
- package/dist/editor/permission-manager/constants.js.map +0 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +0 -1
- package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +0 -1
- package/dist/editor/permission-manager/hooks/usePermissionTree.d.ts.map +0 -1
- package/dist/editor/permission-manager/hooks/usePermissionTree.js.map +0 -1
- package/dist/editor/permission-manager/index.d.ts.map +0 -1
- package/dist/editor/permission-manager/index.js.map +0 -1
- package/dist/editor/permission-manager/types.d.ts.map +0 -1
- package/dist/editor/permission-manager/types.js.map +0 -1
- package/dist/editor/permission-manager/utils.d.ts.map +0 -1
- package/dist/editor/permission-manager/utils.js.map +0 -1
- package/dist/editor/preview-bridge.d.ts.map +0 -1
- package/dist/editor/preview-bridge.js.map +0 -1
- package/dist/editor/relative-time.d.ts.map +0 -1
- package/dist/editor/relative-time.js.map +0 -1
- package/dist/editor/schema-editor/CollectionEditor.d.ts.map +0 -1
- package/dist/editor/schema-editor/CollectionEditor.js.map +0 -1
- package/dist/editor/schema-editor/EntryTypeEditor.d.ts.map +0 -1
- package/dist/editor/schema-editor/EntryTypeEditor.js.map +0 -1
- package/dist/editor/schema-editor/index.d.ts.map +0 -1
- package/dist/editor/schema-editor/index.js.map +0 -1
- package/dist/editor/setup-test-dom.d.ts +0 -1
- package/dist/editor/setup-test-dom.d.ts.map +0 -1
- package/dist/editor/setup-test-dom.js +0 -12
- package/dist/editor/setup-test-dom.js.map +0 -1
- package/dist/editor/test-setup.d.ts +0 -6
- package/dist/editor/test-setup.d.ts.map +0 -1
- package/dist/editor/test-setup.js +0 -42
- package/dist/editor/test-setup.js.map +0 -1
- package/dist/editor/theme.d.ts.map +0 -1
- package/dist/editor/theme.js.map +0 -1
- package/dist/editor/utils/env.d.ts.map +0 -1
- package/dist/editor/utils/env.js.map +0 -1
- package/dist/entry-link-resolver.d.ts.map +0 -1
- package/dist/entry-link-resolver.js.map +0 -1
- package/dist/entry-schema-registry.d.ts.map +0 -1
- package/dist/entry-schema-registry.js.map +0 -1
- package/dist/entry-schema.d.ts.map +0 -1
- package/dist/entry-schema.js.map +0 -1
- package/dist/git-manager.d.ts.map +0 -1
- package/dist/git-manager.js.map +0 -1
- package/dist/github-service.d.ts.map +0 -1
- package/dist/github-service.js.map +0 -1
- package/dist/http/handler.d.ts.map +0 -1
- package/dist/http/handler.js.map +0 -1
- package/dist/http/index.d.ts.map +0 -1
- package/dist/http/index.js.map +0 -1
- package/dist/http/router.d.ts.map +0 -1
- package/dist/http/router.js.map +0 -1
- package/dist/http/types.d.ts.map +0 -1
- package/dist/http/types.js.map +0 -1
- package/dist/id.d.ts.map +0 -1
- package/dist/id.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/operating-mode/client-safe-strategy.d.ts.map +0 -1
- package/dist/operating-mode/client-safe-strategy.js.map +0 -1
- package/dist/operating-mode/client-unsafe-strategy.d.ts.map +0 -1
- package/dist/operating-mode/client-unsafe-strategy.js.map +0 -1
- package/dist/operating-mode/client.d.ts.map +0 -1
- package/dist/operating-mode/client.js.map +0 -1
- package/dist/operating-mode/deployment-name-fixtures.d.ts.map +0 -1
- package/dist/operating-mode/deployment-name-fixtures.js.map +0 -1
- package/dist/operating-mode/deployment-name.d.ts.map +0 -1
- package/dist/operating-mode/deployment-name.js.map +0 -1
- package/dist/operating-mode/index.d.ts.map +0 -1
- package/dist/operating-mode/index.js.map +0 -1
- package/dist/operating-mode/mode-env.d.ts.map +0 -1
- package/dist/operating-mode/mode-env.js.map +0 -1
- package/dist/operating-mode/types.d.ts.map +0 -1
- package/dist/operating-mode/types.js.map +0 -1
- package/dist/paths/branch-name.d.ts.map +0 -1
- package/dist/paths/branch-name.js.map +0 -1
- package/dist/paths/branch.d.ts.map +0 -1
- package/dist/paths/branch.js.map +0 -1
- package/dist/paths/index.d.ts.map +0 -1
- package/dist/paths/index.js.map +0 -1
- package/dist/paths/normalize-server.d.ts.map +0 -1
- package/dist/paths/normalize-server.js.map +0 -1
- package/dist/paths/normalize.d.ts.map +0 -1
- package/dist/paths/normalize.js.map +0 -1
- package/dist/paths/resolve.d.ts.map +0 -1
- package/dist/paths/resolve.js.map +0 -1
- package/dist/paths/test-utils.d.ts +0 -22
- package/dist/paths/test-utils.d.ts.map +0 -1
- package/dist/paths/test-utils.js +0 -21
- package/dist/paths/test-utils.js.map +0 -1
- package/dist/paths/types.d.ts.map +0 -1
- package/dist/paths/types.js.map +0 -1
- package/dist/paths/validation.d.ts.map +0 -1
- package/dist/paths/validation.js.map +0 -1
- package/dist/reference-resolver.d.ts.map +0 -1
- package/dist/reference-resolver.js.map +0 -1
- package/dist/resolve-canopy-user.d.ts.map +0 -1
- package/dist/resolve-canopy-user.js.map +0 -1
- package/dist/resource-generation.d.ts.map +0 -1
- package/dist/resource-generation.js.map +0 -1
- package/dist/schema/index.d.ts.map +0 -1
- package/dist/schema/index.js.map +0 -1
- package/dist/schema/meta-loader.d.ts.map +0 -1
- package/dist/schema/meta-loader.js.map +0 -1
- package/dist/schema/resolver.d.ts.map +0 -1
- package/dist/schema/resolver.js.map +0 -1
- package/dist/schema/schema-store-types.d.ts.map +0 -1
- package/dist/schema/schema-store-types.js.map +0 -1
- package/dist/schema/schema-store.d.ts.map +0 -1
- package/dist/schema/schema-store.js.map +0 -1
- package/dist/schema/types.d.ts.map +0 -1
- package/dist/schema/types.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/services.d.ts.map +0 -1
- package/dist/services.js.map +0 -1
- package/dist/settings-workspace.d.ts.map +0 -1
- package/dist/settings-workspace.js.map +0 -1
- package/dist/static/index.d.ts.map +0 -1
- package/dist/static/index.js.map +0 -1
- package/dist/sync-core.d.ts.map +0 -1
- package/dist/sync-core.js.map +0 -1
- package/dist/task-queue/index.d.ts.map +0 -1
- package/dist/task-queue/index.js.map +0 -1
- package/dist/task-queue/task-queue.d.ts.map +0 -1
- package/dist/task-queue/task-queue.js.map +0 -1
- package/dist/task-queue/types.d.ts.map +0 -1
- package/dist/task-queue/types.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/url-path-resolver.d.ts.map +0 -1
- package/dist/url-path-resolver.js.map +0 -1
- package/dist/user.d.ts.map +0 -1
- package/dist/user.js.map +0 -1
- package/dist/utils/async-mutex.d.ts.map +0 -1
- package/dist/utils/async-mutex.js.map +0 -1
- package/dist/utils/atomic-write.d.ts.map +0 -1
- package/dist/utils/atomic-write.js.map +0 -1
- package/dist/utils/body-field.d.ts.map +0 -1
- package/dist/utils/body-field.js.map +0 -1
- package/dist/utils/content-write-lock.d.ts.map +0 -1
- package/dist/utils/content-write-lock.js.map +0 -1
- package/dist/utils/debug.d.ts.map +0 -1
- package/dist/utils/debug.js.map +0 -1
- package/dist/utils/entry-url.d.ts.map +0 -1
- package/dist/utils/entry-url.js.map +0 -1
- package/dist/utils/error.d.ts.map +0 -1
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/flatten-group-fields.d.ts.map +0 -1
- package/dist/utils/flatten-group-fields.js.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/fs.d.ts.map +0 -1
- package/dist/utils/fs.js.map +0 -1
- package/dist/utils/git.d.ts.map +0 -1
- package/dist/utils/git.js.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/occ-json-write.d.ts.map +0 -1
- package/dist/utils/occ-json-write.js.map +0 -1
- package/dist/utils/provisioning-lock.d.ts.map +0 -1
- package/dist/utils/provisioning-lock.js.map +0 -1
- package/dist/utils/sanitize-href.d.ts.map +0 -1
- package/dist/utils/sanitize-href.js.map +0 -1
- package/dist/utils/title-field.d.ts.map +0 -1
- package/dist/utils/title-field.js.map +0 -1
- package/dist/validation/deletion-checker.d.ts.map +0 -1
- package/dist/validation/deletion-checker.js.map +0 -1
- package/dist/validation/entry-link-validator.d.ts.map +0 -1
- package/dist/validation/entry-link-validator.js.map +0 -1
- package/dist/validation/entry-type-reference-validator.d.ts.map +0 -1
- package/dist/validation/entry-type-reference-validator.js.map +0 -1
- package/dist/validation/entry-validator.d.ts.map +0 -1
- package/dist/validation/entry-validator.js.map +0 -1
- package/dist/validation/field-traversal.d.ts.map +0 -1
- package/dist/validation/field-traversal.js.map +0 -1
- package/dist/validation/reference-validator.d.ts.map +0 -1
- package/dist/validation/reference-validator.js.map +0 -1
- package/dist/worker/cms-worker.d.ts.map +0 -1
- package/dist/worker/cms-worker.js.map +0 -1
- package/dist/worker/log.d.ts.map +0 -1
- package/dist/worker/log.js.map +0 -1
- package/dist/worker/task-queue-config.d.ts.map +0 -1
- package/dist/worker/task-queue-config.js.map +0 -1
- package/dist/worker/task-queue.d.ts.map +0 -1
- package/dist/worker/task-queue.js.map +0 -1
- package/dist/worker/worker-status.d.ts.map +0 -1
- package/dist/worker/worker-status.js.map +0 -1
package/dist/assets/factory.d.ts
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* into a real store — see .claude/future-tasks/assets-media-system.md for why
|
|
6
6
|
* this was previously dead configuration.
|
|
7
7
|
*/
|
|
8
|
-
import type { MediaConfig } from '../config/types';
|
|
9
|
-
import type { AssetStore } from './types';
|
|
8
|
+
import type { MediaConfig } from '../config/types.js';
|
|
9
|
+
import type { AssetStore } from './types.js';
|
|
10
10
|
/**
|
|
11
11
|
* @param media - The site's `media` config (`config.media`), or undefined if unset.
|
|
12
12
|
* @param opts.devAssetsDir - Root directory for the implicit local fallback store used
|
|
@@ -15,4 +15,3 @@ import type { AssetStore } from './types';
|
|
|
15
15
|
export declare function createAssetStore(media: MediaConfig | undefined, opts?: {
|
|
16
16
|
devAssetsDir?: string;
|
|
17
17
|
}): AssetStore | undefined;
|
|
18
|
-
//# sourceMappingURL=factory.d.ts.map
|
package/dist/assets/factory.js
CHANGED
|
@@ -21,7 +21,6 @@ export function createAssetStore(media, opts = {}) {
|
|
|
21
21
|
return new S3AssetStore({
|
|
22
22
|
bucket: media.bucket,
|
|
23
23
|
region: media.region,
|
|
24
|
-
publicBaseUrl: media.publicBaseUrl,
|
|
25
24
|
maxUploadBytes: media.maxUploadBytes,
|
|
26
25
|
});
|
|
27
26
|
case 'local': {
|
|
@@ -39,4 +38,3 @@ export function createAssetStore(media, opts = {}) {
|
|
|
39
38
|
return undefined;
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
|
-
//# sourceMappingURL=factory.js.map
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* best-effort staging cleanup. Split from pipeline.ts so the pipeline itself
|
|
4
4
|
* stays store-agnostic and trivially unit-testable with plain byte fixtures.
|
|
5
5
|
*/
|
|
6
|
-
import { type FinalizeInput, type FinalizeRejection } from './pipeline';
|
|
7
|
-
import type { AssetMeta, AssetStore } from './types';
|
|
6
|
+
import { type FinalizeInput, type FinalizeRejection } from './pipeline.js';
|
|
7
|
+
import type { AssetMeta, AssetStore } from './types.js';
|
|
8
8
|
export declare function isValidStagingKey(key: string): boolean;
|
|
9
9
|
export type FinalizeAssetResult = {
|
|
10
10
|
ok: true;
|
|
@@ -33,4 +33,3 @@ export declare function finalizeStagedUpload(store: AssetStore, stagingKey: stri
|
|
|
33
33
|
status: 400 | 404;
|
|
34
34
|
error: string;
|
|
35
35
|
}>;
|
|
36
|
-
//# sourceMappingURL=finalize.d.ts.map
|
package/dist/assets/finalize.js
CHANGED
package/dist/assets/index.d.ts
CHANGED
|
@@ -5,16 +5,15 @@
|
|
|
5
5
|
* ./types directly instead, so node:fs/S3-SDK imports never reach a browser
|
|
6
6
|
* bundle.
|
|
7
7
|
*/
|
|
8
|
-
export type { AssetMeta, AssetStore, BeginUploadInput, PublicObject, StagedUploadTarget, } from './types';
|
|
9
|
-
export { ASSET_PREFIXES, createKeyBuilders, hashBytes, metaKey, metaPrefix, originalKey, originalPrefix, publicKey, slugifyFilename, stagingKey, type AssetPrefixes, } from './keys';
|
|
10
|
-
export { LocalAssetStore, type LocalAssetStoreOptions } from './store-local';
|
|
11
|
-
export { S3AssetStore, type S3AssetStoreOptions } from './store-s3';
|
|
12
|
-
export { createAssetStore } from './factory';
|
|
13
|
-
export { ALLOWED_UPLOAD_CONTENT_TYPES, runFinalizePipeline, type FinalizeInput, type FinalizePublicObject, type FinalizeResult, type FinalizeRejection, type FinalizeSuccess, } from './pipeline';
|
|
14
|
-
export { finalizeAsset, finalizeStagedUpload, type FinalizeAssetResult } from './finalize';
|
|
15
|
-
export { sanitizeSvg } from './svg-sanitizer';
|
|
16
|
-
export { assetSrc, IDENTITY_TRANSFORM_DIRECTIVE } from './asset-src';
|
|
17
|
-
export { formatDirectives, isAllowedTransformWidth, isValidCropRect, parseTransformPath, type CropRect, type IdentityDirectives, type OutputFormat, type ParsedTransformPath, type ParseTransformPathResult, type ResizeDirectives, type TransformDirectives, } from './transform-directives';
|
|
18
|
-
export { applyTransform, type ApplyTransformInput, type TransformResult } from './transform';
|
|
19
|
-
export { assetUrl, assetSrcSet, type AssetRef, type AssetUrlOptions } from './asset-url';
|
|
20
|
-
//# sourceMappingURL=index.d.ts.map
|
|
8
|
+
export type { AssetMeta, AssetStore, BeginUploadInput, PublicObject, StagedUploadTarget, } from './types.js';
|
|
9
|
+
export { ASSET_PREFIXES, createKeyBuilders, hashBytes, metaKey, metaPrefix, originalKey, originalPrefix, publicKey, slugifyFilename, stagingKey, type AssetPrefixes, } from './keys.js';
|
|
10
|
+
export { LocalAssetStore, type LocalAssetStoreOptions } from './store-local.js';
|
|
11
|
+
export { S3AssetStore, type S3AssetStoreOptions } from './store-s3.js';
|
|
12
|
+
export { createAssetStore } from './factory.js';
|
|
13
|
+
export { ALLOWED_UPLOAD_CONTENT_TYPES, runFinalizePipeline, type FinalizeInput, type FinalizePublicObject, type FinalizeResult, type FinalizeRejection, type FinalizeSuccess, } from './pipeline.js';
|
|
14
|
+
export { finalizeAsset, finalizeStagedUpload, type FinalizeAssetResult } from './finalize.js';
|
|
15
|
+
export { sanitizeSvg } from './svg-sanitizer.js';
|
|
16
|
+
export { assetSrc, IDENTITY_TRANSFORM_DIRECTIVE } from './asset-src.js';
|
|
17
|
+
export { formatDirectives, isAllowedTransformWidth, isValidCropRect, parseTransformPath, type CropRect, type IdentityDirectives, type OutputFormat, type ParsedTransformPath, type ParseTransformPathResult, type ResizeDirectives, type TransformDirectives, } from './transform-directives.js';
|
|
18
|
+
export { applyTransform, type ApplyTransformInput, type TransformResult } from './transform.js';
|
|
19
|
+
export { assetUrl, assetSrcSet, type AssetRef, type AssetUrlOptions } from './asset-url.js';
|
package/dist/assets/index.js
CHANGED
|
@@ -16,4 +16,3 @@ export { assetSrc, IDENTITY_TRANSFORM_DIRECTIVE } from './asset-src.js';
|
|
|
16
16
|
export { formatDirectives, isAllowedTransformWidth, isValidCropRect, parseTransformPath, } from './transform-directives.js';
|
|
17
17
|
export { applyTransform } from './transform.js';
|
|
18
18
|
export { assetUrl, assetSrcSet } from './asset-url.js';
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
package/dist/assets/keys.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* Stores must build keys through these helpers rather than hand-rolling prefix
|
|
14
14
|
* strings, so the layout stays defined in exactly one place.
|
|
15
15
|
*/
|
|
16
|
-
import { ASSET_PREFIXES, type AssetPrefixes } from './asset-prefixes';
|
|
16
|
+
import { ASSET_PREFIXES, type AssetPrefixes } from './asset-prefixes.js';
|
|
17
17
|
export { ASSET_PREFIXES, type AssetPrefixes };
|
|
18
18
|
/** sha-256 of the given bytes, truncated to 32 hex chars (128 bits). */
|
|
19
19
|
export declare function hashBytes(data: Uint8Array): string;
|
|
@@ -53,4 +53,3 @@ export declare function createKeyBuilders(prefixes?: AssetPrefixes): {
|
|
|
53
53
|
publicKey: (hash32: string, slug: string, ext: string) => string;
|
|
54
54
|
};
|
|
55
55
|
export declare const originalKey: (hash32: string, ext: string) => string, originalPrefix: (hash32: string) => string, stagingKey: (uuid: string) => string, metaKey: (hash32: string) => string, metaPrefix: () => string, publicKey: (hash32: string, slug: string, ext: string) => string;
|
|
56
|
-
//# sourceMappingURL=keys.d.ts.map
|
package/dist/assets/keys.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* `rasterIsDecodable` below) rather than statically imported, but is just as
|
|
11
11
|
* server-only - it is never reachable from a browser bundle either way.
|
|
12
12
|
*/
|
|
13
|
-
import type { AssetMeta } from './types';
|
|
13
|
+
import type { AssetMeta } from './types.js';
|
|
14
14
|
/** Client-declared content types accepted at presign time (UX only - never trusted at finalize). */
|
|
15
15
|
export declare const ALLOWED_UPLOAD_CONTENT_TYPES: Set<string>;
|
|
16
16
|
export interface FinalizeInput {
|
|
@@ -56,4 +56,3 @@ export type FinalizeResult = FinalizeSuccess | FinalizeRejection;
|
|
|
56
56
|
* stricter sanitizer version) cannot desync a stored hash from its content.
|
|
57
57
|
*/
|
|
58
58
|
export declare function runFinalizePipeline(input: FinalizeInput): Promise<FinalizeResult>;
|
|
59
|
-
//# sourceMappingURL=pipeline.d.ts.map
|
package/dist/assets/pipeline.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* bucket-prefix layout as S3AssetStore (see keys.ts) so content behaves
|
|
4
4
|
* identically across adapters.
|
|
5
5
|
*/
|
|
6
|
-
import type { AssetMeta, AssetStore, BeginUploadInput, PublicObject, StagedUploadTarget } from './types';
|
|
6
|
+
import type { AssetMeta, AssetStore, BeginUploadInput, PublicObject, StagedUploadTarget } from './types.js';
|
|
7
7
|
export interface LocalAssetStoreOptions {
|
|
8
8
|
/** Root directory. The five bucket prefixes are created as subdirectories under it. */
|
|
9
9
|
root: string;
|
|
@@ -81,4 +81,3 @@ export declare class LocalAssetStore implements AssetStore {
|
|
|
81
81
|
}>;
|
|
82
82
|
deleteMeta(hash32: string): Promise<void>;
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=store-local.d.ts.map
|
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
* already configured by the site's CDK stack) — this store only ever reads
|
|
5
5
|
* and writes objects under the five asset prefixes.
|
|
6
6
|
*/
|
|
7
|
-
import { type AssetPrefixes } from './keys';
|
|
8
|
-
import type { AssetMeta, AssetStore, BeginUploadInput, PublicObject, StagedUploadTarget } from './types';
|
|
7
|
+
import { type AssetPrefixes } from './keys.js';
|
|
8
|
+
import type { AssetMeta, AssetStore, BeginUploadInput, PublicObject, StagedUploadTarget } from './types.js';
|
|
9
9
|
export interface S3AssetStoreOptions {
|
|
10
10
|
bucket: string;
|
|
11
11
|
region: string;
|
|
12
|
-
publicBaseUrl?: string;
|
|
13
12
|
/** Defaults to 50 MiB. */
|
|
14
13
|
maxUploadBytes?: number;
|
|
15
14
|
/** Override the default bucket-prefix layout (rarely needed). */
|
|
@@ -68,4 +67,3 @@ export declare class S3AssetStore implements AssetStore {
|
|
|
68
67
|
private getObject;
|
|
69
68
|
private getObjectBytes;
|
|
70
69
|
}
|
|
71
|
-
//# sourceMappingURL=store-s3.d.ts.map
|
package/dist/assets/store-s3.js
CHANGED
|
@@ -112,4 +112,3 @@ export declare function parseTransformPath(segments: readonly string[]): ParseTr
|
|
|
112
112
|
* cache key. Order is fixed alphabetically by key: c, f, q, w.
|
|
113
113
|
*/
|
|
114
114
|
export declare function formatDirectives(directives: TransformDirectives): string;
|
|
115
|
-
//# sourceMappingURL=transform-directives.d.ts.map
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
* path with no extra native dependency) purely for pipeline uniformity, not
|
|
29
29
|
* because GIF needs stripping.
|
|
30
30
|
*/
|
|
31
|
-
import { type TransformDirectives } from './transform-directives';
|
|
31
|
+
import { type TransformDirectives } from './transform-directives.js';
|
|
32
32
|
export interface ApplyTransformInput {
|
|
33
33
|
data: Uint8Array;
|
|
34
34
|
/** Source extension (lowercased file-type ext, e.g. 'png' | 'jpg' | 'webp' | 'gif'). */
|
|
@@ -48,4 +48,3 @@ export interface TransformRejection {
|
|
|
48
48
|
}
|
|
49
49
|
export type TransformResult = TransformSuccess | TransformRejection;
|
|
50
50
|
export declare function applyTransform(input: ApplyTransformInput, directives: TransformDirectives): Promise<TransformResult>;
|
|
51
|
-
//# sourceMappingURL=transform.d.ts.map
|
package/dist/assets/transform.js
CHANGED
package/dist/assets/types.d.ts
CHANGED
package/dist/assets/types.js
CHANGED
package/dist/auth/cache.d.ts
CHANGED
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
* These use node:fs/promises and must NOT be imported in client bundles.
|
|
4
4
|
* Use 'canopycms/auth/cache' as the import path.
|
|
5
5
|
*/
|
|
6
|
-
export { FileBasedAuthCache, writeAuthCacheSnapshot } from './file-based-auth-cache';
|
|
7
|
-
export { CachingAuthPlugin } from './caching-auth-plugin';
|
|
8
|
-
//# sourceMappingURL=cache.d.ts.map
|
|
6
|
+
export { FileBasedAuthCache, writeAuthCacheSnapshot } from './file-based-auth-cache.js';
|
|
7
|
+
export { CachingAuthPlugin } from './caching-auth-plugin.js';
|
package/dist/auth/cache.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AuthPlugin } from './plugin';
|
|
2
|
-
import type { UserSearchResult, GroupMetadata, AuthenticationResult } from './types';
|
|
3
|
-
import type { CanopyUserId, CanopyGroupId } from '../types';
|
|
1
|
+
import type { AuthPlugin } from './plugin.js';
|
|
2
|
+
import type { UserSearchResult, GroupMetadata, AuthenticationResult } from './types.js';
|
|
3
|
+
import type { CanopyUserId, CanopyGroupId } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Generic cache provider interface for auth metadata.
|
|
6
6
|
* Any auth system can implement its own cache backend
|
|
@@ -52,4 +52,3 @@ export declare class CachingAuthPlugin implements AuthPlugin {
|
|
|
52
52
|
getGroupMetadata(groupId: CanopyGroupId): Promise<GroupMetadata | null>;
|
|
53
53
|
listGroups(limit?: number): Promise<GroupMetadata[]>;
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=caching-auth-plugin.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CanopyRequest } from '../http/types';
|
|
1
|
+
import type { CanopyRequest } from '../http/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Headers-like interface for auth context.
|
|
4
4
|
* Framework-agnostic - matches Web Headers, Next.js Headers, and any similar interface.
|
|
@@ -28,4 +28,3 @@ export declare function extractHeaders(context: unknown): HeadersLike | null;
|
|
|
28
28
|
* Use this in auth plugins to provide clear error messages.
|
|
29
29
|
*/
|
|
30
30
|
export declare function validateAuthContext(context: unknown): HeadersLike;
|
|
31
|
-
//# sourceMappingURL=context-helpers.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AuthCacheProvider } from './caching-auth-plugin';
|
|
2
|
-
import type { UserSearchResult, GroupMetadata } from './types';
|
|
3
|
-
import type { CanopyUserId, CanopyGroupId } from '../types';
|
|
1
|
+
import type { AuthCacheProvider } from './caching-auth-plugin.js';
|
|
2
|
+
import type { UserSearchResult, GroupMetadata } from './types.js';
|
|
3
|
+
import type { CanopyUserId, CanopyGroupId } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* File-based auth cache provider.
|
|
6
6
|
* Reads JSON files from a directory that is populated externally
|
|
@@ -43,4 +43,3 @@ export declare class FileBasedAuthCache implements AuthCacheProvider {
|
|
|
43
43
|
* either the old snapshot or the new one, never a mix.
|
|
44
44
|
*/
|
|
45
45
|
export declare function writeAuthCacheSnapshot(cachePath: string, files: Record<string, unknown>): Promise<string>;
|
|
46
|
-
//# sourceMappingURL=file-based-auth-cache.d.ts.map
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export type { AuthPlugin, AuthPluginFactory } from './plugin';
|
|
2
|
-
export { assertAuthPluginAllowedForMode } from './plugin';
|
|
3
|
-
export type { UserSearchResult, GroupMetadata, AuthenticationResult } from './types';
|
|
4
|
-
export { isCanopyRequest, isHeadersLike, extractHeaders, validateAuthContext, } from './context-helpers';
|
|
5
|
-
export type { HeadersLike } from './context-helpers';
|
|
6
|
-
export type { AuthCacheProvider, TokenVerifier } from './caching-auth-plugin';
|
|
7
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
export type { AuthPlugin, AuthPluginFactory } from './plugin.js';
|
|
2
|
+
export { assertAuthPluginAllowedForMode } from './plugin.js';
|
|
3
|
+
export type { UserSearchResult, GroupMetadata, AuthenticationResult } from './types.js';
|
|
4
|
+
export { isCanopyRequest, isHeadersLike, extractHeaders, validateAuthContext, } from './context-helpers.js';
|
|
5
|
+
export type { HeadersLike } from './context-helpers.js';
|
|
6
|
+
export type { AuthCacheProvider, TokenVerifier } from './caching-auth-plugin.js';
|
package/dist/auth/index.js
CHANGED
package/dist/auth/plugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { UserSearchResult, GroupMetadata, AuthenticationResult } from './types';
|
|
2
|
-
import type { CanopyUserId, CanopyGroupId } from '../types';
|
|
3
|
-
import type { OperatingMode } from '../operating-mode/types';
|
|
1
|
+
import type { UserSearchResult, GroupMetadata, AuthenticationResult } from './types.js';
|
|
2
|
+
import type { CanopyUserId, CanopyGroupId } from '../types.js';
|
|
3
|
+
import type { OperatingMode } from '../operating-mode/types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Abstract auth provider interface.
|
|
6
6
|
* Implement this to integrate different auth systems (Clerk, Auth0, NextAuth, etc.)
|
|
@@ -97,4 +97,3 @@ export type AuthPluginFactory<TConfig = unknown> = (config: TConfig) => AuthPlug
|
|
|
97
97
|
* @throws Error when mode is 'prod' and the plugin does not set `verifiesCredentials: true`
|
|
98
98
|
*/
|
|
99
99
|
export declare function assertAuthPluginAllowedForMode(plugin: AuthPlugin, mode: OperatingMode | undefined): void;
|
|
100
|
-
//# sourceMappingURL=plugin.d.ts.map
|
package/dist/auth/plugin.js
CHANGED
package/dist/auth/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CanopyUserId, CanopyGroupId } from '../types';
|
|
1
|
+
import type { CanopyUserId, CanopyGroupId } from '../types.js';
|
|
2
2
|
/**
|
|
3
3
|
* User search result for permission UI
|
|
4
4
|
*/
|
|
@@ -62,4 +62,3 @@ export interface AuthenticationResult {
|
|
|
62
62
|
};
|
|
63
63
|
error?: string;
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/auth/types.js
CHANGED
|
@@ -3,18 +3,59 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles checking if a user can access a branch based on ACLs.
|
|
5
5
|
*/
|
|
6
|
-
import type { BranchContext } from '../types';
|
|
7
|
-
import type { DefaultBranchAccess } from '../config';
|
|
8
|
-
import type { CanopyUser } from '../user';
|
|
9
|
-
import type { BranchAccessResult } from './types';
|
|
6
|
+
import type { BranchContext } from '../types.js';
|
|
7
|
+
import type { CanopyConfig, DefaultBranchAccess } from '../config/index.js';
|
|
8
|
+
import type { CanopyUser } from '../user.js';
|
|
9
|
+
import type { BranchAccessResult } from './types.js';
|
|
10
|
+
/** Options narrowing {@link checkBranchAccessWithDefault} to a specific branch's nature. */
|
|
11
|
+
export interface BranchAccessOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Whether this is the protected base branch -- pass
|
|
14
|
+
* `getBranchProtection(...).isProtected`. When true, the branch passes this
|
|
15
|
+
* layer wherever no explicit ACL decided the question, and the PATH layer alone
|
|
16
|
+
* decides what is readable. Explicit ACL verdicts still win in both directions
|
|
17
|
+
* (see the comment at the fallback site).
|
|
18
|
+
*
|
|
19
|
+
* This grant is load-bearing, not a convenience. The base branch takes no ACL
|
|
20
|
+
* (`updateBranchAccessHandler` rejects one outright, because an entry there
|
|
21
|
+
* would feed `allowed_by_acl` and confer Withdraw rights) and its `createdBy`
|
|
22
|
+
* is `canopycms-system`, so nobody is its creator. Without this, the branch
|
|
23
|
+
* every user lands on is unreachable under `defaultBranchAccess: 'deny'` with
|
|
24
|
+
* no way to configure around it -- which is what made 'deny' unusable for any
|
|
25
|
+
* site with non-admin editors.
|
|
26
|
+
*
|
|
27
|
+
* It cannot widen anything dangerous: workflow actions stay blocked because
|
|
28
|
+
* {@link canPerformWorkflowAction} disables its system-branch grant on the
|
|
29
|
+
* same flag, prod writes stay blocked by `getBranchWriteProtection().readOnly`,
|
|
30
|
+
* and the editor API 401s anonymous callers before authorization runs. What it
|
|
31
|
+
* buys is that a public-read `deployedAs: 'server'` site can run 'deny' with
|
|
32
|
+
* `defaultPathAccess: { read: 'allow' }` and still keep un-ACL'd work branches
|
|
33
|
+
* private -- previously that required the blunt `defaultBranchAccess: 'allow'`,
|
|
34
|
+
* which opened every work branch too.
|
|
35
|
+
*/
|
|
36
|
+
isProtectedBranch?: boolean;
|
|
37
|
+
}
|
|
10
38
|
/**
|
|
11
39
|
* Check if user has access to a branch with explicit default behavior.
|
|
40
|
+
*
|
|
41
|
+
* Precedence, highest first:
|
|
42
|
+
* 1. Admins and Reviewers
|
|
43
|
+
* 2. `managerOrAdminAllowed` lockdown
|
|
44
|
+
* 3. An explicit user/group ACL -- an allowlist omitting the creator still
|
|
45
|
+
* denies them, so an admin can lock down a branch someone else created
|
|
46
|
+
* 4. With no ACL: the branch creator, then `defaultAccess`, and only where that
|
|
47
|
+
* would deny, the protected base branch grant
|
|
48
|
+
* (see {@link BranchAccessOptions.isProtectedBranch})
|
|
12
49
|
*/
|
|
13
|
-
export declare function checkBranchAccessWithDefault(context: BranchContext, user: CanopyUser, defaultAccess?: DefaultBranchAccess): BranchAccessResult;
|
|
50
|
+
export declare function checkBranchAccessWithDefault(context: BranchContext, user: CanopyUser, defaultAccess?: DefaultBranchAccess, options?: BranchAccessOptions): BranchAccessResult;
|
|
14
51
|
/**
|
|
15
52
|
* Create a branch access checker with bound default access.
|
|
53
|
+
*
|
|
54
|
+
* `config` is needed to resolve whether a branch is the protected base branch;
|
|
55
|
+
* it routes through `getBranchProtection`, the single source of truth for that
|
|
56
|
+
* question, rather than repeating the base-branch test here.
|
|
16
57
|
*/
|
|
17
|
-
export declare function createCheckBranchAccess(defaultAccess?: DefaultBranchAccess): (context: BranchContext, user: CanopyUser) => BranchAccessResult;
|
|
58
|
+
export declare function createCheckBranchAccess(defaultAccess?: DefaultBranchAccess, config?: Pick<CanopyConfig, 'mode' | 'defaultBaseBranch'>): (context: BranchContext, user: CanopyUser) => BranchAccessResult;
|
|
18
59
|
/** Options tightening {@link canPerformWorkflowAction} beyond the default hybrid model. */
|
|
19
60
|
export interface WorkflowActionOptions {
|
|
20
61
|
/**
|
|
@@ -23,6 +64,13 @@ export interface WorkflowActionOptions {
|
|
|
23
64
|
* would otherwise let anyone with general branch access submit/withdraw it
|
|
24
65
|
* -- pass `getBranchProtection(...).isProtected` here so only
|
|
25
66
|
* admins/reviewers/explicit-ACL users retain workflow rights on it.
|
|
67
|
+
*
|
|
68
|
+
* It is also forwarded to {@link checkBranchAccessWithDefault}, where the same
|
|
69
|
+
* flag GRANTS access (see {@link BranchAccessOptions.isProtectedBranch}). The
|
|
70
|
+
* two pull in opposite directions on purpose, and that is exactly the intended
|
|
71
|
+
* base-branch posture: readable by anyone the path layer permits, submittable
|
|
72
|
+
* by no one. The access layer says yes, then `isSystemBranch` below is false,
|
|
73
|
+
* so a non-creator/non-ACL/non-privileged user still gets `false` here.
|
|
26
74
|
*/
|
|
27
75
|
isProtectedBranch?: boolean;
|
|
28
76
|
}
|
|
@@ -37,6 +85,9 @@ export interface WorkflowActionOptions {
|
|
|
37
85
|
* - Admins and Reviewers always have access (via checkBranchAccess)
|
|
38
86
|
* - Unless `options.isProtectedBranch` is set, in which case the system-branch
|
|
39
87
|
* grant above is disabled (see {@link WorkflowActionOptions})
|
|
88
|
+
*
|
|
89
|
+
* The creator grant is enforced twice over: `checkBranchAccessWithDefault` now
|
|
90
|
+
* admits the creator (so the gate below no longer swallows them under
|
|
91
|
+
* `defaultBranchAccess: 'deny'`), and `userIsCreator` still decides the result.
|
|
40
92
|
*/
|
|
41
93
|
export declare function canPerformWorkflowAction(context: BranchContext, user: CanopyUser, defaultAccess?: DefaultBranchAccess, options?: WorkflowActionOptions): boolean;
|
|
42
|
-
//# sourceMappingURL=branch.d.ts.map
|
|
@@ -4,10 +4,20 @@
|
|
|
4
4
|
* Handles checking if a user can access a branch based on ACLs.
|
|
5
5
|
*/
|
|
6
6
|
import { isAdmin, isReviewer } from './helpers.js';
|
|
7
|
+
import { getBranchProtection } from './protected-branch.js';
|
|
7
8
|
/**
|
|
8
9
|
* Check if user has access to a branch with explicit default behavior.
|
|
10
|
+
*
|
|
11
|
+
* Precedence, highest first:
|
|
12
|
+
* 1. Admins and Reviewers
|
|
13
|
+
* 2. `managerOrAdminAllowed` lockdown
|
|
14
|
+
* 3. An explicit user/group ACL -- an allowlist omitting the creator still
|
|
15
|
+
* denies them, so an admin can lock down a branch someone else created
|
|
16
|
+
* 4. With no ACL: the branch creator, then `defaultAccess`, and only where that
|
|
17
|
+
* would deny, the protected base branch grant
|
|
18
|
+
* (see {@link BranchAccessOptions.isProtectedBranch})
|
|
9
19
|
*/
|
|
10
|
-
export function checkBranchAccessWithDefault(context, user, defaultAccess = 'deny') {
|
|
20
|
+
export function checkBranchAccessWithDefault(context, user, defaultAccess = 'deny', options) {
|
|
11
21
|
// Admins and Reviewers have full branch access
|
|
12
22
|
if (isAdmin(user.groups) || isReviewer(user.groups)) {
|
|
13
23
|
return { allowed: true, reason: 'privileged' };
|
|
@@ -16,12 +26,34 @@ export function checkBranchAccessWithDefault(context, user, defaultAccess = 'den
|
|
|
16
26
|
const hasUserConstraint = !!access.allowedUsers?.length;
|
|
17
27
|
const hasGroupConstraint = !!access.allowedGroups?.length;
|
|
18
28
|
const managerOrAdminAllowed = access.managerOrAdminAllowed ?? false;
|
|
29
|
+
if (!hasUserConstraint && !hasGroupConstraint && managerOrAdminAllowed) {
|
|
30
|
+
return { allowed: false, reason: 'denied_by_acl' };
|
|
31
|
+
}
|
|
19
32
|
if (!hasUserConstraint && !hasGroupConstraint) {
|
|
20
|
-
|
|
21
|
-
|
|
33
|
+
// The branch creator owns their own un-ACL'd branch. This matches the three
|
|
34
|
+
// places the server already grants on creator-ownership independently of
|
|
35
|
+
// branch access (listBranchesHandler, canDeleteBranch, canModifyBranchAccess)
|
|
36
|
+
// -- without it, under 'deny' a creator could delete their branch and rewrite
|
|
37
|
+
// its ACL but not read a single file on it.
|
|
38
|
+
//
|
|
39
|
+
// Deliberately scoped to the no-ACL case: an EXPLICIT allowlist that omits
|
|
40
|
+
// the creator still denies them, because that is how an admin locks down a
|
|
41
|
+
// branch someone else created. Granting creator ahead of the ACL would make
|
|
42
|
+
// that lockdown silently ineffective.
|
|
43
|
+
if (context.branch.createdBy === user.userId) {
|
|
44
|
+
return { allowed: true, reason: 'creator' };
|
|
45
|
+
}
|
|
46
|
+
if (defaultAccess === 'allow') {
|
|
47
|
+
return { allowed: true, reason: 'no_acl' };
|
|
22
48
|
}
|
|
23
|
-
|
|
24
|
-
|
|
49
|
+
// Same scoping rationale for the base branch: only where the bare default
|
|
50
|
+
// would otherwise decide. A short-circuit higher up would replace
|
|
51
|
+
// 'allowed_by_acl' with 'base_branch' and silently strip Withdraw rights
|
|
52
|
+
// from ACL-listed users, and would override an explicit 'denied_by_acl'.
|
|
53
|
+
if (options?.isProtectedBranch) {
|
|
54
|
+
return { allowed: true, reason: 'base_branch' };
|
|
55
|
+
}
|
|
56
|
+
return { allowed: false, reason: 'no_acl' };
|
|
25
57
|
}
|
|
26
58
|
const userAllowed = hasUserConstraint && access.allowedUsers?.includes(user.userId);
|
|
27
59
|
const groupAllowed = hasGroupConstraint && user.groups?.some((g) => access.allowedGroups?.includes(g));
|
|
@@ -30,9 +62,17 @@ export function checkBranchAccessWithDefault(context, user, defaultAccess = 'den
|
|
|
30
62
|
}
|
|
31
63
|
/**
|
|
32
64
|
* Create a branch access checker with bound default access.
|
|
65
|
+
*
|
|
66
|
+
* `config` is needed to resolve whether a branch is the protected base branch;
|
|
67
|
+
* it routes through `getBranchProtection`, the single source of truth for that
|
|
68
|
+
* question, rather than repeating the base-branch test here.
|
|
33
69
|
*/
|
|
34
|
-
export function createCheckBranchAccess(defaultAccess = 'deny') {
|
|
35
|
-
return (context, user) => checkBranchAccessWithDefault(context, user, defaultAccess
|
|
70
|
+
export function createCheckBranchAccess(defaultAccess = 'deny', config) {
|
|
71
|
+
return (context, user) => checkBranchAccessWithDefault(context, user, defaultAccess, {
|
|
72
|
+
isProtectedBranch: config
|
|
73
|
+
? getBranchProtection(config, context.branch.name, context.branch.baseBranch).isProtected
|
|
74
|
+
: false,
|
|
75
|
+
});
|
|
36
76
|
}
|
|
37
77
|
/**
|
|
38
78
|
* Check if user can perform workflow actions (submit/withdraw) on a branch.
|
|
@@ -45,10 +85,16 @@ export function createCheckBranchAccess(defaultAccess = 'deny') {
|
|
|
45
85
|
* - Admins and Reviewers always have access (via checkBranchAccess)
|
|
46
86
|
* - Unless `options.isProtectedBranch` is set, in which case the system-branch
|
|
47
87
|
* grant above is disabled (see {@link WorkflowActionOptions})
|
|
88
|
+
*
|
|
89
|
+
* The creator grant is enforced twice over: `checkBranchAccessWithDefault` now
|
|
90
|
+
* admits the creator (so the gate below no longer swallows them under
|
|
91
|
+
* `defaultBranchAccess: 'deny'`), and `userIsCreator` still decides the result.
|
|
48
92
|
*/
|
|
49
93
|
export function canPerformWorkflowAction(context, user, defaultAccess = 'deny', options) {
|
|
50
|
-
// Check if user has general branch access (handles admins, reviewers, ACLs)
|
|
51
|
-
const accessResult = checkBranchAccessWithDefault(context, user, defaultAccess
|
|
94
|
+
// Check if user has general branch access (handles admins, reviewers, creator, ACLs)
|
|
95
|
+
const accessResult = checkBranchAccessWithDefault(context, user, defaultAccess, {
|
|
96
|
+
isProtectedBranch: options?.isProtectedBranch,
|
|
97
|
+
});
|
|
52
98
|
// If user doesn't have basic branch access, deny immediately
|
|
53
99
|
if (!accessResult.allowed) {
|
|
54
100
|
return false;
|
|
@@ -66,4 +112,3 @@ export function canPerformWorkflowAction(context, user, defaultAccess = 'deny',
|
|
|
66
112
|
accessResult.reason === 'allowed_by_acl' ||
|
|
67
113
|
(isSystemBranch && accessResult.allowed));
|
|
68
114
|
}
|
|
69
|
-
//# sourceMappingURL=branch.js.map
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Usage:
|
|
8
8
|
* ```ts
|
|
9
|
-
* import { checkContentAccess } from './authorization'
|
|
9
|
+
* import { checkContentAccess } from './authorization.js'
|
|
10
10
|
*
|
|
11
11
|
* const result = await checkContentAccess(deps, context, branchRoot, 'content/posts/my-post.mdx', user, 'edit')
|
|
12
12
|
* if (result.allowed) {
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
* }
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
|
-
import type { BranchContext } from '../types';
|
|
18
|
-
import type { PermissionLevel } from '../config';
|
|
19
|
-
import type { CanopyUser } from '../user';
|
|
20
|
-
import type { ContentAccessResult, ContentAccessDeps } from './types';
|
|
21
|
-
import type { PhysicalPath } from '../paths/types';
|
|
17
|
+
import type { BranchContext } from '../types.js';
|
|
18
|
+
import type { PermissionLevel } from '../config/index.js';
|
|
19
|
+
import type { CanopyUser } from '../user.js';
|
|
20
|
+
import type { ContentAccessResult, ContentAccessDeps } from './types.js';
|
|
21
|
+
import type { PhysicalPath } from '../paths/types.js';
|
|
22
22
|
/**
|
|
23
23
|
* A bound content-access checker: evaluates a single path/level synchronously
|
|
24
24
|
* against permissions that were already loaded when the checker was created.
|
|
@@ -57,4 +57,3 @@ export declare function checkContentAccess(deps: ContentAccessDeps, context: Bra
|
|
|
57
57
|
* Create a content access checker with bound dependencies.
|
|
58
58
|
*/
|
|
59
59
|
export declare function createCheckContentAccess(deps: ContentAccessDeps): (context: BranchContext, branchRoot: string, relativePath: PhysicalPath, user: CanopyUser, level: PermissionLevel) => Promise<ContentAccessResult>;
|
|
60
|
-
//# sourceMappingURL=content.d.ts.map
|
|
@@ -84,4 +84,3 @@ export async function checkContentAccess(deps, context, branchRoot, relativePath
|
|
|
84
84
|
export function createCheckContentAccess(deps) {
|
|
85
85
|
return (context, branchRoot, relativePath, user, level) => checkContentAccess(deps, context, branchRoot, relativePath, user, level);
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=content.js.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Groups module exports
|
|
3
3
|
*/
|
|
4
|
-
export { GroupsFileSchema, createDefaultGroupsFile, type GroupsFile, type InternalGroup, } from './schema';
|
|
5
|
-
export { loadGroupsFile, loadInternalGroups, deriveInternalGroups, mutateGroupsFile, } from './loader';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
4
|
+
export { GroupsFileSchema, createDefaultGroupsFile, type GroupsFile, type InternalGroup, } from './schema.js';
|
|
5
|
+
export { loadGroupsFile, loadInternalGroups, deriveInternalGroups, mutateGroupsFile, } from './loader.js';
|