@ai-stack/payloadcms 3.76.0-beta.1 → 3.76.0-beta.3

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 (341) hide show
  1. package/dist/ai/core/generateObject.js +1 -4
  2. package/dist/ai/core/generateObject.js.map +1 -1
  3. package/dist/ai/core/generateText.js +1 -5
  4. package/dist/ai/core/generateText.js.map +1 -1
  5. package/dist/ai/core/media/generateMedia.js +1 -4
  6. package/dist/ai/core/media/generateMedia.js.map +1 -1
  7. package/dist/ai/core/media/image/generateImage.js +4 -14
  8. package/dist/ai/core/media/image/generateImage.js.map +1 -1
  9. package/dist/ai/core/media/image/handlers/multimodal.js +7 -24
  10. package/dist/ai/core/media/image/handlers/multimodal.js.map +1 -1
  11. package/dist/ai/core/media/image/handlers/standard.js +7 -2
  12. package/dist/ai/core/media/image/handlers/standard.js.map +1 -1
  13. package/dist/ai/core/media/speech/generateSpeech.js +2 -3
  14. package/dist/ai/core/media/speech/generateSpeech.js.map +1 -1
  15. package/dist/ai/core/media/types.d.ts +2 -3
  16. package/dist/ai/core/media/types.js.map +1 -1
  17. package/dist/ai/core/streamObject.js +0 -3
  18. package/dist/ai/core/streamObject.js.map +1 -1
  19. package/dist/ai/core/streamText.js +1 -4
  20. package/dist/ai/core/streamText.js.map +1 -1
  21. package/dist/ai/core/types.d.ts +2 -2
  22. package/dist/ai/core/types.js.map +1 -1
  23. package/dist/ai/providers/blocks/anthropic.js +2 -44
  24. package/dist/ai/providers/blocks/anthropic.js.map +1 -1
  25. package/dist/ai/providers/blocks/elevenlabs.js +4 -109
  26. package/dist/ai/providers/blocks/elevenlabs.js.map +1 -1
  27. package/dist/ai/providers/blocks/fal.js +2 -120
  28. package/dist/ai/providers/blocks/fal.js.map +1 -1
  29. package/dist/ai/providers/blocks/google.js +6 -240
  30. package/dist/ai/providers/blocks/google.js.map +1 -1
  31. package/dist/ai/providers/blocks/openai-compatible.js +2 -146
  32. package/dist/ai/providers/blocks/openai-compatible.js.map +1 -1
  33. package/dist/ai/providers/blocks/openai.js +2 -202
  34. package/dist/ai/providers/blocks/openai.js.map +1 -1
  35. package/dist/ai/providers/blocks/xai.js +2 -55
  36. package/dist/ai/providers/blocks/xai.js.map +1 -1
  37. package/dist/ai/providers/index.d.ts +1 -1
  38. package/dist/ai/providers/index.js +0 -2
  39. package/dist/ai/providers/index.js.map +1 -1
  40. package/dist/ai/providers/registry.d.ts +24 -28
  41. package/dist/ai/providers/registry.js +184 -138
  42. package/dist/ai/providers/registry.js.map +1 -1
  43. package/dist/ai/providers/types.d.ts +12 -33
  44. package/dist/ai/providers/types.js +0 -1
  45. package/dist/ai/providers/types.js.map +1 -1
  46. package/dist/ai/schemas/lexicalJsonSchema.js +1 -1
  47. package/dist/ai/schemas/lexicalJsonSchema.js.map +1 -1
  48. package/dist/ai/utilities/filterEditorSchemaByNodes.js.map +1 -0
  49. package/dist/ai/utilities/generateFileNameByPrompt.js.map +1 -0
  50. package/dist/ai/utilities/isObjectSchema.js.map +1 -0
  51. package/dist/ai/{utils → utilities}/nodeToSchemaMap.js +6 -6
  52. package/dist/ai/utilities/nodeToSchemaMap.js.map +1 -0
  53. package/dist/ai/{prompts.d.ts → utilities/prompts.d.ts} +1 -1
  54. package/dist/ai/utilities/prompts.js.map +1 -0
  55. package/dist/ai/utilities/systemGenerate.js.map +1 -0
  56. package/dist/collections/AIJobs.js +3 -12
  57. package/dist/collections/AIJobs.js.map +1 -1
  58. package/dist/collections/AIProviders.js +56 -29
  59. package/dist/collections/AIProviders.js.map +1 -1
  60. package/dist/collections/Instructions.js +91 -59
  61. package/dist/collections/Instructions.js.map +1 -1
  62. package/dist/collections/shared.d.ts +30 -0
  63. package/dist/collections/shared.js +15 -0
  64. package/dist/collections/shared.js.map +1 -0
  65. package/dist/endpoints/fetchFields.js +14 -6
  66. package/dist/endpoints/fetchFields.js.map +1 -1
  67. package/dist/endpoints/fetchVoices.js +1 -1
  68. package/dist/endpoints/fetchVoices.js.map +1 -1
  69. package/dist/endpoints/generate.d.ts +7 -0
  70. package/dist/endpoints/generate.js +268 -0
  71. package/dist/endpoints/generate.js.map +1 -0
  72. package/dist/endpoints/index.js +9 -639
  73. package/dist/endpoints/index.js.map +1 -1
  74. package/dist/endpoints/promptMentions.d.ts +2 -0
  75. package/dist/endpoints/promptMentions.js +166 -0
  76. package/dist/endpoints/promptMentions.js.map +1 -0
  77. package/dist/endpoints/upload.d.ts +7 -0
  78. package/dist/endpoints/upload.js +294 -0
  79. package/dist/endpoints/upload.js.map +1 -0
  80. package/dist/endpoints/videogenWebhook.d.ts +7 -0
  81. package/dist/endpoints/videogenWebhook.js +132 -0
  82. package/dist/endpoints/videogenWebhook.js.map +1 -0
  83. package/dist/exports/client.d.ts +2 -1
  84. package/dist/exports/client.js +2 -1
  85. package/dist/exports/client.js.map +1 -1
  86. package/dist/exports/fields.d.ts +2 -1
  87. package/dist/exports/fields.js +2 -1
  88. package/dist/exports/fields.js.map +1 -1
  89. package/dist/fields/ArrayComposeField/ArrayComposeField.js +1 -1
  90. package/dist/fields/ArrayComposeField/ArrayComposeField.js.map +1 -1
  91. package/dist/fields/ArrayComposeField/ArrayComposeField.jsx +1 -1
  92. package/dist/fields/ComposeField/ComposeField.d.ts +1 -0
  93. package/dist/fields/ComposeField/ComposeField.js +18 -8
  94. package/dist/fields/ComposeField/ComposeField.js.map +1 -1
  95. package/dist/fields/ComposeField/ComposeField.jsx +12 -7
  96. package/dist/fields/LexicalEditor/feature.server.js +1 -1
  97. package/dist/fields/LexicalEditor/feature.server.js.map +1 -1
  98. package/dist/fields/PromptEditorField/feature.client.d.ts +1 -0
  99. package/dist/fields/PromptEditorField/feature.client.js +173 -0
  100. package/dist/fields/PromptEditorField/feature.client.js.map +1 -0
  101. package/dist/fields/PromptEditorField/feature.client.jsx +148 -0
  102. package/dist/fields/PromptEditorField/feature.server.d.ts +1 -0
  103. package/dist/fields/PromptEditorField/feature.server.js +30 -0
  104. package/dist/fields/PromptEditorField/feature.server.js.map +1 -0
  105. package/dist/fields/PromptField.d.ts +4 -0
  106. package/dist/fields/PromptField.js +18 -0
  107. package/dist/fields/PromptField.js.map +1 -0
  108. package/dist/fields/SelectField/SelectField.js +0 -1
  109. package/dist/fields/SelectField/SelectField.js.map +1 -1
  110. package/dist/fields/SelectField/SelectField.jsx +0 -1
  111. package/dist/index.d.ts +4 -3
  112. package/dist/index.js +4 -2
  113. package/dist/index.js.map +1 -1
  114. package/dist/libraries/handlebars/helpers.js +2 -2
  115. package/dist/libraries/handlebars/helpers.js.map +1 -1
  116. package/dist/libraries/handlebars/replacePlaceholders.js +5 -1
  117. package/dist/libraries/handlebars/replacePlaceholders.js.map +1 -1
  118. package/dist/payload-ai.d.ts +5 -19
  119. package/dist/plugin.js +18 -21
  120. package/dist/plugin.js.map +1 -1
  121. package/dist/providers/FieldProvider/FieldProvider.js +11 -20
  122. package/dist/providers/FieldProvider/FieldProvider.js.map +1 -1
  123. package/dist/providers/FieldProvider/FieldProvider.jsx +8 -18
  124. package/dist/providers/InstructionsProvider/InstructionsProvider.js +5 -2
  125. package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
  126. package/dist/providers/InstructionsProvider/InstructionsProvider.jsx +5 -2
  127. package/dist/translations/de.json +47 -0
  128. package/dist/translations/en.json +45 -2
  129. package/dist/translations/es.json +45 -2
  130. package/dist/translations/fa.json +45 -2
  131. package/dist/translations/fr.json +46 -3
  132. package/dist/translations/hi.json +47 -0
  133. package/dist/translations/index.d.ts +88 -26
  134. package/dist/translations/index.js +18 -32
  135. package/dist/translations/index.js.map +1 -1
  136. package/dist/translations/ja.json +47 -0
  137. package/dist/translations/nb.json +47 -0
  138. package/dist/translations/nl.json +47 -0
  139. package/dist/translations/pl.json +45 -2
  140. package/dist/translations/pt.json +47 -0
  141. package/dist/translations/ru.json +45 -2
  142. package/dist/translations/th.json +47 -0
  143. package/dist/translations/translation-schema.json +184 -11
  144. package/dist/translations/uk.json +45 -2
  145. package/dist/translations/zh.json +47 -0
  146. package/dist/types.d.ts +64 -28
  147. package/dist/types.js.map +1 -1
  148. package/dist/ui/Compose/Compose.js +42 -79
  149. package/dist/ui/Compose/Compose.js.map +1 -1
  150. package/dist/ui/Compose/Compose.jsx +32 -86
  151. package/dist/ui/Compose/ComposePlaceholder.js +1 -1
  152. package/dist/ui/Compose/ComposePlaceholder.js.map +1 -1
  153. package/dist/ui/Compose/ComposePlaceholder.jsx +1 -1
  154. package/dist/ui/Compose/{compose.module.css → compose.module.scss} +3 -5
  155. package/dist/ui/Compose/hooks/menu/Item.d.ts +1 -1
  156. package/dist/ui/Compose/hooks/menu/Item.js +7 -3
  157. package/dist/ui/Compose/hooks/menu/Item.js.map +1 -1
  158. package/dist/ui/Compose/hooks/menu/Item.jsx +11 -5
  159. package/dist/ui/Compose/hooks/menu/TranslateMenu.js +15 -5
  160. package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -1
  161. package/dist/ui/Compose/hooks/menu/TranslateMenu.jsx +11 -5
  162. package/dist/ui/Compose/hooks/menu/items.d.ts +8 -8
  163. package/dist/ui/Compose/hooks/menu/itemsMap.d.ts +2 -1
  164. package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -1
  165. package/dist/ui/Compose/hooks/menu/types.d.ts +21 -0
  166. package/dist/ui/Compose/hooks/menu/types.js +3 -0
  167. package/dist/ui/Compose/hooks/menu/types.js.map +1 -0
  168. package/dist/ui/Compose/hooks/menu/useMenu.d.ts +2 -2
  169. package/dist/ui/Compose/hooks/menu/useMenu.js +45 -23
  170. package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -1
  171. package/dist/ui/Compose/hooks/menu/useMenu.jsx +43 -23
  172. package/dist/ui/Compose/hooks/mergeGeneratedValue.d.ts +14 -0
  173. package/dist/ui/Compose/hooks/mergeGeneratedValue.js +38 -0
  174. package/dist/ui/Compose/hooks/mergeGeneratedValue.js.map +1 -0
  175. package/dist/ui/Compose/hooks/useGenerate.js +37 -12
  176. package/dist/ui/Compose/hooks/useGenerate.js.map +1 -1
  177. package/dist/ui/Compose/hooks/useGenerateUpload.js +66 -24
  178. package/dist/ui/Compose/hooks/useGenerateUpload.js.map +1 -1
  179. package/dist/ui/Compose/hooks/useHistory.js +1 -1
  180. package/dist/ui/Compose/hooks/useHistory.js.map +1 -1
  181. package/dist/ui/Compose/hooks/useStreamingUpdate.js +4 -4
  182. package/dist/ui/Compose/hooks/useStreamingUpdate.js.map +1 -1
  183. package/dist/ui/ConfigDashboard/configDashboard.module.css +94 -0
  184. package/dist/ui/ConfigDashboard/index.js +27 -92
  185. package/dist/ui/ConfigDashboard/index.js.map +1 -1
  186. package/dist/ui/ConfigDashboard/index.jsx +24 -77
  187. package/dist/ui/DynamicModelSelect/index.js +6 -27
  188. package/dist/ui/DynamicModelSelect/index.js.map +1 -1
  189. package/dist/ui/DynamicModelSelect/index.jsx +6 -29
  190. package/dist/ui/DynamicProviderSelect/index.js +6 -27
  191. package/dist/ui/DynamicProviderSelect/index.js.map +1 -1
  192. package/dist/ui/DynamicProviderSelect/index.jsx +6 -29
  193. package/dist/ui/DynamicVoiceSelect/index.js +34 -83
  194. package/dist/ui/DynamicVoiceSelect/index.js.map +1 -1
  195. package/dist/ui/DynamicVoiceSelect/index.jsx +16 -53
  196. package/dist/ui/GlobalProviderOptions/index.d.ts +2 -0
  197. package/dist/ui/GlobalProviderOptions/index.js +118 -0
  198. package/dist/ui/GlobalProviderOptions/index.js.map +1 -0
  199. package/dist/ui/GlobalProviderOptions/index.jsx +60 -0
  200. package/dist/ui/Icons/Icons.js +1 -1
  201. package/dist/ui/Icons/Icons.js.map +1 -1
  202. package/dist/ui/Icons/Icons.jsx +1 -1
  203. package/dist/ui/Icons/LottieAnimation.js +1 -1
  204. package/dist/ui/Icons/LottieAnimation.js.map +1 -1
  205. package/dist/ui/Icons/LottieAnimation.jsx +1 -1
  206. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.d.ts +12 -0
  207. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js +166 -0
  208. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js.map +1 -0
  209. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.jsx +83 -0
  210. package/dist/ui/InstructionProviderOptions/index.d.ts +2 -0
  211. package/dist/ui/InstructionProviderOptions/index.js +157 -0
  212. package/dist/ui/InstructionProviderOptions/index.js.map +1 -0
  213. package/dist/ui/InstructionProviderOptions/index.jsx +92 -0
  214. package/dist/ui/VoicesFetcher/index.js.map +1 -1
  215. package/dist/ui/hooks/useAISettings.d.ts +26 -0
  216. package/dist/ui/hooks/useAISettings.js +73 -0
  217. package/dist/ui/hooks/useAISettings.js.map +1 -0
  218. package/dist/ui/providerOptions/updateProviderOptionsValue.d.ts +6 -0
  219. package/dist/ui/providerOptions/updateProviderOptionsValue.js +50 -0
  220. package/dist/ui/providerOptions/updateProviderOptionsValue.js.map +1 -0
  221. package/dist/ui/shared/handleSelectChange.d.ts +5 -0
  222. package/dist/ui/shared/handleSelectChange.js +12 -0
  223. package/dist/ui/shared/handleSelectChange.js.map +1 -0
  224. package/dist/ui/shared/types.d.ts +11 -0
  225. package/dist/ui/shared/types.js +5 -0
  226. package/dist/ui/shared/types.js.map +1 -0
  227. package/dist/utilities/ai/resolveEffectiveInstructionSettings.d.ts +15 -0
  228. package/dist/utilities/ai/resolveEffectiveInstructionSettings.js +136 -0
  229. package/dist/utilities/ai/resolveEffectiveInstructionSettings.js.map +1 -0
  230. package/dist/{endpoints → utilities}/buildPromptUtils.js +14 -5
  231. package/dist/utilities/buildPromptUtils.js.map +1 -0
  232. package/dist/utilities/buildSmartPrompt.js +3 -3
  233. package/dist/utilities/buildSmartPrompt.js.map +1 -1
  234. package/dist/utilities/fields/fieldToJsonSchema.js.map +1 -0
  235. package/dist/utilities/fields/getFieldBySchemaPath.js.map +1 -0
  236. package/dist/utilities/fields/getFieldInfo.js.map +1 -0
  237. package/dist/utilities/{updateFieldsConfig.js → fields/updateFieldsConfig.js} +8 -3
  238. package/dist/utilities/fields/updateFieldsConfig.js.map +1 -0
  239. package/dist/utilities/images/extractImageData.js.map +1 -0
  240. package/dist/utilities/images/extractPromptAttachments.js.map +1 -0
  241. package/dist/utilities/{fetchImages.d.ts → images/fetchImages.d.ts} +1 -1
  242. package/dist/utilities/images/fetchImages.js +49 -0
  243. package/dist/utilities/images/fetchImages.js.map +1 -0
  244. package/dist/utilities/images/resolveImageReferences.js +183 -0
  245. package/dist/utilities/images/resolveImageReferences.js.map +1 -0
  246. package/dist/utilities/init/autoSetupProviders.d.ts +3 -0
  247. package/dist/utilities/init/autoSetupProviders.js +216 -0
  248. package/dist/utilities/init/autoSetupProviders.js.map +1 -0
  249. package/dist/utilities/lexical/editorSchemaValidator.js.map +1 -0
  250. package/dist/utilities/lexical/lexicalToHTML.js.map +1 -0
  251. package/dist/utilities/lexical/lexicalToPromptTemplate.d.ts +2 -0
  252. package/dist/utilities/lexical/lexicalToPromptTemplate.js +50 -0
  253. package/dist/utilities/lexical/lexicalToPromptTemplate.js.map +1 -0
  254. package/dist/utilities/lexical/setSafeLexicalState.js.map +1 -0
  255. package/dist/utilities/lexical/stringToLexicalJSON.d.ts +2 -0
  256. package/dist/utilities/lexical/stringToLexicalJSON.js +39 -0
  257. package/dist/utilities/lexical/stringToLexicalJSON.js.map +1 -0
  258. package/dist/utilities/sanitizeLog.d.ts +1 -0
  259. package/dist/utilities/sanitizeLog.js +39 -0
  260. package/dist/utilities/sanitizeLog.js.map +1 -0
  261. package/dist/utilities/seedProperties.js +54 -22
  262. package/dist/utilities/seedProperties.js.map +1 -1
  263. package/package.json +36 -2
  264. package/dist/ai/analyse.d.ts +0 -1
  265. package/dist/ai/analyse.js +0 -3
  266. package/dist/ai/analyse.js.map +0 -1
  267. package/dist/ai/index.d.ts +0 -11
  268. package/dist/ai/index.js +0 -25
  269. package/dist/ai/index.js.map +0 -1
  270. package/dist/ai/prompts.js.map +0 -1
  271. package/dist/ai/utils/filterEditorSchemaByNodes.js.map +0 -1
  272. package/dist/ai/utils/generateFileNameByPrompt.js.map +0 -1
  273. package/dist/ai/utils/isObjectSchema.js.map +0 -1
  274. package/dist/ai/utils/nodeToSchemaMap.js.map +0 -1
  275. package/dist/ai/utils/systemGenerate.js.map +0 -1
  276. package/dist/endpoints/buildPromptUtils.js.map +0 -1
  277. package/dist/endpoints/chat.d.ts +0 -4
  278. package/dist/fields/PromptEditorField/PromptEditorField.d.ts +0 -3
  279. package/dist/fields/PromptEditorField/PromptEditorField.js +0 -217
  280. package/dist/fields/PromptEditorField/PromptEditorField.js.map +0 -1
  281. package/dist/fields/PromptEditorField/PromptEditorField.jsx +0 -160
  282. package/dist/ui/AIConfigDashboard/index.d.ts +0 -2
  283. package/dist/ui/AIConfigDashboard/index.js +0 -224
  284. package/dist/ui/AIConfigDashboard/index.js.map +0 -1
  285. package/dist/ui/AIConfigDashboard/index.jsx +0 -175
  286. package/dist/ui/ProviderOptionsEditor/index.d.ts +0 -7
  287. package/dist/ui/ProviderOptionsEditor/index.js +0 -291
  288. package/dist/ui/ProviderOptionsEditor/index.js.map +0 -1
  289. package/dist/ui/ProviderOptionsEditor/index.jsx +0 -210
  290. package/dist/utilities/editorSchemaValidator.js.map +0 -1
  291. package/dist/utilities/extractImageData.js.map +0 -1
  292. package/dist/utilities/extractPromptAttachments.js.map +0 -1
  293. package/dist/utilities/fetchImages.js +0 -38
  294. package/dist/utilities/fetchImages.js.map +0 -1
  295. package/dist/utilities/fieldToJsonSchema.js.map +0 -1
  296. package/dist/utilities/getFieldBySchemaPath.js.map +0 -1
  297. package/dist/utilities/getFieldInfo.js.map +0 -1
  298. package/dist/utilities/getProviderOptionsFields.d.ts +0 -16
  299. package/dist/utilities/getProviderOptionsFields.js +0 -80
  300. package/dist/utilities/getProviderOptionsFields.js.map +0 -1
  301. package/dist/utilities/isPluginActivated.d.ts +0 -2
  302. package/dist/utilities/isPluginActivated.js +0 -5
  303. package/dist/utilities/isPluginActivated.js.map +0 -1
  304. package/dist/utilities/lexicalToHTML.js.map +0 -1
  305. package/dist/utilities/resolveImageReferences.js +0 -167
  306. package/dist/utilities/resolveImageReferences.js.map +0 -1
  307. package/dist/utilities/schemaConverter.d.ts +0 -3
  308. package/dist/utilities/schemaConverter.js +0 -93
  309. package/dist/utilities/schemaConverter.js.map +0 -1
  310. package/dist/utilities/setSafeLexicalState.js.map +0 -1
  311. package/dist/utilities/updateFieldsConfig.js.map +0 -1
  312. /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.d.ts +0 -0
  313. /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.js +0 -0
  314. /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.d.ts +0 -0
  315. /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.js +0 -0
  316. /package/dist/ai/{utils → utilities}/isObjectSchema.d.ts +0 -0
  317. /package/dist/ai/{utils → utilities}/isObjectSchema.js +0 -0
  318. /package/dist/ai/{utils → utilities}/nodeToSchemaMap.d.ts +0 -0
  319. /package/dist/ai/{prompts.js → utilities/prompts.js} +0 -0
  320. /package/dist/ai/{utils → utilities}/systemGenerate.d.ts +0 -0
  321. /package/dist/ai/{utils → utilities}/systemGenerate.js +0 -0
  322. /package/dist/ui/Icons/{icons.module.css → icons.module.scss} +0 -0
  323. /package/dist/{endpoints → utilities}/buildPromptUtils.d.ts +0 -0
  324. /package/dist/utilities/{fieldToJsonSchema.d.ts → fields/fieldToJsonSchema.d.ts} +0 -0
  325. /package/dist/utilities/{fieldToJsonSchema.js → fields/fieldToJsonSchema.js} +0 -0
  326. /package/dist/utilities/{getFieldBySchemaPath.d.ts → fields/getFieldBySchemaPath.d.ts} +0 -0
  327. /package/dist/utilities/{getFieldBySchemaPath.js → fields/getFieldBySchemaPath.js} +0 -0
  328. /package/dist/utilities/{getFieldInfo.d.ts → fields/getFieldInfo.d.ts} +0 -0
  329. /package/dist/utilities/{getFieldInfo.js → fields/getFieldInfo.js} +0 -0
  330. /package/dist/utilities/{updateFieldsConfig.d.ts → fields/updateFieldsConfig.d.ts} +0 -0
  331. /package/dist/utilities/{extractImageData.d.ts → images/extractImageData.d.ts} +0 -0
  332. /package/dist/utilities/{extractImageData.js → images/extractImageData.js} +0 -0
  333. /package/dist/utilities/{extractPromptAttachments.d.ts → images/extractPromptAttachments.d.ts} +0 -0
  334. /package/dist/utilities/{extractPromptAttachments.js → images/extractPromptAttachments.js} +0 -0
  335. /package/dist/utilities/{resolveImageReferences.d.ts → images/resolveImageReferences.d.ts} +0 -0
  336. /package/dist/utilities/{editorSchemaValidator.d.ts → lexical/editorSchemaValidator.d.ts} +0 -0
  337. /package/dist/utilities/{editorSchemaValidator.js → lexical/editorSchemaValidator.js} +0 -0
  338. /package/dist/utilities/{lexicalToHTML.d.ts → lexical/lexicalToHTML.d.ts} +0 -0
  339. /package/dist/utilities/{lexicalToHTML.js → lexical/lexicalToHTML.js} +0 -0
  340. /package/dist/utilities/{setSafeLexicalState.d.ts → lexical/setSafeLexicalState.d.ts} +0 -0
  341. /package/dist/utilities/{setSafeLexicalState.js → lexical/setSafeLexicalState.js} +0 -0
