@delmaredigital/payload-puck 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +331 -16
- package/dist/admin/PuckEditorView.d.ts +1 -1
- package/dist/admin/PuckEditorView.d.ts.map +1 -1
- package/dist/ai/collections/AiContext.d.ts +16 -0
- package/dist/ai/collections/AiContext.d.ts.map +1 -0
- package/dist/ai/collections/AiContext.js +87 -0
- package/dist/ai/collections/AiContext.js.map +1 -0
- package/dist/ai/collections/AiPrompts.d.ts +10 -0
- package/dist/ai/collections/AiPrompts.d.ts.map +1 -0
- package/dist/ai/collections/AiPrompts.js +63 -0
- package/dist/ai/collections/AiPrompts.js.map +1 -0
- package/dist/ai/createAiApiRoutes.d.ts +40 -0
- package/dist/ai/createAiApiRoutes.d.ts.map +1 -0
- package/dist/ai/createAiApiRoutes.js +106 -0
- package/dist/ai/createAiApiRoutes.js.map +1 -0
- package/dist/ai/createAiGenerate.d.ts +65 -0
- package/dist/ai/createAiGenerate.d.ts.map +1 -0
- package/dist/ai/createAiGenerate.js +106 -0
- package/dist/ai/createAiGenerate.js.map +1 -0
- package/dist/ai/createAiPlugin.d.ts +39 -0
- package/dist/ai/createAiPlugin.d.ts.map +1 -0
- package/dist/ai/createAiPlugin.js +61 -0
- package/dist/ai/createAiPlugin.js.map +1 -0
- package/dist/ai/hooks/useAiContext.d.ts +63 -0
- package/dist/ai/hooks/useAiContext.d.ts.map +1 -0
- package/dist/ai/hooks/useAiContext.js +146 -0
- package/dist/ai/hooks/useAiContext.js.map +1 -0
- package/dist/ai/hooks/useAiPrompts.d.ts +25 -0
- package/dist/ai/hooks/useAiPrompts.d.ts.map +1 -0
- package/dist/ai/hooks/useAiPrompts.js +74 -0
- package/dist/ai/hooks/useAiPrompts.js.map +1 -0
- package/dist/ai/index.d.ts +51 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +69 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/plugins/ContextEditorPanel.d.ts +9 -0
- package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -0
- package/dist/ai/plugins/ContextEditorPanel.js +399 -0
- package/dist/ai/plugins/ContextEditorPanel.js.map +1 -0
- package/dist/ai/plugins/PromptEditorPanel.d.ts +9 -0
- package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -0
- package/dist/ai/plugins/PromptEditorPanel.js +270 -0
- package/dist/ai/plugins/PromptEditorPanel.js.map +1 -0
- package/dist/ai/plugins/contextEditorPlugin.d.ts +30 -0
- package/dist/ai/plugins/contextEditorPlugin.d.ts.map +1 -0
- package/dist/ai/plugins/contextEditorPlugin.js +40 -0
- package/dist/ai/plugins/contextEditorPlugin.js.map +1 -0
- package/dist/ai/plugins/promptApiRoutes.d.ts +68 -0
- package/dist/ai/plugins/promptApiRoutes.d.ts.map +1 -0
- package/dist/ai/plugins/promptApiRoutes.js +181 -0
- package/dist/ai/plugins/promptApiRoutes.js.map +1 -0
- package/dist/ai/plugins/promptEditorPlugin.d.ts +29 -0
- package/dist/ai/plugins/promptEditorPlugin.d.ts.map +1 -0
- package/dist/ai/plugins/promptEditorPlugin.js +39 -0
- package/dist/ai/plugins/promptEditorPlugin.js.map +1 -0
- package/dist/ai/presets/componentAiDefaults.d.ts +40 -0
- package/dist/ai/presets/componentAiDefaults.d.ts.map +1 -0
- package/dist/ai/presets/componentAiDefaults.js +239 -0
- package/dist/ai/presets/componentAiDefaults.js.map +1 -0
- package/dist/ai/presets/index.d.ts +94 -0
- package/dist/ai/presets/index.d.ts.map +1 -0
- package/dist/ai/presets/index.js +110 -0
- package/dist/ai/presets/index.js.map +1 -0
- package/dist/ai/presets/instructions/interactive.d.ts +15 -0
- package/dist/ai/presets/instructions/interactive.d.ts.map +1 -0
- package/dist/ai/presets/instructions/interactive.js +334 -0
- package/dist/ai/presets/instructions/interactive.js.map +1 -0
- package/dist/ai/presets/instructions/layout.d.ts +16 -0
- package/dist/ai/presets/instructions/layout.d.ts.map +1 -0
- package/dist/ai/presets/instructions/layout.js +486 -0
- package/dist/ai/presets/instructions/layout.js.map +1 -0
- package/dist/ai/presets/instructions/media.d.ts +15 -0
- package/dist/ai/presets/instructions/media.d.ts.map +1 -0
- package/dist/ai/presets/instructions/media.js +136 -0
- package/dist/ai/presets/instructions/media.js.map +1 -0
- package/dist/ai/presets/instructions/pagePatterns.d.ts +20 -0
- package/dist/ai/presets/instructions/pagePatterns.d.ts.map +1 -0
- package/dist/ai/presets/instructions/pagePatterns.js +290 -0
- package/dist/ai/presets/instructions/pagePatterns.js.map +1 -0
- package/dist/ai/presets/instructions/schemas.d.ts +1247 -0
- package/dist/ai/presets/instructions/schemas.d.ts.map +1 -0
- package/dist/ai/presets/instructions/schemas.js +240 -0
- package/dist/ai/presets/instructions/schemas.js.map +1 -0
- package/dist/ai/presets/instructions/typography.d.ts +16 -0
- package/dist/ai/presets/instructions/typography.d.ts.map +1 -0
- package/dist/ai/presets/instructions/typography.js +192 -0
- package/dist/ai/presets/instructions/typography.js.map +1 -0
- package/dist/ai/tools/index.d.ts +116 -0
- package/dist/ai/tools/index.d.ts.map +1 -0
- package/dist/ai/tools/index.js +214 -0
- package/dist/ai/tools/index.js.map +1 -0
- package/dist/ai/types.d.ts +507 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/ai/utils/injectAiConfig.d.ts +67 -0
- package/dist/ai/utils/injectAiConfig.d.ts.map +1 -0
- package/dist/ai/utils/injectAiConfig.js +216 -0
- package/dist/ai/utils/injectAiConfig.js.map +1 -0
- package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
- package/dist/api/createPuckApiRoutesWithId.js +12 -5
- package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
- package/dist/api/types.d.ts +1 -1
- package/dist/api/types.d.ts.map +1 -1
- package/dist/components/exports.d.ts +1 -1
- package/dist/components/exports.d.ts.map +1 -1
- package/dist/components/exports.js +1 -1
- package/dist/components/exports.js.map +1 -1
- package/dist/components/interactive/Accordion.d.ts +1 -1
- package/dist/components/interactive/Accordion.d.ts.map +1 -1
- package/dist/components/interactive/Accordion.js +4 -4
- package/dist/components/interactive/Accordion.js.map +1 -1
- package/dist/components/interactive/Accordion.server.d.ts +1 -1
- package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
- package/dist/components/interactive/Button.d.ts +1 -1
- package/dist/components/interactive/Button.d.ts.map +1 -1
- package/dist/components/interactive/Button.server.d.ts +2 -3
- package/dist/components/interactive/Button.server.d.ts.map +1 -1
- package/dist/components/interactive/Button.server.js +1 -2
- package/dist/components/interactive/Button.server.js.map +1 -1
- package/dist/components/interactive/Card.d.ts +1 -1
- package/dist/components/interactive/Card.d.ts.map +1 -1
- package/dist/components/interactive/Card.server.d.ts +1 -1
- package/dist/components/interactive/Card.server.d.ts.map +1 -1
- package/dist/components/interactive/Divider.d.ts +1 -1
- package/dist/components/interactive/Divider.d.ts.map +1 -1
- package/dist/components/interactive/Divider.server.d.ts +1 -1
- package/dist/components/interactive/Divider.server.d.ts.map +1 -1
- package/dist/components/layout/Container.d.ts +3 -1
- package/dist/components/layout/Container.d.ts.map +1 -1
- package/dist/components/layout/Container.js +16 -2
- package/dist/components/layout/Container.js.map +1 -1
- package/dist/components/layout/Container.server.d.ts +3 -1
- package/dist/components/layout/Container.server.d.ts.map +1 -1
- package/dist/components/layout/Container.server.js +5 -2
- package/dist/components/layout/Container.server.js.map +1 -1
- package/dist/components/layout/Flex.d.ts +3 -1
- package/dist/components/layout/Flex.d.ts.map +1 -1
- package/dist/components/layout/Flex.js +18 -2
- package/dist/components/layout/Flex.js.map +1 -1
- package/dist/components/layout/Flex.server.d.ts +3 -1
- package/dist/components/layout/Flex.server.d.ts.map +1 -1
- package/dist/components/layout/Flex.server.js +5 -2
- package/dist/components/layout/Flex.server.js.map +1 -1
- package/dist/components/layout/Grid.d.ts +3 -1
- package/dist/components/layout/Grid.d.ts.map +1 -1
- package/dist/components/layout/Grid.js +15 -2
- package/dist/components/layout/Grid.js.map +1 -1
- package/dist/components/layout/Grid.server.d.ts +3 -1
- package/dist/components/layout/Grid.server.d.ts.map +1 -1
- package/dist/components/layout/Grid.server.js +5 -2
- package/dist/components/layout/Grid.server.js.map +1 -1
- package/dist/components/layout/Section.d.ts +3 -1
- package/dist/components/layout/Section.d.ts.map +1 -1
- package/dist/components/layout/Section.js +32 -5
- package/dist/components/layout/Section.js.map +1 -1
- package/dist/components/layout/Section.server.d.ts +3 -1
- package/dist/components/layout/Section.server.d.ts.map +1 -1
- package/dist/components/layout/Section.server.js +16 -4
- package/dist/components/layout/Section.server.js.map +1 -1
- package/dist/components/layout/Spacer.d.ts +1 -1
- package/dist/components/layout/Spacer.d.ts.map +1 -1
- package/dist/components/layout/Spacer.server.d.ts +1 -1
- package/dist/components/layout/Spacer.server.d.ts.map +1 -1
- package/dist/components/layout/Template.d.ts +1 -1
- package/dist/components/layout/Template.d.ts.map +1 -1
- package/dist/components/layout/Template.server.d.ts +1 -1
- package/dist/components/layout/Template.server.d.ts.map +1 -1
- package/dist/components/media/Image.d.ts +1 -1
- package/dist/components/media/Image.d.ts.map +1 -1
- package/dist/components/media/Image.server.d.ts +1 -1
- package/dist/components/media/Image.server.d.ts.map +1 -1
- package/dist/components/typography/Heading.d.ts +1 -1
- package/dist/components/typography/Heading.d.ts.map +1 -1
- package/dist/components/typography/Heading.server.d.ts +1 -1
- package/dist/components/typography/Heading.server.d.ts.map +1 -1
- package/dist/components/typography/RichText.editor.d.ts +15 -2
- package/dist/components/typography/RichText.editor.d.ts.map +1 -1
- package/dist/components/typography/RichText.editor.js +18 -11
- package/dist/components/typography/RichText.editor.js.map +1 -1
- package/dist/components/typography/RichText.server.d.ts +3 -2
- package/dist/components/typography/RichText.server.d.ts.map +1 -1
- package/dist/components/typography/RichText.server.js +10 -5
- package/dist/components/typography/RichText.server.js.map +1 -1
- package/dist/components/typography/Text.d.ts +1 -1
- package/dist/components/typography/Text.d.ts.map +1 -1
- package/dist/components/typography/Text.server.d.ts +1 -1
- package/dist/components/typography/Text.server.d.ts.map +1 -1
- package/dist/components/typography/index.d.ts +1 -1
- package/dist/components/typography/index.d.ts.map +1 -1
- package/dist/components/typography/index.js +1 -1
- package/dist/components/typography/index.js.map +1 -1
- package/dist/config/config.editor.d.ts +4 -4
- package/dist/config/config.editor.d.ts.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/merge.d.ts +1 -1
- package/dist/config/merge.d.ts.map +1 -1
- package/dist/config/presets.d.ts +15 -15
- package/dist/config/presets.d.ts.map +1 -1
- package/dist/editor/PuckEditor.d.ts +88 -2
- package/dist/editor/PuckEditor.d.ts.map +1 -1
- package/dist/editor/PuckEditor.js +41 -13
- package/dist/editor/PuckEditor.js.map +1 -1
- package/dist/editor/PuckEditorImpl.client.d.ts +49 -4
- package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
- package/dist/editor/PuckEditorImpl.client.js +191 -14
- package/dist/editor/PuckEditorImpl.client.js.map +1 -1
- package/dist/editor/ai-plugin-overrides.css +20 -0
- package/dist/editor/components/HeaderActions.d.ts +7 -2
- package/dist/editor/components/HeaderActions.d.ts.map +1 -1
- package/dist/editor/components/HeaderActions.js +16 -3
- package/dist/editor/components/HeaderActions.js.map +1 -1
- package/dist/editor/components/IframeWrapper.d.ts +13 -0
- package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
- package/dist/editor/components/IframeWrapper.js +60 -4
- package/dist/editor/components/IframeWrapper.js.map +1 -1
- package/dist/editor/components/PreviewModal.d.ts +9 -1
- package/dist/editor/components/PreviewModal.d.ts.map +1 -1
- package/dist/editor/components/PreviewModal.js +36 -1
- package/dist/editor/components/PreviewModal.js.map +1 -1
- package/dist/editor/index.d.ts +4 -0
- package/dist/editor/index.d.ts.map +1 -1
- package/dist/editor/index.js +4 -0
- package/dist/editor/index.js.map +1 -1
- package/dist/editor/plugins/VersionHistoryPanel.d.ts +43 -0
- package/dist/editor/plugins/VersionHistoryPanel.d.ts.map +1 -0
- package/dist/editor/plugins/VersionHistoryPanel.js +303 -0
- package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -0
- package/dist/editor/plugins/index.d.ts +6 -3
- package/dist/editor/plugins/index.d.ts.map +1 -1
- package/dist/editor/plugins/index.js +7 -3
- package/dist/editor/plugins/index.js.map +1 -1
- package/dist/editor/plugins/versionHistoryPlugin.d.ts +37 -0
- package/dist/editor/plugins/versionHistoryPlugin.d.ts.map +1 -0
- package/dist/editor/plugins/versionHistoryPlugin.js +36 -0
- package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -0
- package/dist/editor/utils/detectPageTree.d.ts +1 -1
- package/dist/editor/utils/detectPageTree.d.ts.map +1 -1
- package/dist/editor/utils/injectPageTreeFields.d.ts +1 -1
- package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -1
- package/dist/endpoints/ai.d.ts +36 -0
- package/dist/endpoints/ai.d.ts.map +1 -0
- package/dist/endpoints/ai.js +315 -0
- package/dist/endpoints/ai.js.map +1 -0
- package/dist/endpoints/context.d.ts +30 -0
- package/dist/endpoints/context.d.ts.map +1 -0
- package/dist/endpoints/context.js +123 -0
- package/dist/endpoints/context.js.map +1 -0
- package/dist/endpoints/prompts.d.ts +28 -0
- package/dist/endpoints/prompts.d.ts.map +1 -0
- package/dist/endpoints/prompts.js +118 -0
- package/dist/endpoints/prompts.js.map +1 -0
- package/dist/endpoints/styles.d.ts +19 -0
- package/dist/endpoints/styles.d.ts.map +1 -0
- package/dist/endpoints/styles.js +116 -0
- package/dist/endpoints/styles.js.map +1 -0
- package/dist/fields/AlignmentField.d.ts +1 -1
- package/dist/fields/AlignmentField.d.ts.map +1 -1
- package/dist/fields/AlignmentField.js +1 -0
- package/dist/fields/AlignmentField.js.map +1 -1
- package/dist/fields/AnimationField.d.ts +1 -1
- package/dist/fields/AnimationField.d.ts.map +1 -1
- package/dist/fields/BackgroundField.d.ts +1 -1
- package/dist/fields/BackgroundField.d.ts.map +1 -1
- package/dist/fields/BackgroundField.js +9 -4
- package/dist/fields/BackgroundField.js.map +1 -1
- package/dist/fields/BorderField.d.ts +1 -1
- package/dist/fields/BorderField.d.ts.map +1 -1
- package/dist/fields/BorderField.js +1 -0
- package/dist/fields/BorderField.js.map +1 -1
- package/dist/fields/ColorPickerField.d.ts +1 -1
- package/dist/fields/ColorPickerField.d.ts.map +1 -1
- package/dist/fields/ColorPickerField.js +4 -2
- package/dist/fields/ColorPickerField.js.map +1 -1
- package/dist/fields/ContentAlignmentField.d.ts +66 -0
- package/dist/fields/ContentAlignmentField.d.ts.map +1 -0
- package/dist/fields/ContentAlignmentField.js +255 -0
- package/dist/fields/ContentAlignmentField.js.map +1 -0
- package/dist/fields/DimensionsField.d.ts +1 -1
- package/dist/fields/DimensionsField.d.ts.map +1 -1
- package/dist/fields/DimensionsField.js +8 -2
- package/dist/fields/DimensionsField.js.map +1 -1
- package/dist/fields/FlexAlignmentField.d.ts +1 -1
- package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
- package/dist/fields/FolderPickerField.d.ts +1 -1
- package/dist/fields/FolderPickerField.d.ts.map +1 -1
- package/dist/fields/GradientEditor.d.ts.map +1 -1
- package/dist/fields/GradientEditor.js +3 -0
- package/dist/fields/GradientEditor.js.map +1 -1
- package/dist/fields/LockedField.d.ts +1 -1
- package/dist/fields/LockedField.d.ts.map +1 -1
- package/dist/fields/MarginField.d.ts +1 -1
- package/dist/fields/MarginField.d.ts.map +1 -1
- package/dist/fields/MediaField.d.ts +1 -1
- package/dist/fields/MediaField.d.ts.map +1 -1
- package/dist/fields/MediaField.js +3 -2
- package/dist/fields/MediaField.js.map +1 -1
- package/dist/fields/PaddingField.d.ts +1 -1
- package/dist/fields/PaddingField.d.ts.map +1 -1
- package/dist/fields/PageSegmentField.d.ts +1 -1
- package/dist/fields/PageSegmentField.d.ts.map +1 -1
- package/dist/fields/ResetField.d.ts +1 -1
- package/dist/fields/ResetField.d.ts.map +1 -1
- package/dist/fields/ResetField.js +1 -1
- package/dist/fields/ResetField.js.map +1 -1
- package/dist/fields/ResponsiveField.d.ts +1 -1
- package/dist/fields/ResponsiveField.d.ts.map +1 -1
- package/dist/fields/ResponsiveField.js +5 -2
- package/dist/fields/ResponsiveField.js.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts +1 -1
- package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
- package/dist/fields/ResponsiveVisibilityField.js +4 -3
- package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
- package/dist/fields/SizeField.d.ts +3 -25
- package/dist/fields/SizeField.d.ts.map +1 -1
- package/dist/fields/SizeField.js +8 -34
- package/dist/fields/SizeField.js.map +1 -1
- package/dist/fields/SlugPreviewField.d.ts +1 -1
- package/dist/fields/SlugPreviewField.d.ts.map +1 -1
- package/dist/fields/TemplateField.d.ts +1 -1
- package/dist/fields/TemplateField.d.ts.map +1 -1
- package/dist/fields/TemplateField.js +1 -1
- package/dist/fields/TemplateField.js.map +1 -1
- package/dist/fields/TransformField.d.ts +1 -1
- package/dist/fields/TransformField.d.ts.map +1 -1
- package/dist/fields/TransformField.js +2 -0
- package/dist/fields/TransformField.js.map +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts +1 -1
- package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
- package/dist/fields/WidthField.d.ts +1 -1
- package/dist/fields/WidthField.d.ts.map +1 -1
- package/dist/fields/index.d.ts +8 -36
- package/dist/fields/index.d.ts.map +1 -1
- package/dist/fields/index.js +20 -78
- package/dist/fields/index.js.map +1 -1
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts +16 -0
- package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -0
- package/dist/fields/richtext/controls/ColorPickerControl.js +116 -0
- package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -0
- package/dist/fields/richtext/controls/DropdownPortal.d.ts +17 -0
- package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -0
- package/dist/fields/richtext/controls/DropdownPortal.js +90 -0
- package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -0
- package/dist/fields/richtext/controls/FontSizeControl.d.ts +8 -0
- package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -0
- package/dist/fields/richtext/controls/FontSizeControl.js +62 -0
- package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -0
- package/dist/fields/richtext/controls/HighlightControl.d.ts +9 -0
- package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -0
- package/dist/fields/richtext/controls/HighlightControl.js +44 -0
- package/dist/fields/richtext/controls/HighlightControl.js.map +1 -0
- package/dist/fields/richtext/controls/index.d.ts +11 -0
- package/dist/fields/richtext/controls/index.d.ts.map +1 -0
- package/dist/fields/richtext/controls/index.js +16 -0
- package/dist/fields/richtext/controls/index.js.map +1 -0
- package/dist/fields/richtext/controls/shared.d.ts +97 -0
- package/dist/fields/richtext/controls/shared.d.ts.map +1 -0
- package/dist/fields/richtext/controls/shared.js +344 -0
- package/dist/fields/richtext/controls/shared.js.map +1 -0
- package/dist/fields/richtext/createRichTextField.d.ts +165 -0
- package/dist/fields/richtext/createRichTextField.d.ts.map +1 -0
- package/dist/fields/richtext/createRichTextField.js +139 -0
- package/dist/fields/richtext/createRichTextField.js.map +1 -0
- package/dist/fields/richtext/extensions/FontSize.d.ts +23 -0
- package/dist/fields/richtext/extensions/FontSize.d.ts.map +1 -0
- package/dist/fields/richtext/extensions/FontSize.js +47 -0
- package/dist/fields/richtext/extensions/FontSize.js.map +1 -0
- package/dist/fields/richtext/extensions/index.d.ts +5 -0
- package/dist/fields/richtext/extensions/index.d.ts.map +1 -0
- package/dist/fields/richtext/extensions/index.js +5 -0
- package/dist/fields/richtext/extensions/index.js.map +1 -0
- package/dist/fields/richtext/index.d.ts +14 -0
- package/dist/fields/richtext/index.d.ts.map +1 -0
- package/dist/fields/richtext/index.js +19 -0
- package/dist/fields/richtext/index.js.map +1 -0
- package/dist/fields/richtext/richtext-menu.css +50 -0
- package/dist/fields/shared.d.ts +27 -1
- package/dist/fields/shared.d.ts.map +1 -1
- package/dist/fields/shared.js +34 -0
- package/dist/fields/shared.js.map +1 -1
- package/dist/layouts/types.d.ts +30 -0
- package/dist/layouts/types.d.ts.map +1 -1
- package/dist/plugin/index.d.ts +1 -0
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +111 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/render/HybridPageRenderer.d.ts +1 -1
- package/dist/render/HybridPageRenderer.d.ts.map +1 -1
- package/dist/render/PageRenderer.d.ts +1 -1
- package/dist/render/PageRenderer.d.ts.map +1 -1
- package/dist/render/PageRenderer.js +1 -1
- package/dist/render/PageRenderer.js.map +1 -1
- package/dist/render/PuckEditor.client.d.ts +2 -2
- package/dist/render/PuckEditor.client.d.ts.map +1 -1
- package/dist/render/PuckEditor.client.js +2 -2
- package/dist/render/PuckEditor.client.js.map +1 -1
- package/dist/types/index.d.ts +36 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/views/PuckConfigContext.d.ts +56 -2
- package/dist/views/PuckConfigContext.d.ts.map +1 -1
- package/dist/views/PuckConfigContext.js +6 -3
- package/dist/views/PuckConfigContext.js.map +1 -1
- package/dist/views/PuckEditorView.d.ts.map +1 -1
- package/dist/views/PuckEditorView.js +23 -1
- package/dist/views/PuckEditorView.js.map +1 -1
- package/package.json +34 -10
- package/dist/components/typography/RichText.d.ts +0 -20
- package/dist/components/typography/RichText.d.ts.map +0 -1
- package/dist/components/typography/RichText.js +0 -73
- package/dist/components/typography/RichText.js.map +0 -1
- package/dist/fields/TiptapField.d.ts +0 -40
- package/dist/fields/TiptapField.d.ts.map +0 -1
- package/dist/fields/TiptapField.js +0 -857
- package/dist/fields/TiptapField.js.map +0 -1
- package/dist/fields/TiptapModal.d.ts +0 -10
- package/dist/fields/TiptapModal.d.ts.map +0 -1
- package/dist/fields/TiptapModal.js +0 -114
- package/dist/fields/TiptapModal.js.map +0 -1
- package/dist/fields/TiptapModalField.d.ts +0 -23
- package/dist/fields/TiptapModalField.d.ts.map +0 -1
- package/dist/fields/TiptapModalField.js +0 -55
- package/dist/fields/TiptapModalField.js.map +0 -1
- package/dist/fields/richtext-output.css +0 -219
- package/dist/fields/tiptap-styles.css +0 -248
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
import type { NextRequest } from 'next/server';
|
|
2
|
+
import type { Config as PuckConfig, Data as PuckData } from '@puckeditor/core';
|
|
3
|
+
import type { SanitizedConfig } from 'payload';
|
|
4
|
+
import type { PuckApiAuthHooks, AuthenticatedUser } from '../api/types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Tool definition for AI agent
|
|
7
|
+
*
|
|
8
|
+
* Tools enable the AI to query your system for information,
|
|
9
|
+
* executing functions directly on your server.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { z } from 'zod'
|
|
14
|
+
*
|
|
15
|
+
* const getProducts: AiTool = {
|
|
16
|
+
* description: 'Get a list of products',
|
|
17
|
+
* inputSchema: z.object({
|
|
18
|
+
* category: z.enum(['consumer', 'business']),
|
|
19
|
+
* }),
|
|
20
|
+
* execute: async ({ category }) => {
|
|
21
|
+
* return await payload.find({ collection: 'products', where: { category } })
|
|
22
|
+
* },
|
|
23
|
+
* }
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Context passed to tool execution
|
|
28
|
+
* Contains the Payload instance for database operations
|
|
29
|
+
*/
|
|
30
|
+
export interface AiToolContext {
|
|
31
|
+
/**
|
|
32
|
+
* Payload CMS instance for database operations
|
|
33
|
+
*/
|
|
34
|
+
payload: import('payload').Payload;
|
|
35
|
+
/**
|
|
36
|
+
* The authenticated user making the request
|
|
37
|
+
*/
|
|
38
|
+
user?: import('payload').User;
|
|
39
|
+
}
|
|
40
|
+
export interface AiTool<TInput = unknown, TOutput = unknown> {
|
|
41
|
+
/**
|
|
42
|
+
* A description that the agent will use to understand how to use this tool
|
|
43
|
+
*/
|
|
44
|
+
description: string;
|
|
45
|
+
/**
|
|
46
|
+
* The shape of the parameters provided to the execute function.
|
|
47
|
+
* Must be a Zod object schema.
|
|
48
|
+
*/
|
|
49
|
+
inputSchema: import('zod').ZodObject<any>;
|
|
50
|
+
/**
|
|
51
|
+
* The execution function for the tool.
|
|
52
|
+
* Will receive parameters provided by the agent that match the inputSchema.
|
|
53
|
+
* The second parameter is optional execution context containing the Payload instance
|
|
54
|
+
* (available when using createPuckPlugin with auto-registered endpoints).
|
|
55
|
+
*/
|
|
56
|
+
execute: (params: TInput, context?: AiToolContext) => Promise<TOutput> | TOutput;
|
|
57
|
+
/**
|
|
58
|
+
* Optional name for the tool
|
|
59
|
+
*/
|
|
60
|
+
name?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* AI-specific configuration options for the server-side handler
|
|
64
|
+
*/
|
|
65
|
+
export interface AiOptions {
|
|
66
|
+
/**
|
|
67
|
+
* System context and instructions for the AI agent.
|
|
68
|
+
* Guides the AI's behavior and output.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* context: `## Overview
|
|
73
|
+
* We are Google. You help us build Google landing pages.
|
|
74
|
+
*
|
|
75
|
+
* ## Brand Guidelines
|
|
76
|
+
* Our brand colors are:
|
|
77
|
+
* - #4285F4 (primary)
|
|
78
|
+
* - #DB4437
|
|
79
|
+
*
|
|
80
|
+
* ## Tone of Voice
|
|
81
|
+
* - American English
|
|
82
|
+
* - Professional but friendly`
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
context?: string;
|
|
86
|
+
/**
|
|
87
|
+
* Custom tools that enable the AI to execute server-side functions.
|
|
88
|
+
* Tools allow the agent to query your database, fetch external data, etc.
|
|
89
|
+
*/
|
|
90
|
+
tools?: Record<string, AiTool>;
|
|
91
|
+
/**
|
|
92
|
+
* Custom Puck Cloud API key.
|
|
93
|
+
* Defaults to PUCK_API_KEY environment variable.
|
|
94
|
+
*/
|
|
95
|
+
apiKey?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Custom Puck Cloud host URL
|
|
98
|
+
*/
|
|
99
|
+
host?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* AI configuration for a Puck field
|
|
103
|
+
*
|
|
104
|
+
* Add to any field's configuration to control how the AI generates content for it.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* fields: {
|
|
109
|
+
* title: {
|
|
110
|
+
* type: 'text',
|
|
111
|
+
* ai: {
|
|
112
|
+
* instructions: 'Always use sentence case',
|
|
113
|
+
* required: true,
|
|
114
|
+
* },
|
|
115
|
+
* },
|
|
116
|
+
* }
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export interface AiFieldConfig {
|
|
120
|
+
/**
|
|
121
|
+
* Instructions for the AI when generating this field's value
|
|
122
|
+
*/
|
|
123
|
+
instructions?: string;
|
|
124
|
+
/**
|
|
125
|
+
* Whether this field is required for AI generation
|
|
126
|
+
* (even if not present in defaultProps)
|
|
127
|
+
*/
|
|
128
|
+
required?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Exclude this field from AI generation.
|
|
131
|
+
* Useful for fields like media library references that AI can't populate.
|
|
132
|
+
*/
|
|
133
|
+
exclude?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Custom JSON schema for the field.
|
|
136
|
+
* Required for 'custom', 'external', or user-defined fields
|
|
137
|
+
* where Puck AI cannot automatically infer the schema.
|
|
138
|
+
*/
|
|
139
|
+
schema?: {
|
|
140
|
+
type: string;
|
|
141
|
+
[key: string]: unknown;
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* AI configuration for a Puck component
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```typescript
|
|
149
|
+
* const HeadingConfig = {
|
|
150
|
+
* ai: {
|
|
151
|
+
* instructions: 'Always place this at the top of sections',
|
|
152
|
+
* },
|
|
153
|
+
* fields: { ... },
|
|
154
|
+
* render: ({ title }) => <h1>{title}</h1>,
|
|
155
|
+
* }
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export interface AiComponentConfig {
|
|
159
|
+
/**
|
|
160
|
+
* Instructions for the AI when using this component
|
|
161
|
+
*/
|
|
162
|
+
instructions?: string;
|
|
163
|
+
/**
|
|
164
|
+
* Custom JSON schema for the entire component.
|
|
165
|
+
* For when Puck can't infer from fields.
|
|
166
|
+
*/
|
|
167
|
+
schema?: {
|
|
168
|
+
type: 'object';
|
|
169
|
+
parameters: Record<string, {
|
|
170
|
+
type: string;
|
|
171
|
+
[key: string]: unknown;
|
|
172
|
+
}>;
|
|
173
|
+
required?: string[];
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Configuration for Puck AI API routes
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```typescript
|
|
181
|
+
* // app/api/puck/[...all]/route.ts
|
|
182
|
+
* import { createPuckAiApiRoutes } from '@delmaredigital/payload-puck/ai'
|
|
183
|
+
*
|
|
184
|
+
* export const POST = createPuckAiApiRoutes({
|
|
185
|
+
* payloadConfig: config,
|
|
186
|
+
* auth: {
|
|
187
|
+
* authenticate: async (request) => {
|
|
188
|
+
* // Your auth implementation
|
|
189
|
+
* },
|
|
190
|
+
* },
|
|
191
|
+
* ai: {
|
|
192
|
+
* context: 'We are Acme Corp. You build our landing pages.',
|
|
193
|
+
* },
|
|
194
|
+
* })
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
export interface PuckAiRoutesConfig {
|
|
198
|
+
/**
|
|
199
|
+
* Payload configuration - import from @payload-config
|
|
200
|
+
*/
|
|
201
|
+
payloadConfig: Promise<SanitizedConfig>;
|
|
202
|
+
/**
|
|
203
|
+
* Authentication hooks (reuses existing pattern from API routes)
|
|
204
|
+
*/
|
|
205
|
+
auth: PuckApiAuthHooks;
|
|
206
|
+
/**
|
|
207
|
+
* AI-specific options
|
|
208
|
+
*/
|
|
209
|
+
ai?: AiOptions;
|
|
210
|
+
/**
|
|
211
|
+
* Custom error handler for logging/monitoring
|
|
212
|
+
*/
|
|
213
|
+
onError?: (error: unknown, context: {
|
|
214
|
+
operation: string;
|
|
215
|
+
request: NextRequest;
|
|
216
|
+
}) => void;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Route handlers returned by createPuckAiApiRoutes
|
|
220
|
+
*/
|
|
221
|
+
export interface PuckAiRouteHandlers {
|
|
222
|
+
POST: (request: NextRequest) => Promise<Response>;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Configuration for headless AI page generation
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const generatePage = createAiGenerate({
|
|
230
|
+
* payloadConfig: config,
|
|
231
|
+
* auth: { authenticate: async (req) => ... },
|
|
232
|
+
* ai: { context: 'We are Acme Corp...' },
|
|
233
|
+
* })
|
|
234
|
+
*
|
|
235
|
+
* const pageData = await generatePage({
|
|
236
|
+
* prompt: 'Create a landing page for our new product',
|
|
237
|
+
* puckConfig: editorConfig,
|
|
238
|
+
* })
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
export interface AiGenerateConfig {
|
|
242
|
+
/**
|
|
243
|
+
* Payload configuration - import from @payload-config
|
|
244
|
+
*/
|
|
245
|
+
payloadConfig: Promise<SanitizedConfig>;
|
|
246
|
+
/**
|
|
247
|
+
* Authentication hooks
|
|
248
|
+
*/
|
|
249
|
+
auth: PuckApiAuthHooks;
|
|
250
|
+
/**
|
|
251
|
+
* AI-specific options
|
|
252
|
+
*/
|
|
253
|
+
ai?: AiOptions;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Options for a single generation request
|
|
257
|
+
*/
|
|
258
|
+
export interface AiGenerateOptions {
|
|
259
|
+
/**
|
|
260
|
+
* Natural language prompt for generation
|
|
261
|
+
*/
|
|
262
|
+
prompt: string;
|
|
263
|
+
/**
|
|
264
|
+
* The Puck configuration with component definitions
|
|
265
|
+
*/
|
|
266
|
+
puckConfig: PuckConfig;
|
|
267
|
+
/**
|
|
268
|
+
* Optional authenticated user for the generation
|
|
269
|
+
*/
|
|
270
|
+
user?: AuthenticatedUser;
|
|
271
|
+
/**
|
|
272
|
+
* Existing Puck data to consider when actioning the prompt.
|
|
273
|
+
* Use this to update an existing page rather than create from scratch.
|
|
274
|
+
*/
|
|
275
|
+
pageData?: PuckData;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Function returned by createAiGenerate
|
|
279
|
+
*/
|
|
280
|
+
export type AiGenerateFunction = (options: AiGenerateOptions) => Promise<PuckData>;
|
|
281
|
+
/**
|
|
282
|
+
* Example prompt for the AI chat interface
|
|
283
|
+
*/
|
|
284
|
+
export interface AiExamplePrompt {
|
|
285
|
+
/**
|
|
286
|
+
* Display label for the prompt
|
|
287
|
+
*/
|
|
288
|
+
label: string;
|
|
289
|
+
/**
|
|
290
|
+
* The actual prompt text
|
|
291
|
+
*/
|
|
292
|
+
prompt: string;
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Configuration options for the AI plugin
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```typescript
|
|
299
|
+
* const aiPlugin = createAiPlugin({
|
|
300
|
+
* host: '/api/puck',
|
|
301
|
+
* examplePrompts: [
|
|
302
|
+
* { label: 'Landing page', prompt: 'Create a landing page about dogs' },
|
|
303
|
+
* ],
|
|
304
|
+
* })
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
export interface AiPluginOptions {
|
|
308
|
+
/**
|
|
309
|
+
* API host for AI requests.
|
|
310
|
+
* @default '/api/puck'
|
|
311
|
+
*/
|
|
312
|
+
host?: string;
|
|
313
|
+
/**
|
|
314
|
+
* Example prompts to show in the chat interface.
|
|
315
|
+
* Users can click these to quickly send common prompts.
|
|
316
|
+
*/
|
|
317
|
+
examplePrompts?: AiExamplePrompt[];
|
|
318
|
+
/**
|
|
319
|
+
* Callback when user submits a prompt
|
|
320
|
+
*/
|
|
321
|
+
onSubmit?: (prompt: string) => void;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* AI configuration overrides for components
|
|
325
|
+
*
|
|
326
|
+
* Used with injectAiConfig to add AI metadata to existing component configs.
|
|
327
|
+
*
|
|
328
|
+
* @example
|
|
329
|
+
* ```typescript
|
|
330
|
+
* const overrides: ComponentAiOverrides = {
|
|
331
|
+
* Heading: {
|
|
332
|
+
* ai: {
|
|
333
|
+
* instructions: 'Use for section titles',
|
|
334
|
+
* },
|
|
335
|
+
* fields: {
|
|
336
|
+
* text: {
|
|
337
|
+
* ai: { required: true },
|
|
338
|
+
* },
|
|
339
|
+
* },
|
|
340
|
+
* },
|
|
341
|
+
* }
|
|
342
|
+
* ```
|
|
343
|
+
*/
|
|
344
|
+
export interface ComponentAiOverrides {
|
|
345
|
+
[componentName: string]: {
|
|
346
|
+
ai?: AiComponentConfig;
|
|
347
|
+
fields?: {
|
|
348
|
+
[fieldName: string]: {
|
|
349
|
+
ai?: AiFieldConfig;
|
|
350
|
+
};
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* A stored AI prompt from the database
|
|
356
|
+
*/
|
|
357
|
+
export interface AiPrompt {
|
|
358
|
+
id: string;
|
|
359
|
+
label: string;
|
|
360
|
+
prompt: string;
|
|
361
|
+
category?: string;
|
|
362
|
+
order?: number;
|
|
363
|
+
createdAt: string;
|
|
364
|
+
updatedAt: string;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* A stored AI context entry from the database
|
|
368
|
+
*/
|
|
369
|
+
export interface AiContext {
|
|
370
|
+
id: string;
|
|
371
|
+
name: string;
|
|
372
|
+
content: string;
|
|
373
|
+
category?: 'brand' | 'tone' | 'product' | 'industry' | 'technical' | 'patterns' | 'other';
|
|
374
|
+
enabled: boolean;
|
|
375
|
+
order?: number;
|
|
376
|
+
createdAt: string;
|
|
377
|
+
updatedAt: string;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Configuration for the prompt editor plugin
|
|
381
|
+
*/
|
|
382
|
+
export interface PromptEditorPluginOptions {
|
|
383
|
+
/**
|
|
384
|
+
* API endpoint for prompt CRUD operations
|
|
385
|
+
* @default '/api/puck/ai-prompts'
|
|
386
|
+
*/
|
|
387
|
+
apiEndpoint?: string;
|
|
388
|
+
/**
|
|
389
|
+
* Whether users can edit prompts in the panel
|
|
390
|
+
* @default true
|
|
391
|
+
*/
|
|
392
|
+
canEdit?: boolean;
|
|
393
|
+
/**
|
|
394
|
+
* Whether to show the create button
|
|
395
|
+
* @default true
|
|
396
|
+
*/
|
|
397
|
+
canCreate?: boolean;
|
|
398
|
+
/**
|
|
399
|
+
* Whether to show delete buttons
|
|
400
|
+
* @default true
|
|
401
|
+
*/
|
|
402
|
+
canDelete?: boolean;
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Configuration for the context editor plugin
|
|
406
|
+
*/
|
|
407
|
+
export interface ContextEditorPluginOptions {
|
|
408
|
+
/**
|
|
409
|
+
* API endpoint for context CRUD operations
|
|
410
|
+
* @default '/api/puck/ai-context'
|
|
411
|
+
*/
|
|
412
|
+
apiEndpoint?: string;
|
|
413
|
+
/**
|
|
414
|
+
* Whether users can edit context in the panel
|
|
415
|
+
* @default true
|
|
416
|
+
*/
|
|
417
|
+
canEdit?: boolean;
|
|
418
|
+
/**
|
|
419
|
+
* Whether to show the create button
|
|
420
|
+
* @default true
|
|
421
|
+
*/
|
|
422
|
+
canCreate?: boolean;
|
|
423
|
+
/**
|
|
424
|
+
* Whether to show delete buttons
|
|
425
|
+
* @default true
|
|
426
|
+
*/
|
|
427
|
+
canDelete?: boolean;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* AI configuration for createPuckPlugin
|
|
431
|
+
*/
|
|
432
|
+
export interface PuckPluginAiConfig {
|
|
433
|
+
/**
|
|
434
|
+
* Enable AI features
|
|
435
|
+
* @default false
|
|
436
|
+
*/
|
|
437
|
+
enabled?: boolean;
|
|
438
|
+
/**
|
|
439
|
+
* System context for the AI agent
|
|
440
|
+
*/
|
|
441
|
+
context?: string;
|
|
442
|
+
/**
|
|
443
|
+
* Custom tools that enable the AI to execute server-side functions.
|
|
444
|
+
* Tools allow the agent to query your database, fetch external data, etc.
|
|
445
|
+
*
|
|
446
|
+
* @example
|
|
447
|
+
* ```typescript
|
|
448
|
+
* import { z } from 'zod'
|
|
449
|
+
*
|
|
450
|
+
* createPuckPlugin({
|
|
451
|
+
* ai: {
|
|
452
|
+
* enabled: true,
|
|
453
|
+
* tools: {
|
|
454
|
+
* getProducts: {
|
|
455
|
+
* description: 'Get products from the database',
|
|
456
|
+
* inputSchema: z.object({ category: z.string() }),
|
|
457
|
+
* execute: async ({ category }) => {
|
|
458
|
+
* return await payload.find({ collection: 'products', where: { category } })
|
|
459
|
+
* },
|
|
460
|
+
* },
|
|
461
|
+
* },
|
|
462
|
+
* },
|
|
463
|
+
* })
|
|
464
|
+
* ```
|
|
465
|
+
*/
|
|
466
|
+
tools?: Record<string, AiTool>;
|
|
467
|
+
/**
|
|
468
|
+
* Example prompts for the chat interface
|
|
469
|
+
*/
|
|
470
|
+
examplePrompts?: AiExamplePrompt[];
|
|
471
|
+
/**
|
|
472
|
+
* Auto-create puck-ai-prompts collection for storing prompts
|
|
473
|
+
* @default false
|
|
474
|
+
*/
|
|
475
|
+
promptsCollection?: boolean;
|
|
476
|
+
/**
|
|
477
|
+
* Auto-create puck-ai-context collection for dynamic business context.
|
|
478
|
+
* When enabled, context entries can be managed via Payload admin and
|
|
479
|
+
* the Context Editor panel in the Puck editor.
|
|
480
|
+
* @default false
|
|
481
|
+
*/
|
|
482
|
+
contextCollection?: boolean;
|
|
483
|
+
/**
|
|
484
|
+
* Custom component AI instructions to override or extend defaults.
|
|
485
|
+
* When AI is enabled, built-in component instructions are auto-applied.
|
|
486
|
+
* Use this to customize instructions for your brand/use case.
|
|
487
|
+
*
|
|
488
|
+
* @example
|
|
489
|
+
* ```typescript
|
|
490
|
+
* createPuckPlugin({
|
|
491
|
+
* ai: {
|
|
492
|
+
* enabled: true,
|
|
493
|
+
* componentInstructions: {
|
|
494
|
+
* Heading: {
|
|
495
|
+
* ai: { instructions: 'Use our brand voice: professional but approachable' },
|
|
496
|
+
* fields: {
|
|
497
|
+
* text: { ai: { instructions: 'Keep under 8 words' } },
|
|
498
|
+
* },
|
|
499
|
+
* },
|
|
500
|
+
* },
|
|
501
|
+
* },
|
|
502
|
+
* })
|
|
503
|
+
* ```
|
|
504
|
+
*/
|
|
505
|
+
componentInstructions?: ComponentAiOverrides;
|
|
506
|
+
}
|
|
507
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Config as PuckConfig } from '@puckeditor/core';
|
|
2
|
+
import type { ComponentAiOverrides } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Injects AI configuration into an existing Puck config
|
|
5
|
+
*
|
|
6
|
+
* This function:
|
|
7
|
+
* 1. Applies component-level and field-level AI overrides from the provided config
|
|
8
|
+
* 2. **Automatically excludes ALL `type: 'custom'` fields** from AI generation
|
|
9
|
+
* (custom fields are UI-only interactive fields that AI cannot generate values for)
|
|
10
|
+
*
|
|
11
|
+
* @example Basic usage
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { editorConfig } from '@delmaredigital/payload-puck/config/editor'
|
|
14
|
+
* import { injectAiConfig, defaultComponentAiConfig } from '@delmaredigital/payload-puck/ai'
|
|
15
|
+
*
|
|
16
|
+
* // Use default AI configs for built-in components
|
|
17
|
+
* const aiEnabledConfig = injectAiConfig(editorConfig, defaultComponentAiConfig)
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @example With custom overrides
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const aiEnabledConfig = injectAiConfig(editorConfig, {
|
|
23
|
+
* ...defaultComponentAiConfig,
|
|
24
|
+
* // Override a built-in component
|
|
25
|
+
* Heading: {
|
|
26
|
+
* ai: {
|
|
27
|
+
* instructions: 'Use our brand voice: professional but approachable',
|
|
28
|
+
* },
|
|
29
|
+
* fields: {
|
|
30
|
+
* text: {
|
|
31
|
+
* ai: {
|
|
32
|
+
* instructions: 'Keep headings concise (under 10 words)',
|
|
33
|
+
* required: true,
|
|
34
|
+
* },
|
|
35
|
+
* },
|
|
36
|
+
* },
|
|
37
|
+
* },
|
|
38
|
+
* // Add config for a custom component
|
|
39
|
+
* HeroSection: {
|
|
40
|
+
* ai: {
|
|
41
|
+
* instructions: 'Always place at the top of the page',
|
|
42
|
+
* },
|
|
43
|
+
* fields: {
|
|
44
|
+
* headline: {
|
|
45
|
+
* ai: {
|
|
46
|
+
* instructions: 'Use power words, keep under 8 words',
|
|
47
|
+
* required: true,
|
|
48
|
+
* },
|
|
49
|
+
* },
|
|
50
|
+
* },
|
|
51
|
+
* },
|
|
52
|
+
* })
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @param config - The base Puck configuration to enhance
|
|
56
|
+
* @param overrides - AI configuration overrides for each component
|
|
57
|
+
* @returns A new Puck config with AI metadata injected
|
|
58
|
+
*/
|
|
59
|
+
export declare function injectAiConfig(config: PuckConfig, overrides: ComponentAiOverrides): PuckConfig;
|
|
60
|
+
/**
|
|
61
|
+
* Checks if a config already has AI configuration
|
|
62
|
+
*
|
|
63
|
+
* @param config - The Puck configuration to check
|
|
64
|
+
* @returns True if any component has AI configuration
|
|
65
|
+
*/
|
|
66
|
+
export declare function hasAiConfig(config: PuckConfig): boolean;
|
|
67
|
+
//# sourceMappingURL=injectAiConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectAiConfig.d.ts","sourceRoot":"","sources":["../../../src/ai/utils/injectAiConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAuBvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,oBAAoB,GAC9B,UAAU,CAuJZ;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAgBvD"}
|