@akbarsafari00/bonyan-content-type-builder 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/AIChat/Chat.js +437 -0
- package/dist/admin/components/AIChat/Chat.js.map +1 -0
- package/dist/admin/components/AIChat/Chat.mjs +435 -0
- package/dist/admin/components/AIChat/Chat.mjs.map +1 -0
- package/dist/admin/components/AIChat/FeedbackModal.js +238 -0
- package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -0
- package/dist/admin/components/AIChat/FeedbackModal.mjs +234 -0
- package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -0
- package/dist/admin/components/AIChat/UploadCodeModal.js +427 -0
- package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -0
- package/dist/admin/components/AIChat/UploadCodeModal.mjs +423 -0
- package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +1 -0
- package/dist/admin/components/AIChat/UploadFigmaModal.js +379 -0
- package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -0
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs +375 -0
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Alert.js +46 -0
- package/dist/admin/components/AIChat/components/Alert.js.map +1 -0
- package/dist/admin/components/AIChat/components/Alert.mjs +44 -0
- package/dist/admin/components/AIChat/components/Alert.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/AnimatedBox.js +34 -0
- package/dist/admin/components/AIChat/components/AnimatedBox.js.map +1 -0
- package/dist/admin/components/AIChat/components/AnimatedBox.mjs +32 -0
- package/dist/admin/components/AIChat/components/AnimatedBox.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js +92 -0
- package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js.map +1 -0
- package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs +90 -0
- package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js +100 -0
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -0
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +97 -0
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Base64Image.js +127 -0
- package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -0
- package/dist/admin/components/AIChat/components/Base64Image.mjs +125 -0
- package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Collapsible.js +71 -0
- package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -0
- package/dist/admin/components/AIChat/components/Collapsible.mjs +66 -0
- package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Dropzone.js +168 -0
- package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -0
- package/dist/admin/components/AIChat/components/Dropzone.mjs +163 -0
- package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/FloatingPanel.js +166 -0
- package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -0
- package/dist/admin/components/AIChat/components/FloatingPanel.mjs +163 -0
- package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/FullScreenImage.js +190 -0
- package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -0
- package/dist/admin/components/AIChat/components/FullScreenImage.mjs +187 -0
- package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/ImagePreview.js +87 -0
- package/dist/admin/components/AIChat/components/ImagePreview.js.map +1 -0
- package/dist/admin/components/AIChat/components/ImagePreview.mjs +85 -0
- package/dist/admin/components/AIChat/components/ImagePreview.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Input.js +122 -0
- package/dist/admin/components/AIChat/components/Input.js.map +1 -0
- package/dist/admin/components/AIChat/components/Input.mjs +118 -0
- package/dist/admin/components/AIChat/components/Input.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Messages/Marker.js +138 -0
- package/dist/admin/components/AIChat/components/Messages/Marker.js.map +1 -0
- package/dist/admin/components/AIChat/components/Messages/Marker.mjs +136 -0
- package/dist/admin/components/AIChat/components/Messages/Marker.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/Messages/Message.js +229 -0
- package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -0
- package/dist/admin/components/AIChat/components/Messages/Message.mjs +223 -0
- package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/ResizableTextArea.js +78 -0
- package/dist/admin/components/AIChat/components/ResizableTextArea.js.map +1 -0
- package/dist/admin/components/AIChat/components/ResizableTextArea.mjs +76 -0
- package/dist/admin/components/AIChat/components/ResizableTextArea.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/SimpleMenu.js +61 -0
- package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -0
- package/dist/admin/components/AIChat/components/SimpleMenu.mjs +35 -0
- package/dist/admin/components/AIChat/components/SimpleMenu.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/StepModal.js +175 -0
- package/dist/admin/components/AIChat/components/StepModal.js.map +1 -0
- package/dist/admin/components/AIChat/components/StepModal.mjs +171 -0
- package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/animations.js +67 -0
- package/dist/admin/components/AIChat/components/animations.js.map +1 -0
- package/dist/admin/components/AIChat/components/animations.mjs +65 -0
- package/dist/admin/components/AIChat/components/animations.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/icons/FigmaIcon.js +50 -0
- package/dist/admin/components/AIChat/components/icons/FigmaIcon.js.map +1 -0
- package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs +48 -0
- package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs.map +1 -0
- package/dist/admin/components/AIChat/components/icons/StopIcon.js +25 -0
- package/dist/admin/components/AIChat/components/icons/StopIcon.js.map +1 -0
- package/dist/admin/components/AIChat/components/icons/StopIcon.mjs +23 -0
- package/dist/admin/components/AIChat/components/icons/StopIcon.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useAIFetch.js +107 -0
- package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useAIFetch.mjs +96 -0
- package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useAttachments.js +152 -0
- package/dist/admin/components/AIChat/hooks/useAttachments.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useAttachments.mjs +150 -0
- package/dist/admin/components/AIChat/hooks/useAttachments.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useChatTitle.js +47 -0
- package/dist/admin/components/AIChat/hooks/useChatTitle.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useChatTitle.mjs +45 -0
- package/dist/admin/components/AIChat/hooks/useChatTitle.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useCodeUpload.js +217 -0
- package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs +207 -0
- package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useFeedback.js +79 -0
- package/dist/admin/components/AIChat/hooks/useFeedback.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useFeedback.mjs +77 -0
- package/dist/admin/components/AIChat/hooks/useFeedback.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useFigmaUpload.js +206 -0
- package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs +200 -0
- package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js +115 -0
- package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs +113 -0
- package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs.map +1 -0
- package/dist/admin/components/AIChat/hooks/useTranslations.js +19 -0
- package/dist/admin/components/AIChat/hooks/useTranslations.js.map +1 -0
- package/dist/admin/components/AIChat/hooks/useTranslations.mjs +17 -0
- package/dist/admin/components/AIChat/hooks/useTranslations.mjs.map +1 -0
- package/dist/admin/components/AIChat/lib/aiClient.js +174 -0
- package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -0
- package/dist/admin/components/AIChat/lib/aiClient.mjs +167 -0
- package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -0
- package/dist/admin/components/AIChat/lib/constants.js +16 -0
- package/dist/admin/components/AIChat/lib/constants.js.map +1 -0
- package/dist/admin/components/AIChat/lib/constants.mjs +10 -0
- package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -0
- package/dist/admin/components/AIChat/lib/misc.js +8 -0
- package/dist/admin/components/AIChat/lib/misc.js.map +1 -0
- package/dist/admin/components/AIChat/lib/misc.mjs +6 -0
- package/dist/admin/components/AIChat/lib/misc.mjs.map +1 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js +46 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs +44 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +211 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +202 -0
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -0
- package/dist/admin/components/AIChat/providers/ChatProvider.js +192 -0
- package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -0
- package/dist/admin/components/AIChat/providers/ChatProvider.mjs +188 -0
- package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -0
- package/dist/admin/components/AIChat/providers/SchemaProvider.js +90 -0
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -0
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +88 -0
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -0
- package/dist/admin/components/AllowedTypesSelect.js +82 -0
- package/dist/admin/components/AllowedTypesSelect.js.map +1 -0
- package/dist/admin/components/AllowedTypesSelect.mjs +76 -0
- package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -0
- package/dist/admin/components/ApplyConditionButton.js +34 -0
- package/dist/admin/components/ApplyConditionButton.js.map +1 -0
- package/dist/admin/components/ApplyConditionButton.mjs +32 -0
- package/dist/admin/components/ApplyConditionButton.mjs.map +1 -0
- package/dist/admin/components/AttributeIcon.js +73 -0
- package/dist/admin/components/AttributeIcon.js.map +1 -0
- package/dist/admin/components/AttributeIcon.mjs +71 -0
- package/dist/admin/components/AttributeIcon.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/AttributeList.js +32 -0
- package/dist/admin/components/AttributeOptions/AttributeList.js.map +1 -0
- package/dist/admin/components/AttributeOptions/AttributeList.mjs +30 -0
- package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/AttributeOption.js +92 -0
- package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -0
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs +90 -0
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/AttributeOptions.js +71 -0
- package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -0
- package/dist/admin/components/AttributeOptions/AttributeOptions.mjs +69 -0
- package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js +58 -0
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -0
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +56 -0
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/CustomFieldsList.js +55 -0
- package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -0
- package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs +53 -0
- package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/EmptyAttributes.js +123 -0
- package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -0
- package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs +100 -0
- package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -0
- package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js +19 -0
- package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -0
- package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs +17 -0
- package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -0
- package/dist/admin/components/AttributeRow.js +403 -0
- package/dist/admin/components/AttributeRow.js.map +1 -0
- package/dist/admin/components/AttributeRow.mjs +395 -0
- package/dist/admin/components/AttributeRow.mjs.map +1 -0
- package/dist/admin/components/AutoReloadOverlayBlocker.js +216 -0
- package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -0
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs +193 -0
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -0
- package/dist/admin/components/BooleanDefaultValueSelect.js +55 -0
- package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -0
- package/dist/admin/components/BooleanDefaultValueSelect.mjs +53 -0
- package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -0
- package/dist/admin/components/BooleanRadioGroup.js +27 -0
- package/dist/admin/components/BooleanRadioGroup.js.map +1 -0
- package/dist/admin/components/BooleanRadioGroup.mjs +25 -0
- package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -0
- package/dist/admin/components/CTBSession/CTBSessionProvider.js +49 -0
- package/dist/admin/components/CTBSession/CTBSessionProvider.js.map +1 -0
- package/dist/admin/components/CTBSession/CTBSessionProvider.mjs +46 -0
- package/dist/admin/components/CTBSession/CTBSessionProvider.mjs.map +1 -0
- package/dist/admin/components/CTBSession/sessionContext.js +8 -0
- package/dist/admin/components/CTBSession/sessionContext.js.map +1 -0
- package/dist/admin/components/CTBSession/sessionContext.mjs +6 -0
- package/dist/admin/components/CTBSession/sessionContext.mjs.map +1 -0
- package/dist/admin/components/CTBSession/useCTBSession.js +25 -0
- package/dist/admin/components/CTBSession/useCTBSession.js.map +1 -0
- package/dist/admin/components/CTBSession/useCTBSession.mjs +23 -0
- package/dist/admin/components/CTBSession/useCTBSession.mjs.map +1 -0
- package/dist/admin/components/CTBSession/useCTBTracking.js +37 -0
- package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -0
- package/dist/admin/components/CTBSession/useCTBTracking.mjs +35 -0
- package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -0
- package/dist/admin/components/CheckboxWithNumberField.js +88 -0
- package/dist/admin/components/CheckboxWithNumberField.js.map +1 -0
- package/dist/admin/components/CheckboxWithNumberField.mjs +86 -0
- package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -0
- package/dist/admin/components/ComponentCard/ComponentCard.js +118 -0
- package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -0
- package/dist/admin/components/ComponentCard/ComponentCard.mjs +112 -0
- package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -0
- package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js +24 -0
- package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -0
- package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs +22 -0
- package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -0
- package/dist/admin/components/ComponentList.js +31 -0
- package/dist/admin/components/ComponentList.js.map +1 -0
- package/dist/admin/components/ComponentList.mjs +25 -0
- package/dist/admin/components/ComponentList.mjs.map +1 -0
- package/dist/admin/components/ComponentRow.js +42 -0
- package/dist/admin/components/ComponentRow.js.map +1 -0
- package/dist/admin/components/ComponentRow.mjs +40 -0
- package/dist/admin/components/ComponentRow.mjs.map +1 -0
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +279 -0
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -0
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +277 -0
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -0
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +157 -0
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -0
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +151 -0
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -0
- package/dist/admin/components/ContentTypeRadioGroup.js +29 -0
- package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -0
- package/dist/admin/components/ContentTypeRadioGroup.mjs +27 -0
- package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -0
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +80 -0
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -0
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +78 -0
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -0
- package/dist/admin/components/CustomRadioGroup/Styles.js +75 -0
- package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -0
- package/dist/admin/components/CustomRadioGroup/Styles.mjs +73 -0
- package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -0
- package/dist/admin/components/DataManager/DataManagerContext.js +9 -0
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
- package/dist/admin/components/DataManager/DataManagerContext.mjs +7 -0
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
- package/dist/admin/components/DataManager/DataManagerProvider.js +411 -0
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +384 -0
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
- package/dist/admin/components/DataManager/reducer.js +597 -0
- package/dist/admin/components/DataManager/reducer.js.map +1 -0
- package/dist/admin/components/DataManager/reducer.mjs +588 -0
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
- package/dist/admin/components/DataManager/undoRedo.js +102 -0
- package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
- package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
- package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
- package/dist/admin/components/DataManager/useDataManager.js +9 -0
- package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
- package/dist/admin/components/DataManager/useDataManager.mjs +7 -0
- package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/cleanData.js +220 -0
- package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
- package/dist/admin/components/DataManager/utils/cleanData.mjs +211 -0
- package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js +38 -0
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs +31 -0
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js +45 -0
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs +43 -0
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js +21 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs +15 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
- package/dist/admin/components/DisplayedType.js +48 -0
- package/dist/admin/components/DisplayedType.js.map +1 -0
- package/dist/admin/components/DisplayedType.mjs +46 -0
- package/dist/admin/components/DisplayedType.mjs.map +1 -0
- package/dist/admin/components/DraftAndPublishToggle.js +86 -0
- package/dist/admin/components/DraftAndPublishToggle.js.map +1 -0
- package/dist/admin/components/DraftAndPublishToggle.mjs +84 -0
- package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -0
- package/dist/admin/components/DynamicZoneList.js +122 -0
- package/dist/admin/components/DynamicZoneList.js.map +1 -0
- package/dist/admin/components/DynamicZoneList.mjs +120 -0
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -0
- package/dist/admin/components/ExitPrompt.js +50 -0
- package/dist/admin/components/ExitPrompt.js.map +1 -0
- package/dist/admin/components/ExitPrompt.mjs +48 -0
- package/dist/admin/components/ExitPrompt.mjs.map +1 -0
- package/dist/admin/components/Footers.js +95 -0
- package/dist/admin/components/Footers.js.map +1 -0
- package/dist/admin/components/Footers.mjs +92 -0
- package/dist/admin/components/Footers.mjs.map +1 -0
- package/dist/admin/components/FormModal/FormModal.js +1148 -0
- package/dist/admin/components/FormModal/FormModal.js.map +1 -0
- package/dist/admin/components/FormModal/FormModal.mjs +1120 -0
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/ConditionForm.js +454 -0
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +433 -0
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/advancedForm.js +526 -0
- package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/advancedForm.mjs +524 -0
- package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/attributeOptions.js +97 -0
- package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/attributeOptions.mjs +95 -0
- package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/baseForm.js +482 -0
- package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/baseForm.mjs +480 -0
- package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/commonBaseForm.js +17 -0
- package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs +15 -0
- package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/form.js +12 -0
- package/dist/admin/components/FormModal/attributes/form.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/form.mjs +10 -0
- package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/nameField.js +19 -0
- package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/nameField.mjs +17 -0
- package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/types.js +314 -0
- package/dist/admin/components/FormModal/attributes/types.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/types.mjs +289 -0
- package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -0
- package/dist/admin/components/FormModal/attributes/validation/common.js +160 -0
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -0
- package/dist/admin/components/FormModal/attributes/validation/common.mjs +129 -0
- package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -0
- package/dist/admin/components/FormModal/component/componentField.js +40 -0
- package/dist/admin/components/FormModal/component/componentField.js.map +1 -0
- package/dist/admin/components/FormModal/component/componentField.mjs +38 -0
- package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -0
- package/dist/admin/components/FormModal/component/componentForm.js +53 -0
- package/dist/admin/components/FormModal/component/componentForm.js.map +1 -0
- package/dist/admin/components/FormModal/component/componentForm.mjs +51 -0
- package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/component/createComponentSchema.js +66 -0
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -0
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs +44 -0
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -0
- package/dist/admin/components/FormModal/contentType/contentTypeForm.js +169 -0
- package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -0
- package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs +167 -0
- package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +171 -0
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -0
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs +149 -0
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -0
- package/dist/admin/components/FormModal/dynamiczoneForm.js +68 -0
- package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -0
- package/dist/admin/components/FormModal/dynamiczoneForm.mjs +66 -0
- package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -0
- package/dist/admin/components/FormModal/forms/forms.js +280 -0
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -0
- package/dist/admin/components/FormModal/forms/forms.mjs +278 -0
- package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -0
- package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js +21 -0
- package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -0
- package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs +19 -0
- package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -0
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +17 -0
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -0
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs +11 -0
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -0
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js +10 -0
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -0
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs +8 -0
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -0
- package/dist/admin/components/FormModal/reducer.js +343 -0
- package/dist/admin/components/FormModal/reducer.js.map +1 -0
- package/dist/admin/components/FormModal/reducer.mjs +333 -0
- package/dist/admin/components/FormModal/reducer.mjs.map +1 -0
- package/dist/admin/components/FormModal/utils/canEditContentType.js +27 -0
- package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -0
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs +25 -0
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -0
- package/dist/admin/components/FormModal/utils/createUid.js +16 -0
- package/dist/admin/components/FormModal/utils/createUid.js.map +1 -0
- package/dist/admin/components/FormModal/utils/createUid.mjs +13 -0
- package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -0
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +18 -0
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -0
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +16 -0
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -0
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js +56 -0
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -0
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs +54 -0
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -0
- package/dist/admin/components/FormModal/utils/getFormInputNames.js +17 -0
- package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -0
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +15 -0
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -0
- package/dist/admin/components/FormModal/utils/relations.js +15 -0
- package/dist/admin/components/FormModal/utils/relations.js.map +1 -0
- package/dist/admin/components/FormModal/utils/relations.mjs +12 -0
- package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -0
- package/dist/admin/components/FormModalEndActions.js +289 -0
- package/dist/admin/components/FormModalEndActions.js.map +1 -0
- package/dist/admin/components/FormModalEndActions.mjs +287 -0
- package/dist/admin/components/FormModalEndActions.mjs.map +1 -0
- package/dist/admin/components/FormModalHeader.js +138 -0
- package/dist/admin/components/FormModalHeader.js.map +1 -0
- package/dist/admin/components/FormModalHeader.mjs +132 -0
- package/dist/admin/components/FormModalHeader.mjs.map +1 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js +29 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs +7 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js +218 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs +215 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js +9 -0
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs +7 -0
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
- package/dist/admin/components/FormModalSubHeader.js +74 -0
- package/dist/admin/components/FormModalSubHeader.js.map +1 -0
- package/dist/admin/components/FormModalSubHeader.mjs +67 -0
- package/dist/admin/components/FormModalSubHeader.mjs.map +1 -0
- package/dist/admin/components/GenericInputs.js +552 -0
- package/dist/admin/components/GenericInputs.js.map +1 -0
- package/dist/admin/components/GenericInputs.mjs +526 -0
- package/dist/admin/components/GenericInputs.mjs.map +1 -0
- package/dist/admin/components/IconPicker/IconPicker.js +201 -0
- package/dist/admin/components/IconPicker/IconPicker.js.map +1 -0
- package/dist/admin/components/IconPicker/IconPicker.mjs +199 -0
- package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -0
- package/dist/admin/components/IconPicker/constants.js +159 -0
- package/dist/admin/components/IconPicker/constants.js.map +1 -0
- package/dist/admin/components/IconPicker/constants.mjs +136 -0
- package/dist/admin/components/IconPicker/constants.mjs.map +1 -0
- package/dist/admin/components/List.js +199 -0
- package/dist/admin/components/List.js.map +1 -0
- package/dist/admin/components/List.mjs +196 -0
- package/dist/admin/components/List.mjs.map +1 -0
- package/dist/admin/components/PluralName.js +82 -0
- package/dist/admin/components/PluralName.js.map +1 -0
- package/dist/admin/components/PluralName.mjs +76 -0
- package/dist/admin/components/PluralName.mjs.map +1 -0
- package/dist/admin/components/Relation/Relation.js +48 -0
- package/dist/admin/components/Relation/Relation.js.map +1 -0
- package/dist/admin/components/Relation/Relation.mjs +46 -0
- package/dist/admin/components/Relation/Relation.mjs.map +1 -0
- package/dist/admin/components/Relation/RelationField/RelationField.js +52 -0
- package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -0
- package/dist/admin/components/Relation/RelationField/RelationField.mjs +50 -0
- package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -0
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +75 -0
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -0
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +73 -0
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -0
- package/dist/admin/components/Relation/RelationNaturePicker/Components.js +59 -0
- package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -0
- package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs +55 -0
- package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -0
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +153 -0
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -0
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +145 -0
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -0
- package/dist/admin/components/SelectCategory.js +66 -0
- package/dist/admin/components/SelectCategory.js.map +1 -0
- package/dist/admin/components/SelectCategory.mjs +64 -0
- package/dist/admin/components/SelectCategory.mjs.map +1 -0
- package/dist/admin/components/SelectComponent.js +87 -0
- package/dist/admin/components/SelectComponent.js.map +1 -0
- package/dist/admin/components/SelectComponent.mjs +85 -0
- package/dist/admin/components/SelectComponent.mjs.map +1 -0
- package/dist/admin/components/SelectComponents.js +73 -0
- package/dist/admin/components/SelectComponents.js.map +1 -0
- package/dist/admin/components/SelectComponents.mjs +71 -0
- package/dist/admin/components/SelectComponents.mjs.map +1 -0
- package/dist/admin/components/SelectDateType.js +62 -0
- package/dist/admin/components/SelectDateType.js.map +1 -0
- package/dist/admin/components/SelectDateType.mjs +60 -0
- package/dist/admin/components/SelectDateType.mjs.map +1 -0
- package/dist/admin/components/SelectNumber.js +107 -0
- package/dist/admin/components/SelectNumber.js.map +1 -0
- package/dist/admin/components/SelectNumber.mjs +105 -0
- package/dist/admin/components/SelectNumber.mjs.map +1 -0
- package/dist/admin/components/SingularName.js +72 -0
- package/dist/admin/components/SingularName.js.map +1 -0
- package/dist/admin/components/SingularName.mjs +70 -0
- package/dist/admin/components/SingularName.mjs.map +1 -0
- package/dist/admin/components/Status.js +73 -0
- package/dist/admin/components/Status.js.map +1 -0
- package/dist/admin/components/Status.mjs +70 -0
- package/dist/admin/components/Status.mjs.map +1 -0
- package/dist/admin/components/TabForm.js +176 -0
- package/dist/admin/components/TabForm.js.map +1 -0
- package/dist/admin/components/TabForm.mjs +170 -0
- package/dist/admin/components/TabForm.mjs.map +1 -0
- package/dist/admin/components/TextareaEnum.js +58 -0
- package/dist/admin/components/TextareaEnum.js.map +1 -0
- package/dist/admin/components/TextareaEnum.mjs +56 -0
- package/dist/admin/components/TextareaEnum.mjs.map +1 -0
- package/dist/admin/constants.js +19 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +16 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/icons/Curve.js +47 -0
- package/dist/admin/icons/Curve.js.map +1 -0
- package/dist/admin/icons/Curve.mjs +45 -0
- package/dist/admin/icons/Curve.mjs.map +1 -0
- package/dist/admin/index.js +95 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +87 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/pages/App/index.js +114 -0
- package/dist/admin/pages/App/index.js.map +1 -0
- package/dist/admin/pages/App/index.mjs +110 -0
- package/dist/admin/pages/App/index.mjs.map +1 -0
- package/dist/admin/pages/ListView/EmptyState.js +110 -0
- package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
- package/dist/admin/pages/ListView/EmptyState.mjs +108 -0
- package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js +90 -0
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -0
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +88 -0
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -0
- package/dist/admin/pages/ListView/ListView.js +181 -0
- package/dist/admin/pages/ListView/ListView.js.map +1 -0
- package/dist/admin/pages/ListView/ListView.mjs +175 -0
- package/dist/admin/pages/ListView/ListView.mjs.map +1 -0
- package/dist/admin/pluginId.js +6 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +4 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/reducers.js +12 -0
- package/dist/admin/reducers.js.map +1 -0
- package/dist/admin/reducers.mjs +10 -0
- package/dist/admin/reducers.mjs.map +1 -0
- package/dist/admin/src/components/AIChat/Chat.d.ts +2 -0
- package/dist/admin/src/components/AIChat/FeedbackModal.d.ts +13 -0
- package/dist/admin/src/components/AIChat/UploadCodeModal.d.ts +12 -0
- package/dist/admin/src/components/AIChat/UploadFigmaModal.d.ts +12 -0
- package/dist/admin/src/components/AIChat/components/Alert.d.ts +6 -0
- package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +20 -0
- package/dist/admin/src/components/AIChat/components/Attachments/AttachmentPreview.d.ts +9 -0
- package/dist/admin/src/components/AIChat/components/Attachments/components/Attachment.d.ts +27 -0
- package/dist/admin/src/components/AIChat/components/Base64Image.d.ts +9 -0
- package/dist/admin/src/components/AIChat/components/Collapsible.d.ts +18 -0
- package/dist/admin/src/components/AIChat/components/Dropzone.d.ts +34 -0
- package/dist/admin/src/components/AIChat/components/FloatingPanel.d.ts +33 -0
- package/dist/admin/src/components/AIChat/components/FullScreenImage.d.ts +20 -0
- package/dist/admin/src/components/AIChat/components/ImagePreview.d.ts +8 -0
- package/dist/admin/src/components/AIChat/components/ImagePreviewGroup.d.ts +7 -0
- package/dist/admin/src/components/AIChat/components/Input.d.ts +48 -0
- package/dist/admin/src/components/AIChat/components/Messages/Marker.d.ts +2 -0
- package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +4 -0
- package/dist/admin/src/components/AIChat/components/ResizableTextArea.d.ts +8 -0
- package/dist/admin/src/components/AIChat/components/SimpleMenu.d.ts +32 -0
- package/dist/admin/src/components/AIChat/components/StepModal.d.ts +37 -0
- package/dist/admin/src/components/AIChat/components/animations.d.ts +8 -0
- package/dist/admin/src/components/AIChat/components/icons/FigmaIcon.d.ts +4 -0
- package/dist/admin/src/components/AIChat/components/icons/StopIcon.d.ts +4 -0
- package/dist/admin/src/components/AIChat/hooks/useAIFetch.d.ts +147 -0
- package/dist/admin/src/components/AIChat/hooks/useAttachments.d.ts +8 -0
- package/dist/admin/src/components/AIChat/hooks/useChatTitle.d.ts +13 -0
- package/dist/admin/src/components/AIChat/hooks/useCodeUpload.d.ts +31 -0
- package/dist/admin/src/components/AIChat/hooks/useFeedback.d.ts +7 -0
- package/dist/admin/src/components/AIChat/hooks/useFigmaUpload.d.ts +61 -0
- package/dist/admin/src/components/AIChat/hooks/useLastSeenSchemas.d.ts +10 -0
- package/dist/admin/src/components/AIChat/hooks/useTranslations.d.ts +3 -0
- package/dist/admin/src/components/AIChat/lib/aiClient.d.ts +32 -0
- package/dist/admin/src/components/AIChat/lib/constants.d.ts +12 -0
- package/dist/admin/src/components/AIChat/lib/fileToAttachment.d.ts +2 -0
- package/dist/admin/src/components/AIChat/lib/misc.d.ts +1 -0
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/fromCTB.d.ts +7 -0
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +16 -0
- package/dist/admin/src/components/AIChat/lib/types/annotations.d.ts +19 -0
- package/dist/admin/src/components/AIChat/lib/types/attachments.d.ts +15 -0
- package/dist/admin/src/components/AIChat/lib/types/feedback.d.ts +1 -0
- package/dist/admin/src/components/AIChat/lib/types/messages.d.ts +26 -0
- package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +22 -0
- package/dist/admin/src/components/AIChat/providers/ChatProvider.d.ts +30 -0
- package/dist/admin/src/components/AIChat/providers/SchemaProvider.d.ts +10 -0
- package/dist/admin/src/components/AllowedTypesSelect.d.ts +9 -0
- package/dist/admin/src/components/ApplyConditionButton.d.ts +8 -0
- package/dist/admin/src/components/AttributeIcon.d.ts +9 -0
- package/dist/admin/src/components/AttributeOptions/AttributeList.d.ts +6 -0
- package/dist/admin/src/components/AttributeOptions/AttributeOption.d.ts +11 -0
- package/dist/admin/src/components/AttributeOptions/AttributeOptions.d.ts +13 -0
- package/dist/admin/src/components/AttributeOptions/CustomFieldOption.d.ts +22 -0
- package/dist/admin/src/components/AttributeOptions/CustomFieldsList.d.ts +1 -0
- package/dist/admin/src/components/AttributeOptions/EmptyAttributes.d.ts +2 -0
- package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +13 -0
- package/dist/admin/src/components/AttributeRow.d.ts +32 -0
- package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +25 -0
- package/dist/admin/src/components/BooleanDefaultValueSelect.d.ts +20 -0
- package/dist/admin/src/components/BooleanRadioGroup.d.ts +8 -0
- package/dist/admin/src/components/CTBSession/CTBSessionProvider.d.ts +26 -0
- package/dist/admin/src/components/CTBSession/ctbSession.d.ts +5 -0
- package/dist/admin/src/components/CTBSession/sessionContext.d.ts +24 -0
- package/dist/admin/src/components/CTBSession/useCTBSession.d.ts +12 -0
- package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +13 -0
- package/dist/admin/src/components/CheckboxWithNumberField.d.ts +13 -0
- package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +14 -0
- package/dist/admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.d.ts +7 -0
- package/dist/admin/src/components/ComponentCard/ComponentIcon/index.d.ts +1 -0
- package/dist/admin/src/components/ComponentCard/index.d.ts +1 -0
- package/dist/admin/src/components/ComponentList.d.ts +8 -0
- package/dist/admin/src/components/ComponentRow.d.ts +19 -0
- package/dist/admin/src/components/ContentTypeBuilderNav/ContentTypeBuilderNav.d.ts +1 -0
- package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +36 -0
- package/dist/admin/src/components/ContentTypeRadioGroup.d.ts +16 -0
- package/dist/admin/src/components/CustomRadioGroup/CustomRadioGroup.d.ts +16 -0
- package/dist/admin/src/components/CustomRadioGroup/Styles.d.ts +6 -0
- package/dist/admin/src/components/CustomRadioGroup/index.d.ts +1 -0
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +139 -0
- package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
- package/dist/admin/src/components/DataManager/reducer.d.ts +282 -0
- package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
- package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
- package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +333 -0
- package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +9 -0
- package/dist/admin/src/components/DataManager/utils/retrieveComponentsThatHaveComponents.d.ts +12 -0
- package/dist/admin/src/components/DataManager/utils/retrieveNestedComponents.d.ts +8 -0
- package/dist/admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.d.ts +2 -0
- package/dist/admin/src/components/DisplayedType.d.ts +8 -0
- package/dist/admin/src/components/DraftAndPublishToggle.d.ts +22 -0
- package/dist/admin/src/components/DynamicZoneList.d.ts +13 -0
- package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
- package/dist/admin/src/components/Footers.d.ts +13 -0
- package/dist/admin/src/components/FormModal/FormModal.d.ts +1 -0
- package/dist/admin/src/components/FormModal/attributes/ConditionForm.d.ts +24 -0
- package/dist/admin/src/components/FormModal/attributes/advancedForm.d.ts +696 -0
- package/dist/admin/src/components/FormModal/attributes/attributeOptions.d.ts +90 -0
- package/dist/admin/src/components/FormModal/attributes/baseForm.d.ts +376 -0
- package/dist/admin/src/components/FormModal/attributes/commonBaseForm.d.ts +17 -0
- package/dist/admin/src/components/FormModal/attributes/form.d.ts +1072 -0
- package/dist/admin/src/components/FormModal/attributes/nameField.d.ts +12 -0
- package/dist/admin/src/components/FormModal/attributes/types.d.ts +327 -0
- package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +42 -0
- package/dist/admin/src/components/FormModal/component/componentField.d.ts +20 -0
- package/dist/admin/src/components/FormModal/component/componentForm.d.ts +25 -0
- package/dist/admin/src/components/FormModal/component/createComponentSchema.d.ts +10 -0
- package/dist/admin/src/components/FormModal/contentType/contentTypeForm.d.ts +116 -0
- package/dist/admin/src/components/FormModal/contentType/createContentTypeSchema.d.ts +22 -0
- package/dist/admin/src/components/FormModal/dynamiczoneForm.d.ts +68 -0
- package/dist/admin/src/components/FormModal/forms/forms.d.ts +204 -0
- package/dist/admin/src/components/FormModal/forms/utils/addItemsToFormSection.d.ts +38 -0
- package/dist/admin/src/components/FormModal/forms/utils/createCollectionName.d.ts +2 -0
- package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +22 -0
- package/dist/admin/src/components/FormModal/reducer.d.ts +188 -0
- package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +18 -0
- package/dist/admin/src/components/FormModal/utils/createUid.d.ts +4 -0
- package/dist/admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.d.ts +11 -0
- package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +4 -0
- package/dist/admin/src/components/FormModal/utils/getFormInputNames.d.ts +8 -0
- package/dist/admin/src/components/FormModal/utils/relations.d.ts +4 -0
- package/dist/admin/src/components/FormModalEndActions.d.ts +38 -0
- package/dist/admin/src/components/FormModalHeader.d.ts +18 -0
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +69 -0
- package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
- package/dist/admin/src/components/FormModalSubHeader.d.ts +22 -0
- package/dist/admin/src/components/GenericInputs.d.ts +90 -0
- package/dist/admin/src/components/IconPicker/IconPicker.d.ts +8 -0
- package/dist/admin/src/components/IconPicker/constants.d.ts +5 -0
- package/dist/admin/src/components/IconPicker/index.d.ts +1 -0
- package/dist/admin/src/components/List.d.ts +26 -0
- package/dist/admin/src/components/PluralName.d.ts +14 -0
- package/dist/admin/src/components/Relation/Relation.d.ts +19 -0
- package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +15 -0
- package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +7 -0
- package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +37 -0
- package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +9 -0
- package/dist/admin/src/components/SelectCategory.d.ts +12 -0
- package/dist/admin/src/components/SelectComponent.d.ts +21 -0
- package/dist/admin/src/components/SelectComponents.d.ts +21 -0
- package/dist/admin/src/components/SelectDateType.d.ts +38 -0
- package/dist/admin/src/components/SelectNumber.d.ts +36 -0
- package/dist/admin/src/components/SingularName.d.ts +14 -0
- package/dist/admin/src/components/Status.d.ts +6 -0
- package/dist/admin/src/components/TabForm.d.ts +40 -0
- package/dist/admin/src/components/TextareaEnum.d.ts +20 -0
- package/dist/admin/src/constants.d.ts +7 -0
- package/dist/admin/src/exports.d.ts +15 -0
- package/dist/admin/src/icons/Curve.d.ts +6 -0
- package/dist/admin/src/index.d.ts +18 -0
- package/dist/admin/src/pages/App/index.d.ts +2 -0
- package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
- package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +7 -0
- package/dist/admin/src/pages/ListView/ListView.d.ts +2 -0
- package/dist/admin/src/pluginId.d.ts +1 -0
- package/dist/admin/src/reducers.d.ts +4 -0
- package/dist/admin/src/types.d.ts +63 -0
- package/dist/admin/src/utils/conditions.d.ts +26 -0
- package/dist/admin/src/utils/findAttribute.d.ts +2 -0
- package/dist/admin/src/utils/formAPI.d.ts +48 -0
- package/dist/admin/src/utils/getAttributeDisplayedType.d.ts +1 -0
- package/dist/admin/src/utils/getMaxDepth.d.ts +23 -0
- package/dist/admin/src/utils/getRelationType.d.ts +6 -0
- package/dist/admin/src/utils/getTrad.d.ts +1 -0
- package/dist/admin/src/utils/getYupInnerErrors.d.ts +7 -0
- package/dist/admin/src/utils/index.d.ts +2 -0
- package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +2 -0
- package/dist/admin/src/utils/makeUnique.d.ts +2 -0
- package/dist/admin/src/utils/nameToSlug.d.ts +1 -0
- package/dist/admin/src/utils/parseDateValue.d.ts +1 -0
- package/dist/admin/src/utils/parseNumberInputValue.d.ts +1 -0
- package/dist/admin/src/utils/prefixPluginTranslations.d.ts +3 -0
- package/dist/admin/src/utils/startsWithANumber.d.ts +1 -0
- package/dist/admin/src/utils/timeFormat.d.ts +16 -0
- package/dist/admin/src/utils/toRegressedEnumValue.d.ts +1 -0
- package/dist/admin/translations/ar.json.js +239 -0
- package/dist/admin/translations/ar.json.js.map +1 -0
- package/dist/admin/translations/ar.json.mjs +233 -0
- package/dist/admin/translations/ar.json.mjs.map +1 -0
- package/dist/admin/translations/cs.json.js +298 -0
- package/dist/admin/translations/cs.json.js.map +1 -0
- package/dist/admin/translations/cs.json.mjs +292 -0
- package/dist/admin/translations/cs.json.mjs.map +1 -0
- package/dist/admin/translations/da.json.js +185 -0
- package/dist/admin/translations/da.json.js.map +1 -0
- package/dist/admin/translations/da.json.mjs +179 -0
- package/dist/admin/translations/da.json.mjs.map +1 -0
- package/dist/admin/translations/de.json.js +298 -0
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/translations/de.json.mjs +292 -0
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/translations/en.json.js +300 -0
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/translations/en.json.mjs +294 -0
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/translations/es.json.js +240 -0
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/translations/es.json.mjs +234 -0
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/translations/fa.json.js +300 -0
- package/dist/admin/translations/fa.json.js.map +1 -0
- package/dist/admin/translations/fa.json.mjs +294 -0
- package/dist/admin/translations/fa.json.mjs.map +1 -0
- package/dist/admin/translations/fr.json.js +244 -0
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/translations/fr.json.mjs +238 -0
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/translations/id.json.js +239 -0
- package/dist/admin/translations/id.json.js.map +1 -0
- package/dist/admin/translations/id.json.mjs +233 -0
- package/dist/admin/translations/id.json.mjs.map +1 -0
- package/dist/admin/translations/it.json.js +239 -0
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/translations/it.json.mjs +233 -0
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/translations/ja.json.js +298 -0
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/translations/ja.json.mjs +292 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/translations/ko.json.js +302 -0
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/translations/ko.json.mjs +296 -0
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/translations/ms.json.js +239 -0
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/translations/ms.json.mjs +233 -0
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/translations/nl.json.js +301 -0
- package/dist/admin/translations/nl.json.js.map +1 -0
- package/dist/admin/translations/nl.json.mjs +295 -0
- package/dist/admin/translations/nl.json.mjs.map +1 -0
- package/dist/admin/translations/pl.json.js +298 -0
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/translations/pl.json.mjs +292 -0
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/translations/pt-BR.json.js +239 -0
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/translations/pt-BR.json.mjs +233 -0
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/translations/pt.json.js +239 -0
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/translations/pt.json.mjs +233 -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 +234 -0
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/translations/sk.json.js +298 -0
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/translations/sk.json.mjs +292 -0
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/translations/sv.json.js +224 -0
- package/dist/admin/translations/sv.json.js.map +1 -0
- package/dist/admin/translations/sv.json.mjs +218 -0
- package/dist/admin/translations/sv.json.mjs.map +1 -0
- package/dist/admin/translations/th.json.js +187 -0
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/translations/th.json.mjs +181 -0
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/translations/tr.json.js +201 -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 +238 -0
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/translations/uk.json.mjs +232 -0
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/translations/zh-Hans.json.js +239 -0
- package/dist/admin/translations/zh-Hans.json.js.map +1 -0
- package/dist/admin/translations/zh-Hans.json.mjs +233 -0
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/translations/zh.json.js +224 -0
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/translations/zh.json.mjs +218 -0
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/conditions.js +71 -0
- package/dist/admin/utils/conditions.js.map +1 -0
- package/dist/admin/utils/conditions.mjs +66 -0
- package/dist/admin/utils/conditions.mjs.map +1 -0
- package/dist/admin/utils/findAttribute.js +8 -0
- package/dist/admin/utils/findAttribute.js.map +1 -0
- package/dist/admin/utils/findAttribute.mjs +6 -0
- package/dist/admin/utils/findAttribute.mjs.map +1 -0
- package/dist/admin/utils/formAPI.js +141 -0
- package/dist/admin/utils/formAPI.js.map +1 -0
- package/dist/admin/utils/formAPI.mjs +115 -0
- package/dist/admin/utils/formAPI.mjs.map +1 -0
- package/dist/admin/utils/getAttributeDisplayedType.js +32 -0
- package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -0
- package/dist/admin/utils/getAttributeDisplayedType.mjs +30 -0
- package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -0
- package/dist/admin/utils/getMaxDepth.js +74 -0
- package/dist/admin/utils/getMaxDepth.js.map +1 -0
- package/dist/admin/utils/getMaxDepth.mjs +71 -0
- package/dist/admin/utils/getMaxDepth.mjs.map +1 -0
- package/dist/admin/utils/getRelationType.js +21 -0
- package/dist/admin/utils/getRelationType.js.map +1 -0
- package/dist/admin/utils/getRelationType.mjs +19 -0
- package/dist/admin/utils/getRelationType.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/getYupInnerErrors.js +25 -0
- package/dist/admin/utils/getYupInnerErrors.js.map +1 -0
- package/dist/admin/utils/getYupInnerErrors.mjs +23 -0
- package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -0
- package/dist/admin/utils/isAllowedContentTypesForRelations.js +8 -0
- package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -0
- package/dist/admin/utils/isAllowedContentTypesForRelations.mjs +6 -0
- package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -0
- package/dist/admin/utils/makeUnique.js +8 -0
- package/dist/admin/utils/makeUnique.js.map +1 -0
- package/dist/admin/utils/makeUnique.mjs +6 -0
- package/dist/admin/utils/makeUnique.mjs.map +1 -0
- package/dist/admin/utils/nameToSlug.js +14 -0
- package/dist/admin/utils/nameToSlug.js.map +1 -0
- package/dist/admin/utils/nameToSlug.mjs +8 -0
- package/dist/admin/utils/nameToSlug.mjs.map +1 -0
- package/dist/admin/utils/parseDateValue.js +17 -0
- package/dist/admin/utils/parseDateValue.js.map +1 -0
- package/dist/admin/utils/parseDateValue.mjs +15 -0
- package/dist/admin/utils/parseDateValue.mjs.map +1 -0
- package/dist/admin/utils/parseNumberInputValue.js +15 -0
- package/dist/admin/utils/parseNumberInputValue.js.map +1 -0
- package/dist/admin/utils/parseNumberInputValue.mjs +13 -0
- package/dist/admin/utils/parseNumberInputValue.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +11 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/admin/utils/timeFormat.js +38 -0
- package/dist/admin/utils/timeFormat.js.map +1 -0
- package/dist/admin/utils/timeFormat.mjs +35 -0
- package/dist/admin/utils/timeFormat.mjs.map +1 -0
- package/dist/admin/utils/toRegressedEnumValue.js +21 -0
- package/dist/admin/utils/toRegressedEnumValue.js.map +1 -0
- package/dist/admin/utils/toRegressedEnumValue.mjs +15 -0
- package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -0
- package/dist/server/bootstrap.js +16 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +14 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config.js +9 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/config.mjs +7 -0
- package/dist/server/config.mjs.map +1 -0
- package/dist/server/controllers/builder.js +12 -0
- package/dist/server/controllers/builder.js.map +1 -0
- package/dist/server/controllers/builder.mjs +10 -0
- package/dist/server/controllers/builder.mjs.map +1 -0
- package/dist/server/controllers/component-categories.js +38 -0
- package/dist/server/controllers/component-categories.js.map +1 -0
- package/dist/server/controllers/component-categories.mjs +36 -0
- package/dist/server/controllers/component-categories.mjs.map +1 -0
- package/dist/server/controllers/components.js +148 -0
- package/dist/server/controllers/components.js.map +1 -0
- package/dist/server/controllers/components.mjs +142 -0
- package/dist/server/controllers/components.mjs.map +1 -0
- package/dist/server/controllers/content-types.js +165 -0
- package/dist/server/controllers/content-types.js.map +1 -0
- package/dist/server/controllers/content-types.mjs +159 -0
- package/dist/server/controllers/content-types.mjs.map +1 -0
- package/dist/server/controllers/index.js +18 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +16 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/schema.js +56 -0
- package/dist/server/controllers/schema.js.map +1 -0
- package/dist/server/controllers/schema.mjs +54 -0
- package/dist/server/controllers/schema.mjs.map +1 -0
- package/dist/server/controllers/validation/common.js +102 -0
- package/dist/server/controllers/validation/common.js.map +1 -0
- package/dist/server/controllers/validation/common.mjs +81 -0
- package/dist/server/controllers/validation/common.mjs.map +1 -0
- package/dist/server/controllers/validation/component-category.js +12 -0
- package/dist/server/controllers/validation/component-category.js.map +1 -0
- package/dist/server/controllers/validation/component-category.mjs +10 -0
- package/dist/server/controllers/validation/component-category.mjs.map +1 -0
- package/dist/server/controllers/validation/component.js +72 -0
- package/dist/server/controllers/validation/component.js.map +1 -0
- package/dist/server/controllers/validation/component.mjs +60 -0
- package/dist/server/controllers/validation/component.mjs.map +1 -0
- package/dist/server/controllers/validation/content-type.js +153 -0
- package/dist/server/controllers/validation/content-type.js.map +1 -0
- package/dist/server/controllers/validation/content-type.mjs +149 -0
- package/dist/server/controllers/validation/content-type.mjs.map +1 -0
- package/dist/server/controllers/validation/data-transform.js +31 -0
- package/dist/server/controllers/validation/data-transform.js.map +1 -0
- package/dist/server/controllers/validation/data-transform.mjs +24 -0
- package/dist/server/controllers/validation/data-transform.mjs.map +1 -0
- package/dist/server/controllers/validation/model-schema.js +94 -0
- package/dist/server/controllers/validation/model-schema.js.map +1 -0
- package/dist/server/controllers/validation/model-schema.mjs +88 -0
- package/dist/server/controllers/validation/model-schema.mjs.map +1 -0
- package/dist/server/controllers/validation/relations.js +71 -0
- package/dist/server/controllers/validation/relations.js.map +1 -0
- package/dist/server/controllers/validation/relations.mjs +69 -0
- package/dist/server/controllers/validation/relations.mjs.map +1 -0
- package/dist/server/controllers/validation/schema.js +666 -0
- package/dist/server/controllers/validation/schema.js.map +1 -0
- package/dist/server/controllers/validation/schema.mjs +661 -0
- package/dist/server/controllers/validation/schema.mjs.map +1 -0
- package/dist/server/controllers/validation/types.js +236 -0
- package/dist/server/controllers/validation/types.js.map +1 -0
- package/dist/server/controllers/validation/types.mjs +230 -0
- package/dist/server/controllers/validation/types.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/middlewares/index.js +8 -0
- package/dist/server/middlewares/index.js.map +1 -0
- package/dist/server/middlewares/index.mjs +2 -0
- package/dist/server/middlewares/index.mjs.map +1 -0
- package/dist/server/middlewares/is-development-mode.js +19 -0
- package/dist/server/middlewares/is-development-mode.js.map +1 -0
- package/dist/server/middlewares/is-development-mode.mjs +17 -0
- package/dist/server/middlewares/is-development-mode.mjs.map +1 -0
- package/dist/server/register.js +38 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +36 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin.js +311 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/admin.mjs +309 -0
- package/dist/server/routes/admin.mjs.map +1 -0
- package/dist/server/routes/content-api.js +195 -0
- package/dist/server/routes/content-api.js.map +1 -0
- package/dist/server/routes/content-api.mjs +173 -0
- package/dist/server/routes/content-api.mjs.map +1 -0
- package/dist/server/routes/index.js +12 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +10 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/services/api-handler.js +118 -0
- package/dist/server/services/api-handler.js.map +1 -0
- package/dist/server/services/api-handler.mjs +93 -0
- package/dist/server/services/api-handler.mjs.map +1 -0
- package/dist/server/services/builder.js +27 -0
- package/dist/server/services/builder.js.map +1 -0
- package/dist/server/services/builder.mjs +21 -0
- package/dist/server/services/builder.mjs.map +1 -0
- package/dist/server/services/component-categories.js +59 -0
- package/dist/server/services/component-categories.js.map +1 -0
- package/dist/server/services/component-categories.mjs +56 -0
- package/dist/server/services/component-categories.mjs.map +1 -0
- package/dist/server/services/components.js +79 -0
- package/dist/server/services/components.js.map +1 -0
- package/dist/server/services/components.mjs +74 -0
- package/dist/server/services/components.mjs.map +1 -0
- package/dist/server/services/constants.js +52 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/constants.mjs +45 -0
- package/dist/server/services/constants.mjs.map +1 -0
- package/dist/server/services/content-types.js +227 -0
- package/dist/server/services/content-types.js.map +1 -0
- package/dist/server/services/content-types.mjs +213 -0
- package/dist/server/services/content-types.mjs.map +1 -0
- package/dist/server/services/index.js +20 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +18 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/schema-builder/component-builder.js +130 -0
- package/dist/server/services/schema-builder/component-builder.js.map +1 -0
- package/dist/server/services/schema-builder/component-builder.mjs +122 -0
- package/dist/server/services/schema-builder/component-builder.mjs.map +1 -0
- package/dist/server/services/schema-builder/content-type-builder.js +332 -0
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -0
- package/dist/server/services/schema-builder/content-type-builder.mjs +325 -0
- package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -0
- package/dist/server/services/schema-builder/index.js +155 -0
- package/dist/server/services/schema-builder/index.js.map +1 -0
- package/dist/server/services/schema-builder/index.mjs +149 -0
- package/dist/server/services/schema-builder/index.mjs.map +1 -0
- package/dist/server/services/schema-builder/schema-handler.js +256 -0
- package/dist/server/services/schema-builder/schema-handler.js.map +1 -0
- package/dist/server/services/schema-builder/schema-handler.mjs +248 -0
- package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -0
- package/dist/server/services/schema.js +252 -0
- package/dist/server/services/schema.js.map +1 -0
- package/dist/server/services/schema.mjs +248 -0
- package/dist/server/services/schema.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +6 -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/controllers/builder.d.ts +6 -0
- package/dist/server/src/controllers/builder.d.ts.map +1 -0
- package/dist/server/src/controllers/component-categories.d.ts +7 -0
- package/dist/server/src/controllers/component-categories.d.ts.map +1 -0
- package/dist/server/src/controllers/components.d.ts +38 -0
- package/dist/server/src/controllers/components.d.ts.map +1 -0
- package/dist/server/src/controllers/content-types.d.ts +10 -0
- package/dist/server/src/controllers/content-types.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +30 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/schema.d.ts +8 -0
- package/dist/server/src/controllers/schema.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/common.d.ts +26 -0
- package/dist/server/src/controllers/validation/common.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/component-category.d.ts +5 -0
- package/dist/server/src/controllers/validation/component-category.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/component.d.ts +25 -0
- package/dist/server/src/controllers/validation/component.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/content-type.d.ts +38 -0
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/data-transform.d.ts +4 -0
- package/dist/server/src/controllers/validation/data-transform.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/model-schema.d.ts +12 -0
- package/dist/server/src/controllers/validation/model-schema.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/relations.d.ts +18 -0
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/schema.d.ts +109632 -0
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/types.d.ts +9 -0
- package/dist/server/src/controllers/validation/types.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +89 -0
- package/dist/server/src/index.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/is-development-mode.d.ts +9 -0
- package/dist/server/src/middlewares/is-development-mode.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +6 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/admin.d.ts +32 -0
- package/dist/server/src/routes/admin.d.ts.map +1 -0
- package/dist/server/src/routes/content-api.d.ts +7 -0
- package/dist/server/src/routes/content-api.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +38 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/services/api-handler.d.ts +15 -0
- package/dist/server/src/services/api-handler.d.ts.map +1 -0
- package/dist/server/src/services/builder.d.ts +16 -0
- package/dist/server/src/services/builder.d.ts.map +1 -0
- package/dist/server/src/services/component-categories.d.ts +13 -0
- package/dist/server/src/services/component-categories.d.ts.map +1 -0
- package/dist/server/src/services/components.d.ts +31 -0
- package/dist/server/src/services/components.d.ts.map +1 -0
- package/dist/server/src/services/constants.d.ts +18 -0
- package/dist/server/src/services/constants.d.ts.map +1 -0
- package/dist/server/src/services/content-types.d.ts +60 -0
- package/dist/server/src/services/content-types.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +16 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/component-builder.d.ts +40 -0
- package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts +43 -0
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/index.d.ts +85 -0
- package/dist/server/src/services/schema-builder/index.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/schema-handler.d.ts +37 -0
- package/dist/server/src/services/schema-builder/schema-handler.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/types.d.ts +24 -0
- package/dist/server/src/services/schema-builder/types.d.ts.map +1 -0
- package/dist/server/src/services/schema.d.ts +4064 -0
- package/dist/server/src/services/schema.d.ts.map +1 -0
- package/dist/server/src/utils/attributes.d.ts +672 -0
- package/dist/server/src/utils/attributes.d.ts.map +1 -0
- package/dist/server/src/utils/helpers.d.ts +3 -0
- package/dist/server/src/utils/helpers.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +17 -0
- package/dist/server/src/utils/index.d.ts.map +1 -0
- package/dist/server/src/utils/typeguards.d.ts +3 -0
- package/dist/server/src/utils/typeguards.d.ts.map +1 -0
- package/dist/server/utils/attributes.js +96 -0
- package/dist/server/utils/attributes.js.map +1 -0
- package/dist/server/utils/attributes.mjs +86 -0
- package/dist/server/utils/attributes.mjs.map +1 -0
- package/dist/server/utils/index.js +8 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +6 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/dist/server/utils/typeguards.js +8 -0
- package/dist/server/utils/typeguards.js.map +1 -0
- package/dist/server/utils/typeguards.mjs +6 -0
- package/dist/server/utils/typeguards.mjs.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { getFetchClient } from '@strapi/admin/strapi-admin';
|
|
2
|
+
|
|
3
|
+
let aiTokenCache = null;
|
|
4
|
+
const SESSION_STORAGE_KEY = 'strapi-ai-token';
|
|
5
|
+
const EXPIRY_BUFFER_MS = 60 * 1000;
|
|
6
|
+
const parseExpiryMs = (expiresAt)=>{
|
|
7
|
+
const ms = Date.parse(expiresAt);
|
|
8
|
+
return Number.isFinite(ms) ? ms : null;
|
|
9
|
+
};
|
|
10
|
+
const getTokenState = (expiresAt, bufferMs = EXPIRY_BUFFER_MS, now = Date.now())=>{
|
|
11
|
+
const expMs = parseExpiryMs(expiresAt);
|
|
12
|
+
if (expMs === null) {
|
|
13
|
+
return 'expired';
|
|
14
|
+
}
|
|
15
|
+
if (expMs <= now) {
|
|
16
|
+
return 'expired';
|
|
17
|
+
}
|
|
18
|
+
if (expMs - bufferMs <= now) {
|
|
19
|
+
return 'stale';
|
|
20
|
+
}
|
|
21
|
+
return 'valid';
|
|
22
|
+
};
|
|
23
|
+
const isTokenUsable = (expiresAt, bufferMs = EXPIRY_BUFFER_MS, now = Date.now())=>getTokenState(expiresAt, bufferMs, now) === 'valid';
|
|
24
|
+
const clearAIJwt = ()=>{
|
|
25
|
+
aiTokenCache = null;
|
|
26
|
+
sessionStorage.removeItem(SESSION_STORAGE_KEY);
|
|
27
|
+
};
|
|
28
|
+
const readFromSession = ()=>{
|
|
29
|
+
try {
|
|
30
|
+
const raw = sessionStorage.getItem(SESSION_STORAGE_KEY);
|
|
31
|
+
if (!raw) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const parsed = JSON.parse(raw);
|
|
35
|
+
return parsed;
|
|
36
|
+
} catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const writeToSession = (data)=>{
|
|
41
|
+
sessionStorage.setItem(SESSION_STORAGE_KEY, JSON.stringify(data));
|
|
42
|
+
};
|
|
43
|
+
const getAIJwt = async ()=>{
|
|
44
|
+
// Check memory cache
|
|
45
|
+
if (aiTokenCache && isTokenUsable(aiTokenCache.expiresAt)) {
|
|
46
|
+
return aiTokenCache;
|
|
47
|
+
}
|
|
48
|
+
// Check session storage
|
|
49
|
+
const fromSession = readFromSession();
|
|
50
|
+
if (fromSession && isTokenUsable(fromSession.expiresAt)) {
|
|
51
|
+
aiTokenCache = fromSession;
|
|
52
|
+
return aiTokenCache;
|
|
53
|
+
}
|
|
54
|
+
// Fetch from admin endpoint
|
|
55
|
+
try {
|
|
56
|
+
const { get } = getFetchClient();
|
|
57
|
+
const { data } = await get('/admin/ai-token');
|
|
58
|
+
const token = data?.token || data?.data?.token;
|
|
59
|
+
const expiresAt = data?.expiresAt || data?.data?.expiresAt;
|
|
60
|
+
if (typeof token === 'string' && typeof expiresAt === 'string') {
|
|
61
|
+
aiTokenCache = {
|
|
62
|
+
token,
|
|
63
|
+
expiresAt
|
|
64
|
+
};
|
|
65
|
+
writeToSession(aiTokenCache);
|
|
66
|
+
return aiTokenCache;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
} catch {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const prefetchAIToken = async ()=>{
|
|
74
|
+
try {
|
|
75
|
+
// If we already have a valid token (not expiring soon), do nothing
|
|
76
|
+
const existing = await getAIJwt();
|
|
77
|
+
if (existing) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
// Attempt a fetch to populate cache
|
|
81
|
+
await getAIJwt();
|
|
82
|
+
} catch {
|
|
83
|
+
// no-op
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const safeParseJson = async (response)=>{
|
|
87
|
+
try {
|
|
88
|
+
return await response.json();
|
|
89
|
+
} catch {
|
|
90
|
+
try {
|
|
91
|
+
const text = await response.text();
|
|
92
|
+
return {
|
|
93
|
+
error: text
|
|
94
|
+
};
|
|
95
|
+
} catch {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const buildHeaders = (token, ctx, extra)=>{
|
|
101
|
+
return {
|
|
102
|
+
Authorization: `Bearer ${token}`,
|
|
103
|
+
'X-Strapi-Version': ctx?.strapiVersion || 'latest',
|
|
104
|
+
'X-Strapi-User': ctx?.userId || 'unknown',
|
|
105
|
+
'X-Strapi-Project-Id': ctx?.projectId || 'unknown',
|
|
106
|
+
...extra
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
const getErrorMessage = (body)=>{
|
|
110
|
+
if (typeof body !== 'object' || body === null || !('error' in body)) {
|
|
111
|
+
return '';
|
|
112
|
+
}
|
|
113
|
+
return String(body.error ?? '').toLowerCase();
|
|
114
|
+
};
|
|
115
|
+
const shouldRetryForToken = (status, body)=>{
|
|
116
|
+
if (status === 401 || status === 403) {
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
const msg = getErrorMessage(body);
|
|
120
|
+
return msg.includes('expired') || msg.includes('invalid token');
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* Generic fetch wrapper for AI endpoints with token injection and single retry on invalidation
|
|
124
|
+
*/ const fetchAI = async (input, options = {})=>{
|
|
125
|
+
// Get token
|
|
126
|
+
const tokenData = await getAIJwt();
|
|
127
|
+
if (!tokenData?.token) {
|
|
128
|
+
const error = new Error('Could not authorize with AI Server. Please contact your administrator.');
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
131
|
+
const make = async (token)=>{
|
|
132
|
+
const headers = buildHeaders(token, options.ctx, options.headers);
|
|
133
|
+
return fetch(input, {
|
|
134
|
+
...options,
|
|
135
|
+
headers
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
let response = await make(tokenData.token);
|
|
139
|
+
let body = undefined;
|
|
140
|
+
try {
|
|
141
|
+
body = await safeParseJson(response.clone());
|
|
142
|
+
} catch {
|
|
143
|
+
// no-op
|
|
144
|
+
}
|
|
145
|
+
if (shouldRetryForToken(response.status, body)) {
|
|
146
|
+
clearAIJwt();
|
|
147
|
+
const refreshed = await getAIJwt();
|
|
148
|
+
if (refreshed?.token && refreshed.token !== tokenData.token) {
|
|
149
|
+
response = await make(refreshed.token);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return response;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Factory to provide a fetch implementation compatible with AI SDK useChat
|
|
156
|
+
* that injects AI JWT + Strapi context headers and retries on token invalidation once.
|
|
157
|
+
*/ const makeChatFetch = (ctx)=>{
|
|
158
|
+
return async (input, options = {})=>{
|
|
159
|
+
return fetchAI(input, {
|
|
160
|
+
...options,
|
|
161
|
+
ctx
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export { clearAIJwt, fetchAI, getAIJwt, makeChatFetch, prefetchAIToken, safeParseJson };
|
|
167
|
+
//# sourceMappingURL=aiClient.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiClient.mjs","sources":["../../../../../admin/src/components/AIChat/lib/aiClient.ts"],"sourcesContent":["import { getFetchClient } from '@strapi/admin/strapi-admin';\r\n\r\n/**\r\n * Centralized AI client utilities:\r\n * - Token retrieval via admin endpoint using getFetchClient\r\n * - In-memory + sessionStorage caching with near-expiry buffer\r\n * - Safe JSON parsing for error handling\r\n * - Single-retry policy on token invalidation\r\n */\r\n\r\nexport interface AITokenData {\r\n token: string;\r\n expiresAt: string;\r\n}\r\n\r\ntype AITokenResponse = Partial<AITokenData> & {\r\n data?: Partial<AITokenData>;\r\n};\r\n\r\nlet aiTokenCache: AITokenData | null = null;\r\nconst SESSION_STORAGE_KEY = 'strapi-ai-token';\r\nconst EXPIRY_BUFFER_MS = 60 * 1000;\r\n\r\nconst parseExpiryMs = (expiresAt: string): number | null => {\r\n const ms = Date.parse(expiresAt);\r\n return Number.isFinite(ms) ? ms : null;\r\n};\r\n\r\ntype TokenState = 'valid' | 'stale' | 'expired';\r\n\r\nconst getTokenState = (\r\n expiresAt: string,\r\n bufferMs = EXPIRY_BUFFER_MS,\r\n now = Date.now()\r\n): TokenState => {\r\n const expMs = parseExpiryMs(expiresAt);\r\n if (expMs === null) {\r\n return 'expired';\r\n }\r\n if (expMs <= now) {\r\n return 'expired';\r\n }\r\n if (expMs - bufferMs <= now) {\r\n return 'stale';\r\n }\r\n\r\n return 'valid';\r\n};\r\n\r\nconst isTokenUsable = (expiresAt: string, bufferMs = EXPIRY_BUFFER_MS, now = Date.now()): boolean =>\r\n getTokenState(expiresAt, bufferMs, now) === 'valid';\r\n\r\nexport const clearAIJwt = () => {\r\n aiTokenCache = null;\r\n sessionStorage.removeItem(SESSION_STORAGE_KEY);\r\n};\r\n\r\nconst readFromSession = (): AITokenData | null => {\r\n try {\r\n const raw = sessionStorage.getItem(SESSION_STORAGE_KEY);\r\n if (!raw) {\r\n return null;\r\n }\r\n\r\n const parsed = JSON.parse(raw) as AITokenData;\r\n return parsed;\r\n } catch {\r\n return null;\r\n }\r\n};\r\n\r\nconst writeToSession = (data: AITokenData) => {\r\n sessionStorage.setItem(SESSION_STORAGE_KEY, JSON.stringify(data));\r\n};\r\n\r\nexport const getAIJwt = async (): Promise<AITokenData | null> => {\r\n // Check memory cache\r\n if (aiTokenCache && isTokenUsable(aiTokenCache.expiresAt)) {\r\n return aiTokenCache;\r\n }\r\n\r\n // Check session storage\r\n const fromSession = readFromSession();\r\n if (fromSession && isTokenUsable(fromSession.expiresAt)) {\r\n aiTokenCache = fromSession;\r\n\r\n return aiTokenCache;\r\n }\r\n\r\n // Fetch from admin endpoint\r\n try {\r\n const { get } = getFetchClient();\r\n const { data } = await get<AITokenResponse>('/admin/ai-token');\r\n\r\n const token = data?.token || data?.data?.token;\r\n const expiresAt = data?.expiresAt || data?.data?.expiresAt;\r\n\r\n if (typeof token === 'string' && typeof expiresAt === 'string') {\r\n aiTokenCache = { token, expiresAt };\r\n writeToSession(aiTokenCache);\r\n\r\n return aiTokenCache;\r\n }\r\n return null;\r\n } catch {\r\n return null;\r\n }\r\n};\r\n\r\nexport const prefetchAIToken = async (): Promise<void> => {\r\n try {\r\n // If we already have a valid token (not expiring soon), do nothing\r\n const existing = await getAIJwt();\r\n if (existing) {\r\n return;\r\n }\r\n\r\n // Attempt a fetch to populate cache\r\n await getAIJwt();\r\n } catch {\r\n // no-op\r\n }\r\n};\r\n\r\nexport const safeParseJson = async (response: Response): Promise<unknown> => {\r\n try {\r\n return await response.json();\r\n } catch {\r\n try {\r\n const text = await response.text();\r\n\r\n return { error: text };\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n};\r\n\r\nexport interface StrapiContextHeaders {\r\n strapiVersion?: string | null;\r\n projectId?: string | null;\r\n userId?: string | null;\r\n}\r\n\r\nconst buildHeaders = (\r\n token: string,\r\n ctx?: StrapiContextHeaders,\r\n extra?: HeadersInit\r\n): Record<string, string> => {\r\n return {\r\n Authorization: `Bearer ${token}`,\r\n 'X-Strapi-Version': ctx?.strapiVersion || 'latest',\r\n 'X-Strapi-User': ctx?.userId || 'unknown',\r\n 'X-Strapi-Project-Id': ctx?.projectId || 'unknown',\r\n ...(extra as Record<string, string>),\r\n };\r\n};\r\n\r\ntype ErrorResponseBody = {\r\n error?: unknown;\r\n};\r\n\r\nconst getErrorMessage = (body: unknown): string => {\r\n if (typeof body !== 'object' || body === null || !('error' in body)) {\r\n return '';\r\n }\r\n\r\n return String((body as ErrorResponseBody).error ?? '').toLowerCase();\r\n};\r\n\r\nconst shouldRetryForToken = (status: number, body: unknown): boolean => {\r\n if (status === 401 || status === 403) {\r\n return true;\r\n }\r\n\r\n const msg = getErrorMessage(body);\r\n return msg.includes('expired') || msg.includes('invalid token');\r\n};\r\n\r\nexport interface FetchAIOptions extends RequestInit {\r\n ctx?: StrapiContextHeaders;\r\n}\r\n\r\n/**\r\n * Generic fetch wrapper for AI endpoints with token injection and single retry on invalidation\r\n */\r\nexport const fetchAI = async (\r\n input: RequestInfo | URL,\r\n options: FetchAIOptions = {}\r\n): Promise<Response> => {\r\n // Get token\r\n const tokenData = await getAIJwt();\r\n\r\n if (!tokenData?.token) {\r\n const error = new Error(\r\n 'Could not authorize with AI Server. Please contact your administrator.'\r\n );\r\n\r\n throw error;\r\n }\r\n\r\n const make = async (token: string): Promise<Response> => {\r\n const headers = buildHeaders(token, options.ctx, options.headers);\r\n return fetch(input, {\r\n ...options,\r\n headers,\r\n });\r\n };\r\n\r\n let response = await make(tokenData.token);\r\n\r\n let body: unknown | undefined = undefined;\r\n try {\r\n body = await safeParseJson(response.clone());\r\n } catch {\r\n // no-op\r\n }\r\n\r\n if (shouldRetryForToken(response.status, body)) {\r\n clearAIJwt();\r\n\r\n const refreshed = await getAIJwt();\r\n\r\n if (refreshed?.token && refreshed.token !== tokenData.token) {\r\n response = await make(refreshed.token);\r\n }\r\n }\r\n\r\n return response;\r\n};\r\n\r\n/**\r\n * Factory to provide a fetch implementation compatible with AI SDK useChat\r\n * that injects AI JWT + Strapi context headers and retries on token invalidation once.\r\n */\r\nexport const makeChatFetch = (ctx: StrapiContextHeaders) => {\r\n return async (input: RequestInfo | URL, options: RequestInit = {}): Promise<Response> => {\r\n return fetchAI(input, { ...options, ctx });\r\n };\r\n};\r\n"],"names":["aiTokenCache","SESSION_STORAGE_KEY","EXPIRY_BUFFER_MS","parseExpiryMs","expiresAt","ms","Date","parse","Number","isFinite","getTokenState","bufferMs","now","expMs","isTokenUsable","clearAIJwt","sessionStorage","removeItem","readFromSession","raw","getItem","parsed","JSON","writeToSession","data","setItem","stringify","getAIJwt","fromSession","get","getFetchClient","token","prefetchAIToken","existing","safeParseJson","response","json","text","error","undefined","buildHeaders","ctx","extra","Authorization","strapiVersion","userId","projectId","getErrorMessage","body","String","toLowerCase","shouldRetryForToken","status","msg","includes","fetchAI","input","options","tokenData","Error","make","headers","fetch","clone","refreshed","makeChatFetch"],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-namespace */ const STRAPI_CODE_MIME_TYPE = 'application/vnd.strapi.code';
|
|
4
|
+
const STRAPI_MAX_ATTACHMENTS = 15;
|
|
5
|
+
const STRAPI_MAX_ATTACHMENT_SIZE = 15 * 1024 * 1024; // 15MB
|
|
6
|
+
/* -------------------------------------------------------------------------------------------------
|
|
7
|
+
* APIs
|
|
8
|
+
* -----------------------------------------------------------------------------------------------*/ const STRAPI_AI_URL = process.env.STRAPI_AI_URL?.replace(/\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io';
|
|
9
|
+
const STRAPI_AI_CHAT_URL = `${STRAPI_AI_URL}/schemas/chat`;
|
|
10
|
+
|
|
11
|
+
exports.STRAPI_AI_CHAT_URL = STRAPI_AI_CHAT_URL;
|
|
12
|
+
exports.STRAPI_AI_URL = STRAPI_AI_URL;
|
|
13
|
+
exports.STRAPI_CODE_MIME_TYPE = STRAPI_CODE_MIME_TYPE;
|
|
14
|
+
exports.STRAPI_MAX_ATTACHMENTS = STRAPI_MAX_ATTACHMENTS;
|
|
15
|
+
exports.STRAPI_MAX_ATTACHMENT_SIZE = STRAPI_MAX_ATTACHMENT_SIZE;
|
|
16
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../admin/src/components/AIChat/lib/constants.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\r\nimport type { Schema } from './types/schema';\r\n\r\nexport const STRAPI_CODE_MIME_TYPE = 'application/vnd.strapi.code';\r\nexport const STRAPI_MAX_ATTACHMENTS = 15;\r\nexport const STRAPI_MAX_ATTACHMENT_SIZE = 15 * 1024 * 1024; // 15MB\r\n\r\n/* -------------------------------------------------------------------------------------------------\r\n * APIs\r\n * -----------------------------------------------------------------------------------------------*/\r\nexport const STRAPI_AI_URL =\r\n process.env.STRAPI_AI_URL?.replace(/\\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io';\r\nexport const STRAPI_AI_CHAT_URL = `${STRAPI_AI_URL}/schemas/chat`;\r\nexport const STRAPI_AI_TITLE_URL = `/schemas/chat/generate-title` as const;\r\nexport const STRAPI_AI_FEEDBACK_URL = `/schemas/chat/feedback` as const;\r\nexport const STRAPI_AI_PROJECT_URL = `/schemas/chat/attachment` as const;\r\n\r\n// AI SDK will also send messages and other relevant data\r\nexport interface ChatBody {\r\n schemas: Schema[];\r\n}\r\n"],"names":["STRAPI_CODE_MIME_TYPE","STRAPI_MAX_ATTACHMENTS","STRAPI_MAX_ATTACHMENT_SIZE","STRAPI_AI_URL","process","env","replace","STRAPI_AI_CHAT_URL"],"mappings":";;AAAA,qDAGO,MAAMA,qBAAAA,GAAwB;AAC9B,MAAMC,yBAAyB;MACzBC,0BAAAA,GAA6B,EAAA,GAAK,IAAA,GAAO,KAAK;AAE3D;;qGAGO,MAAMC,aAAAA,GACXC,OAAAA,CAAQC,GAAG,CAACF,aAAa,EAAEG,OAAAA,CAAQ,MAAA,EAAQ,EAAA,CAAA,IAAO;MACvCC,kBAAAA,GAAqB,CAAA,EAAGJ,aAAAA,CAAc,aAAa;;;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-namespace */ const STRAPI_CODE_MIME_TYPE = 'application/vnd.strapi.code';
|
|
2
|
+
const STRAPI_MAX_ATTACHMENTS = 15;
|
|
3
|
+
const STRAPI_MAX_ATTACHMENT_SIZE = 15 * 1024 * 1024; // 15MB
|
|
4
|
+
/* -------------------------------------------------------------------------------------------------
|
|
5
|
+
* APIs
|
|
6
|
+
* -----------------------------------------------------------------------------------------------*/ const STRAPI_AI_URL = process.env.STRAPI_AI_URL?.replace(/\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io';
|
|
7
|
+
const STRAPI_AI_CHAT_URL = `${STRAPI_AI_URL}/schemas/chat`;
|
|
8
|
+
|
|
9
|
+
export { STRAPI_AI_CHAT_URL, STRAPI_AI_URL, STRAPI_CODE_MIME_TYPE, STRAPI_MAX_ATTACHMENTS, STRAPI_MAX_ATTACHMENT_SIZE };
|
|
10
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../admin/src/components/AIChat/lib/constants.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-namespace */\r\nimport type { Schema } from './types/schema';\r\n\r\nexport const STRAPI_CODE_MIME_TYPE = 'application/vnd.strapi.code';\r\nexport const STRAPI_MAX_ATTACHMENTS = 15;\r\nexport const STRAPI_MAX_ATTACHMENT_SIZE = 15 * 1024 * 1024; // 15MB\r\n\r\n/* -------------------------------------------------------------------------------------------------\r\n * APIs\r\n * -----------------------------------------------------------------------------------------------*/\r\nexport const STRAPI_AI_URL =\r\n process.env.STRAPI_AI_URL?.replace(/\\/+$/, '') ?? 'https://strapi-ai.apps.strapi.io';\r\nexport const STRAPI_AI_CHAT_URL = `${STRAPI_AI_URL}/schemas/chat`;\r\nexport const STRAPI_AI_TITLE_URL = `/schemas/chat/generate-title` as const;\r\nexport const STRAPI_AI_FEEDBACK_URL = `/schemas/chat/feedback` as const;\r\nexport const STRAPI_AI_PROJECT_URL = `/schemas/chat/attachment` as const;\r\n\r\n// AI SDK will also send messages and other relevant data\r\nexport interface ChatBody {\r\n schemas: Schema[];\r\n}\r\n"],"names":["STRAPI_CODE_MIME_TYPE","STRAPI_MAX_ATTACHMENTS","STRAPI_MAX_ATTACHMENT_SIZE","STRAPI_AI_URL","process","env","replace","STRAPI_AI_CHAT_URL"],"mappings":"AAAA,qDAGO,MAAMA,qBAAAA,GAAwB;AAC9B,MAAMC,yBAAyB;MACzBC,0BAAAA,GAA6B,EAAA,GAAK,IAAA,GAAO,KAAK;AAE3D;;qGAGO,MAAMC,aAAAA,GACXC,OAAAA,CAAQC,GAAG,CAACF,aAAa,EAAEG,OAAAA,CAAQ,MAAA,EAAQ,EAAA,CAAA,IAAO;MACvCC,kBAAAA,GAAqB,CAAA,EAAGJ,aAAAA,CAAc,aAAa;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sources":["../../../../../admin/src/components/AIChat/lib/misc.ts"],"sourcesContent":["export const generateId = (size: number = 16) => {\r\n return crypto.randomUUID().slice(0, size);\r\n};\r\n"],"names":["generateId","size","crypto","randomUUID","slice"],"mappings":";;AAAO,MAAMA,UAAAA,GAAa,CAACC,IAAAA,GAAe,EAAE,GAAA;AAC1C,IAAA,OAAOC,MAAAA,CAAOC,UAAU,EAAA,CAAGC,KAAK,CAAC,CAAA,EAAGH,IAAAA,CAAAA;AACtC;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.mjs","sources":["../../../../../admin/src/components/AIChat/lib/misc.ts"],"sourcesContent":["export const generateId = (size: number = 16) => {\r\n return crypto.randomUUID().slice(0, size);\r\n};\r\n"],"names":["generateId","size","crypto","randomUUID","slice"],"mappings":"AAAO,MAAMA,UAAAA,GAAa,CAACC,IAAAA,GAAe,EAAE,GAAA;AAC1C,IAAA,OAAOC,MAAAA,CAAOC,UAAU,EAAA,CAAGC,KAAK,CAAC,CAAA,EAAGH,IAAAA,CAAAA;AACtC;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const transformAttributesFromCTBToChat = (attributes)=>{
|
|
4
|
+
return attributes.reduce((acc, attribute)=>{
|
|
5
|
+
const { name, ...rest } = attribute;
|
|
6
|
+
return {
|
|
7
|
+
...acc,
|
|
8
|
+
[name]: rest
|
|
9
|
+
};
|
|
10
|
+
}, {});
|
|
11
|
+
};
|
|
12
|
+
const transformCTBToChat = (schema)=>{
|
|
13
|
+
if (schema.modelType === 'component') {
|
|
14
|
+
return {
|
|
15
|
+
category: schema.category,
|
|
16
|
+
kind: 'component',
|
|
17
|
+
action: 'create',
|
|
18
|
+
modelType: 'component',
|
|
19
|
+
description: schema.info.description,
|
|
20
|
+
name: schema.info.displayName,
|
|
21
|
+
uid: schema.uid,
|
|
22
|
+
attributes: transformAttributesFromCTBToChat(schema.attributes),
|
|
23
|
+
sources: schema.sources
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
kind: schema.kind,
|
|
28
|
+
modelType: schema.modelType,
|
|
29
|
+
description: schema.info.description,
|
|
30
|
+
action: 'create',
|
|
31
|
+
name: schema.info.pluralName,
|
|
32
|
+
uid: schema.uid,
|
|
33
|
+
...schema.plugin ? {
|
|
34
|
+
plugin: schema.plugin
|
|
35
|
+
} : {},
|
|
36
|
+
attributes: transformAttributesFromCTBToChat(schema.attributes),
|
|
37
|
+
sources: schema.sources,
|
|
38
|
+
options: {
|
|
39
|
+
draftAndPublish: schema.options?.draftAndPublish,
|
|
40
|
+
localized: false
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
exports.transformCTBToChat = transformCTBToChat;
|
|
46
|
+
//# sourceMappingURL=fromCTB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromCTB.js","sources":["../../../../../../../admin/src/components/AIChat/lib/transforms/schemas/fromCTB.ts"],"sourcesContent":["import type { ContentType, Component, AnyAttribute } from '../../../../../types';\r\nimport type { Schema } from '../../types/schema';\r\n\r\ntype SchemaWithSources = (ContentType | Component) & { sources?: unknown };\r\n\r\nconst transformAttributesFromCTBToChat = (attributes: AnyAttribute[]) => {\r\n return attributes.reduce(\r\n (acc, attribute) => {\r\n const { name, ...rest } = attribute;\r\n\r\n return {\r\n ...acc,\r\n [name]: rest,\r\n };\r\n },\r\n {} as Record<string, Omit<AnyAttribute, 'name'>>\r\n );\r\n};\r\n\r\nexport const transformCTBToChat = (schema: SchemaWithSources): Schema => {\r\n if (schema.modelType === 'component') {\r\n return {\r\n category: schema.category,\r\n kind: 'component',\r\n action: 'create',\r\n modelType: 'component',\r\n description: schema.info.description,\r\n name: schema.info.displayName,\r\n\r\n uid: schema.uid,\r\n attributes: transformAttributesFromCTBToChat(schema.attributes),\r\n sources: schema.sources,\r\n } satisfies Schema;\r\n }\r\n\r\n return {\r\n kind: schema.kind,\r\n modelType: schema.modelType,\r\n description: schema.info.description,\r\n action: 'create',\r\n name: schema.info.pluralName,\r\n uid: schema.uid,\r\n ...(schema.plugin ? { plugin: schema.plugin } : {}),\r\n attributes: transformAttributesFromCTBToChat(schema.attributes),\r\n sources: schema.sources,\r\n options: {\r\n draftAndPublish: schema.options?.draftAndPublish,\r\n localized: false,\r\n },\r\n } satisfies Schema;\r\n};\r\n"],"names":["transformAttributesFromCTBToChat","attributes","reduce","acc","attribute","name","rest","transformCTBToChat","schema","modelType","category","kind","action","description","info","displayName","uid","sources","pluralName","plugin","options","draftAndPublish","localized"],"mappings":";;AAKA,MAAMA,mCAAmC,CAACC,UAAAA,GAAAA;AACxC,IAAA,OAAOA,UAAAA,CAAWC,MAAM,CACtB,CAACC,GAAAA,EAAKC,SAAAA,GAAAA;AACJ,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGC,MAAM,GAAGF,SAAAA;QAE1B,OAAO;AACL,YAAA,GAAGD,GAAG;AACN,YAAA,CAACE,OAAOC;AACV,SAAA;AACF,IAAA,CAAA,EACA,EAAC,CAAA;AAEL,CAAA;AAEO,MAAMC,qBAAqB,CAACC,MAAAA,GAAAA;IACjC,IAAIA,MAAAA,CAAOC,SAAS,KAAK,WAAA,EAAa;QACpC,OAAO;AACLC,YAAAA,QAAAA,EAAUF,OAAOE,QAAQ;YACzBC,IAAAA,EAAM,WAAA;YACNC,MAAAA,EAAQ,QAAA;YACRH,SAAAA,EAAW,WAAA;YACXI,WAAAA,EAAaL,MAAAA,CAAOM,IAAI,CAACD,WAAW;YACpCR,IAAAA,EAAMG,MAAAA,CAAOM,IAAI,CAACC,WAAW;AAE7BC,YAAAA,GAAAA,EAAKR,OAAOQ,GAAG;YACff,UAAAA,EAAYD,gCAAAA,CAAiCQ,OAAOP,UAAU,CAAA;AAC9DgB,YAAAA,OAAAA,EAAST,OAAOS;AAClB,SAAA;AACF,IAAA;IAEA,OAAO;AACLN,QAAAA,IAAAA,EAAMH,OAAOG,IAAI;AACjBF,QAAAA,SAAAA,EAAWD,OAAOC,SAAS;QAC3BI,WAAAA,EAAaL,MAAAA,CAAOM,IAAI,CAACD,WAAW;QACpCD,MAAAA,EAAQ,QAAA;QACRP,IAAAA,EAAMG,MAAAA,CAAOM,IAAI,CAACI,UAAU;AAC5BF,QAAAA,GAAAA,EAAKR,OAAOQ,GAAG;QACf,GAAIR,MAAAA,CAAOW,MAAM,GAAG;AAAEA,YAAAA,MAAAA,EAAQX,OAAOW;AAAO,SAAA,GAAI,EAAE;QAClDlB,UAAAA,EAAYD,gCAAAA,CAAiCQ,OAAOP,UAAU,CAAA;AAC9DgB,QAAAA,OAAAA,EAAST,OAAOS,OAAO;QACvBG,OAAAA,EAAS;YACPC,eAAAA,EAAiBb,MAAAA,CAAOY,OAAO,EAAEC,eAAAA;YACjCC,SAAAA,EAAW;AACb;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const transformAttributesFromCTBToChat = (attributes)=>{
|
|
2
|
+
return attributes.reduce((acc, attribute)=>{
|
|
3
|
+
const { name, ...rest } = attribute;
|
|
4
|
+
return {
|
|
5
|
+
...acc,
|
|
6
|
+
[name]: rest
|
|
7
|
+
};
|
|
8
|
+
}, {});
|
|
9
|
+
};
|
|
10
|
+
const transformCTBToChat = (schema)=>{
|
|
11
|
+
if (schema.modelType === 'component') {
|
|
12
|
+
return {
|
|
13
|
+
category: schema.category,
|
|
14
|
+
kind: 'component',
|
|
15
|
+
action: 'create',
|
|
16
|
+
modelType: 'component',
|
|
17
|
+
description: schema.info.description,
|
|
18
|
+
name: schema.info.displayName,
|
|
19
|
+
uid: schema.uid,
|
|
20
|
+
attributes: transformAttributesFromCTBToChat(schema.attributes),
|
|
21
|
+
sources: schema.sources
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
kind: schema.kind,
|
|
26
|
+
modelType: schema.modelType,
|
|
27
|
+
description: schema.info.description,
|
|
28
|
+
action: 'create',
|
|
29
|
+
name: schema.info.pluralName,
|
|
30
|
+
uid: schema.uid,
|
|
31
|
+
...schema.plugin ? {
|
|
32
|
+
plugin: schema.plugin
|
|
33
|
+
} : {},
|
|
34
|
+
attributes: transformAttributesFromCTBToChat(schema.attributes),
|
|
35
|
+
sources: schema.sources,
|
|
36
|
+
options: {
|
|
37
|
+
draftAndPublish: schema.options?.draftAndPublish,
|
|
38
|
+
localized: false
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { transformCTBToChat };
|
|
44
|
+
//# sourceMappingURL=fromCTB.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fromCTB.mjs","sources":["../../../../../../../admin/src/components/AIChat/lib/transforms/schemas/fromCTB.ts"],"sourcesContent":["import type { ContentType, Component, AnyAttribute } from '../../../../../types';\r\nimport type { Schema } from '../../types/schema';\r\n\r\ntype SchemaWithSources = (ContentType | Component) & { sources?: unknown };\r\n\r\nconst transformAttributesFromCTBToChat = (attributes: AnyAttribute[]) => {\r\n return attributes.reduce(\r\n (acc, attribute) => {\r\n const { name, ...rest } = attribute;\r\n\r\n return {\r\n ...acc,\r\n [name]: rest,\r\n };\r\n },\r\n {} as Record<string, Omit<AnyAttribute, 'name'>>\r\n );\r\n};\r\n\r\nexport const transformCTBToChat = (schema: SchemaWithSources): Schema => {\r\n if (schema.modelType === 'component') {\r\n return {\r\n category: schema.category,\r\n kind: 'component',\r\n action: 'create',\r\n modelType: 'component',\r\n description: schema.info.description,\r\n name: schema.info.displayName,\r\n\r\n uid: schema.uid,\r\n attributes: transformAttributesFromCTBToChat(schema.attributes),\r\n sources: schema.sources,\r\n } satisfies Schema;\r\n }\r\n\r\n return {\r\n kind: schema.kind,\r\n modelType: schema.modelType,\r\n description: schema.info.description,\r\n action: 'create',\r\n name: schema.info.pluralName,\r\n uid: schema.uid,\r\n ...(schema.plugin ? { plugin: schema.plugin } : {}),\r\n attributes: transformAttributesFromCTBToChat(schema.attributes),\r\n sources: schema.sources,\r\n options: {\r\n draftAndPublish: schema.options?.draftAndPublish,\r\n localized: false,\r\n },\r\n } satisfies Schema;\r\n};\r\n"],"names":["transformAttributesFromCTBToChat","attributes","reduce","acc","attribute","name","rest","transformCTBToChat","schema","modelType","category","kind","action","description","info","displayName","uid","sources","pluralName","plugin","options","draftAndPublish","localized"],"mappings":"AAKA,MAAMA,mCAAmC,CAACC,UAAAA,GAAAA;AACxC,IAAA,OAAOA,UAAAA,CAAWC,MAAM,CACtB,CAACC,GAAAA,EAAKC,SAAAA,GAAAA;AACJ,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAGC,MAAM,GAAGF,SAAAA;QAE1B,OAAO;AACL,YAAA,GAAGD,GAAG;AACN,YAAA,CAACE,OAAOC;AACV,SAAA;AACF,IAAA,CAAA,EACA,EAAC,CAAA;AAEL,CAAA;AAEO,MAAMC,qBAAqB,CAACC,MAAAA,GAAAA;IACjC,IAAIA,MAAAA,CAAOC,SAAS,KAAK,WAAA,EAAa;QACpC,OAAO;AACLC,YAAAA,QAAAA,EAAUF,OAAOE,QAAQ;YACzBC,IAAAA,EAAM,WAAA;YACNC,MAAAA,EAAQ,QAAA;YACRH,SAAAA,EAAW,WAAA;YACXI,WAAAA,EAAaL,MAAAA,CAAOM,IAAI,CAACD,WAAW;YACpCR,IAAAA,EAAMG,MAAAA,CAAOM,IAAI,CAACC,WAAW;AAE7BC,YAAAA,GAAAA,EAAKR,OAAOQ,GAAG;YACff,UAAAA,EAAYD,gCAAAA,CAAiCQ,OAAOP,UAAU,CAAA;AAC9DgB,YAAAA,OAAAA,EAAST,OAAOS;AAClB,SAAA;AACF,IAAA;IAEA,OAAO;AACLN,QAAAA,IAAAA,EAAMH,OAAOG,IAAI;AACjBF,QAAAA,SAAAA,EAAWD,OAAOC,SAAS;QAC3BI,WAAAA,EAAaL,MAAAA,CAAOM,IAAI,CAACD,WAAW;QACpCD,MAAAA,EAAQ,QAAA;QACRP,IAAAA,EAAMG,MAAAA,CAAOM,IAAI,CAACI,UAAU;AAC5BF,QAAAA,GAAAA,EAAKR,OAAOQ,GAAG;QACf,GAAIR,MAAAA,CAAOW,MAAM,GAAG;AAAEA,YAAAA,MAAAA,EAAQX,OAAOW;AAAO,SAAA,GAAI,EAAE;QAClDlB,UAAAA,EAAYD,gCAAAA,CAAiCQ,OAAOP,UAAU,CAAA;AAC9DgB,QAAAA,OAAAA,EAAST,OAAOS,OAAO;QACvBG,OAAAA,EAAS;YACPC,eAAAA,EAAiBb,MAAAA,CAAOY,OAAO,EAAEC,eAAAA;YACjCC,SAAAA,EAAW;AACb;AACF,KAAA;AACF;;;;"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var isEqual = require('lodash/isEqual');
|
|
4
|
+
var omit = require('lodash/omit');
|
|
5
|
+
var pluralize = require('pluralize');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var isEqual__default = /*#__PURE__*/_interopDefault(isEqual);
|
|
10
|
+
var omit__default = /*#__PURE__*/_interopDefault(omit);
|
|
11
|
+
var pluralize__default = /*#__PURE__*/_interopDefault(pluralize);
|
|
12
|
+
|
|
13
|
+
const isPluginContentTypeUid = (uid)=>uid.startsWith('plugin::');
|
|
14
|
+
const isContentTypeKind = (kind)=>{
|
|
15
|
+
return kind === 'collectionType' || kind === 'singleType';
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Plugin / extension content-types use server-derived identity (globalId, collectionName, …).
|
|
19
|
+
* The AI chat uses a simplified shape that would otherwise overwrite those fields incorrectly.
|
|
20
|
+
*/ const isPluginContentType = (schema, oldSchema)=>{
|
|
21
|
+
if (schema.plugin || isPluginContentTypeUid(schema.uid)) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
if (oldSchema && 'modelType' in oldSchema && oldSchema.modelType === 'contentType') {
|
|
25
|
+
const ct = oldSchema;
|
|
26
|
+
return Boolean(ct.plugin) || isPluginContentTypeUid(String(ct.uid));
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
};
|
|
30
|
+
const ACTION_TO_STATUS = {
|
|
31
|
+
create: 'NEW',
|
|
32
|
+
remove: 'REMOVED',
|
|
33
|
+
update: 'CHANGED'
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new attribute with the specified status
|
|
37
|
+
*/ const createAttributeWithStatus = (name, attributeData, status)=>({
|
|
38
|
+
...attributeData,
|
|
39
|
+
name,
|
|
40
|
+
status
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Determines the status of an attribute by comparing new and old versions
|
|
44
|
+
*/ const determineAttributeStatus = (newAttr, oldAttr, oldSchema)=>{
|
|
45
|
+
if (!oldAttr) {
|
|
46
|
+
return 'NEW';
|
|
47
|
+
}
|
|
48
|
+
// If the schema was already new, don't mark attributes as changed, keep them as new.
|
|
49
|
+
if (oldSchema?.status === 'NEW') {
|
|
50
|
+
return 'NEW';
|
|
51
|
+
}
|
|
52
|
+
// Compare attributes without the status field to determine if they've changed
|
|
53
|
+
const newAttrWithoutStatus = omit__default.default(newAttr, [
|
|
54
|
+
'status'
|
|
55
|
+
]);
|
|
56
|
+
const oldAttrWithoutStatus = omit__default.default(oldAttr, [
|
|
57
|
+
'status'
|
|
58
|
+
]);
|
|
59
|
+
if (!isEqual__default.default(newAttrWithoutStatus, oldAttrWithoutStatus)) {
|
|
60
|
+
return 'CHANGED';
|
|
61
|
+
}
|
|
62
|
+
// If unchanged, keep the previous status
|
|
63
|
+
return oldAttr.status;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Determines the status of a schema by comparing action and checking if oldSchema exists
|
|
67
|
+
*/ const transformStatusFromChatToCTB = (schema, oldSchema)=>{
|
|
68
|
+
// If schema has an action, use the mapped status
|
|
69
|
+
if (schema.action) {
|
|
70
|
+
return ACTION_TO_STATUS[schema.action];
|
|
71
|
+
}
|
|
72
|
+
// If oldSchema doesn't exist, it's a new schema
|
|
73
|
+
if (!oldSchema) {
|
|
74
|
+
return 'NEW';
|
|
75
|
+
}
|
|
76
|
+
// If no action is specified and oldSchema exists, keep the existing status
|
|
77
|
+
return oldSchema.status;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Transform attributes from Chat format to CTB format
|
|
81
|
+
* Also performs a diff to determine the status of each attribute
|
|
82
|
+
*/ const transformAttributesFromChatToCTB = ({ action, attributes }, oldSchema)=>{
|
|
83
|
+
// If it's a new schema or no oldAttributes provided, all attributes are NEW
|
|
84
|
+
if (action === 'create' || !oldSchema) {
|
|
85
|
+
return Object.entries(attributes).map(([name, attribute])=>createAttributeWithStatus(name, attribute, 'NEW'));
|
|
86
|
+
}
|
|
87
|
+
// Convert old attributes array to a lookup map for faster access
|
|
88
|
+
const oldAttributesMap = oldSchema.attributes.reduce((acc, attr)=>({
|
|
89
|
+
...acc,
|
|
90
|
+
[attr.name]: attr
|
|
91
|
+
}), {});
|
|
92
|
+
// Process current attributes (new and changed)
|
|
93
|
+
const processedAttributes = Object.entries(attributes).map(([name, attr])=>{
|
|
94
|
+
const oldAttr = oldAttributesMap[name];
|
|
95
|
+
const status = determineAttributeStatus({
|
|
96
|
+
...attr,
|
|
97
|
+
name
|
|
98
|
+
}, oldAttr, oldSchema);
|
|
99
|
+
return createAttributeWithStatus(name, attr, status);
|
|
100
|
+
});
|
|
101
|
+
// No need to mark removed attributes if the old schema is new, just remove it from the list
|
|
102
|
+
// TODO: Else a validation error occurs on the backend side.
|
|
103
|
+
if (oldSchema?.status === 'NEW') {
|
|
104
|
+
return processedAttributes;
|
|
105
|
+
}
|
|
106
|
+
// Find removed attributes (exist in old but not in new)
|
|
107
|
+
const removedAttributes = Object.entries(oldAttributesMap).filter(([name])=>!attributes[name]).map(([name, oldAttr])=>createAttributeWithStatus(name, oldAttr, 'REMOVED'));
|
|
108
|
+
// Combine both sets of attributes
|
|
109
|
+
return [
|
|
110
|
+
...processedAttributes,
|
|
111
|
+
...removedAttributes
|
|
112
|
+
];
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Transform schema format
|
|
116
|
+
* AI chat -> CTB
|
|
117
|
+
*
|
|
118
|
+
* The AI chat returns a simplified format, and this layer transforms it to be compatible with the CTB reducer.
|
|
119
|
+
*
|
|
120
|
+
* We need to keep track of which changes have been made
|
|
121
|
+
*/ const transformChatToCTB = (schema, oldSchema)=>{
|
|
122
|
+
const singularName = pluralize__default.default.singular(schema.name).toLowerCase().replace(/ /g, '-');
|
|
123
|
+
const pluralName = pluralize__default.default.plural(schema.name).toLowerCase().replace(/ /g, '-');
|
|
124
|
+
if (schema.modelType === 'component') {
|
|
125
|
+
return {
|
|
126
|
+
category: schema.category || 'default',
|
|
127
|
+
modelName: singularName,
|
|
128
|
+
attributes: transformAttributesFromChatToCTB(schema, oldSchema),
|
|
129
|
+
info: {
|
|
130
|
+
displayName: schema.name,
|
|
131
|
+
description: schema.description
|
|
132
|
+
},
|
|
133
|
+
modelType: schema.modelType,
|
|
134
|
+
uid: schema.uid,
|
|
135
|
+
collectionName: pluralName,
|
|
136
|
+
status: transformStatusFromChatToCTB(schema, oldSchema),
|
|
137
|
+
globalId: singularName
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const previousContentType = oldSchema?.modelType === 'contentType' ? oldSchema : undefined;
|
|
141
|
+
const kind = isContentTypeKind(schema.kind) ? schema.kind : 'collectionType';
|
|
142
|
+
const contentTypeBase = {
|
|
143
|
+
uid: schema.uid,
|
|
144
|
+
modelType: 'contentType',
|
|
145
|
+
modelName: singularName,
|
|
146
|
+
kind,
|
|
147
|
+
info: {
|
|
148
|
+
displayName: schema.name.charAt(0).toUpperCase() + schema.name.slice(1),
|
|
149
|
+
// Always keep the old by default
|
|
150
|
+
singularName: previousContentType?.info.singularName ?? singularName,
|
|
151
|
+
// Always keep the old by default
|
|
152
|
+
pluralName: previousContentType?.info.pluralName ?? pluralName
|
|
153
|
+
},
|
|
154
|
+
collectionName: pluralName,
|
|
155
|
+
attributes: transformAttributesFromChatToCTB(schema, oldSchema),
|
|
156
|
+
options: {
|
|
157
|
+
draftAndPublish: schema.options?.draftAndPublish ?? true
|
|
158
|
+
},
|
|
159
|
+
pluginOptions: {
|
|
160
|
+
i18n: {
|
|
161
|
+
localized: schema.options?.localized ?? false
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
visible: true,
|
|
165
|
+
status: transformStatusFromChatToCTB(schema, oldSchema),
|
|
166
|
+
globalId: singularName,
|
|
167
|
+
restrictRelationsTo: null
|
|
168
|
+
};
|
|
169
|
+
if (isPluginContentType(schema, oldSchema) && oldSchema && oldSchema.modelType === 'contentType') {
|
|
170
|
+
const prev = oldSchema;
|
|
171
|
+
return {
|
|
172
|
+
...contentTypeBase,
|
|
173
|
+
plugin: prev.plugin ?? schema.plugin,
|
|
174
|
+
globalId: prev.globalId,
|
|
175
|
+
modelName: prev.modelName,
|
|
176
|
+
collectionName: prev.collectionName,
|
|
177
|
+
info: {
|
|
178
|
+
...contentTypeBase.info,
|
|
179
|
+
singularName: prev.info.singularName,
|
|
180
|
+
pluralName: prev.info.pluralName
|
|
181
|
+
},
|
|
182
|
+
options: {
|
|
183
|
+
...prev.options,
|
|
184
|
+
...contentTypeBase.options,
|
|
185
|
+
draftAndPublish: schema.options?.draftAndPublish ?? prev.options?.draftAndPublish ?? true
|
|
186
|
+
},
|
|
187
|
+
pluginOptions: {
|
|
188
|
+
...prev.pluginOptions,
|
|
189
|
+
...contentTypeBase.pluginOptions,
|
|
190
|
+
i18n: {
|
|
191
|
+
...prev.pluginOptions?.i18n,
|
|
192
|
+
...contentTypeBase.pluginOptions?.i18n,
|
|
193
|
+
localized: schema.options?.localized ?? prev.pluginOptions?.i18n?.localized ?? false
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
visible: prev.visible,
|
|
197
|
+
restrictRelationsTo: prev.restrictRelationsTo
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
if (isPluginContentType(schema, oldSchema) && schema.plugin) {
|
|
201
|
+
return {
|
|
202
|
+
...contentTypeBase,
|
|
203
|
+
plugin: schema.plugin
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return contentTypeBase;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
exports.transformAttributesFromChatToCTB = transformAttributesFromChatToCTB;
|
|
210
|
+
exports.transformChatToCTB = transformChatToCTB;
|
|
211
|
+
//# sourceMappingURL=toCTB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toCTB.js","sources":["../../../../../../../admin/src/components/AIChat/lib/transforms/schemas/toCTB.ts"],"sourcesContent":["import isEqual from 'lodash/isEqual';\r\nimport omit from 'lodash/omit';\r\nimport pluralize from 'pluralize';\r\n\r\nimport type { ContentType, Component, AnyAttribute } from '../../../../../types';\r\nimport type { Schema, SchemaAttribute } from '../../types/schema';\r\nimport type { Struct, UID } from '@strapi/types';\r\n\r\nconst isPluginContentTypeUid = (uid: string) => uid.startsWith('plugin::');\r\n\r\nconst isContentTypeKind = (kind: Schema['kind']): kind is Struct.ContentTypeKind => {\r\n return kind === 'collectionType' || kind === 'singleType';\r\n};\r\n\r\n/**\r\n * Plugin / extension content-types use server-derived identity (globalId, collectionName, …).\r\n * The AI chat uses a simplified shape that would otherwise overwrite those fields incorrectly.\r\n */\r\nconst isPluginContentType = (schema: Schema, oldSchema?: ContentType | Component): boolean => {\r\n if (schema.plugin || isPluginContentTypeUid(schema.uid)) {\r\n return true;\r\n }\r\n if (oldSchema && 'modelType' in oldSchema && oldSchema.modelType === 'contentType') {\r\n const ct = oldSchema as ContentType;\r\n return Boolean(ct.plugin) || isPluginContentTypeUid(String(ct.uid));\r\n }\r\n return false;\r\n};\r\n\r\nconst ACTION_TO_STATUS: Record<Schema['action'], ContentType['status']> = {\r\n create: 'NEW',\r\n remove: 'REMOVED',\r\n update: 'CHANGED',\r\n};\r\n\r\n/**\r\n * Creates a new attribute with the specified status\r\n */\r\nconst createAttributeWithStatus = (\r\n name: string,\r\n attributeData: SchemaAttribute | AnyAttribute,\r\n status: AnyAttribute['status']\r\n): AnyAttribute =>\r\n ({\r\n ...attributeData,\r\n name,\r\n status,\r\n }) as AnyAttribute;\r\n\r\n/**\r\n * Determines the status of an attribute by comparing new and old versions\r\n */\r\nconst determineAttributeStatus = (\r\n newAttr: Record<string, unknown>,\r\n oldAttr?: AnyAttribute,\r\n oldSchema?: ContentType | Component\r\n): AnyAttribute['status'] => {\r\n if (!oldAttr) {\r\n return 'NEW';\r\n }\r\n\r\n // If the schema was already new, don't mark attributes as changed, keep them as new.\r\n if (oldSchema?.status === 'NEW') {\r\n return 'NEW';\r\n }\r\n\r\n // Compare attributes without the status field to determine if they've changed\r\n const newAttrWithoutStatus = omit(newAttr, ['status']);\r\n const oldAttrWithoutStatus = omit(oldAttr, ['status']);\r\n\r\n if (!isEqual(newAttrWithoutStatus, oldAttrWithoutStatus)) {\r\n return 'CHANGED';\r\n }\r\n\r\n // If unchanged, keep the previous status\r\n return oldAttr.status;\r\n};\r\n\r\n/**\r\n * Determines the status of a schema by comparing action and checking if oldSchema exists\r\n */\r\nconst transformStatusFromChatToCTB = (\r\n schema: Schema,\r\n oldSchema?: ContentType | Component\r\n): ContentType['status'] => {\r\n // If schema has an action, use the mapped status\r\n if (schema.action) {\r\n return ACTION_TO_STATUS[schema.action];\r\n }\r\n\r\n // If oldSchema doesn't exist, it's a new schema\r\n if (!oldSchema) {\r\n return 'NEW';\r\n }\r\n\r\n // If no action is specified and oldSchema exists, keep the existing status\r\n return oldSchema.status;\r\n};\r\n\r\n/**\r\n * Transform attributes from Chat format to CTB format\r\n * Also performs a diff to determine the status of each attribute\r\n */\r\nexport const transformAttributesFromChatToCTB = (\r\n { action, attributes }: Schema,\r\n oldSchema?: ContentType | Component\r\n): AnyAttribute[] => {\r\n // If it's a new schema or no oldAttributes provided, all attributes are NEW\r\n if (action === 'create' || !oldSchema) {\r\n return Object.entries(attributes).map(([name, attribute]) =>\r\n createAttributeWithStatus(name, attribute, 'NEW')\r\n );\r\n }\r\n\r\n // Convert old attributes array to a lookup map for faster access\r\n const oldAttributesMap = oldSchema.attributes.reduce(\r\n (acc, attr) => ({ ...acc, [attr.name]: attr }),\r\n {} as Record<string, AnyAttribute>\r\n );\r\n\r\n // Process current attributes (new and changed)\r\n const processedAttributes = Object.entries(attributes).map(([name, attr]) => {\r\n const oldAttr = oldAttributesMap[name];\r\n const status = determineAttributeStatus({ ...attr, name }, oldAttr, oldSchema);\r\n\r\n return createAttributeWithStatus(name, attr, status);\r\n });\r\n\r\n // No need to mark removed attributes if the old schema is new, just remove it from the list\r\n // TODO: Else a validation error occurs on the backend side.\r\n if (oldSchema?.status === 'NEW') {\r\n return processedAttributes;\r\n }\r\n\r\n // Find removed attributes (exist in old but not in new)\r\n const removedAttributes = Object.entries(oldAttributesMap)\r\n .filter(([name]) => !attributes[name])\r\n .map(([name, oldAttr]) => createAttributeWithStatus(name, oldAttr, 'REMOVED'));\r\n\r\n // Combine both sets of attributes\r\n return [...processedAttributes, ...removedAttributes];\r\n};\r\n\r\n/**\r\n * Transform schema format\r\n * AI chat -> CTB\r\n *\r\n * The AI chat returns a simplified format, and this layer transforms it to be compatible with the CTB reducer.\r\n *\r\n * We need to keep track of which changes have been made\r\n */\r\nexport const transformChatToCTB = (\r\n schema: Schema,\r\n oldSchema?: ContentType | Component\r\n): ContentType | Component => {\r\n const singularName = pluralize.singular(schema.name).toLowerCase().replace(/ /g, '-');\r\n const pluralName = pluralize.plural(schema.name).toLowerCase().replace(/ /g, '-');\r\n\r\n if (schema.modelType === 'component') {\r\n return {\r\n category: schema.category || 'default',\r\n modelName: singularName,\r\n attributes: transformAttributesFromChatToCTB(schema, oldSchema),\r\n info: {\r\n displayName: schema.name,\r\n description: schema.description,\r\n // TODO\r\n // icon: schema.icon,\r\n },\r\n modelType: schema.modelType,\r\n uid: schema.uid as UID.Component,\r\n collectionName: pluralName,\r\n status: transformStatusFromChatToCTB(schema, oldSchema),\r\n globalId: singularName,\r\n } satisfies Component;\r\n }\r\n\r\n const previousContentType = oldSchema?.modelType === 'contentType' ? oldSchema : undefined;\r\n const kind = isContentTypeKind(schema.kind) ? schema.kind : 'collectionType';\r\n\r\n const contentTypeBase = {\r\n uid: schema.uid as UID.ContentType,\r\n modelType: 'contentType',\r\n modelName: singularName,\r\n kind,\r\n info: {\r\n displayName: schema.name.charAt(0).toUpperCase() + schema.name.slice(1),\r\n // Always keep the old by default\r\n singularName: previousContentType?.info.singularName ?? singularName,\r\n // Always keep the old by default\r\n pluralName: previousContentType?.info.pluralName ?? pluralName,\r\n },\r\n collectionName: pluralName,\r\n attributes: transformAttributesFromChatToCTB(schema, oldSchema),\r\n options: {\r\n draftAndPublish: schema.options?.draftAndPublish ?? true,\r\n },\r\n pluginOptions: {\r\n i18n: {\r\n localized: schema.options?.localized ?? false,\r\n },\r\n },\r\n visible: true,\r\n status: transformStatusFromChatToCTB(schema, oldSchema),\r\n globalId: singularName,\r\n restrictRelationsTo: null, // TODO: not sure what this is about\r\n } satisfies ContentType;\r\n\r\n if (\r\n isPluginContentType(schema, oldSchema) &&\r\n oldSchema &&\r\n oldSchema.modelType === 'contentType'\r\n ) {\r\n const prev = oldSchema as ContentType;\r\n return {\r\n ...contentTypeBase,\r\n plugin: prev.plugin ?? schema.plugin,\r\n globalId: prev.globalId,\r\n modelName: prev.modelName,\r\n collectionName: prev.collectionName,\r\n info: {\r\n ...contentTypeBase.info,\r\n singularName: prev.info.singularName,\r\n pluralName: prev.info.pluralName,\r\n },\r\n options: {\r\n ...prev.options,\r\n ...contentTypeBase.options,\r\n draftAndPublish: schema.options?.draftAndPublish ?? prev.options?.draftAndPublish ?? true,\r\n },\r\n pluginOptions: {\r\n ...prev.pluginOptions,\r\n ...contentTypeBase.pluginOptions,\r\n i18n: {\r\n ...(prev.pluginOptions?.i18n as Record<string, unknown> | undefined),\r\n ...(contentTypeBase.pluginOptions?.i18n as Record<string, unknown> | undefined),\r\n localized:\r\n schema.options?.localized ??\r\n (prev.pluginOptions?.i18n as { localized?: boolean } | undefined)?.localized ??\r\n false,\r\n },\r\n },\r\n visible: prev.visible,\r\n restrictRelationsTo: prev.restrictRelationsTo,\r\n } satisfies ContentType;\r\n }\r\n\r\n if (isPluginContentType(schema, oldSchema) && schema.plugin) {\r\n return {\r\n ...contentTypeBase,\r\n plugin: schema.plugin,\r\n } satisfies ContentType;\r\n }\r\n\r\n return contentTypeBase;\r\n};\r\n"],"names":["isPluginContentTypeUid","uid","startsWith","isContentTypeKind","kind","isPluginContentType","schema","oldSchema","plugin","modelType","ct","Boolean","String","ACTION_TO_STATUS","create","remove","update","createAttributeWithStatus","name","attributeData","status","determineAttributeStatus","newAttr","oldAttr","newAttrWithoutStatus","omit","oldAttrWithoutStatus","isEqual","transformStatusFromChatToCTB","action","transformAttributesFromChatToCTB","attributes","Object","entries","map","attribute","oldAttributesMap","reduce","acc","attr","processedAttributes","removedAttributes","filter","transformChatToCTB","singularName","pluralize","singular","toLowerCase","replace","pluralName","plural","category","modelName","info","displayName","description","collectionName","globalId","previousContentType","undefined","contentTypeBase","charAt","toUpperCase","slice","options","draftAndPublish","pluginOptions","i18n","localized","visible","restrictRelationsTo","prev"],"mappings":"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"}
|