@@ -0,0 +1,268 @@
1
+ import { checkAccess } from '../access/checkAccess.js';
2
+ import { filterEditorSchemaByNodes } from '../ai/utilities/filterEditorSchemaByNodes.js';
3
+ import { PLUGIN_INSTRUCTIONS_TABLE, PLUGIN_NAME } from '../defaults.js';
4
+ import { registerEditorHelper } from '../libraries/handlebars/helpers.js';
5
+ import { resolveEffectiveInstructionSettings } from '../utilities/ai/resolveEffectiveInstructionSettings.js';
6
+ import { assignPrompt } from '../utilities/buildPromptUtils.js';
7
+ import { buildSmartPrompt, isGenericPrompt } from '../utilities/buildSmartPrompt.js';
8
+ import { fieldToJsonSchema } from '../utilities/fields/fieldToJsonSchema.js';
9
+ import { getFieldBySchemaPath } from '../utilities/fields/getFieldBySchemaPath.js';
10
+ import { extractImageData } from '../utilities/images/extractImageData.js';
11
+ import { fetchImages } from '../utilities/images/fetchImages.js';
12
+ import { resolveImageReferences } from '../utilities/images/resolveImageReferences.js';
13
+ import { lexicalToPromptTemplate } from '../utilities/lexical/lexicalToPromptTemplate.js';
14
+ import { sanitizeLog } from '../utilities/sanitizeLog.js';
15
+ /**
16
+ * Text/rich-text generation endpoint handler.
17
+ * Uses payload.ai.streamObject for structured text generation.
18
+ */ export const generateHandler = (pluginConfig)=>async (req)=>{
19
+ try {
20
+ // Check authentication and authorization first
21
+ await checkAccess(req, pluginConfig);
22
+ const data = await req.json?.();
23
+ const { allowedEditorNodes = [], locale = 'en', options } = data;
24
+ const { action, actionParams, instructionId } = options;
25
+ let contextData = data.doc;
26
+ if (!instructionId) {
27
+ throw new Error(`Instruction ID is required for "${PLUGIN_NAME}" to work, please check your configuration, or try again`);
28
+ }
29
+ // Verify user has access to the specific instruction
30
+ const instructions = await req.payload.findByID({
31
+ id: instructionId,
32
+ collection: PLUGIN_INSTRUCTIONS_TABLE,
33
+ req
34
+ });
35
+ const { collections } = req.payload.config;
36
+ const collection = collections.find((collection)=>collection.slug === PLUGIN_INSTRUCTIONS_TABLE);
37
+ if (!collection) {
38
+ throw new Error('Collection not found');
39
+ }
40
+ const { defaultLocale, locales = [] } = req.payload.config.localization || {};
41
+ // If translating from default locale, we need to fetch the original content
42
+ if (action === 'Translate' && actionParams?.translateFromDefault && contextData?.id) {
43
+ try {
44
+ const schemaPath = String(instructions['schema-path']);
45
+ const parts = (schemaPath || '').split('.') || [];
46
+ const collectionName = parts[0];
47
+ if (collectionName && defaultLocale) {
48
+ const originalDoc = await req.payload.findByID({
49
+ id: contextData.id,
50
+ collection: collectionName,
51
+ locale: defaultLocale,
52
+ req
53
+ });
54
+ if (originalDoc) {
55
+ contextData = {
56
+ ...contextData,
57
+ ...originalDoc
58
+ };
59
+ }
60
+ }
61
+ } catch (e) {
62
+ req.payload.logger.error(e, '— AI Plugin: Error fetching default locale document for translation');
63
+ }
64
+ }
65
+ const { custom: { [PLUGIN_NAME]: { editorConfig = {} } = {} } = {} } = collection.admin;
66
+ const { schema: editorSchema = {} } = editorConfig;
67
+ let { prompt: promptTemplate = '' } = instructions;
68
+ // Convert Lexical JSON to string template if needed
69
+ if (promptTemplate && typeof promptTemplate === 'object') {
70
+ promptTemplate = lexicalToPromptTemplate(promptTemplate);
71
+ }
72
+ // Smart fallback: if prompt is generic, build a contextual prompt from field metadata
73
+ if (isGenericPrompt(promptTemplate)) {
74
+ const schemaPath = String(instructions['schema-path']);
75
+ promptTemplate = buildSmartPrompt({
76
+ documentData: contextData,
77
+ payload: req.payload,
78
+ schemaPath
79
+ });
80
+ if (pluginConfig.debugging) {
81
+ req.payload.logger.info(sanitizeLog({
82
+ smartPrompt: promptTemplate
83
+ }), `— AI Plugin: Using smart fallback prompt for ${schemaPath}`);
84
+ }
85
+ }
86
+ let allowedEditorSchema = editorSchema;
87
+ if (allowedEditorNodes.length) {
88
+ allowedEditorSchema = filterEditorSchemaByNodes(editorSchema, allowedEditorNodes);
89
+ // Debug: Log what nodes were received and what definitions remain
90
+ if (pluginConfig.debugging) {
91
+ req.payload.logger.info(sanitizeLog({
92
+ receivedNodes: allowedEditorNodes,
93
+ remainingDefinitions: Object.keys(allowedEditorSchema.definitions || {})
94
+ }), '— AI Plugin: Schema filtering debug');
95
+ }
96
+ }
97
+ const schemaPath = String(instructions['schema-path']);
98
+ const parts = (schemaPath || '').split('.') || [];
99
+ const collectionName = parts[0];
100
+ const fieldName = parts.length > 1 ? parts[parts.length - 1] : '';
101
+ registerEditorHelper(req.payload, schemaPath);
102
+ const localeData = locales.find((l)=>{
103
+ return l.code === locale;
104
+ });
105
+ let localeInfo = locale;
106
+ if (localeData && defaultLocale && localeData.label && typeof localeData.label === 'object' && defaultLocale in localeData.label) {
107
+ localeInfo = localeData.label[defaultLocale];
108
+ }
109
+ const prompts = await assignPrompt(action, {
110
+ type: String(instructions['field-type']),
111
+ actionParams,
112
+ collection: collectionName,
113
+ context: contextData,
114
+ field: fieldName || '',
115
+ layout: instructions.layout,
116
+ locale: localeInfo,
117
+ pluginConfig,
118
+ systemPrompt: instructions.system,
119
+ template: String(promptTemplate)
120
+ });
121
+ if (pluginConfig.debugging) {
122
+ req.payload.logger.info(sanitizeLog({
123
+ prompts
124
+ }), `— AI Plugin: Executing text prompt on ${schemaPath}`);
125
+ }
126
+ const aiSettings = await req.payload.findGlobal({
127
+ slug: 'ai-providers'
128
+ });
129
+ const { effectiveSettings: modelSettings, settingsName } = resolveEffectiveInstructionSettings({
130
+ defaults: aiSettings?.defaults,
131
+ instructions: instructions
132
+ });
133
+ if (!settingsName) {
134
+ throw new Error(`Unsupported model-id: ${instructions['model-id']}`);
135
+ }
136
+ // Build per-field JSON schema for structured generation when applicable
137
+ let jsonSchema = allowedEditorSchema;
138
+ let targetField;
139
+ try {
140
+ const targetCollection = req.payload.config.collections.find((c)=>c.slug === collectionName);
141
+ if (targetCollection && fieldName) {
142
+ targetField = getFieldBySchemaPath(targetCollection, schemaPath);
143
+ const supported = [
144
+ 'array',
145
+ 'text',
146
+ 'textarea',
147
+ 'select',
148
+ 'number',
149
+ 'date',
150
+ 'code',
151
+ 'email',
152
+ 'json'
153
+ ];
154
+ const t = String(targetField?.type || '');
155
+ if (targetField && supported.includes(t)) {
156
+ // For array fields, use count from array-settings if available
157
+ if (t === 'array') {
158
+ const count = modelSettings.count || 3;
159
+ // Override the field's maxRows with the requested count
160
+ const modifiedField = {
161
+ ...targetField,
162
+ maxRows: count,
163
+ minRows: count
164
+ };
165
+ jsonSchema = fieldToJsonSchema(modifiedField, {
166
+ nameOverride: fieldName
167
+ });
168
+ } else {
169
+ jsonSchema = fieldToJsonSchema(targetField, {
170
+ nameOverride: fieldName
171
+ });
172
+ }
173
+ }
174
+ }
175
+ } catch (e) {
176
+ req.payload.logger.error(e, '— AI Plugin: Error building field JSON schema');
177
+ }
178
+ // Resolve @field:filename references from the prompt
179
+ const { images: resolvedImages, processedPrompt } = await resolveImageReferences(prompts.prompt, contextData, req, collectionName);
180
+ // Extract hardcoded URLs from the processed prompt
181
+ const hardcodedImages = extractImageData(processedPrompt);
182
+ // Combine images
183
+ const allImages = [
184
+ ...hardcodedImages,
185
+ ...resolvedImages
186
+ ];
187
+ let images;
188
+ if (allImages.length > 0) {
189
+ const imageParts = await fetchImages(req, allImages);
190
+ if (imageParts.length > 0) {
191
+ images = imageParts;
192
+ }
193
+ }
194
+ let promptToUse = processedPrompt;
195
+ let systemToUse = prompts.system;
196
+ // Execute beforeGenerate hooks
197
+ if (targetField && targetField.custom?.ai?.beforeGenerate) {
198
+ const beforeHooks = targetField.custom.ai.beforeGenerate;
199
+ for (const hook of beforeHooks){
200
+ const result = await hook({
201
+ doc: contextData,
202
+ field: targetField,
203
+ headers: req.headers,
204
+ instructions,
205
+ payload: req.payload,
206
+ prompt: promptToUse,
207
+ req,
208
+ system: systemToUse
209
+ });
210
+ if (result) {
211
+ if (result.prompt) {
212
+ promptToUse = result.prompt;
213
+ }
214
+ if (result.system) {
215
+ systemToUse = result.system;
216
+ }
217
+ }
218
+ }
219
+ }
220
+ const generateParams = {
221
+ images,
222
+ maxTokens: modelSettings.maxTokens,
223
+ model: modelSettings.model,
224
+ prompt: promptToUse,
225
+ provider: modelSettings.provider,
226
+ providerOptions: modelSettings,
227
+ schema: jsonSchema,
228
+ system: systemToUse,
229
+ temperature: modelSettings.temperature
230
+ };
231
+ if (pluginConfig.debugging) {
232
+ req.payload.logger.info(sanitizeLog(generateParams), '— AI Plugin: Final generation parameters for text/rich-text');
233
+ }
234
+ const streamResult = await req.payload.ai.streamObject({
235
+ ...generateParams,
236
+ onFinish: async ({ object })=>{
237
+ if (targetField && targetField.custom?.ai?.afterGenerate) {
238
+ const afterHooks = targetField.custom.ai.afterGenerate;
239
+ for (const hook of afterHooks){
240
+ await hook({
241
+ doc: contextData,
242
+ field: targetField,
243
+ headers: req.headers,
244
+ instructions,
245
+ payload: req.payload,
246
+ req,
247
+ result: object
248
+ });
249
+ }
250
+ }
251
+ }
252
+ });
253
+ return streamResult;
254
+ } catch (error) {
255
+ req.payload.logger.error(error, '— AI Plugin: Error generating text content:');
256
+ const message = error && typeof error === 'object' && 'message' in error ? error.message : String(error);
257
+ return new Response(JSON.stringify({
258
+ error: message
259
+ }), {
260
+ headers: {
261
+ 'Content-Type': 'application/json'
262
+ },
263
+ status: message.includes('Authentication required') || message.includes('Insufficient permissions') ? 401 : 500
264
+ });
265
+ }
266
+ };
267
+
268
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/endpoints/generate.ts"],"sourcesContent":["import type { ImagePart } from 'ai'\nimport type { Field, PayloadRequest } from 'payload'\n\nimport type { PluginConfig } from '../types.js'\n\nimport { checkAccess } from '../access/checkAccess.js'\nimport { filterEditorSchemaByNodes } from '../ai/utilities/filterEditorSchemaByNodes.js'\nimport { PLUGIN_INSTRUCTIONS_TABLE, PLUGIN_NAME } from '../defaults.js'\nimport { registerEditorHelper } from '../libraries/handlebars/helpers.js'\nimport { resolveEffectiveInstructionSettings } from '../utilities/ai/resolveEffectiveInstructionSettings.js'\nimport { assignPrompt } from '../utilities/buildPromptUtils.js'\nimport { buildSmartPrompt, isGenericPrompt } from '../utilities/buildSmartPrompt.js'\nimport { fieldToJsonSchema } from '../utilities/fields/fieldToJsonSchema.js'\nimport { getFieldBySchemaPath } from '../utilities/fields/getFieldBySchemaPath.js'\nimport { extractImageData } from '../utilities/images/extractImageData.js'\nimport { type FetchableImage, fetchImages } from '../utilities/images/fetchImages.js'\nimport { resolveImageReferences } from '../utilities/images/resolveImageReferences.js'\nimport { lexicalToPromptTemplate } from '../utilities/lexical/lexicalToPromptTemplate.js'\nimport { sanitizeLog } from '../utilities/sanitizeLog.js'\n\n/**\n * Text/rich-text generation endpoint handler.\n * Uses payload.ai.streamObject for structured text generation.\n */\nexport const generateHandler = (pluginConfig: PluginConfig) => async (req: PayloadRequest) => {\n try {\n // Check authentication and authorization first\n await checkAccess(req, pluginConfig)\n\n const data = await req.json?.()\n\n const { allowedEditorNodes = [], locale = 'en', options } = data\n const { action, actionParams, instructionId } = options\n let contextData = data.doc\n\n if (!instructionId) {\n throw new Error(\n `Instruction ID is required for \"${PLUGIN_NAME}\" to work, please check your configuration, or try again`,\n )\n }\n\n // Verify user has access to the specific instruction\n const instructions = await req.payload.findByID({\n id: instructionId,\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n req, // Pass req to ensure access control is applied\n })\n\n const { collections } = req.payload.config\n const collection = collections.find(\n (collection) => collection.slug === PLUGIN_INSTRUCTIONS_TABLE,\n )\n\n if (!collection) {\n throw new Error('Collection not found')\n }\n\n const { defaultLocale, locales = [] } = req.payload.config.localization || {}\n\n // If translating from default locale, we need to fetch the original content\n if (action === 'Translate' && actionParams?.translateFromDefault && contextData?.id) {\n try {\n const schemaPath = String(instructions['schema-path'])\n const parts = (schemaPath || '').split('.') || []\n const collectionName = parts[0]\n\n if (collectionName && defaultLocale) {\n const originalDoc = await req.payload.findByID({\n id: contextData.id,\n collection: collectionName as any,\n locale: defaultLocale,\n req,\n })\n if (originalDoc) {\n contextData = { ...contextData, ...originalDoc }\n }\n }\n } catch (e) {\n req.payload.logger.error(\n e,\n '— AI Plugin: Error fetching default locale document for translation',\n )\n }\n }\n\n const { custom: { [PLUGIN_NAME]: { editorConfig = {} } = {} } = {} } = collection.admin\n const { schema: editorSchema = {} } = editorConfig\n let { prompt: promptTemplate = '' } = instructions\n\n // Convert Lexical JSON to string template if needed\n if (promptTemplate && typeof promptTemplate === 'object') {\n promptTemplate = lexicalToPromptTemplate(promptTemplate)\n }\n\n // Smart fallback: if prompt is generic, build a contextual prompt from field metadata\n if (isGenericPrompt(promptTemplate)) {\n const schemaPath = String(instructions['schema-path'])\n promptTemplate = buildSmartPrompt({\n documentData: contextData,\n payload: req.payload,\n schemaPath,\n })\n\n if (pluginConfig.debugging) {\n req.payload.logger.info(\n sanitizeLog({ smartPrompt: promptTemplate }),\n `— AI Plugin: Using smart fallback prompt for ${schemaPath}`,\n )\n }\n }\n\n let allowedEditorSchema = editorSchema\n if (allowedEditorNodes.length) {\n allowedEditorSchema = filterEditorSchemaByNodes(editorSchema, allowedEditorNodes)\n // Debug: Log what nodes were received and what definitions remain\n if (pluginConfig.debugging) {\n req.payload.logger.info(\n sanitizeLog({\n receivedNodes: allowedEditorNodes,\n remainingDefinitions: Object.keys(allowedEditorSchema.definitions || {}),\n }),\n '— AI Plugin: Schema filtering debug',\n )\n }\n }\n\n const schemaPath = String(instructions['schema-path'])\n const parts = (schemaPath || '').split('.') || []\n const collectionName = parts[0]\n const fieldName = parts.length > 1 ? parts[parts.length - 1] : ''\n\n registerEditorHelper(req.payload, schemaPath)\n\n const localeData = locales.find((l) => {\n return l.code === locale\n })\n\n let localeInfo = locale\n if (\n localeData &&\n defaultLocale &&\n localeData.label &&\n typeof localeData.label === 'object' &&\n defaultLocale in localeData.label\n ) {\n localeInfo = localeData.label[defaultLocale]\n }\n\n const prompts = await assignPrompt(action, {\n type: String(instructions['field-type']),\n actionParams,\n collection: collectionName,\n context: contextData,\n field: fieldName || '',\n layout: instructions.layout,\n locale: localeInfo,\n pluginConfig,\n systemPrompt: instructions.system,\n template: String(promptTemplate),\n })\n\n if (pluginConfig.debugging) {\n req.payload.logger.info(sanitizeLog({ prompts }), `— AI Plugin: Executing text prompt on ${schemaPath}`)\n }\n\n const aiSettings = await req.payload.findGlobal({\n slug: 'ai-providers',\n })\n const { effectiveSettings: modelSettings, settingsName } = resolveEffectiveInstructionSettings({\n defaults: aiSettings?.defaults as Record<string, unknown> | undefined,\n instructions: instructions as Record<string, unknown>,\n })\n\n if (!settingsName) {\n throw new Error(`Unsupported model-id: ${instructions['model-id']}`)\n }\n\n // Build per-field JSON schema for structured generation when applicable\n let jsonSchema = allowedEditorSchema\n let targetField: Field | null | undefined\n\n try {\n const targetCollection = req.payload.config.collections.find((c) => c.slug === collectionName)\n if (targetCollection && fieldName) {\n targetField = getFieldBySchemaPath(targetCollection, schemaPath)\n const supported = [\n 'array',\n 'text',\n 'textarea',\n 'select',\n 'number',\n 'date',\n 'code',\n 'email',\n 'json',\n ]\n const t = String(targetField?.type || '')\n if (targetField && supported.includes(t)) {\n // For array fields, use count from array-settings if available\n if (t === 'array') {\n const count = (modelSettings.count as number) || 3\n // Override the field's maxRows with the requested count\n const modifiedField = {\n ...targetField,\n maxRows: count,\n minRows: count,\n } as typeof targetField\n jsonSchema = fieldToJsonSchema(modifiedField, { nameOverride: fieldName })\n } else {\n jsonSchema = fieldToJsonSchema(targetField, { nameOverride: fieldName })\n }\n }\n }\n } catch (e) {\n req.payload.logger.error(e, '— AI Plugin: Error building field JSON schema')\n }\n\n // Resolve @field:filename references from the prompt\n const { images: resolvedImages, processedPrompt } = await resolveImageReferences(\n prompts.prompt,\n contextData,\n req,\n collectionName,\n )\n\n // Extract hardcoded URLs from the processed prompt\n const hardcodedImages = extractImageData(processedPrompt)\n\n // Combine images\n const allImages = [...hardcodedImages, ...resolvedImages] as FetchableImage[]\n\n let images: ImagePart[] | undefined\n\n if (allImages.length > 0) {\n const imageParts = await fetchImages(req, allImages)\n\n if (imageParts.length > 0) {\n images = imageParts\n }\n }\n\n let promptToUse = processedPrompt\n let systemToUse = prompts.system\n\n // Execute beforeGenerate hooks\n if (targetField && (targetField as any).custom?.ai?.beforeGenerate) {\n const beforeHooks = (targetField as any).custom.ai.beforeGenerate as Array<\n (args: any) => Promise<any>\n >\n for (const hook of beforeHooks) {\n const result = await hook({\n doc: contextData,\n field: targetField,\n headers: req.headers,\n instructions,\n payload: req.payload,\n prompt: promptToUse,\n req,\n system: systemToUse,\n })\n\n if (result) {\n if (result.prompt) {promptToUse = result.prompt}\n if (result.system) {systemToUse = result.system}\n }\n }\n }\n\n const generateParams = {\n images,\n maxTokens: modelSettings.maxTokens as number | undefined,\n model: modelSettings.model as string,\n prompt: promptToUse,\n provider: modelSettings.provider as string,\n providerOptions: modelSettings,\n\n schema: jsonSchema,\n system: systemToUse,\n temperature: modelSettings.temperature as number | undefined,\n }\n\n if (pluginConfig.debugging) {\n req.payload.logger.info(\n sanitizeLog(generateParams),\n '— AI Plugin: Final generation parameters for text/rich-text',\n )\n }\n\n const streamResult = await req.payload.ai.streamObject({\n ...generateParams,\n onFinish: async ({ object }) => {\n if (targetField && (targetField as any).custom?.ai?.afterGenerate) {\n const afterHooks = (targetField as any).custom.ai.afterGenerate as Array<\n (args: any) => Promise<any>\n >\n for (const hook of afterHooks) {\n await hook({\n doc: contextData,\n field: targetField,\n headers: req.headers,\n instructions,\n payload: req.payload,\n req,\n result: object,\n })\n }\n }\n },\n })\n\n return streamResult\n } catch (error) {\n req.payload.logger.error(error, '— AI Plugin: Error generating text content:')\n const message =\n error && typeof error === 'object' && 'message' in error\n ? (error as Error).message\n : String(error)\n return new Response(JSON.stringify({ error: message }), {\n headers: { 'Content-Type': 'application/json' },\n status:\n message.includes('Authentication required') || message.includes('Insufficient permissions')\n ? 401\n : 500,\n })\n }\n}\n"],"names":["checkAccess","filterEditorSchemaByNodes","PLUGIN_INSTRUCTIONS_TABLE","PLUGIN_NAME","registerEditorHelper","resolveEffectiveInstructionSettings","assignPrompt","buildSmartPrompt","isGenericPrompt","fieldToJsonSchema","getFieldBySchemaPath","extractImageData","fetchImages","resolveImageReferences","lexicalToPromptTemplate","sanitizeLog","generateHandler","pluginConfig","req","data","json","allowedEditorNodes","locale","options","action","actionParams","instructionId","contextData","doc","Error","instructions","payload","findByID","id","collection","collections","config","find","slug","defaultLocale","locales","localization","translateFromDefault","schemaPath","String","parts","split","collectionName","originalDoc","e","logger","error","custom","editorConfig","admin","schema","editorSchema","prompt","promptTemplate","documentData","debugging","info","smartPrompt","allowedEditorSchema","length","receivedNodes","remainingDefinitions","Object","keys","definitions","fieldName","localeData","l","code","localeInfo","label","prompts","type","context","field","layout","systemPrompt","system","template","aiSettings","findGlobal","effectiveSettings","modelSettings","settingsName","defaults","jsonSchema","targetField","targetCollection","c","supported","t","includes","count","modifiedField","maxRows","minRows","nameOverride","images","resolvedImages","processedPrompt","hardcodedImages","allImages","imageParts","promptToUse","systemToUse","ai","beforeGenerate","beforeHooks","hook","result","headers","generateParams","maxTokens","model","provider","providerOptions","temperature","streamResult","streamObject","onFinish","object","afterGenerate","afterHooks","message","Response","JSON","stringify","status"],"mappings":"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"}