@delmaredigital/payload-puck 0.3.1 → 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.
Files changed (467) hide show
  1. package/README.md +396 -19
  2. package/dist/admin/EditWithPuckButton.d.ts +1 -1
  3. package/dist/admin/EditWithPuckButton.d.ts.map +1 -1
  4. package/dist/admin/EditWithPuckButton.js +2 -2
  5. package/dist/admin/EditWithPuckButton.js.map +1 -1
  6. package/dist/admin/EditWithPuckCell.js +1 -1
  7. package/dist/admin/EditWithPuckCell.js.map +1 -1
  8. package/dist/admin/PuckEditorView.d.ts +1 -1
  9. package/dist/admin/PuckEditorView.d.ts.map +1 -1
  10. package/dist/admin/PuckEditorView.js +1 -1
  11. package/dist/admin/PuckEditorView.js.map +1 -1
  12. package/dist/admin/generateAdminComponents.d.ts +1 -1
  13. package/dist/admin/generateAdminComponents.js +1 -1
  14. package/dist/admin/generateAdminComponents.js.map +1 -1
  15. package/dist/ai/collections/AiContext.d.ts +16 -0
  16. package/dist/ai/collections/AiContext.d.ts.map +1 -0
  17. package/dist/ai/collections/AiContext.js +87 -0
  18. package/dist/ai/collections/AiContext.js.map +1 -0
  19. package/dist/ai/collections/AiPrompts.d.ts +10 -0
  20. package/dist/ai/collections/AiPrompts.d.ts.map +1 -0
  21. package/dist/ai/collections/AiPrompts.js +63 -0
  22. package/dist/ai/collections/AiPrompts.js.map +1 -0
  23. package/dist/ai/createAiApiRoutes.d.ts +40 -0
  24. package/dist/ai/createAiApiRoutes.d.ts.map +1 -0
  25. package/dist/ai/createAiApiRoutes.js +106 -0
  26. package/dist/ai/createAiApiRoutes.js.map +1 -0
  27. package/dist/ai/createAiGenerate.d.ts +65 -0
  28. package/dist/ai/createAiGenerate.d.ts.map +1 -0
  29. package/dist/ai/createAiGenerate.js +106 -0
  30. package/dist/ai/createAiGenerate.js.map +1 -0
  31. package/dist/ai/createAiPlugin.d.ts +39 -0
  32. package/dist/ai/createAiPlugin.d.ts.map +1 -0
  33. package/dist/ai/createAiPlugin.js +61 -0
  34. package/dist/ai/createAiPlugin.js.map +1 -0
  35. package/dist/ai/hooks/useAiContext.d.ts +63 -0
  36. package/dist/ai/hooks/useAiContext.d.ts.map +1 -0
  37. package/dist/ai/hooks/useAiContext.js +146 -0
  38. package/dist/ai/hooks/useAiContext.js.map +1 -0
  39. package/dist/ai/hooks/useAiPrompts.d.ts +25 -0
  40. package/dist/ai/hooks/useAiPrompts.d.ts.map +1 -0
  41. package/dist/ai/hooks/useAiPrompts.js +74 -0
  42. package/dist/ai/hooks/useAiPrompts.js.map +1 -0
  43. package/dist/ai/index.d.ts +51 -0
  44. package/dist/ai/index.d.ts.map +1 -0
  45. package/dist/ai/index.js +69 -0
  46. package/dist/ai/index.js.map +1 -0
  47. package/dist/ai/plugins/ContextEditorPanel.d.ts +9 -0
  48. package/dist/ai/plugins/ContextEditorPanel.d.ts.map +1 -0
  49. package/dist/ai/plugins/ContextEditorPanel.js +399 -0
  50. package/dist/ai/plugins/ContextEditorPanel.js.map +1 -0
  51. package/dist/ai/plugins/PromptEditorPanel.d.ts +9 -0
  52. package/dist/ai/plugins/PromptEditorPanel.d.ts.map +1 -0
  53. package/dist/ai/plugins/PromptEditorPanel.js +270 -0
  54. package/dist/ai/plugins/PromptEditorPanel.js.map +1 -0
  55. package/dist/ai/plugins/contextEditorPlugin.d.ts +30 -0
  56. package/dist/ai/plugins/contextEditorPlugin.d.ts.map +1 -0
  57. package/dist/ai/plugins/contextEditorPlugin.js +40 -0
  58. package/dist/ai/plugins/contextEditorPlugin.js.map +1 -0
  59. package/dist/ai/plugins/promptApiRoutes.d.ts +68 -0
  60. package/dist/ai/plugins/promptApiRoutes.d.ts.map +1 -0
  61. package/dist/ai/plugins/promptApiRoutes.js +181 -0
  62. package/dist/ai/plugins/promptApiRoutes.js.map +1 -0
  63. package/dist/ai/plugins/promptEditorPlugin.d.ts +29 -0
  64. package/dist/ai/plugins/promptEditorPlugin.d.ts.map +1 -0
  65. package/dist/ai/plugins/promptEditorPlugin.js +39 -0
  66. package/dist/ai/plugins/promptEditorPlugin.js.map +1 -0
  67. package/dist/ai/presets/componentAiDefaults.d.ts +40 -0
  68. package/dist/ai/presets/componentAiDefaults.d.ts.map +1 -0
  69. package/dist/ai/presets/componentAiDefaults.js +239 -0
  70. package/dist/ai/presets/componentAiDefaults.js.map +1 -0
  71. package/dist/ai/presets/index.d.ts +94 -0
  72. package/dist/ai/presets/index.d.ts.map +1 -0
  73. package/dist/ai/presets/index.js +110 -0
  74. package/dist/ai/presets/index.js.map +1 -0
  75. package/dist/ai/presets/instructions/interactive.d.ts +15 -0
  76. package/dist/ai/presets/instructions/interactive.d.ts.map +1 -0
  77. package/dist/ai/presets/instructions/interactive.js +334 -0
  78. package/dist/ai/presets/instructions/interactive.js.map +1 -0
  79. package/dist/ai/presets/instructions/layout.d.ts +16 -0
  80. package/dist/ai/presets/instructions/layout.d.ts.map +1 -0
  81. package/dist/ai/presets/instructions/layout.js +486 -0
  82. package/dist/ai/presets/instructions/layout.js.map +1 -0
  83. package/dist/ai/presets/instructions/media.d.ts +15 -0
  84. package/dist/ai/presets/instructions/media.d.ts.map +1 -0
  85. package/dist/ai/presets/instructions/media.js +136 -0
  86. package/dist/ai/presets/instructions/media.js.map +1 -0
  87. package/dist/ai/presets/instructions/pagePatterns.d.ts +20 -0
  88. package/dist/ai/presets/instructions/pagePatterns.d.ts.map +1 -0
  89. package/dist/ai/presets/instructions/pagePatterns.js +290 -0
  90. package/dist/ai/presets/instructions/pagePatterns.js.map +1 -0
  91. package/dist/ai/presets/instructions/schemas.d.ts +1247 -0
  92. package/dist/ai/presets/instructions/schemas.d.ts.map +1 -0
  93. package/dist/ai/presets/instructions/schemas.js +240 -0
  94. package/dist/ai/presets/instructions/schemas.js.map +1 -0
  95. package/dist/ai/presets/instructions/typography.d.ts +16 -0
  96. package/dist/ai/presets/instructions/typography.d.ts.map +1 -0
  97. package/dist/ai/presets/instructions/typography.js +192 -0
  98. package/dist/ai/presets/instructions/typography.js.map +1 -0
  99. package/dist/ai/tools/index.d.ts +116 -0
  100. package/dist/ai/tools/index.d.ts.map +1 -0
  101. package/dist/ai/tools/index.js +214 -0
  102. package/dist/ai/tools/index.js.map +1 -0
  103. package/dist/ai/types.d.ts +507 -0
  104. package/dist/ai/types.d.ts.map +1 -0
  105. package/dist/ai/types.js +2 -0
  106. package/dist/ai/types.js.map +1 -0
  107. package/dist/ai/utils/injectAiConfig.d.ts +67 -0
  108. package/dist/ai/utils/injectAiConfig.d.ts.map +1 -0
  109. package/dist/ai/utils/injectAiConfig.js +216 -0
  110. package/dist/ai/utils/injectAiConfig.js.map +1 -0
  111. package/dist/api/createPuckApiRoutesWithId.d.ts.map +1 -1
  112. package/dist/api/createPuckApiRoutesWithId.js +12 -5
  113. package/dist/api/createPuckApiRoutesWithId.js.map +1 -1
  114. package/dist/api/types.d.ts +1 -1
  115. package/dist/api/types.d.ts.map +1 -1
  116. package/dist/components/exports.d.ts +1 -1
  117. package/dist/components/exports.d.ts.map +1 -1
  118. package/dist/components/exports.js +1 -1
  119. package/dist/components/exports.js.map +1 -1
  120. package/dist/components/interactive/Accordion.d.ts +1 -1
  121. package/dist/components/interactive/Accordion.d.ts.map +1 -1
  122. package/dist/components/interactive/Accordion.js +4 -4
  123. package/dist/components/interactive/Accordion.js.map +1 -1
  124. package/dist/components/interactive/Accordion.server.d.ts +1 -1
  125. package/dist/components/interactive/Accordion.server.d.ts.map +1 -1
  126. package/dist/components/interactive/Button.d.ts +1 -1
  127. package/dist/components/interactive/Button.d.ts.map +1 -1
  128. package/dist/components/interactive/Button.server.d.ts +2 -3
  129. package/dist/components/interactive/Button.server.d.ts.map +1 -1
  130. package/dist/components/interactive/Button.server.js +1 -2
  131. package/dist/components/interactive/Button.server.js.map +1 -1
  132. package/dist/components/interactive/Card.d.ts +1 -1
  133. package/dist/components/interactive/Card.d.ts.map +1 -1
  134. package/dist/components/interactive/Card.server.d.ts +1 -1
  135. package/dist/components/interactive/Card.server.d.ts.map +1 -1
  136. package/dist/components/interactive/Divider.d.ts +1 -1
  137. package/dist/components/interactive/Divider.d.ts.map +1 -1
  138. package/dist/components/interactive/Divider.server.d.ts +1 -1
  139. package/dist/components/interactive/Divider.server.d.ts.map +1 -1
  140. package/dist/components/layout/Container.d.ts +3 -1
  141. package/dist/components/layout/Container.d.ts.map +1 -1
  142. package/dist/components/layout/Container.js +16 -2
  143. package/dist/components/layout/Container.js.map +1 -1
  144. package/dist/components/layout/Container.server.d.ts +3 -1
  145. package/dist/components/layout/Container.server.d.ts.map +1 -1
  146. package/dist/components/layout/Container.server.js +5 -2
  147. package/dist/components/layout/Container.server.js.map +1 -1
  148. package/dist/components/layout/Flex.d.ts +3 -1
  149. package/dist/components/layout/Flex.d.ts.map +1 -1
  150. package/dist/components/layout/Flex.js +18 -2
  151. package/dist/components/layout/Flex.js.map +1 -1
  152. package/dist/components/layout/Flex.server.d.ts +3 -1
  153. package/dist/components/layout/Flex.server.d.ts.map +1 -1
  154. package/dist/components/layout/Flex.server.js +5 -2
  155. package/dist/components/layout/Flex.server.js.map +1 -1
  156. package/dist/components/layout/Grid.d.ts +3 -1
  157. package/dist/components/layout/Grid.d.ts.map +1 -1
  158. package/dist/components/layout/Grid.js +15 -2
  159. package/dist/components/layout/Grid.js.map +1 -1
  160. package/dist/components/layout/Grid.server.d.ts +3 -1
  161. package/dist/components/layout/Grid.server.d.ts.map +1 -1
  162. package/dist/components/layout/Grid.server.js +5 -2
  163. package/dist/components/layout/Grid.server.js.map +1 -1
  164. package/dist/components/layout/Section.d.ts +3 -1
  165. package/dist/components/layout/Section.d.ts.map +1 -1
  166. package/dist/components/layout/Section.js +32 -5
  167. package/dist/components/layout/Section.js.map +1 -1
  168. package/dist/components/layout/Section.server.d.ts +3 -1
  169. package/dist/components/layout/Section.server.d.ts.map +1 -1
  170. package/dist/components/layout/Section.server.js +16 -4
  171. package/dist/components/layout/Section.server.js.map +1 -1
  172. package/dist/components/layout/Spacer.d.ts +1 -1
  173. package/dist/components/layout/Spacer.d.ts.map +1 -1
  174. package/dist/components/layout/Spacer.server.d.ts +1 -1
  175. package/dist/components/layout/Spacer.server.d.ts.map +1 -1
  176. package/dist/components/layout/Template.d.ts +1 -1
  177. package/dist/components/layout/Template.d.ts.map +1 -1
  178. package/dist/components/layout/Template.server.d.ts +1 -1
  179. package/dist/components/layout/Template.server.d.ts.map +1 -1
  180. package/dist/components/media/Image.d.ts +1 -1
  181. package/dist/components/media/Image.d.ts.map +1 -1
  182. package/dist/components/media/Image.server.d.ts +1 -1
  183. package/dist/components/media/Image.server.d.ts.map +1 -1
  184. package/dist/components/typography/Heading.d.ts +1 -1
  185. package/dist/components/typography/Heading.d.ts.map +1 -1
  186. package/dist/components/typography/Heading.server.d.ts +1 -1
  187. package/dist/components/typography/Heading.server.d.ts.map +1 -1
  188. package/dist/components/typography/RichText.editor.d.ts +15 -2
  189. package/dist/components/typography/RichText.editor.d.ts.map +1 -1
  190. package/dist/components/typography/RichText.editor.js +18 -11
  191. package/dist/components/typography/RichText.editor.js.map +1 -1
  192. package/dist/components/typography/RichText.server.d.ts +3 -2
  193. package/dist/components/typography/RichText.server.d.ts.map +1 -1
  194. package/dist/components/typography/RichText.server.js +10 -5
  195. package/dist/components/typography/RichText.server.js.map +1 -1
  196. package/dist/components/typography/Text.d.ts +1 -1
  197. package/dist/components/typography/Text.d.ts.map +1 -1
  198. package/dist/components/typography/Text.server.d.ts +1 -1
  199. package/dist/components/typography/Text.server.d.ts.map +1 -1
  200. package/dist/components/typography/index.d.ts +1 -1
  201. package/dist/components/typography/index.d.ts.map +1 -1
  202. package/dist/components/typography/index.js +1 -1
  203. package/dist/components/typography/index.js.map +1 -1
  204. package/dist/config/config.editor.d.ts +4 -4
  205. package/dist/config/config.editor.d.ts.map +1 -1
  206. package/dist/config/index.d.ts +1 -1
  207. package/dist/config/index.d.ts.map +1 -1
  208. package/dist/config/merge.d.ts +4 -4
  209. package/dist/config/merge.d.ts.map +1 -1
  210. package/dist/config/merge.js +3 -3
  211. package/dist/config/presets.d.ts +15 -15
  212. package/dist/config/presets.d.ts.map +1 -1
  213. package/dist/editor/PuckEditor.d.ts +255 -0
  214. package/dist/editor/PuckEditor.d.ts.map +1 -0
  215. package/dist/editor/PuckEditor.js +205 -0
  216. package/dist/editor/PuckEditor.js.map +1 -0
  217. package/dist/editor/{PuckEditorCore.client.d.ts → PuckEditorImpl.client.d.ts} +53 -30
  218. package/dist/editor/PuckEditorImpl.client.d.ts.map +1 -0
  219. package/dist/editor/{PuckEditorCore.client.js → PuckEditorImpl.client.js} +194 -39
  220. package/dist/editor/PuckEditorImpl.client.js.map +1 -0
  221. package/dist/editor/ai-plugin-overrides.css +20 -0
  222. package/dist/editor/components/HeaderActions.d.ts +7 -2
  223. package/dist/editor/components/HeaderActions.d.ts.map +1 -1
  224. package/dist/editor/components/HeaderActions.js +18 -4
  225. package/dist/editor/components/HeaderActions.js.map +1 -1
  226. package/dist/editor/components/IframeWrapper.d.ts +13 -0
  227. package/dist/editor/components/IframeWrapper.d.ts.map +1 -1
  228. package/dist/editor/components/IframeWrapper.js +60 -4
  229. package/dist/editor/components/IframeWrapper.js.map +1 -1
  230. package/dist/editor/components/PreviewModal.d.ts +9 -1
  231. package/dist/editor/components/PreviewModal.d.ts.map +1 -1
  232. package/dist/editor/components/PreviewModal.js +36 -1
  233. package/dist/editor/components/PreviewModal.js.map +1 -1
  234. package/dist/editor/index.d.ts +34 -19
  235. package/dist/editor/index.d.ts.map +1 -1
  236. package/dist/editor/index.js +37 -21
  237. package/dist/editor/index.js.map +1 -1
  238. package/dist/editor/plugins/VersionHistoryPanel.d.ts +43 -0
  239. package/dist/editor/plugins/VersionHistoryPanel.d.ts.map +1 -0
  240. package/dist/editor/plugins/VersionHistoryPanel.js +303 -0
  241. package/dist/editor/plugins/VersionHistoryPanel.js.map +1 -0
  242. package/dist/editor/plugins/index.d.ts +6 -3
  243. package/dist/editor/plugins/index.d.ts.map +1 -1
  244. package/dist/editor/plugins/index.js +7 -3
  245. package/dist/editor/plugins/index.js.map +1 -1
  246. package/dist/editor/plugins/versionHistoryPlugin.d.ts +37 -0
  247. package/dist/editor/plugins/versionHistoryPlugin.d.ts.map +1 -0
  248. package/dist/editor/plugins/versionHistoryPlugin.js +36 -0
  249. package/dist/editor/plugins/versionHistoryPlugin.js.map +1 -0
  250. package/dist/editor/utils/detectPageTree.d.ts +22 -0
  251. package/dist/editor/utils/detectPageTree.d.ts.map +1 -0
  252. package/dist/editor/utils/detectPageTree.js +36 -0
  253. package/dist/editor/utils/detectPageTree.js.map +1 -0
  254. package/dist/editor/utils/index.d.ts +3 -0
  255. package/dist/editor/utils/index.d.ts.map +1 -0
  256. package/dist/editor/utils/index.js +3 -0
  257. package/dist/editor/utils/index.js.map +1 -0
  258. package/dist/editor/utils/injectPageTreeFields.d.ts +10 -0
  259. package/dist/editor/utils/injectPageTreeFields.d.ts.map +1 -0
  260. package/dist/editor/utils/injectPageTreeFields.js +35 -0
  261. package/dist/editor/utils/injectPageTreeFields.js.map +1 -0
  262. package/dist/endpoints/ai.d.ts +36 -0
  263. package/dist/endpoints/ai.d.ts.map +1 -0
  264. package/dist/endpoints/ai.js +315 -0
  265. package/dist/endpoints/ai.js.map +1 -0
  266. package/dist/endpoints/context.d.ts +30 -0
  267. package/dist/endpoints/context.d.ts.map +1 -0
  268. package/dist/endpoints/context.js +123 -0
  269. package/dist/endpoints/context.js.map +1 -0
  270. package/dist/endpoints/prompts.d.ts +28 -0
  271. package/dist/endpoints/prompts.d.ts.map +1 -0
  272. package/dist/endpoints/prompts.js +118 -0
  273. package/dist/endpoints/prompts.js.map +1 -0
  274. package/dist/endpoints/styles.d.ts +19 -0
  275. package/dist/endpoints/styles.d.ts.map +1 -0
  276. package/dist/endpoints/styles.js +116 -0
  277. package/dist/endpoints/styles.js.map +1 -0
  278. package/dist/exports/client.d.ts +7 -6
  279. package/dist/exports/client.d.ts.map +1 -1
  280. package/dist/exports/client.js +9 -8
  281. package/dist/exports/client.js.map +1 -1
  282. package/dist/fields/AlignmentField.d.ts +1 -1
  283. package/dist/fields/AlignmentField.d.ts.map +1 -1
  284. package/dist/fields/AlignmentField.js +1 -0
  285. package/dist/fields/AlignmentField.js.map +1 -1
  286. package/dist/fields/AnimationField.d.ts +1 -1
  287. package/dist/fields/AnimationField.d.ts.map +1 -1
  288. package/dist/fields/BackgroundField.d.ts +1 -1
  289. package/dist/fields/BackgroundField.d.ts.map +1 -1
  290. package/dist/fields/BackgroundField.js +9 -4
  291. package/dist/fields/BackgroundField.js.map +1 -1
  292. package/dist/fields/BorderField.d.ts +1 -1
  293. package/dist/fields/BorderField.d.ts.map +1 -1
  294. package/dist/fields/BorderField.js +1 -0
  295. package/dist/fields/BorderField.js.map +1 -1
  296. package/dist/fields/ColorPickerField.d.ts +1 -1
  297. package/dist/fields/ColorPickerField.d.ts.map +1 -1
  298. package/dist/fields/ColorPickerField.js +4 -2
  299. package/dist/fields/ColorPickerField.js.map +1 -1
  300. package/dist/fields/ContentAlignmentField.d.ts +66 -0
  301. package/dist/fields/ContentAlignmentField.d.ts.map +1 -0
  302. package/dist/fields/ContentAlignmentField.js +255 -0
  303. package/dist/fields/ContentAlignmentField.js.map +1 -0
  304. package/dist/fields/DimensionsField.d.ts +1 -1
  305. package/dist/fields/DimensionsField.d.ts.map +1 -1
  306. package/dist/fields/DimensionsField.js +8 -2
  307. package/dist/fields/DimensionsField.js.map +1 -1
  308. package/dist/fields/FlexAlignmentField.d.ts +1 -1
  309. package/dist/fields/FlexAlignmentField.d.ts.map +1 -1
  310. package/dist/fields/FolderPickerField.d.ts +1 -1
  311. package/dist/fields/FolderPickerField.d.ts.map +1 -1
  312. package/dist/fields/GradientEditor.d.ts.map +1 -1
  313. package/dist/fields/GradientEditor.js +3 -0
  314. package/dist/fields/GradientEditor.js.map +1 -1
  315. package/dist/fields/LockedField.d.ts +1 -1
  316. package/dist/fields/LockedField.d.ts.map +1 -1
  317. package/dist/fields/MarginField.d.ts +1 -1
  318. package/dist/fields/MarginField.d.ts.map +1 -1
  319. package/dist/fields/MediaField.d.ts +1 -1
  320. package/dist/fields/MediaField.d.ts.map +1 -1
  321. package/dist/fields/MediaField.js +3 -2
  322. package/dist/fields/MediaField.js.map +1 -1
  323. package/dist/fields/PaddingField.d.ts +1 -1
  324. package/dist/fields/PaddingField.d.ts.map +1 -1
  325. package/dist/fields/PageSegmentField.d.ts +1 -1
  326. package/dist/fields/PageSegmentField.d.ts.map +1 -1
  327. package/dist/fields/ResetField.d.ts +1 -1
  328. package/dist/fields/ResetField.d.ts.map +1 -1
  329. package/dist/fields/ResetField.js +1 -1
  330. package/dist/fields/ResetField.js.map +1 -1
  331. package/dist/fields/ResponsiveField.d.ts +1 -1
  332. package/dist/fields/ResponsiveField.d.ts.map +1 -1
  333. package/dist/fields/ResponsiveField.js +5 -2
  334. package/dist/fields/ResponsiveField.js.map +1 -1
  335. package/dist/fields/ResponsiveVisibilityField.d.ts +1 -1
  336. package/dist/fields/ResponsiveVisibilityField.d.ts.map +1 -1
  337. package/dist/fields/ResponsiveVisibilityField.js +4 -3
  338. package/dist/fields/ResponsiveVisibilityField.js.map +1 -1
  339. package/dist/fields/SizeField.d.ts +3 -25
  340. package/dist/fields/SizeField.d.ts.map +1 -1
  341. package/dist/fields/SizeField.js +8 -34
  342. package/dist/fields/SizeField.js.map +1 -1
  343. package/dist/fields/SlugPreviewField.d.ts +1 -1
  344. package/dist/fields/SlugPreviewField.d.ts.map +1 -1
  345. package/dist/fields/TemplateField.d.ts +1 -1
  346. package/dist/fields/TemplateField.d.ts.map +1 -1
  347. package/dist/fields/TemplateField.js +1 -1
  348. package/dist/fields/TemplateField.js.map +1 -1
  349. package/dist/fields/TransformField.d.ts +1 -1
  350. package/dist/fields/TransformField.d.ts.map +1 -1
  351. package/dist/fields/TransformField.js +2 -0
  352. package/dist/fields/TransformField.js.map +1 -1
  353. package/dist/fields/VerticalAlignmentField.d.ts +1 -1
  354. package/dist/fields/VerticalAlignmentField.d.ts.map +1 -1
  355. package/dist/fields/WidthField.d.ts +1 -1
  356. package/dist/fields/WidthField.d.ts.map +1 -1
  357. package/dist/fields/index.d.ts +8 -36
  358. package/dist/fields/index.d.ts.map +1 -1
  359. package/dist/fields/index.js +20 -78
  360. package/dist/fields/index.js.map +1 -1
  361. package/dist/fields/richtext/controls/ColorPickerControl.d.ts +16 -0
  362. package/dist/fields/richtext/controls/ColorPickerControl.d.ts.map +1 -0
  363. package/dist/fields/richtext/controls/ColorPickerControl.js +116 -0
  364. package/dist/fields/richtext/controls/ColorPickerControl.js.map +1 -0
  365. package/dist/fields/richtext/controls/DropdownPortal.d.ts +17 -0
  366. package/dist/fields/richtext/controls/DropdownPortal.d.ts.map +1 -0
  367. package/dist/fields/richtext/controls/DropdownPortal.js +90 -0
  368. package/dist/fields/richtext/controls/DropdownPortal.js.map +1 -0
  369. package/dist/fields/richtext/controls/FontSizeControl.d.ts +8 -0
  370. package/dist/fields/richtext/controls/FontSizeControl.d.ts.map +1 -0
  371. package/dist/fields/richtext/controls/FontSizeControl.js +62 -0
  372. package/dist/fields/richtext/controls/FontSizeControl.js.map +1 -0
  373. package/dist/fields/richtext/controls/HighlightControl.d.ts +9 -0
  374. package/dist/fields/richtext/controls/HighlightControl.d.ts.map +1 -0
  375. package/dist/fields/richtext/controls/HighlightControl.js +44 -0
  376. package/dist/fields/richtext/controls/HighlightControl.js.map +1 -0
  377. package/dist/fields/richtext/controls/index.d.ts +11 -0
  378. package/dist/fields/richtext/controls/index.d.ts.map +1 -0
  379. package/dist/fields/richtext/controls/index.js +16 -0
  380. package/dist/fields/richtext/controls/index.js.map +1 -0
  381. package/dist/fields/richtext/controls/shared.d.ts +97 -0
  382. package/dist/fields/richtext/controls/shared.d.ts.map +1 -0
  383. package/dist/fields/richtext/controls/shared.js +344 -0
  384. package/dist/fields/richtext/controls/shared.js.map +1 -0
  385. package/dist/fields/richtext/createRichTextField.d.ts +165 -0
  386. package/dist/fields/richtext/createRichTextField.d.ts.map +1 -0
  387. package/dist/fields/richtext/createRichTextField.js +139 -0
  388. package/dist/fields/richtext/createRichTextField.js.map +1 -0
  389. package/dist/fields/richtext/extensions/FontSize.d.ts +23 -0
  390. package/dist/fields/richtext/extensions/FontSize.d.ts.map +1 -0
  391. package/dist/fields/richtext/extensions/FontSize.js +47 -0
  392. package/dist/fields/richtext/extensions/FontSize.js.map +1 -0
  393. package/dist/fields/richtext/extensions/index.d.ts +5 -0
  394. package/dist/fields/richtext/extensions/index.d.ts.map +1 -0
  395. package/dist/fields/richtext/extensions/index.js +5 -0
  396. package/dist/fields/richtext/extensions/index.js.map +1 -0
  397. package/dist/fields/richtext/index.d.ts +14 -0
  398. package/dist/fields/richtext/index.d.ts.map +1 -0
  399. package/dist/fields/richtext/index.js +19 -0
  400. package/dist/fields/richtext/index.js.map +1 -0
  401. package/dist/fields/richtext/richtext-menu.css +50 -0
  402. package/dist/fields/shared.d.ts +27 -1
  403. package/dist/fields/shared.d.ts.map +1 -1
  404. package/dist/fields/shared.js +34 -0
  405. package/dist/fields/shared.js.map +1 -1
  406. package/dist/layouts/types.d.ts +30 -0
  407. package/dist/layouts/types.d.ts.map +1 -1
  408. package/dist/plugin/index.d.ts +1 -0
  409. package/dist/plugin/index.d.ts.map +1 -1
  410. package/dist/plugin/index.js +112 -2
  411. package/dist/plugin/index.js.map +1 -1
  412. package/dist/render/HybridPageRenderer.d.ts +1 -1
  413. package/dist/render/HybridPageRenderer.d.ts.map +1 -1
  414. package/dist/render/PageRenderer.d.ts +1 -1
  415. package/dist/render/PageRenderer.d.ts.map +1 -1
  416. package/dist/render/PageRenderer.js +1 -1
  417. package/dist/render/PageRenderer.js.map +1 -1
  418. package/dist/render/PuckEditor.client.d.ts +2 -2
  419. package/dist/render/PuckEditor.client.d.ts.map +1 -1
  420. package/dist/render/PuckEditor.client.js +2 -2
  421. package/dist/render/PuckEditor.client.js.map +1 -1
  422. package/dist/types/index.d.ts +37 -12
  423. package/dist/types/index.d.ts.map +1 -1
  424. package/dist/version.d.ts +2 -0
  425. package/dist/version.d.ts.map +1 -0
  426. package/dist/version.js +3 -0
  427. package/dist/version.js.map +1 -0
  428. package/dist/views/PuckConfigContext.d.ts +56 -2
  429. package/dist/views/PuckConfigContext.d.ts.map +1 -1
  430. package/dist/views/PuckConfigContext.js +6 -3
  431. package/dist/views/PuckConfigContext.js.map +1 -1
  432. package/dist/views/PuckEditorView.d.ts.map +1 -1
  433. package/dist/views/PuckEditorView.js +29 -2
  434. package/dist/views/PuckEditorView.js.map +1 -1
  435. package/dist/views/index.d.ts +0 -2
  436. package/dist/views/index.d.ts.map +1 -1
  437. package/dist/views/index.js +0 -2
  438. package/dist/views/index.js.map +1 -1
  439. package/package.json +42 -12
  440. package/dist/components/typography/RichText.d.ts +0 -20
  441. package/dist/components/typography/RichText.d.ts.map +0 -1
  442. package/dist/components/typography/RichText.js +0 -73
  443. package/dist/components/typography/RichText.js.map +0 -1
  444. package/dist/editor/PuckEditor.client.d.ts +0 -131
  445. package/dist/editor/PuckEditor.client.d.ts.map +0 -1
  446. package/dist/editor/PuckEditor.client.js +0 -42
  447. package/dist/editor/PuckEditor.client.js.map +0 -1
  448. package/dist/editor/PuckEditorCore.client.d.ts.map +0 -1
  449. package/dist/editor/PuckEditorCore.client.js.map +0 -1
  450. package/dist/fields/TiptapField.d.ts +0 -40
  451. package/dist/fields/TiptapField.d.ts.map +0 -1
  452. package/dist/fields/TiptapField.js +0 -857
  453. package/dist/fields/TiptapField.js.map +0 -1
  454. package/dist/fields/TiptapModal.d.ts +0 -10
  455. package/dist/fields/TiptapModal.d.ts.map +0 -1
  456. package/dist/fields/TiptapModal.js +0 -114
  457. package/dist/fields/TiptapModal.js.map +0 -1
  458. package/dist/fields/TiptapModalField.d.ts +0 -23
  459. package/dist/fields/TiptapModalField.d.ts.map +0 -1
  460. package/dist/fields/TiptapModalField.js +0 -55
  461. package/dist/fields/TiptapModalField.js.map +0 -1
  462. package/dist/fields/richtext-output.css +0 -219
  463. package/dist/fields/tiptap-styles.css +0 -248
  464. package/dist/views/PuckEditorClient.d.ts +0 -73
  465. package/dist/views/PuckEditorClient.d.ts.map +0 -1
  466. package/dist/views/PuckEditorClient.js +0 -130
  467. package/dist/views/PuckEditorClient.js.map +0 -1
