@akbarsafari00/bonyan-content-manager 5.52.1-fa.2
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/LICENSE +37 -0
- package/README.md +9 -0
- package/dist/admin/components/ActionsDrawer.js +209 -0
- package/dist/admin/components/ActionsDrawer.js.map +1 -0
- package/dist/admin/components/ActionsDrawer.mjs +186 -0
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -0
- package/dist/admin/components/ComponentIcon.js +180 -0
- package/dist/admin/components/ComponentIcon.js.map +1 -0
- package/dist/admin/components/ComponentIcon.mjs +156 -0
- package/dist/admin/components/ComponentIcon.mjs.map +1 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js +262 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.js.map +1 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs +240 -0
- package/dist/admin/components/ConfigurationForm/EditFieldForm.mjs.map +1 -0
- package/dist/admin/components/ConfigurationForm/Fields.js +704 -0
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -0
- package/dist/admin/components/ConfigurationForm/Fields.mjs +680 -0
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -0
- package/dist/admin/components/ConfigurationForm/Form.js +287 -0
- package/dist/admin/components/ConfigurationForm/Form.js.map +1 -0
- package/dist/admin/components/ConfigurationForm/Form.mjs +262 -0
- package/dist/admin/components/ConfigurationForm/Form.mjs.map +1 -0
- package/dist/admin/components/DragLayer.js +50 -0
- package/dist/admin/components/DragLayer.js.map +1 -0
- package/dist/admin/components/DragLayer.mjs +48 -0
- package/dist/admin/components/DragLayer.mjs.map +1 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.js +84 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.js.map +1 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs +82 -0
- package/dist/admin/components/DragPreviews/CardDragPreview.mjs.map +1 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js +85 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.js.map +1 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs +83 -0
- package/dist/admin/components/DragPreviews/ComponentDragPreview.mjs.map +1 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.js +75 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.js.map +1 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs +73 -0
- package/dist/admin/components/DragPreviews/RelationDragPreview.mjs.map +1 -0
- package/dist/admin/components/FieldTypeIcon.js +58 -0
- package/dist/admin/components/FieldTypeIcon.js.map +1 -0
- package/dist/admin/components/FieldTypeIcon.mjs +56 -0
- package/dist/admin/components/FieldTypeIcon.mjs.map +1 -0
- package/dist/admin/components/InjectionZone.js +44 -0
- package/dist/admin/components/InjectionZone.js.map +1 -0
- package/dist/admin/components/InjectionZone.mjs +40 -0
- package/dist/admin/components/InjectionZone.mjs.map +1 -0
- package/dist/admin/components/LeftMenu.js +194 -0
- package/dist/admin/components/LeftMenu.js.map +1 -0
- package/dist/admin/components/LeftMenu.mjs +172 -0
- package/dist/admin/components/LeftMenu.mjs.map +1 -0
- package/dist/admin/components/RelativeTime.js +77 -0
- package/dist/admin/components/RelativeTime.js.map +1 -0
- package/dist/admin/components/RelativeTime.mjs +55 -0
- package/dist/admin/components/RelativeTime.mjs.map +1 -0
- package/dist/admin/components/Widgets.js +438 -0
- package/dist/admin/components/Widgets.js.map +1 -0
- package/dist/admin/components/Widgets.mjs +414 -0
- package/dist/admin/components/Widgets.mjs.map +1 -0
- package/dist/admin/constants/attributes.js +48 -0
- package/dist/admin/constants/attributes.js.map +1 -0
- package/dist/admin/constants/attributes.mjs +38 -0
- package/dist/admin/constants/attributes.mjs.map +1 -0
- package/dist/admin/constants/collections.js +8 -0
- package/dist/admin/constants/collections.js.map +1 -0
- package/dist/admin/constants/collections.mjs +5 -0
- package/dist/admin/constants/collections.mjs.map +1 -0
- package/dist/admin/constants/dragAndDrop.js +13 -0
- package/dist/admin/constants/dragAndDrop.js.map +1 -0
- package/dist/admin/constants/dragAndDrop.mjs +11 -0
- package/dist/admin/constants/dragAndDrop.mjs.map +1 -0
- package/dist/admin/constants/hooks.js +32 -0
- package/dist/admin/constants/hooks.js.map +1 -0
- package/dist/admin/constants/hooks.mjs +30 -0
- package/dist/admin/constants/hooks.mjs.map +1 -0
- package/dist/admin/constants/plugin.js +14 -0
- package/dist/admin/constants/plugin.js.map +1 -0
- package/dist/admin/constants/plugin.mjs +11 -0
- package/dist/admin/constants/plugin.mjs.map +1 -0
- package/dist/admin/content-manager.js +184 -0
- package/dist/admin/content-manager.js.map +1 -0
- package/dist/admin/content-manager.mjs +182 -0
- package/dist/admin/content-manager.mjs.map +1 -0
- package/dist/admin/features/DocumentRBAC.js +135 -0
- package/dist/admin/features/DocumentRBAC.js.map +1 -0
- package/dist/admin/features/DocumentRBAC.mjs +112 -0
- package/dist/admin/features/DocumentRBAC.mjs.map +1 -0
- package/dist/admin/history/components/HistoryAction.js +61 -0
- package/dist/admin/history/components/HistoryAction.js.map +1 -0
- package/dist/admin/history/components/HistoryAction.mjs +59 -0
- package/dist/admin/history/components/HistoryAction.mjs.map +1 -0
- package/dist/admin/history/components/VersionContent.js +346 -0
- package/dist/admin/history/components/VersionContent.js.map +1 -0
- package/dist/admin/history/components/VersionContent.mjs +320 -0
- package/dist/admin/history/components/VersionContent.mjs.map +1 -0
- package/dist/admin/history/components/VersionHeader.js +221 -0
- package/dist/admin/history/components/VersionHeader.js.map +1 -0
- package/dist/admin/history/components/VersionHeader.mjs +199 -0
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -0
- package/dist/admin/history/components/VersionInputRenderer.js +529 -0
- package/dist/admin/history/components/VersionInputRenderer.js.map +1 -0
- package/dist/admin/history/components/VersionInputRenderer.mjs +505 -0
- package/dist/admin/history/components/VersionInputRenderer.mjs.map +1 -0
- package/dist/admin/history/components/VersionsList.js +295 -0
- package/dist/admin/history/components/VersionsList.js.map +1 -0
- package/dist/admin/history/components/VersionsList.mjs +293 -0
- package/dist/admin/history/components/VersionsList.mjs.map +1 -0
- package/dist/admin/history/index.js +21 -0
- package/dist/admin/history/index.js.map +1 -0
- package/dist/admin/history/index.mjs +19 -0
- package/dist/admin/history/index.mjs.map +1 -0
- package/dist/admin/history/pages/History.js +239 -0
- package/dist/admin/history/pages/History.js.map +1 -0
- package/dist/admin/history/pages/History.mjs +215 -0
- package/dist/admin/history/pages/History.mjs.map +1 -0
- package/dist/admin/history/routes.js +42 -0
- package/dist/admin/history/routes.js.map +1 -0
- package/dist/admin/history/routes.mjs +20 -0
- package/dist/admin/history/routes.mjs.map +1 -0
- package/dist/admin/history/services/historyVersion.js +46 -0
- package/dist/admin/history/services/historyVersion.js.map +1 -0
- package/dist/admin/history/services/historyVersion.mjs +43 -0
- package/dist/admin/history/services/historyVersion.mjs.map +1 -0
- package/dist/admin/hooks/useContentManagerInitData.js +184 -0
- package/dist/admin/hooks/useContentManagerInitData.js.map +1 -0
- package/dist/admin/hooks/useContentManagerInitData.mjs +182 -0
- package/dist/admin/hooks/useContentManagerInitData.mjs.map +1 -0
- package/dist/admin/hooks/useContentTypeSchema.js +139 -0
- package/dist/admin/hooks/useContentTypeSchema.js.map +1 -0
- package/dist/admin/hooks/useContentTypeSchema.mjs +116 -0
- package/dist/admin/hooks/useContentTypeSchema.mjs.map +1 -0
- package/dist/admin/hooks/useDebounce.js +22 -0
- package/dist/admin/hooks/useDebounce.js.map +1 -0
- package/dist/admin/hooks/useDebounce.mjs +20 -0
- package/dist/admin/hooks/useDebounce.mjs.map +1 -0
- package/dist/admin/hooks/useDocument.js +344 -0
- package/dist/admin/hooks/useDocument.js.map +1 -0
- package/dist/admin/hooks/useDocument.mjs +320 -0
- package/dist/admin/hooks/useDocument.mjs.map +1 -0
- package/dist/admin/hooks/useDocumentActions.js +634 -0
- package/dist/admin/hooks/useDocumentActions.js.map +1 -0
- package/dist/admin/hooks/useDocumentActions.mjs +612 -0
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -0
- package/dist/admin/hooks/useDocumentContext.js +58 -0
- package/dist/admin/hooks/useDocumentContext.js.map +1 -0
- package/dist/admin/hooks/useDocumentContext.mjs +36 -0
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
- package/dist/admin/hooks/useDocumentLayout.js +390 -0
- package/dist/admin/hooks/useDocumentLayout.js.map +1 -0
- package/dist/admin/hooks/useDocumentLayout.mjs +364 -0
- package/dist/admin/hooks/useDocumentLayout.mjs.map +1 -0
- package/dist/admin/hooks/useDragAndDrop.js +192 -0
- package/dist/admin/hooks/useDragAndDrop.js.map +1 -0
- package/dist/admin/hooks/useDragAndDrop.mjs +168 -0
- package/dist/admin/hooks/useDragAndDrop.mjs.map +1 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.js +95 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.js.map +1 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs +73 -0
- package/dist/admin/hooks/useKeyboardDragAndDrop.mjs.map +1 -0
- package/dist/admin/hooks/useLazyComponents.js +61 -0
- package/dist/admin/hooks/useLazyComponents.js.map +1 -0
- package/dist/admin/hooks/useLazyComponents.mjs +59 -0
- package/dist/admin/hooks/useLazyComponents.mjs.map +1 -0
- package/dist/admin/hooks/useOnce.js +29 -0
- package/dist/admin/hooks/useOnce.js.map +1 -0
- package/dist/admin/hooks/useOnce.mjs +7 -0
- package/dist/admin/hooks/useOnce.mjs.map +1 -0
- package/dist/admin/hooks/usePersistentQueryParams.js +88 -0
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -0
- package/dist/admin/hooks/usePersistentQueryParams.mjs +81 -0
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -0
- package/dist/admin/hooks/usePrev.js +16 -0
- package/dist/admin/hooks/usePrev.js.map +1 -0
- package/dist/admin/hooks/usePrev.mjs +14 -0
- package/dist/admin/hooks/usePrev.mjs.map +1 -0
- package/dist/admin/index.js +204 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +191 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/layout.js +221 -0
- package/dist/admin/layout.js.map +1 -0
- package/dist/admin/layout.mjs +199 -0
- package/dist/admin/layout.mjs.map +1 -0
- package/dist/admin/modules/app.js +33 -0
- package/dist/admin/modules/app.js.map +1 -0
- package/dist/admin/modules/app.mjs +30 -0
- package/dist/admin/modules/app.mjs.map +1 -0
- package/dist/admin/modules/hooks.js +10 -0
- package/dist/admin/modules/hooks.js.map +1 -0
- package/dist/admin/modules/hooks.mjs +7 -0
- package/dist/admin/modules/hooks.mjs.map +1 -0
- package/dist/admin/modules/reducers.js +11 -0
- package/dist/admin/modules/reducers.js.map +1 -0
- package/dist/admin/modules/reducers.mjs +9 -0
- package/dist/admin/modules/reducers.mjs.map +1 -0
- package/dist/admin/pages/ComponentConfigurationPage.js +213 -0
- package/dist/admin/pages/ComponentConfigurationPage.js.map +1 -0
- package/dist/admin/pages/ComponentConfigurationPage.mjs +190 -0
- package/dist/admin/pages/ComponentConfigurationPage.mjs.map +1 -0
- package/dist/admin/pages/EditConfigurationPage.js +165 -0
- package/dist/admin/pages/EditConfigurationPage.js.map +1 -0
- package/dist/admin/pages/EditConfigurationPage.mjs +142 -0
- package/dist/admin/pages/EditConfigurationPage.mjs.map +1 -0
- package/dist/admin/pages/EditView/EditViewPage.js +321 -0
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -0
- package/dist/admin/pages/EditView/EditViewPage.mjs +297 -0
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/Blocker.js +18 -0
- package/dist/admin/pages/EditView/components/Blocker.js.map +1 -0
- package/dist/admin/pages/EditView/components/Blocker.mjs +16 -0
- package/dist/admin/pages/EditView/components/Blocker.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentActions.js +1358 -0
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +1330 -0
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.js +34 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.js.map +1 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs +32 -0
- package/dist/admin/pages/EditView/components/DocumentStatus.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js +153 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.js.map +1 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs +131 -0
- package/dist/admin/pages/EditView/components/EditorToolbarObserver.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js +265 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs +241 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js +189 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs +187 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js +244 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs +222 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js +462 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs +439 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js +422 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs +420 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js +95 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs +93 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js +49 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs +47 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +555 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +533 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +281 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +256 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js +65 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs +43 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +771 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +747 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.js +22 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.mjs +20 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +89 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +87 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js +181 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs +179 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/Modifiers.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js +32 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs +30 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js +223 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs +221 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/constants.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js +48 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs +45 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js +64 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs +62 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js +14 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs +10 -0
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/utils/types.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js +59 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs +57 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Initializer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +107 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +85 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +103 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +81 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +506 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +484 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js +21 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs +18 -0
- package/dist/admin/pages/EditView/components/FormInputs/ComponentContext.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js +66 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs +64 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +221 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +196 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +75 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +73 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +421 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +396 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js +73 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs +71 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +322 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +296 -0
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js +38 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs +36 -0
- package/dist/admin/pages/EditView/components/FormInputs/NotAllowed.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +674 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +647 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +1058 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +1033 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +299 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +277 -0
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +490 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +465 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +115 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +112 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js +140 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs +118 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Field.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js +198 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs +176 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js +43 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs +41 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +513 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +510 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js +42 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs +40 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js +88 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs +82 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js +58 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs +43 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.js +77 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.mjs +71 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js +366 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs +357 -0
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/FormLayout.js +127 -0
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -0
- package/dist/admin/pages/EditView/components/FormLayout.mjs +103 -0
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/Header.js +637 -0
- package/dist/admin/pages/EditView/components/Header.js.map +1 -0
- package/dist/admin/pages/EditView/components/Header.mjs +614 -0
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/InputRenderer.js +325 -0
- package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -0
- package/dist/admin/pages/EditView/components/InputRenderer.mjs +302 -0
- package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -0
- package/dist/admin/pages/EditView/components/Panels.js +194 -0
- package/dist/admin/pages/EditView/components/Panels.js.map +1 -0
- package/dist/admin/pages/EditView/components/Panels.mjs +168 -0
- package/dist/admin/pages/EditView/components/Panels.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/data.js +372 -0
- package/dist/admin/pages/EditView/utils/data.js.map +1 -0
- package/dist/admin/pages/EditView/utils/data.mjs +360 -0
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.js +124 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.js.map +1 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs +115 -0
- package/dist/admin/pages/EditView/utils/draftRelationCounts.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/forms.js +32 -0
- package/dist/admin/pages/EditView/utils/forms.js.map +1 -0
- package/dist/admin/pages/EditView/utils/forms.mjs +30 -0
- package/dist/admin/pages/EditView/utils/forms.mjs.map +1 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.js +35 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.js.map +1 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.mjs +33 -0
- package/dist/admin/pages/EditView/utils/keyboardShortcuts.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js +201 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs +178 -0
- package/dist/admin/pages/ListConfiguration/ListConfigurationPage.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js +202 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs +180 -0
- package/dist/admin/pages/ListConfiguration/components/DraggableCard.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js +159 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs +137 -0
- package/dist/admin/pages/ListConfiguration/components/EditFieldForm.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Header.js +45 -0
- package/dist/admin/pages/ListConfiguration/components/Header.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Header.mjs +43 -0
- package/dist/admin/pages/ListConfiguration/components/Header.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.js +202 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs +180 -0
- package/dist/admin/pages/ListConfiguration/components/Settings.mjs.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js +168 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.js.map +1 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs +146 -0
- package/dist/admin/pages/ListConfiguration/components/SortDisplayedFields.mjs.map +1 -0
- package/dist/admin/pages/ListView/ListViewPage.js +657 -0
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -0
- package/dist/admin/pages/ListView/ListViewPage.mjs +634 -0
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js +89 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.js.map +1 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs +87 -0
- package/dist/admin/pages/ListView/components/AutoCloneFailureModal.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js +225 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.js.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs +201 -0
- package/dist/admin/pages/ListView/components/BulkActions/Actions.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +157 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +134 -0
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js +594 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.js.map +1 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs +570 -0
- package/dist/admin/pages/ListView/components/BulkActions/PublishAction.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/Filters.js +336 -0
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -0
- package/dist/admin/pages/ListView/components/Filters.mjs +314 -0
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableActions.js +265 -0
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableActions.mjs +242 -0
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js +162 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs +155 -0
- package/dist/admin/pages/ListView/components/TableCells/CellContent.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js +66 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs +59 -0
- package/dist/admin/pages/ListView/components/TableCells/CellValue.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.js +65 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs +62 -0
- package/dist/admin/pages/ListView/components/TableCells/Components.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.js +79 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs +76 -0
- package/dist/admin/pages/ListView/components/TableCells/Media.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.js +133 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.js.map +1 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs +110 -0
- package/dist/admin/pages/ListView/components/TableCells/Relations.mjs.map +1 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js +157 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.js.map +1 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs +155 -0
- package/dist/admin/pages/ListView/components/ViewSettingsMenu.mjs.map +1 -0
- package/dist/admin/pages/NoContentTypePage.js +50 -0
- package/dist/admin/pages/NoContentTypePage.js.map +1 -0
- package/dist/admin/pages/NoContentTypePage.mjs +48 -0
- package/dist/admin/pages/NoContentTypePage.mjs.map +1 -0
- package/dist/admin/pages/NoPermissionsPage.js +26 -0
- package/dist/admin/pages/NoPermissionsPage.js.map +1 -0
- package/dist/admin/pages/NoPermissionsPage.mjs +24 -0
- package/dist/admin/pages/NoPermissionsPage.mjs.map +1 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.js +64 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.js.map +1 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.mjs +62 -0
- package/dist/admin/pages/formatComponentConfigurationEditLayout.mjs.map +1 -0
- package/dist/admin/preview/components/InputPopover.js +193 -0
- package/dist/admin/preview/components/InputPopover.js.map +1 -0
- package/dist/admin/preview/components/InputPopover.mjs +170 -0
- package/dist/admin/preview/components/InputPopover.mjs.map +1 -0
- package/dist/admin/preview/components/PreviewHeader.js +259 -0
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -0
- package/dist/admin/preview/components/PreviewHeader.mjs +257 -0
- package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -0
- package/dist/admin/preview/components/PreviewSidePanel.js +155 -0
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -0
- package/dist/admin/preview/components/PreviewSidePanel.mjs +133 -0
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.js +102 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.js.map +1 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs +80 -0
- package/dist/admin/preview/hooks/usePreviewInputManager.mjs.map +1 -0
- package/dist/admin/preview/index.js +21 -0
- package/dist/admin/preview/index.js.map +1 -0
- package/dist/admin/preview/index.mjs +19 -0
- package/dist/admin/preview/index.mjs.map +1 -0
- package/dist/admin/preview/pages/Preview.js +429 -0
- package/dist/admin/preview/pages/Preview.js.map +1 -0
- package/dist/admin/preview/pages/Preview.mjs +406 -0
- package/dist/admin/preview/pages/Preview.mjs.map +1 -0
- package/dist/admin/preview/routes.js +40 -0
- package/dist/admin/preview/routes.js.map +1 -0
- package/dist/admin/preview/routes.mjs +18 -0
- package/dist/admin/preview/routes.mjs.map +1 -0
- package/dist/admin/preview/services/preview.js +23 -0
- package/dist/admin/preview/services/preview.js.map +1 -0
- package/dist/admin/preview/services/preview.mjs +21 -0
- package/dist/admin/preview/services/preview.mjs.map +1 -0
- package/dist/admin/preview/utils/constants.js +57 -0
- package/dist/admin/preview/utils/constants.js.map +1 -0
- package/dist/admin/preview/utils/constants.mjs +53 -0
- package/dist/admin/preview/utils/constants.mjs.map +1 -0
- package/dist/admin/preview/utils/fieldUtils.js +107 -0
- package/dist/admin/preview/utils/fieldUtils.js.map +1 -0
- package/dist/admin/preview/utils/fieldUtils.mjs +102 -0
- package/dist/admin/preview/utils/fieldUtils.mjs.map +1 -0
- package/dist/admin/preview/utils/getSendMessage.js +22 -0
- package/dist/admin/preview/utils/getSendMessage.js.map +1 -0
- package/dist/admin/preview/utils/getSendMessage.mjs +20 -0
- package/dist/admin/preview/utils/getSendMessage.mjs.map +1 -0
- package/dist/admin/router.js +86 -0
- package/dist/admin/router.js.map +1 -0
- package/dist/admin/router.mjs +82 -0
- package/dist/admin/router.mjs.map +1 -0
- package/dist/admin/services/api.js +24 -0
- package/dist/admin/services/api.js.map +1 -0
- package/dist/admin/services/api.mjs +22 -0
- package/dist/admin/services/api.mjs.map +1 -0
- package/dist/admin/services/components.js +43 -0
- package/dist/admin/services/components.js.map +1 -0
- package/dist/admin/services/components.mjs +40 -0
- package/dist/admin/services/components.mjs.map +1 -0
- package/dist/admin/services/contentTypes.js +64 -0
- package/dist/admin/services/contentTypes.js.map +1 -0
- package/dist/admin/services/contentTypes.mjs +60 -0
- package/dist/admin/services/contentTypes.mjs.map +1 -0
- package/dist/admin/services/documents.js +457 -0
- package/dist/admin/services/documents.js.map +1 -0
- package/dist/admin/services/documents.mjs +439 -0
- package/dist/admin/services/documents.mjs.map +1 -0
- package/dist/admin/services/homepage.js +30 -0
- package/dist/admin/services/homepage.js.map +1 -0
- package/dist/admin/services/homepage.mjs +28 -0
- package/dist/admin/services/homepage.mjs.map +1 -0
- package/dist/admin/services/init.js +19 -0
- package/dist/admin/services/init.js.map +1 -0
- package/dist/admin/services/init.mjs +17 -0
- package/dist/admin/services/init.mjs.map +1 -0
- package/dist/admin/services/relations.js +144 -0
- package/dist/admin/services/relations.js.map +1 -0
- package/dist/admin/services/relations.mjs +141 -0
- package/dist/admin/services/relations.mjs.map +1 -0
- package/dist/admin/services/uid.js +54 -0
- package/dist/admin/services/uid.js.map +1 -0
- package/dist/admin/services/uid.mjs +50 -0
- package/dist/admin/services/uid.mjs.map +1 -0
- package/dist/admin/src/components/ActionsDrawer.d.ts +35 -0
- package/dist/admin/src/components/ComponentIcon.d.ts +12 -0
- package/dist/admin/src/components/ConfigurationForm/EditFieldForm.d.ts +9 -0
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +23 -0
- package/dist/admin/src/components/ConfigurationForm/Form.d.ts +32 -0
- package/dist/admin/src/components/DragLayer.d.ts +13 -0
- package/dist/admin/src/components/DragPreviews/CardDragPreview.d.ts +7 -0
- package/dist/admin/src/components/DragPreviews/ComponentDragPreview.d.ts +6 -0
- package/dist/admin/src/components/DragPreviews/RelationDragPreview.d.ts +11 -0
- package/dist/admin/src/components/FieldTypeIcon.d.ts +9 -0
- package/dist/admin/src/components/InjectionZone.d.ts +50 -0
- package/dist/admin/src/components/LeftMenu.d.ts +4 -0
- package/dist/admin/src/components/RelativeTime.d.ts +28 -0
- package/dist/admin/src/components/Widgets.d.ts +8 -0
- package/dist/admin/src/constants/attributes.d.ts +14 -0
- package/dist/admin/src/constants/collections.d.ts +3 -0
- package/dist/admin/src/constants/dragAndDrop.d.ts +8 -0
- package/dist/admin/src/constants/hooks.d.ts +49 -0
- package/dist/admin/src/constants/plugin.d.ts +3 -0
- package/dist/admin/src/content-manager.d.ts +163 -0
- package/dist/admin/src/exports.d.ts +16 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +37 -0
- package/dist/admin/src/history/components/HistoryAction.d.ts +3 -0
- package/dist/admin/src/history/components/VersionContent.d.ts +17 -0
- package/dist/admin/src/history/components/VersionHeader.d.ts +5 -0
- package/dist/admin/src/history/components/VersionInputRenderer.d.ts +45 -0
- package/dist/admin/src/history/components/VersionsList.d.ts +2 -0
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/history/pages/History.d.ts +27 -0
- package/dist/admin/src/history/routes.d.ts +6 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +12 -0
- package/dist/admin/src/hooks/useContentManagerInitData.d.ts +15 -0
- package/dist/admin/src/hooks/useContentTypeSchema.d.ts +25 -0
- package/dist/admin/src/hooks/useDebounce.d.ts +1 -0
- package/dist/admin/src/hooks/useDocument.d.ts +140 -0
- package/dist/admin/src/hooks/useDocumentActions.d.ts +125 -0
- package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +157 -0
- package/dist/admin/src/hooks/useDragAndDrop.d.ts +51 -0
- package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +14 -0
- package/dist/admin/src/hooks/useLazyComponents.d.ts +13 -0
- package/dist/admin/src/hooks/useOnce.d.ts +2 -0
- package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +11 -0
- package/dist/admin/src/hooks/usePrev.d.ts +1 -0
- package/dist/admin/src/index.d.ts +19 -0
- package/dist/admin/src/layout.d.ts +2 -0
- package/dist/admin/src/modules/app.d.ts +20 -0
- package/dist/admin/src/modules/hooks.d.ts +10 -0
- package/dist/admin/src/modules/reducers.d.ts +6 -0
- package/dist/admin/src/pages/ComponentConfigurationPage.d.ts +3 -0
- package/dist/admin/src/pages/EditConfigurationPage.d.ts +3 -0
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/Blocker.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +93 -0
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +58 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +83 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/DefaultBlocksStore.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Modifiers.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +13 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +18 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +41 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +28 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +12 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/NotAllowed.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +83 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +57 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +21 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +49 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.d.ts +4 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/sanitizer.d.ts +2 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +22 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +56 -0
- package/dist/admin/src/pages/EditView/components/Header.d.ts +50 -0
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +20 -0
- package/dist/admin/src/pages/EditView/components/Panels.d.ts +22 -0
- package/dist/admin/src/pages/EditView/utils/data.d.ts +57 -0
- package/dist/admin/src/pages/EditView/utils/draftRelationCounts.d.ts +27 -0
- package/dist/admin/src/pages/EditView/utils/forms.d.ts +9 -0
- package/dist/admin/src/pages/EditView/utils/keyboardShortcuts.d.ts +18 -0
- package/dist/admin/src/pages/ListConfiguration/ListConfigurationPage.d.ts +10 -0
- package/dist/admin/src/pages/ListConfiguration/components/DraggableCard.d.ts +12 -0
- package/dist/admin/src/pages/ListConfiguration/components/EditFieldForm.d.ts +8 -0
- package/dist/admin/src/pages/ListConfiguration/components/Header.d.ts +8 -0
- package/dist/admin/src/pages/ListConfiguration/components/Settings.d.ts +19 -0
- package/dist/admin/src/pages/ListConfiguration/components/SortDisplayedFields.d.ts +6 -0
- package/dist/admin/src/pages/ListView/ListViewPage.d.ts +3 -0
- package/dist/admin/src/pages/ListView/components/AutoCloneFailureModal.d.ts +7 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +24 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +17 -0
- package/dist/admin/src/pages/ListView/components/Filters.d.ts +20 -0
- package/dist/admin/src/pages/ListView/components/TableActions.d.ts +8 -0
- package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +18 -0
- package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +9 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Components.d.ts +12 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Media.d.ts +23 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +9 -0
- package/dist/admin/src/pages/ListView/components/ViewSettingsMenu.d.ts +10 -0
- package/dist/admin/src/pages/NoContentTypePage.d.ts +2 -0
- package/dist/admin/src/pages/NoPermissionsPage.d.ts +2 -0
- package/dist/admin/src/pages/formatComponentConfigurationEditLayout.d.ts +17 -0
- package/dist/admin/src/preview/components/InputPopover.d.ts +6 -0
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
- package/dist/admin/src/preview/hooks/usePreviewInputManager.d.ts +5 -0
- package/dist/admin/src/preview/index.d.ts +3 -0
- package/dist/admin/src/preview/pages/Preview.d.ts +26 -0
- package/dist/admin/src/preview/routes.d.ts +3 -0
- package/dist/admin/src/preview/services/preview.d.ts +3 -0
- package/dist/admin/src/preview/utils/constants.d.ts +53 -0
- package/dist/admin/src/preview/utils/fieldUtils.d.ts +22 -0
- package/dist/admin/src/preview/utils/getSendMessage.d.ts +10 -0
- package/dist/admin/src/router.d.ts +5 -0
- package/dist/admin/src/services/api.d.ts +2 -0
- package/dist/admin/src/services/components.d.ts +5 -0
- package/dist/admin/src/services/contentTypes.d.ts +17 -0
- package/dist/admin/src/services/documents.d.ts +71 -0
- package/dist/admin/src/services/homepage.d.ts +5 -0
- package/dist/admin/src/services/init.d.ts +9 -0
- package/dist/admin/src/services/relations.d.ts +35 -0
- package/dist/admin/src/services/uid.d.ts +32 -0
- package/dist/admin/src/utils/api.d.ts +24 -0
- package/dist/admin/src/utils/attributes.d.ts +19 -0
- package/dist/admin/src/utils/conditionalFields.d.ts +13 -0
- package/dist/admin/src/utils/layouts/normalizeContentManagerLayout.d.ts +24 -0
- package/dist/admin/src/utils/objects.d.ts +36 -0
- package/dist/admin/src/utils/previewImage.d.ts +3 -0
- package/dist/admin/src/utils/relations.d.ts +12 -0
- package/dist/admin/src/utils/strings.d.ts +2 -0
- package/dist/admin/src/utils/translations.d.ts +4 -0
- package/dist/admin/src/utils/urls.d.ts +2 -0
- package/dist/admin/src/utils/users.d.ts +6 -0
- package/dist/admin/src/utils/validation.d.ts +12 -0
- package/dist/admin/translations/ar.json.js +229 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +222 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/ca.json.js +204 -0
- package/dist/admin/translations/ca.json.js.map +1 -0
- package/dist/admin/translations/ca.json.mjs +197 -0
- package/dist/admin/translations/ca.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +362 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +355 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +335 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +328 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +358 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +351 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +340 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +333 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/eu.json.js +205 -0
- package/dist/admin/translations/eu.json.js.map +1 -0
- package/dist/admin/translations/eu.json.mjs +198 -0
- package/dist/admin/translations/eu.json.mjs.map +1 -0
- package/dist/admin/translations/fa.json.js +358 -0
- package/dist/admin/translations/fa.json.js.map +1 -0
- package/dist/admin/translations/fa.json.mjs +351 -0
- package/dist/admin/translations/fa.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +305 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +298 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/gu.json.js +203 -0
- package/dist/admin/translations/gu.json.js.map +1 -0
- package/dist/admin/translations/gu.json.mjs +196 -0
- package/dist/admin/translations/gu.json.mjs.map +1 -0
- package/dist/admin/translations/hi.json.js +203 -0
- package/dist/admin/translations/hi.json.js.map +1 -0
- package/dist/admin/translations/hi.json.mjs +196 -0
- package/dist/admin/translations/hi.json.mjs.map +1 -0
- package/dist/admin/translations/hu.json.js +205 -0
- package/dist/admin/translations/hu.json.js.map +1 -0
- package/dist/admin/translations/hu.json.mjs +198 -0
- package/dist/admin/translations/hu.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +163 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +156 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +165 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +158 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ja.json.js +374 -0
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/translations/ja.json.mjs +367 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +377 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +370 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ml.json.js +203 -0
- package/dist/admin/translations/ml.json.js.map +1 -0
- package/dist/admin/translations/ml.json.mjs +196 -0
- package/dist/admin/translations/ml.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +147 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +140 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +374 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +367 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +352 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +345 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +204 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +197 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +98 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +93 -0
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/translations/ru.json.js +240 -0
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/translations/ru.json.mjs +233 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sa.json.js +203 -0
- package/dist/admin/translations/sa.json.js.map +1 -0
- package/dist/admin/translations/sa.json.mjs +196 -0
- package/dist/admin/translations/sa.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +372 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +365 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +205 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +198 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +151 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +144 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +202 -0
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/translations/tr.json.mjs +195 -0
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/translations/uk.json.js +319 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +312 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/vi.json.js +114 -0
- package/dist/admin/translations/vi.json.js.map +1 -0
- package/dist/admin/translations/vi.json.mjs +108 -0
- package/dist/admin/translations/vi.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +911 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +890 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +212 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +205 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/api.js +27 -0
- package/dist/admin/utils/api.js.map +1 -0
- package/dist/admin/utils/api.mjs +24 -0
- package/dist/admin/utils/api.mjs.map +1 -0
- package/dist/admin/utils/attributes.js +49 -0
- package/dist/admin/utils/attributes.js.map +1 -0
- package/dist/admin/utils/attributes.mjs +46 -0
- package/dist/admin/utils/attributes.mjs.map +1 -0
- package/dist/admin/utils/conditionalFields.js +76 -0
- package/dist/admin/utils/conditionalFields.js.map +1 -0
- package/dist/admin/utils/conditionalFields.mjs +69 -0
- package/dist/admin/utils/conditionalFields.mjs.map +1 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.js +329 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.js.map +1 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.mjs +321 -0
- package/dist/admin/utils/layouts/normalizeContentManagerLayout.mjs.map +1 -0
- package/dist/admin/utils/objects.js +115 -0
- package/dist/admin/utils/objects.js.map +1 -0
- package/dist/admin/utils/objects.mjs +105 -0
- package/dist/admin/utils/objects.mjs.map +1 -0
- package/dist/admin/utils/previewImage.js +14 -0
- package/dist/admin/utils/previewImage.js.map +1 -0
- package/dist/admin/utils/previewImage.mjs +12 -0
- package/dist/admin/utils/previewImage.mjs.map +1 -0
- package/dist/admin/utils/relations.js +23 -0
- package/dist/admin/utils/relations.js.map +1 -0
- package/dist/admin/utils/relations.mjs +21 -0
- package/dist/admin/utils/relations.mjs.map +1 -0
- package/dist/admin/utils/strings.js +6 -0
- package/dist/admin/utils/strings.js.map +1 -0
- package/dist/admin/utils/strings.mjs +4 -0
- package/dist/admin/utils/strings.mjs.map +1 -0
- package/dist/admin/utils/translations.js +13 -0
- package/dist/admin/utils/translations.js.map +1 -0
- package/dist/admin/utils/translations.mjs +10 -0
- package/dist/admin/utils/translations.mjs.map +1 -0
- package/dist/admin/utils/urls.js +8 -0
- package/dist/admin/utils/urls.js.map +1 -0
- package/dist/admin/utils/urls.mjs +6 -0
- package/dist/admin/utils/urls.mjs.map +1 -0
- package/dist/admin/utils/users.js +17 -0
- package/dist/admin/utils/users.js.map +1 -0
- package/dist/admin/utils/users.mjs +15 -0
- package/dist/admin/utils/users.mjs.map +1 -0
- package/dist/admin/utils/validation.js +306 -0
- package/dist/admin/utils/validation.js.map +1 -0
- package/dist/admin/utils/validation.mjs +281 -0
- package/dist/admin/utils/validation.mjs.map +1 -0
- package/dist/server/bootstrap.js +29 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +27 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/constants/index.js +9 -0
- package/dist/server/constants/index.js.map +1 -0
- package/dist/server/constants/index.mjs +7 -0
- package/dist/server/constants/index.mjs.map +1 -0
- package/dist/server/controllers/collection-types.js +936 -0
- package/dist/server/controllers/collection-types.js.map +1 -0
- package/dist/server/controllers/collection-types.mjs +934 -0
- package/dist/server/controllers/collection-types.mjs.map +1 -0
- package/dist/server/controllers/components.js +60 -0
- package/dist/server/controllers/components.js.map +1 -0
- package/dist/server/controllers/components.mjs +58 -0
- package/dist/server/controllers/components.mjs.map +1 -0
- package/dist/server/controllers/content-types.js +118 -0
- package/dist/server/controllers/content-types.js.map +1 -0
- package/dist/server/controllers/content-types.mjs +116 -0
- package/dist/server/controllers/content-types.mjs.map +1 -0
- package/dist/server/controllers/index.js +28 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +26 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/init.js +22 -0
- package/dist/server/controllers/init.js.map +1 -0
- package/dist/server/controllers/init.mjs +20 -0
- package/dist/server/controllers/init.mjs.map +1 -0
- package/dist/server/controllers/relations.js +438 -0
- package/dist/server/controllers/relations.js.map +1 -0
- package/dist/server/controllers/relations.mjs +436 -0
- package/dist/server/controllers/relations.mjs.map +1 -0
- package/dist/server/controllers/single-types.js +337 -0
- package/dist/server/controllers/single-types.js.map +1 -0
- package/dist/server/controllers/single-types.mjs +335 -0
- package/dist/server/controllers/single-types.mjs.map +1 -0
- package/dist/server/controllers/uid.js +48 -0
- package/dist/server/controllers/uid.js.map +1 -0
- package/dist/server/controllers/uid.mjs +46 -0
- package/dist/server/controllers/uid.mjs.map +1 -0
- package/dist/server/controllers/utils/clone.js +138 -0
- package/dist/server/controllers/utils/clone.js.map +1 -0
- package/dist/server/controllers/utils/clone.mjs +135 -0
- package/dist/server/controllers/utils/clone.mjs.map +1 -0
- package/dist/server/controllers/utils/document-status.js +28 -0
- package/dist/server/controllers/utils/document-status.js.map +1 -0
- package/dist/server/controllers/utils/document-status.mjs +26 -0
- package/dist/server/controllers/utils/document-status.mjs.map +1 -0
- package/dist/server/controllers/utils/metadata.js +26 -0
- package/dist/server/controllers/utils/metadata.js.map +1 -0
- package/dist/server/controllers/utils/metadata.mjs +24 -0
- package/dist/server/controllers/utils/metadata.mjs.map +1 -0
- package/dist/server/controllers/validation/dimensions.js +40 -0
- package/dist/server/controllers/validation/dimensions.js.map +1 -0
- package/dist/server/controllers/validation/dimensions.mjs +38 -0
- package/dist/server/controllers/validation/dimensions.mjs.map +1 -0
- package/dist/server/controllers/validation/index.js +74 -0
- package/dist/server/controllers/validation/index.js.map +1 -0
- package/dist/server/controllers/validation/index.mjs +64 -0
- package/dist/server/controllers/validation/index.mjs.map +1 -0
- package/dist/server/controllers/validation/model-configuration.js +88 -0
- package/dist/server/controllers/validation/model-configuration.js.map +1 -0
- package/dist/server/controllers/validation/model-configuration.mjs +86 -0
- package/dist/server/controllers/validation/model-configuration.mjs.map +1 -0
- package/dist/server/controllers/validation/relations.js +34 -0
- package/dist/server/controllers/validation/relations.js.map +1 -0
- package/dist/server/controllers/validation/relations.mjs +31 -0
- package/dist/server/controllers/validation/relations.mjs.map +1 -0
- package/dist/server/destroy.js +12 -0
- package/dist/server/destroy.js.map +1 -0
- package/dist/server/destroy.mjs +10 -0
- package/dist/server/destroy.mjs.map +1 -0
- package/dist/server/history/constants.js +16 -0
- package/dist/server/history/constants.js.map +1 -0
- package/dist/server/history/constants.mjs +13 -0
- package/dist/server/history/constants.mjs.map +1 -0
- package/dist/server/history/controllers/history-version.js +107 -0
- package/dist/server/history/controllers/history-version.js.map +1 -0
- package/dist/server/history/controllers/history-version.mjs +105 -0
- package/dist/server/history/controllers/history-version.mjs.map +1 -0
- package/dist/server/history/controllers/index.js +10 -0
- package/dist/server/history/controllers/index.js.map +1 -0
- package/dist/server/history/controllers/index.mjs +8 -0
- package/dist/server/history/controllers/index.mjs.map +1 -0
- package/dist/server/history/controllers/validation/history-version.js +11 -0
- package/dist/server/history/controllers/validation/history-version.js.map +1 -0
- package/dist/server/history/controllers/validation/history-version.mjs +9 -0
- package/dist/server/history/controllers/validation/history-version.mjs.map +1 -0
- package/dist/server/history/index.js +42 -0
- package/dist/server/history/index.js.map +1 -0
- package/dist/server/history/index.mjs +40 -0
- package/dist/server/history/index.mjs.map +1 -0
- package/dist/server/history/models/history-version.js +59 -0
- package/dist/server/history/models/history-version.js.map +1 -0
- package/dist/server/history/models/history-version.mjs +57 -0
- package/dist/server/history/models/history-version.mjs.map +1 -0
- package/dist/server/history/routes/history-version.js +36 -0
- package/dist/server/history/routes/history-version.js.map +1 -0
- package/dist/server/history/routes/history-version.mjs +34 -0
- package/dist/server/history/routes/history-version.mjs.map +1 -0
- package/dist/server/history/routes/index.js +13 -0
- package/dist/server/history/routes/index.js.map +1 -0
- package/dist/server/history/routes/index.mjs +11 -0
- package/dist/server/history/routes/index.mjs.map +1 -0
- package/dist/server/history/services/history.js +221 -0
- package/dist/server/history/services/history.js.map +1 -0
- package/dist/server/history/services/history.mjs +219 -0
- package/dist/server/history/services/history.mjs.map +1 -0
- package/dist/server/history/services/index.js +12 -0
- package/dist/server/history/services/index.js.map +1 -0
- package/dist/server/history/services/index.mjs +10 -0
- package/dist/server/history/services/index.mjs.map +1 -0
- package/dist/server/history/services/lifecycles.js +178 -0
- package/dist/server/history/services/lifecycles.js.map +1 -0
- package/dist/server/history/services/lifecycles.mjs +176 -0
- package/dist/server/history/services/lifecycles.mjs.map +1 -0
- package/dist/server/history/services/utils.js +281 -0
- package/dist/server/history/services/utils.js.map +1 -0
- package/dist/server/history/services/utils.mjs +279 -0
- package/dist/server/history/services/utils.mjs.map +1 -0
- package/dist/server/history/utils.js +9 -0
- package/dist/server/history/utils.js.map +1 -0
- package/dist/server/history/utils.mjs +7 -0
- package/dist/server/history/utils.mjs.map +1 -0
- package/dist/server/homepage/controllers/homepage.js +42 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -0
- package/dist/server/homepage/controllers/homepage.mjs +40 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
- package/dist/server/homepage/controllers/index.js +10 -0
- package/dist/server/homepage/controllers/index.js.map +1 -0
- package/dist/server/homepage/controllers/index.mjs +8 -0
- package/dist/server/homepage/controllers/index.mjs.map +1 -0
- package/dist/server/homepage/index.js +14 -0
- package/dist/server/homepage/index.js.map +1 -0
- package/dist/server/homepage/index.mjs +12 -0
- package/dist/server/homepage/index.mjs.map +1 -0
- package/dist/server/homepage/routes/homepage.js +36 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -0
- package/dist/server/homepage/routes/homepage.mjs +34 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -0
- package/dist/server/homepage/routes/index.js +13 -0
- package/dist/server/homepage/routes/index.js.map +1 -0
- package/dist/server/homepage/routes/index.mjs +11 -0
- package/dist/server/homepage/routes/index.mjs.map +1 -0
- package/dist/server/homepage/services/homepage-query-utils.js +56 -0
- package/dist/server/homepage/services/homepage-query-utils.js.map +1 -0
- package/dist/server/homepage/services/homepage-query-utils.mjs +50 -0
- package/dist/server/homepage/services/homepage-query-utils.mjs.map +1 -0
- package/dist/server/homepage/services/homepage.js +249 -0
- package/dist/server/homepage/services/homepage.js.map +1 -0
- package/dist/server/homepage/services/homepage.mjs +247 -0
- package/dist/server/homepage/services/homepage.mjs.map +1 -0
- package/dist/server/homepage/services/index.js +10 -0
- package/dist/server/homepage/services/index.js.map +1 -0
- package/dist/server/homepage/services/index.mjs +8 -0
- package/dist/server/homepage/services/index.mjs.map +1 -0
- package/dist/server/index.js +24 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +22 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.js +524 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.js.map +1 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.mjs +518 -0
- package/dist/server/mcp/derive-content-type-mcp-tools.mjs.map +1 -0
- package/dist/server/mcp/handlers/collection-handlers.js +401 -0
- package/dist/server/mcp/handlers/collection-handlers.js.map +1 -0
- package/dist/server/mcp/handlers/collection-handlers.mjs +392 -0
- package/dist/server/mcp/handlers/collection-handlers.mjs.map +1 -0
- package/dist/server/mcp/handlers/constants.js +10 -0
- package/dist/server/mcp/handlers/constants.js.map +1 -0
- package/dist/server/mcp/handlers/constants.mjs +6 -0
- package/dist/server/mcp/handlers/constants.mjs.map +1 -0
- package/dist/server/mcp/handlers/single-type-handlers.js +344 -0
- package/dist/server/mcp/handlers/single-type-handlers.js.map +1 -0
- package/dist/server/mcp/handlers/single-type-handlers.mjs +336 -0
- package/dist/server/mcp/handlers/single-type-handlers.mjs.map +1 -0
- package/dist/server/mcp/permissions.js +138 -0
- package/dist/server/mcp/permissions.js.map +1 -0
- package/dist/server/mcp/permissions.mjs +131 -0
- package/dist/server/mcp/permissions.mjs.map +1 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.js +33 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.js.map +1 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.mjs +31 -0
- package/dist/server/mcp/register-content-manager-mcp-tools.mjs.map +1 -0
- package/dist/server/mcp/sanitizers/shape-relations.js +108 -0
- package/dist/server/mcp/sanitizers/shape-relations.js.map +1 -0
- package/dist/server/mcp/sanitizers/shape-relations.mjs +103 -0
- package/dist/server/mcp/sanitizers/shape-relations.mjs.map +1 -0
- package/dist/server/mcp/schemas/blocks-schema.js +124 -0
- package/dist/server/mcp/schemas/blocks-schema.js.map +1 -0
- package/dist/server/mcp/schemas/blocks-schema.mjs +122 -0
- package/dist/server/mcp/schemas/blocks-schema.mjs.map +1 -0
- package/dist/server/mcp/schemas/data-schema.js +254 -0
- package/dist/server/mcp/schemas/data-schema.js.map +1 -0
- package/dist/server/mcp/schemas/data-schema.mjs +250 -0
- package/dist/server/mcp/schemas/data-schema.mjs.map +1 -0
- package/dist/server/mcp/schemas/filters-schema.js +111 -0
- package/dist/server/mcp/schemas/filters-schema.js.map +1 -0
- package/dist/server/mcp/schemas/filters-schema.mjs +107 -0
- package/dist/server/mcp/schemas/filters-schema.mjs.map +1 -0
- package/dist/server/mcp/schemas/input-schemas.js +18 -0
- package/dist/server/mcp/schemas/input-schemas.js.map +1 -0
- package/dist/server/mcp/schemas/input-schemas.mjs +13 -0
- package/dist/server/mcp/schemas/input-schemas.mjs.map +1 -0
- package/dist/server/mcp/schemas/output-schemas.js +74 -0
- package/dist/server/mcp/schemas/output-schemas.js.map +1 -0
- package/dist/server/mcp/schemas/output-schemas.mjs +70 -0
- package/dist/server/mcp/schemas/output-schemas.mjs.map +1 -0
- package/dist/server/mcp/schemas/sort-schema.js +80 -0
- package/dist/server/mcp/schemas/sort-schema.js.map +1 -0
- package/dist/server/mcp/schemas/sort-schema.mjs +76 -0
- package/dist/server/mcp/schemas/sort-schema.mjs.map +1 -0
- package/dist/server/mcp/utils.js +72 -0
- package/dist/server/mcp/utils.js.map +1 -0
- package/dist/server/mcp/utils.mjs +67 -0
- package/dist/server/mcp/utils.mjs.map +1 -0
- package/dist/server/middlewares/routing.js +44 -0
- package/dist/server/middlewares/routing.js.map +1 -0
- package/dist/server/middlewares/routing.mjs +38 -0
- package/dist/server/middlewares/routing.mjs.map +1 -0
- package/dist/server/policies/hasPermissions.js +24 -0
- package/dist/server/policies/hasPermissions.js.map +1 -0
- package/dist/server/policies/hasPermissions.mjs +22 -0
- package/dist/server/policies/hasPermissions.mjs.map +1 -0
- package/dist/server/policies/index.js +10 -0
- package/dist/server/policies/index.js.map +1 -0
- package/dist/server/policies/index.mjs +8 -0
- package/dist/server/policies/index.mjs.map +1 -0
- package/dist/server/preview/controllers/index.js +10 -0
- package/dist/server/preview/controllers/index.js.map +1 -0
- package/dist/server/preview/controllers/index.mjs +8 -0
- package/dist/server/preview/controllers/index.mjs.map +1 -0
- package/dist/server/preview/controllers/preview.js +43 -0
- package/dist/server/preview/controllers/preview.js.map +1 -0
- package/dist/server/preview/controllers/preview.mjs +41 -0
- package/dist/server/preview/controllers/preview.mjs.map +1 -0
- package/dist/server/preview/controllers/previewScript.js +1450 -0
- package/dist/server/preview/controllers/validation/preview.js +50 -0
- package/dist/server/preview/controllers/validation/preview.js.map +1 -0
- package/dist/server/preview/controllers/validation/preview.mjs +48 -0
- package/dist/server/preview/controllers/validation/preview.mjs.map +1 -0
- package/dist/server/preview/index.js +27 -0
- package/dist/server/preview/index.js.map +1 -0
- package/dist/server/preview/index.mjs +25 -0
- package/dist/server/preview/index.mjs.map +1 -0
- package/dist/server/preview/routes/index.js +13 -0
- package/dist/server/preview/routes/index.js.map +1 -0
- package/dist/server/preview/routes/index.mjs +11 -0
- package/dist/server/preview/routes/index.mjs.map +1 -0
- package/dist/server/preview/routes/preview.js +36 -0
- package/dist/server/preview/routes/preview.js.map +1 -0
- package/dist/server/preview/routes/preview.mjs +34 -0
- package/dist/server/preview/routes/preview.mjs.map +1 -0
- package/dist/server/preview/services/index.js +12 -0
- package/dist/server/preview/services/index.js.map +1 -0
- package/dist/server/preview/services/index.mjs +10 -0
- package/dist/server/preview/services/index.mjs.map +1 -0
- package/dist/server/preview/services/preview-config.js +70 -0
- package/dist/server/preview/services/preview-config.js.map +1 -0
- package/dist/server/preview/services/preview-config.mjs +68 -0
- package/dist/server/preview/services/preview-config.mjs.map +1 -0
- package/dist/server/preview/services/preview.js +31 -0
- package/dist/server/preview/services/preview.js.map +1 -0
- package/dist/server/preview/services/preview.mjs +29 -0
- package/dist/server/preview/services/preview.mjs.map +1 -0
- package/dist/server/preview/utils.js +9 -0
- package/dist/server/preview/utils.js.map +1 -0
- package/dist/server/preview/utils.mjs +7 -0
- package/dist/server/preview/utils.mjs.map +1 -0
- package/dist/server/register.js +16 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +14 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin.js +620 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/admin.mjs +618 -0
- package/dist/server/routes/admin.mjs.map +1 -0
- package/dist/server/routes/index.js +16 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +14 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/components.js +121 -0
- package/dist/server/services/components.js.map +1 -0
- package/dist/server/services/components.mjs +119 -0
- package/dist/server/services/components.mjs.map +1 -0
- package/dist/server/services/configuration.js +58 -0
- package/dist/server/services/configuration.js.map +1 -0
- package/dist/server/services/configuration.mjs +56 -0
- package/dist/server/services/configuration.mjs.map +1 -0
- package/dist/server/services/content-types.js +60 -0
- package/dist/server/services/content-types.js.map +1 -0
- package/dist/server/services/content-types.mjs +58 -0
- package/dist/server/services/content-types.mjs.map +1 -0
- package/dist/server/services/data-mapper.js +69 -0
- package/dist/server/services/data-mapper.js.map +1 -0
- package/dist/server/services/data-mapper.mjs +67 -0
- package/dist/server/services/data-mapper.mjs.map +1 -0
- package/dist/server/services/document-manager.js +237 -0
- package/dist/server/services/document-manager.js.map +1 -0
- package/dist/server/services/document-manager.mjs +235 -0
- package/dist/server/services/document-manager.mjs.map +1 -0
- package/dist/server/services/document-metadata.js +368 -0
- package/dist/server/services/document-metadata.js.map +1 -0
- package/dist/server/services/document-metadata.mjs +366 -0
- package/dist/server/services/document-metadata.mjs.map +1 -0
- package/dist/server/services/field-sizes.js +90 -0
- package/dist/server/services/field-sizes.js.map +1 -0
- package/dist/server/services/field-sizes.mjs +88 -0
- package/dist/server/services/field-sizes.mjs.map +1 -0
- package/dist/server/services/index.js +36 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +34 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/metrics.js +31 -0
- package/dist/server/services/metrics.js.map +1 -0
- package/dist/server/services/metrics.mjs +29 -0
- package/dist/server/services/metrics.mjs.map +1 -0
- package/dist/server/services/permission-checker.js +138 -0
- package/dist/server/services/permission-checker.js.map +1 -0
- package/dist/server/services/permission-checker.mjs +133 -0
- package/dist/server/services/permission-checker.mjs.map +1 -0
- package/dist/server/services/permission.js +94 -0
- package/dist/server/services/permission.js.map +1 -0
- package/dist/server/services/permission.mjs +92 -0
- package/dist/server/services/permission.mjs.map +1 -0
- package/dist/server/services/populate-builder.js +86 -0
- package/dist/server/services/populate-builder.js.map +1 -0
- package/dist/server/services/populate-builder.mjs +84 -0
- package/dist/server/services/populate-builder.mjs.map +1 -0
- package/dist/server/services/uid.js +90 -0
- package/dist/server/services/uid.js.map +1 -0
- package/dist/server/services/uid.mjs +83 -0
- package/dist/server/services/uid.mjs.map +1 -0
- package/dist/server/services/utils/configuration/attributes.js +190 -0
- package/dist/server/services/utils/configuration/attributes.js.map +1 -0
- package/dist/server/services/utils/configuration/attributes.mjs +176 -0
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -0
- package/dist/server/services/utils/configuration/index.js +37 -0
- package/dist/server/services/utils/configuration/index.js.map +1 -0
- package/dist/server/services/utils/configuration/index.mjs +34 -0
- package/dist/server/services/utils/configuration/index.mjs.map +1 -0
- package/dist/server/services/utils/configuration/layouts.js +124 -0
- package/dist/server/services/utils/configuration/layouts.js.map +1 -0
- package/dist/server/services/utils/configuration/layouts.mjs +117 -0
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -0
- package/dist/server/services/utils/configuration/metadatas.js +159 -0
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -0
- package/dist/server/services/utils/configuration/metadatas.mjs +152 -0
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -0
- package/dist/server/services/utils/configuration/settings.js +72 -0
- package/dist/server/services/utils/configuration/settings.js.map +1 -0
- package/dist/server/services/utils/configuration/settings.mjs +64 -0
- package/dist/server/services/utils/configuration/settings.mjs.map +1 -0
- package/dist/server/services/utils/draft-relations.js +14 -0
- package/dist/server/services/utils/draft-relations.js.map +1 -0
- package/dist/server/services/utils/draft-relations.mjs +11 -0
- package/dist/server/services/utils/draft-relations.mjs.map +1 -0
- package/dist/server/services/utils/draft.js +171 -0
- package/dist/server/services/utils/draft.js.map +1 -0
- package/dist/server/services/utils/draft.mjs +149 -0
- package/dist/server/services/utils/draft.mjs.map +1 -0
- package/dist/server/services/utils/populate.js +398 -0
- package/dist/server/services/utils/populate.js.map +1 -0
- package/dist/server/services/utils/populate.mjs +371 -0
- package/dist/server/services/utils/populate.mjs.map +1 -0
- package/dist/server/services/utils/store.js +122 -0
- package/dist/server/services/utils/store.js.map +1 -0
- package/dist/server/services/utils/store.mjs +116 -0
- package/dist/server/services/utils/store.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +3 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/config.d.ts +6 -0
- package/dist/server/src/config.d.ts.map +1 -0
- package/dist/server/src/constants/index.d.ts +6 -0
- package/dist/server/src/constants/index.d.ts.map +1 -0
- package/dist/server/src/controllers/collection-types.d.ts +24 -0
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -0
- package/dist/server/src/controllers/components.d.ts +7 -0
- package/dist/server/src/controllers/components.d.ts.map +1 -0
- package/dist/server/src/controllers/content-types.d.ts +8 -0
- package/dist/server/src/controllers/content-types.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +54 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/init.d.ts +5 -0
- package/dist/server/src/controllers/init.d.ts.map +1 -0
- package/dist/server/src/controllers/relations.d.ts +13 -0
- package/dist/server/src/controllers/relations.d.ts.map +1 -0
- package/dist/server/src/controllers/single-types.d.ts +11 -0
- package/dist/server/src/controllers/single-types.d.ts.map +1 -0
- package/dist/server/src/controllers/uid.d.ts +6 -0
- package/dist/server/src/controllers/uid.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/clone.d.ts +12 -0
- package/dist/server/src/controllers/utils/clone.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/document-status.d.ts +10 -0
- package/dist/server/src/controllers/utils/document-status.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/metadata.d.ts +23 -0
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/dimensions.d.ts +11 -0
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/index.d.ts +26 -0
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/model-configuration.d.ts +22 -0
- package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/relations.d.ts +19 -0
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
- package/dist/server/src/destroy.d.ts +4 -0
- package/dist/server/src/destroy.d.ts.map +1 -0
- package/dist/server/src/history/constants.d.ts +3 -0
- package/dist/server/src/history/constants.d.ts.map +1 -0
- package/dist/server/src/history/controllers/history-version.d.ts +13 -0
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -0
- package/dist/server/src/history/controllers/index.d.ts +3 -0
- package/dist/server/src/history/controllers/index.d.ts.map +1 -0
- package/dist/server/src/history/controllers/validation/history-version.d.ts +4 -0
- package/dist/server/src/history/controllers/validation/history-version.d.ts.map +1 -0
- package/dist/server/src/history/index.d.ts +4 -0
- package/dist/server/src/history/index.d.ts.map +1 -0
- package/dist/server/src/history/models/history-version.d.ts +4 -0
- package/dist/server/src/history/models/history-version.d.ts.map +1 -0
- package/dist/server/src/history/routes/history-version.d.ts +4 -0
- package/dist/server/src/history/routes/history-version.d.ts.map +1 -0
- package/dist/server/src/history/routes/index.d.ts +10 -0
- package/dist/server/src/history/routes/index.d.ts.map +1 -0
- package/dist/server/src/history/services/history.d.ts +14 -0
- package/dist/server/src/history/services/history.d.ts.map +1 -0
- package/dist/server/src/history/services/index.d.ts +19 -0
- package/dist/server/src/history/services/index.d.ts.map +1 -0
- package/dist/server/src/history/services/lifecycles.d.ts +9 -0
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -0
- package/dist/server/src/history/services/utils.d.ts +40 -0
- package/dist/server/src/history/services/utils.d.ts.map +1 -0
- package/dist/server/src/history/utils.d.ts +5 -0
- package/dist/server/src/history/utils.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts +7 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/index.d.ts +3 -0
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
- package/dist/server/src/homepage/index.d.ts +23 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/index.d.ts +10 -0
- package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage-query-utils.d.ts +28 -0
- package/dist/server/src/homepage/services/homepage-query-utils.d.ts.map +1 -0
- package/dist/server/src/homepage/services/homepage.d.ts +13 -0
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/services/index.d.ts +12 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +384 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/mcp/derive-content-type-mcp-tools.d.ts +12 -0
- package/dist/server/src/mcp/derive-content-type-mcp-tools.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/collection-handlers.d.ts +69 -0
- package/dist/server/src/mcp/handlers/collection-handlers.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/constants.d.ts +4 -0
- package/dist/server/src/mcp/handlers/constants.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/index.d.ts +3 -0
- package/dist/server/src/mcp/handlers/index.d.ts.map +1 -0
- package/dist/server/src/mcp/handlers/single-type-handlers.d.ts +66 -0
- package/dist/server/src/mcp/handlers/single-type-handlers.d.ts.map +1 -0
- package/dist/server/src/mcp/permissions.d.ts +49 -0
- package/dist/server/src/mcp/permissions.d.ts.map +1 -0
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts +9 -0
- package/dist/server/src/mcp/register-content-manager-mcp-tools.d.ts.map +1 -0
- package/dist/server/src/mcp/sanitizers/shape-relations.d.ts +38 -0
- package/dist/server/src/mcp/sanitizers/shape-relations.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/blocks-schema.d.ts +8 -0
- package/dist/server/src/mcp/schemas/blocks-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/data-schema.d.ts +33 -0
- package/dist/server/src/mcp/schemas/data-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/filters-schema.d.ts +22 -0
- package/dist/server/src/mcp/schemas/filters-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/index.d.ts +7 -0
- package/dist/server/src/mcp/schemas/index.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/input-schemas.d.ts +10 -0
- package/dist/server/src/mcp/schemas/input-schemas.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/output-schemas.d.ts +18 -0
- package/dist/server/src/mcp/schemas/output-schemas.d.ts.map +1 -0
- package/dist/server/src/mcp/schemas/sort-schema.d.ts +24 -0
- package/dist/server/src/mcp/schemas/sort-schema.d.ts.map +1 -0
- package/dist/server/src/mcp/types.d.ts +31 -0
- package/dist/server/src/mcp/types.d.ts.map +1 -0
- package/dist/server/src/mcp/utils.d.ts +41 -0
- package/dist/server/src/mcp/utils.d.ts.map +1 -0
- package/dist/server/src/middlewares/index.d.ts +3 -0
- package/dist/server/src/middlewares/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/routing.d.ts +4 -0
- package/dist/server/src/middlewares/routing.d.ts.map +1 -0
- package/dist/server/src/policies/hasPermissions.d.ts +7 -0
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/policies/index.d.ts +9 -0
- package/dist/server/src/policies/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/index.d.ts +3 -0
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/preview.d.ts +18 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts +5 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts +4 -0
- package/dist/server/src/preview/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/index.d.ts +10 -0
- package/dist/server/src/preview/routes/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/preview.d.ts +4 -0
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
- package/dist/server/src/preview/services/index.d.ts +17 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +31 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview.d.ts +12 -0
- package/dist/server/src/preview/services/preview.d.ts.map +1 -0
- package/dist/server/src/preview/utils.d.ts +5 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +4 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/admin.d.ts +41 -0
- package/dist/server/src/routes/admin.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +46 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/services/components.d.ts +38 -0
- package/dist/server/src/services/components.d.ts.map +1 -0
- package/dist/server/src/services/configuration.d.ts +20 -0
- package/dist/server/src/services/configuration.d.ts.map +1 -0
- package/dist/server/src/services/content-types.d.ts +18 -0
- package/dist/server/src/services/content-types.d.ts.map +1 -0
- package/dist/server/src/services/data-mapper.d.ts +21 -0
- package/dist/server/src/services/data-mapper.d.ts.map +1 -0
- package/dist/server/src/services/document-manager.d.ts +54 -0
- package/dist/server/src/services/document-manager.d.ts.map +1 -0
- package/dist/server/src/services/document-metadata.d.ts +87 -0
- package/dist/server/src/services/document-metadata.d.ts.map +1 -0
- package/dist/server/src/services/field-sizes.d.ts +19 -0
- package/dist/server/src/services/field-sizes.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +272 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/metrics.d.ts +9 -0
- package/dist/server/src/services/metrics.d.ts.map +1 -0
- package/dist/server/src/services/permission-checker.d.ts +46 -0
- package/dist/server/src/services/permission-checker.d.ts.map +1 -0
- package/dist/server/src/services/permission.d.ts +12 -0
- package/dist/server/src/services/permission.d.ts.map +1 -0
- package/dist/server/src/services/populate-builder.d.ts +39 -0
- package/dist/server/src/services/populate-builder.d.ts.map +1 -0
- package/dist/server/src/services/uid.d.ts +25 -0
- package/dist/server/src/services/uid.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/attributes.d.ts +17 -0
- package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/index.d.ts +21 -0
- package/dist/server/src/services/utils/configuration/index.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/layouts.d.ts +14 -0
- package/dist/server/src/services/utils/configuration/layouts.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/metadatas.d.ts +5 -0
- package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/settings.d.ts +5 -0
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -0
- package/dist/server/src/services/utils/count.d.ts +5 -0
- package/dist/server/src/services/utils/count.d.ts.map +1 -0
- package/dist/server/src/services/utils/draft-relations.d.ts +19 -0
- package/dist/server/src/services/utils/draft-relations.d.ts.map +1 -0
- package/dist/server/src/services/utils/draft.d.ts +12 -0
- package/dist/server/src/services/utils/draft.d.ts.map +1 -0
- package/dist/server/src/services/utils/populate.d.ts +48 -0
- package/dist/server/src/services/utils/populate.d.ts.map +1 -0
- package/dist/server/src/services/utils/store.d.ts +20 -0
- package/dist/server/src/services/utils/store.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +11 -0
- package/dist/server/src/utils/index.d.ts.map +1 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts +5 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/validation/zod.d.ts +34 -0
- package/dist/server/src/validation/zod.d.ts.map +1 -0
- package/dist/server/utils/index.js +10 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +8 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/validation/policies/hasPermissions.js +12 -0
- package/dist/server/validation/policies/hasPermissions.js.map +1 -0
- package/dist/server/validation/policies/hasPermissions.mjs +10 -0
- package/dist/server/validation/policies/hasPermissions.mjs.map +1 -0
- package/dist/server/validation/zod.js +60 -0
- package/dist/server/validation/zod.js.map +1 -0
- package/dist/server/validation/zod.mjs +56 -0
- package/dist/server/validation/zod.mjs.map +1 -0
- package/dist/shared/contracts/collection-types.d.ts +339 -0
- package/dist/shared/contracts/collection-types.d.ts.map +1 -0
- package/dist/shared/contracts/collection-types.js +3 -0
- package/dist/shared/contracts/collection-types.js.map +1 -0
- package/dist/shared/contracts/collection-types.mjs +2 -0
- package/dist/shared/contracts/collection-types.mjs.map +1 -0
- package/dist/shared/contracts/components.d.ts +64 -0
- package/dist/shared/contracts/components.d.ts.map +1 -0
- package/dist/shared/contracts/components.js +3 -0
- package/dist/shared/contracts/components.js.map +1 -0
- package/dist/shared/contracts/components.mjs +2 -0
- package/dist/shared/contracts/components.mjs.map +1 -0
- package/dist/shared/contracts/content-types.d.ts +114 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -0
- package/dist/shared/contracts/content-types.js +3 -0
- package/dist/shared/contracts/content-types.js.map +1 -0
- package/dist/shared/contracts/content-types.mjs +2 -0
- package/dist/shared/contracts/content-types.mjs.map +1 -0
- package/dist/shared/contracts/history-versions.d.ts +91 -0
- package/dist/shared/contracts/history-versions.d.ts.map +1 -0
- package/dist/shared/contracts/history-versions.js +3 -0
- package/dist/shared/contracts/history-versions.js.map +1 -0
- package/dist/shared/contracts/history-versions.mjs +2 -0
- package/dist/shared/contracts/history-versions.mjs.map +1 -0
- package/dist/shared/contracts/homepage.d.ts +38 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -0
- package/dist/shared/contracts/index.d.ts +10 -0
- package/dist/shared/contracts/index.d.ts.map +1 -0
- package/dist/shared/contracts/index.js +26 -0
- package/dist/shared/contracts/index.js.map +1 -0
- package/dist/shared/contracts/index.mjs +21 -0
- package/dist/shared/contracts/index.mjs.map +1 -0
- package/dist/shared/contracts/init.d.ts +23 -0
- package/dist/shared/contracts/init.d.ts.map +1 -0
- package/dist/shared/contracts/init.js +3 -0
- package/dist/shared/contracts/init.js.map +1 -0
- package/dist/shared/contracts/init.mjs +2 -0
- package/dist/shared/contracts/init.mjs.map +1 -0
- package/dist/shared/contracts/preview.d.ts +26 -0
- package/dist/shared/contracts/preview.d.ts.map +1 -0
- package/dist/shared/contracts/preview.js +3 -0
- package/dist/shared/contracts/preview.js.map +1 -0
- package/dist/shared/contracts/preview.mjs +2 -0
- package/dist/shared/contracts/preview.mjs.map +1 -0
- package/dist/shared/contracts/relations.d.ts +69 -0
- package/dist/shared/contracts/relations.d.ts.map +1 -0
- package/dist/shared/contracts/relations.js +3 -0
- package/dist/shared/contracts/relations.js.map +1 -0
- package/dist/shared/contracts/relations.mjs +2 -0
- package/dist/shared/contracts/relations.mjs.map +1 -0
- package/dist/shared/contracts/review-workflows.d.ts +77 -0
- package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
- package/dist/shared/contracts/review-workflows.js +3 -0
- package/dist/shared/contracts/review-workflows.js.map +1 -0
- package/dist/shared/contracts/review-workflows.mjs +2 -0
- package/dist/shared/contracts/review-workflows.mjs.map +1 -0
- package/dist/shared/contracts/single-types.d.ts +115 -0
- package/dist/shared/contracts/single-types.d.ts.map +1 -0
- package/dist/shared/contracts/single-types.js +3 -0
- package/dist/shared/contracts/single-types.js.map +1 -0
- package/dist/shared/contracts/single-types.mjs +2 -0
- package/dist/shared/contracts/single-types.mjs.map +1 -0
- package/dist/shared/contracts/uid.d.ts +47 -0
- package/dist/shared/contracts/uid.d.ts.map +1 -0
- package/dist/shared/contracts/uid.js +3 -0
- package/dist/shared/contracts/uid.js.map +1 -0
- package/dist/shared/contracts/uid.mjs +2 -0
- package/dist/shared/contracts/uid.mjs.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +8 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/index.mjs +3 -0
- package/dist/shared/index.mjs.map +1 -0
- package/package.json +119 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var strapiUtils = require('@strapi/utils');
|
|
4
|
+
var shapeRelations = require('../sanitizers/shape-relations.js');
|
|
5
|
+
|
|
6
|
+
const relationIdentity = strapiUtils.z.object({
|
|
7
|
+
documentId: strapiUtils.z.string(),
|
|
8
|
+
locale: strapiUtils.z.string().optional(),
|
|
9
|
+
__type: strapiUtils.z.string().optional(),
|
|
10
|
+
// Computed publish status preserved on `localizations` entries (calculate, then strip).
|
|
11
|
+
status: strapiUtils.z.string().optional()
|
|
12
|
+
});
|
|
13
|
+
const buildAttributeSchema = (key, attributes)=>{
|
|
14
|
+
const attribute = attributes[key];
|
|
15
|
+
if (attribute?.type !== 'relation') {
|
|
16
|
+
return strapiUtils.z.unknown().optional();
|
|
17
|
+
}
|
|
18
|
+
// admin::user relations are out of scope — left as unknown
|
|
19
|
+
if (attribute.target === 'admin::user') {
|
|
20
|
+
return strapiUtils.z.unknown().optional();
|
|
21
|
+
}
|
|
22
|
+
// Must match the runtime shaping cardinality (shape-relations.ts) — the MCP SDK
|
|
23
|
+
// validates structuredContent against this schema, so a mismatch fails the tool call.
|
|
24
|
+
if (shapeRelations.isManyRelationForMcp(attribute)) {
|
|
25
|
+
return strapiUtils.z.array(relationIdentity).optional();
|
|
26
|
+
}
|
|
27
|
+
return relationIdentity.nullable().optional();
|
|
28
|
+
};
|
|
29
|
+
const buildOutputDataSchema = (attributes, permittedFields)=>{
|
|
30
|
+
const readableKeys = Object.keys(attributes).filter((key)=>permittedFields === null || permittedFields.has(key));
|
|
31
|
+
if (readableKeys.length === 0) {
|
|
32
|
+
return strapiUtils.z.record(strapiUtils.z.string(), strapiUtils.z.unknown());
|
|
33
|
+
}
|
|
34
|
+
const shape = Object.fromEntries(readableKeys.map((key)=>[
|
|
35
|
+
key,
|
|
36
|
+
buildAttributeSchema(key, attributes)
|
|
37
|
+
]));
|
|
38
|
+
return strapiUtils.z.object(shape).loose();
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Builds the MCP output schema for a single-document response (`{ data, meta }`).
|
|
42
|
+
* Field shape is constrained to `readFields` when non-null (RBAC field filtering).
|
|
43
|
+
*/ const buildDocumentOutputSchema = (attributes, readFields)=>strapiUtils.z.object({
|
|
44
|
+
data: buildOutputDataSchema(attributes, readFields).nullable(),
|
|
45
|
+
meta: strapiUtils.z.object({
|
|
46
|
+
availableLocales: strapiUtils.z.array(strapiUtils.z.record(strapiUtils.z.string(), strapiUtils.z.unknown())).optional(),
|
|
47
|
+
availableStatus: strapiUtils.z.array(strapiUtils.z.record(strapiUtils.z.string(), strapiUtils.z.unknown())).optional()
|
|
48
|
+
}).optional()
|
|
49
|
+
}).loose();
|
|
50
|
+
/**
|
|
51
|
+
* Builds the MCP output schema for a paginated list response (`{ results, pagination }`).
|
|
52
|
+
* Field shape is constrained to `readFields` when non-null (RBAC field filtering).
|
|
53
|
+
*/ const buildListOutputSchema = (attributes, readFields)=>strapiUtils.z.object({
|
|
54
|
+
results: strapiUtils.z.array(buildOutputDataSchema(attributes, readFields)),
|
|
55
|
+
pagination: strapiUtils.z.object({
|
|
56
|
+
page: strapiUtils.z.number(),
|
|
57
|
+
pageSize: strapiUtils.z.number(),
|
|
58
|
+
pageCount: strapiUtils.z.number(),
|
|
59
|
+
total: strapiUtils.z.number()
|
|
60
|
+
})
|
|
61
|
+
}).loose();
|
|
62
|
+
/**
|
|
63
|
+
* Builds the MCP output schema for a delete response (`{ data }`).
|
|
64
|
+
* Delete handlers return an empty data object, so do not require document relation fields.
|
|
65
|
+
*/ const buildDeleteOutputSchema = (// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
|
+
_attributes, // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
67
|
+
_readFields)=>strapiUtils.z.object({
|
|
68
|
+
data: strapiUtils.z.object({}).loose().nullable()
|
|
69
|
+
}).loose();
|
|
70
|
+
|
|
71
|
+
exports.buildDeleteOutputSchema = buildDeleteOutputSchema;
|
|
72
|
+
exports.buildDocumentOutputSchema = buildDocumentOutputSchema;
|
|
73
|
+
exports.buildListOutputSchema = buildListOutputSchema;
|
|
74
|
+
//# sourceMappingURL=output-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schemas.js","sources":["../../../../server/src/mcp/schemas/output-schemas.ts"],"sourcesContent":["import { z } from '@strapi/utils';\r\nimport type { Struct } from '@strapi/types';\r\n\r\nimport { isManyRelationForMcp } from '../sanitizers/shape-relations';\r\n\r\nconst relationIdentity = z.object({\r\n documentId: z.string(),\r\n locale: z.string().optional(),\r\n __type: z.string().optional(),\r\n // Computed publish status preserved on `localizations` entries (calculate, then strip).\r\n status: z.string().optional(),\r\n});\r\n\r\nconst buildAttributeSchema = (key: string, attributes: Struct.SchemaAttributes): z.ZodTypeAny => {\r\n const attribute = attributes[key];\r\n\r\n if (attribute?.type !== 'relation') {\r\n return z.unknown().optional();\r\n }\r\n\r\n // admin::user relations are out of scope — left as unknown\r\n if ((attribute as { target?: string }).target === 'admin::user') {\r\n return z.unknown().optional();\r\n }\r\n\r\n // Must match the runtime shaping cardinality (shape-relations.ts) — the MCP SDK\r\n // validates structuredContent against this schema, so a mismatch fails the tool call.\r\n if (isManyRelationForMcp(attribute as { relation?: string })) {\r\n return z.array(relationIdentity).optional();\r\n }\r\n\r\n return relationIdentity.nullable().optional();\r\n};\r\n\r\nconst buildOutputDataSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n permittedFields: Set<string> | null\r\n): z.ZodTypeAny => {\r\n const readableKeys = Object.keys(attributes).filter(\r\n (key) => permittedFields === null || permittedFields.has(key)\r\n );\r\n\r\n if (readableKeys.length === 0) {\r\n return z.record(z.string(), z.unknown());\r\n }\r\n\r\n const shape = Object.fromEntries(\r\n readableKeys.map((key) => [key, buildAttributeSchema(key, attributes)])\r\n );\r\n\r\n return z.object(shape).loose();\r\n};\r\n\r\n/**\r\n * Builds the MCP output schema for a single-document response (`{ data, meta }`).\r\n * Field shape is constrained to `readFields` when non-null (RBAC field filtering).\r\n */\r\nexport const buildDocumentOutputSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n readFields: Set<string> | null\r\n): z.ZodObject<z.ZodRawShape> =>\r\n z\r\n .object({\r\n data: buildOutputDataSchema(attributes, readFields).nullable(),\r\n meta: z\r\n .object({\r\n availableLocales: z.array(z.record(z.string(), z.unknown())).optional(),\r\n availableStatus: z.array(z.record(z.string(), z.unknown())).optional(),\r\n })\r\n .optional(),\r\n })\r\n .loose();\r\n\r\n/**\r\n * Builds the MCP output schema for a paginated list response (`{ results, pagination }`).\r\n * Field shape is constrained to `readFields` when non-null (RBAC field filtering).\r\n */\r\nexport const buildListOutputSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n readFields: Set<string> | null\r\n): z.ZodObject<z.ZodRawShape> =>\r\n z\r\n .object({\r\n results: z.array(buildOutputDataSchema(attributes, readFields)),\r\n pagination: z.object({\r\n page: z.number(),\r\n pageSize: z.number(),\r\n pageCount: z.number(),\r\n total: z.number(),\r\n }),\r\n })\r\n .loose();\r\n\r\n/**\r\n * Builds the MCP output schema for a delete response (`{ data }`).\r\n * Delete handlers return an empty data object, so do not require document relation fields.\r\n */\r\nexport const buildDeleteOutputSchema = (\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n _attributes: Struct.SchemaAttributes,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n _readFields: Set<string> | null\r\n): z.ZodObject<z.ZodRawShape> =>\r\n z\r\n .object({\r\n data: z.object({}).loose().nullable(),\r\n })\r\n .loose();\r\n"],"names":["relationIdentity","z","object","documentId","string","locale","optional","__type","status","buildAttributeSchema","key","attributes","attribute","type","unknown","target","isManyRelationForMcp","array","nullable","buildOutputDataSchema","permittedFields","readableKeys","Object","keys","filter","has","length","record","shape","fromEntries","map","loose","buildDocumentOutputSchema","readFields","data","meta","availableLocales","availableStatus","buildListOutputSchema","results","pagination","page","number","pageSize","pageCount","total","buildDeleteOutputSchema","_attributes","_readFields"],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from '@strapi/utils';
|
|
2
|
+
import { isManyRelationForMcp } from '../sanitizers/shape-relations.mjs';
|
|
3
|
+
|
|
4
|
+
const relationIdentity = z.object({
|
|
5
|
+
documentId: z.string(),
|
|
6
|
+
locale: z.string().optional(),
|
|
7
|
+
__type: z.string().optional(),
|
|
8
|
+
// Computed publish status preserved on `localizations` entries (calculate, then strip).
|
|
9
|
+
status: z.string().optional()
|
|
10
|
+
});
|
|
11
|
+
const buildAttributeSchema = (key, attributes)=>{
|
|
12
|
+
const attribute = attributes[key];
|
|
13
|
+
if (attribute?.type !== 'relation') {
|
|
14
|
+
return z.unknown().optional();
|
|
15
|
+
}
|
|
16
|
+
// admin::user relations are out of scope — left as unknown
|
|
17
|
+
if (attribute.target === 'admin::user') {
|
|
18
|
+
return z.unknown().optional();
|
|
19
|
+
}
|
|
20
|
+
// Must match the runtime shaping cardinality (shape-relations.ts) — the MCP SDK
|
|
21
|
+
// validates structuredContent against this schema, so a mismatch fails the tool call.
|
|
22
|
+
if (isManyRelationForMcp(attribute)) {
|
|
23
|
+
return z.array(relationIdentity).optional();
|
|
24
|
+
}
|
|
25
|
+
return relationIdentity.nullable().optional();
|
|
26
|
+
};
|
|
27
|
+
const buildOutputDataSchema = (attributes, permittedFields)=>{
|
|
28
|
+
const readableKeys = Object.keys(attributes).filter((key)=>permittedFields === null || permittedFields.has(key));
|
|
29
|
+
if (readableKeys.length === 0) {
|
|
30
|
+
return z.record(z.string(), z.unknown());
|
|
31
|
+
}
|
|
32
|
+
const shape = Object.fromEntries(readableKeys.map((key)=>[
|
|
33
|
+
key,
|
|
34
|
+
buildAttributeSchema(key, attributes)
|
|
35
|
+
]));
|
|
36
|
+
return z.object(shape).loose();
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Builds the MCP output schema for a single-document response (`{ data, meta }`).
|
|
40
|
+
* Field shape is constrained to `readFields` when non-null (RBAC field filtering).
|
|
41
|
+
*/ const buildDocumentOutputSchema = (attributes, readFields)=>z.object({
|
|
42
|
+
data: buildOutputDataSchema(attributes, readFields).nullable(),
|
|
43
|
+
meta: z.object({
|
|
44
|
+
availableLocales: z.array(z.record(z.string(), z.unknown())).optional(),
|
|
45
|
+
availableStatus: z.array(z.record(z.string(), z.unknown())).optional()
|
|
46
|
+
}).optional()
|
|
47
|
+
}).loose();
|
|
48
|
+
/**
|
|
49
|
+
* Builds the MCP output schema for a paginated list response (`{ results, pagination }`).
|
|
50
|
+
* Field shape is constrained to `readFields` when non-null (RBAC field filtering).
|
|
51
|
+
*/ const buildListOutputSchema = (attributes, readFields)=>z.object({
|
|
52
|
+
results: z.array(buildOutputDataSchema(attributes, readFields)),
|
|
53
|
+
pagination: z.object({
|
|
54
|
+
page: z.number(),
|
|
55
|
+
pageSize: z.number(),
|
|
56
|
+
pageCount: z.number(),
|
|
57
|
+
total: z.number()
|
|
58
|
+
})
|
|
59
|
+
}).loose();
|
|
60
|
+
/**
|
|
61
|
+
* Builds the MCP output schema for a delete response (`{ data }`).
|
|
62
|
+
* Delete handlers return an empty data object, so do not require document relation fields.
|
|
63
|
+
*/ const buildDeleteOutputSchema = (// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
64
|
+
_attributes, // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
65
|
+
_readFields)=>z.object({
|
|
66
|
+
data: z.object({}).loose().nullable()
|
|
67
|
+
}).loose();
|
|
68
|
+
|
|
69
|
+
export { buildDeleteOutputSchema, buildDocumentOutputSchema, buildListOutputSchema };
|
|
70
|
+
//# sourceMappingURL=output-schemas.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schemas.mjs","sources":["../../../../server/src/mcp/schemas/output-schemas.ts"],"sourcesContent":["import { z } from '@strapi/utils';\r\nimport type { Struct } from '@strapi/types';\r\n\r\nimport { isManyRelationForMcp } from '../sanitizers/shape-relations';\r\n\r\nconst relationIdentity = z.object({\r\n documentId: z.string(),\r\n locale: z.string().optional(),\r\n __type: z.string().optional(),\r\n // Computed publish status preserved on `localizations` entries (calculate, then strip).\r\n status: z.string().optional(),\r\n});\r\n\r\nconst buildAttributeSchema = (key: string, attributes: Struct.SchemaAttributes): z.ZodTypeAny => {\r\n const attribute = attributes[key];\r\n\r\n if (attribute?.type !== 'relation') {\r\n return z.unknown().optional();\r\n }\r\n\r\n // admin::user relations are out of scope — left as unknown\r\n if ((attribute as { target?: string }).target === 'admin::user') {\r\n return z.unknown().optional();\r\n }\r\n\r\n // Must match the runtime shaping cardinality (shape-relations.ts) — the MCP SDK\r\n // validates structuredContent against this schema, so a mismatch fails the tool call.\r\n if (isManyRelationForMcp(attribute as { relation?: string })) {\r\n return z.array(relationIdentity).optional();\r\n }\r\n\r\n return relationIdentity.nullable().optional();\r\n};\r\n\r\nconst buildOutputDataSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n permittedFields: Set<string> | null\r\n): z.ZodTypeAny => {\r\n const readableKeys = Object.keys(attributes).filter(\r\n (key) => permittedFields === null || permittedFields.has(key)\r\n );\r\n\r\n if (readableKeys.length === 0) {\r\n return z.record(z.string(), z.unknown());\r\n }\r\n\r\n const shape = Object.fromEntries(\r\n readableKeys.map((key) => [key, buildAttributeSchema(key, attributes)])\r\n );\r\n\r\n return z.object(shape).loose();\r\n};\r\n\r\n/**\r\n * Builds the MCP output schema for a single-document response (`{ data, meta }`).\r\n * Field shape is constrained to `readFields` when non-null (RBAC field filtering).\r\n */\r\nexport const buildDocumentOutputSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n readFields: Set<string> | null\r\n): z.ZodObject<z.ZodRawShape> =>\r\n z\r\n .object({\r\n data: buildOutputDataSchema(attributes, readFields).nullable(),\r\n meta: z\r\n .object({\r\n availableLocales: z.array(z.record(z.string(), z.unknown())).optional(),\r\n availableStatus: z.array(z.record(z.string(), z.unknown())).optional(),\r\n })\r\n .optional(),\r\n })\r\n .loose();\r\n\r\n/**\r\n * Builds the MCP output schema for a paginated list response (`{ results, pagination }`).\r\n * Field shape is constrained to `readFields` when non-null (RBAC field filtering).\r\n */\r\nexport const buildListOutputSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n readFields: Set<string> | null\r\n): z.ZodObject<z.ZodRawShape> =>\r\n z\r\n .object({\r\n results: z.array(buildOutputDataSchema(attributes, readFields)),\r\n pagination: z.object({\r\n page: z.number(),\r\n pageSize: z.number(),\r\n pageCount: z.number(),\r\n total: z.number(),\r\n }),\r\n })\r\n .loose();\r\n\r\n/**\r\n * Builds the MCP output schema for a delete response (`{ data }`).\r\n * Delete handlers return an empty data object, so do not require document relation fields.\r\n */\r\nexport const buildDeleteOutputSchema = (\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n _attributes: Struct.SchemaAttributes,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n _readFields: Set<string> | null\r\n): z.ZodObject<z.ZodRawShape> =>\r\n z\r\n .object({\r\n data: z.object({}).loose().nullable(),\r\n })\r\n .loose();\r\n"],"names":["relationIdentity","z","object","documentId","string","locale","optional","__type","status","buildAttributeSchema","key","attributes","attribute","type","unknown","target","isManyRelationForMcp","array","nullable","buildOutputDataSchema","permittedFields","readableKeys","Object","keys","filter","has","length","record","shape","fromEntries","map","loose","buildDocumentOutputSchema","readFields","data","meta","availableLocales","availableStatus","buildListOutputSchema","results","pagination","page","number","pageSize","pageCount","total","buildDeleteOutputSchema","_attributes","_readFields"],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var strapiUtils = require('@strapi/utils');
|
|
4
|
+
|
|
5
|
+
/** Attribute types considered scalar for sorting and filtering (excludes relations, components, media, json, blocks). */ const SCALAR_ATTRIBUTE_TYPES = new Set([
|
|
6
|
+
'string',
|
|
7
|
+
'text',
|
|
8
|
+
'richtext',
|
|
9
|
+
'email',
|
|
10
|
+
'password',
|
|
11
|
+
'uid',
|
|
12
|
+
'integer',
|
|
13
|
+
'biginteger',
|
|
14
|
+
'decimal',
|
|
15
|
+
'float',
|
|
16
|
+
'boolean',
|
|
17
|
+
'date',
|
|
18
|
+
'datetime',
|
|
19
|
+
'time',
|
|
20
|
+
'timestamp',
|
|
21
|
+
'enumeration'
|
|
22
|
+
]);
|
|
23
|
+
/**
|
|
24
|
+
* Returns the list of scalar attribute keys from a content type's attributes.
|
|
25
|
+
* Relation, component, dynamiczone, media, json, and blocks are excluded because
|
|
26
|
+
* they cannot be meaningfully sorted or filtered via simple operators.
|
|
27
|
+
*/ const getScalarAttributeKeys = (attributes, permittedFields)=>{
|
|
28
|
+
let keys = Object.entries(attributes).filter(([, attr])=>SCALAR_ATTRIBUTE_TYPES.has(attr.type) && attr.private !== true).map(([key])=>key);
|
|
29
|
+
if (permittedFields !== null && permittedFields !== undefined) {
|
|
30
|
+
keys = keys.filter((key)=>permittedFields.has(key));
|
|
31
|
+
}
|
|
32
|
+
return keys;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Builds a per-content-type sort Zod schema constrained to the model's scalar fields.
|
|
36
|
+
*
|
|
37
|
+
* Supports all four Strapi sort notations:
|
|
38
|
+
* - string: "title:asc"
|
|
39
|
+
* - string[]: ["title:asc", "createdAt:desc"]
|
|
40
|
+
* - object: { title: "asc" }
|
|
41
|
+
* - object[]: [{ title: "asc" }, { createdAt: "desc" }]
|
|
42
|
+
*
|
|
43
|
+
* Object forms have their keys constrained to known scalar attribute names.
|
|
44
|
+
* If the model has no scalar attributes, the schema is z.never() (sort not allowed).
|
|
45
|
+
*/ const buildSortSchema = (attributes, permittedFields)=>{
|
|
46
|
+
const scalarKeys = getScalarAttributeKeys(attributes, permittedFields);
|
|
47
|
+
if (scalarKeys.length === 0) {
|
|
48
|
+
return strapiUtils.z.never();
|
|
49
|
+
}
|
|
50
|
+
const directionSchema = strapiUtils.z.enum([
|
|
51
|
+
'asc',
|
|
52
|
+
'desc'
|
|
53
|
+
]);
|
|
54
|
+
const sortObjectSchema = strapiUtils.z.object(Object.fromEntries(scalarKeys.map((key)=>[
|
|
55
|
+
key,
|
|
56
|
+
directionSchema.optional()
|
|
57
|
+
]))).strict();
|
|
58
|
+
const sortStringPattern = /^([^:]+):(asc|desc)$/;
|
|
59
|
+
const isPermittedSortString = (value)=>{
|
|
60
|
+
const match = sortStringPattern.exec(value);
|
|
61
|
+
if (match === null) {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
return scalarKeys.includes(match[1]);
|
|
65
|
+
};
|
|
66
|
+
const stringSortSchema = strapiUtils.z.string().refine(isPermittedSortString, {
|
|
67
|
+
message: `Sort field must be one of: ${scalarKeys.join(', ')}`
|
|
68
|
+
});
|
|
69
|
+
return strapiUtils.z.union([
|
|
70
|
+
stringSortSchema,
|
|
71
|
+
strapiUtils.z.array(stringSortSchema),
|
|
72
|
+
sortObjectSchema,
|
|
73
|
+
strapiUtils.z.array(sortObjectSchema)
|
|
74
|
+
]).optional().describe(`Sort expression. String: "field:asc". Array: ["field:asc"]. Object: { field: "asc" }. ` + `Valid fields: ${scalarKeys.join(', ')}.`);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
exports.SCALAR_ATTRIBUTE_TYPES = SCALAR_ATTRIBUTE_TYPES;
|
|
78
|
+
exports.buildSortSchema = buildSortSchema;
|
|
79
|
+
exports.getScalarAttributeKeys = getScalarAttributeKeys;
|
|
80
|
+
//# sourceMappingURL=sort-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-schema.js","sources":["../../../../server/src/mcp/schemas/sort-schema.ts"],"sourcesContent":["import { z } from '@strapi/utils';\r\nimport type { Struct } from '@strapi/types';\r\n\r\n/** Attribute types considered scalar for sorting and filtering (excludes relations, components, media, json, blocks). */\r\nexport const SCALAR_ATTRIBUTE_TYPES = new Set([\r\n 'string',\r\n 'text',\r\n 'richtext',\r\n 'email',\r\n 'password',\r\n 'uid',\r\n 'integer',\r\n 'biginteger',\r\n 'decimal',\r\n 'float',\r\n 'boolean',\r\n 'date',\r\n 'datetime',\r\n 'time',\r\n 'timestamp',\r\n 'enumeration',\r\n]);\r\n\r\n/**\r\n * Returns the list of scalar attribute keys from a content type's attributes.\r\n * Relation, component, dynamiczone, media, json, and blocks are excluded because\r\n * they cannot be meaningfully sorted or filtered via simple operators.\r\n */\r\nexport const getScalarAttributeKeys = (\r\n attributes: Struct.SchemaAttributes,\r\n permittedFields?: Set<string> | null\r\n): string[] => {\r\n let keys = Object.entries(attributes)\r\n .filter(\r\n ([, attr]) =>\r\n SCALAR_ATTRIBUTE_TYPES.has(attr.type) && (attr as { private?: boolean }).private !== true\r\n )\r\n .map(([key]) => key);\r\n\r\n if (permittedFields !== null && permittedFields !== undefined) {\r\n keys = keys.filter((key) => permittedFields.has(key));\r\n }\r\n\r\n return keys;\r\n};\r\n\r\n/**\r\n * Builds a per-content-type sort Zod schema constrained to the model's scalar fields.\r\n *\r\n * Supports all four Strapi sort notations:\r\n * - string: \"title:asc\"\r\n * - string[]: [\"title:asc\", \"createdAt:desc\"]\r\n * - object: { title: \"asc\" }\r\n * - object[]: [{ title: \"asc\" }, { createdAt: \"desc\" }]\r\n *\r\n * Object forms have their keys constrained to known scalar attribute names.\r\n * If the model has no scalar attributes, the schema is z.never() (sort not allowed).\r\n */\r\nexport const buildSortSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n permittedFields?: Set<string> | null\r\n): z.ZodTypeAny => {\r\n const scalarKeys = getScalarAttributeKeys(attributes, permittedFields);\r\n\r\n if (scalarKeys.length === 0) {\r\n return z.never();\r\n }\r\n\r\n const directionSchema = z.enum(['asc', 'desc']);\r\n const sortObjectSchema = z\r\n .object(Object.fromEntries(scalarKeys.map((key) => [key, directionSchema.optional()])))\r\n .strict();\r\n\r\n const sortStringPattern = /^([^:]+):(asc|desc)$/;\r\n const isPermittedSortString = (value: string): boolean => {\r\n const match = sortStringPattern.exec(value);\r\n if (match === null) {\r\n return true;\r\n }\r\n return scalarKeys.includes(match[1]);\r\n };\r\n\r\n const stringSortSchema = z.string().refine(isPermittedSortString, {\r\n message: `Sort field must be one of: ${scalarKeys.join(', ')}`,\r\n });\r\n\r\n return z\r\n .union([\r\n stringSortSchema,\r\n z.array(stringSortSchema),\r\n sortObjectSchema,\r\n z.array(sortObjectSchema),\r\n ])\r\n .optional()\r\n .describe(\r\n `Sort expression. String: \"field:asc\". Array: [\"field:asc\"]. Object: { field: \"asc\" }. ` +\r\n `Valid fields: ${scalarKeys.join(', ')}.`\r\n );\r\n};\r\n"],"names":["SCALAR_ATTRIBUTE_TYPES","Set","getScalarAttributeKeys","attributes","permittedFields","keys","Object","entries","filter","attr","has","type","private","map","key","undefined","buildSortSchema","scalarKeys","length","z","never","directionSchema","enum","sortObjectSchema","object","fromEntries","optional","strict","sortStringPattern","isPermittedSortString","value","match","exec","includes","stringSortSchema","string","refine","message","join","union","array","describe"],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { z } from '@strapi/utils';
|
|
2
|
+
|
|
3
|
+
/** Attribute types considered scalar for sorting and filtering (excludes relations, components, media, json, blocks). */ const SCALAR_ATTRIBUTE_TYPES = new Set([
|
|
4
|
+
'string',
|
|
5
|
+
'text',
|
|
6
|
+
'richtext',
|
|
7
|
+
'email',
|
|
8
|
+
'password',
|
|
9
|
+
'uid',
|
|
10
|
+
'integer',
|
|
11
|
+
'biginteger',
|
|
12
|
+
'decimal',
|
|
13
|
+
'float',
|
|
14
|
+
'boolean',
|
|
15
|
+
'date',
|
|
16
|
+
'datetime',
|
|
17
|
+
'time',
|
|
18
|
+
'timestamp',
|
|
19
|
+
'enumeration'
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Returns the list of scalar attribute keys from a content type's attributes.
|
|
23
|
+
* Relation, component, dynamiczone, media, json, and blocks are excluded because
|
|
24
|
+
* they cannot be meaningfully sorted or filtered via simple operators.
|
|
25
|
+
*/ const getScalarAttributeKeys = (attributes, permittedFields)=>{
|
|
26
|
+
let keys = Object.entries(attributes).filter(([, attr])=>SCALAR_ATTRIBUTE_TYPES.has(attr.type) && attr.private !== true).map(([key])=>key);
|
|
27
|
+
if (permittedFields !== null && permittedFields !== undefined) {
|
|
28
|
+
keys = keys.filter((key)=>permittedFields.has(key));
|
|
29
|
+
}
|
|
30
|
+
return keys;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Builds a per-content-type sort Zod schema constrained to the model's scalar fields.
|
|
34
|
+
*
|
|
35
|
+
* Supports all four Strapi sort notations:
|
|
36
|
+
* - string: "title:asc"
|
|
37
|
+
* - string[]: ["title:asc", "createdAt:desc"]
|
|
38
|
+
* - object: { title: "asc" }
|
|
39
|
+
* - object[]: [{ title: "asc" }, { createdAt: "desc" }]
|
|
40
|
+
*
|
|
41
|
+
* Object forms have their keys constrained to known scalar attribute names.
|
|
42
|
+
* If the model has no scalar attributes, the schema is z.never() (sort not allowed).
|
|
43
|
+
*/ const buildSortSchema = (attributes, permittedFields)=>{
|
|
44
|
+
const scalarKeys = getScalarAttributeKeys(attributes, permittedFields);
|
|
45
|
+
if (scalarKeys.length === 0) {
|
|
46
|
+
return z.never();
|
|
47
|
+
}
|
|
48
|
+
const directionSchema = z.enum([
|
|
49
|
+
'asc',
|
|
50
|
+
'desc'
|
|
51
|
+
]);
|
|
52
|
+
const sortObjectSchema = z.object(Object.fromEntries(scalarKeys.map((key)=>[
|
|
53
|
+
key,
|
|
54
|
+
directionSchema.optional()
|
|
55
|
+
]))).strict();
|
|
56
|
+
const sortStringPattern = /^([^:]+):(asc|desc)$/;
|
|
57
|
+
const isPermittedSortString = (value)=>{
|
|
58
|
+
const match = sortStringPattern.exec(value);
|
|
59
|
+
if (match === null) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
return scalarKeys.includes(match[1]);
|
|
63
|
+
};
|
|
64
|
+
const stringSortSchema = z.string().refine(isPermittedSortString, {
|
|
65
|
+
message: `Sort field must be one of: ${scalarKeys.join(', ')}`
|
|
66
|
+
});
|
|
67
|
+
return z.union([
|
|
68
|
+
stringSortSchema,
|
|
69
|
+
z.array(stringSortSchema),
|
|
70
|
+
sortObjectSchema,
|
|
71
|
+
z.array(sortObjectSchema)
|
|
72
|
+
]).optional().describe(`Sort expression. String: "field:asc". Array: ["field:asc"]. Object: { field: "asc" }. ` + `Valid fields: ${scalarKeys.join(', ')}.`);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export { SCALAR_ATTRIBUTE_TYPES, buildSortSchema, getScalarAttributeKeys };
|
|
76
|
+
//# sourceMappingURL=sort-schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-schema.mjs","sources":["../../../../server/src/mcp/schemas/sort-schema.ts"],"sourcesContent":["import { z } from '@strapi/utils';\r\nimport type { Struct } from '@strapi/types';\r\n\r\n/** Attribute types considered scalar for sorting and filtering (excludes relations, components, media, json, blocks). */\r\nexport const SCALAR_ATTRIBUTE_TYPES = new Set([\r\n 'string',\r\n 'text',\r\n 'richtext',\r\n 'email',\r\n 'password',\r\n 'uid',\r\n 'integer',\r\n 'biginteger',\r\n 'decimal',\r\n 'float',\r\n 'boolean',\r\n 'date',\r\n 'datetime',\r\n 'time',\r\n 'timestamp',\r\n 'enumeration',\r\n]);\r\n\r\n/**\r\n * Returns the list of scalar attribute keys from a content type's attributes.\r\n * Relation, component, dynamiczone, media, json, and blocks are excluded because\r\n * they cannot be meaningfully sorted or filtered via simple operators.\r\n */\r\nexport const getScalarAttributeKeys = (\r\n attributes: Struct.SchemaAttributes,\r\n permittedFields?: Set<string> | null\r\n): string[] => {\r\n let keys = Object.entries(attributes)\r\n .filter(\r\n ([, attr]) =>\r\n SCALAR_ATTRIBUTE_TYPES.has(attr.type) && (attr as { private?: boolean }).private !== true\r\n )\r\n .map(([key]) => key);\r\n\r\n if (permittedFields !== null && permittedFields !== undefined) {\r\n keys = keys.filter((key) => permittedFields.has(key));\r\n }\r\n\r\n return keys;\r\n};\r\n\r\n/**\r\n * Builds a per-content-type sort Zod schema constrained to the model's scalar fields.\r\n *\r\n * Supports all four Strapi sort notations:\r\n * - string: \"title:asc\"\r\n * - string[]: [\"title:asc\", \"createdAt:desc\"]\r\n * - object: { title: \"asc\" }\r\n * - object[]: [{ title: \"asc\" }, { createdAt: \"desc\" }]\r\n *\r\n * Object forms have their keys constrained to known scalar attribute names.\r\n * If the model has no scalar attributes, the schema is z.never() (sort not allowed).\r\n */\r\nexport const buildSortSchema = (\r\n attributes: Struct.SchemaAttributes,\r\n permittedFields?: Set<string> | null\r\n): z.ZodTypeAny => {\r\n const scalarKeys = getScalarAttributeKeys(attributes, permittedFields);\r\n\r\n if (scalarKeys.length === 0) {\r\n return z.never();\r\n }\r\n\r\n const directionSchema = z.enum(['asc', 'desc']);\r\n const sortObjectSchema = z\r\n .object(Object.fromEntries(scalarKeys.map((key) => [key, directionSchema.optional()])))\r\n .strict();\r\n\r\n const sortStringPattern = /^([^:]+):(asc|desc)$/;\r\n const isPermittedSortString = (value: string): boolean => {\r\n const match = sortStringPattern.exec(value);\r\n if (match === null) {\r\n return true;\r\n }\r\n return scalarKeys.includes(match[1]);\r\n };\r\n\r\n const stringSortSchema = z.string().refine(isPermittedSortString, {\r\n message: `Sort field must be one of: ${scalarKeys.join(', ')}`,\r\n });\r\n\r\n return z\r\n .union([\r\n stringSortSchema,\r\n z.array(stringSortSchema),\r\n sortObjectSchema,\r\n z.array(sortObjectSchema),\r\n ])\r\n .optional()\r\n .describe(\r\n `Sort expression. String: \"field:asc\". Array: [\"field:asc\"]. Object: { field: \"asc\" }. ` +\r\n `Valid fields: ${scalarKeys.join(', ')}.`\r\n );\r\n};\r\n"],"names":["SCALAR_ATTRIBUTE_TYPES","Set","getScalarAttributeKeys","attributes","permittedFields","keys","Object","entries","filter","attr","has","type","private","map","key","undefined","buildSortSchema","scalarKeys","length","z","never","directionSchema","enum","sortObjectSchema","object","fromEntries","optional","strict","sortStringPattern","isPermittedSortString","value","match","exec","includes","stringSortSchema","string","refine","message","join","union","array","describe"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var metadata = require('../controllers/utils/metadata.js');
|
|
4
|
+
var shapeRelations = require('./sanitizers/shape-relations.js');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Converts a Strapi content-type UID into a safe MCP tool-name segment.
|
|
8
|
+
* `api::article.article` → `article`; `api::writer.editor` → `writer_editor` (the api name and the
|
|
9
|
+
* content-type name differ, so both are kept to stay unique within the api);
|
|
10
|
+
* `plugin::i18n.locale` → `plugin-i18n_locale`.
|
|
11
|
+
*/ const slugifyUidForMcpToolName = (uid)=>{
|
|
12
|
+
const [namespace, modelName] = uid.split('::');
|
|
13
|
+
const parts = modelName.split('.').map((part)=>part.toLowerCase());
|
|
14
|
+
if (namespace === 'api') {
|
|
15
|
+
return parts[0] === parts[1] ? parts[0] : parts.join('_');
|
|
16
|
+
}
|
|
17
|
+
return `${namespace.toLowerCase()}-${parts.join('_')}`;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Output chokepoint for MCP handlers returning `{ data, meta }`.
|
|
21
|
+
* Order matters — calculate, then strip:
|
|
22
|
+
* 1. permission-based sanitization,
|
|
23
|
+
* 2. formatDocumentWithMetadata — computes `data.status` and `localizations[].status`
|
|
24
|
+
* from `publishedAt`/`updatedAt`, which relation shaping removes,
|
|
25
|
+
* 3. relation shaping on the formatted `data` (identity-only relations; the
|
|
26
|
+
* freshly-computed `localizations[].status` survives via RelationIdentity).
|
|
27
|
+
*
|
|
28
|
+
* Handlers that do NOT attach metadata (delete, list) compose
|
|
29
|
+
* `permissionChecker.sanitizeOutput` + `shapeRelationsForMcp` directly instead.
|
|
30
|
+
*/ const sanitizeFormatShape = async (permissionChecker, uid, doc, opts)=>{
|
|
31
|
+
const sanitized = await permissionChecker.sanitizeOutput(doc);
|
|
32
|
+
const formatted = await metadata.formatDocumentWithMetadata(permissionChecker, uid, sanitized, opts);
|
|
33
|
+
if (formatted.data === null || formatted.data === undefined) {
|
|
34
|
+
return formatted;
|
|
35
|
+
}
|
|
36
|
+
const shapedData = await shapeRelations.shapeRelationsForMcp(uid, formatted.data);
|
|
37
|
+
return {
|
|
38
|
+
...formatted,
|
|
39
|
+
data: shapedData
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
/** Wraps a plain object into the dual-representation MCP tool return value (text + structuredContent). */ const ok = (structuredContent)=>({
|
|
43
|
+
content: [
|
|
44
|
+
{
|
|
45
|
+
type: 'text',
|
|
46
|
+
text: JSON.stringify(structuredContent)
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
structuredContent
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* Generates the `title` and `description` metadata for a derived MCP tool.
|
|
53
|
+
* Appends operation-specific notes for write/publish/unpublish/discard_draft operations.
|
|
54
|
+
*/ const describeTool = (params)=>{
|
|
55
|
+
const { apiID, uid, operation } = params;
|
|
56
|
+
const operationNoteByType = {
|
|
57
|
+
write: ' Creates or updates the single-type document. If no document exists, creates one; otherwise updates the existing draft.',
|
|
58
|
+
publish: ' Operates on an existing document by documentId and may return a different numeric id for the published version row.',
|
|
59
|
+
unpublish: ' Operates on an existing document by documentId and may return a different numeric id for the draft version row.',
|
|
60
|
+
discard_draft: ' Operates on an existing document by documentId; treat documentId as the stable identity.'
|
|
61
|
+
};
|
|
62
|
+
return {
|
|
63
|
+
title: `Content: ${apiID} — ${operation}`,
|
|
64
|
+
description: `Content-manager ${operation} for ${uid}.${operationNoteByType[operation] ?? ''}`
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
exports.describeTool = describeTool;
|
|
69
|
+
exports.ok = ok;
|
|
70
|
+
exports.sanitizeFormatShape = sanitizeFormatShape;
|
|
71
|
+
exports.slugifyUidForMcpToolName = slugifyUidForMcpToolName;
|
|
72
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../server/src/mcp/utils.ts"],"sourcesContent":["import type { Modules, UID } from '@strapi/types';\r\n\r\nimport { formatDocumentWithMetadata } from '../controllers/utils/metadata';\r\nimport type { GetMetadataOptions } from '../services/document-metadata';\r\nimport { shapeRelationsForMcp } from './sanitizers/shape-relations';\r\n\r\n/**\r\n * Converts a Strapi content-type UID into a safe MCP tool-name segment.\r\n * `api::article.article` → `article`; `api::writer.editor` → `writer_editor` (the api name and the\r\n * content-type name differ, so both are kept to stay unique within the api);\r\n * `plugin::i18n.locale` → `plugin-i18n_locale`.\r\n */\r\nexport const slugifyUidForMcpToolName = (uid: string): string => {\r\n const [namespace, modelName] = uid.split('::');\r\n const parts = modelName.split('.').map((part) => part.toLowerCase());\r\n\r\n if (namespace === 'api') {\r\n return parts[0] === parts[1] ? parts[0] : parts.join('_');\r\n }\r\n\r\n return `${namespace.toLowerCase()}-${parts.join('_')}`;\r\n};\r\n\r\ntype McpPermissionChecker = {\r\n sanitizeOutput: (doc: unknown) => Promise<Record<string, unknown>>;\r\n};\r\n\r\n/**\r\n * Output chokepoint for MCP handlers returning `{ data, meta }`.\r\n * Order matters — calculate, then strip:\r\n * 1. permission-based sanitization,\r\n * 2. formatDocumentWithMetadata — computes `data.status` and `localizations[].status`\r\n * from `publishedAt`/`updatedAt`, which relation shaping removes,\r\n * 3. relation shaping on the formatted `data` (identity-only relations; the\r\n * freshly-computed `localizations[].status` survives via RelationIdentity).\r\n *\r\n * Handlers that do NOT attach metadata (delete, list) compose\r\n * `permissionChecker.sanitizeOutput` + `shapeRelationsForMcp` directly instead.\r\n */\r\nexport const sanitizeFormatShape = async (\r\n permissionChecker: McpPermissionChecker,\r\n uid: UID.ContentType,\r\n doc: unknown,\r\n opts?: GetMetadataOptions\r\n): Promise<Record<string, unknown>> => {\r\n const sanitized = await permissionChecker.sanitizeOutput(doc);\r\n const formatted = await formatDocumentWithMetadata(\r\n permissionChecker,\r\n uid,\r\n sanitized as unknown as Parameters<typeof formatDocumentWithMetadata>[2],\r\n opts\r\n );\r\n\r\n if (formatted.data === null || formatted.data === undefined) {\r\n return formatted;\r\n }\r\n\r\n const shapedData = await shapeRelationsForMcp(uid, formatted.data as Record<string, unknown>);\r\n return { ...formatted, data: shapedData };\r\n};\r\n\r\n/** Wraps a plain object into the dual-representation MCP tool return value (text + structuredContent). */\r\nexport const ok = (\r\n structuredContent: Record<string, unknown>\r\n): Modules.MCP.McpToolHandlerReturn => ({\r\n content: [{ type: 'text', text: JSON.stringify(structuredContent) }],\r\n structuredContent,\r\n});\r\n\r\n/**\r\n * Generates the `title` and `description` metadata for a derived MCP tool.\r\n * Appends operation-specific notes for write/publish/unpublish/discard_draft operations.\r\n */\r\nexport const describeTool = (params: {\r\n apiID: string;\r\n uid: string;\r\n operation: string;\r\n}): { title: string; description: string } => {\r\n const { apiID, uid, operation } = params;\r\n const operationNoteByType: Partial<Record<string, string>> = {\r\n write:\r\n ' Creates or updates the single-type document. If no document exists, creates one; otherwise updates the existing draft.',\r\n publish:\r\n ' Operates on an existing document by documentId and may return a different numeric id for the published version row.',\r\n unpublish:\r\n ' Operates on an existing document by documentId and may return a different numeric id for the draft version row.',\r\n discard_draft:\r\n ' Operates on an existing document by documentId; treat documentId as the stable identity.',\r\n };\r\n\r\n return {\r\n title: `Content: ${apiID} — ${operation}`,\r\n description: `Content-manager ${operation} for ${uid}.${operationNoteByType[operation] ?? ''}`,\r\n };\r\n};\r\n"],"names":["slugifyUidForMcpToolName","uid","namespace","modelName","split","parts","map","part","toLowerCase","join","sanitizeFormatShape","permissionChecker","doc","opts","sanitized","sanitizeOutput","formatted","formatDocumentWithMetadata","data","undefined","shapedData","shapeRelationsForMcp","ok","structuredContent","content","type","text","JSON","stringify","describeTool","params","apiID","operation","operationNoteByType","write","publish","unpublish","discard_draft","title","description"],"mappings":";;;;;AAMA;;;;;IAMO,MAAMA,wBAAAA,GAA2B,CAACC,GAAAA,GAAAA;AACvC,IAAA,MAAM,CAACC,SAAAA,EAAWC,SAAAA,CAAU,GAAGF,GAAAA,CAAIG,KAAK,CAAC,IAAA,CAAA;IACzC,MAAMC,KAAAA,GAAQF,SAAAA,CAAUC,KAAK,CAAC,GAAA,CAAA,CAAKE,GAAG,CAAC,CAACC,IAAAA,GAASA,IAAAA,CAAKC,WAAW,EAAA,CAAA;AAEjE,IAAA,IAAIN,cAAc,KAAA,EAAO;AACvB,QAAA,OAAOG,KAAK,CAAC,CAAA,CAAE,KAAKA,KAAK,CAAC,CAAA,CAAE,GAAGA,KAAK,CAAC,CAAA,CAAE,GAAGA,KAAAA,CAAMI,IAAI,CAAC,GAAA,CAAA;AACvD,IAAA;IAEA,OAAO,CAAA,EAAGP,UAAUM,WAAW,EAAA,CAAG,CAAC,EAAEH,KAAAA,CAAMI,IAAI,CAAC,GAAA,CAAA,CAAA,CAAM;AACxD;AAMA;;;;;;;;;;;AAWC,IACM,MAAMC,mBAAAA,GAAsB,OACjCC,iBAAAA,EACAV,KACAW,GAAAA,EACAC,IAAAA,GAAAA;AAEA,IAAA,MAAMC,SAAAA,GAAY,MAAMH,iBAAAA,CAAkBI,cAAc,CAACH,GAAAA,CAAAA;AACzD,IAAA,MAAMI,SAAAA,GAAY,MAAMC,mCAAAA,CACtBN,iBAAAA,EACAV,KACAa,SAAAA,EACAD,IAAAA,CAAAA;AAGF,IAAA,IAAIG,UAAUE,IAAI,KAAK,QAAQF,SAAAA,CAAUE,IAAI,KAAKC,SAAAA,EAAW;QAC3D,OAAOH,SAAAA;AACT,IAAA;AAEA,IAAA,MAAMI,UAAAA,GAAa,MAAMC,mCAAAA,CAAqBpB,GAAAA,EAAKe,UAAUE,IAAI,CAAA;IACjE,OAAO;AAAE,QAAA,GAAGF,SAAS;QAAEE,IAAAA,EAAME;AAAW,KAAA;AAC1C;AAEA,2GACO,MAAME,EAAAA,GAAK,CAChBC,qBACsC;QACtCC,OAAAA,EAAS;AAAC,YAAA;gBAAEC,IAAAA,EAAM,MAAA;gBAAQC,IAAAA,EAAMC,IAAAA,CAAKC,SAAS,CAACL,iBAAAA;AAAmB;AAAE,SAAA;AACpEA,QAAAA;AACF,KAAA;AAEA;;;IAIO,MAAMM,YAAAA,GAAe,CAACC,MAAAA,GAAAA;AAK3B,IAAA,MAAM,EAAEC,KAAK,EAAE9B,GAAG,EAAE+B,SAAS,EAAE,GAAGF,MAAAA;AAClC,IAAA,MAAMG,mBAAAA,GAAuD;QAC3DC,KAAAA,EACE,yHAAA;QACFC,OAAAA,EACE,sHAAA;QACFC,SAAAA,EACE,kHAAA;QACFC,aAAAA,EACE;AACJ,KAAA;IAEA,OAAO;AACLC,QAAAA,KAAAA,EAAO,CAAC,SAAS,EAAEP,KAAAA,CAAM,GAAG,EAAEC,SAAAA,CAAAA,CAAW;AACzCO,QAAAA,WAAAA,EAAa,CAAC,gBAAgB,EAAEP,SAAAA,CAAU,KAAK,EAAE/B,GAAAA,CAAI,CAAC,EAAEgC,mBAAmB,CAACD,SAAAA,CAAU,IAAI,EAAA,CAAA;AAC5F,KAAA;AACF;;;;;;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { formatDocumentWithMetadata } from '../controllers/utils/metadata.mjs';
|
|
2
|
+
import { shapeRelationsForMcp } from './sanitizers/shape-relations.mjs';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Converts a Strapi content-type UID into a safe MCP tool-name segment.
|
|
6
|
+
* `api::article.article` → `article`; `api::writer.editor` → `writer_editor` (the api name and the
|
|
7
|
+
* content-type name differ, so both are kept to stay unique within the api);
|
|
8
|
+
* `plugin::i18n.locale` → `plugin-i18n_locale`.
|
|
9
|
+
*/ const slugifyUidForMcpToolName = (uid)=>{
|
|
10
|
+
const [namespace, modelName] = uid.split('::');
|
|
11
|
+
const parts = modelName.split('.').map((part)=>part.toLowerCase());
|
|
12
|
+
if (namespace === 'api') {
|
|
13
|
+
return parts[0] === parts[1] ? parts[0] : parts.join('_');
|
|
14
|
+
}
|
|
15
|
+
return `${namespace.toLowerCase()}-${parts.join('_')}`;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Output chokepoint for MCP handlers returning `{ data, meta }`.
|
|
19
|
+
* Order matters — calculate, then strip:
|
|
20
|
+
* 1. permission-based sanitization,
|
|
21
|
+
* 2. formatDocumentWithMetadata — computes `data.status` and `localizations[].status`
|
|
22
|
+
* from `publishedAt`/`updatedAt`, which relation shaping removes,
|
|
23
|
+
* 3. relation shaping on the formatted `data` (identity-only relations; the
|
|
24
|
+
* freshly-computed `localizations[].status` survives via RelationIdentity).
|
|
25
|
+
*
|
|
26
|
+
* Handlers that do NOT attach metadata (delete, list) compose
|
|
27
|
+
* `permissionChecker.sanitizeOutput` + `shapeRelationsForMcp` directly instead.
|
|
28
|
+
*/ const sanitizeFormatShape = async (permissionChecker, uid, doc, opts)=>{
|
|
29
|
+
const sanitized = await permissionChecker.sanitizeOutput(doc);
|
|
30
|
+
const formatted = await formatDocumentWithMetadata(permissionChecker, uid, sanitized, opts);
|
|
31
|
+
if (formatted.data === null || formatted.data === undefined) {
|
|
32
|
+
return formatted;
|
|
33
|
+
}
|
|
34
|
+
const shapedData = await shapeRelationsForMcp(uid, formatted.data);
|
|
35
|
+
return {
|
|
36
|
+
...formatted,
|
|
37
|
+
data: shapedData
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
/** Wraps a plain object into the dual-representation MCP tool return value (text + structuredContent). */ const ok = (structuredContent)=>({
|
|
41
|
+
content: [
|
|
42
|
+
{
|
|
43
|
+
type: 'text',
|
|
44
|
+
text: JSON.stringify(structuredContent)
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
structuredContent
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Generates the `title` and `description` metadata for a derived MCP tool.
|
|
51
|
+
* Appends operation-specific notes for write/publish/unpublish/discard_draft operations.
|
|
52
|
+
*/ const describeTool = (params)=>{
|
|
53
|
+
const { apiID, uid, operation } = params;
|
|
54
|
+
const operationNoteByType = {
|
|
55
|
+
write: ' Creates or updates the single-type document. If no document exists, creates one; otherwise updates the existing draft.',
|
|
56
|
+
publish: ' Operates on an existing document by documentId and may return a different numeric id for the published version row.',
|
|
57
|
+
unpublish: ' Operates on an existing document by documentId and may return a different numeric id for the draft version row.',
|
|
58
|
+
discard_draft: ' Operates on an existing document by documentId; treat documentId as the stable identity.'
|
|
59
|
+
};
|
|
60
|
+
return {
|
|
61
|
+
title: `Content: ${apiID} — ${operation}`,
|
|
62
|
+
description: `Content-manager ${operation} for ${uid}.${operationNoteByType[operation] ?? ''}`
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export { describeTool, ok, sanitizeFormatShape, slugifyUidForMcpToolName };
|
|
67
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","sources":["../../../server/src/mcp/utils.ts"],"sourcesContent":["import type { Modules, UID } from '@strapi/types';\r\n\r\nimport { formatDocumentWithMetadata } from '../controllers/utils/metadata';\r\nimport type { GetMetadataOptions } from '../services/document-metadata';\r\nimport { shapeRelationsForMcp } from './sanitizers/shape-relations';\r\n\r\n/**\r\n * Converts a Strapi content-type UID into a safe MCP tool-name segment.\r\n * `api::article.article` → `article`; `api::writer.editor` → `writer_editor` (the api name and the\r\n * content-type name differ, so both are kept to stay unique within the api);\r\n * `plugin::i18n.locale` → `plugin-i18n_locale`.\r\n */\r\nexport const slugifyUidForMcpToolName = (uid: string): string => {\r\n const [namespace, modelName] = uid.split('::');\r\n const parts = modelName.split('.').map((part) => part.toLowerCase());\r\n\r\n if (namespace === 'api') {\r\n return parts[0] === parts[1] ? parts[0] : parts.join('_');\r\n }\r\n\r\n return `${namespace.toLowerCase()}-${parts.join('_')}`;\r\n};\r\n\r\ntype McpPermissionChecker = {\r\n sanitizeOutput: (doc: unknown) => Promise<Record<string, unknown>>;\r\n};\r\n\r\n/**\r\n * Output chokepoint for MCP handlers returning `{ data, meta }`.\r\n * Order matters — calculate, then strip:\r\n * 1. permission-based sanitization,\r\n * 2. formatDocumentWithMetadata — computes `data.status` and `localizations[].status`\r\n * from `publishedAt`/`updatedAt`, which relation shaping removes,\r\n * 3. relation shaping on the formatted `data` (identity-only relations; the\r\n * freshly-computed `localizations[].status` survives via RelationIdentity).\r\n *\r\n * Handlers that do NOT attach metadata (delete, list) compose\r\n * `permissionChecker.sanitizeOutput` + `shapeRelationsForMcp` directly instead.\r\n */\r\nexport const sanitizeFormatShape = async (\r\n permissionChecker: McpPermissionChecker,\r\n uid: UID.ContentType,\r\n doc: unknown,\r\n opts?: GetMetadataOptions\r\n): Promise<Record<string, unknown>> => {\r\n const sanitized = await permissionChecker.sanitizeOutput(doc);\r\n const formatted = await formatDocumentWithMetadata(\r\n permissionChecker,\r\n uid,\r\n sanitized as unknown as Parameters<typeof formatDocumentWithMetadata>[2],\r\n opts\r\n );\r\n\r\n if (formatted.data === null || formatted.data === undefined) {\r\n return formatted;\r\n }\r\n\r\n const shapedData = await shapeRelationsForMcp(uid, formatted.data as Record<string, unknown>);\r\n return { ...formatted, data: shapedData };\r\n};\r\n\r\n/** Wraps a plain object into the dual-representation MCP tool return value (text + structuredContent). */\r\nexport const ok = (\r\n structuredContent: Record<string, unknown>\r\n): Modules.MCP.McpToolHandlerReturn => ({\r\n content: [{ type: 'text', text: JSON.stringify(structuredContent) }],\r\n structuredContent,\r\n});\r\n\r\n/**\r\n * Generates the `title` and `description` metadata for a derived MCP tool.\r\n * Appends operation-specific notes for write/publish/unpublish/discard_draft operations.\r\n */\r\nexport const describeTool = (params: {\r\n apiID: string;\r\n uid: string;\r\n operation: string;\r\n}): { title: string; description: string } => {\r\n const { apiID, uid, operation } = params;\r\n const operationNoteByType: Partial<Record<string, string>> = {\r\n write:\r\n ' Creates or updates the single-type document. If no document exists, creates one; otherwise updates the existing draft.',\r\n publish:\r\n ' Operates on an existing document by documentId and may return a different numeric id for the published version row.',\r\n unpublish:\r\n ' Operates on an existing document by documentId and may return a different numeric id for the draft version row.',\r\n discard_draft:\r\n ' Operates on an existing document by documentId; treat documentId as the stable identity.',\r\n };\r\n\r\n return {\r\n title: `Content: ${apiID} — ${operation}`,\r\n description: `Content-manager ${operation} for ${uid}.${operationNoteByType[operation] ?? ''}`,\r\n };\r\n};\r\n"],"names":["slugifyUidForMcpToolName","uid","namespace","modelName","split","parts","map","part","toLowerCase","join","sanitizeFormatShape","permissionChecker","doc","opts","sanitized","sanitizeOutput","formatted","formatDocumentWithMetadata","data","undefined","shapedData","shapeRelationsForMcp","ok","structuredContent","content","type","text","JSON","stringify","describeTool","params","apiID","operation","operationNoteByType","write","publish","unpublish","discard_draft","title","description"],"mappings":";;;AAMA;;;;;IAMO,MAAMA,wBAAAA,GAA2B,CAACC,GAAAA,GAAAA;AACvC,IAAA,MAAM,CAACC,SAAAA,EAAWC,SAAAA,CAAU,GAAGF,GAAAA,CAAIG,KAAK,CAAC,IAAA,CAAA;IACzC,MAAMC,KAAAA,GAAQF,SAAAA,CAAUC,KAAK,CAAC,GAAA,CAAA,CAAKE,GAAG,CAAC,CAACC,IAAAA,GAASA,IAAAA,CAAKC,WAAW,EAAA,CAAA;AAEjE,IAAA,IAAIN,cAAc,KAAA,EAAO;AACvB,QAAA,OAAOG,KAAK,CAAC,CAAA,CAAE,KAAKA,KAAK,CAAC,CAAA,CAAE,GAAGA,KAAK,CAAC,CAAA,CAAE,GAAGA,KAAAA,CAAMI,IAAI,CAAC,GAAA,CAAA;AACvD,IAAA;IAEA,OAAO,CAAA,EAAGP,UAAUM,WAAW,EAAA,CAAG,CAAC,EAAEH,KAAAA,CAAMI,IAAI,CAAC,GAAA,CAAA,CAAA,CAAM;AACxD;AAMA;;;;;;;;;;;AAWC,IACM,MAAMC,mBAAAA,GAAsB,OACjCC,iBAAAA,EACAV,KACAW,GAAAA,EACAC,IAAAA,GAAAA;AAEA,IAAA,MAAMC,SAAAA,GAAY,MAAMH,iBAAAA,CAAkBI,cAAc,CAACH,GAAAA,CAAAA;AACzD,IAAA,MAAMI,SAAAA,GAAY,MAAMC,0BAAAA,CACtBN,iBAAAA,EACAV,KACAa,SAAAA,EACAD,IAAAA,CAAAA;AAGF,IAAA,IAAIG,UAAUE,IAAI,KAAK,QAAQF,SAAAA,CAAUE,IAAI,KAAKC,SAAAA,EAAW;QAC3D,OAAOH,SAAAA;AACT,IAAA;AAEA,IAAA,MAAMI,UAAAA,GAAa,MAAMC,oBAAAA,CAAqBpB,GAAAA,EAAKe,UAAUE,IAAI,CAAA;IACjE,OAAO;AAAE,QAAA,GAAGF,SAAS;QAAEE,IAAAA,EAAME;AAAW,KAAA;AAC1C;AAEA,2GACO,MAAME,EAAAA,GAAK,CAChBC,qBACsC;QACtCC,OAAAA,EAAS;AAAC,YAAA;gBAAEC,IAAAA,EAAM,MAAA;gBAAQC,IAAAA,EAAMC,IAAAA,CAAKC,SAAS,CAACL,iBAAAA;AAAmB;AAAE,SAAA;AACpEA,QAAAA;AACF,KAAA;AAEA;;;IAIO,MAAMM,YAAAA,GAAe,CAACC,MAAAA,GAAAA;AAK3B,IAAA,MAAM,EAAEC,KAAK,EAAE9B,GAAG,EAAE+B,SAAS,EAAE,GAAGF,MAAAA;AAClC,IAAA,MAAMG,mBAAAA,GAAuD;QAC3DC,KAAAA,EACE,yHAAA;QACFC,OAAAA,EACE,sHAAA;QACFC,SAAAA,EACE,kHAAA;QACFC,aAAAA,EACE;AACJ,KAAA;IAEA,OAAO;AACLC,QAAAA,KAAAA,EAAO,CAAC,SAAS,EAAEP,KAAAA,CAAM,GAAG,EAAEC,SAAAA,CAAAA,CAAW;AACzCO,QAAAA,WAAAA,EAAa,CAAC,gBAAgB,EAAEP,SAAAA,CAAU,KAAK,EAAE/B,GAAAA,CAAI,CAAC,EAAEgC,mBAAmB,CAACD,SAAAA,CAAU,IAAI,EAAA,CAAA;AAC5F,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var isNil = require('lodash/isNil');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var isNil__default = /*#__PURE__*/_interopDefault(isNil);
|
|
8
|
+
|
|
9
|
+
var routing = (async (ctx, next)=>{
|
|
10
|
+
const { model } = ctx.params;
|
|
11
|
+
const ct = strapi.contentTypes[model];
|
|
12
|
+
if (!ct) {
|
|
13
|
+
return ctx.send({
|
|
14
|
+
error: 'contentType.notFound'
|
|
15
|
+
}, 404);
|
|
16
|
+
}
|
|
17
|
+
let controllers;
|
|
18
|
+
if (!ct.plugin || ct.plugin === 'admin') {
|
|
19
|
+
controllers = strapi.admin.controllers;
|
|
20
|
+
} else {
|
|
21
|
+
controllers = strapi.plugin(ct.plugin).controllers;
|
|
22
|
+
}
|
|
23
|
+
const { route } = ctx.state;
|
|
24
|
+
if (typeof route.handler !== 'string') {
|
|
25
|
+
return next();
|
|
26
|
+
}
|
|
27
|
+
const [, action] = route.handler.split('.');
|
|
28
|
+
let actionConfig;
|
|
29
|
+
if (!ct.plugin || ct.plugin === 'admin') {
|
|
30
|
+
actionConfig = strapi.config.get(`admin.layout.${ct.modelName}.actions.${action}`);
|
|
31
|
+
} else {
|
|
32
|
+
actionConfig = strapi.plugin(ct.plugin).config(`layout.${ct.modelName}.actions.${action}`);
|
|
33
|
+
}
|
|
34
|
+
if (!isNil__default.default(actionConfig)) {
|
|
35
|
+
const [controller, action] = actionConfig.split('.');
|
|
36
|
+
if (controller && action) {
|
|
37
|
+
return controllers[controller.toLowerCase()][action](ctx, next);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
await next();
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
module.exports = routing;
|
|
44
|
+
//# sourceMappingURL=routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing.js","sources":["../../../server/src/middlewares/routing.ts"],"sourcesContent":["import type { UID, Core, Struct } from '@strapi/types';\r\nimport type { Context, Next } from 'koa';\r\nimport isNil from 'lodash/isNil';\r\n\r\ninterface ContentType extends Struct.ContentTypeSchema {\r\n plugin?: string;\r\n}\r\n\r\nexport default async (ctx: Context, next: Next) => {\r\n const { model }: { model: UID.ContentType } = ctx.params;\r\n\r\n const ct: ContentType = strapi.contentTypes[model];\r\n\r\n if (!ct) {\r\n return ctx.send({ error: 'contentType.notFound' }, 404);\r\n }\r\n\r\n let controllers;\r\n if (!ct.plugin || ct.plugin === 'admin') {\r\n controllers = strapi.admin.controllers;\r\n } else {\r\n controllers = strapi.plugin(ct.plugin).controllers;\r\n }\r\n\r\n const { route }: { route: Core.Route } = ctx.state;\r\n\r\n if (typeof route.handler !== 'string') {\r\n return next();\r\n }\r\n\r\n const [, action] = route.handler.split('.');\r\n\r\n let actionConfig: any;\r\n if (!ct.plugin || ct.plugin === 'admin') {\r\n actionConfig = strapi.config.get(`admin.layout.${ct.modelName}.actions.${action}`);\r\n } else {\r\n actionConfig = strapi.plugin(ct.plugin).config(`layout.${ct.modelName}.actions.${action}`);\r\n }\r\n\r\n if (!isNil(actionConfig)) {\r\n const [controller, action] = actionConfig.split('.');\r\n\r\n if (controller && action) {\r\n return controllers[controller.toLowerCase()][action](ctx, next);\r\n }\r\n }\r\n\r\n await next();\r\n};\r\n"],"names":["ctx","next","model","params","ct","strapi","contentTypes","send","error","controllers","plugin","admin","route","state","handler","action","split","actionConfig","config","get","modelName","isNil","controller","toLowerCase"],"mappings":";;;;;;;;AAQA,cAAe,CAAA,OAAOA,GAAAA,EAAcC,IAAAA,GAAAA;AAClC,IAAA,MAAM,EAAEC,KAAK,EAAE,GAA+BF,IAAIG,MAAM;AAExD,IAAA,MAAMC,EAAAA,GAAkBC,MAAAA,CAAOC,YAAY,CAACJ,KAAAA,CAAM;AAElD,IAAA,IAAI,CAACE,EAAAA,EAAI;QACP,OAAOJ,GAAAA,CAAIO,IAAI,CAAC;YAAEC,KAAAA,EAAO;SAAuB,EAAG,GAAA,CAAA;AACrD,IAAA;IAEA,IAAIC,WAAAA;AACJ,IAAA,IAAI,CAACL,EAAAA,CAAGM,MAAM,IAAIN,EAAAA,CAAGM,MAAM,KAAK,OAAA,EAAS;QACvCD,WAAAA,GAAcJ,MAAAA,CAAOM,KAAK,CAACF,WAAW;IACxC,CAAA,MAAO;AACLA,QAAAA,WAAAA,GAAcJ,OAAOK,MAAM,CAACN,EAAAA,CAAGM,MAAM,EAAED,WAAW;AACpD,IAAA;AAEA,IAAA,MAAM,EAAEG,KAAK,EAAE,GAA0BZ,IAAIa,KAAK;AAElD,IAAA,IAAI,OAAOD,KAAAA,CAAME,OAAO,KAAK,QAAA,EAAU;QACrC,OAAOb,IAAAA,EAAAA;AACT,IAAA;AAEA,IAAA,MAAM,GAAGc,MAAAA,CAAO,GAAGH,MAAME,OAAO,CAACE,KAAK,CAAC,GAAA,CAAA;IAEvC,IAAIC,YAAAA;AACJ,IAAA,IAAI,CAACb,EAAAA,CAAGM,MAAM,IAAIN,EAAAA,CAAGM,MAAM,KAAK,OAAA,EAAS;AACvCO,QAAAA,YAAAA,GAAeZ,MAAAA,CAAOa,MAAM,CAACC,GAAG,CAAC,CAAC,aAAa,EAAEf,EAAAA,CAAGgB,SAAS,CAAC,SAAS,EAAEL,MAAAA,CAAAA,CAAQ,CAAA;IACnF,CAAA,MAAO;AACLE,QAAAA,YAAAA,GAAeZ,OAAOK,MAAM,CAACN,EAAAA,CAAGM,MAAM,EAAEQ,MAAM,CAAC,CAAC,OAAO,EAAEd,EAAAA,CAAGgB,SAAS,CAAC,SAAS,EAAEL,MAAAA,CAAAA,CAAQ,CAAA;AAC3F,IAAA;IAEA,IAAI,CAACM,uBAAMJ,YAAAA,CAAAA,EAAe;AACxB,QAAA,MAAM,CAACK,UAAAA,EAAYP,MAAAA,CAAO,GAAGE,YAAAA,CAAaD,KAAK,CAAC,GAAA,CAAA;AAEhD,QAAA,IAAIM,cAAcP,MAAAA,EAAQ;YACxB,OAAON,WAAW,CAACa,UAAAA,CAAWC,WAAW,GAAG,CAACR,MAAAA,CAAO,CAACf,GAAAA,EAAKC,IAAAA,CAAAA;AAC5D,QAAA;AACF,IAAA;IAEA,MAAMA,IAAAA,EAAAA;AACR,CAAA;;;;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import isNil from 'lodash/isNil';
|
|
2
|
+
|
|
3
|
+
var routing = (async (ctx, next)=>{
|
|
4
|
+
const { model } = ctx.params;
|
|
5
|
+
const ct = strapi.contentTypes[model];
|
|
6
|
+
if (!ct) {
|
|
7
|
+
return ctx.send({
|
|
8
|
+
error: 'contentType.notFound'
|
|
9
|
+
}, 404);
|
|
10
|
+
}
|
|
11
|
+
let controllers;
|
|
12
|
+
if (!ct.plugin || ct.plugin === 'admin') {
|
|
13
|
+
controllers = strapi.admin.controllers;
|
|
14
|
+
} else {
|
|
15
|
+
controllers = strapi.plugin(ct.plugin).controllers;
|
|
16
|
+
}
|
|
17
|
+
const { route } = ctx.state;
|
|
18
|
+
if (typeof route.handler !== 'string') {
|
|
19
|
+
return next();
|
|
20
|
+
}
|
|
21
|
+
const [, action] = route.handler.split('.');
|
|
22
|
+
let actionConfig;
|
|
23
|
+
if (!ct.plugin || ct.plugin === 'admin') {
|
|
24
|
+
actionConfig = strapi.config.get(`admin.layout.${ct.modelName}.actions.${action}`);
|
|
25
|
+
} else {
|
|
26
|
+
actionConfig = strapi.plugin(ct.plugin).config(`layout.${ct.modelName}.actions.${action}`);
|
|
27
|
+
}
|
|
28
|
+
if (!isNil(actionConfig)) {
|
|
29
|
+
const [controller, action] = actionConfig.split('.');
|
|
30
|
+
if (controller && action) {
|
|
31
|
+
return controllers[controller.toLowerCase()][action](ctx, next);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
await next();
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
export { routing as default };
|
|
38
|
+
//# sourceMappingURL=routing.mjs.map
|