@delmaredigital/payload-puck 0.4.0 → 0.6.1

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.
Files changed (451) hide show
  1. package/README.md +429 -17
  2. package/dist/admin/PuckEditorView.d.ts +1 -1
  3. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  4. package/dist/ai/collections/AiContext.d.ts +16 -0
  5. package/dist/ai/collections/AiContext.d.ts.map +1 -0
  6. package/dist/ai/collections/AiContext.js +87 -0
  7. package/dist/ai/collections/AiContext.js.map +1 -0
  8. package/dist/ai/collections/AiPrompts.d.ts +10 -0
  9. package/dist/ai/collections/AiPrompts.d.ts.map +1 -0
  10. package/dist/ai/collections/AiPrompts.js +63 -0
  11. package/dist/ai/collections/AiPrompts.js.map +1 -0
  12. package/dist/ai/createAiApiRoutes.d.ts +40 -0
  13. package/dist/ai/createAiApiRoutes.d.ts.map +1 -0
  14. package/dist/ai/createAiApiRoutes.js +106 -0
  15. package/dist/ai/createAiApiRoutes.js.map +1 -0
  16. package/dist/ai/createAiGenerate.d.ts +65 -0
  17. package/dist/ai/createAiGenerate.d.ts.map +1 -0
  18. package/dist/ai/createAiGenerate.js +106 -0
  19. package/dist/ai/createAiGenerate.js.map +1 -0
  20. package/dist/ai/createAiPlugin.d.ts +39 -0
  21. package/dist/ai/createAiPlugin.d.ts.map +1 -0
  22. package/dist/ai/createAiPlugin.js +61 -0
  23. package/dist/ai/createAiPlugin.js.map +1 -0
  24. package/dist/ai/hooks/useAiContext.d.ts +63 -0
  25. package/dist/ai/hooks/useAiContext.d.ts.map +1 -0
  26. package/dist/ai/hooks/useAiContext.js +146 -0
  27. package/dist/ai/hooks/useAiContext.js.map +1 -0
  28. package/dist/ai/hooks/useAiPrompts.d.ts +25 -0
  29. package/dist/ai/hooks/useAiPrompts.d.ts.map +1 -0
  30. package/dist/ai/hooks/useAiPrompts.js +74 -0
  31. package/dist/ai/hooks/useAiPrompts.js.map +1 -0
  32. package/dist/ai/index.d.ts +51 -0
  33. package/dist/ai/index.d.ts.map +1 -0
  34. package/dist/ai/index.js +69 -0
  35. package/dist/ai/index.js.map +1 -0
  36. package/dist/ai/plugins/ContextEditorPanel.d.ts +9 -0
  37. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -0
  38. package/dist/ai/plugins/ContextEditorPanel.js +399 -0
  39. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -0
  40. package/dist/ai/plugins/PromptEditorPanel.d.ts +9 -0
  41. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -0
  42. package/dist/ai/plugins/PromptEditorPanel.js +270 -0
  43. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -0
  44. package/dist/ai/plugins/contextEditorPlugin.d.ts +30 -0
  45. package/dist/ai/plugins/contextEditorPlugin.d.ts.map +1 -0
  46. package/dist/ai/plugins/contextEditorPlugin.js +40 -0
  47. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -0
  48. package/dist/ai/plugins/promptApiRoutes.d.ts +68 -0
  49. package/dist/ai/plugins/promptApiRoutes.d.ts.map +1 -0
  50. package/dist/ai/plugins/promptApiRoutes.js +181 -0
  51. package/dist/ai/plugins/promptApiRoutes.js.map +1 -0
  52. package/dist/ai/plugins/promptEditorPlugin.d.ts +29 -0
  53. package/dist/ai/plugins/promptEditorPlugin.d.ts.map +1 -0
  54. package/dist/ai/plugins/promptEditorPlugin.js +39 -0
  55. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -0
  56. package/dist/ai/presets/componentAiDefaults.d.ts +40 -0
  57. package/dist/ai/presets/componentAiDefaults.d.ts.map +1 -0
  58. package/dist/ai/presets/componentAiDefaults.js +239 -0
  59. package/dist/ai/presets/componentAiDefaults.js.map +1 -0
  60. package/dist/ai/presets/index.d.ts +94 -0
  61. package/dist/ai/presets/index.d.ts.map +1 -0
  62. package/dist/ai/presets/index.js +110 -0
  63. package/dist/ai/presets/index.js.map +1 -0
  64. package/dist/ai/presets/instructions/interactive.d.ts +15 -0
  65. package/dist/ai/presets/instructions/interactive.d.ts.map +1 -0
  66. package/dist/ai/presets/instructions/interactive.js +334 -0
  67. package/dist/ai/presets/instructions/interactive.js.map +1 -0
  68. package/dist/ai/presets/instructions/layout.d.ts +16 -0
  69. package/dist/ai/presets/instructions/layout.d.ts.map +1 -0
  70. package/dist/ai/presets/instructions/layout.js +486 -0
  71. package/dist/ai/presets/instructions/layout.js.map +1 -0
  72. package/dist/ai/presets/instructions/media.d.ts +15 -0
  73. package/dist/ai/presets/instructions/media.d.ts.map +1 -0
  74. package/dist/ai/presets/instructions/media.js +136 -0
  75. package/dist/ai/presets/instructions/media.js.map +1 -0
  76. package/dist/ai/presets/instructions/pagePatterns.d.ts +20 -0
  77. package/dist/ai/presets/instructions/pagePatterns.d.ts.map +1 -0
  78. package/dist/ai/presets/instructions/pagePatterns.js +290 -0
  79. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -0
  80. package/dist/ai/presets/instructions/schemas.d.ts +1247 -0
  81. package/dist/ai/presets/instructions/schemas.d.ts.map +1 -0
  82. package/dist/ai/presets/instructions/schemas.js +240 -0
  83. package/dist/ai/presets/instructions/schemas.js.map +1 -0
  84. package/dist/ai/presets/instructions/typography.d.ts +16 -0
  85. package/dist/ai/presets/instructions/typography.d.ts.map +1 -0
  86. package/dist/ai/presets/instructions/typography.js +192 -0
  87. package/dist/ai/presets/instructions/typography.js.map +1 -0
  88. package/dist/ai/tools/index.d.ts +116 -0
  89. package/dist/ai/tools/index.d.ts.map +1 -0
  90. package/dist/ai/tools/index.js +214 -0
  91. package/dist/ai/tools/index.js.map +1 -0
  92. package/dist/ai/types.d.ts +507 -0
  93. package/dist/ai/types.d.ts.map +1 -0
  94. package/dist/ai/types.js +2 -0
  95. package/dist/ai/types.js.map +1 -0
  96. package/dist/ai/utils/injectAiConfig.d.ts +67 -0
  97. package/dist/ai/utils/injectAiConfig.d.ts.map +1 -0
  98. package/dist/ai/utils/injectAiConfig.js +216 -0
  99. package/dist/ai/utils/injectAiConfig.js.map +1 -0
  100. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  101. package/dist/api/createPuckApiRoutesWithId.js +12 -5
  102. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  103. package/dist/api/index.d.ts +1 -1
  104. package/dist/api/index.d.ts.map +1 -1
  105. package/dist/api/index.js +1 -1
  106. package/dist/api/index.js.map +1 -1
  107. package/dist/api/types.d.ts +1 -1
  108. package/dist/api/types.d.ts.map +1 -1
  109. package/dist/api/utils/mapRootProps.d.ts +19 -0
  110. package/dist/api/utils/mapRootProps.d.ts.map +1 -1
  111. package/dist/api/utils/mapRootProps.js +33 -0
  112. package/dist/api/utils/mapRootProps.js.map +1 -1
  113. package/dist/components/exports.d.ts +2 -1
  114. package/dist/components/exports.d.ts.map +1 -1
  115. package/dist/components/exports.js +5 -1
  116. package/dist/components/exports.js.map +1 -1
  117. package/dist/components/interactive/Accordion.d.ts +1 -1
  118. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  119. package/dist/components/interactive/Accordion.js +4 -4
  120. package/dist/components/interactive/Accordion.js.map +1 -1
  121. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  122. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  123. package/dist/components/interactive/Button.d.ts +1 -1
  124. package/dist/components/interactive/Button.d.ts.map +1 -1
  125. package/dist/components/interactive/Button.server.d.ts +2 -3
  126. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  127. package/dist/components/interactive/Button.server.js +1 -2
  128. package/dist/components/interactive/Button.server.js.map +1 -1
  129. package/dist/components/interactive/Card.d.ts +1 -1
  130. package/dist/components/interactive/Card.d.ts.map +1 -1
  131. package/dist/components/interactive/Card.server.d.ts +1 -1
  132. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  133. package/dist/components/interactive/Divider.d.ts +1 -1
  134. package/dist/components/interactive/Divider.d.ts.map +1 -1
  135. package/dist/components/interactive/Divider.server.d.ts +1 -1
  136. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  137. package/dist/components/layout/Container.d.ts +3 -1
  138. package/dist/components/layout/Container.d.ts.map +1 -1
  139. package/dist/components/layout/Container.js +16 -2
  140. package/dist/components/layout/Container.js.map +1 -1
  141. package/dist/components/layout/Container.server.d.ts +3 -1
  142. package/dist/components/layout/Container.server.d.ts.map +1 -1
  143. package/dist/components/layout/Container.server.js +5 -2
  144. package/dist/components/layout/Container.server.js.map +1 -1
  145. package/dist/components/layout/Flex.d.ts +3 -1
  146. package/dist/components/layout/Flex.d.ts.map +1 -1
  147. package/dist/components/layout/Flex.js +18 -2
  148. package/dist/components/layout/Flex.js.map +1 -1
  149. package/dist/components/layout/Flex.server.d.ts +3 -1
  150. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  151. package/dist/components/layout/Flex.server.js +5 -2
  152. package/dist/components/layout/Flex.server.js.map +1 -1
  153. package/dist/components/layout/Grid.d.ts +3 -1
  154. package/dist/components/layout/Grid.d.ts.map +1 -1
  155. package/dist/components/layout/Grid.js +15 -2
  156. package/dist/components/layout/Grid.js.map +1 -1
  157. package/dist/components/layout/Grid.server.d.ts +3 -1
  158. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  159. package/dist/components/layout/Grid.server.js +5 -2
  160. package/dist/components/layout/Grid.server.js.map +1 -1
  161. package/dist/components/layout/Section.d.ts +3 -1
  162. package/dist/components/layout/Section.d.ts.map +1 -1
  163. package/dist/components/layout/Section.js +32 -5
  164. package/dist/components/layout/Section.js.map +1 -1
  165. package/dist/components/layout/Section.server.d.ts +3 -1
  166. package/dist/components/layout/Section.server.d.ts.map +1 -1
  167. package/dist/components/layout/Section.server.js +16 -4
  168. package/dist/components/layout/Section.server.js.map +1 -1
  169. package/dist/components/layout/Spacer.d.ts +1 -1
  170. package/dist/components/layout/Spacer.d.ts.map +1 -1
  171. package/dist/components/layout/Spacer.server.d.ts +1 -1
  172. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  173. package/dist/components/layout/Template.d.ts +1 -1
  174. package/dist/components/layout/Template.d.ts.map +1 -1
  175. package/dist/components/layout/Template.server.d.ts +1 -1
  176. package/dist/components/layout/Template.server.d.ts.map +1 -1
  177. package/dist/components/media/Image.d.ts +1 -1
  178. package/dist/components/media/Image.d.ts.map +1 -1
  179. package/dist/components/media/Image.server.d.ts +1 -1
  180. package/dist/components/media/Image.server.d.ts.map +1 -1
  181. package/dist/components/typography/Heading.d.ts +1 -1
  182. package/dist/components/typography/Heading.d.ts.map +1 -1
  183. package/dist/components/typography/Heading.server.d.ts +1 -1
  184. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  185. package/dist/components/typography/RichText.editor.d.ts +15 -2
  186. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  187. package/dist/components/typography/RichText.editor.js +18 -11
  188. package/dist/components/typography/RichText.editor.js.map +1 -1
  189. package/dist/components/typography/RichText.server.d.ts +3 -2
  190. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  191. package/dist/components/typography/RichText.server.js +10 -5
  192. package/dist/components/typography/RichText.server.js.map +1 -1
  193. package/dist/components/typography/Text.d.ts +1 -1
  194. package/dist/components/typography/Text.d.ts.map +1 -1
  195. package/dist/components/typography/Text.server.d.ts +1 -1
  196. package/dist/components/typography/Text.server.d.ts.map +1 -1
  197. package/dist/components/typography/index.d.ts +1 -1
  198. package/dist/components/typography/index.d.ts.map +1 -1
  199. package/dist/components/typography/index.js +1 -1
  200. package/dist/components/typography/index.js.map +1 -1
  201. package/dist/config/config.editor.d.ts +4 -4
  202. package/dist/config/config.editor.d.ts.map +1 -1
  203. package/dist/config/index.d.ts +2 -1
  204. package/dist/config/index.d.ts.map +1 -1
  205. package/dist/config/merge.d.ts +1 -1
  206. package/dist/config/merge.d.ts.map +1 -1
  207. package/dist/config/presets.d.ts +15 -15
  208. package/dist/config/presets.d.ts.map +1 -1
  209. package/dist/config/presets.js +2 -2
  210. package/dist/config/presets.js.map +1 -1
  211. package/dist/config/types.d.ts +111 -0
  212. package/dist/config/types.d.ts.map +1 -0
  213. package/dist/config/types.js +8 -0
  214. package/dist/config/types.js.map +1 -0
  215. package/dist/editor/PuckEditor.d.ts +88 -2
  216. package/dist/editor/PuckEditor.d.ts.map +1 -1
  217. package/dist/editor/PuckEditor.js +41 -13
  218. package/dist/editor/PuckEditor.js.map +1 -1
  219. package/dist/editor/PuckEditorImpl.client.d.ts +49 -4
  220. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -1
  221. package/dist/editor/PuckEditorImpl.client.js +191 -14
  222. package/dist/editor/PuckEditorImpl.client.js.map +1 -1
  223. package/dist/editor/ai-plugin-overrides.css +20 -0
  224. package/dist/editor/components/HeaderActions.d.ts +7 -2
  225. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  226. package/dist/editor/components/HeaderActions.js +16 -3
  227. package/dist/editor/components/HeaderActions.js.map +1 -1
  228. package/dist/editor/components/IframeWrapper.d.ts +13 -0
  229. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  230. package/dist/editor/components/IframeWrapper.js +60 -4
  231. package/dist/editor/components/IframeWrapper.js.map +1 -1
  232. package/dist/editor/components/PreviewModal.d.ts +9 -1
  233. package/dist/editor/components/PreviewModal.d.ts.map +1 -1
  234. package/dist/editor/components/PreviewModal.js +36 -1
  235. package/dist/editor/components/PreviewModal.js.map +1 -1
  236. package/dist/editor/index.d.ts +4 -0
  237. package/dist/editor/index.d.ts.map +1 -1
  238. package/dist/editor/index.js +4 -0
  239. package/dist/editor/index.js.map +1 -1
  240. package/dist/editor/plugins/VersionHistoryPanel.d.ts +43 -0
  241. package/dist/editor/plugins/VersionHistoryPanel.d.ts.map +1 -0
  242. package/dist/editor/plugins/VersionHistoryPanel.js +303 -0
  243. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -0
  244. package/dist/editor/plugins/index.d.ts +6 -3
  245. package/dist/editor/plugins/index.d.ts.map +1 -1
  246. package/dist/editor/plugins/index.js +7 -3
  247. package/dist/editor/plugins/index.js.map +1 -1
  248. package/dist/editor/plugins/versionHistoryPlugin.d.ts +37 -0
  249. package/dist/editor/plugins/versionHistoryPlugin.d.ts.map +1 -0
  250. package/dist/editor/plugins/versionHistoryPlugin.js +36 -0
  251. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -0
  252. package/dist/editor/utils/detectPageTree.d.ts +1 -1
  253. package/dist/editor/utils/detectPageTree.d.ts.map +1 -1
  254. package/dist/editor/utils/injectPageTreeFields.d.ts +1 -1
  255. package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -1
  256. package/dist/editor/utils/injectPageTreeFields.js +2 -2
  257. package/dist/editor/utils/injectPageTreeFields.js.map +1 -1
  258. package/dist/endpoints/ai.d.ts +36 -0
  259. package/dist/endpoints/ai.d.ts.map +1 -0
  260. package/dist/endpoints/ai.js +315 -0
  261. package/dist/endpoints/ai.js.map +1 -0
  262. package/dist/endpoints/context.d.ts +30 -0
  263. package/dist/endpoints/context.d.ts.map +1 -0
  264. package/dist/endpoints/context.js +123 -0
  265. package/dist/endpoints/context.js.map +1 -0
  266. package/dist/endpoints/prompts.d.ts +28 -0
  267. package/dist/endpoints/prompts.d.ts.map +1 -0
  268. package/dist/endpoints/prompts.js +118 -0
  269. package/dist/endpoints/prompts.js.map +1 -0
  270. package/dist/endpoints/styles.d.ts +19 -0
  271. package/dist/endpoints/styles.d.ts.map +1 -0
  272. package/dist/endpoints/styles.js +116 -0
  273. package/dist/endpoints/styles.js.map +1 -0
  274. package/dist/fields/AlignmentField.d.ts +1 -1
  275. package/dist/fields/AlignmentField.d.ts.map +1 -1
  276. package/dist/fields/AlignmentField.js +1 -0
  277. package/dist/fields/AlignmentField.js.map +1 -1
  278. package/dist/fields/AnimationField.d.ts +1 -1
  279. package/dist/fields/AnimationField.d.ts.map +1 -1
  280. package/dist/fields/BackgroundField.d.ts +1 -1
  281. package/dist/fields/BackgroundField.d.ts.map +1 -1
  282. package/dist/fields/BackgroundField.js +9 -4
  283. package/dist/fields/BackgroundField.js.map +1 -1
  284. package/dist/fields/BorderField.d.ts +1 -1
  285. package/dist/fields/BorderField.d.ts.map +1 -1
  286. package/dist/fields/BorderField.js +1 -0
  287. package/dist/fields/BorderField.js.map +1 -1
  288. package/dist/fields/ColorPickerField.d.ts +1 -1
  289. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  290. package/dist/fields/ColorPickerField.js +4 -2
  291. package/dist/fields/ColorPickerField.js.map +1 -1
  292. package/dist/fields/ContentAlignmentField.d.ts +66 -0
  293. package/dist/fields/ContentAlignmentField.d.ts.map +1 -0
  294. package/dist/fields/ContentAlignmentField.js +255 -0
  295. package/dist/fields/ContentAlignmentField.js.map +1 -0
  296. package/dist/fields/DimensionsField.d.ts +1 -1
  297. package/dist/fields/DimensionsField.d.ts.map +1 -1
  298. package/dist/fields/DimensionsField.js +8 -2
  299. package/dist/fields/DimensionsField.js.map +1 -1
  300. package/dist/fields/FlexAlignmentField.d.ts +1 -1
  301. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  302. package/dist/fields/FolderPickerField.d.ts +1 -1
  303. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  304. package/dist/fields/GradientEditor.d.ts.map +1 -1
  305. package/dist/fields/GradientEditor.js +3 -0
  306. package/dist/fields/GradientEditor.js.map +1 -1
  307. package/dist/fields/LockedField.d.ts +1 -1
  308. package/dist/fields/LockedField.d.ts.map +1 -1
  309. package/dist/fields/MarginField.d.ts +1 -1
  310. package/dist/fields/MarginField.d.ts.map +1 -1
  311. package/dist/fields/MediaField.d.ts +1 -1
  312. package/dist/fields/MediaField.d.ts.map +1 -1
  313. package/dist/fields/MediaField.js +3 -2
  314. package/dist/fields/MediaField.js.map +1 -1
  315. package/dist/fields/PaddingField.d.ts +1 -1
  316. package/dist/fields/PaddingField.d.ts.map +1 -1
  317. package/dist/fields/PageSegmentField.d.ts +18 -1
  318. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  319. package/dist/fields/PageSegmentField.js +106 -1
  320. package/dist/fields/PageSegmentField.js.map +1 -1
  321. package/dist/fields/ResetField.d.ts +1 -1
  322. package/dist/fields/ResetField.d.ts.map +1 -1
  323. package/dist/fields/ResetField.js +1 -1
  324. package/dist/fields/ResetField.js.map +1 -1
  325. package/dist/fields/ResponsiveField.d.ts +1 -1
  326. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  327. package/dist/fields/ResponsiveField.js +5 -2
  328. package/dist/fields/ResponsiveField.js.map +1 -1
  329. package/dist/fields/ResponsiveVisibilityField.d.ts +1 -1
  330. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  331. package/dist/fields/ResponsiveVisibilityField.js +4 -3
  332. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  333. package/dist/fields/SizeField.d.ts +3 -25
  334. package/dist/fields/SizeField.d.ts.map +1 -1
  335. package/dist/fields/SizeField.js +8 -34
  336. package/dist/fields/SizeField.js.map +1 -1
  337. package/dist/fields/SlugPreviewField.d.ts +1 -1
  338. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  339. package/dist/fields/TemplateField.d.ts +1 -1
  340. package/dist/fields/TemplateField.d.ts.map +1 -1
  341. package/dist/fields/TemplateField.js +1 -1
  342. package/dist/fields/TemplateField.js.map +1 -1
  343. package/dist/fields/TransformField.d.ts +1 -1
  344. package/dist/fields/TransformField.d.ts.map +1 -1
  345. package/dist/fields/TransformField.js +2 -0
  346. package/dist/fields/TransformField.js.map +1 -1
  347. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  348. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  349. package/dist/fields/WidthField.d.ts +1 -1
  350. package/dist/fields/WidthField.d.ts.map +1 -1
  351. package/dist/fields/index.d.ts +9 -37
  352. package/dist/fields/index.d.ts.map +1 -1
  353. package/dist/fields/index.js +21 -79
  354. package/dist/fields/index.js.map +1 -1
  355. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +16 -0
  356. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -0
  357. package/dist/fields/richtext/controls/ColorPickerControl.js +116 -0
  358. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -0
  359. package/dist/fields/richtext/controls/DropdownPortal.d.ts +17 -0
  360. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -0
  361. package/dist/fields/richtext/controls/DropdownPortal.js +90 -0
  362. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -0
  363. package/dist/fields/richtext/controls/FontSizeControl.d.ts +8 -0
  364. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -0
  365. package/dist/fields/richtext/controls/FontSizeControl.js +62 -0
  366. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -0
  367. package/dist/fields/richtext/controls/HighlightControl.d.ts +9 -0
  368. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -0
  369. package/dist/fields/richtext/controls/HighlightControl.js +44 -0
  370. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -0
  371. package/dist/fields/richtext/controls/index.d.ts +11 -0
  372. package/dist/fields/richtext/controls/index.d.ts.map +1 -0
  373. package/dist/fields/richtext/controls/index.js +16 -0
  374. package/dist/fields/richtext/controls/index.js.map +1 -0
  375. package/dist/fields/richtext/controls/shared.d.ts +97 -0
  376. package/dist/fields/richtext/controls/shared.d.ts.map +1 -0
  377. package/dist/fields/richtext/controls/shared.js +344 -0
  378. package/dist/fields/richtext/controls/shared.js.map +1 -0
  379. package/dist/fields/richtext/createRichTextField.d.ts +165 -0
  380. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -0
  381. package/dist/fields/richtext/createRichTextField.js +139 -0
  382. package/dist/fields/richtext/createRichTextField.js.map +1 -0
  383. package/dist/fields/richtext/extensions/FontSize.d.ts +23 -0
  384. package/dist/fields/richtext/extensions/FontSize.d.ts.map +1 -0
  385. package/dist/fields/richtext/extensions/FontSize.js +47 -0
  386. package/dist/fields/richtext/extensions/FontSize.js.map +1 -0
  387. package/dist/fields/richtext/extensions/index.d.ts +5 -0
  388. package/dist/fields/richtext/extensions/index.d.ts.map +1 -0
  389. package/dist/fields/richtext/extensions/index.js +5 -0
  390. package/dist/fields/richtext/extensions/index.js.map +1 -0
  391. package/dist/fields/richtext/index.d.ts +14 -0
  392. package/dist/fields/richtext/index.d.ts.map +1 -0
  393. package/dist/fields/richtext/index.js +19 -0
  394. package/dist/fields/richtext/index.js.map +1 -0
  395. package/dist/fields/richtext/richtext-menu.css +50 -0
  396. package/dist/fields/shared.d.ts +27 -1
  397. package/dist/fields/shared.d.ts.map +1 -1
  398. package/dist/fields/shared.js +34 -0
  399. package/dist/fields/shared.js.map +1 -1
  400. package/dist/layouts/types.d.ts +30 -0
  401. package/dist/layouts/types.d.ts.map +1 -1
  402. package/dist/plugin/index.d.ts +1 -0
  403. package/dist/plugin/index.d.ts.map +1 -1
  404. package/dist/plugin/index.js +111 -1
  405. package/dist/plugin/index.js.map +1 -1
  406. package/dist/render/HybridPageRenderer.d.ts +47 -4
  407. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  408. package/dist/render/HybridPageRenderer.js +45 -0
  409. package/dist/render/HybridPageRenderer.js.map +1 -1
  410. package/dist/render/PageRenderer.d.ts +1 -1
  411. package/dist/render/PageRenderer.d.ts.map +1 -1
  412. package/dist/render/PageRenderer.js +1 -1
  413. package/dist/render/PageRenderer.js.map +1 -1
  414. package/dist/render/PuckEditor.client.d.ts +2 -2
  415. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  416. package/dist/render/PuckEditor.client.js +2 -2
  417. package/dist/render/PuckEditor.client.js.map +1 -1
  418. package/dist/render/index.d.ts +2 -2
  419. package/dist/render/index.d.ts.map +1 -1
  420. package/dist/render/index.js +1 -1
  421. package/dist/render/index.js.map +1 -1
  422. package/dist/types/index.d.ts +36 -11
  423. package/dist/types/index.d.ts.map +1 -1
  424. package/dist/version.d.ts +1 -1
  425. package/dist/version.js +1 -1
  426. package/dist/views/PuckConfigContext.d.ts +56 -2
  427. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  428. package/dist/views/PuckConfigContext.js +6 -3
  429. package/dist/views/PuckConfigContext.js.map +1 -1
  430. package/dist/views/PuckEditorView.d.ts.map +1 -1
  431. package/dist/views/PuckEditorView.js +36 -8
  432. package/dist/views/PuckEditorView.js.map +1 -1
  433. package/package.json +34 -10
  434. package/dist/components/typography/RichText.d.ts +0 -20
  435. package/dist/components/typography/RichText.d.ts.map +0 -1
  436. package/dist/components/typography/RichText.js +0 -73
  437. package/dist/components/typography/RichText.js.map +0 -1
  438. package/dist/fields/TiptapField.d.ts +0 -40
  439. package/dist/fields/TiptapField.d.ts.map +0 -1
  440. package/dist/fields/TiptapField.js +0 -857
  441. package/dist/fields/TiptapField.js.map +0 -1
  442. package/dist/fields/TiptapModal.d.ts +0 -10
  443. package/dist/fields/TiptapModal.d.ts.map +0 -1
  444. package/dist/fields/TiptapModal.js +0 -114
  445. package/dist/fields/TiptapModal.js.map +0 -1
  446. package/dist/fields/TiptapModalField.d.ts +0 -23
  447. package/dist/fields/TiptapModalField.d.ts.map +0 -1
  448. package/dist/fields/TiptapModalField.js +0 -55
  449. package/dist/fields/TiptapModalField.js.map +0 -1
  450. package/dist/fields/richtext-output.css +0 -219
  451. 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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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"}