@ai-stack/payloadcms 3.76.0-beta.0 → 3.76.0-beta.2

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 (349) 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 +21 -58
  10. package/dist/ai/core/media/image/handlers/multimodal.js.map +1 -1
  11. package/dist/ai/core/media/image/handlers/standard.js +17 -9
  12. package/dist/ai/core/media/image/handlers/standard.js.map +1 -1
  13. package/dist/ai/core/media/speech/generateSpeech.js +10 -11
  14. package/dist/ai/core/media/speech/generateSpeech.js.map +1 -1
  15. package/dist/ai/core/media/types.d.ts +3 -4
  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 +0 -42
  24. package/dist/ai/providers/blocks/anthropic.js.map +1 -1
  25. package/dist/ai/providers/blocks/elevenlabs.js +1 -106
  26. package/dist/ai/providers/blocks/elevenlabs.js.map +1 -1
  27. package/dist/ai/providers/blocks/fal.js +0 -118
  28. package/dist/ai/providers/blocks/fal.js.map +1 -1
  29. package/dist/ai/providers/blocks/google.js +2 -236
  30. package/dist/ai/providers/blocks/google.js.map +1 -1
  31. package/dist/ai/providers/blocks/openai-compatible.js +0 -144
  32. package/dist/ai/providers/blocks/openai-compatible.js.map +1 -1
  33. package/dist/ai/providers/blocks/openai.js +0 -200
  34. package/dist/ai/providers/blocks/openai.js.map +1 -1
  35. package/dist/ai/providers/blocks/xai.js +0 -53
  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 +186 -140
  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/utilities/nodeToSchemaMap.js.map +1 -0
  52. package/dist/ai/{prompts.d.ts → utilities/prompts.d.ts} +1 -1
  53. package/dist/ai/utilities/prompts.js.map +1 -0
  54. package/dist/ai/utilities/systemGenerate.js.map +1 -0
  55. package/dist/collections/AIJobs.js +3 -12
  56. package/dist/collections/AIJobs.js.map +1 -1
  57. package/dist/collections/AIProviders.d.ts +2 -0
  58. package/dist/collections/{AISettings.js → AIProviders.js} +54 -26
  59. package/dist/collections/AIProviders.js.map +1 -0
  60. package/dist/collections/Instructions.js +93 -57
  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/defaults.js +1 -1
  66. package/dist/defaults.js.map +1 -1
  67. package/dist/endpoints/fetchFields.js +15 -7
  68. package/dist/endpoints/fetchFields.js.map +1 -1
  69. package/dist/endpoints/fetchVoices.js +2 -2
  70. package/dist/endpoints/fetchVoices.js.map +1 -1
  71. package/dist/endpoints/generate.d.ts +7 -0
  72. package/dist/endpoints/generate.js +268 -0
  73. package/dist/endpoints/generate.js.map +1 -0
  74. package/dist/endpoints/index.js +9 -604
  75. package/dist/endpoints/index.js.map +1 -1
  76. package/dist/endpoints/promptMentions.d.ts +2 -0
  77. package/dist/endpoints/promptMentions.js +166 -0
  78. package/dist/endpoints/promptMentions.js.map +1 -0
  79. package/dist/endpoints/upload.d.ts +7 -0
  80. package/dist/endpoints/upload.js +294 -0
  81. package/dist/endpoints/upload.js.map +1 -0
  82. package/dist/endpoints/videogenWebhook.d.ts +7 -0
  83. package/dist/endpoints/videogenWebhook.js +132 -0
  84. package/dist/endpoints/videogenWebhook.js.map +1 -0
  85. package/dist/exports/client.d.ts +3 -2
  86. package/dist/exports/client.js +3 -2
  87. package/dist/exports/client.js.map +1 -1
  88. package/dist/exports/fields.d.ts +2 -1
  89. package/dist/exports/fields.js +2 -1
  90. package/dist/exports/fields.js.map +1 -1
  91. package/dist/fields/ArrayComposeField/ArrayComposeField.js +1 -1
  92. package/dist/fields/ArrayComposeField/ArrayComposeField.js.map +1 -1
  93. package/dist/fields/ArrayComposeField/ArrayComposeField.jsx +1 -1
  94. package/dist/fields/ComposeField/ComposeField.d.ts +1 -0
  95. package/dist/fields/ComposeField/ComposeField.js +18 -8
  96. package/dist/fields/ComposeField/ComposeField.js.map +1 -1
  97. package/dist/fields/ComposeField/ComposeField.jsx +12 -7
  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 +19 -22
  120. package/dist/plugin.js.map +1 -1
  121. package/dist/providers/FieldProvider/FieldProvider.js +10 -19
  122. package/dist/providers/FieldProvider/FieldProvider.js.map +1 -1
  123. package/dist/providers/FieldProvider/FieldProvider.jsx +7 -17
  124. package/dist/providers/InstructionsProvider/InstructionsProvider.js +4 -1
  125. package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
  126. package/dist/providers/InstructionsProvider/InstructionsProvider.jsx +3 -0
  127. package/dist/providers/InstructionsProvider/useInstructions.js +1 -1
  128. package/dist/providers/InstructionsProvider/useInstructions.js.map +1 -1
  129. package/dist/translations/de.json +47 -0
  130. package/dist/translations/en.json +45 -2
  131. package/dist/translations/es.json +45 -2
  132. package/dist/translations/fa.json +45 -2
  133. package/dist/translations/fr.json +46 -3
  134. package/dist/translations/hi.json +47 -0
  135. package/dist/translations/index.d.ts +88 -26
  136. package/dist/translations/index.js +18 -32
  137. package/dist/translations/index.js.map +1 -1
  138. package/dist/translations/ja.json +47 -0
  139. package/dist/translations/nb.json +47 -0
  140. package/dist/translations/nl.json +47 -0
  141. package/dist/translations/pl.json +45 -2
  142. package/dist/translations/pt.json +47 -0
  143. package/dist/translations/ru.json +45 -2
  144. package/dist/translations/th.json +47 -0
  145. package/dist/translations/translation-schema.json +184 -11
  146. package/dist/translations/uk.json +45 -2
  147. package/dist/translations/zh.json +47 -0
  148. package/dist/types.d.ts +57 -31
  149. package/dist/types.js.map +1 -1
  150. package/dist/ui/Compose/Compose.js +42 -79
  151. package/dist/ui/Compose/Compose.js.map +1 -1
  152. package/dist/ui/Compose/Compose.jsx +32 -86
  153. package/dist/ui/Compose/ComposePlaceholder.js +1 -1
  154. package/dist/ui/Compose/ComposePlaceholder.js.map +1 -1
  155. package/dist/ui/Compose/ComposePlaceholder.jsx +1 -1
  156. package/dist/ui/Compose/{compose.module.css → compose.module.scss} +3 -5
  157. package/dist/ui/Compose/hooks/menu/Item.d.ts +1 -1
  158. package/dist/ui/Compose/hooks/menu/Item.js +7 -3
  159. package/dist/ui/Compose/hooks/menu/Item.js.map +1 -1
  160. package/dist/ui/Compose/hooks/menu/Item.jsx +11 -5
  161. package/dist/ui/Compose/hooks/menu/TranslateMenu.d.ts +5 -0
  162. package/dist/ui/Compose/hooks/menu/TranslateMenu.js +48 -5
  163. package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -1
  164. package/dist/ui/Compose/hooks/menu/TranslateMenu.jsx +44 -6
  165. package/dist/ui/Compose/hooks/menu/items.d.ts +8 -8
  166. package/dist/ui/Compose/hooks/menu/itemsMap.d.ts +2 -1
  167. package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -1
  168. package/dist/ui/Compose/hooks/menu/menu.module.scss +4 -1
  169. package/dist/ui/Compose/hooks/menu/types.d.ts +21 -0
  170. package/dist/ui/Compose/hooks/menu/types.js +3 -0
  171. package/dist/ui/Compose/hooks/menu/types.js.map +1 -0
  172. package/dist/ui/Compose/hooks/menu/useMenu.d.ts +2 -2
  173. package/dist/ui/Compose/hooks/menu/useMenu.js +45 -23
  174. package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -1
  175. package/dist/ui/Compose/hooks/menu/useMenu.jsx +43 -23
  176. package/dist/ui/Compose/hooks/mergeGeneratedValue.d.ts +14 -0
  177. package/dist/ui/Compose/hooks/mergeGeneratedValue.js +38 -0
  178. package/dist/ui/Compose/hooks/mergeGeneratedValue.js.map +1 -0
  179. package/dist/ui/Compose/hooks/useActiveFieldTracking.js +34 -0
  180. package/dist/ui/Compose/hooks/useActiveFieldTracking.js.map +1 -1
  181. package/dist/ui/Compose/hooks/useGenerate.js +37 -12
  182. package/dist/ui/Compose/hooks/useGenerate.js.map +1 -1
  183. package/dist/ui/Compose/hooks/useGenerateUpload.js +67 -19
  184. package/dist/ui/Compose/hooks/useGenerateUpload.js.map +1 -1
  185. package/dist/ui/Compose/hooks/useStreamingUpdate.js +4 -4
  186. package/dist/ui/Compose/hooks/useStreamingUpdate.js.map +1 -1
  187. package/dist/ui/ConfigDashboard/configDashboard.module.css +94 -0
  188. package/dist/ui/ConfigDashboard/index.d.ts +2 -0
  189. package/dist/ui/ConfigDashboard/index.js +159 -0
  190. package/dist/ui/ConfigDashboard/index.js.map +1 -0
  191. package/dist/ui/ConfigDashboard/index.jsx +122 -0
  192. package/dist/ui/DynamicModelSelect/index.js +6 -27
  193. package/dist/ui/DynamicModelSelect/index.js.map +1 -1
  194. package/dist/ui/DynamicModelSelect/index.jsx +6 -29
  195. package/dist/ui/DynamicProviderSelect/index.js +6 -27
  196. package/dist/ui/DynamicProviderSelect/index.js.map +1 -1
  197. package/dist/ui/DynamicProviderSelect/index.jsx +6 -29
  198. package/dist/ui/DynamicVoiceSelect/index.js +34 -83
  199. package/dist/ui/DynamicVoiceSelect/index.js.map +1 -1
  200. package/dist/ui/DynamicVoiceSelect/index.jsx +16 -53
  201. package/dist/ui/GlobalProviderOptions/index.d.ts +2 -0
  202. package/dist/ui/GlobalProviderOptions/index.js +118 -0
  203. package/dist/ui/GlobalProviderOptions/index.js.map +1 -0
  204. package/dist/ui/GlobalProviderOptions/index.jsx +60 -0
  205. package/dist/ui/Icons/Icons.js +1 -1
  206. package/dist/ui/Icons/Icons.js.map +1 -1
  207. package/dist/ui/Icons/Icons.jsx +1 -1
  208. package/dist/ui/Icons/LottieAnimation.js +1 -1
  209. package/dist/ui/Icons/LottieAnimation.js.map +1 -1
  210. package/dist/ui/Icons/LottieAnimation.jsx +1 -1
  211. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.d.ts +12 -0
  212. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js +166 -0
  213. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js.map +1 -0
  214. package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.jsx +83 -0
  215. package/dist/ui/InstructionProviderOptions/index.d.ts +2 -0
  216. package/dist/ui/InstructionProviderOptions/index.js +157 -0
  217. package/dist/ui/InstructionProviderOptions/index.js.map +1 -0
  218. package/dist/ui/InstructionProviderOptions/index.jsx +92 -0
  219. package/dist/ui/VoicesFetcher/index.js.map +1 -1
  220. package/dist/ui/hooks/useAISettings.d.ts +26 -0
  221. package/dist/ui/hooks/useAISettings.js +73 -0
  222. package/dist/ui/hooks/useAISettings.js.map +1 -0
  223. package/dist/ui/providerOptions/updateProviderOptionsValue.d.ts +6 -0
  224. package/dist/ui/providerOptions/updateProviderOptionsValue.js +50 -0
  225. package/dist/ui/providerOptions/updateProviderOptionsValue.js.map +1 -0
  226. package/dist/ui/shared/handleSelectChange.d.ts +5 -0
  227. package/dist/ui/shared/handleSelectChange.js +12 -0
  228. package/dist/ui/shared/handleSelectChange.js.map +1 -0
  229. package/dist/ui/shared/types.d.ts +11 -0
  230. package/dist/ui/shared/types.js +5 -0
  231. package/dist/ui/shared/types.js.map +1 -0
  232. package/dist/utilities/ai/resolveEffectiveInstructionSettings.d.ts +15 -0
  233. package/dist/utilities/ai/resolveEffectiveInstructionSettings.js +136 -0
  234. package/dist/utilities/ai/resolveEffectiveInstructionSettings.js.map +1 -0
  235. package/dist/{endpoints → utilities}/buildPromptUtils.js +14 -5
  236. package/dist/utilities/buildPromptUtils.js.map +1 -0
  237. package/dist/utilities/buildSmartPrompt.js +3 -3
  238. package/dist/utilities/buildSmartPrompt.js.map +1 -1
  239. package/dist/utilities/fields/fieldToJsonSchema.js.map +1 -0
  240. package/dist/utilities/fields/getFieldBySchemaPath.js.map +1 -0
  241. package/dist/utilities/fields/getFieldInfo.js.map +1 -0
  242. package/dist/utilities/{updateFieldsConfig.js → fields/updateFieldsConfig.js} +8 -3
  243. package/dist/utilities/fields/updateFieldsConfig.js.map +1 -0
  244. package/dist/utilities/images/extractImageData.js.map +1 -0
  245. package/dist/utilities/images/extractPromptAttachments.js.map +1 -0
  246. package/dist/utilities/{fetchImages.d.ts → images/fetchImages.d.ts} +1 -1
  247. package/dist/utilities/images/fetchImages.js +49 -0
  248. package/dist/utilities/images/fetchImages.js.map +1 -0
  249. package/dist/utilities/images/resolveImageReferences.js +183 -0
  250. package/dist/utilities/images/resolveImageReferences.js.map +1 -0
  251. package/dist/utilities/init/autoSetupProviders.d.ts +3 -0
  252. package/dist/utilities/init/autoSetupProviders.js +216 -0
  253. package/dist/utilities/init/autoSetupProviders.js.map +1 -0
  254. package/dist/utilities/lexical/editorSchemaValidator.js.map +1 -0
  255. package/dist/utilities/lexical/lexicalToHTML.js.map +1 -0
  256. package/dist/utilities/lexical/lexicalToPromptTemplate.d.ts +2 -0
  257. package/dist/utilities/lexical/lexicalToPromptTemplate.js +50 -0
  258. package/dist/utilities/lexical/lexicalToPromptTemplate.js.map +1 -0
  259. package/dist/utilities/lexical/setSafeLexicalState.js.map +1 -0
  260. package/dist/utilities/lexical/stringToLexicalJSON.d.ts +2 -0
  261. package/dist/utilities/lexical/stringToLexicalJSON.js +39 -0
  262. package/dist/utilities/lexical/stringToLexicalJSON.js.map +1 -0
  263. package/dist/utilities/sanitizeLog.d.ts +1 -0
  264. package/dist/utilities/sanitizeLog.js +39 -0
  265. package/dist/utilities/sanitizeLog.js.map +1 -0
  266. package/dist/utilities/seedProperties.js +37 -22
  267. package/dist/utilities/seedProperties.js.map +1 -1
  268. package/package.json +5 -2
  269. package/dist/ai/analyse.d.ts +0 -1
  270. package/dist/ai/analyse.js +0 -3
  271. package/dist/ai/analyse.js.map +0 -1
  272. package/dist/ai/index.d.ts +0 -11
  273. package/dist/ai/index.js +0 -25
  274. package/dist/ai/index.js.map +0 -1
  275. package/dist/ai/prompts.js.map +0 -1
  276. package/dist/ai/utils/filterEditorSchemaByNodes.js.map +0 -1
  277. package/dist/ai/utils/generateFileNameByPrompt.js.map +0 -1
  278. package/dist/ai/utils/isObjectSchema.js.map +0 -1
  279. package/dist/ai/utils/nodeToSchemaMap.js.map +0 -1
  280. package/dist/ai/utils/systemGenerate.js.map +0 -1
  281. package/dist/collections/AISettings.d.ts +0 -2
  282. package/dist/collections/AISettings.js.map +0 -1
  283. package/dist/endpoints/buildPromptUtils.js.map +0 -1
  284. package/dist/endpoints/chat.d.ts +0 -4
  285. package/dist/fields/PromptEditorField/PromptEditorField.d.ts +0 -3
  286. package/dist/fields/PromptEditorField/PromptEditorField.js +0 -217
  287. package/dist/fields/PromptEditorField/PromptEditorField.js.map +0 -1
  288. package/dist/fields/PromptEditorField/PromptEditorField.jsx +0 -160
  289. package/dist/ui/AIConfigDashboard/index.d.ts +0 -2
  290. package/dist/ui/AIConfigDashboard/index.js +0 -222
  291. package/dist/ui/AIConfigDashboard/index.js.map +0 -1
  292. package/dist/ui/AIConfigDashboard/index.jsx +0 -170
  293. package/dist/ui/ProviderOptionsEditor/index.d.ts +0 -7
  294. package/dist/ui/ProviderOptionsEditor/index.js +0 -291
  295. package/dist/ui/ProviderOptionsEditor/index.js.map +0 -1
  296. package/dist/ui/ProviderOptionsEditor/index.jsx +0 -210
  297. package/dist/utilities/editorSchemaValidator.js.map +0 -1
  298. package/dist/utilities/extractImageData.js.map +0 -1
  299. package/dist/utilities/extractPromptAttachments.js.map +0 -1
  300. package/dist/utilities/fetchImages.js +0 -38
  301. package/dist/utilities/fetchImages.js.map +0 -1
  302. package/dist/utilities/fieldToJsonSchema.js.map +0 -1
  303. package/dist/utilities/getFieldBySchemaPath.js.map +0 -1
  304. package/dist/utilities/getFieldInfo.js.map +0 -1
  305. package/dist/utilities/getProviderOptionsFields.d.ts +0 -16
  306. package/dist/utilities/getProviderOptionsFields.js +0 -80
  307. package/dist/utilities/getProviderOptionsFields.js.map +0 -1
  308. package/dist/utilities/isPluginActivated.d.ts +0 -2
  309. package/dist/utilities/isPluginActivated.js +0 -5
  310. package/dist/utilities/isPluginActivated.js.map +0 -1
  311. package/dist/utilities/lexicalToHTML.js.map +0 -1
  312. package/dist/utilities/resolveImageReferences.js +0 -167
  313. package/dist/utilities/resolveImageReferences.js.map +0 -1
  314. package/dist/utilities/schemaConverter.d.ts +0 -3
  315. package/dist/utilities/schemaConverter.js +0 -93
  316. package/dist/utilities/schemaConverter.js.map +0 -1
  317. package/dist/utilities/setSafeLexicalState.js.map +0 -1
  318. package/dist/utilities/updateFieldsConfig.js.map +0 -1
  319. /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.d.ts +0 -0
  320. /package/dist/ai/{utils → utilities}/filterEditorSchemaByNodes.js +0 -0
  321. /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.d.ts +0 -0
  322. /package/dist/ai/{utils → utilities}/generateFileNameByPrompt.js +0 -0
  323. /package/dist/ai/{utils → utilities}/isObjectSchema.d.ts +0 -0
  324. /package/dist/ai/{utils → utilities}/isObjectSchema.js +0 -0
  325. /package/dist/ai/{utils → utilities}/nodeToSchemaMap.d.ts +0 -0
  326. /package/dist/ai/{utils → utilities}/nodeToSchemaMap.js +0 -0
  327. /package/dist/ai/{prompts.js → utilities/prompts.js} +0 -0
  328. /package/dist/ai/{utils → utilities}/systemGenerate.d.ts +0 -0
  329. /package/dist/ai/{utils → utilities}/systemGenerate.js +0 -0
  330. /package/dist/ui/Icons/{icons.module.css → icons.module.scss} +0 -0
  331. /package/dist/{endpoints → utilities}/buildPromptUtils.d.ts +0 -0
  332. /package/dist/utilities/{fieldToJsonSchema.d.ts → fields/fieldToJsonSchema.d.ts} +0 -0
  333. /package/dist/utilities/{fieldToJsonSchema.js → fields/fieldToJsonSchema.js} +0 -0
  334. /package/dist/utilities/{getFieldBySchemaPath.d.ts → fields/getFieldBySchemaPath.d.ts} +0 -0
  335. /package/dist/utilities/{getFieldBySchemaPath.js → fields/getFieldBySchemaPath.js} +0 -0
  336. /package/dist/utilities/{getFieldInfo.d.ts → fields/getFieldInfo.d.ts} +0 -0
  337. /package/dist/utilities/{getFieldInfo.js → fields/getFieldInfo.js} +0 -0
  338. /package/dist/utilities/{updateFieldsConfig.d.ts → fields/updateFieldsConfig.d.ts} +0 -0
  339. /package/dist/utilities/{extractImageData.d.ts → images/extractImageData.d.ts} +0 -0
  340. /package/dist/utilities/{extractImageData.js → images/extractImageData.js} +0 -0
  341. /package/dist/utilities/{extractPromptAttachments.d.ts → images/extractPromptAttachments.d.ts} +0 -0
  342. /package/dist/utilities/{extractPromptAttachments.js → images/extractPromptAttachments.js} +0 -0
  343. /package/dist/utilities/{resolveImageReferences.d.ts → images/resolveImageReferences.d.ts} +0 -0
  344. /package/dist/utilities/{editorSchemaValidator.d.ts → lexical/editorSchemaValidator.d.ts} +0 -0
  345. /package/dist/utilities/{editorSchemaValidator.js → lexical/editorSchemaValidator.js} +0 -0
  346. /package/dist/utilities/{lexicalToHTML.d.ts → lexical/lexicalToHTML.d.ts} +0 -0
  347. /package/dist/utilities/{lexicalToHTML.js → lexical/lexicalToHTML.js} +0 -0
  348. /package/dist/utilities/{setSafeLexicalState.d.ts → lexical/setSafeLexicalState.d.ts} +0 -0
  349. /package/dist/utilities/{setSafeLexicalState.js → lexical/setSafeLexicalState.js} +0 -0