@@ -0,0 +1,315 @@
1
+ import { pagePatternSystemContext } from '../ai/presets/index.js';
2
+ /**
3
+ * Collection slug for AI context
4
+ * Matches the auto-generated collection from createPuckPlugin
5
+ */
6
+ const AI_CONTEXT_COLLECTION = 'puck-ai-context';
7
+ /**
8
+ * Fetches dynamic context entries from the database
9
+ * @param req - The Payload request object
10
+ * @returns Concatenated context string or undefined if no entries
11
+ */
12
+ async function fetchDynamicContext(req) {
13
+ try {
14
+ // Check if the context collection exists (it's optional)
15
+ const collections = req.payload.config.collections;
16
+ const hasContextCollection = collections?.some((c) => c.slug === AI_CONTEXT_COLLECTION);
17
+ if (!hasContextCollection) {
18
+ return undefined;
19
+ }
20
+ // Fetch enabled context entries, sorted by order
21
+ const result = await req.payload.find({
22
+ collection: AI_CONTEXT_COLLECTION,
23
+ where: { enabled: { equals: true } },
24
+ sort: 'order',
25
+ limit: 100, // Reasonable limit for context entries
26
+ });
27
+ if (!result.docs || result.docs.length === 0) {
28
+ return undefined;
29
+ }
30
+ // Format each context entry with its name as a header
31
+ const contextBlocks = result.docs.map((doc) => {
32
+ const header = doc.category ? `## ${doc.name} (${doc.category})` : `## ${doc.name}`;
33
+ return `${header}\n\n${doc.content}`;
34
+ });
35
+ return contextBlocks.join('\n\n---\n\n');
36
+ }
37
+ catch (e) {
38
+ // Log but don't fail - context is optional
39
+ console.warn('[payload-puck] Failed to fetch dynamic AI context:', e);
40
+ return undefined;
41
+ }
42
+ }
43
+ /**
44
+ * Creates a Payload endpoint handler for Puck AI
45
+ *
46
+ * This handler wraps @puckeditor/cloud-client's puckHandler with
47
+ * Payload authentication. It's auto-registered by createPuckPlugin
48
+ * when `ai.enabled: true`.
49
+ *
50
+ * @example
51
+ * // Automatically registered at /api/puck/ai when:
52
+ * createPuckPlugin({
53
+ * ai: {
54
+ * enabled: true,
55
+ * context: 'You build pages for Acme Corp...',
56
+ * },
57
+ * })
58
+ */
59
+ export function createAiEndpointHandler(options = {}) {
60
+ return async (req) => {
61
+ // 1. Require authentication - AI features are admin-only
62
+ if (!req.user) {
63
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
64
+ }
65
+ // 2. Lazy import to avoid bundle bloat (like PostCSS pattern in styles.ts)
66
+ let puckHandler;
67
+ try {
68
+ const cloudClient = await import('@puckeditor/cloud-client');
69
+ puckHandler = cloudClient.puckHandler;
70
+ }
71
+ catch (e) {
72
+ console.error('[payload-puck] Failed to load @puckeditor/cloud-client:', e);
73
+ return Response.json({ error: 'AI requires @puckeditor/cloud-client. This should be bundled with the plugin.' }, { status: 500 });
74
+ }
75
+ // 3. Check for API key
76
+ const apiKey = process.env.PUCK_API_KEY;
77
+ if (!apiKey) {
78
+ return Response.json({ error: 'PUCK_API_KEY environment variable is not set' }, { status: 500 });
79
+ }
80
+ // 4. Forward to Puck Cloud handler
81
+ // puckHandler expects a standard Web Request object with specific pathname
82
+ // The handler internally routes based on pathname - it expects /api/puck/chat
83
+ // See: @puckeditor/cloud-client/src/routes.ts - routeRegistry['/api/puck/chat']
84
+ try {
85
+ // Get the request body
86
+ const body = await req.json?.();
87
+ // Debug logging
88
+ console.log('[payload-puck] AI request body keys:', body ? Object.keys(body) : 'null');
89
+ console.log('[payload-puck] AI request has config:', !!body?.config);
90
+ console.log('[payload-puck] AI request has pageData:', !!body?.pageData);
91
+ console.log('[payload-puck] AI request has messages:', !!body?.messages, 'count:', body?.messages?.length);
92
+ if (body?.config) {
93
+ console.log('[payload-puck] Config keys:', Object.keys(body.config));
94
+ console.log('[payload-puck] Config.components:', body.config.components ? Object.keys(body.config.components).length + ' components' : 'missing');
95
+ // Log each component to find null/undefined values
96
+ if (body.config.components) {
97
+ for (const [name, comp] of Object.entries(body.config.components)) {
98
+ const c = comp;
99
+ if (!c) {
100
+ console.log(`[payload-puck] Component ${name} is NULL/UNDEFINED`);
101
+ }
102
+ else if (!c.fields) {
103
+ console.log(`[payload-puck] Component ${name} has no fields`);
104
+ }
105
+ else {
106
+ // Check for null fields
107
+ for (const [fieldName, field] of Object.entries(c.fields)) {
108
+ if (!field) {
109
+ console.log(`[payload-puck] Component ${name}.${fieldName} is NULL/UNDEFINED`);
110
+ }
111
+ }
112
+ }
113
+ }
114
+ // Log first component structure for debugging
115
+ const firstComp = Object.entries(body.config.components)[0];
116
+ if (firstComp) {
117
+ const comp = firstComp[1];
118
+ console.log(`[payload-puck] Sample component "${firstComp[0]}":`);
119
+ console.log(` - has fields: ${!!comp.fields}`);
120
+ console.log(` - has defaultProps: ${!!comp.defaultProps}`);
121
+ console.log(` - has ai: ${!!comp.ai}`);
122
+ console.log(` - has render: ${!!comp.render}`);
123
+ console.log(` - defaultProps value:`, comp.defaultProps);
124
+ }
125
+ // Check all components for missing defaultProps
126
+ for (const [name, comp] of Object.entries(body.config.components)) {
127
+ const c = comp;
128
+ if (!c.defaultProps) {
129
+ console.log(`[payload-puck] Component "${name}" is MISSING defaultProps`);
130
+ }
131
+ }
132
+ }
133
+ // Check root
134
+ console.log('[payload-puck] Config.root:', body.config.root ? 'present' : 'MISSING');
135
+ if (body.config.root?.fields) {
136
+ for (const [fieldName, field] of Object.entries(body.config.root.fields)) {
137
+ if (!field) {
138
+ console.log(`[payload-puck] Root.${fieldName} is NULL/UNDEFINED`);
139
+ }
140
+ }
141
+ }
142
+ }
143
+ // Check pageData structure
144
+ if (body?.pageData) {
145
+ console.log('[payload-puck] pageData.content:', body.pageData.content?.length ?? 0, 'items');
146
+ console.log('[payload-puck] pageData.root:', body.pageData.root ? 'present' : 'MISSING');
147
+ }
148
+ // NOTE: We previously removed null values from defaultProps here, but this
149
+ // was preventing the AI from knowing about optional styling fields.
150
+ // Per Puck docs: "All fields in defaultProps are considered required by the agent"
151
+ // Fields with null values still need to be present so the AI knows they exist.
152
+ // Auto-exclude custom fields in root that don't have ai.exclude set
153
+ // BUT: if field has AI instructions, don't exclude it (we want AI to use it)
154
+ // This handles fields added by page-tree or user customization
155
+ if (body?.config?.root?.fields) {
156
+ for (const [fieldName, field] of Object.entries(body.config.root.fields)) {
157
+ const f = field;
158
+ // Only exclude if: is custom, doesn't have exclude set, AND doesn't have instructions
159
+ if (f.type === 'custom' && !f.ai?.exclude && !f.ai?.instructions) {
160
+ console.log(`[payload-puck] Auto-excluding root custom field: ${fieldName}`);
161
+ f.ai = { ...f.ai, exclude: true };
162
+ }
163
+ }
164
+ }
165
+ // Auto-exclude custom fields in components that don't have ai.exclude set
166
+ // BUT: if field has AI instructions, don't exclude it (we want AI to use it)
167
+ if (body?.config?.components) {
168
+ // Debug: Check Section fields specifically
169
+ const sectionComp = body.config.components['Section'];
170
+ if (sectionComp?.fields?.sectionBackground) {
171
+ console.log(`[payload-puck] Section.sectionBackground.ai:`, JSON.stringify(sectionComp.fields.sectionBackground.ai || 'NO AI CONFIG'));
172
+ }
173
+ for (const [compName, comp] of Object.entries(body.config.components)) {
174
+ const c = comp;
175
+ if (c.fields) {
176
+ for (const [fieldName, field] of Object.entries(c.fields)) {
177
+ const f = field;
178
+ // Only exclude if: is custom, doesn't have exclude set, AND doesn't have instructions
179
+ if (f.type === 'custom' && !f.ai?.exclude && !f.ai?.instructions) {
180
+ console.log(`[payload-puck] Auto-excluding ${compName}.${fieldName} custom field`);
181
+ f.ai = { ...f.ai, exclude: true };
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ // Validate required fields - puckHandler expects config and pageData
188
+ if (!body) {
189
+ return Response.json({ error: 'Request body is required' }, { status: 400 });
190
+ }
191
+ // Ensure config exists (puckHandler needs this)
192
+ if (!body.config) {
193
+ console.warn('[payload-puck] AI request missing config, this may cause issues');
194
+ }
195
+ // Construct URL with the pathname puckHandler expects
196
+ // Our Payload endpoint is /api/puck/ai but puckHandler routes to /api/puck/chat
197
+ const protocol = req.headers.get('x-forwarded-proto') || 'http';
198
+ const host = req.headers.get('host') || 'localhost';
199
+ const url = `${protocol}://${host}/api/puck/chat`;
200
+ // Create new headers without content-length (will be recalculated)
201
+ const headers = new Headers();
202
+ headers.set('content-type', 'application/json');
203
+ // Copy auth headers
204
+ const authHeader = req.headers.get('authorization');
205
+ if (authHeader) {
206
+ headers.set('authorization', authHeader);
207
+ }
208
+ const webRequest = new Request(url, {
209
+ method: 'POST',
210
+ headers,
211
+ body: JSON.stringify(body),
212
+ });
213
+ // Build AI options, only including properties that have values
214
+ // (passing `tools: undefined` explicitly prevents the default from applying)
215
+ const aiOptions = {};
216
+ // Build context from multiple sources:
217
+ // 1. Static context from plugin config
218
+ // 2. Dynamic context from database (puck-ai-context collection)
219
+ // 3. Page pattern system context (composition guidance)
220
+ const contextParts = [];
221
+ // Add static context from plugin config
222
+ if (options.context) {
223
+ contextParts.push(options.context);
224
+ }
225
+ // Fetch and add dynamic context from database
226
+ const dynamicContext = await fetchDynamicContext(req);
227
+ if (dynamicContext) {
228
+ contextParts.push('# Business Context\n\n' + dynamicContext);
229
+ }
230
+ // Always add page pattern system context for better composition
231
+ if (pagePatternSystemContext) {
232
+ contextParts.push(pagePatternSystemContext);
233
+ }
234
+ // Combine all context parts
235
+ if (contextParts.length > 0) {
236
+ aiOptions.context = contextParts.join('\n\n---\n\n');
237
+ }
238
+ // Wrap tools to inject Payload context into execute functions
239
+ if (options.tools && Object.keys(options.tools).length > 0) {
240
+ const toolContext = {
241
+ payload: req.payload,
242
+ user: req.user,
243
+ };
244
+ // Create wrapped tools that inject the context
245
+ const wrappedTools = {};
246
+ for (const [name, tool] of Object.entries(options.tools)) {
247
+ wrappedTools[name] = {
248
+ name: tool.name,
249
+ description: tool.description,
250
+ inputSchema: tool.inputSchema,
251
+ // Wrap execute to inject Payload context
252
+ execute: (input) => tool.execute(input, toolContext),
253
+ };
254
+ }
255
+ aiOptions.tools = wrappedTools;
256
+ }
257
+ console.log('[payload-puck] AI options:', {
258
+ hasContext: !!aiOptions.context,
259
+ contextLength: aiOptions.context?.length,
260
+ hasTools: !!aiOptions.tools,
261
+ toolNames: aiOptions.tools ? Object.keys(aiOptions.tools) : [],
262
+ });
263
+ const response = await puckHandler(webRequest, {
264
+ ai: aiOptions,
265
+ apiKey,
266
+ });
267
+ // Log response status for debugging
268
+ console.log('[payload-puck] Puck Cloud response status:', response.status);
269
+ console.log('[payload-puck] Response content-type:', response.headers.get('content-type'));
270
+ // For SSE responses, we can't easily read the body without consuming it
271
+ // But we can check if it's a streaming response
272
+ if (response.body) {
273
+ // Create a transform stream to log chunks while passing them through
274
+ const originalBody = response.body;
275
+ const { readable, writable } = new TransformStream({
276
+ transform(chunk, controller) {
277
+ // Log chunks that contain actual error indicators
278
+ const text = new TextDecoder().decode(chunk);
279
+ // Only log if it looks like an actual error response (not just a word containing "error")
280
+ if (text.includes('"type":"error"') || text.includes('"error":') || text.includes('status":4') || text.includes('status":5')) {
281
+ console.log('[payload-puck] SSE chunk with error:', text.slice(0, 500));
282
+ }
283
+ controller.enqueue(chunk);
284
+ }
285
+ });
286
+ originalBody.pipeTo(writable).catch(err => {
287
+ console.error('[payload-puck] Stream pipe error:', err);
288
+ });
289
+ return new Response(readable, {
290
+ status: response.status,
291
+ statusText: response.statusText,
292
+ headers: response.headers,
293
+ });
294
+ }
295
+ if (!response.ok) {
296
+ // Try to get more info from error response
297
+ const clonedResponse = response.clone();
298
+ try {
299
+ const errorBody = await clonedResponse.json();
300
+ console.error('[payload-puck] Puck Cloud error body:', errorBody);
301
+ }
302
+ catch {
303
+ const errorText = await clonedResponse.text();
304
+ console.error('[payload-puck] Puck Cloud error text:', errorText);
305
+ }
306
+ }
307
+ return response;
308
+ }
309
+ catch (e) {
310
+ console.error('[payload-puck] AI handler error:', e);
311
+ return Response.json({ error: e instanceof Error ? e.message : 'AI request failed' }, { status: 500 });
312
+ }
313
+ };
314
+ }
315
+ //# sourceMappingURL=ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/endpoints/ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { PayloadHandler } from 'payload';
2
+ /**
3
+ * List all AI context entries, sorted by order
4
+ * Only returns enabled entries by default
5
+ *
6
+ * GET /api/puck/ai-context
7
+ * Query: ?all=true to include disabled entries
8
+ */
9
+ export declare function createContextListHandler(): PayloadHandler;
10
+ /**
11
+ * Create a new AI context entry
12
+ *
13
+ * POST /api/puck/ai-context
14
+ * Body: { name: string, content: string, category?: string, enabled?: boolean, order?: number }
15
+ */
16
+ export declare function createContextCreateHandler(): PayloadHandler;
17
+ /**
18
+ * Update an existing AI context entry
19
+ *
20
+ * PATCH /api/puck/ai-context/:id
21
+ * Body: { name?: string, content?: string, category?: string, enabled?: boolean, order?: number }
22
+ */
23
+ export declare function createContextUpdateHandler(): PayloadHandler;
24
+ /**
25
+ * Delete an AI context entry
26
+ *
27
+ * DELETE /api/puck/ai-context/:id
28
+ */
29
+ export declare function createContextDeleteHandler(): PayloadHandler;
30
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/endpoints/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ7C;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAyBzD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,CAyB3D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,CA+B3D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,CAyB3D"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Collection slug for AI context
3
+ * Matches the auto-generated collection from createPuckPlugin
4
+ */
5
+ const COLLECTION = 'puck-ai-context';
6
+ /**
7
+ * List all AI context entries, sorted by order
8
+ * Only returns enabled entries by default
9
+ *
10
+ * GET /api/puck/ai-context
11
+ * Query: ?all=true to include disabled entries
12
+ */
13
+ export function createContextListHandler() {
14
+ return async (req) => {
15
+ if (!req.user) {
16
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
17
+ }
18
+ try {
19
+ // Check if we should include all entries (including disabled)
20
+ const includeAll = req.query?.all === 'true';
21
+ const result = await req.payload.find({
22
+ collection: COLLECTION,
23
+ sort: 'order',
24
+ limit: 100, // Reasonable limit for context entries
25
+ where: includeAll ? {} : { enabled: { equals: true } },
26
+ });
27
+ return Response.json(result);
28
+ }
29
+ catch (e) {
30
+ console.error('[payload-puck] Error listing context:', e);
31
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to list context' }, { status: 500 });
32
+ }
33
+ };
34
+ }
35
+ /**
36
+ * Create a new AI context entry
37
+ *
38
+ * POST /api/puck/ai-context
39
+ * Body: { name: string, content: string, category?: string, enabled?: boolean, order?: number }
40
+ */
41
+ export function createContextCreateHandler() {
42
+ return async (req) => {
43
+ if (!req.user) {
44
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
45
+ }
46
+ try {
47
+ const data = await req.json?.();
48
+ if (!data) {
49
+ return Response.json({ error: 'Request body is required' }, { status: 400 });
50
+ }
51
+ const doc = await req.payload.create({
52
+ collection: COLLECTION,
53
+ data,
54
+ });
55
+ return Response.json(doc);
56
+ }
57
+ catch (e) {
58
+ console.error('[payload-puck] Error creating context:', e);
59
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to create context' }, { status: 500 });
60
+ }
61
+ };
62
+ }
63
+ /**
64
+ * Update an existing AI context entry
65
+ *
66
+ * PATCH /api/puck/ai-context/:id
67
+ * Body: { name?: string, content?: string, category?: string, enabled?: boolean, order?: number }
68
+ */
69
+ export function createContextUpdateHandler() {
70
+ return async (req) => {
71
+ if (!req.user) {
72
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
73
+ }
74
+ const id = req.routeParams?.id;
75
+ if (!id) {
76
+ return Response.json({ error: 'Context ID is required' }, { status: 400 });
77
+ }
78
+ try {
79
+ const data = await req.json?.();
80
+ if (!data) {
81
+ return Response.json({ error: 'Request body is required' }, { status: 400 });
82
+ }
83
+ const doc = await req.payload.update({
84
+ collection: COLLECTION,
85
+ id,
86
+ data,
87
+ });
88
+ return Response.json(doc);
89
+ }
90
+ catch (e) {
91
+ console.error('[payload-puck] Error updating context:', e);
92
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to update context' }, { status: 500 });
93
+ }
94
+ };
95
+ }
96
+ /**
97
+ * Delete an AI context entry
98
+ *
99
+ * DELETE /api/puck/ai-context/:id
100
+ */
101
+ export function createContextDeleteHandler() {
102
+ return async (req) => {
103
+ if (!req.user) {
104
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
105
+ }
106
+ const id = req.routeParams?.id;
107
+ if (!id) {
108
+ return Response.json({ error: 'Context ID is required' }, { status: 400 });
109
+ }
110
+ try {
111
+ await req.payload.delete({
112
+ collection: COLLECTION,
113
+ id,
114
+ });
115
+ return Response.json({ success: true });
116
+ }
117
+ catch (e) {
118
+ console.error('[payload-puck] Error deleting context:', e);
119
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to delete context' }, { status: 500 });
120
+ }
121
+ };
122
+ }
123
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/endpoints/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { PayloadHandler } from 'payload';
2
+ /**
3
+ * List all AI prompts, sorted by order
4
+ *
5
+ * GET /api/puck/ai-prompts
6
+ */
7
+ export declare function createPromptsListHandler(): PayloadHandler;
8
+ /**
9
+ * Create a new AI prompt
10
+ *
11
+ * POST /api/puck/ai-prompts
12
+ * Body: { label: string, prompt: string, category?: string, order?: number }
13
+ */
14
+ export declare function createPromptsCreateHandler(): PayloadHandler;
15
+ /**
16
+ * Update an existing AI prompt
17
+ *
18
+ * PATCH /api/puck/ai-prompts/:id
19
+ * Body: { label?: string, prompt?: string, category?: string, order?: number }
20
+ */
21
+ export declare function createPromptsUpdateHandler(): PayloadHandler;
22
+ /**
23
+ * Delete an AI prompt
24
+ *
25
+ * DELETE /api/puck/ai-prompts/:id
26
+ */
27
+ export declare function createPromptsDeleteHandler(): PayloadHandler;
28
+ //# sourceMappingURL=prompts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/endpoints/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAQ7C;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAqBzD;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,CAyB3D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,CA+B3D;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,cAAc,CAyB3D"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Collection slug for AI prompts
3
+ * Matches the auto-generated collection from createPuckPlugin
4
+ */
5
+ const COLLECTION = 'puck-ai-prompts';
6
+ /**
7
+ * List all AI prompts, sorted by order
8
+ *
9
+ * GET /api/puck/ai-prompts
10
+ */
11
+ export function createPromptsListHandler() {
12
+ return async (req) => {
13
+ if (!req.user) {
14
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
15
+ }
16
+ try {
17
+ const result = await req.payload.find({
18
+ collection: COLLECTION,
19
+ sort: 'order',
20
+ limit: 100, // Reasonable limit for prompts
21
+ });
22
+ return Response.json(result);
23
+ }
24
+ catch (e) {
25
+ console.error('[payload-puck] Error listing prompts:', e);
26
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to list prompts' }, { status: 500 });
27
+ }
28
+ };
29
+ }
30
+ /**
31
+ * Create a new AI prompt
32
+ *
33
+ * POST /api/puck/ai-prompts
34
+ * Body: { label: string, prompt: string, category?: string, order?: number }
35
+ */
36
+ export function createPromptsCreateHandler() {
37
+ return async (req) => {
38
+ if (!req.user) {
39
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
40
+ }
41
+ try {
42
+ const data = await req.json?.();
43
+ if (!data) {
44
+ return Response.json({ error: 'Request body is required' }, { status: 400 });
45
+ }
46
+ const doc = await req.payload.create({
47
+ collection: COLLECTION,
48
+ data,
49
+ });
50
+ return Response.json(doc);
51
+ }
52
+ catch (e) {
53
+ console.error('[payload-puck] Error creating prompt:', e);
54
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to create prompt' }, { status: 500 });
55
+ }
56
+ };
57
+ }
58
+ /**
59
+ * Update an existing AI prompt
60
+ *
61
+ * PATCH /api/puck/ai-prompts/:id
62
+ * Body: { label?: string, prompt?: string, category?: string, order?: number }
63
+ */
64
+ export function createPromptsUpdateHandler() {
65
+ return async (req) => {
66
+ if (!req.user) {
67
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
68
+ }
69
+ const id = req.routeParams?.id;
70
+ if (!id) {
71
+ return Response.json({ error: 'Prompt ID is required' }, { status: 400 });
72
+ }
73
+ try {
74
+ const data = await req.json?.();
75
+ if (!data) {
76
+ return Response.json({ error: 'Request body is required' }, { status: 400 });
77
+ }
78
+ const doc = await req.payload.update({
79
+ collection: COLLECTION,
80
+ id,
81
+ data,
82
+ });
83
+ return Response.json(doc);
84
+ }
85
+ catch (e) {
86
+ console.error('[payload-puck] Error updating prompt:', e);
87
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to update prompt' }, { status: 500 });
88
+ }
89
+ };
90
+ }
91
+ /**
92
+ * Delete an AI prompt
93
+ *
94
+ * DELETE /api/puck/ai-prompts/:id
95
+ */
96
+ export function createPromptsDeleteHandler() {
97
+ return async (req) => {
98
+ if (!req.user) {
99
+ return Response.json({ error: 'Unauthorized' }, { status: 401 });
100
+ }
101
+ const id = req.routeParams?.id;
102
+ if (!id) {
103
+ return Response.json({ error: 'Prompt ID is required' }, { status: 400 });
104
+ }
105
+ try {
106
+ await req.payload.delete({
107
+ collection: COLLECTION,
108
+ id,
109
+ });
110
+ return Response.json({ success: true });
111
+ }
112
+ catch (e) {
113
+ console.error('[payload-puck] Error deleting prompt:', e);
114
+ return Response.json({ error: e instanceof Error ? e.message : 'Failed to delete prompt' }, { status: 500 });
115
+ }
116
+ };
117
+ }
118
+ //# sourceMappingURL=prompts.js.map