@delmaredigital/payload-puck 0.6.12 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -1
- package/dist/admin/EditWithPuckButton.d.ts +1 -2
- package/dist/admin/EditWithPuckButton.js +64 -26
- package/dist/admin/EditWithPuckCell.d.ts +0 -1
- package/dist/admin/EditWithPuckCell.js +42 -14
- package/dist/admin/PuckEditorView.d.ts +1 -2
- package/dist/admin/PuckEditorView.js +117 -33
- package/dist/admin/client.d.ts +2 -3
- package/dist/admin/client.js +3 -5
- package/dist/admin/generateAdminComponents.d.ts +0 -1
- package/dist/admin/generateAdminComponents.js +6 -8
- package/dist/admin/index.d.ts +5 -6
- package/dist/admin/index.js +2 -3
- package/dist/ai/collections/AiContext.d.ts +0 -1
- package/dist/ai/collections/AiContext.js +55 -30
- package/dist/ai/collections/AiPrompts.d.ts +0 -1
- package/dist/ai/collections/AiPrompts.js +23 -20
- package/dist/ai/createAiApiRoutes.d.ts +0 -1
- package/dist/ai/createAiApiRoutes.js +27 -20
- package/dist/ai/createAiGenerate.d.ts +0 -1
- package/dist/ai/createAiGenerate.js +6 -9
- package/dist/ai/createAiPlugin.d.ts +0 -1
- package/dist/ai/createAiPlugin.js +6 -10
- package/dist/ai/hooks/useAiContext.d.ts +0 -1
- package/dist/ai/hooks/useAiContext.js +49 -40
- package/dist/ai/hooks/useAiPrompts.d.ts +0 -1
- package/dist/ai/hooks/useAiPrompts.js +32 -26
- package/dist/ai/index.d.ts +0 -1
- package/dist/ai/index.js +8 -11
- package/dist/ai/plugins/ContextEditorPanel.d.ts +1 -2
- package/dist/ai/plugins/ContextEditorPanel.js +398 -108
- package/dist/ai/plugins/PromptEditorPanel.d.ts +1 -2
- package/dist/ai/plugins/PromptEditorPanel.js +236 -52
- package/dist/ai/plugins/contextEditorPlugin.d.ts +0 -1
- package/dist/ai/plugins/contextEditorPlugin.js +11 -6
- package/dist/ai/plugins/promptApiRoutes.d.ts +0 -1
- package/dist/ai/plugins/promptApiRoutes.js +118 -51
- package/dist/ai/plugins/promptEditorPlugin.d.ts +0 -1
- package/dist/ai/plugins/promptEditorPlugin.js +11 -6
- package/dist/ai/presets/componentAiDefaults.d.ts +0 -1
- package/dist/ai/presets/componentAiDefaults.js +107 -84
- package/dist/ai/presets/index.d.ts +0 -1
- package/dist/ai/presets/index.js +11 -19
- package/dist/ai/presets/instructions/interactive.d.ts +0 -1
- package/dist/ai/presets/instructions/interactive.js +84 -76
- package/dist/ai/presets/instructions/layout.d.ts +0 -1
- package/dist/ai/presets/instructions/layout.js +121 -118
- package/dist/ai/presets/instructions/media.d.ts +0 -1
- package/dist/ai/presets/instructions/media.js +30 -30
- package/dist/ai/presets/instructions/pagePatterns.d.ts +0 -1
- package/dist/ai/presets/instructions/pagePatterns.js +3 -7
- package/dist/ai/presets/instructions/schemas.d.ts +0 -1
- package/dist/ai/presets/instructions/schemas.js +494 -138
- package/dist/ai/presets/instructions/typography.d.ts +0 -1
- package/dist/ai/presets/instructions/typography.js +37 -34
- package/dist/ai/tools/index.d.ts +0 -1
- package/dist/ai/tools/index.js +91 -56
- package/dist/ai/types.d.ts +0 -1
- package/dist/ai/types.js +6 -2
- package/dist/ai/utils/injectAiConfig.d.ts +0 -1
- package/dist/ai/utils/injectAiConfig.js +32 -41
- package/dist/api/createPuckApiRoutes.d.ts +1 -2
- package/dist/api/createPuckApiRoutes.js +122 -66
- package/dist/api/createPuckApiRoutesVersions.d.ts +1 -2
- package/dist/api/createPuckApiRoutesVersions.js +87 -38
- package/dist/api/createPuckApiRoutesWithId.d.ts +1 -2
- package/dist/api/createPuckApiRoutesWithId.js +165 -73
- package/dist/api/index.d.ts +5 -6
- package/dist/api/index.js +5 -7
- package/dist/api/payload-config.d.js +14 -0
- package/dist/api/types.d.ts +0 -1
- package/dist/api/types.js +3 -2
- package/dist/api/utils/mapRootProps.d.ts +1 -2
- package/dist/api/utils/mapRootProps.js +76 -45
- package/dist/collections/Templates.d.ts +0 -1
- package/dist/collections/Templates.js +23 -21
- package/dist/components/AccordionClient.d.ts +2 -3
- package/dist/components/AccordionClient.js +80 -23
- package/dist/components/AnimatedWrapper.d.ts +2 -3
- package/dist/components/AnimatedWrapper.js +30 -17
- package/dist/components/exports.d.ts +0 -1
- package/dist/components/exports.js +1 -3
- package/dist/components/index.d.ts +5 -6
- package/dist/components/index.js +6 -8
- package/dist/components/interactive/Accordion.d.ts +1 -2
- package/dist/components/interactive/Accordion.js +148 -56
- package/dist/components/interactive/Accordion.server.d.ts +1 -2
- package/dist/components/interactive/Accordion.server.js +24 -8
- package/dist/components/interactive/Button.d.ts +3 -4
- package/dist/components/interactive/Button.js +88 -44
- package/dist/components/interactive/Button.server.d.ts +2 -3
- package/dist/components/interactive/Button.server.js +39 -21
- package/dist/components/interactive/Card.d.ts +3 -4
- package/dist/components/interactive/Card.js +130 -40
- package/dist/components/interactive/Card.server.d.ts +3 -4
- package/dist/components/interactive/Card.server.js +71 -12
- package/dist/components/interactive/Divider.d.ts +1 -2
- package/dist/components/interactive/Divider.js +53 -27
- package/dist/components/interactive/Divider.server.d.ts +1 -2
- package/dist/components/interactive/Divider.server.js +27 -13
- package/dist/components/interactive/index.d.ts +4 -5
- package/dist/components/interactive/index.js +4 -6
- package/dist/components/layout/Container.d.ts +1 -2
- package/dist/components/layout/Container.js +100 -48
- package/dist/components/layout/Container.server.d.ts +1 -2
- package/dist/components/layout/Container.server.js +66 -20
- package/dist/components/layout/Flex.d.ts +2 -3
- package/dist/components/layout/Flex.js +123 -56
- package/dist/components/layout/Flex.server.d.ts +1 -2
- package/dist/components/layout/Flex.server.js +49 -15
- package/dist/components/layout/Grid.d.ts +1 -2
- package/dist/components/layout/Grid.js +92 -45
- package/dist/components/layout/Grid.server.d.ts +1 -2
- package/dist/components/layout/Grid.server.js +55 -15
- package/dist/components/layout/Section.d.ts +1 -2
- package/dist/components/layout/Section.js +146 -65
- package/dist/components/layout/Section.server.d.ts +1 -2
- package/dist/components/layout/Section.server.js +91 -29
- package/dist/components/layout/Spacer.d.ts +1 -2
- package/dist/components/layout/Spacer.js +79 -31
- package/dist/components/layout/Spacer.server.d.ts +1 -2
- package/dist/components/layout/Spacer.server.js +30 -10
- package/dist/components/layout/Template.d.ts +1 -2
- package/dist/components/layout/Template.js +57 -31
- package/dist/components/layout/Template.server.d.ts +1 -2
- package/dist/components/layout/Template.server.js +42 -12
- package/dist/components/layout/index.d.ts +8 -9
- package/dist/components/layout/index.js +7 -9
- package/dist/components/media/Image.d.ts +3 -4
- package/dist/components/media/Image.js +121 -40
- package/dist/components/media/Image.server.d.ts +3 -4
- package/dist/components/media/Image.server.js +75 -14
- package/dist/components/media/index.d.ts +1 -2
- package/dist/components/media/index.js +1 -3
- package/dist/components/typography/Heading.d.ts +2 -3
- package/dist/components/typography/Heading.js +44 -26
- package/dist/components/typography/Heading.server.d.ts +2 -3
- package/dist/components/typography/Heading.server.js +15 -11
- package/dist/components/typography/RichText.editor.d.ts +1 -2
- package/dist/components/typography/RichText.editor.js +43 -20
- package/dist/components/typography/RichText.server.d.ts +2 -3
- package/dist/components/typography/RichText.server.js +32 -15
- package/dist/components/typography/Text.d.ts +2 -3
- package/dist/components/typography/Text.js +48 -24
- package/dist/components/typography/Text.server.d.ts +2 -3
- package/dist/components/typography/Text.server.js +20 -9
- package/dist/components/typography/index.d.ts +4 -5
- package/dist/components/typography/index.js +4 -6
- package/dist/config/config.editor.d.ts +3 -4
- package/dist/config/config.editor.js +118 -55
- package/dist/config/index.d.ts +4 -5
- package/dist/config/index.js +61 -36
- package/dist/config/merge.d.ts +1 -2
- package/dist/config/merge.js +22 -27
- package/dist/config/presets.d.ts +4 -5
- package/dist/config/presets.js +194 -76
- package/dist/config/types.d.ts +0 -1
- package/dist/config/types.js +5 -3
- package/dist/editor/PuckEditor.d.ts +4 -5
- package/dist/editor/PuckEditor.js +161 -71
- package/dist/editor/PuckEditorImpl.client.d.ts +4 -5
- package/dist/editor/PuckEditorImpl.client.js +303 -153
- package/dist/editor/components/DarkModeStyles.d.ts +0 -1
- package/dist/editor/components/DarkModeStyles.js +10 -13
- package/dist/editor/components/HeaderActions.d.ts +0 -1
- package/dist/editor/components/HeaderActions.js +307 -65
- package/dist/editor/components/IframeWrapper.d.ts +1 -2
- package/dist/editor/components/IframeWrapper.js +81 -59
- package/dist/editor/components/LoadingState.d.ts +1 -2
- package/dist/editor/components/LoadingState.js +16 -4
- package/dist/editor/components/PreviewModal.d.ts +0 -1
- package/dist/editor/components/PreviewModal.js +233 -79
- package/dist/editor/components/PreviewModeToggle.d.ts +0 -1
- package/dist/editor/components/PreviewModeToggle.js +42 -16
- package/dist/editor/components/VersionHistory.d.ts +0 -1
- package/dist/editor/components/VersionHistory.js +218 -72
- package/dist/editor/hooks/useDarkMode.d.ts +0 -1
- package/dist/editor/hooks/useDarkMode.js +35 -24
- package/dist/editor/hooks/useUnsavedChanges.d.ts +0 -1
- package/dist/editor/hooks/useUnsavedChanges.js +7 -9
- package/dist/editor/index.d.ts +0 -1
- package/dist/editor/index.js +4 -7
- package/dist/editor/plugins/VersionHistoryPanel.d.ts +0 -1
- package/dist/editor/plugins/VersionHistoryPanel.js +235 -76
- package/dist/editor/plugins/index.d.ts +0 -1
- package/dist/editor/plugins/index.js +3 -5
- package/dist/editor/plugins/versionHistoryPlugin.d.ts +0 -1
- package/dist/editor/plugins/versionHistoryPlugin.js +9 -9
- package/dist/editor/utils/detectPageTree.d.ts +0 -1
- package/dist/editor/utils/detectPageTree.js +4 -6
- package/dist/editor/utils/index.d.ts +0 -1
- package/dist/editor/utils/index.js +0 -1
- package/dist/editor/utils/injectPageTreeFields.d.ts +0 -1
- package/dist/editor/utils/injectPageTreeFields.js +12 -10
- package/dist/endpoints/ai.d.ts +0 -1
- package/dist/endpoints/ai.js +57 -35
- package/dist/endpoints/context.d.ts +0 -1
- package/dist/endpoints/context.js +85 -41
- package/dist/endpoints/index.d.ts +0 -1
- package/dist/endpoints/index.js +152 -77
- package/dist/endpoints/postcss.d.js +4 -0
- package/dist/endpoints/prompts.d.ts +0 -1
- package/dist/endpoints/prompts.js +80 -40
- package/dist/endpoints/styles.d.ts +0 -1
- package/dist/endpoints/styles.js +33 -37
- package/dist/exports/client.d.ts +0 -1
- package/dist/exports/client.js +1 -3
- package/dist/exports/rsc.d.ts +0 -1
- package/dist/exports/rsc.js +1 -3
- package/dist/fields/AlignmentField.d.ts +1 -2
- package/dist/fields/AlignmentField.js +92 -31
- package/dist/fields/AnimationField.d.ts +2 -3
- package/dist/fields/AnimationField.js +557 -85
- package/dist/fields/BackgroundField.d.ts +2 -3
- package/dist/fields/BackgroundField.js +753 -121
- package/dist/fields/BorderField.d.ts +2 -3
- package/dist/fields/BorderField.js +274 -74
- package/dist/fields/ColorPickerField.d.ts +2 -3
- package/dist/fields/ColorPickerField.js +209 -69
- package/dist/fields/ContentAlignmentField.d.ts +1 -2
- package/dist/fields/ContentAlignmentField.js +160 -76
- package/dist/fields/DimensionsField.d.ts +2 -3
- package/dist/fields/DimensionsField.js +574 -147
- package/dist/fields/FlexAlignmentField.d.ts +2 -3
- package/dist/fields/FlexAlignmentField.js +188 -52
- package/dist/fields/FolderPickerField.d.ts +8 -2
- package/dist/fields/FolderPickerField.js +287 -76
- package/dist/fields/GradientEditor.d.ts +2 -3
- package/dist/fields/GradientEditor.js +461 -87
- package/dist/fields/LockedField.d.ts +15 -3
- package/dist/fields/LockedField.js +179 -50
- package/dist/fields/MarginField.d.ts +2 -3
- package/dist/fields/MarginField.js +143 -47
- package/dist/fields/MediaField.d.ts +1 -2
- package/dist/fields/MediaField.js +687 -187
- package/dist/fields/PaddingField.d.ts +2 -3
- package/dist/fields/PaddingField.js +143 -47
- package/dist/fields/PageSegmentField.d.ts +15 -3
- package/dist/fields/PageSegmentField.js +155 -55
- package/dist/fields/ResetField.d.ts +1 -2
- package/dist/fields/ResetField.js +58 -32
- package/dist/fields/ResponsiveField.d.ts +1 -2
- package/dist/fields/ResponsiveField.js +232 -91
- package/dist/fields/ResponsiveVisibilityField.d.ts +2 -3
- package/dist/fields/ResponsiveVisibilityField.js +118 -37
- package/dist/fields/SizeField.d.ts +3 -4
- package/dist/fields/SizeField.js +225 -53
- package/dist/fields/SlugPreviewField.d.ts +8 -2
- package/dist/fields/SlugPreviewField.js +64 -17
- package/dist/fields/TemplateField.d.ts +1 -2
- package/dist/fields/TemplateField.js +361 -121
- package/dist/fields/TransformField.d.ts +2 -3
- package/dist/fields/TransformField.js +516 -82
- package/dist/fields/VerticalAlignmentField.d.ts +1 -2
- package/dist/fields/VerticalAlignmentField.js +92 -31
- package/dist/fields/WidthField.d.ts +2 -3
- package/dist/fields/WidthField.js +277 -82
- package/dist/fields/index.d.ts +41 -42
- package/dist/fields/index.js +36 -44
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts +13 -3
- package/dist/fields/richtext/controls/ColorPickerControl.js +211 -48
- package/dist/fields/richtext/controls/DropdownPortal.d.ts +2 -3
- package/dist/fields/richtext/controls/DropdownPortal.js +35 -5
- package/dist/fields/richtext/controls/FontSizeControl.d.ts +9 -2
- package/dist/fields/richtext/controls/FontSizeControl.js +108 -25
- package/dist/fields/richtext/controls/HighlightControl.d.ts +12 -2
- package/dist/fields/richtext/controls/HighlightControl.js +53 -18
- package/dist/fields/richtext/controls/index.d.ts +5 -6
- package/dist/fields/richtext/controls/index.js +7 -12
- package/dist/fields/richtext/controls/shared.d.ts +0 -1
- package/dist/fields/richtext/controls/shared.js +107 -64
- package/dist/fields/richtext/createRichTextField.d.ts +18 -5
- package/dist/fields/richtext/createRichTextField.js +112 -27
- package/dist/fields/richtext/extensions/FontSize.d.ts +0 -1
- package/dist/fields/richtext/extensions/FontSize.js +25 -21
- package/dist/fields/richtext/extensions/index.d.ts +1 -2
- package/dist/fields/richtext/extensions/index.js +1 -3
- package/dist/fields/richtext/index.d.ts +6 -7
- package/dist/fields/richtext/index.js +7 -9
- package/dist/fields/shared.d.ts +1 -2
- package/dist/fields/shared.js +914 -479
- package/dist/hooks/index.d.ts +2 -3
- package/dist/hooks/index.js +2 -4
- package/dist/hooks/useResponsiveStyles.d.ts +1 -2
- package/dist/hooks/useResponsiveStyles.js +35 -33
- package/dist/hooks/useScrollAnimation.d.ts +0 -1
- package/dist/hooks/useScrollAnimation.js +25 -25
- package/dist/index.d.ts +4 -5
- package/dist/index.js +4 -6
- package/dist/layouts/LayoutWrapper.d.ts +3 -4
- package/dist/layouts/LayoutWrapper.js +114 -52
- package/dist/layouts/defaults.d.ts +1 -2
- package/dist/layouts/defaults.js +22 -32
- package/dist/layouts/index.d.ts +4 -5
- package/dist/layouts/index.js +4 -5
- package/dist/layouts/types.d.ts +0 -1
- package/dist/layouts/types.js +3 -3
- package/dist/layouts/utils.d.ts +1 -2
- package/dist/layouts/utils.js +31 -41
- package/dist/next/index.d.ts +0 -1
- package/dist/next/index.js +30 -35
- package/dist/plugin/collections/Pages.d.ts +2 -3
- package/dist/plugin/collections/Pages.js +45 -44
- package/dist/plugin/fields/index.d.ts +3 -4
- package/dist/plugin/fields/index.js +99 -79
- package/dist/plugin/fields/types.d.ts +1 -2
- package/dist/plugin/fields/types.js +25 -3
- package/dist/plugin/hooks/index.d.ts +1 -2
- package/dist/plugin/hooks/index.js +1 -3
- package/dist/plugin/hooks/isHomepageUnique.d.ts +0 -1
- package/dist/plugin/hooks/isHomepageUnique.js +27 -20
- package/dist/plugin/index.d.ts +8 -9
- package/dist/plugin/index.js +189 -189
- package/dist/render/HybridPageRenderer.d.ts +2 -3
- package/dist/render/HybridPageRenderer.js +57 -11
- package/dist/render/PageRenderer.d.ts +2 -3
- package/dist/render/PageRenderer.js +30 -15
- package/dist/render/PuckEditor.client.d.ts +1 -2
- package/dist/render/PuckEditor.client.js +32 -17
- package/dist/render/index.d.ts +5 -6
- package/dist/render/index.js +4 -7
- package/dist/styles/puck-dark-mode.css +101 -0
- package/dist/theme/context.d.ts +2 -3
- package/dist/theme/context.js +20 -19
- package/dist/theme/defaults.d.ts +1 -2
- package/dist/theme/defaults.js +82 -38
- package/dist/theme/example.d.ts +1 -2
- package/dist/theme/example.js +67 -31
- package/dist/theme/index.d.ts +5 -6
- package/dist/theme/index.js +5 -6
- package/dist/theme/types.d.ts +0 -1
- package/dist/theme/types.js +5 -3
- package/dist/theme/utils.d.ts +1 -2
- package/dist/theme/utils.js +23 -26
- package/dist/types/index.d.ts +6 -7
- package/dist/types/index.js +2 -2
- package/dist/utils/index.d.ts +2 -3
- package/dist/utils/index.js +12 -23
- package/dist/utils/migration.d.ts +1 -2
- package/dist/utils/migration.js +42 -50
- package/dist/utils/validation.d.ts +1 -2
- package/dist/utils/validation.js +35 -44
- package/dist/version.d.ts +1 -2
- package/dist/version.js +1 -2
- package/dist/views/PuckConfigContext.d.ts +1 -2
- package/dist/views/PuckConfigContext.js +24 -11
- package/dist/views/PuckEditorView.d.ts +1 -2
- package/dist/views/PuckEditorView.js +105 -39
- package/dist/views/index.d.ts +0 -1
- package/dist/views/index.js +1 -3
- package/package.json +62 -42
- package/dist/admin/EditWithPuckButton.d.ts.map +0 -1
- package/dist/admin/EditWithPuckButton.js.map +0 -1
- package/dist/admin/EditWithPuckCell.d.ts.map +0 -1
- package/dist/admin/EditWithPuckCell.js.map +0 -1
- package/dist/admin/PuckEditorView.d.ts.map +0 -1
- package/dist/admin/PuckEditorView.js.map +0 -1
- package/dist/admin/client.d.ts.map +0 -1
- package/dist/admin/client.js.map +0 -1
- package/dist/admin/generateAdminComponents.d.ts.map +0 -1
- package/dist/admin/generateAdminComponents.js.map +0 -1
- package/dist/admin/index.d.ts.map +0 -1
- package/dist/admin/index.js.map +0 -1
- package/dist/ai/collections/AiContext.d.ts.map +0 -1
- package/dist/ai/collections/AiContext.js.map +0 -1
- package/dist/ai/collections/AiPrompts.d.ts.map +0 -1
- package/dist/ai/collections/AiPrompts.js.map +0 -1
- package/dist/ai/createAiApiRoutes.d.ts.map +0 -1
- package/dist/ai/createAiApiRoutes.js.map +0 -1
- package/dist/ai/createAiGenerate.d.ts.map +0 -1
- package/dist/ai/createAiGenerate.js.map +0 -1
- package/dist/ai/createAiPlugin.d.ts.map +0 -1
- package/dist/ai/createAiPlugin.js.map +0 -1
- package/dist/ai/hooks/useAiContext.d.ts.map +0 -1
- package/dist/ai/hooks/useAiContext.js.map +0 -1
- package/dist/ai/hooks/useAiPrompts.d.ts.map +0 -1
- package/dist/ai/hooks/useAiPrompts.js.map +0 -1
- package/dist/ai/index.d.ts.map +0 -1
- package/dist/ai/index.js.map +0 -1
- package/dist/ai/plugins/ContextEditorPanel.d.ts.map +0 -1
- package/dist/ai/plugins/ContextEditorPanel.js.map +0 -1
- package/dist/ai/plugins/PromptEditorPanel.d.ts.map +0 -1
- package/dist/ai/plugins/PromptEditorPanel.js.map +0 -1
- package/dist/ai/plugins/contextEditorPlugin.d.ts.map +0 -1
- package/dist/ai/plugins/contextEditorPlugin.js.map +0 -1
- package/dist/ai/plugins/promptApiRoutes.d.ts.map +0 -1
- package/dist/ai/plugins/promptApiRoutes.js.map +0 -1
- package/dist/ai/plugins/promptEditorPlugin.d.ts.map +0 -1
- package/dist/ai/plugins/promptEditorPlugin.js.map +0 -1
- package/dist/ai/presets/componentAiDefaults.d.ts.map +0 -1
- package/dist/ai/presets/componentAiDefaults.js.map +0 -1
- package/dist/ai/presets/index.d.ts.map +0 -1
- package/dist/ai/presets/index.js.map +0 -1
- package/dist/ai/presets/instructions/interactive.d.ts.map +0 -1
- package/dist/ai/presets/instructions/interactive.js.map +0 -1
- package/dist/ai/presets/instructions/layout.d.ts.map +0 -1
- package/dist/ai/presets/instructions/layout.js.map +0 -1
- package/dist/ai/presets/instructions/media.d.ts.map +0 -1
- package/dist/ai/presets/instructions/media.js.map +0 -1
- package/dist/ai/presets/instructions/pagePatterns.d.ts.map +0 -1
- package/dist/ai/presets/instructions/pagePatterns.js.map +0 -1
- package/dist/ai/presets/instructions/schemas.d.ts.map +0 -1
- package/dist/ai/presets/instructions/schemas.js.map +0 -1
- package/dist/ai/presets/instructions/typography.d.ts.map +0 -1
- package/dist/ai/presets/instructions/typography.js.map +0 -1
- package/dist/ai/tools/index.d.ts.map +0 -1
- package/dist/ai/tools/index.js.map +0 -1
- package/dist/ai/types.d.ts.map +0 -1
- package/dist/ai/types.js.map +0 -1
- package/dist/ai/utils/injectAiConfig.d.ts.map +0 -1
- package/dist/ai/utils/injectAiConfig.js.map +0 -1
- package/dist/api/createPuckApiRoutes.d.ts.map +0 -1
- package/dist/api/createPuckApiRoutes.js.map +0 -1
- package/dist/api/createPuckApiRoutesVersions.d.ts.map +0 -1
- package/dist/api/createPuckApiRoutesVersions.js.map +0 -1
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +0 -1
- package/dist/api/createPuckApiRoutesWithId.js.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js.map +0 -1
- package/dist/api/utils/mapRootProps.d.ts.map +0 -1
- package/dist/api/utils/mapRootProps.js.map +0 -1
- package/dist/collections/Templates.d.ts.map +0 -1
- package/dist/collections/Templates.js.map +0 -1
- package/dist/components/AccordionClient.d.ts.map +0 -1
- package/dist/components/AccordionClient.js.map +0 -1
- package/dist/components/AnimatedWrapper.d.ts.map +0 -1
- package/dist/components/AnimatedWrapper.js.map +0 -1
- package/dist/components/exports.d.ts.map +0 -1
- package/dist/components/exports.js.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/interactive/Accordion.d.ts.map +0 -1
- package/dist/components/interactive/Accordion.js.map +0 -1
- package/dist/components/interactive/Accordion.server.d.ts.map +0 -1
- package/dist/components/interactive/Accordion.server.js.map +0 -1
- package/dist/components/interactive/Button.d.ts.map +0 -1
- package/dist/components/interactive/Button.js.map +0 -1
- package/dist/components/interactive/Button.server.d.ts.map +0 -1
- package/dist/components/interactive/Button.server.js.map +0 -1
- package/dist/components/interactive/Card.d.ts.map +0 -1
- package/dist/components/interactive/Card.js.map +0 -1
- package/dist/components/interactive/Card.server.d.ts.map +0 -1
- package/dist/components/interactive/Card.server.js.map +0 -1
- package/dist/components/interactive/Divider.d.ts.map +0 -1
- package/dist/components/interactive/Divider.js.map +0 -1
- package/dist/components/interactive/Divider.server.d.ts.map +0 -1
- package/dist/components/interactive/Divider.server.js.map +0 -1
- package/dist/components/interactive/index.d.ts.map +0 -1
- package/dist/components/interactive/index.js.map +0 -1
- package/dist/components/layout/Container.d.ts.map +0 -1
- package/dist/components/layout/Container.js.map +0 -1
- package/dist/components/layout/Container.server.d.ts.map +0 -1
- package/dist/components/layout/Container.server.js.map +0 -1
- package/dist/components/layout/Flex.d.ts.map +0 -1
- package/dist/components/layout/Flex.js.map +0 -1
- package/dist/components/layout/Flex.server.d.ts.map +0 -1
- package/dist/components/layout/Flex.server.js.map +0 -1
- package/dist/components/layout/Grid.d.ts.map +0 -1
- package/dist/components/layout/Grid.js.map +0 -1
- package/dist/components/layout/Grid.server.d.ts.map +0 -1
- package/dist/components/layout/Grid.server.js.map +0 -1
- package/dist/components/layout/Section.d.ts.map +0 -1
- package/dist/components/layout/Section.js.map +0 -1
- package/dist/components/layout/Section.server.d.ts.map +0 -1
- package/dist/components/layout/Section.server.js.map +0 -1
- package/dist/components/layout/Spacer.d.ts.map +0 -1
- package/dist/components/layout/Spacer.js.map +0 -1
- package/dist/components/layout/Spacer.server.d.ts.map +0 -1
- package/dist/components/layout/Spacer.server.js.map +0 -1
- package/dist/components/layout/Template.d.ts.map +0 -1
- package/dist/components/layout/Template.js.map +0 -1
- package/dist/components/layout/Template.server.d.ts.map +0 -1
- package/dist/components/layout/Template.server.js.map +0 -1
- package/dist/components/layout/index.d.ts.map +0 -1
- package/dist/components/layout/index.js.map +0 -1
- package/dist/components/media/Image.d.ts.map +0 -1
- package/dist/components/media/Image.js.map +0 -1
- package/dist/components/media/Image.server.d.ts.map +0 -1
- package/dist/components/media/Image.server.js.map +0 -1
- package/dist/components/media/index.d.ts.map +0 -1
- package/dist/components/media/index.js.map +0 -1
- package/dist/components/typography/Heading.d.ts.map +0 -1
- package/dist/components/typography/Heading.js.map +0 -1
- package/dist/components/typography/Heading.server.d.ts.map +0 -1
- package/dist/components/typography/Heading.server.js.map +0 -1
- package/dist/components/typography/RichText.editor.d.ts.map +0 -1
- package/dist/components/typography/RichText.editor.js.map +0 -1
- package/dist/components/typography/RichText.server.d.ts.map +0 -1
- package/dist/components/typography/RichText.server.js.map +0 -1
- package/dist/components/typography/Text.d.ts.map +0 -1
- package/dist/components/typography/Text.js.map +0 -1
- package/dist/components/typography/Text.server.d.ts.map +0 -1
- package/dist/components/typography/Text.server.js.map +0 -1
- package/dist/components/typography/index.d.ts.map +0 -1
- package/dist/components/typography/index.js.map +0 -1
- package/dist/config/config.editor.d.ts.map +0 -1
- package/dist/config/config.editor.js.map +0 -1
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js.map +0 -1
- package/dist/config/merge.d.ts.map +0 -1
- package/dist/config/merge.js.map +0 -1
- package/dist/config/presets.d.ts.map +0 -1
- package/dist/config/presets.js.map +0 -1
- package/dist/config/types.d.ts.map +0 -1
- package/dist/config/types.js.map +0 -1
- package/dist/editor/PuckEditor.d.ts.map +0 -1
- package/dist/editor/PuckEditor.js.map +0 -1
- package/dist/editor/PuckEditorImpl.client.d.ts.map +0 -1
- package/dist/editor/PuckEditorImpl.client.js.map +0 -1
- package/dist/editor/components/DarkModeStyles.d.ts.map +0 -1
- package/dist/editor/components/DarkModeStyles.js.map +0 -1
- package/dist/editor/components/HeaderActions.d.ts.map +0 -1
- package/dist/editor/components/HeaderActions.js.map +0 -1
- package/dist/editor/components/IframeWrapper.d.ts.map +0 -1
- package/dist/editor/components/IframeWrapper.js.map +0 -1
- package/dist/editor/components/LoadingState.d.ts.map +0 -1
- package/dist/editor/components/LoadingState.js.map +0 -1
- package/dist/editor/components/PreviewModal.d.ts.map +0 -1
- package/dist/editor/components/PreviewModal.js.map +0 -1
- package/dist/editor/components/PreviewModeToggle.d.ts.map +0 -1
- package/dist/editor/components/PreviewModeToggle.js.map +0 -1
- package/dist/editor/components/VersionHistory.d.ts.map +0 -1
- package/dist/editor/components/VersionHistory.js.map +0 -1
- package/dist/editor/hooks/useDarkMode.d.ts.map +0 -1
- package/dist/editor/hooks/useDarkMode.js.map +0 -1
- package/dist/editor/hooks/useUnsavedChanges.d.ts.map +0 -1
- package/dist/editor/hooks/useUnsavedChanges.js.map +0 -1
- package/dist/editor/index.d.ts.map +0 -1
- package/dist/editor/index.js.map +0 -1
- package/dist/editor/plugins/VersionHistoryPanel.d.ts.map +0 -1
- package/dist/editor/plugins/VersionHistoryPanel.js.map +0 -1
- package/dist/editor/plugins/index.d.ts.map +0 -1
- package/dist/editor/plugins/index.js.map +0 -1
- package/dist/editor/plugins/versionHistoryPlugin.d.ts.map +0 -1
- package/dist/editor/plugins/versionHistoryPlugin.js.map +0 -1
- package/dist/editor/utils/detectPageTree.d.ts.map +0 -1
- package/dist/editor/utils/detectPageTree.js.map +0 -1
- package/dist/editor/utils/index.d.ts.map +0 -1
- package/dist/editor/utils/index.js.map +0 -1
- package/dist/editor/utils/injectPageTreeFields.d.ts.map +0 -1
- package/dist/editor/utils/injectPageTreeFields.js.map +0 -1
- package/dist/endpoints/ai.d.ts.map +0 -1
- package/dist/endpoints/ai.js.map +0 -1
- package/dist/endpoints/context.d.ts.map +0 -1
- package/dist/endpoints/context.js.map +0 -1
- package/dist/endpoints/index.d.ts.map +0 -1
- package/dist/endpoints/index.js.map +0 -1
- package/dist/endpoints/prompts.d.ts.map +0 -1
- package/dist/endpoints/prompts.js.map +0 -1
- package/dist/endpoints/styles.d.ts.map +0 -1
- package/dist/endpoints/styles.js.map +0 -1
- package/dist/exports/client.d.ts.map +0 -1
- package/dist/exports/client.js.map +0 -1
- package/dist/exports/rsc.d.ts.map +0 -1
- package/dist/exports/rsc.js.map +0 -1
- package/dist/fields/AlignmentField.d.ts.map +0 -1
- package/dist/fields/AlignmentField.js.map +0 -1
- package/dist/fields/AnimationField.d.ts.map +0 -1
- package/dist/fields/AnimationField.js.map +0 -1
- package/dist/fields/BackgroundField.d.ts.map +0 -1
- package/dist/fields/BackgroundField.js.map +0 -1
- package/dist/fields/BorderField.d.ts.map +0 -1
- package/dist/fields/BorderField.js.map +0 -1
- package/dist/fields/ColorPickerField.d.ts.map +0 -1
- package/dist/fields/ColorPickerField.js.map +0 -1
- package/dist/fields/ContentAlignmentField.d.ts.map +0 -1
- package/dist/fields/ContentAlignmentField.js.map +0 -1
- package/dist/fields/DimensionsField.d.ts.map +0 -1
- package/dist/fields/DimensionsField.js.map +0 -1
- package/dist/fields/FlexAlignmentField.d.ts.map +0 -1
- package/dist/fields/FlexAlignmentField.js.map +0 -1
- package/dist/fields/FolderPickerField.d.ts.map +0 -1
- package/dist/fields/FolderPickerField.js.map +0 -1
- package/dist/fields/GradientEditor.d.ts.map +0 -1
- package/dist/fields/GradientEditor.js.map +0 -1
- package/dist/fields/LockedField.d.ts.map +0 -1
- package/dist/fields/LockedField.js.map +0 -1
- package/dist/fields/MarginField.d.ts.map +0 -1
- package/dist/fields/MarginField.js.map +0 -1
- package/dist/fields/MediaField.d.ts.map +0 -1
- package/dist/fields/MediaField.js.map +0 -1
- package/dist/fields/PaddingField.d.ts.map +0 -1
- package/dist/fields/PaddingField.js.map +0 -1
- package/dist/fields/PageSegmentField.d.ts.map +0 -1
- package/dist/fields/PageSegmentField.js.map +0 -1
- package/dist/fields/ResetField.d.ts.map +0 -1
- package/dist/fields/ResetField.js.map +0 -1
- package/dist/fields/ResponsiveField.d.ts.map +0 -1
- package/dist/fields/ResponsiveField.js.map +0 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +0 -1
- package/dist/fields/ResponsiveVisibilityField.js.map +0 -1
- package/dist/fields/SizeField.d.ts.map +0 -1
- package/dist/fields/SizeField.js.map +0 -1
- package/dist/fields/SlugPreviewField.d.ts.map +0 -1
- package/dist/fields/SlugPreviewField.js.map +0 -1
- package/dist/fields/TemplateField.d.ts.map +0 -1
- package/dist/fields/TemplateField.js.map +0 -1
- package/dist/fields/TransformField.d.ts.map +0 -1
- package/dist/fields/TransformField.js.map +0 -1
- package/dist/fields/VerticalAlignmentField.d.ts.map +0 -1
- package/dist/fields/VerticalAlignmentField.js.map +0 -1
- package/dist/fields/WidthField.d.ts.map +0 -1
- package/dist/fields/WidthField.js.map +0 -1
- package/dist/fields/index.d.ts.map +0 -1
- package/dist/fields/index.js.map +0 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +0 -1
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +0 -1
- package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +0 -1
- package/dist/fields/richtext/controls/DropdownPortal.js.map +0 -1
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +0 -1
- package/dist/fields/richtext/controls/FontSizeControl.js.map +0 -1
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +0 -1
- package/dist/fields/richtext/controls/HighlightControl.js.map +0 -1
- package/dist/fields/richtext/controls/index.d.ts.map +0 -1
- package/dist/fields/richtext/controls/index.js.map +0 -1
- package/dist/fields/richtext/controls/shared.d.ts.map +0 -1
- package/dist/fields/richtext/controls/shared.js.map +0 -1
- package/dist/fields/richtext/createRichTextField.d.ts.map +0 -1
- package/dist/fields/richtext/createRichTextField.js.map +0 -1
- package/dist/fields/richtext/extensions/FontSize.d.ts.map +0 -1
- package/dist/fields/richtext/extensions/FontSize.js.map +0 -1
- package/dist/fields/richtext/extensions/index.d.ts.map +0 -1
- package/dist/fields/richtext/extensions/index.js.map +0 -1
- package/dist/fields/richtext/index.d.ts.map +0 -1
- package/dist/fields/richtext/index.js.map +0 -1
- package/dist/fields/shared.d.ts.map +0 -1
- package/dist/fields/shared.js.map +0 -1
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useResponsiveStyles.d.ts.map +0 -1
- package/dist/hooks/useResponsiveStyles.js.map +0 -1
- package/dist/hooks/useScrollAnimation.d.ts.map +0 -1
- package/dist/hooks/useScrollAnimation.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/layouts/LayoutWrapper.d.ts.map +0 -1
- package/dist/layouts/LayoutWrapper.js.map +0 -1
- package/dist/layouts/defaults.d.ts.map +0 -1
- package/dist/layouts/defaults.js.map +0 -1
- package/dist/layouts/index.d.ts.map +0 -1
- package/dist/layouts/index.js.map +0 -1
- package/dist/layouts/types.d.ts.map +0 -1
- package/dist/layouts/types.js.map +0 -1
- package/dist/layouts/utils.d.ts.map +0 -1
- package/dist/layouts/utils.js.map +0 -1
- package/dist/next/index.d.ts.map +0 -1
- package/dist/next/index.js.map +0 -1
- package/dist/plugin/collections/Pages.d.ts.map +0 -1
- package/dist/plugin/collections/Pages.js.map +0 -1
- package/dist/plugin/fields/index.d.ts.map +0 -1
- package/dist/plugin/fields/index.js.map +0 -1
- package/dist/plugin/fields/types.d.ts.map +0 -1
- package/dist/plugin/fields/types.js.map +0 -1
- package/dist/plugin/hooks/index.d.ts.map +0 -1
- package/dist/plugin/hooks/index.js.map +0 -1
- package/dist/plugin/hooks/isHomepageUnique.d.ts.map +0 -1
- package/dist/plugin/hooks/isHomepageUnique.js.map +0 -1
- package/dist/plugin/index.d.ts.map +0 -1
- package/dist/plugin/index.js.map +0 -1
- package/dist/render/HybridPageRenderer.d.ts.map +0 -1
- package/dist/render/HybridPageRenderer.js.map +0 -1
- package/dist/render/PageRenderer.d.ts.map +0 -1
- package/dist/render/PageRenderer.js.map +0 -1
- package/dist/render/PuckEditor.client.d.ts.map +0 -1
- package/dist/render/PuckEditor.client.js.map +0 -1
- package/dist/render/index.d.ts.map +0 -1
- package/dist/render/index.js.map +0 -1
- package/dist/theme/context.d.ts.map +0 -1
- package/dist/theme/context.js.map +0 -1
- package/dist/theme/defaults.d.ts.map +0 -1
- package/dist/theme/defaults.js.map +0 -1
- package/dist/theme/example.d.ts.map +0 -1
- package/dist/theme/example.js.map +0 -1
- package/dist/theme/index.d.ts.map +0 -1
- package/dist/theme/index.js.map +0 -1
- package/dist/theme/types.d.ts.map +0 -1
- package/dist/theme/types.js.map +0 -1
- package/dist/theme/utils.d.ts.map +0 -1
- package/dist/theme/utils.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/migration.d.ts.map +0 -1
- package/dist/utils/migration.js.map +0 -1
- package/dist/utils/validation.d.ts.map +0 -1
- package/dist/utils/validation.js.map +0 -1
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js.map +0 -1
- package/dist/views/PuckConfigContext.d.ts.map +0 -1
- package/dist/views/PuckConfigContext.js.map +0 -1
- package/dist/views/PuckEditorView.d.ts.map +0 -1
- package/dist/views/PuckEditorView.js.map +0 -1
- package/dist/views/index.d.ts.map +0 -1
- package/dist/views/index.js.map +0 -1
|
@@ -7,16 +7,19 @@ import { createSlugPreviewField } from '../../fields/SlugPreviewField.js';
|
|
|
7
7
|
*
|
|
8
8
|
* @param config - The base Puck config to enhance
|
|
9
9
|
* @returns A new config with page-tree fields injected into root.fields
|
|
10
|
-
*/
|
|
11
|
-
export function injectPageTreeFields(config) {
|
|
10
|
+
*/ export function injectPageTreeFields(config) {
|
|
12
11
|
// Create page-tree specific fields
|
|
13
12
|
const pageTreeFields = {
|
|
14
|
-
folder: createFolderPickerField({
|
|
15
|
-
|
|
13
|
+
folder: createFolderPickerField({
|
|
14
|
+
label: 'Folder'
|
|
15
|
+
}),
|
|
16
|
+
pageSegment: createLockedPageSegmentField({
|
|
17
|
+
label: 'Page Segment'
|
|
18
|
+
}),
|
|
16
19
|
slug: createSlugPreviewField({
|
|
17
20
|
label: 'URL Slug',
|
|
18
|
-
hint: 'Auto-generated from folder + page segment'
|
|
19
|
-
})
|
|
21
|
+
hint: 'Auto-generated from folder + page segment'
|
|
22
|
+
})
|
|
20
23
|
};
|
|
21
24
|
// Merge page-tree fields into root config, replacing existing slug field
|
|
22
25
|
const existingRootFields = config.root?.fields || {};
|
|
@@ -27,9 +30,8 @@ export function injectPageTreeFields(config) {
|
|
|
27
30
|
...config.root,
|
|
28
31
|
fields: {
|
|
29
32
|
...otherFields,
|
|
30
|
-
...pageTreeFields
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
+
...pageTreeFields
|
|
34
|
+
}
|
|
35
|
+
}
|
|
33
36
|
};
|
|
34
37
|
}
|
|
35
|
-
//# sourceMappingURL=injectPageTreeFields.js.map
|
package/dist/endpoints/ai.d.ts
CHANGED
package/dist/endpoints/ai.js
CHANGED
|
@@ -2,39 +2,40 @@ import { pagePatternSystemContext } from '../ai/presets/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Collection slug for AI context
|
|
4
4
|
* Matches the auto-generated collection from createPuckPlugin
|
|
5
|
-
*/
|
|
6
|
-
const AI_CONTEXT_COLLECTION = 'puck-ai-context';
|
|
5
|
+
*/ const AI_CONTEXT_COLLECTION = 'puck-ai-context';
|
|
7
6
|
/**
|
|
8
7
|
* Fetches dynamic context entries from the database
|
|
9
8
|
* @param req - The Payload request object
|
|
10
9
|
* @returns Concatenated context string or undefined if no entries
|
|
11
|
-
*/
|
|
12
|
-
async function fetchDynamicContext(req) {
|
|
10
|
+
*/ async function fetchDynamicContext(req) {
|
|
13
11
|
try {
|
|
14
12
|
// Check if the context collection exists (it's optional)
|
|
15
13
|
const collections = req.payload.config.collections;
|
|
16
|
-
const hasContextCollection = collections?.some((c)
|
|
14
|
+
const hasContextCollection = collections?.some((c)=>c.slug === AI_CONTEXT_COLLECTION);
|
|
17
15
|
if (!hasContextCollection) {
|
|
18
16
|
return undefined;
|
|
19
17
|
}
|
|
20
18
|
// Fetch enabled context entries, sorted by order
|
|
21
19
|
const result = await req.payload.find({
|
|
22
20
|
collection: AI_CONTEXT_COLLECTION,
|
|
23
|
-
where: {
|
|
21
|
+
where: {
|
|
22
|
+
enabled: {
|
|
23
|
+
equals: true
|
|
24
|
+
}
|
|
25
|
+
},
|
|
24
26
|
sort: 'order',
|
|
25
|
-
limit: 100
|
|
27
|
+
limit: 100
|
|
26
28
|
});
|
|
27
29
|
if (!result.docs || result.docs.length === 0) {
|
|
28
30
|
return undefined;
|
|
29
31
|
}
|
|
30
32
|
// Format each context entry with its name as a header
|
|
31
|
-
const contextBlocks = result.docs.map((doc)
|
|
33
|
+
const contextBlocks = result.docs.map((doc)=>{
|
|
32
34
|
const header = doc.category ? `## ${doc.name} (${doc.category})` : `## ${doc.name}`;
|
|
33
35
|
return `${header}\n\n${doc.content}`;
|
|
34
36
|
});
|
|
35
37
|
return contextBlocks.join('\n\n---\n\n');
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
+
} catch (e) {
|
|
38
39
|
// Log but don't fail - context is optional
|
|
39
40
|
console.warn('[payload-puck] Failed to fetch dynamic AI context:', e);
|
|
40
41
|
return undefined;
|
|
@@ -55,27 +56,37 @@ async function fetchDynamicContext(req) {
|
|
|
55
56
|
* context: 'You build pages for Acme Corp...',
|
|
56
57
|
* },
|
|
57
58
|
* })
|
|
58
|
-
*/
|
|
59
|
-
|
|
60
|
-
return async (req) => {
|
|
59
|
+
*/ export function createAiEndpointHandler(options = {}) {
|
|
60
|
+
return async (req)=>{
|
|
61
61
|
// 1. Require authentication - AI features are admin-only
|
|
62
62
|
if (!req.user) {
|
|
63
|
-
return Response.json({
|
|
63
|
+
return Response.json({
|
|
64
|
+
error: 'Unauthorized'
|
|
65
|
+
}, {
|
|
66
|
+
status: 401
|
|
67
|
+
});
|
|
64
68
|
}
|
|
65
69
|
// 2. Lazy import to avoid bundle bloat (like PostCSS pattern in styles.ts)
|
|
66
70
|
let puckHandler;
|
|
67
71
|
try {
|
|
68
72
|
const cloudClient = await import('@puckeditor/cloud-client');
|
|
69
73
|
puckHandler = cloudClient.puckHandler;
|
|
70
|
-
}
|
|
71
|
-
catch (e) {
|
|
74
|
+
} catch (e) {
|
|
72
75
|
console.error('[payload-puck] Failed to load @puckeditor/cloud-client:', e);
|
|
73
|
-
return Response.json({
|
|
76
|
+
return Response.json({
|
|
77
|
+
error: 'AI requires @puckeditor/cloud-client. This should be bundled with the plugin.'
|
|
78
|
+
}, {
|
|
79
|
+
status: 500
|
|
80
|
+
});
|
|
74
81
|
}
|
|
75
82
|
// 3. Check for API key
|
|
76
83
|
const apiKey = process.env.PUCK_API_KEY;
|
|
77
84
|
if (!apiKey) {
|
|
78
|
-
return Response.json({
|
|
85
|
+
return Response.json({
|
|
86
|
+
error: 'PUCK_API_KEY environment variable is not set'
|
|
87
|
+
}, {
|
|
88
|
+
status: 500
|
|
89
|
+
});
|
|
79
90
|
}
|
|
80
91
|
// 4. Forward to Puck Cloud handler
|
|
81
92
|
// puckHandler expects a standard Web Request object with specific pathname
|
|
@@ -92,25 +103,31 @@ export function createAiEndpointHandler(options = {}) {
|
|
|
92
103
|
// BUT: if field has AI instructions, don't exclude it (we want AI to use it)
|
|
93
104
|
// This handles fields added by page-tree or user customization
|
|
94
105
|
if (body?.config?.root?.fields) {
|
|
95
|
-
for (const [fieldName, field] of Object.entries(body.config.root.fields))
|
|
106
|
+
for (const [fieldName, field] of Object.entries(body.config.root.fields)){
|
|
96
107
|
const f = field;
|
|
97
108
|
// Only exclude if: is custom, doesn't have exclude set, AND doesn't have instructions
|
|
98
109
|
if (f.type === 'custom' && !f.ai?.exclude && !f.ai?.instructions) {
|
|
99
|
-
f.ai = {
|
|
110
|
+
f.ai = {
|
|
111
|
+
...f.ai,
|
|
112
|
+
exclude: true
|
|
113
|
+
};
|
|
100
114
|
}
|
|
101
115
|
}
|
|
102
116
|
}
|
|
103
117
|
// Auto-exclude custom fields in components that don't have ai.exclude set
|
|
104
118
|
// BUT: if field has AI instructions, don't exclude it (we want AI to use it)
|
|
105
119
|
if (body?.config?.components) {
|
|
106
|
-
for (const [, comp] of Object.entries(body.config.components))
|
|
120
|
+
for (const [, comp] of Object.entries(body.config.components)){
|
|
107
121
|
const c = comp;
|
|
108
122
|
if (c.fields) {
|
|
109
|
-
for (const [, field] of Object.entries(c.fields))
|
|
123
|
+
for (const [, field] of Object.entries(c.fields)){
|
|
110
124
|
const f = field;
|
|
111
125
|
// Only exclude if: is custom, doesn't have exclude set, AND doesn't have instructions
|
|
112
126
|
if (f.type === 'custom' && !f.ai?.exclude && !f.ai?.instructions) {
|
|
113
|
-
f.ai = {
|
|
127
|
+
f.ai = {
|
|
128
|
+
...f.ai,
|
|
129
|
+
exclude: true
|
|
130
|
+
};
|
|
114
131
|
}
|
|
115
132
|
}
|
|
116
133
|
}
|
|
@@ -118,7 +135,11 @@ export function createAiEndpointHandler(options = {}) {
|
|
|
118
135
|
}
|
|
119
136
|
// Validate required fields - puckHandler expects config and pageData
|
|
120
137
|
if (!body) {
|
|
121
|
-
return Response.json({
|
|
138
|
+
return Response.json({
|
|
139
|
+
error: 'Request body is required'
|
|
140
|
+
}, {
|
|
141
|
+
status: 400
|
|
142
|
+
});
|
|
122
143
|
}
|
|
123
144
|
// Ensure config exists (puckHandler needs this)
|
|
124
145
|
if (!body.config) {
|
|
@@ -140,7 +161,7 @@ export function createAiEndpointHandler(options = {}) {
|
|
|
140
161
|
const webRequest = new Request(url, {
|
|
141
162
|
method: 'POST',
|
|
142
163
|
headers,
|
|
143
|
-
body: JSON.stringify(body)
|
|
164
|
+
body: JSON.stringify(body)
|
|
144
165
|
});
|
|
145
166
|
// Build AI options, only including properties that have values
|
|
146
167
|
// (passing `tools: undefined` explicitly prevents the default from applying)
|
|
@@ -171,24 +192,24 @@ export function createAiEndpointHandler(options = {}) {
|
|
|
171
192
|
if (options.tools && Object.keys(options.tools).length > 0) {
|
|
172
193
|
const toolContext = {
|
|
173
194
|
payload: req.payload,
|
|
174
|
-
user: req.user
|
|
195
|
+
user: req.user
|
|
175
196
|
};
|
|
176
197
|
// Create wrapped tools that inject the context
|
|
177
198
|
const wrappedTools = {};
|
|
178
|
-
for (const [name, tool] of Object.entries(options.tools))
|
|
199
|
+
for (const [name, tool] of Object.entries(options.tools)){
|
|
179
200
|
wrappedTools[name] = {
|
|
180
201
|
name: tool.name,
|
|
181
202
|
description: tool.description,
|
|
182
203
|
inputSchema: tool.inputSchema,
|
|
183
204
|
// Wrap execute to inject Payload context
|
|
184
|
-
execute: (input)
|
|
205
|
+
execute: (input)=>tool.execute(input, toolContext)
|
|
185
206
|
};
|
|
186
207
|
}
|
|
187
208
|
aiOptions.tools = wrappedTools;
|
|
188
209
|
}
|
|
189
210
|
const response = await puckHandler(webRequest, {
|
|
190
211
|
ai: aiOptions,
|
|
191
|
-
apiKey
|
|
212
|
+
apiKey
|
|
192
213
|
});
|
|
193
214
|
if (!response.ok) {
|
|
194
215
|
// Try to get more info from error response
|
|
@@ -196,18 +217,19 @@ export function createAiEndpointHandler(options = {}) {
|
|
|
196
217
|
try {
|
|
197
218
|
const errorBody = await clonedResponse.json();
|
|
198
219
|
console.error('[payload-puck] Puck Cloud error body:', errorBody);
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
220
|
+
} catch {
|
|
201
221
|
const errorText = await clonedResponse.text();
|
|
202
222
|
console.error('[payload-puck] Puck Cloud error text:', errorText);
|
|
203
223
|
}
|
|
204
224
|
}
|
|
205
225
|
return response;
|
|
206
|
-
}
|
|
207
|
-
catch (e) {
|
|
226
|
+
} catch (e) {
|
|
208
227
|
console.error('[payload-puck] AI handler error:', e);
|
|
209
|
-
return Response.json({
|
|
228
|
+
return Response.json({
|
|
229
|
+
error: e instanceof Error ? e.message : 'AI request failed'
|
|
230
|
+
}, {
|
|
231
|
+
status: 500
|
|
232
|
+
});
|
|
210
233
|
}
|
|
211
234
|
};
|
|
212
235
|
}
|
|
213
|
-
//# sourceMappingURL=ai.js.map
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Collection slug for AI context
|
|
3
3
|
* Matches the auto-generated collection from createPuckPlugin
|
|
4
|
-
*/
|
|
5
|
-
const COLLECTION = 'puck-ai-context';
|
|
4
|
+
*/ const COLLECTION = 'puck-ai-context';
|
|
6
5
|
/**
|
|
7
6
|
* List all AI context entries, sorted by order
|
|
8
7
|
* Only returns enabled entries by default
|
|
9
8
|
*
|
|
10
9
|
* GET /api/puck/ai-context
|
|
11
10
|
* Query: ?all=true to include disabled entries
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
return async (req) => {
|
|
11
|
+
*/ export function createContextListHandler() {
|
|
12
|
+
return async (req)=>{
|
|
15
13
|
if (!req.user) {
|
|
16
|
-
return Response.json({
|
|
14
|
+
return Response.json({
|
|
15
|
+
error: 'Unauthorized'
|
|
16
|
+
}, {
|
|
17
|
+
status: 401
|
|
18
|
+
});
|
|
17
19
|
}
|
|
18
20
|
try {
|
|
19
21
|
// Check if we should include all entries (including disabled)
|
|
@@ -21,14 +23,21 @@ export function createContextListHandler() {
|
|
|
21
23
|
const result = await req.payload.find({
|
|
22
24
|
collection: COLLECTION,
|
|
23
25
|
sort: 'order',
|
|
24
|
-
limit: 100,
|
|
25
|
-
where: includeAll ? {} : {
|
|
26
|
+
limit: 100,
|
|
27
|
+
where: includeAll ? {} : {
|
|
28
|
+
enabled: {
|
|
29
|
+
equals: true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
26
32
|
});
|
|
27
33
|
return Response.json(result);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
34
|
+
} catch (e) {
|
|
30
35
|
console.error('[payload-puck] Error listing context:', e);
|
|
31
|
-
return Response.json({
|
|
36
|
+
return Response.json({
|
|
37
|
+
error: e instanceof Error ? e.message : 'Failed to list context'
|
|
38
|
+
}, {
|
|
39
|
+
status: 500
|
|
40
|
+
});
|
|
32
41
|
}
|
|
33
42
|
};
|
|
34
43
|
}
|
|
@@ -37,26 +46,36 @@ export function createContextListHandler() {
|
|
|
37
46
|
*
|
|
38
47
|
* POST /api/puck/ai-context
|
|
39
48
|
* Body: { name: string, content: string, category?: string, enabled?: boolean, order?: number }
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
return async (req) => {
|
|
49
|
+
*/ export function createContextCreateHandler() {
|
|
50
|
+
return async (req)=>{
|
|
43
51
|
if (!req.user) {
|
|
44
|
-
return Response.json({
|
|
52
|
+
return Response.json({
|
|
53
|
+
error: 'Unauthorized'
|
|
54
|
+
}, {
|
|
55
|
+
status: 401
|
|
56
|
+
});
|
|
45
57
|
}
|
|
46
58
|
try {
|
|
47
59
|
const data = await req.json?.();
|
|
48
60
|
if (!data) {
|
|
49
|
-
return Response.json({
|
|
61
|
+
return Response.json({
|
|
62
|
+
error: 'Request body is required'
|
|
63
|
+
}, {
|
|
64
|
+
status: 400
|
|
65
|
+
});
|
|
50
66
|
}
|
|
51
67
|
const doc = await req.payload.create({
|
|
52
68
|
collection: COLLECTION,
|
|
53
|
-
data
|
|
69
|
+
data
|
|
54
70
|
});
|
|
55
71
|
return Response.json(doc);
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
72
|
+
} catch (e) {
|
|
58
73
|
console.error('[payload-puck] Error creating context:', e);
|
|
59
|
-
return Response.json({
|
|
74
|
+
return Response.json({
|
|
75
|
+
error: e instanceof Error ? e.message : 'Failed to create context'
|
|
76
|
+
}, {
|
|
77
|
+
status: 500
|
|
78
|
+
});
|
|
60
79
|
}
|
|
61
80
|
};
|
|
62
81
|
}
|
|
@@ -65,31 +84,45 @@ export function createContextCreateHandler() {
|
|
|
65
84
|
*
|
|
66
85
|
* PATCH /api/puck/ai-context/:id
|
|
67
86
|
* Body: { name?: string, content?: string, category?: string, enabled?: boolean, order?: number }
|
|
68
|
-
*/
|
|
69
|
-
|
|
70
|
-
return async (req) => {
|
|
87
|
+
*/ export function createContextUpdateHandler() {
|
|
88
|
+
return async (req)=>{
|
|
71
89
|
if (!req.user) {
|
|
72
|
-
return Response.json({
|
|
90
|
+
return Response.json({
|
|
91
|
+
error: 'Unauthorized'
|
|
92
|
+
}, {
|
|
93
|
+
status: 401
|
|
94
|
+
});
|
|
73
95
|
}
|
|
74
96
|
const id = req.routeParams?.id;
|
|
75
97
|
if (!id) {
|
|
76
|
-
return Response.json({
|
|
98
|
+
return Response.json({
|
|
99
|
+
error: 'Context ID is required'
|
|
100
|
+
}, {
|
|
101
|
+
status: 400
|
|
102
|
+
});
|
|
77
103
|
}
|
|
78
104
|
try {
|
|
79
105
|
const data = await req.json?.();
|
|
80
106
|
if (!data) {
|
|
81
|
-
return Response.json({
|
|
107
|
+
return Response.json({
|
|
108
|
+
error: 'Request body is required'
|
|
109
|
+
}, {
|
|
110
|
+
status: 400
|
|
111
|
+
});
|
|
82
112
|
}
|
|
83
113
|
const doc = await req.payload.update({
|
|
84
114
|
collection: COLLECTION,
|
|
85
115
|
id,
|
|
86
|
-
data
|
|
116
|
+
data
|
|
87
117
|
});
|
|
88
118
|
return Response.json(doc);
|
|
89
|
-
}
|
|
90
|
-
catch (e) {
|
|
119
|
+
} catch (e) {
|
|
91
120
|
console.error('[payload-puck] Error updating context:', e);
|
|
92
|
-
return Response.json({
|
|
121
|
+
return Response.json({
|
|
122
|
+
error: e instanceof Error ? e.message : 'Failed to update context'
|
|
123
|
+
}, {
|
|
124
|
+
status: 500
|
|
125
|
+
});
|
|
93
126
|
}
|
|
94
127
|
};
|
|
95
128
|
}
|
|
@@ -97,27 +130,38 @@ export function createContextUpdateHandler() {
|
|
|
97
130
|
* Delete an AI context entry
|
|
98
131
|
*
|
|
99
132
|
* DELETE /api/puck/ai-context/:id
|
|
100
|
-
*/
|
|
101
|
-
|
|
102
|
-
return async (req) => {
|
|
133
|
+
*/ export function createContextDeleteHandler() {
|
|
134
|
+
return async (req)=>{
|
|
103
135
|
if (!req.user) {
|
|
104
|
-
return Response.json({
|
|
136
|
+
return Response.json({
|
|
137
|
+
error: 'Unauthorized'
|
|
138
|
+
}, {
|
|
139
|
+
status: 401
|
|
140
|
+
});
|
|
105
141
|
}
|
|
106
142
|
const id = req.routeParams?.id;
|
|
107
143
|
if (!id) {
|
|
108
|
-
return Response.json({
|
|
144
|
+
return Response.json({
|
|
145
|
+
error: 'Context ID is required'
|
|
146
|
+
}, {
|
|
147
|
+
status: 400
|
|
148
|
+
});
|
|
109
149
|
}
|
|
110
150
|
try {
|
|
111
151
|
await req.payload.delete({
|
|
112
152
|
collection: COLLECTION,
|
|
113
|
-
id
|
|
153
|
+
id
|
|
114
154
|
});
|
|
115
|
-
return Response.json({
|
|
116
|
-
|
|
117
|
-
|
|
155
|
+
return Response.json({
|
|
156
|
+
success: true
|
|
157
|
+
});
|
|
158
|
+
} catch (e) {
|
|
118
159
|
console.error('[payload-puck] Error deleting context:', e);
|
|
119
|
-
return Response.json({
|
|
160
|
+
return Response.json({
|
|
161
|
+
error: e instanceof Error ? e.message : 'Failed to delete context'
|
|
162
|
+
}, {
|
|
163
|
+
status: 500
|
|
164
|
+
});
|
|
120
165
|
}
|
|
121
166
|
};
|
|
122
167
|
}
|
|
123
|
-
//# sourceMappingURL=context.js.map
|