canopycms 0.0.63 → 0.0.65
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 +7 -8
- package/dist/ai/index.js +0 -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 +4 -1
- package/dist/ai/to-plain-text.js +47 -1
- package/dist/ai/transform-components.d.ts +1 -2
- package/dist/ai/transform-components.js +0 -1
- 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 +9 -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 +14 -3
- 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 +4 -5
- package/dist/authorization/branch.js +0 -1
- 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 +6 -7
- 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 +22 -3
- package/dist/branch-health.js +6 -2
- 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 +5 -6
- package/dist/build-canopy.js +0 -1
- package/dist/build-mode.d.ts +1 -2
- package/dist/build-mode.js +0 -1
- package/dist/cli/cli.d.ts +18 -2
- package/dist/cli/cli.js +1172 -490
- package/dist/cli/generate-ai-content.d.ts +0 -1
- package/dist/cli/generate-ai-content.js +1000 -360
- package/dist/cli/init.d.ts +1 -2
- package/dist/cli/init.js +43 -6
- 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/Dockerfile.cms.template +8 -2
- package/dist/cli/template-files/cms-stack.ts.template +33 -6
- package/dist/cli/template-files/deploy-cms.yml.template +29 -14
- 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 +75 -59
- package/dist/content-listing.js +76 -83
- package/dist/content-reader.d.ts +4 -5
- package/dist/content-reader.js +22 -3
- package/dist/content-store.d.ts +137 -6
- package/dist/content-store.js +294 -22
- package/dist/content-tree.d.ts +15 -5
- package/dist/content-tree.js +27 -8
- package/dist/context.d.ts +9 -6
- package/dist/context.js +0 -1
- package/dist/dev-content-watcher.d.ts +12 -3
- package/dist/dev-content-watcher.js +120 -30
- 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 +114 -3
- package/dist/entry-schema.js +46 -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 -18
- package/dist/index.js +0 -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 +54 -45
- package/dist/server.js +11 -3
- package/dist/services.d.ts +10 -11
- package/dist/services.js +0 -1
- package/dist/settings-workspace.d.ts +12 -15
- package/dist/settings-workspace.js +10 -13
- package/dist/static/index.d.ts +164 -6
- package/dist/static/index.js +242 -7
- package/dist/static/seo.d.ts +8 -30
- package/dist/static/seo.js +19 -46
- 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 +10 -2
- 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 +18 -2
- package/dist/utils/git.js +61 -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 +2 -3
- package/dist/utils/sanitize-href.js +2 -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 +31 -2
- package/dist/worker/cms-worker.js +321 -13
- 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 +3 -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/to-plain-text.d.ts.map +0 -1
- package/dist/ai/to-plain-text.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-canopy.d.ts.map +0 -1
- package/dist/build-canopy.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/static/seo.d.ts.map +0 -1
- package/dist/static/seo.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
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Permissions module exports
|
|
3
3
|
*/
|
|
4
|
-
export { PermissionsFileSchema, createDefaultPermissionsFile, type PermissionsFile } from './schema';
|
|
5
|
-
export { loadPermissionsFile, loadPathPermissions, mutatePermissionsFile, ensurePermissionsFile, } from './loader';
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
|
4
|
+
export { PermissionsFileSchema, createDefaultPermissionsFile, type PermissionsFile } from './schema.js';
|
|
5
|
+
export { loadPermissionsFile, loadPathPermissions, mutatePermissionsFile, ensurePermissionsFile, } from './loader.js';
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* permissions.json under the cross-host layered lock in
|
|
6
6
|
* authorization/settings-file-store.ts.
|
|
7
7
|
*/
|
|
8
|
-
import type { PathPermission } from '../../config';
|
|
9
|
-
import type { PermissionsFile } from './schema';
|
|
10
|
-
import type { OperatingMode } from '../../operating-mode';
|
|
11
|
-
import type { OccWriteResult } from '../../utils/occ-json-write';
|
|
8
|
+
import type { PathPermission } from '../../config/index.js';
|
|
9
|
+
import type { PermissionsFile } from './schema.js';
|
|
10
|
+
import type { OperatingMode } from '../../operating-mode/index.js';
|
|
11
|
+
import type { OccWriteResult } from '../../utils/occ-json-write.js';
|
|
12
12
|
/**
|
|
13
13
|
* Load full permissions file (for version checking)
|
|
14
14
|
* Returns null if file doesn't exist.
|
|
@@ -44,4 +44,3 @@ export declare function mutatePermissionsFile(repoRoot: string, mode: OperatingM
|
|
|
44
44
|
* already present (the mutator returns `null`, so no write happens).
|
|
45
45
|
*/
|
|
46
46
|
export declare function ensurePermissionsFile(repoRoot: string, userId: string, mode: OperatingMode): Promise<void>;
|
|
47
|
-
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Schema for permissions.json file
|
|
3
3
|
*/
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
-
import type { CanopyUserId } from '../../types';
|
|
6
|
-
import type { PermissionPath } from '../types';
|
|
5
|
+
import type { CanopyUserId } from '../../types.js';
|
|
6
|
+
import type { PermissionPath } from '../types.js';
|
|
7
7
|
/**
|
|
8
8
|
* Schema for .canopycms/permissions.json
|
|
9
9
|
*
|
|
@@ -131,4 +131,3 @@ export type PermissionsFile = z.infer<typeof PermissionsFileSchema>;
|
|
|
131
131
|
* (mutateSettingsJsonFile via writeOccJsonFile) manages those.
|
|
132
132
|
*/
|
|
133
133
|
export declare function createDefaultPermissionsFile(userId: CanopyUserId): PermissionsFile;
|
|
134
|
-
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* "Protected Base Branch"). This is the single source of truth other modules
|
|
9
9
|
* key off of; do not re-derive the comparison elsewhere.
|
|
10
10
|
*/
|
|
11
|
-
import type { CanopyConfig } from '../config';
|
|
12
|
-
import type { BranchStatus } from '../types';
|
|
11
|
+
import type { CanopyConfig } from '../config/index.js';
|
|
12
|
+
import type { BranchStatus } from '../types.js';
|
|
13
13
|
export interface BranchProtection {
|
|
14
14
|
/** True when branchName resolves to the configured base branch. */
|
|
15
15
|
isProtected: boolean;
|
|
@@ -111,4 +111,3 @@ export declare function getBranchProtection(config: Pick<CanopyConfig, 'mode' |
|
|
|
111
111
|
* call {@link getBranchProtection} instead and get no `writeBlocked` at all.
|
|
112
112
|
*/
|
|
113
113
|
export declare function getBranchWriteProtection(config: Pick<CanopyConfig, 'mode' | 'defaultBaseBranch'>, branchName: string, recordedBaseBranch: string | undefined, status: BranchStatus | undefined): BranchWriteProtection;
|
|
114
|
-
//# sourceMappingURL=protected-branch.d.ts.map
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
* commit" on STDOUT only, so `git.commit()` resolves rather than
|
|
61
61
|
* throwing. Re-verify this on any simple-git upgrade.
|
|
62
62
|
*/
|
|
63
|
-
import { type OccWriteResult } from '../utils/occ-json-write';
|
|
63
|
+
import { type OccWriteResult } from '../utils/occ-json-write.js';
|
|
64
64
|
/**
|
|
65
65
|
* Thrown when the lock/OCC-retry stack in {@link mutateSettingsJsonFile}
|
|
66
66
|
* exhausts every attempt without landing a write — the file is busy with
|
|
@@ -124,4 +124,3 @@ export interface MutateSettingsFileOptions<TFile extends VersionedSettingsFile>
|
|
|
124
124
|
*/
|
|
125
125
|
export declare function mutateSettingsJsonFile<TFile extends VersionedSettingsFile>(opts: MutateSettingsFileOptions<TFile>): Promise<OccWriteResult | null>;
|
|
126
126
|
export {};
|
|
127
|
-
//# sourceMappingURL=settings-file-store.d.ts.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This module exports all types related to authorization including
|
|
5
5
|
* branch access, path permissions, and content access results.
|
|
6
6
|
*/
|
|
7
|
-
import type { CanopyUserId, CanopyGroupId } from '../types';
|
|
7
|
+
import type { CanopyUserId, CanopyGroupId } from '../types.js';
|
|
8
8
|
export type { CanopyUserId, CanopyGroupId };
|
|
9
9
|
/**
|
|
10
10
|
* A path used in permission rules.
|
|
@@ -26,7 +26,7 @@ export interface BranchAccessResult {
|
|
|
26
26
|
*/
|
|
27
27
|
export interface PathPermissionResult {
|
|
28
28
|
allowed: boolean;
|
|
29
|
-
matchedRule?: import('../config').PathPermission;
|
|
29
|
+
matchedRule?: import('../config/index.js').PathPermission;
|
|
30
30
|
reason?: string;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
@@ -41,10 +41,10 @@ export interface ContentAccessResult {
|
|
|
41
41
|
* Dependencies for content access checking
|
|
42
42
|
*/
|
|
43
43
|
export interface ContentAccessDeps {
|
|
44
|
-
checkBranchAccess: (context: import('../types').BranchContext, user: import('../user').CanopyUser) => BranchAccessResult;
|
|
45
|
-
loadPathPermissions: (branchRoot: string, mode: import('../operating-mode').OperatingMode) => Promise<import('../config').PathPermission[]>;
|
|
46
|
-
defaultPathAccess: import('../config').DefaultPathAccess;
|
|
47
|
-
mode: import('../operating-mode').OperatingMode;
|
|
44
|
+
checkBranchAccess: (context: import('../types.js').BranchContext, user: import('../user.js').CanopyUser) => BranchAccessResult;
|
|
45
|
+
loadPathPermissions: (branchRoot: string, mode: import('../operating-mode/index.js').OperatingMode) => Promise<import('../config/index.js').PathPermission[]>;
|
|
46
|
+
defaultPathAccess: import('../config/index.js').DefaultPathAccess;
|
|
47
|
+
mode: import('../operating-mode/index.js').OperatingMode;
|
|
48
48
|
/**
|
|
49
49
|
* Get the settings branch root path for loading centralized permissions.
|
|
50
50
|
* Used in modes with a separate settings branch.
|
|
@@ -52,4 +52,3 @@ export interface ContentAccessDeps {
|
|
|
52
52
|
*/
|
|
53
53
|
getSettingsBranchRoot?: () => Promise<string>;
|
|
54
54
|
}
|
|
55
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SECURITY CRITICAL: These functions validate permission paths
|
|
5
5
|
* to prevent path traversal attacks.
|
|
6
6
|
*/
|
|
7
|
-
import type { PermissionPath } from './types';
|
|
7
|
+
import type { PermissionPath } from './types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Parse and validate a PermissionPath.
|
|
10
10
|
*
|
|
@@ -29,4 +29,3 @@ export declare function parsePermissionPath(path: string): {
|
|
|
29
29
|
ok: false;
|
|
30
30
|
error: string;
|
|
31
31
|
};
|
|
32
|
-
//# sourceMappingURL=validation.d.ts.map
|
package/dist/branch-health.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BranchMetadata } from './types';
|
|
2
|
-
import { type DuplicateContentId } from './content-id-index';
|
|
1
|
+
import type { BranchMetadata } from './types.js';
|
|
2
|
+
import { type DuplicateContentId } from './content-id-index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Admin-facing health classification of every directory under a branches
|
|
5
5
|
* root (`baseRoot`), including ones the {@link BranchRegistry} quarantines
|
|
@@ -34,6 +34,26 @@ export interface BranchHealthEntry {
|
|
|
34
34
|
* repair-content-duplicates admin action.
|
|
35
35
|
*/
|
|
36
36
|
duplicateContentIds?: DuplicateContentId[];
|
|
37
|
+
/**
|
|
38
|
+
* healthy only, and only when true: this clone has an interrupted rebase on
|
|
39
|
+
* disk (`.git/rebase-merge` / `.git/rebase-apply`).
|
|
40
|
+
*
|
|
41
|
+
* Deliberately an advisory flag on `healthy` rather than its own
|
|
42
|
+
* `BranchHealthKind`, for the same reason `duplicateContentIds` is: the
|
|
43
|
+
* branch's metadata is intact and the state is USUALLY transient -- the
|
|
44
|
+
* worker's sync loop aborts an interrupted rebase at the top of its next
|
|
45
|
+
* per-branch pass. What this flag buys is visibility in the window BEFORE
|
|
46
|
+
* that pass runs, where the branch otherwise scanned as unqualified
|
|
47
|
+
* `healthy` while being skipped as dirty every cycle.
|
|
48
|
+
*
|
|
49
|
+
* NOT self-recovering in every case, so a persisting value is the real
|
|
50
|
+
* signal and needs an operator. Two ways it sticks: the abort itself keeps
|
|
51
|
+
* failing, or the branch's status moved off `editing` after it wedged --
|
|
52
|
+
* the rebase loop filters by status BEFORE reaching the recovery step, so a
|
|
53
|
+
* clone that crashed mid-rebase and was then submitted or archived is never
|
|
54
|
+
* revisited, and this flag is the only thing that surfaces it.
|
|
55
|
+
*/
|
|
56
|
+
rebaseInProgress?: boolean;
|
|
37
57
|
/** corrupt-metadata only: message describing why the file failed to load. */
|
|
38
58
|
parseError?: string;
|
|
39
59
|
/** corrupt-metadata only: branch.json's mtime, ISO. Omitted if branch.json itself couldn't be stat'd. */
|
|
@@ -88,4 +108,3 @@ export declare function scanBranchHealth(baseRoot: string, opts: {
|
|
|
88
108
|
baseBranchName: string;
|
|
89
109
|
contentRootName?: string;
|
|
90
110
|
}): Promise<BranchHealthEntry[]>;
|
|
91
|
-
//# sourceMappingURL=branch-health.d.ts.map
|
package/dist/branch-health.js
CHANGED
|
@@ -4,6 +4,7 @@ import { BranchMetadataFileManager, BranchMetadataCorruptError } from './branch-
|
|
|
4
4
|
import { ContentIdIndex } from './content-id-index.js';
|
|
5
5
|
import { sanitizeBranchName } from './paths/branch-name.js';
|
|
6
6
|
import { getErrorMessage, isNodeError, isNotFoundError } from './utils/error.js';
|
|
7
|
+
import { isRebaseInProgress } from './utils/git.js';
|
|
7
8
|
/**
|
|
8
9
|
* The on-disk path of the cross-process provisioning lock marker for a
|
|
9
10
|
* given branch directory, matching `branch-workspace.ts`'s
|
|
@@ -139,13 +140,17 @@ export async function scanBranchHealth(baseRoot, opts) {
|
|
|
139
140
|
continue;
|
|
140
141
|
}
|
|
141
142
|
if (meta) {
|
|
142
|
-
const duplicateContentIds = await
|
|
143
|
+
const [duplicateContentIds, rebaseInProgress] = await Promise.all([
|
|
144
|
+
scanDuplicateContentIds(branchRoot, contentRootName),
|
|
145
|
+
isRebaseInProgress(branchRoot),
|
|
146
|
+
]);
|
|
143
147
|
entries.push({
|
|
144
148
|
dirName,
|
|
145
149
|
kind: 'healthy',
|
|
146
150
|
...(isBaseBranch ? { isBaseBranch } : {}),
|
|
147
151
|
branch: meta.branch,
|
|
148
152
|
...(duplicateContentIds.length ? { duplicateContentIds } : {}),
|
|
153
|
+
...(rebaseInProgress ? { rebaseInProgress } : {}),
|
|
149
154
|
});
|
|
150
155
|
continue;
|
|
151
156
|
}
|
|
@@ -171,4 +176,3 @@ export async function scanBranchHealth(baseRoot, opts) {
|
|
|
171
176
|
}
|
|
172
177
|
return entries;
|
|
173
178
|
}
|
|
174
|
-
//# sourceMappingURL=branch-health.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { BranchContext, BranchMetadata } from './types';
|
|
2
|
-
import { type OperatingMode } from './operating-mode';
|
|
1
|
+
import type { BranchContext, BranchMetadata } from './types.js';
|
|
2
|
+
import { type OperatingMode } from './operating-mode/index.js';
|
|
3
3
|
export interface BranchMetadataFile {
|
|
4
4
|
schemaVersion: number;
|
|
5
5
|
version: number;
|
|
@@ -155,4 +155,3 @@ export declare const loadBranchContext: (options: {
|
|
|
155
155
|
mode: OperatingMode;
|
|
156
156
|
basePathOverride?: string;
|
|
157
157
|
}) => Promise<BranchContext | null>;
|
|
158
|
-
//# sourceMappingURL=branch-metadata.d.ts.map
|
package/dist/branch-metadata.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BranchContext } from './types';
|
|
1
|
+
import type { BranchContext } from './types.js';
|
|
2
2
|
export interface BranchRegistrySnapshot {
|
|
3
3
|
version: number;
|
|
4
4
|
branches: BranchContext[];
|
|
@@ -110,4 +110,3 @@ export declare class BranchRegistry {
|
|
|
110
110
|
*/
|
|
111
111
|
protected scanBranchDirectories(): Promise<BranchContext[]>;
|
|
112
112
|
}
|
|
113
|
-
//# sourceMappingURL=branch-registry.d.ts.map
|
package/dist/branch-registry.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { RootCollectionConfig } from './config';
|
|
2
|
-
import type { FlatSchemaItem } from './config/types';
|
|
3
|
-
import type { OperatingMode } from './operating-mode';
|
|
4
|
-
import type { EntrySchemaRegistry, SchemaResolutionResult } from './schema/types';
|
|
1
|
+
import type { RootCollectionConfig } from './config/index.js';
|
|
2
|
+
import type { FlatSchemaItem } from './config/types.js';
|
|
3
|
+
import type { OperatingMode } from './operating-mode/index.js';
|
|
4
|
+
import type { EntrySchemaRegistry, SchemaResolutionResult } from './schema/types.js';
|
|
5
5
|
/** resource-generation.ts resource key for the schema cache's marker. */
|
|
6
6
|
export declare const SCHEMA_GENERATION_RESOURCE = "schema";
|
|
7
7
|
/**
|
|
@@ -177,4 +177,3 @@ export declare class BranchSchemaCache {
|
|
|
177
177
|
*/
|
|
178
178
|
invalidate(branchRoot: string): Promise<void>;
|
|
179
179
|
}
|
|
180
|
-
//# sourceMappingURL=branch-schema-cache.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CanopyConfig } from './config';
|
|
2
|
-
import type { BranchAccessControl, BranchContext, CanopyUserId } from './types';
|
|
3
|
-
import type { OperatingMode } from './operating-mode';
|
|
1
|
+
import type { CanopyConfig } from './config/index.js';
|
|
2
|
+
import type { BranchAccessControl, BranchContext, CanopyUserId } from './types.js';
|
|
3
|
+
import type { OperatingMode } from './operating-mode/index.js';
|
|
4
4
|
export interface OpenBranchOptions {
|
|
5
5
|
branchName: string;
|
|
6
6
|
mode: OperatingMode;
|
|
@@ -21,7 +21,7 @@ export declare class BranchWorkspaceManager {
|
|
|
21
21
|
private ensureGitWorkspace;
|
|
22
22
|
openOrCreateBranch(options: OpenBranchOptions): Promise<BranchContext>;
|
|
23
23
|
}
|
|
24
|
-
export { loadBranchContext } from './branch-metadata';
|
|
24
|
+
export { loadBranchContext } from './branch-metadata.js';
|
|
25
25
|
/**
|
|
26
26
|
* Load an existing branch context, or create the workspace if it doesn't exist yet.
|
|
27
27
|
*
|
|
@@ -36,4 +36,3 @@ export declare function loadOrCreateBranchContext(options: {
|
|
|
36
36
|
createdBy: CanopyUserId;
|
|
37
37
|
remoteUrl?: string;
|
|
38
38
|
}): Promise<BranchContext>;
|
|
39
|
-
//# sourceMappingURL=branch-workspace.d.ts.map
|
package/dist/branch-workspace.js
CHANGED
|
@@ -4,9 +4,20 @@
|
|
|
4
4
|
* Writes generated AI content to disk as static files.
|
|
5
5
|
* Used during `npm run build` or via the CLI.
|
|
6
6
|
*/
|
|
7
|
-
import type { CanopyConfig, FlatSchemaItem } from '../config';
|
|
8
|
-
import type { EntrySchemaRegistry } from '../schema/types';
|
|
9
|
-
import type { AIContentConfig } from '../ai/types';
|
|
7
|
+
import type { CanopyConfig, FlatSchemaItem } from '../config/index.js';
|
|
8
|
+
import type { EntrySchemaRegistry } from '../schema/types.js';
|
|
9
|
+
import type { AIContentConfig } from '../ai/types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Bookkeeping record of what the previous run wrote, so a later run can remove files it no
|
|
12
|
+
* longer produces.
|
|
13
|
+
*
|
|
14
|
+
* Deliberately NOT the `manifest.json` that `generateAIContent` emits: that one is a published
|
|
15
|
+
* artifact with a defined shape (`AIManifest`) describing entries, collections and bundles for AI
|
|
16
|
+
* consumers. Overloading it with a build-time file list would change a contract adopters read.
|
|
17
|
+
*
|
|
18
|
+
* Dot-prefixed so it sorts out of the way and reads as machine bookkeeping rather than content.
|
|
19
|
+
*/
|
|
20
|
+
export declare const GENERATED_RECORD_FILENAME = ".canopy-generated.json";
|
|
10
21
|
export interface GenerateAIContentFilesOptions {
|
|
11
22
|
config: CanopyConfig;
|
|
12
23
|
entrySchemaRegistry: EntrySchemaRegistry;
|
|
@@ -19,10 +30,15 @@ export interface GenerateAIContentFilesOptions {
|
|
|
19
30
|
/**
|
|
20
31
|
* Generate AI content files and write them to disk.
|
|
21
32
|
*
|
|
22
|
-
*
|
|
33
|
+
* Output written by a previous run that this run no longer produces is removed, so a renamed or
|
|
34
|
+
* re-modelled entry does not leave a stale file behind advertising a URL the site no longer
|
|
35
|
+
* serves. Only files recorded by a previous run are eligible for removal — see
|
|
36
|
+
* `GENERATED_RECORD_FILENAME`.
|
|
37
|
+
*
|
|
38
|
+
* @returns Count of files written, count removed, and the output directory.
|
|
23
39
|
*/
|
|
24
40
|
export declare function generateAIContentFiles(options: GenerateAIContentFilesOptions): Promise<{
|
|
25
41
|
fileCount: number;
|
|
42
|
+
removedCount: number;
|
|
26
43
|
outputDir: string;
|
|
27
44
|
}>;
|
|
28
|
-
//# sourceMappingURL=generate-ai-content.d.ts.map
|
|
@@ -6,16 +6,76 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import fs from 'node:fs/promises';
|
|
8
8
|
import path from 'node:path';
|
|
9
|
+
import { isNodeError } from '../utils/error.js';
|
|
9
10
|
import { ContentStore } from '../content-store.js';
|
|
10
11
|
import { BranchSchemaCache } from '../branch-schema-cache.js';
|
|
11
12
|
import { generateAIContent } from '../ai/generate.js';
|
|
12
13
|
import { resolveBranchRoot } from '../ai/resolve-branch.js';
|
|
13
14
|
import { listEntries } from '../content-listing.js';
|
|
14
15
|
import { assertBuildEntriesValid } from '../static/index.js';
|
|
16
|
+
/**
|
|
17
|
+
* Bookkeeping record of what the previous run wrote, so a later run can remove files it no
|
|
18
|
+
* longer produces.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately NOT the `manifest.json` that `generateAIContent` emits: that one is a published
|
|
21
|
+
* artifact with a defined shape (`AIManifest`) describing entries, collections and bundles for AI
|
|
22
|
+
* consumers. Overloading it with a build-time file list would change a contract adopters read.
|
|
23
|
+
*
|
|
24
|
+
* Dot-prefixed so it sorts out of the way and reads as machine bookkeeping rather than content.
|
|
25
|
+
*/
|
|
26
|
+
export const GENERATED_RECORD_FILENAME = '.canopy-generated.json';
|
|
27
|
+
/** Read the previous run's record. A missing, unreadable or malformed record means "know nothing". */
|
|
28
|
+
async function readGeneratedRecord(outputDir) {
|
|
29
|
+
try {
|
|
30
|
+
const raw = await fs.readFile(path.join(outputDir, GENERATED_RECORD_FILENAME), 'utf-8');
|
|
31
|
+
const parsed = JSON.parse(raw);
|
|
32
|
+
if (typeof parsed !== 'object' || parsed === null || !('files' in parsed))
|
|
33
|
+
return [];
|
|
34
|
+
const { files } = parsed;
|
|
35
|
+
if (!Array.isArray(files))
|
|
36
|
+
return [];
|
|
37
|
+
return files.filter((entry) => typeof entry === 'string');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Absent (first run), unreadable, or hand-edited into nonsense. Pruning is an optimisation;
|
|
41
|
+
// never fail a build over the bookkeeping file. The cost of not knowing is a stale file, which
|
|
42
|
+
// is exactly the pre-existing behaviour.
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function writeGeneratedRecord(outputDir, files) {
|
|
47
|
+
const record = { files: [...files].sort() };
|
|
48
|
+
await fs.mkdir(outputDir, { recursive: true });
|
|
49
|
+
await fs.writeFile(path.join(outputDir, GENERATED_RECORD_FILENAME), `${JSON.stringify(record, null, 2)}\n`, 'utf-8');
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Remove directories left empty by a prune, walking up from `startDir` towards `stopAt`.
|
|
53
|
+
*
|
|
54
|
+
* `stopAt` (the output directory) is never removed: the adopter created it, or their framework
|
|
55
|
+
* expects it to exist. Any non-empty directory ends the walk.
|
|
56
|
+
*/
|
|
57
|
+
async function removeEmptyDirsUpward(startDir, stopAt) {
|
|
58
|
+
let current = startDir;
|
|
59
|
+
while (current.startsWith(stopAt) && current !== stopAt) {
|
|
60
|
+
try {
|
|
61
|
+
await fs.rmdir(current);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
// ENOTEMPTY (something else lives here) or ENOENT (already gone) — either way, stop.
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
current = path.dirname(current);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
15
70
|
/**
|
|
16
71
|
* Generate AI content files and write them to disk.
|
|
17
72
|
*
|
|
18
|
-
*
|
|
73
|
+
* Output written by a previous run that this run no longer produces is removed, so a renamed or
|
|
74
|
+
* re-modelled entry does not leave a stale file behind advertising a URL the site no longer
|
|
75
|
+
* serves. Only files recorded by a previous run are eligible for removal — see
|
|
76
|
+
* `GENERATED_RECORD_FILENAME`.
|
|
77
|
+
*
|
|
78
|
+
* @returns Count of files written, count removed, and the output directory.
|
|
19
79
|
*/
|
|
20
80
|
export async function generateAIContentFiles(options) {
|
|
21
81
|
const { config, entrySchemaRegistry, outputDir, aiConfig, _testFlatSchema } = options;
|
|
@@ -48,17 +108,49 @@ export async function generateAIContentFiles(options) {
|
|
|
48
108
|
});
|
|
49
109
|
// Write files to disk
|
|
50
110
|
const absoluteOutputDir = path.resolve(outputDir) + path.sep;
|
|
51
|
-
|
|
52
|
-
|
|
111
|
+
/** Resolve an output-relative path, refusing anything that escapes the output directory. */
|
|
112
|
+
const resolveOutputPath = (filePath) => {
|
|
53
113
|
const absolutePath = path.resolve(path.join(absoluteOutputDir, filePath));
|
|
54
|
-
// Security: prevent path traversal in output (e.g., malicious bundle names)
|
|
114
|
+
// Security: prevent path traversal in output (e.g., malicious bundle names). Applied to
|
|
115
|
+
// RECORDED paths too, not just freshly generated ones — the record is a file on disk that a
|
|
116
|
+
// person or another tool can edit, and it drives deletions.
|
|
55
117
|
if (!absolutePath.startsWith(absoluteOutputDir)) {
|
|
56
118
|
throw new Error(`Path traversal detected in AI content output: ${filePath}`);
|
|
57
119
|
}
|
|
120
|
+
return absolutePath;
|
|
121
|
+
};
|
|
122
|
+
const previousFiles = await readGeneratedRecord(absoluteOutputDir);
|
|
123
|
+
const currentFiles = [...result.files.keys()];
|
|
124
|
+
// Record the UNION before writing anything. If the run dies part-way through, the record on disk
|
|
125
|
+
// is a superset of what exists, so the next run still knows to clean up whatever did land. The
|
|
126
|
+
// opposite order would strand partially-written files outside any record, permanently.
|
|
127
|
+
await writeGeneratedRecord(absoluteOutputDir, [...new Set([...previousFiles, ...currentFiles])]);
|
|
128
|
+
let fileCount = 0;
|
|
129
|
+
for (const [filePath, content] of result.files) {
|
|
130
|
+
const absolutePath = resolveOutputPath(filePath);
|
|
58
131
|
await fs.mkdir(path.dirname(absolutePath), { recursive: true });
|
|
59
132
|
await fs.writeFile(absolutePath, content, 'utf-8');
|
|
60
133
|
fileCount++;
|
|
61
134
|
}
|
|
62
|
-
|
|
135
|
+
// Prune what this run no longer produces. Only files a PREVIOUS RUN OF THIS TOOL recorded are
|
|
136
|
+
// eligible: the output directory belongs to the adopter, and a package must not delete things it
|
|
137
|
+
// cannot prove it created. That is also why this is not a `rm -rf` of the directory.
|
|
138
|
+
const currentSet = new Set(currentFiles);
|
|
139
|
+
const stale = previousFiles.filter((filePath) => !currentSet.has(filePath));
|
|
140
|
+
let removedCount = 0;
|
|
141
|
+
for (const filePath of stale) {
|
|
142
|
+
const absolutePath = resolveOutputPath(filePath);
|
|
143
|
+
try {
|
|
144
|
+
await fs.unlink(absolutePath);
|
|
145
|
+
removedCount++;
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
// Already gone (hand-deleted, or a previous partial prune) is success, not failure.
|
|
149
|
+
if (!isNodeError(err) || err.code !== 'ENOENT')
|
|
150
|
+
throw err;
|
|
151
|
+
}
|
|
152
|
+
await removeEmptyDirsUpward(path.dirname(absolutePath), absoluteOutputDir);
|
|
153
|
+
}
|
|
154
|
+
await writeGeneratedRecord(absoluteOutputDir, currentFiles);
|
|
155
|
+
return { fileCount, removedCount, outputDir: absoluteOutputDir };
|
|
63
156
|
}
|
|
64
|
-
//# sourceMappingURL=generate-ai-content.js.map
|
package/dist/build/index.d.ts
CHANGED
|
@@ -3,6 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Provides static build utilities for pre-generating content.
|
|
5
5
|
*/
|
|
6
|
-
export { generateAIContentFiles } from './generate-ai-content';
|
|
7
|
-
export type { GenerateAIContentFilesOptions } from './generate-ai-content';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
6
|
+
export { generateAIContentFiles } from './generate-ai-content.js';
|
|
7
|
+
export type { GenerateAIContentFilesOptions } from './generate-ai-content.js';
|
package/dist/build/index.js
CHANGED
package/dist/build-canopy.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { CanopyConfig } from './config';
|
|
2
|
-
import type { EntrySchemaRegistry } from './schema/types';
|
|
3
|
-
import { type CanopyBuildContext } from './context';
|
|
1
|
+
import type { CanopyConfig } from './config/index.js';
|
|
2
|
+
import type { EntrySchemaRegistry } from './schema/types.js';
|
|
3
|
+
import { type CanopyBuildContext } from './context.js';
|
|
4
4
|
export interface CreateBuildCanopyOptions {
|
|
5
5
|
/**
|
|
6
6
|
* Entry schema registry for resolving `.collection.json` references.
|
|
@@ -38,12 +38,11 @@ export interface CreateBuildCanopyOptions {
|
|
|
38
38
|
* ```ts
|
|
39
39
|
* // scripts/build-search-index.ts
|
|
40
40
|
* import { createBuildCanopy } from 'canopycms/server'
|
|
41
|
-
* import config from '../canopycms.config'
|
|
42
|
-
* import { entrySchemaRegistry } from '../src/schemas'
|
|
41
|
+
* import config from '../canopycms.config.js'
|
|
42
|
+
* import { entrySchemaRegistry } from '../src/schemas.js'
|
|
43
43
|
*
|
|
44
44
|
* const canopy = await createBuildCanopy(config.server, { entrySchemaRegistry })
|
|
45
45
|
* const entries = await canopy.listEntries()
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
48
|
export declare function createBuildCanopy(config: CanopyConfig, options?: CreateBuildCanopyOptions): Promise<CanopyBuildContext>;
|
|
49
|
-
//# sourceMappingURL=build-canopy.d.ts.map
|
package/dist/build-canopy.js
CHANGED
package/dist/build-mode.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthenticatedUser } from './user';
|
|
1
|
+
import type { AuthenticatedUser } from './user.js';
|
|
2
2
|
/**
|
|
3
3
|
* Check if this deployment is static (no request context, no auth).
|
|
4
4
|
* When true: STATIC_DEPLOY_USER is used, permissions are skipped.
|
|
@@ -19,4 +19,3 @@ export declare const isBuildMode: () => boolean;
|
|
|
19
19
|
* Has Admin privileges — all content is readable, permissions are skipped.
|
|
20
20
|
*/
|
|
21
21
|
export declare const STATIC_DEPLOY_USER: AuthenticatedUser;
|
|
22
|
-
//# sourceMappingURL=build-mode.d.ts.map
|
package/dist/build-mode.js
CHANGED
package/dist/cli/cli.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* and are dynamically imported to keep startup fast.
|
|
10
10
|
*/
|
|
11
11
|
import minimist from 'minimist';
|
|
12
|
-
import type { AuthProvider } from './init';
|
|
12
|
+
import type { AuthProvider } from './init.js';
|
|
13
13
|
/** Parse raw CLI args into structured flags and positional command. Exported for testing. */
|
|
14
14
|
export declare function parseArgs(rawArgs: string[]): {
|
|
15
15
|
argv: minimist.ParsedArgs;
|
|
@@ -37,7 +37,23 @@ export declare function parseAuthFlag(value: string | boolean | undefined): Auth
|
|
|
37
37
|
export declare function parseDualBuildFlag(value: unknown): boolean | undefined;
|
|
38
38
|
declare const SYNC_SUBCOMMANDS: readonly ["push", "pull", "both", "abort"];
|
|
39
39
|
type SyncSubcommand = (typeof SYNC_SUBCOMMANDS)[number];
|
|
40
|
+
/** The auth modes `worker run-once` knows how to build a plugin for. */
|
|
41
|
+
export declare const KNOWN_AUTH_MODES: readonly ["clerk", "dev"];
|
|
42
|
+
export type KnownAuthMode = (typeof KNOWN_AUTH_MODES)[number];
|
|
43
|
+
/**
|
|
44
|
+
* Whether `CANOPY_AUTH_MODE` names a provider the CLI can actually construct.
|
|
45
|
+
*
|
|
46
|
+
* Pure and exported so it is testable: the dispatch below branches on 'clerk'
|
|
47
|
+
* and 'dev' only, and the catch around plugin loading fires solely on an
|
|
48
|
+
* IMPORT failure -- so before this guard existed, any other value (a typo,
|
|
49
|
+
* wrong casing like 'Clerk', a stale value from another system) selected no
|
|
50
|
+
* plugin, skipped the auth refresh entirely, and let the command run to "Done"
|
|
51
|
+
* with exit code 0. A cron'd `CANOPY_AUTH_MODE=clerk canopycms worker
|
|
52
|
+
* run-once` that became `Clerk` refreshed nothing for as long as the typo
|
|
53
|
+
* survived, while the cache aged and a user removed from the Clerk org kept
|
|
54
|
+
* editor access.
|
|
55
|
+
*/
|
|
56
|
+
export declare function isKnownAuthMode(value: string): value is KnownAuthMode;
|
|
40
57
|
/** Resolve sync subcommand from positional arg. Returns null if missing or invalid. Exported for testing. */
|
|
41
58
|
export declare function resolveSyncSubcommand(sub: string | undefined): SyncSubcommand | null;
|
|
42
59
|
export {};
|
|
43
|
-
//# sourceMappingURL=cli.d.ts.map
|