@aphexcms/cms-core 9.3.0 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/block-previews.svelte.d.ts +46 -0
- package/dist/admin/block-previews.svelte.d.ts.map +1 -0
- package/dist/admin/block-previews.svelte.js +26 -0
- package/dist/admin/field-components.svelte.d.ts +16 -0
- package/dist/admin/field-components.svelte.d.ts.map +1 -0
- package/dist/admin/field-components.svelte.js +18 -0
- package/dist/admin/nav.svelte.d.ts +34 -0
- package/dist/admin/nav.svelte.d.ts.map +1 -0
- package/dist/admin/nav.svelte.js +78 -0
- package/dist/admin/slots.svelte.d.ts +50 -0
- package/dist/admin/slots.svelte.d.ts.map +1 -0
- package/dist/admin/slots.svelte.js +67 -0
- package/dist/admin/types.d.ts +7 -0
- package/dist/admin/types.d.ts.map +1 -0
- package/dist/admin/types.js +1 -0
- package/dist/api/schemas/api-keys.d.ts +4 -37
- package/dist/api/schemas/api-keys.d.ts.map +1 -1
- package/dist/api/schemas/api-keys.js +5 -2
- package/dist/api/schemas/assets.d.ts +4 -0
- package/dist/api/schemas/assets.d.ts.map +1 -1
- package/dist/api/schemas/assets.js +3 -0
- package/dist/api/schemas/plugin-settings.d.ts +6 -0
- package/dist/api/schemas/plugin-settings.d.ts.map +1 -0
- package/dist/api/schemas/plugin-settings.js +8 -0
- package/dist/api/schemas/roles.d.ts +7 -56
- package/dist/api/schemas/roles.d.ts.map +1 -1
- package/dist/api/schemas/roles.js +11 -6
- package/dist/api/schemas/user.d.ts +2 -1
- package/dist/api/schemas/user.d.ts.map +1 -1
- package/dist/api/schemas/user.js +7 -2
- package/dist/app-augment.d.ts +11 -0
- package/dist/app-augment.d.ts.map +1 -1
- package/dist/app.d.ts +2 -0
- package/dist/auth/provider.d.ts +3 -0
- package/dist/auth/provider.d.ts.map +1 -1
- package/dist/cli/generate-types.d.ts +10 -5
- package/dist/cli/generate-types.d.ts.map +1 -1
- package/dist/cli/generate-types.js +117 -77
- package/dist/cli/generate-types.js.map +1 -1
- package/dist/cli/index.js +5 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/migrate.d.ts +1 -1
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +27 -2
- package/dist/cli/migrate.js.map +1 -1
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +9 -0
- package/dist/components/AdminApp.svelte +271 -113
- package/dist/components/AdminApp.svelte.d.ts +18 -2
- package/dist/components/AdminApp.svelte.d.ts.map +1 -1
- package/dist/components/admin/AdminSlot.svelte +18 -0
- package/dist/components/admin/AdminSlot.svelte.d.ts +12 -0
- package/dist/components/admin/AdminSlot.svelte.d.ts.map +1 -0
- package/dist/components/admin/DocumentEditor.svelte +646 -385
- package/dist/components/admin/DocumentEditor.svelte.d.ts +13 -0
- package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
- package/dist/components/admin/MediaBrowser.svelte +13 -3
- package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -1
- package/dist/components/admin/PluginSettingsPanel.svelte +231 -0
- package/dist/components/admin/PluginSettingsPanel.svelte.d.ts +8 -0
- package/dist/components/admin/PluginSettingsPanel.svelte.d.ts.map +1 -0
- package/dist/components/admin/SchemaField.svelte +76 -95
- package/dist/components/admin/SchemaField.svelte.d.ts +7 -0
- package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/ArrayField.svelte +24 -2
- package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/FieldInput.svelte +109 -0
- package/dist/components/admin/fields/FieldInput.svelte.d.ts +17 -0
- package/dist/components/admin/fields/FieldInput.svelte.d.ts.map +1 -0
- package/dist/components/admin/fields/richtext/PortableTextImageView.svelte +5 -12
- package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts +2 -9
- package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte +18 -17
- package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts +2 -9
- package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/RichtextField.svelte +55 -2
- package/dist/components/admin/fields/richtext/RichtextField.svelte.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/portable-text-object-node.d.ts +7 -0
- package/dist/components/admin/fields/richtext/portable-text-object-node.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/portable-text-object-node.js +4 -2
- package/dist/components/admin/fields/richtext/svelte-node-view.d.ts +16 -1
- package/dist/components/admin/fields/richtext/svelte-node-view.d.ts.map +1 -1
- package/dist/components/admin/fields/richtext/svelte-node-view.js +20 -1
- package/dist/components/layout/OrganizationSwitcher.svelte +31 -10
- package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -1
- package/dist/components/layout/Sidebar.svelte +49 -11
- package/dist/components/layout/Sidebar.svelte.d.ts +5 -1
- package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
- package/dist/components/layout/sidebar/AppSidebar.svelte +66 -3
- package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +5 -0
- package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -1
- package/dist/components/layout/sidebar/NavMain.svelte +3 -2
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts +4 -3
- package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -1
- package/dist/components/layout/sidebar/NavUser.svelte +5 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +11 -0
- package/dist/db/interfaces/asset.d.ts +1 -0
- package/dist/db/interfaces/asset.d.ts.map +1 -1
- package/dist/db/interfaces/index.d.ts +3 -1
- package/dist/db/interfaces/index.d.ts.map +1 -1
- package/dist/db/interfaces/plugin-settings.d.ts +23 -0
- package/dist/db/interfaces/plugin-settings.d.ts.map +1 -0
- package/dist/db/interfaces/plugin-settings.js +13 -0
- package/dist/db/interfaces/role.d.ts +14 -5
- package/dist/db/interfaces/role.d.ts.map +1 -1
- package/dist/engine.d.ts +28 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +44 -0
- package/dist/field-validation/utils.d.ts +15 -0
- package/dist/field-validation/utils.d.ts.map +1 -1
- package/dist/field-validation/utils.js +74 -0
- package/dist/graphql/resolvers.d.ts.map +1 -1
- package/dist/graphql/resolvers.js +9 -10
- package/dist/graphql/schema.d.ts.map +1 -1
- package/dist/graphql/schema.js +18 -19
- package/dist/hooks.d.ts +6 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +59 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/lib/admin/block-previews.svelte.d.ts +46 -0
- package/dist/lib/admin/block-previews.svelte.d.ts.map +1 -0
- package/dist/lib/admin/block-previews.svelte.js +27 -0
- package/dist/lib/admin/block-previews.svelte.js.map +1 -0
- package/dist/lib/admin/field-components.svelte.d.ts +16 -0
- package/dist/lib/admin/field-components.svelte.d.ts.map +1 -0
- package/dist/lib/admin/field-components.svelte.js +19 -0
- package/dist/lib/admin/field-components.svelte.js.map +1 -0
- package/dist/lib/admin/nav.svelte.d.ts +34 -0
- package/dist/lib/admin/nav.svelte.d.ts.map +1 -0
- package/dist/lib/admin/nav.svelte.js +79 -0
- package/dist/lib/admin/nav.svelte.js.map +1 -0
- package/dist/lib/admin/slots.svelte.d.ts +50 -0
- package/dist/lib/admin/slots.svelte.d.ts.map +1 -0
- package/dist/lib/admin/slots.svelte.js +68 -0
- package/dist/lib/admin/slots.svelte.js.map +1 -0
- package/dist/lib/admin/types.d.ts +7 -0
- package/dist/lib/admin/types.d.ts.map +1 -0
- package/dist/lib/admin/types.js +2 -0
- package/dist/lib/admin/types.js.map +1 -0
- package/dist/lib/api/schemas/api-keys.d.ts +4 -37
- package/dist/lib/api/schemas/api-keys.d.ts.map +1 -1
- package/dist/lib/api/schemas/api-keys.js +5 -2
- package/dist/lib/api/schemas/api-keys.js.map +1 -1
- package/dist/lib/api/schemas/assets.d.ts +4 -0
- package/dist/lib/api/schemas/assets.d.ts.map +1 -1
- package/dist/lib/api/schemas/assets.js +3 -0
- package/dist/lib/api/schemas/assets.js.map +1 -1
- package/dist/lib/api/schemas/plugin-settings.d.ts +6 -0
- package/dist/lib/api/schemas/plugin-settings.d.ts.map +1 -0
- package/dist/lib/api/schemas/plugin-settings.js +9 -0
- package/dist/lib/api/schemas/plugin-settings.js.map +1 -0
- package/dist/lib/api/schemas/roles.d.ts +7 -56
- package/dist/lib/api/schemas/roles.d.ts.map +1 -1
- package/dist/lib/api/schemas/roles.js +11 -6
- package/dist/lib/api/schemas/roles.js.map +1 -1
- package/dist/lib/api/schemas/user.d.ts +2 -1
- package/dist/lib/api/schemas/user.d.ts.map +1 -1
- package/dist/lib/api/schemas/user.js +7 -2
- package/dist/lib/api/schemas/user.js.map +1 -1
- package/dist/lib/app-augment.d.ts +11 -0
- package/dist/lib/app-augment.d.ts.map +1 -1
- package/dist/lib/auth/provider.d.ts +3 -0
- package/dist/lib/auth/provider.d.ts.map +1 -1
- package/dist/lib/client/index.d.ts +6 -0
- package/dist/lib/client/index.d.ts.map +1 -1
- package/dist/lib/client/index.js +9 -0
- package/dist/lib/client/index.js.map +1 -1
- package/dist/lib/components/admin/fields/richtext/portable-text-object-node.d.ts +7 -0
- package/dist/lib/components/admin/fields/richtext/portable-text-object-node.d.ts.map +1 -1
- package/dist/lib/components/admin/fields/richtext/portable-text-object-node.js +4 -2
- package/dist/lib/components/admin/fields/richtext/portable-text-object-node.js.map +1 -1
- package/dist/lib/components/admin/fields/richtext/svelte-node-view.d.ts +16 -1
- package/dist/lib/components/admin/fields/richtext/svelte-node-view.d.ts.map +1 -1
- package/dist/lib/components/admin/fields/richtext/svelte-node-view.js +20 -1
- package/dist/lib/components/admin/fields/richtext/svelte-node-view.js.map +1 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +11 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/db/interfaces/asset.d.ts +1 -0
- package/dist/lib/db/interfaces/asset.d.ts.map +1 -1
- package/dist/lib/db/interfaces/index.d.ts +3 -1
- package/dist/lib/db/interfaces/index.d.ts.map +1 -1
- package/dist/lib/db/interfaces/plugin-settings.d.ts +23 -0
- package/dist/lib/db/interfaces/plugin-settings.d.ts.map +1 -0
- package/dist/lib/db/interfaces/plugin-settings.js +14 -0
- package/dist/lib/db/interfaces/plugin-settings.js.map +1 -0
- package/dist/lib/db/interfaces/role.d.ts +14 -5
- package/dist/lib/db/interfaces/role.d.ts.map +1 -1
- package/dist/lib/engine.d.ts +28 -0
- package/dist/lib/engine.d.ts.map +1 -1
- package/dist/lib/engine.js +44 -0
- package/dist/lib/engine.js.map +1 -1
- package/dist/lib/field-validation/utils.d.ts +15 -0
- package/dist/lib/field-validation/utils.d.ts.map +1 -1
- package/dist/lib/field-validation/utils.js +74 -0
- package/dist/lib/field-validation/utils.js.map +1 -1
- package/dist/lib/graphql/resolvers.d.ts.map +1 -1
- package/dist/lib/graphql/resolvers.js +9 -10
- package/dist/lib/graphql/resolvers.js.map +1 -1
- package/dist/lib/graphql/schema.d.ts.map +1 -1
- package/dist/lib/graphql/schema.js +18 -19
- package/dist/lib/graphql/schema.js.map +1 -1
- package/dist/lib/hooks.d.ts +6 -0
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +59 -2
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/local-api/collection-api.d.ts.map +1 -1
- package/dist/lib/local-api/collection-api.js +4 -2
- package/dist/lib/local-api/collection-api.js.map +1 -1
- package/dist/lib/local-api/types.d.ts +8 -0
- package/dist/lib/local-api/types.d.ts.map +1 -1
- package/dist/lib/mcp/tools.d.ts.map +1 -1
- package/dist/lib/mcp/tools.js +110 -1
- package/dist/lib/mcp/tools.js.map +1 -1
- package/dist/lib/permissions-context.svelte.d.ts +7 -4
- package/dist/lib/permissions-context.svelte.d.ts.map +1 -1
- package/dist/lib/permissions-context.svelte.js.map +1 -1
- package/dist/lib/plugins/index.d.ts +3 -0
- package/dist/lib/plugins/index.d.ts.map +1 -0
- package/dist/lib/plugins/index.js +3 -0
- package/dist/lib/plugins/index.js.map +1 -0
- package/dist/lib/plugins/resolver.d.ts +49 -0
- package/dist/lib/plugins/resolver.d.ts.map +1 -0
- package/dist/lib/plugins/resolver.js +66 -0
- package/dist/lib/plugins/resolver.js.map +1 -0
- package/dist/lib/plugins/types.d.ts +233 -0
- package/dist/lib/plugins/types.d.ts.map +1 -0
- package/dist/lib/plugins/types.js +9 -0
- package/dist/lib/plugins/types.js.map +1 -0
- package/dist/lib/schema-utils/desugar.d.ts +27 -0
- package/dist/lib/schema-utils/desugar.d.ts.map +1 -0
- package/dist/lib/schema-utils/desugar.js +102 -0
- package/dist/lib/schema-utils/desugar.js.map +1 -0
- package/dist/lib/schema-utils/index.d.ts +2 -0
- package/dist/lib/schema-utils/index.d.ts.map +1 -1
- package/dist/lib/schema-utils/index.js +2 -0
- package/dist/lib/schema-utils/index.js.map +1 -1
- package/dist/lib/schema-utils/settings.d.ts +17 -0
- package/dist/lib/schema-utils/settings.d.ts.map +1 -0
- package/dist/lib/schema-utils/settings.js +23 -0
- package/dist/lib/schema-utils/settings.js.map +1 -0
- package/dist/lib/schema-utils/validator.d.ts.map +1 -1
- package/dist/lib/schema-utils/validator.js +11 -0
- package/dist/lib/schema-utils/validator.js.map +1 -1
- package/dist/lib/security/secret-crypto.d.ts +18 -0
- package/dist/lib/security/secret-crypto.d.ts.map +1 -0
- package/dist/lib/security/secret-crypto.js +71 -0
- package/dist/lib/security/secret-crypto.js.map +1 -0
- package/dist/lib/server/api/index.d.ts.map +1 -1
- package/dist/lib/server/api/index.js +3 -0
- package/dist/lib/server/api/index.js.map +1 -1
- package/dist/lib/server/api/routes/assets.d.ts.map +1 -1
- package/dist/lib/server/api/routes/assets.js +8 -2
- package/dist/lib/server/api/routes/assets.js.map +1 -1
- package/dist/lib/server/api/routes/organizations.d.ts.map +1 -1
- package/dist/lib/server/api/routes/organizations.js +4 -1
- package/dist/lib/server/api/routes/organizations.js.map +1 -1
- package/dist/lib/server/api/routes/plugin-settings.d.ts +4 -0
- package/dist/lib/server/api/routes/plugin-settings.d.ts.map +1 -0
- package/dist/lib/server/api/routes/plugin-settings.js +109 -0
- package/dist/lib/server/api/routes/plugin-settings.js.map +1 -0
- package/dist/lib/server/api/routes/roles.d.ts.map +1 -1
- package/dist/lib/server/api/routes/roles.js +37 -0
- package/dist/lib/server/api/routes/roles.js.map +1 -1
- package/dist/lib/server/api/routes/user.d.ts.map +1 -1
- package/dist/lib/server/api/routes/user.js +14 -3
- package/dist/lib/server/api/routes/user.js.map +1 -1
- package/dist/lib/services/asset-service.d.ts +1 -0
- package/dist/lib/services/asset-service.d.ts.map +1 -1
- package/dist/lib/services/asset-service.js.map +1 -1
- package/dist/lib/services/index.d.ts +2 -0
- package/dist/lib/services/index.d.ts.map +1 -1
- package/dist/lib/services/index.js +1 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/plugin-settings-service.d.ts +76 -0
- package/dist/lib/services/plugin-settings-service.d.ts.map +1 -0
- package/dist/lib/services/plugin-settings-service.js +236 -0
- package/dist/lib/services/plugin-settings-service.js.map +1 -0
- package/dist/lib/services/roles-service.d.ts +2 -2
- package/dist/lib/services/roles-service.d.ts.map +1 -1
- package/dist/lib/services/roles-service.js.map +1 -1
- package/dist/lib/theme/css.d.ts +30 -0
- package/dist/lib/theme/css.d.ts.map +1 -0
- package/dist/lib/theme/css.js +54 -0
- package/dist/lib/theme/css.js.map +1 -0
- package/dist/lib/theme/derive.d.ts +27 -0
- package/dist/lib/theme/derive.d.ts.map +1 -0
- package/dist/lib/theme/derive.js +108 -0
- package/dist/lib/theme/derive.js.map +1 -0
- package/dist/lib/theme/index.d.ts +5 -0
- package/dist/lib/theme/index.d.ts.map +1 -0
- package/dist/lib/theme/index.js +5 -0
- package/dist/lib/theme/index.js.map +1 -0
- package/dist/lib/theme/schemes.d.ts +60 -0
- package/dist/lib/theme/schemes.d.ts.map +1 -0
- package/dist/lib/theme/schemes.js +150 -0
- package/dist/lib/theme/schemes.js.map +1 -0
- package/dist/lib/theme/tokens.d.ts +57 -0
- package/dist/lib/theme/tokens.d.ts.map +1 -0
- package/dist/lib/theme/tokens.js +11 -0
- package/dist/lib/theme/tokens.js.map +1 -0
- package/dist/lib/types/auth.d.ts +10 -10
- package/dist/lib/types/auth.d.ts.map +1 -1
- package/dist/lib/types/capabilities.d.ts +50 -9
- package/dist/lib/types/capabilities.d.ts.map +1 -1
- package/dist/lib/types/capabilities.js +147 -5
- package/dist/lib/types/capabilities.js.map +1 -1
- package/dist/lib/types/config.d.ts +30 -1
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/schemas.d.ts +90 -2
- package/dist/lib/types/schemas.d.ts.map +1 -1
- package/dist/lib/types/schemas.js.map +1 -1
- package/dist/lib/types/sidebar.d.ts +3 -1
- package/dist/lib/types/sidebar.d.ts.map +1 -1
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +1 -0
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/preview.d.ts +16 -5
- package/dist/lib/utils/preview.d.ts.map +1 -1
- package/dist/lib/utils/preview.js +7 -2
- package/dist/lib/utils/preview.js.map +1 -1
- package/dist/lib/utils/string-case.d.ts +21 -0
- package/dist/lib/utils/string-case.d.ts.map +1 -0
- package/dist/lib/utils/string-case.js +26 -0
- package/dist/lib/utils/string-case.js.map +1 -0
- package/dist/lib/vite/index.d.ts +7 -0
- package/dist/lib/vite/index.d.ts.map +1 -1
- package/dist/lib/vite/index.js +37 -6
- package/dist/lib/vite/index.js.map +1 -1
- package/dist/local-api/collection-api.d.ts.map +1 -1
- package/dist/local-api/collection-api.js +4 -2
- package/dist/local-api/types.d.ts +8 -0
- package/dist/local-api/types.d.ts.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +110 -1
- package/dist/permissions-context.svelte.d.ts +7 -4
- package/dist/permissions-context.svelte.d.ts.map +1 -1
- package/dist/plugins/index.d.ts +3 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/resolver.d.ts +49 -0
- package/dist/plugins/resolver.d.ts.map +1 -0
- package/dist/plugins/resolver.js +65 -0
- package/dist/plugins/types.d.ts +233 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +8 -0
- package/dist/schema-utils/desugar.d.ts +27 -0
- package/dist/schema-utils/desugar.d.ts.map +1 -0
- package/dist/schema-utils/desugar.js +101 -0
- package/dist/schema-utils/index.d.ts +2 -0
- package/dist/schema-utils/index.d.ts.map +1 -1
- package/dist/schema-utils/index.js +2 -0
- package/dist/schema-utils/settings.d.ts +17 -0
- package/dist/schema-utils/settings.d.ts.map +1 -0
- package/dist/schema-utils/settings.js +22 -0
- package/dist/schema-utils/validator.d.ts.map +1 -1
- package/dist/schema-utils/validator.js +11 -0
- package/dist/security/secret-crypto.d.ts +18 -0
- package/dist/security/secret-crypto.d.ts.map +1 -0
- package/dist/security/secret-crypto.js +70 -0
- package/dist/server/api/index.d.ts.map +1 -1
- package/dist/server/api/index.js +3 -0
- package/dist/server/api/routes/assets.d.ts.map +1 -1
- package/dist/server/api/routes/assets.js +8 -2
- package/dist/server/api/routes/organizations.d.ts.map +1 -1
- package/dist/server/api/routes/organizations.js +4 -1
- package/dist/server/api/routes/plugin-settings.d.ts +4 -0
- package/dist/server/api/routes/plugin-settings.d.ts.map +1 -0
- package/dist/server/api/routes/plugin-settings.js +108 -0
- package/dist/server/api/routes/roles.d.ts.map +1 -1
- package/dist/server/api/routes/roles.js +37 -0
- package/dist/server/api/routes/user.d.ts.map +1 -1
- package/dist/server/api/routes/user.js +14 -3
- package/dist/services/asset-service.d.ts +1 -0
- package/dist/services/asset-service.d.ts.map +1 -1
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/plugin-settings-service.d.ts +76 -0
- package/dist/services/plugin-settings-service.d.ts.map +1 -0
- package/dist/services/plugin-settings-service.js +235 -0
- package/dist/services/roles-service.d.ts +2 -2
- package/dist/services/roles-service.d.ts.map +1 -1
- package/dist/theme/css.d.ts +30 -0
- package/dist/theme/css.d.ts.map +1 -0
- package/dist/theme/css.js +53 -0
- package/dist/theme/derive.d.ts +27 -0
- package/dist/theme/derive.d.ts.map +1 -0
- package/dist/theme/derive.js +107 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +4 -0
- package/dist/theme/schemes.d.ts +60 -0
- package/dist/theme/schemes.d.ts.map +1 -0
- package/dist/theme/schemes.js +149 -0
- package/dist/theme/tokens.d.ts +57 -0
- package/dist/theme/tokens.d.ts.map +1 -0
- package/dist/theme/tokens.js +10 -0
- package/dist/types/auth.d.ts +10 -10
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/capabilities.d.ts +50 -9
- package/dist/types/capabilities.d.ts.map +1 -1
- package/dist/types/capabilities.js +147 -5
- package/dist/types/config.d.ts +30 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/schemas.d.ts +90 -2
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/sidebar.d.ts +3 -1
- package/dist/types/sidebar.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/preview.d.ts +16 -5
- package/dist/utils/preview.d.ts.map +1 -1
- package/dist/utils/preview.js +7 -2
- package/dist/utils/string-case.d.ts +21 -0
- package/dist/utils/string-case.d.ts.map +1 -0
- package/dist/utils/string-case.js +25 -0
- package/dist/vite/index.d.ts +7 -0
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +37 -6
- package/package.json +6 -4
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert a string to PascalCase.
|
|
3
|
+
* Handles hyphens, underscores, and camelCase boundaries.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* toPascalCase('type-name') // 'TypeName'
|
|
7
|
+
* toPascalCase('my_field') // 'MyField'
|
|
8
|
+
* toPascalCase('parentName') // 'ParentName'
|
|
9
|
+
*/
|
|
10
|
+
export function toPascalCase(str) {
|
|
11
|
+
return str.replace(/(^|[-_])(\w)/g, (_, _sep, c) => c.toUpperCase());
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Convert a string to camelCase.
|
|
15
|
+
* Handles hyphens, underscores, and existing casing.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* toCamelCase('type-name') // 'typeName'
|
|
19
|
+
* toCamelCase('my_field') // 'myField'
|
|
20
|
+
* toCamelCase('alreadyCamel') // 'alreadyCamel'
|
|
21
|
+
*/
|
|
22
|
+
export function toCamelCase(str) {
|
|
23
|
+
const pascal = toPascalCase(str);
|
|
24
|
+
return pascal.charAt(0).toLowerCase() + pascal.slice(1);
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=string-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"string-case.js","sourceRoot":"","sources":["../../../src/lib/utils/string-case.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACvC,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAS,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACtC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
package/dist/lib/vite/index.d.ts
CHANGED
|
@@ -32,6 +32,13 @@ export interface AphexTypegenOptions {
|
|
|
32
32
|
schema?: string;
|
|
33
33
|
/** Output file for the generated types. Default `src/lib/generated-types.ts`. */
|
|
34
34
|
output?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Client-safe plugin registry (exporting `plugins`), passed to `aphex generate:types`
|
|
37
|
+
* so plugin schema-transforms run during codegen — e.g. a plugin `type: 'color'`
|
|
38
|
+
* desugars into its object shape instead of generating as `unknown`.
|
|
39
|
+
* Default `src/lib/plugins.ts`; pass `false` to skip.
|
|
40
|
+
*/
|
|
41
|
+
plugins?: string | false;
|
|
35
42
|
/** Regenerate once when the dev server starts (catches edits made while it was down). Default `true`. */
|
|
36
43
|
runOnStart?: boolean;
|
|
37
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/vite/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/vite/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAuBlD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB,yGAAyG;IACzG,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC5B,8DAA8D;IAC9D,GAAG,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;IAC9B,iGAAiG;IACjG,OAAO,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;IACtC,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,MAAM,CAiF9D;AA2PD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,EAAE,CAuB1D"}
|
package/dist/lib/vite/index.js
CHANGED
|
@@ -1,7 +1,29 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
|
-
import { existsSync } from 'node:fs';
|
|
3
|
+
import { existsSync, readdirSync } from 'node:fs';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
|
+
/**
|
|
6
|
+
* Discover installed `@aphexcms/plugin-*` packages by scanning the app's
|
|
7
|
+
* `node_modules/@aphexcms` directory. Aphex plugins ship raw `.svelte`/`.ts`
|
|
8
|
+
* consumed from source, so — like cms-core and ui — they must be bundled for
|
|
9
|
+
* SSR, excluded from esbuild pre-bundling, and watched for HMR. Returning them
|
|
10
|
+
* here keeps plugins zero-config: install + register in `plugins`, no
|
|
11
|
+
* `vite.config` edits. Adapters (`@aphexcms/*-adapter`) are intentionally not
|
|
12
|
+
* matched — they're server-only and consumed from `dist`.
|
|
13
|
+
*/
|
|
14
|
+
function discoverAphexPlugins() {
|
|
15
|
+
try {
|
|
16
|
+
const scope = join(process.cwd(), 'node_modules', '@aphexcms');
|
|
17
|
+
if (!existsSync(scope))
|
|
18
|
+
return [];
|
|
19
|
+
return readdirSync(scope)
|
|
20
|
+
.filter((name) => name.startsWith('plugin-'))
|
|
21
|
+
.map((name) => `@aphexcms/${name}`);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return [];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
5
27
|
const require = createRequire(import.meta.url);
|
|
6
28
|
/**
|
|
7
29
|
* Watches the CMS config and schema files in dev. When any of them change,
|
|
@@ -142,7 +164,7 @@ function aphexSSR() {
|
|
|
142
164
|
config() {
|
|
143
165
|
return {
|
|
144
166
|
ssr: {
|
|
145
|
-
noExternal: ['@aphexcms/ui', '@aphexcms/cms-core'],
|
|
167
|
+
noExternal: ['@aphexcms/ui', '@aphexcms/cms-core', ...discoverAphexPlugins()],
|
|
146
168
|
external: ['sharp', 'graphql', 'graphql-yoga']
|
|
147
169
|
}
|
|
148
170
|
};
|
|
@@ -163,7 +185,7 @@ function aphexOptimizeDeps() {
|
|
|
163
185
|
config() {
|
|
164
186
|
return {
|
|
165
187
|
optimizeDeps: {
|
|
166
|
-
exclude: ['sharp', '@aphexcms/ui', '@aphexcms/cms-core'],
|
|
188
|
+
exclude: ['sharp', '@aphexcms/ui', '@aphexcms/cms-core', ...discoverAphexPlugins()],
|
|
167
189
|
include: [
|
|
168
190
|
'tailwind-variants',
|
|
169
191
|
'tailwind-merge',
|
|
@@ -235,7 +257,11 @@ function aphexWatchUnfilter() {
|
|
|
235
257
|
return {
|
|
236
258
|
server: {
|
|
237
259
|
watch: {
|
|
238
|
-
ignored: [
|
|
260
|
+
ignored: [
|
|
261
|
+
'!**/node_modules/@aphexcms/cms-core/**',
|
|
262
|
+
'!**/node_modules/@aphexcms/ui/**',
|
|
263
|
+
...discoverAphexPlugins().map((pkg) => `!**/node_modules/${pkg}/**`)
|
|
264
|
+
]
|
|
239
265
|
}
|
|
240
266
|
}
|
|
241
267
|
};
|
|
@@ -255,6 +281,9 @@ function aphexWatchUnfilter() {
|
|
|
255
281
|
function aphexTypegen(options = {}) {
|
|
256
282
|
const schema = options.schema ?? 'src/lib/schemaTypes/index.ts';
|
|
257
283
|
const output = options.output ?? 'src/lib/generated-types.ts';
|
|
284
|
+
// Plugin registry so schema-transforms run during codegen. Only passed when the file
|
|
285
|
+
// exists, so a project without `plugins.ts` still generates types fine.
|
|
286
|
+
const pluginsOpt = options.plugins ?? 'src/lib/plugins.ts';
|
|
258
287
|
const runOnStart = options.runOnStart ?? true;
|
|
259
288
|
const schemaDir = '/schemaTypes/';
|
|
260
289
|
return {
|
|
@@ -275,9 +304,11 @@ function aphexTypegen(options = {}) {
|
|
|
275
304
|
const localBin = join(root, 'node_modules', '.bin', binName);
|
|
276
305
|
const useLocal = existsSync(localBin);
|
|
277
306
|
const cmd = useLocal ? localBin : process.platform === 'win32' ? 'npx.cmd' : 'npx';
|
|
307
|
+
// Pass the plugins registry as the 3rd positional arg only when it exists.
|
|
308
|
+
const pluginsArg = pluginsOpt && existsSync(join(root, pluginsOpt)) ? [pluginsOpt] : [];
|
|
278
309
|
const args = useLocal
|
|
279
|
-
? ['generate:types', schema, output]
|
|
280
|
-
: ['--no-install', 'aphex', 'generate:types', schema, output];
|
|
310
|
+
? ['generate:types', schema, output, ...pluginsArg]
|
|
311
|
+
: ['--no-install', 'aphex', 'generate:types', schema, output, ...pluginsArg];
|
|
281
312
|
const child = spawn(cmd, args, { cwd: root, stdio: 'pipe' });
|
|
282
313
|
let stderr = '';
|
|
283
314
|
child.stderr?.on('data', (d) => (stderr += d));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/vite/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/vite/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-api.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAShG;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC;IACZ,UAAU,EAAE,wBAAwB,CAAC;CACrC;AA6DD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI3B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CACnD,aAAa,CAAC,CAAC,CAAC,EAChB,KAAK,GAAG,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CACxE,CAAC;AAEF;;;GAGG;AACH,qBAAa,aAAa,CAAC,CAAC,GAAG,QAAQ;IAErC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,cAAc,CAAC;gBARf,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,EAC9B,aAAa,CAAC,GAAE,aAAa,GAAG,IAAI,aAAA,EACpC,gBAAgB,CAAC,EAAE,gBAAgB,YAAA,EACnC,cAAc,CAAC,EAAE,cAAc,YAAA,EAC/B,iBAAiB,CAAC,EAAE,iBAAiB,YAAA,EACrC,cAAc,CAAC,EAAE,UAAU,EAAE,YAAA;IAMtC;;;;OAIG;YACW,cAAc;IAe5B;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS;IAM5D;;;;OAIG;IACG,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAalF;;;;;;;;;;;;;;;;;OAiBG;IACG,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,GAAE,WAAW,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"collection-api.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,7 +179,8 @@ export class CollectionAPI {
|
|
|
179
179
|
}
|
|
180
180
|
// Permission check (unless overrideAccess)
|
|
181
181
|
await this.permissions.canRead(context, this.collectionName);
|
|
182
|
-
|
|
182
|
+
// Call option wins; else the context's default perspective; else 'draft'.
|
|
183
|
+
const perspective = options.perspective || context.perspective || 'draft';
|
|
183
184
|
// Field-level access: compute per-request so two users with different
|
|
184
185
|
// roles see different projections even when the underlying cache hit
|
|
185
186
|
// is shared. Cached payloads are stored unfiltered for this reason.
|
|
@@ -236,7 +237,8 @@ export class CollectionAPI {
|
|
|
236
237
|
async findByID(context, id, options) {
|
|
237
238
|
// Permission check (unless overrideAccess)
|
|
238
239
|
await this.permissions.canRead(context, this.collectionName);
|
|
239
|
-
|
|
240
|
+
// Call option wins; else the context's default perspective; else 'draft'.
|
|
241
|
+
const perspective = options?.perspective || context.perspective || 'draft';
|
|
240
242
|
const hidden = this.resolveHiddenReadFields(context);
|
|
241
243
|
// Check cache for published lookups
|
|
242
244
|
if (perspective === 'published' && this.documentCache) {
|
|
@@ -33,6 +33,14 @@ export interface LocalAPIContext {
|
|
|
33
33
|
* Can be used to pass SvelteKit RequestEvent or similar context
|
|
34
34
|
*/
|
|
35
35
|
req?: unknown;
|
|
36
|
+
/**
|
|
37
|
+
* Default read perspective for this context. When set, read operations
|
|
38
|
+
* (`find`/`findByID`/`get`) use it unless a call passes its own `perspective`.
|
|
39
|
+
* Lets a caller decide draft-vs-published once — e.g. a preview-aware site
|
|
40
|
+
* context derived from `getPreviewPerspective(auth, url)` — instead of threading
|
|
41
|
+
* it through every query. Falls back to `'draft'` when unset (unchanged default).
|
|
42
|
+
*/
|
|
43
|
+
perspective?: 'draft' | 'published';
|
|
36
44
|
}
|
|
37
45
|
/**
|
|
38
46
|
* Options for create operations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/local-api/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;;OAIG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lib/mcp/tools.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/lib/mcp/tools.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiB1D,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,eAAe,CAAC;CACzB;AAkID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,OAAO,EAAE,CA6a/E"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
import { VALID_FIELD_TYPES, RESERVED_FIELDS, validateSchemaReferences } from '../schema-utils/validator.js';
|
|
12
12
|
import { validateDocumentData } from '../field-validation/utils.js';
|
|
13
|
+
import { validateFile } from '../utils/mime-detect.js';
|
|
14
|
+
import { fieldWriteShape } from '../../cli/generate-types.js';
|
|
13
15
|
import { DEFAULT_BLOCK_STYLES, DEFAULT_BLOCK_DECORATORS, DEFAULT_BLOCK_LISTS } from '../components/admin/fields/richtext/block-defaults.js';
|
|
14
16
|
const ok = (data) => ({
|
|
15
17
|
content: [{ type: 'text', text: JSON.stringify(data, null, 2) }]
|
|
@@ -86,6 +88,40 @@ function portableTextGuide(schema) {
|
|
|
86
88
|
fields
|
|
87
89
|
};
|
|
88
90
|
}
|
|
91
|
+
// Literal JSON write-shapes for the alias type names `fieldWriteShape` emits.
|
|
92
|
+
// Only surfaced when a field actually uses them (see buildWriteShapes), so the
|
|
93
|
+
// agent gets the concrete shape instead of an opaque `ImageValue`.
|
|
94
|
+
const SHAPE_LEGEND = {
|
|
95
|
+
ImageValue: "{ _type: 'image', asset: { _type: 'reference', _ref: '<assetId>' }, alt?: string }",
|
|
96
|
+
FileValue: "{ _type: 'file', asset: { _type: 'reference', _ref: '<assetId>' } }",
|
|
97
|
+
'Reference<…>': "{ _type: 'reference', _ref: '<documentId of the referenced type>' }",
|
|
98
|
+
'PortableTextBlock[]': 'Portable Text (portabletext.org) — see the `portableText` section of this response for allowed styles/marks/blocks. Every array item needs a unique string `_key`.'
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Per-field write shapes (the depth=0 JSON an agent should send), derived from
|
|
102
|
+
* the same `fieldWriteShape`/type-generator mapping that emits `generated-types.ts`
|
|
103
|
+
* — so slug reads as `string`, a reference as `Reference<author>`, an image as
|
|
104
|
+
* `ImageValue`, never a guess. Attaches only the legend entries actually used.
|
|
105
|
+
*/
|
|
106
|
+
function buildWriteShapes(schema, allSchemas) {
|
|
107
|
+
const writeShapes = {};
|
|
108
|
+
for (const field of schema.fields) {
|
|
109
|
+
if (field.type === 'date')
|
|
110
|
+
writeShapes[field.name] = 'string (ISO date, YYYY-MM-DD)';
|
|
111
|
+
else if (field.type === 'datetime')
|
|
112
|
+
writeShapes[field.name] = 'string (ISO datetime UTC, YYYY-MM-DDTHH:mm:ssZ)';
|
|
113
|
+
else
|
|
114
|
+
writeShapes[field.name] = fieldWriteShape(field, allSchemas);
|
|
115
|
+
}
|
|
116
|
+
const used = Object.values(writeShapes).join(' ');
|
|
117
|
+
const shapeLegend = {};
|
|
118
|
+
for (const [alias, shape] of Object.entries(SHAPE_LEGEND)) {
|
|
119
|
+
const needle = alias === 'Reference<…>' ? 'Reference<' : alias;
|
|
120
|
+
if (used.includes(needle))
|
|
121
|
+
shapeLegend[alias] = shape;
|
|
122
|
+
}
|
|
123
|
+
return { writeShapes, shapeLegend };
|
|
124
|
+
}
|
|
89
125
|
/**
|
|
90
126
|
* Build the content-plane tools for one authenticated request.
|
|
91
127
|
* Safe to expose against a live instance: all writes go through LocalAPI, so a
|
|
@@ -164,7 +200,13 @@ export function buildContentTools({ aphexCMS, context }) {
|
|
|
164
200
|
if (!schema)
|
|
165
201
|
return fail(`Unknown collection: ${collection}`);
|
|
166
202
|
const portableText = portableTextGuide(schema);
|
|
167
|
-
|
|
203
|
+
const { writeShapes, shapeLegend } = buildWriteShapes(schema, aphexCMS.config.schemaTypes);
|
|
204
|
+
return ok({
|
|
205
|
+
schema,
|
|
206
|
+
writeShapes,
|
|
207
|
+
...(Object.keys(shapeLegend).length > 0 ? { shapeLegend } : {}),
|
|
208
|
+
...(portableText ? { portableText } : {})
|
|
209
|
+
});
|
|
168
210
|
}
|
|
169
211
|
},
|
|
170
212
|
{
|
|
@@ -458,6 +500,73 @@ export function buildContentTools({ aphexCMS, context }) {
|
|
|
458
500
|
return fail(`List assets failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
459
501
|
}
|
|
460
502
|
}
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
name: 'upload_asset',
|
|
506
|
+
description: 'Upload an image or file from base64 data and get back a ready-to-reference value. ' +
|
|
507
|
+
'The response includes `imageValue` and `fileValue` — drop the matching one straight ' +
|
|
508
|
+
'into a document field (e.g. a blog post `coverImage`, an author `avatar`, or an inline ' +
|
|
509
|
+
'`image` block) via update_document. File type is verified from the actual bytes, not the ' +
|
|
510
|
+
'declared name.',
|
|
511
|
+
inputSchema: {
|
|
512
|
+
data: z.string().min(1).describe('Base64-encoded file contents (no data: URI prefix).'),
|
|
513
|
+
filename: z
|
|
514
|
+
.string()
|
|
515
|
+
.min(1)
|
|
516
|
+
.describe('Original filename, e.g. "cover.png". Its extension helps typing.'),
|
|
517
|
+
mimeType: z
|
|
518
|
+
.string()
|
|
519
|
+
.optional()
|
|
520
|
+
.describe('Declared MIME type. Optional — the bytes are sniffed regardless.'),
|
|
521
|
+
alt: z.string().optional().describe('Default alt text, shared across every placement.'),
|
|
522
|
+
title: z.string().optional(),
|
|
523
|
+
description: z.string().optional()
|
|
524
|
+
},
|
|
525
|
+
handler: async (args) => {
|
|
526
|
+
const base64 = asString(args, 'data');
|
|
527
|
+
const filename = asString(args, 'filename');
|
|
528
|
+
if (!base64)
|
|
529
|
+
return fail("'data' (base64 file contents) is required.");
|
|
530
|
+
if (!filename)
|
|
531
|
+
return fail("'filename' is required.");
|
|
532
|
+
let buffer;
|
|
533
|
+
try {
|
|
534
|
+
buffer = Buffer.from(base64, 'base64');
|
|
535
|
+
}
|
|
536
|
+
catch {
|
|
537
|
+
return fail("'data' is not valid base64.");
|
|
538
|
+
}
|
|
539
|
+
if (buffer.length === 0)
|
|
540
|
+
return fail("'data' decoded to zero bytes.");
|
|
541
|
+
const declaredMime = asString(args, 'mimeType') ?? '';
|
|
542
|
+
const validation = validateFile(buffer, filename, declaredMime);
|
|
543
|
+
if (!validation.valid) {
|
|
544
|
+
return fail(`Upload rejected: ${validation.error ?? 'file failed validation.'}`);
|
|
545
|
+
}
|
|
546
|
+
const mimeType = validation.detectedMimeType || declaredMime || 'application/octet-stream';
|
|
547
|
+
try {
|
|
548
|
+
const asset = await assetService.uploadAsset(orgId, {
|
|
549
|
+
buffer,
|
|
550
|
+
originalFilename: filename,
|
|
551
|
+
mimeType,
|
|
552
|
+
size: buffer.length,
|
|
553
|
+
alt: asString(args, 'alt') ?? undefined,
|
|
554
|
+
title: asString(args, 'title') ?? undefined,
|
|
555
|
+
description: asString(args, 'description') ?? undefined,
|
|
556
|
+
createdBy: context.user?.id
|
|
557
|
+
});
|
|
558
|
+
const ref = { _type: 'reference', _ref: asset.id };
|
|
559
|
+
return ok({
|
|
560
|
+
asset,
|
|
561
|
+
// Referenceable field values — use the one matching the target field's type.
|
|
562
|
+
imageValue: { _type: 'image', asset: ref },
|
|
563
|
+
fileValue: { _type: 'file', asset: ref }
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
catch (err) {
|
|
567
|
+
return fail(`Upload failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
568
|
+
}
|
|
569
|
+
}
|
|
461
570
|
}
|
|
462
571
|
];
|
|
463
572
|
}
|
|
@@ -8,12 +8,15 @@ export interface PermissionsContext {
|
|
|
8
8
|
* such as field-level access lists.
|
|
9
9
|
*/
|
|
10
10
|
readonly role: string | null;
|
|
11
|
-
/**
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* True if the session has the named capability. Accepts core `Capability` ids
|
|
13
|
+
* (with autocomplete) or any plugin-declared capability string.
|
|
14
|
+
*/
|
|
15
|
+
can(cap: Capability | (string & {})): boolean;
|
|
13
16
|
/** True if the session has at least one of the capabilities. */
|
|
14
|
-
canAny(...caps: Capability[]): boolean;
|
|
17
|
+
canAny(...caps: (Capability | (string & {}))[]): boolean;
|
|
15
18
|
/** True if the session has every one of the capabilities. */
|
|
16
|
-
canAll(...caps: Capability[]): boolean;
|
|
19
|
+
canAll(...caps: (Capability | (string & {}))[]): boolean;
|
|
17
20
|
}
|
|
18
21
|
/**
|
|
19
22
|
* Publish a capability context to descendants.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions-context.svelte.d.ts","sourceRoot":"","sources":["../src/lib/permissions-context.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,MAAM,WAAW,kBAAkB;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B
|
|
1
|
+
{"version":3,"file":"permissions-context.svelte.d.ts","sourceRoot":"","sources":["../src/lib/permissions-context.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,MAAM,WAAW,kBAAkB;IAClC,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IAC9C,gEAAgE;IAChE,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC;IACzD,6DAA6D;IAC7D,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC;CACzD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACpC,eAAe,EAAE,MAAM,SAAS,MAAM,EAAE,EACxC,OAAO,GAAE,MAAM,MAAM,GAAG,IAAiB,GACvC,kBAAkB,CAsBpB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,kBAAkB,CAKnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Part resolver — indexes a plugin list by extension point and answers the
|
|
3
|
+
* queries core needs (schemas to merge, routes to mount, document actions for a
|
|
4
|
+
* given type, a field component for an `input` key). Built once at boot from
|
|
5
|
+
* `config.plugins` and exposed on the engine so both server and admin consult the
|
|
6
|
+
* same resolved model. Validates duplicate part ids up front — no silent overrides.
|
|
7
|
+
*/
|
|
8
|
+
import type { AdminToolPart, CMSPlugin, DocumentActionPart, FieldComponentPart, PartKind, PluginPart, ServerRoutePart, SettingsPart } from './types.js';
|
|
9
|
+
import type { SchemaType } from '../types/schemas.js';
|
|
10
|
+
import { type CapabilityDefinition } from '../types/capabilities.js';
|
|
11
|
+
type PartOf<K extends PartKind> = Extract<PluginPart, {
|
|
12
|
+
implements: K;
|
|
13
|
+
}>;
|
|
14
|
+
export interface PartResolver {
|
|
15
|
+
readonly plugins: CMSPlugin[];
|
|
16
|
+
/** All parts implementing a given extension point, typed to that part kind. */
|
|
17
|
+
getParts<K extends PartKind>(kind: K): PartOf<K>[];
|
|
18
|
+
/** Flattened schema contributions, ready to merge into `schemaTypes`. */
|
|
19
|
+
schemaTypes(): SchemaType[];
|
|
20
|
+
/** Apply every `aphex/schema/transform` part, in order, to a schema list. */
|
|
21
|
+
applySchemaTransforms(schemas: SchemaType[]): SchemaType[];
|
|
22
|
+
/** Server-route parts to mount under `/api`. */
|
|
23
|
+
serverRoutes(): ServerRoutePart[];
|
|
24
|
+
/** Deduplicated capability id strings declared by plugins. */
|
|
25
|
+
capabilities(): string[];
|
|
26
|
+
/** The full capability catalog — built-in definitions plus plugin-declared ones,
|
|
27
|
+
* deduped by id. This is the registry the roles UI renders. */
|
|
28
|
+
capabilityCatalog(): CapabilityDefinition[];
|
|
29
|
+
/** Document actions applicable to a document type, capability- and order-filtered. */
|
|
30
|
+
documentActions(args: {
|
|
31
|
+
schemaName: string;
|
|
32
|
+
capabilities?: string[];
|
|
33
|
+
overrideAccess?: boolean;
|
|
34
|
+
}): DocumentActionPart[];
|
|
35
|
+
/** Admin tools, capability- and order-filtered. */
|
|
36
|
+
adminTools(args?: {
|
|
37
|
+
capabilities?: string[];
|
|
38
|
+
overrideAccess?: boolean;
|
|
39
|
+
}): AdminToolPart[];
|
|
40
|
+
/** The field component registered for a given `input` key, if any. */
|
|
41
|
+
fieldComponent(input: string): FieldComponentPart | undefined;
|
|
42
|
+
/** All plugin settings declarations, in registration order. */
|
|
43
|
+
settingsDeclarations(): SettingsPart[];
|
|
44
|
+
/** The settings declaration for a given plugin id, if any. */
|
|
45
|
+
settingsDeclaration(pluginId: string): SettingsPart | undefined;
|
|
46
|
+
}
|
|
47
|
+
export declare function createPartResolver(plugins?: CMSPlugin[]): PartResolver;
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/lib/plugins/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACX,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,YAAY,EACZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,KAAK,MAAM,CAAC,CAAC,SAAS,QAAQ,IAAI,OAAO,CAAC,UAAU,EAAE;IAAE,UAAU,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEzE,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;IAC9B,+EAA+E;IAC/E,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,yEAAyE;IACzE,WAAW,IAAI,UAAU,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,qBAAqB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAC;IAC3D,gDAAgD;IAChD,YAAY,IAAI,eAAe,EAAE,CAAC;IAClC,8DAA8D;IAC9D,YAAY,IAAI,MAAM,EAAE,CAAC;IACzB;oEACgE;IAChE,iBAAiB,IAAI,oBAAoB,EAAE,CAAC;IAC5C,sFAAsF;IACtF,eAAe,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,kBAAkB,EAAE,CAAC;IACzB,mDAAmD;IACnD,UAAU,CAAC,IAAI,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,aAAa,EAAE,CAAC;IAC1F,sEAAsE;IACtE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAC9D,+DAA+D;IAC/D,oBAAoB,IAAI,YAAY,EAAE,CAAC;IACvC,8DAA8D;IAC9D,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;CAChE;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,SAAS,EAAO,GAAG,YAAY,CAgF1E"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { defineCapability, mergeCapabilityCatalog } from '../types/capabilities.js';
|
|
2
|
+
export function createPartResolver(plugins = []) {
|
|
3
|
+
const allParts = plugins.flatMap((p) => p.parts ?? []);
|
|
4
|
+
// Duplicate-id validation, per extension point. Parts without an id (schema,
|
|
5
|
+
// capabilities, field-component) are exempt.
|
|
6
|
+
const seen = new Map();
|
|
7
|
+
for (const part of allParts) {
|
|
8
|
+
if ('id' in part && typeof part.id === 'string') {
|
|
9
|
+
const bucket = seen.get(part.implements) ?? new Set();
|
|
10
|
+
if (bucket.has(part.id)) {
|
|
11
|
+
throw new Error(`Duplicate plugin part id "${part.id}" for ${part.implements}. ` +
|
|
12
|
+
`Part ids must be unique per extension point.`);
|
|
13
|
+
}
|
|
14
|
+
bucket.add(part.id);
|
|
15
|
+
seen.set(part.implements, bucket);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
// Settings parts key on `pluginId` (not `id`), so guard their uniqueness separately —
|
|
19
|
+
// two declarations for one plugin would fight over the same storage row.
|
|
20
|
+
const settingsIds = new Set();
|
|
21
|
+
for (const part of allParts) {
|
|
22
|
+
if (part.implements !== 'aphex/settings')
|
|
23
|
+
continue;
|
|
24
|
+
if (settingsIds.has(part.pluginId)) {
|
|
25
|
+
throw new Error(`Duplicate plugin settings declaration for "${part.pluginId}". ` +
|
|
26
|
+
`Each plugin may declare settings once.`);
|
|
27
|
+
}
|
|
28
|
+
settingsIds.add(part.pluginId);
|
|
29
|
+
}
|
|
30
|
+
const getParts = (kind) => allParts.filter((p) => p.implements === kind);
|
|
31
|
+
const hasCaps = (required, caps, overrideAccess) => overrideAccess || !required || required.length === 0 || required.every((c) => caps.includes(c));
|
|
32
|
+
return {
|
|
33
|
+
plugins,
|
|
34
|
+
getParts,
|
|
35
|
+
schemaTypes: () => getParts('aphex/schema').flatMap((p) => p.schemas),
|
|
36
|
+
applySchemaTransforms: (schemas) => getParts('aphex/schema/transform').reduce((acc, part) => part.transform(acc), schemas),
|
|
37
|
+
serverRoutes: () => getParts('aphex/server/route'),
|
|
38
|
+
capabilities: () => {
|
|
39
|
+
const set = new Set();
|
|
40
|
+
for (const p of getParts('aphex/capabilities'))
|
|
41
|
+
for (const c of p.capabilities)
|
|
42
|
+
set.add(typeof c === 'string' ? c : c.id);
|
|
43
|
+
return [...set];
|
|
44
|
+
},
|
|
45
|
+
capabilityCatalog: () => {
|
|
46
|
+
// Normalize each plugin-declared capability (bare id or full definition),
|
|
47
|
+
// then merge with the built-in catalog — first definition of an id wins.
|
|
48
|
+
const pluginDefs = [];
|
|
49
|
+
for (const p of getParts('aphex/capabilities'))
|
|
50
|
+
for (const c of p.capabilities)
|
|
51
|
+
pluginDefs.push(typeof c === 'string' ? defineCapability(c) : c);
|
|
52
|
+
return mergeCapabilityCatalog(pluginDefs);
|
|
53
|
+
},
|
|
54
|
+
documentActions: ({ schemaName, capabilities = [], overrideAccess = false }) => getParts('aphex/document/action')
|
|
55
|
+
.filter((a) => !a.appliesTo || a.appliesTo.includes(schemaName))
|
|
56
|
+
.filter((a) => hasCaps(a.requiredCapabilities, capabilities, overrideAccess))
|
|
57
|
+
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),
|
|
58
|
+
adminTools: ({ capabilities = [], overrideAccess = false } = {}) => getParts('aphex/admin/tool')
|
|
59
|
+
.filter((t) => hasCaps(t.requiredCapabilities, capabilities, overrideAccess))
|
|
60
|
+
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),
|
|
61
|
+
fieldComponent: (input) => getParts('aphex/field/component').find((f) => f.input === input),
|
|
62
|
+
settingsDeclarations: () => getParts('aphex/settings'),
|
|
63
|
+
settingsDeclaration: (pluginId) => getParts('aphex/settings').find((s) => s.pluginId === pluginId)
|
|
64
|
+
};
|
|
65
|
+
}
|