@@ -1,34 +1,6 @@
1
1
  import { OpenAIIcon } from '../icons.js';
2
2
  export const openaiBlock = {
3
3
  slug: 'openai',
4
- custom: {
5
- providerOptionsSchemas: {
6
- image: {
7
- fields: [
8
- 'quality',
9
- 'style'
10
- ]
11
- },
12
- text: {
13
- fields: [
14
- 'temperature',
15
- 'max_tokens',
16
- 'top_p',
17
- 'frequency_penalty',
18
- 'presence_penalty',
19
- 'seed',
20
- 'logitBias'
21
- ]
22
- },
23
- tts: {
24
- fields: [
25
- 'speed',
26
- 'response_format',
27
- 'instructions'
28
- ]
29
- }
30
- }
31
- },
32
4
  fields: [
33
5
  {
34
6
  type: 'tabs',
@@ -222,178 +194,6 @@ export const openaiBlock = {
222
194
  ],
223
195
  label: 'Voices'
224
196
  },
225
- // 4. Provider Options (NEW - One group per use case)
226
- {
227
- fields: [
228
- // TTS Provider Options
229
- {
230
- name: 'ttsProviderOptions',
231
- type: 'group',
232
- admin: {
233
- description: 'Default provider options for TTS models. Users can override these per field.'
234
- },
235
- fields: [
236
- {
237
- name: 'speed',
238
- type: 'number',
239
- defaultValue: 1.0,
240
- label: 'Default Speed',
241
- max: 4,
242
- min: 0.25
243
- },
244
- {
245
- name: 'response_format',
246
- type: 'select',
247
- dbName: "openai-tts-response_format",
248
- defaultValue: 'mp3',
249
- label: 'Default Response Format',
250
- options: [
251
- {
252
- label: 'MP3',
253
- value: 'mp3'
254
- },
255
- {
256
- label: 'Opus',
257
- value: 'opus'
258
- },
259
- {
260
- label: 'AAC',
261
- value: 'aac'
262
- },
263
- {
264
- label: 'FLAC',
265
- value: 'flac'
266
- },
267
- {
268
- label: 'WAV',
269
- value: 'wav'
270
- },
271
- {
272
- label: 'PCM',
273
- value: 'pcm'
274
- }
275
- ]
276
- },
277
- {
278
- name: 'instructions',
279
- type: 'textarea',
280
- admin: {
281
- placeholder: 'Optional default voice instructions'
282
- },
283
- label: 'Default Instructions'
284
- }
285
- ],
286
- label: 'TTS Provider Options'
287
- },
288
- // Image Provider Options
289
- {
290
- name: 'imageProviderOptions',
291
- type: 'group',
292
- admin: {
293
- description: 'Default provider options for image generation models.'
294
- },
295
- fields: [
296
- {
297
- name: 'quality',
298
- type: 'select',
299
- dbName: 'openai-image-quality',
300
- defaultValue: 'standard',
301
- label: 'Default Quality',
302
- options: [
303
- {
304
- label: 'Standard',
305
- value: 'standard'
306
- },
307
- {
308
- label: 'HD',
309
- value: 'hd'
310
- }
311
- ]
312
- },
313
- {
314
- name: 'style',
315
- type: 'select',
316
- dbName: 'openai-image-style',
317
- defaultValue: 'vivid',
318
- label: 'Default Style',
319
- options: [
320
- {
321
- label: 'Vivid',
322
- value: 'vivid'
323
- },
324
- {
325
- label: 'Natural',
326
- value: 'natural'
327
- }
328
- ]
329
- }
330
- ],
331
- label: 'Image Provider Options'
332
- },
333
- // Text Provider Options
334
- {
335
- name: 'textProviderOptions',
336
- type: 'group',
337
- admin: {
338
- description: 'Default provider options for text generation models.'
339
- },
340
- fields: [
341
- {
342
- name: 'temperature',
343
- type: 'number',
344
- defaultValue: 1.0,
345
- label: 'Default Temperature',
346
- max: 2,
347
- min: 0
348
- },
349
- {
350
- name: 'max_tokens',
351
- type: 'number',
352
- label: 'Default Max Tokens'
353
- },
354
- {
355
- name: 'top_p',
356
- type: 'number',
357
- defaultValue: 1.0,
358
- label: 'Default Top P',
359
- max: 1,
360
- min: 0
361
- },
362
- {
363
- name: 'frequency_penalty',
364
- type: 'number',
365
- defaultValue: 0,
366
- label: 'Default Frequency Penalty',
367
- max: 2,
368
- min: -2
369
- },
370
- {
371
- name: 'presence_penalty',
372
- type: 'number',
373
- defaultValue: 0,
374
- label: 'Default Presence Penalty',
375
- max: 2,
376
- min: -2
377
- },
378
- {
379
- name: 'seed',
380
- type: 'number',
381
- label: 'Default Seed'
382
- },
383
- {
384
- name: 'logitBias',
385
- type: 'json',
386
- admin: {
387
- description: 'Modify likelihood of tokens (JSON object mapping token IDs to bias).'
388
- },
389
- label: 'Default Logit Bias'
390
- }
391
- ],
392
- label: 'Text Provider Options'
393
- }
394
- ],
395
- label: 'Provider Options'
396
- },
397
197
  // 5. Models (SIMPLIFIED - no per-model settings)
398
198
  {
399
199
  fields: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/ai/providers/blocks/openai.ts"],"sourcesContent":["import type { Block } from 'payload'\n\n\nimport { OpenAIIcon } from '../icons.js'\n\nexport const openaiBlock: Block = {\n slug: 'openai',\n custom: {\n providerOptionsSchemas: {\n image: {\n fields: ['quality', 'style'],\n },\n text: {\n fields: [\n 'temperature',\n 'max_tokens',\n 'top_p',\n 'frequency_penalty',\n 'presence_penalty',\n 'seed',\n 'logitBias',\n ],\n },\n tts: {\n fields: ['speed', 'response_format', 'instructions'],\n },\n },\n },\n fields: [\n {\n type: 'tabs',\n tabs: [\n // 1. Setup tab\n {\n fields: [\n {\n name: 'enabled',\n type: 'checkbox',\n defaultValue: true,\n label: 'Enabled',\n },\n {\n name: 'apiKey',\n type: 'text',\n admin: {\n components: {\n Field: '@ai-stack/payloadcms/client#EncryptedTextField',\n },\n description:\n 'Optional. If empty, @ai-sdk/openai will use the OPENAI_API_KEY environment variable.',\n },\n label: 'API Key',\n required: false,\n },\n ],\n label: 'Setup',\n },\n\n // 2. Connection tab\n {\n fields: [\n {\n type: 'collapsible',\n admin: {\n initCollapsed: false,\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'baseURL',\n type: 'text',\n admin: {\n description:\n 'Optional. Override default API endpoint (defaults to https://api.openai.com/v1).',\n },\n defaultValue: 'https://api.openai.com/v1',\n label: 'Base URL',\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'organization',\n type: 'text',\n admin: {\n description:\n 'Optional. OpenAI organization ID for billing and access control.',\n },\n label: 'Organization ID',\n },\n {\n name: 'project',\n type: 'text',\n admin: {\n description: 'Optional. OpenAI project ID for organization-level access.',\n },\n label: 'Project ID',\n },\n ],\n },\n {\n name: 'headers',\n type: 'array',\n admin: {\n description:\n 'Optional. Extra headers to send with every request, for example routing through a proxy.',\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'key',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Header Name',\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Header Value',\n required: true,\n },\n ],\n },\n ],\n label: 'Custom Headers',\n },\n ],\n label: 'API & Network Settings',\n },\n ],\n label: 'Connection',\n },\n\n // 3. Voices tab (NEW)\n {\n fields: [\n {\n name: 'voices',\n type: 'array',\n admin: {\n description: 'Available voices for Text-to-Speech models. You can add custom voices here.',\n initCollapsed: false,\n },\n defaultValue: [\n { id: 'alloy', name: 'Alloy', enabled: true },\n { id: 'echo', name: 'Echo', enabled: true },\n { id: 'fable', name: 'Fable', enabled: true },\n { id: 'onyx', name: 'Onyx', enabled: true },\n { id: 'nova', name: 'Nova', enabled: true },\n { id: 'shimmer', name: 'Shimmer', enabled: true },\n ],\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'id',\n type: 'text',\n admin: {\n description: 'Voice ID as used by OpenAI API',\n width: '40%',\n },\n label: 'Voice ID',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n admin: {\n width: '40%',\n },\n label: 'Display Name',\n required: true,\n },\n {\n name: 'enabled',\n type: 'checkbox',\n admin: {\n width: '20%',\n },\n defaultValue: true,\n label: 'Enabled',\n },\n ],\n },\n ],\n label: 'Available Voices',\n },\n ],\n label: 'Voices',\n },\n\n // 4. Provider Options (NEW - One group per use case)\n {\n fields: [\n // TTS Provider Options\n {\n name: 'ttsProviderOptions',\n type: 'group',\n admin: {\n description: 'Default provider options for TTS models. Users can override these per field.',\n },\n fields: [\n {\n name: 'speed',\n type: 'number',\n defaultValue: 1.0,\n label: 'Default Speed',\n max: 4,\n min: 0.25,\n },\n {\n name: 'response_format',\n type: 'select',\n dbName: \"openai-tts-response_format\",\n defaultValue: 'mp3',\n label: 'Default Response Format',\n options: [\n { label: 'MP3', value: 'mp3' },\n { label: 'Opus', value: 'opus' },\n { label: 'AAC', value: 'aac' },\n { label: 'FLAC', value: 'flac' },\n { label: 'WAV', value: 'wav' },\n { label: 'PCM', value: 'pcm' },\n ],\n },\n {\n name: 'instructions',\n type: 'textarea',\n admin: {\n placeholder: 'Optional default voice instructions',\n },\n label: 'Default Instructions',\n },\n ],\n label: 'TTS Provider Options',\n },\n\n // Image Provider Options\n {\n name: 'imageProviderOptions',\n type: 'group',\n admin: {\n description: 'Default provider options for image generation models.',\n },\n fields: [\n {\n name: 'quality',\n type: 'select',\n dbName: 'openai-image-quality',\n defaultValue: 'standard',\n label: 'Default Quality',\n options: [\n { label: 'Standard', value: 'standard' },\n { label: 'HD', value: 'hd' },\n ],\n },\n {\n name: 'style',\n type: 'select',\n dbName: 'openai-image-style',\n defaultValue: 'vivid',\n label: 'Default Style',\n options: [\n { label: 'Vivid', value: 'vivid' },\n { label: 'Natural', value: 'natural' },\n ],\n },\n ],\n label: 'Image Provider Options',\n },\n\n // Text Provider Options\n {\n name: 'textProviderOptions',\n type: 'group',\n admin: {\n description: 'Default provider options for text generation models.',\n },\n fields: [\n {\n name: 'temperature',\n type: 'number',\n defaultValue: 1.0,\n label: 'Default Temperature',\n max: 2,\n min: 0,\n },\n {\n name: 'max_tokens',\n type: 'number',\n label: 'Default Max Tokens',\n },\n {\n name: 'top_p',\n type: 'number',\n defaultValue: 1.0,\n label: 'Default Top P',\n max: 1,\n min: 0,\n },\n {\n name: 'frequency_penalty',\n type: 'number',\n defaultValue: 0,\n label: 'Default Frequency Penalty',\n max: 2,\n min: -2,\n },\n {\n name: 'presence_penalty',\n type: 'number',\n defaultValue: 0,\n label: 'Default Presence Penalty',\n max: 2,\n min: -2,\n },\n {\n name: 'seed',\n type: 'number',\n label: 'Default Seed',\n },\n {\n name: 'logitBias',\n type: 'json',\n admin: {\n description: 'Modify likelihood of tokens (JSON object mapping token IDs to bias).',\n },\n label: 'Default Logit Bias',\n },\n ],\n label: 'Text Provider Options',\n },\n ],\n label: 'Provider Options',\n },\n\n // 5. Models (SIMPLIFIED - no per-model settings)\n {\n fields: [\n {\n name: 'models',\n type: 'array',\n admin: {\n components: {\n RowLabel: '@ai-stack/payloadcms/client#ModelRowLabel',\n },\n description: 'Keep this list short. Enable only the models you actually use.',\n initCollapsed: true,\n },\n label: 'Available Models',\n labels: {\n plural: 'Models',\n singular: 'Model',\n },\n // Curated models for content creation platforms\n defaultValue: [\n // ===== Text Generation =====\n {\n id: 'gpt-5',\n name: 'GPT-5 (Latest Flagship)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-5-mini',\n name: 'GPT-5 Mini (Fast & Efficient)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'chatgpt-4o-latest',\n name: 'ChatGPT-4o (Always Updated)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-4o',\n name: 'GPT-4o (Multimodal)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-4o-mini',\n name: 'GPT-4o Mini (Best Value)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-4-turbo',\n name: 'GPT-4 Turbo',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n\n // ===== Image Generation =====\n {\n id: 'gpt-image-1',\n name: 'GPT Image 1 (Latest)',\n enabled: true,\n useCase: 'image',\n },\n {\n id: 'dall-e-3',\n name: 'DALL-E 3',\n enabled: true,\n useCase: 'image',\n },\n\n // ===== Audio =====\n {\n id: 'tts-1-hd',\n name: 'TTS HD (Text-to-Speech)',\n enabled: true,\n responseModalities: ['AUDIO'],\n useCase: 'tts',\n },\n ],\n fields: [\n // Basic model info\n {\n type: 'row',\n fields: [\n {\n name: 'id',\n type: 'text',\n admin: {\n description:\n 'Exact model id as used with @ai-sdk/openai, for example gpt-4o.',\n width: '33%',\n },\n label: 'Model ID',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n admin: {\n width: '33%',\n },\n label: 'Display Name',\n required: true,\n },\n {\n name: 'useCase',\n type: 'select',\n admin: {\n width: '33%',\n },\n dbName: 'openai-model-useCase',\n defaultValue: 'text',\n label: 'Use Case',\n options: [\n { label: 'Text', value: 'text' },\n { label: 'Image Generation', value: 'image' },\n { label: 'Text-to-Speech', value: 'tts' },\n { label: 'Embeddings', value: 'embedding' },\n ],\n },\n ],\n },\n // Response modalities and enabled checkbox\n {\n name: 'responseModalities',\n type: 'select',\n admin: {\n description: 'Output capabilities of this model',\n width: '50%',\n },\n dbName: 'openai-model-modalities',\n hasMany: true,\n label: 'Response Modalities',\n options: [\n { label: 'Text', value: 'TEXT' },\n { label: 'Image', value: 'IMAGE' },\n { label: 'Audio', value: 'AUDIO' },\n ],\n },\n {\n name: 'enabled',\n type: 'checkbox',\n admin: {\n width: '50%',\n },\n defaultValue: true,\n label: 'Enabled',\n },\n ],\n },\n ],\n label: 'Models',\n },\n ],\n },\n ],\n imageURL: OpenAIIcon,\n labels: {\n plural: 'OpenAI Providers',\n singular: 'OpenAI',\n },\n}\n"],"names":["OpenAIIcon","openaiBlock","slug","custom","providerOptionsSchemas","image","fields","text","tts","type","tabs","name","defaultValue","label","admin","components","Field","description","required","initCollapsed","width","id","enabled","max","min","dbName","options","value","placeholder","RowLabel","labels","plural","singular","responseModalities","useCase","hasMany","imageURL"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/ai/providers/blocks/openai.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport { OpenAIIcon } from '../icons.js'\n\nexport const openaiBlock: Block = {\n slug: 'openai',\n\n fields: [\n {\n type: 'tabs',\n tabs: [\n // 1. Setup tab\n {\n fields: [\n {\n name: 'enabled',\n type: 'checkbox',\n defaultValue: true,\n label: 'Enabled',\n },\n {\n name: 'apiKey',\n type: 'text',\n admin: {\n components: {\n Field: '@ai-stack/payloadcms/client#EncryptedTextField',\n },\n description:\n 'Optional. If empty, @ai-sdk/openai will use the OPENAI_API_KEY environment variable.',\n },\n label: 'API Key',\n required: false,\n },\n ],\n label: 'Setup',\n },\n\n // 2. Connection tab\n {\n fields: [\n {\n type: 'collapsible',\n admin: {\n initCollapsed: false,\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'baseURL',\n type: 'text',\n admin: {\n description:\n 'Optional. Override default API endpoint (defaults to https://api.openai.com/v1).',\n },\n defaultValue: 'https://api.openai.com/v1',\n label: 'Base URL',\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'organization',\n type: 'text',\n admin: {\n description:\n 'Optional. OpenAI organization ID for billing and access control.',\n },\n label: 'Organization ID',\n },\n {\n name: 'project',\n type: 'text',\n admin: {\n description: 'Optional. OpenAI project ID for organization-level access.',\n },\n label: 'Project ID',\n },\n ],\n },\n {\n name: 'headers',\n type: 'array',\n admin: {\n description:\n 'Optional. Extra headers to send with every request, for example routing through a proxy.',\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'key',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Header Name',\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Header Value',\n required: true,\n },\n ],\n },\n ],\n label: 'Custom Headers',\n },\n ],\n label: 'API & Network Settings',\n },\n ],\n label: 'Connection',\n },\n\n // 3. Voices tab (NEW)\n {\n fields: [\n {\n name: 'voices',\n type: 'array',\n admin: {\n description:\n 'Available voices for Text-to-Speech models. You can add custom voices here.',\n initCollapsed: false,\n },\n defaultValue: [\n { id: 'alloy', name: 'Alloy', enabled: true },\n { id: 'echo', name: 'Echo', enabled: true },\n { id: 'fable', name: 'Fable', enabled: true },\n { id: 'onyx', name: 'Onyx', enabled: true },\n { id: 'nova', name: 'Nova', enabled: true },\n { id: 'shimmer', name: 'Shimmer', enabled: true },\n ],\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'id',\n type: 'text',\n admin: {\n description: 'Voice ID as used by OpenAI API',\n width: '40%',\n },\n label: 'Voice ID',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n admin: {\n width: '40%',\n },\n label: 'Display Name',\n required: true,\n },\n {\n name: 'enabled',\n type: 'checkbox',\n admin: {\n width: '20%',\n },\n defaultValue: true,\n label: 'Enabled',\n },\n ],\n },\n ],\n label: 'Available Voices',\n },\n ],\n label: 'Voices',\n },\n\n // 5. Models (SIMPLIFIED - no per-model settings)\n {\n fields: [\n {\n name: 'models',\n type: 'array',\n admin: {\n components: {\n RowLabel: '@ai-stack/payloadcms/client#ModelRowLabel',\n },\n description: 'Keep this list short. Enable only the models you actually use.',\n initCollapsed: true,\n },\n label: 'Available Models',\n labels: {\n plural: 'Models',\n singular: 'Model',\n },\n // Curated models for content creation platforms\n defaultValue: [\n // ===== Text Generation =====\n {\n id: 'gpt-5',\n name: 'GPT-5 (Latest Flagship)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-5-mini',\n name: 'GPT-5 Mini (Fast & Efficient)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'chatgpt-4o-latest',\n name: 'ChatGPT-4o (Always Updated)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-4o',\n name: 'GPT-4o (Multimodal)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-4o-mini',\n name: 'GPT-4o Mini (Best Value)',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n {\n id: 'gpt-4-turbo',\n name: 'GPT-4 Turbo',\n enabled: true,\n responseModalities: ['TEXT'],\n useCase: 'text',\n },\n\n // ===== Image Generation =====\n {\n id: 'gpt-image-1',\n name: 'GPT Image 1 (Latest)',\n enabled: true,\n useCase: 'image',\n },\n {\n id: 'dall-e-3',\n name: 'DALL-E 3',\n enabled: true,\n useCase: 'image',\n },\n\n // ===== Audio =====\n {\n id: 'tts-1-hd',\n name: 'TTS HD (Text-to-Speech)',\n enabled: true,\n responseModalities: ['AUDIO'],\n useCase: 'tts',\n },\n ],\n fields: [\n // Basic model info\n {\n type: 'row',\n fields: [\n {\n name: 'id',\n type: 'text',\n admin: {\n description:\n 'Exact model id as used with @ai-sdk/openai, for example gpt-4o.',\n width: '33%',\n },\n label: 'Model ID',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n admin: {\n width: '33%',\n },\n label: 'Display Name',\n required: true,\n },\n {\n name: 'useCase',\n type: 'select',\n admin: {\n width: '33%',\n },\n dbName: 'openai-model-useCase',\n defaultValue: 'text',\n label: 'Use Case',\n options: [\n { label: 'Text', value: 'text' },\n { label: 'Image Generation', value: 'image' },\n { label: 'Text-to-Speech', value: 'tts' },\n { label: 'Embeddings', value: 'embedding' },\n ],\n },\n ],\n },\n // Response modalities and enabled checkbox\n {\n name: 'responseModalities',\n type: 'select',\n admin: {\n description: 'Output capabilities of this model',\n width: '50%',\n },\n dbName: 'openai-model-modalities',\n hasMany: true,\n label: 'Response Modalities',\n options: [\n { label: 'Text', value: 'TEXT' },\n { label: 'Image', value: 'IMAGE' },\n { label: 'Audio', value: 'AUDIO' },\n ],\n },\n {\n name: 'enabled',\n type: 'checkbox',\n admin: {\n width: '50%',\n },\n defaultValue: true,\n label: 'Enabled',\n },\n ],\n },\n ],\n label: 'Models',\n },\n ],\n },\n ],\n imageURL: OpenAIIcon,\n labels: {\n plural: 'OpenAI Providers',\n singular: 'OpenAI',\n },\n}\n"],"names":["OpenAIIcon","openaiBlock","slug","fields","type","tabs","name","defaultValue","label","admin","components","Field","description","required","initCollapsed","width","id","enabled","RowLabel","labels","plural","singular","responseModalities","useCase","dbName","options","value","hasMany","imageURL"],"mappings":"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"}
@@ -29,59 +29,6 @@ export const xaiBlock = {
29
29
  ],
30
30
  label: 'Setup'
31
31
  },
32
- // 2. Provider Options tab
33
- {
34
- fields: [
35
- {
36
- name: 'textProviderOptions',
37
- type: 'group',
38
- admin: {
39
- description: 'Default provider options for text generation models.'
40
- },
41
- fields: [
42
- {
43
- name: 'temperature',
44
- type: 'number',
45
- defaultValue: 1.0,
46
- label: 'Default Temperature',
47
- max: 2.0,
48
- min: 0.0
49
- },
50
- {
51
- name: 'max_tokens',
52
- type: 'number',
53
- label: 'Max Tokens'
54
- },
55
- {
56
- name: 'top_p',
57
- type: 'number',
58
- defaultValue: 1.0,
59
- label: 'Top P',
60
- max: 1.0,
61
- min: 0.0
62
- },
63
- {
64
- name: 'frequency_penalty',
65
- type: 'number',
66
- defaultValue: 0,
67
- label: 'Frequency Penalty',
68
- max: 2,
69
- min: -2
70
- },
71
- {
72
- name: 'presence_penalty',
73
- type: 'number',
74
- defaultValue: 0,
75
- label: 'Presence Penalty',
76
- max: 2,
77
- min: -2
78
- }
79
- ],
80
- label: 'Text Provider Options'
81
- }
82
- ],
83
- label: 'Provider Options'
84
- },
85
32
  // 3. Models tab
86
33
  {
87
34
  fields: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/ai/providers/blocks/xai.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport { XAIIcon } from '../icons.js'\n\nexport const xaiBlock: Block = {\n slug: 'xai',\n fields: [\n {\n type: 'tabs',\n tabs: [\n // 1. Setup tab\n {\n fields: [\n {\n name: 'enabled',\n type: 'checkbox',\n defaultValue: true,\n label: 'Enabled',\n },\n {\n name: 'apiKey',\n type: 'text',\n admin: {\n components: {\n Field: '@ai-stack/payloadcms/client#EncryptedTextField',\n },\n description: 'Your xAI API key. Will be encrypted in the database.',\n },\n label: 'API Key',\n required: true,\n },\n ],\n label: 'Setup',\n },\n\n // 2. Provider Options tab\n {\n fields: [\n {\n name: 'textProviderOptions',\n type: 'group',\n admin: {\n description: 'Default provider options for text generation models.',\n },\n fields: [\n {\n name: 'temperature',\n type: 'number',\n defaultValue: 1.0,\n label: 'Default Temperature',\n max: 2.0,\n min: 0.0,\n },\n {\n name: 'max_tokens',\n type: 'number',\n label: 'Max Tokens',\n },\n {\n name: 'top_p',\n type: 'number',\n defaultValue: 1.0,\n label: 'Top P',\n max: 1.0,\n min: 0.0,\n },\n {\n name: 'frequency_penalty',\n type: 'number',\n defaultValue: 0,\n label: 'Frequency Penalty',\n max: 2,\n min: -2,\n },\n {\n name: 'presence_penalty',\n type: 'number',\n defaultValue: 0,\n label: 'Presence Penalty',\n max: 2,\n min: -2,\n },\n ],\n label: 'Text Provider Options',\n },\n ],\n label: 'Provider Options',\n },\n\n // 3. Models tab\n {\n fields: [\n {\n name: 'models',\n type: 'array',\n admin: {\n components: {\n RowLabel: '@ai-stack/payloadcms/client#ModelRowLabel',\n },\n initCollapsed: true,\n },\n defaultValue: [\n { id: 'grok-4', name: 'Grok 4', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-3', name: 'Grok 3', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-3-fast', name: 'Grok 3 Fast', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-2-1212', name: 'Grok 2', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-2-vision-1212', name: 'Grok 2 Vision', enabled: true, responseModalities: ['TEXT'], useCase: 'image' },\n { id: 'grok-vision-beta', name: 'Grok Vision Beta', enabled: true, responseModalities: ['TEXT'], useCase: 'image' },\n ],\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'id',\n type: 'text',\n admin: { width: '33%' },\n label: 'Model ID',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n admin: { width: '33%' },\n label: 'Display Name',\n required: true,\n },\n {\n name: 'useCase',\n type: 'select',\n admin: { width: '33%' },\n dbName: 'xai-model-useCase',\n label: 'Use Case',\n options: [\n { label: 'Text Generation', value: 'text' },\n { label: 'Image Generation', value: 'image' },\n ],\n required: true,\n },\n ],\n },\n {\n name: 'responseModalities',\n type: 'select',\n admin: {\n description: 'Output capabilities of this model',\n width: '50%',\n },\n dbName: 'xai-model-modalities',\n hasMany: true,\n label: 'Response Modalities',\n options: [\n { label: 'Text', value: 'TEXT' },\n { label: 'Image', value: 'IMAGE' },\n { label: 'Audio', value: 'AUDIO' },\n ],\n },\n {\n name: 'enabled',\n type: 'checkbox',\n admin: {\n width: '50%',\n },\n defaultValue: true,\n label: 'Enabled',\n },\n ],\n label: 'Available Models',\n },\n ],\n label: 'Models',\n },\n ],\n },\n ],\n imageURL: XAIIcon,\n labels: {\n plural: 'xAI Providers',\n singular: 'xAI Grok',\n },\n}\n\n"],"names":["XAIIcon","xaiBlock","slug","fields","type","tabs","name","defaultValue","label","admin","components","Field","description","required","max","min","RowLabel","initCollapsed","id","enabled","responseModalities","useCase","width","dbName","options","value","hasMany","imageURL","labels","plural","singular"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/ai/providers/blocks/xai.ts"],"sourcesContent":["import type { Block } from 'payload'\n\nimport { XAIIcon } from '../icons.js'\n\nexport const xaiBlock: Block = {\n slug: 'xai',\n fields: [\n {\n type: 'tabs',\n tabs: [\n // 1. Setup tab\n {\n fields: [\n {\n name: 'enabled',\n type: 'checkbox',\n defaultValue: true,\n label: 'Enabled',\n },\n {\n name: 'apiKey',\n type: 'text',\n admin: {\n components: {\n Field: '@ai-stack/payloadcms/client#EncryptedTextField',\n },\n description: 'Your xAI API key. Will be encrypted in the database.',\n },\n label: 'API Key',\n required: true,\n },\n ],\n label: 'Setup',\n },\n\n // 3. Models tab\n {\n fields: [\n {\n name: 'models',\n type: 'array',\n admin: {\n components: {\n RowLabel: '@ai-stack/payloadcms/client#ModelRowLabel',\n },\n initCollapsed: true,\n },\n defaultValue: [\n { id: 'grok-4', name: 'Grok 4', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-3', name: 'Grok 3', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-3-fast', name: 'Grok 3 Fast', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-2-1212', name: 'Grok 2', enabled: true, responseModalities: ['TEXT'], useCase: 'text' },\n { id: 'grok-2-vision-1212', name: 'Grok 2 Vision', enabled: true, responseModalities: ['TEXT'], useCase: 'image' },\n { id: 'grok-vision-beta', name: 'Grok Vision Beta', enabled: true, responseModalities: ['TEXT'], useCase: 'image' },\n ],\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'id',\n type: 'text',\n admin: { width: '33%' },\n label: 'Model ID',\n required: true,\n },\n {\n name: 'name',\n type: 'text',\n admin: { width: '33%' },\n label: 'Display Name',\n required: true,\n },\n {\n name: 'useCase',\n type: 'select',\n admin: { width: '33%' },\n dbName: 'xai-model-useCase',\n label: 'Use Case',\n options: [\n { label: 'Text Generation', value: 'text' },\n { label: 'Image Generation', value: 'image' },\n ],\n required: true,\n },\n ],\n },\n {\n name: 'responseModalities',\n type: 'select',\n admin: {\n description: 'Output capabilities of this model',\n width: '50%',\n },\n dbName: 'xai-model-modalities',\n hasMany: true,\n label: 'Response Modalities',\n options: [\n { label: 'Text', value: 'TEXT' },\n { label: 'Image', value: 'IMAGE' },\n { label: 'Audio', value: 'AUDIO' },\n ],\n },\n {\n name: 'enabled',\n type: 'checkbox',\n admin: {\n width: '50%',\n },\n defaultValue: true,\n label: 'Enabled',\n },\n ],\n label: 'Available Models',\n },\n ],\n label: 'Models',\n },\n ],\n },\n ],\n imageURL: XAIIcon,\n labels: {\n plural: 'xAI Providers',\n singular: 'xAI Grok',\n },\n}\n"],"names":["XAIIcon","xaiBlock","slug","fields","type","tabs","name","defaultValue","label","admin","components","Field","description","required","RowLabel","initCollapsed","id","enabled","responseModalities","useCase","width","dbName","options","value","hasMany","imageURL","labels","plural","singular"],"mappings":"AAEA,SAASA,OAAO,QAAQ,cAAa;AAErC,OAAO,MAAMC,WAAkB;IAC7BC,MAAM;IACNC,QAAQ;QACN;YACEC,MAAM;YACNC,MAAM;gBACJ,eAAe;gBACf;oBACEF,QAAQ;wBACN;4BACEG,MAAM;4BACNF,MAAM;4BACNG,cAAc;4BACdC,OAAO;wBACT;wBACA;4BACEF,MAAM;4BACNF,MAAM;4BACNK,OAAO;gCACLC,YAAY;oCACVC,OAAO;gCACT;gCACAC,aAAa;4BACf;4BACAJ,OAAO;4BACPK,UAAU;wBACZ;qBACD;oBACDL,OAAO;gBACT;gBAEA,gBAAgB;gBAChB;oBACEL,QAAQ;wBACN;4BACEG,MAAM;4BACNF,MAAM;4BACNK,OAAO;gCACLC,YAAY;oCACVI,UAAU;gCACZ;gCACAC,eAAe;4BACjB;4BACAR,cAAc;gCACZ;oCAAES,IAAI;oCAAUV,MAAM;oCAAUW,SAAS;oCAAMC,oBAAoB;wCAAC;qCAAO;oCAAEC,SAAS;gCAAO;gCAC7F;oCAAEH,IAAI;oCAAUV,MAAM;oCAAUW,SAAS;oCAAMC,oBAAoB;wCAAC;qCAAO;oCAAEC,SAAS;gCAAO;gCAC7F;oCAAEH,IAAI;oCAAeV,MAAM;oCAAeW,SAAS;oCAAMC,oBAAoB;wCAAC;qCAAO;oCAAEC,SAAS;gCAAO;gCACvG;oCAAEH,IAAI;oCAAeV,MAAM;oCAAUW,SAAS;oCAAMC,oBAAoB;wCAAC;qCAAO;oCAAEC,SAAS;gCAAO;gCAClG;oCAAEH,IAAI;oCAAsBV,MAAM;oCAAiBW,SAAS;oCAAMC,oBAAoB;wCAAC;qCAAO;oCAAEC,SAAS;gCAAQ;gCACjH;oCAAEH,IAAI;oCAAoBV,MAAM;oCAAoBW,SAAS;oCAAMC,oBAAoB;wCAAC;qCAAO;oCAAEC,SAAS;gCAAQ;6BACnH;4BACDhB,QAAQ;gCACN;oCACEC,MAAM;oCACND,QAAQ;wCACN;4CACEG,MAAM;4CACNF,MAAM;4CACNK,OAAO;gDAAEW,OAAO;4CAAM;4CACtBZ,OAAO;4CACPK,UAAU;wCACZ;wCACA;4CACEP,MAAM;4CACNF,MAAM;4CACNK,OAAO;gDAAEW,OAAO;4CAAM;4CACtBZ,OAAO;4CACPK,UAAU;wCACZ;wCACA;4CACEP,MAAM;4CACNF,MAAM;4CACNK,OAAO;gDAAEW,OAAO;4CAAM;4CACtBC,QAAQ;4CACRb,OAAO;4CACPc,SAAS;gDACP;oDAAEd,OAAO;oDAAmBe,OAAO;gDAAO;gDAC1C;oDAAEf,OAAO;oDAAoBe,OAAO;gDAAQ;6CAC7C;4CACDV,UAAU;wCACZ;qCACD;gCACH;gCACA;oCACEP,MAAM;oCACNF,MAAM;oCACNK,OAAO;wCACLG,aAAa;wCACbQ,OAAO;oCACT;oCACAC,QAAQ;oCACRG,SAAS;oCACThB,OAAO;oCACPc,SAAS;wCACP;4CAAEd,OAAO;4CAAQe,OAAO;wCAAO;wCAC/B;4CAAEf,OAAO;4CAASe,OAAO;wCAAQ;wCACjC;4CAAEf,OAAO;4CAASe,OAAO;wCAAQ;qCAClC;gCACH;gCACA;oCACEjB,MAAM;oCACNF,MAAM;oCACNK,OAAO;wCACLW,OAAO;oCACT;oCACAb,cAAc;oCACdC,OAAO;gCACT;6BACD;4BACDA,OAAO;wBACT;qBACD;oBACDA,OAAO;gBACT;aACD;QACH;KACD;IACDiB,UAAUzB;IACV0B,QAAQ;QACNC,QAAQ;QACRC,UAAU;IACZ;AACF,EAAC"}
@@ -1,2 +1,2 @@
1
1
  export * from './registry.js';
2
- export type { ProviderId } from './registry.js';
2
+ export type { ProviderId } from './types.js';
@@ -1,6 +1,4 @@
1
1
  // Re-export everything from registry
2
2
  export * from './registry.js';
3
- // NOTE: Static TEXT_MODEL_OPTIONS and availableTextProviders have been removed
4
- // in favor of dynamic loading from AI Settings.
5
3
 
6
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ai/providers/index.ts"],"sourcesContent":["// Re-export everything from registry\nexport * from './registry.js'\n\n// Export types\nexport type { ProviderId } from './registry.js'\n\n// NOTE: Static TEXT_MODEL_OPTIONS and availableTextProviders have been removed\n// in favor of dynamic loading from AI Settings.\n\n\n"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,cAAc,gBAAe;CAK7B,+EAA+E;CAC/E,gDAAgD"}
1
+ {"version":3,"sources":["../../../src/ai/providers/index.ts"],"sourcesContent":["// Re-export everything from registry\nexport * from './registry.js'\n\n// Export types\nexport type { ProviderId } from './types.js'\n"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,cAAc,gBAAe"}
@@ -1,40 +1,36 @@
1
1
  import type { LanguageModel } from 'ai';
2
2
  import type { Payload } from 'payload';
3
- export type { ProviderId } from './types.js';
4
3
  import type { ProviderRegistry } from './types.js';
4
+ export declare function toAISDKProviderOptions({ defaultsForUseCase, providerId, settingsOverride, }: {
5
+ defaultsForUseCase?: {
6
+ provider?: string;
7
+ };
8
+ providerId?: string;
9
+ settingsOverride?: Record<string, unknown>;
10
+ }): Record<string, Record<string, any>> | undefined;
11
+ export declare function invalidateProviderCache(): void;
5
12
  /**
6
- * Load provider registry from AI Settings (type-safe)
13
+ * Load provider registry from AI Settings (cached with TTL).
7
14
  */
8
15
  export declare function getProviderRegistry(payload: Payload): Promise<ProviderRegistry>;
9
16
  /**
10
- * Get global defaults from AI Settings
17
+ * Get global defaults from AI Settings (cached with TTL).
11
18
  */
12
19
  export declare function getGlobalDefaults(payload: Payload): Promise<{
13
- image?: {
14
- model: string;
15
- options?: Record<string, any>;
16
- provider: string;
17
- };
18
- text?: {
19
- model: string;
20
- options?: Record<string, any>;
21
- provider: string;
22
- };
23
- tts?: {
24
- model: string;
25
- options?: Record<string, any>;
26
- provider: string;
27
- voice?: string;
28
- };
29
- video?: {
30
- model: string;
31
- options?: Record<string, any>;
32
- provider: string;
33
- };
20
+ image?: import("./types.js").UseCaseDefaults;
21
+ text?: import("./types.js").UseCaseDefaults;
22
+ tts?: import("./types.js").UseCaseDefaults;
23
+ video?: import("./types.js").UseCaseDefaults;
34
24
  }>;
35
25
  /**
36
- * Get language model (type-safe, async)
26
+ * Get language model (cached registry + single defaults call).
27
+ */
28
+ export declare function getLanguageModel(payload: Payload, providerId?: string, modelId?: string, settingsOverride?: Record<string, unknown>): Promise<LanguageModel>;
29
+ /**
30
+ * Get image model (cached registry + single defaults call).
31
+ */
32
+ export declare function getImageModel(payload: Payload, providerId?: string, modelId?: string, isMultimodalText?: boolean, settingsOverride?: Record<string, unknown>): Promise<any>;
33
+ /**
34
+ * Get TTS model (cached registry + single defaults call).
37
35
  */
38
- export declare function getLanguageModel(payload: Payload, providerId?: string, modelId?: string, options?: Record<string, any>): Promise<LanguageModel>;
39
- export declare function getImageModel(payload: Payload, providerId?: string, modelId?: string, options?: Record<string, any>, isMultimodalText?: boolean): Promise<any>;
40
- export declare function getTTSModel(payload: Payload, providerId?: string, modelId?: string, options?: Record<string, any>): Promise<any>;
36
+ export declare function getTTSModel(payload: Payload, providerId?: string, modelId?: string, settingsOverride?: Record<string, unknown>): Promise<any>;