@ai-stack/payloadcms 3.2.24-beta → 3.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/{LICENSE.md → LICENSE} +1 -1
  2. package/README.md +218 -229
  3. package/dist/access/checkAccess.d.ts +4 -0
  4. package/dist/access/checkAccess.js +20 -0
  5. package/dist/access/checkAccess.js.map +1 -0
  6. package/dist/ai/core/generateObject.d.ts +7 -0
  7. package/dist/ai/core/generateObject.js +35 -0
  8. package/dist/ai/core/generateObject.js.map +1 -0
  9. package/dist/ai/core/generateText.d.ts +7 -0
  10. package/dist/ai/core/generateText.js +31 -0
  11. package/dist/ai/core/generateText.js.map +1 -0
  12. package/dist/ai/core/index.d.ts +11 -0
  13. package/dist/ai/core/index.js +10 -0
  14. package/dist/ai/core/index.js.map +1 -0
  15. package/dist/ai/core/media/generateMedia.d.ts +7 -0
  16. package/dist/ai/core/media/generateMedia.js +50 -0
  17. package/dist/ai/core/media/generateMedia.js.map +1 -0
  18. package/dist/ai/core/media/image/generateImage.d.ts +6 -0
  19. package/dist/ai/core/media/image/generateImage.js +41 -0
  20. package/dist/ai/core/media/image/generateImage.js.map +1 -0
  21. package/dist/ai/core/media/image/handlers/multimodal.d.ts +7 -0
  22. package/dist/ai/core/media/image/handlers/multimodal.js +95 -0
  23. package/dist/ai/core/media/image/handlers/multimodal.js.map +1 -0
  24. package/dist/ai/core/media/image/handlers/standard.d.ts +7 -0
  25. package/dist/ai/core/media/image/handlers/standard.js +28 -0
  26. package/dist/ai/core/media/image/handlers/standard.js.map +1 -0
  27. package/dist/ai/core/media/image/index.d.ts +2 -0
  28. package/dist/ai/core/media/image/index.js +3 -0
  29. package/dist/ai/core/media/image/index.js.map +1 -0
  30. package/dist/ai/core/media/index.d.ts +2 -0
  31. package/dist/ai/core/media/index.js +3 -0
  32. package/dist/ai/core/media/index.js.map +1 -0
  33. package/dist/ai/core/media/speech/generateSpeech.d.ts +5 -0
  34. package/dist/ai/core/media/speech/generateSpeech.js +55 -0
  35. package/dist/ai/core/media/speech/generateSpeech.js.map +1 -0
  36. package/dist/ai/core/media/speech/index.d.ts +2 -0
  37. package/dist/ai/core/media/speech/index.js +3 -0
  38. package/dist/ai/core/media/speech/index.js.map +1 -0
  39. package/dist/ai/core/media/types.d.ts +74 -0
  40. package/dist/ai/core/media/types.js +5 -0
  41. package/dist/ai/core/media/types.js.map +1 -0
  42. package/dist/ai/core/media/utils.d.ts +11 -0
  43. package/dist/ai/core/media/utils.js +34 -0
  44. package/dist/ai/core/media/utils.js.map +1 -0
  45. package/dist/ai/core/media/video/generateVideo.d.ts +6 -0
  46. package/dist/ai/core/media/video/generateVideo.js +32 -0
  47. package/dist/ai/core/media/video/generateVideo.js.map +1 -0
  48. package/dist/ai/core/media/video/index.d.ts +2 -0
  49. package/dist/ai/core/media/video/index.js +3 -0
  50. package/dist/ai/core/media/video/index.js.map +1 -0
  51. package/dist/ai/core/streamObject.d.ts +7 -0
  52. package/dist/ai/core/streamObject.js +57 -0
  53. package/dist/ai/core/streamObject.js.map +1 -0
  54. package/dist/ai/core/streamText.d.ts +7 -0
  55. package/dist/ai/core/streamText.js +30 -0
  56. package/dist/ai/core/streamText.js.map +1 -0
  57. package/dist/ai/core/types.d.ts +85 -0
  58. package/dist/ai/core/types.js +5 -0
  59. package/dist/ai/core/types.js.map +1 -0
  60. package/dist/ai/index.d.ts +11 -0
  61. package/dist/ai/index.js +25 -0
  62. package/dist/ai/index.js.map +1 -0
  63. package/dist/ai/providers/blocks/anthropic.d.ts +2 -0
  64. package/dist/ai/providers/blocks/anthropic.js +222 -0
  65. package/dist/ai/providers/blocks/anthropic.js.map +1 -0
  66. package/dist/ai/providers/blocks/elevenlabs.d.ts +2 -0
  67. package/dist/ai/providers/blocks/elevenlabs.js +448 -0
  68. package/dist/ai/providers/blocks/elevenlabs.js.map +1 -0
  69. package/dist/ai/providers/blocks/fal.d.ts +2 -0
  70. package/dist/ai/providers/blocks/fal.js +311 -0
  71. package/dist/ai/providers/blocks/fal.js.map +1 -0
  72. package/dist/ai/providers/blocks/google.d.ts +2 -0
  73. package/dist/ai/providers/blocks/google.js +622 -0
  74. package/dist/ai/providers/blocks/google.js.map +1 -0
  75. package/dist/ai/providers/blocks/index.d.ts +2 -0
  76. package/dist/ai/providers/blocks/index.js +18 -0
  77. package/dist/ai/providers/blocks/index.js.map +1 -0
  78. package/dist/ai/providers/blocks/openai-compatible.d.ts +2 -0
  79. package/dist/ai/providers/blocks/openai-compatible.js +307 -0
  80. package/dist/ai/providers/blocks/openai-compatible.js.map +1 -0
  81. package/dist/ai/providers/blocks/openai.d.ts +2 -0
  82. package/dist/ai/providers/blocks/openai.js +599 -0
  83. package/dist/ai/providers/blocks/openai.js.map +1 -0
  84. package/dist/ai/providers/blocks/xai.d.ts +2 -0
  85. package/dist/ai/providers/blocks/xai.js +246 -0
  86. package/dist/ai/providers/blocks/xai.js.map +1 -0
  87. package/dist/ai/providers/index.d.ts +2 -0
  88. package/dist/ai/providers/index.js +6 -0
  89. package/dist/ai/providers/index.js.map +1 -0
  90. package/dist/ai/providers/registry.d.ts +40 -0
  91. package/dist/ai/providers/registry.js +256 -0
  92. package/dist/ai/providers/registry.js.map +1 -0
  93. package/dist/ai/providers/types.d.ts +115 -0
  94. package/dist/ai/providers/types.js +4 -0
  95. package/dist/ai/providers/types.js.map +1 -0
  96. package/dist/ai/utils/systemGenerate.d.ts +1 -1
  97. package/dist/ai/utils/systemGenerate.js +19 -19
  98. package/dist/ai/utils/systemGenerate.js.map +1 -1
  99. package/dist/collections/AIJobs.d.ts +2 -0
  100. package/dist/collections/AIJobs.js +81 -0
  101. package/dist/collections/AIJobs.js.map +1 -0
  102. package/dist/collections/AISettings.d.ts +2 -0
  103. package/dist/collections/AISettings.js +279 -0
  104. package/dist/collections/AISettings.js.map +1 -0
  105. package/dist/collections/Instructions.js +185 -37
  106. package/dist/collections/Instructions.js.map +1 -1
  107. package/dist/defaults.d.ts +3 -0
  108. package/dist/defaults.js +3 -0
  109. package/dist/defaults.js.map +1 -1
  110. package/dist/endpoints/buildPromptUtils.d.ts +19 -0
  111. package/dist/endpoints/buildPromptUtils.js +114 -0
  112. package/dist/endpoints/buildPromptUtils.js.map +1 -0
  113. package/dist/endpoints/chat.d.js +3 -0
  114. package/dist/endpoints/chat.d.js.map +1 -0
  115. package/dist/endpoints/fetchVoices.d.ts +2 -0
  116. package/dist/endpoints/fetchVoices.js +79 -0
  117. package/dist/endpoints/fetchVoices.js.map +1 -0
  118. package/dist/endpoints/index.js +253 -214
  119. package/dist/endpoints/index.js.map +1 -1
  120. package/dist/exports/client.d.ts +9 -0
  121. package/dist/exports/client.js +9 -0
  122. package/dist/exports/client.js.map +1 -1
  123. package/dist/fields/ComposeField/ComposeField.js +2 -2
  124. package/dist/fields/ComposeField/ComposeField.js.map +1 -1
  125. package/dist/fields/ComposeField/ComposeField.jsx +2 -2
  126. package/dist/fields/PromptEditorField/PromptEditorField.js +155 -14
  127. package/dist/fields/PromptEditorField/PromptEditorField.js.map +1 -1
  128. package/dist/fields/PromptEditorField/PromptEditorField.jsx +118 -3
  129. package/dist/index.d.ts +1 -0
  130. package/dist/index.js.map +1 -1
  131. package/dist/init.js +35 -13
  132. package/dist/init.js.map +1 -1
  133. package/dist/payload-ai.d.js +3 -0
  134. package/dist/payload-ai.d.js.map +1 -0
  135. package/dist/plugin.js +80 -9
  136. package/dist/plugin.js.map +1 -1
  137. package/dist/providers/InstructionsProvider/InstructionsProvider.js +35 -7
  138. package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
  139. package/dist/providers/InstructionsProvider/InstructionsProvider.jsx +27 -4
  140. package/dist/providers/InstructionsProvider/context.d.ts +1 -0
  141. package/dist/providers/InstructionsProvider/context.js +1 -0
  142. package/dist/providers/InstructionsProvider/context.js.map +1 -1
  143. package/dist/providers/InstructionsProvider/useInstructions.js +13 -6
  144. package/dist/providers/InstructionsProvider/useInstructions.js.map +1 -1
  145. package/dist/types.d.ts +7 -7
  146. package/dist/types.js.map +1 -1
  147. package/dist/ui/AIConfigDashboard/index.d.ts +2 -0
  148. package/dist/ui/AIConfigDashboard/index.js +46 -0
  149. package/dist/ui/AIConfigDashboard/index.js.map +1 -0
  150. package/dist/ui/AIConfigDashboard/index.jsx +24 -0
  151. package/dist/ui/ApiKeyStatusIndicator/index.d.ts +6 -0
  152. package/dist/ui/ApiKeyStatusIndicator/index.js +39 -0
  153. package/dist/ui/ApiKeyStatusIndicator/index.js.map +1 -0
  154. package/dist/ui/ApiKeyStatusIndicator/index.jsx +29 -0
  155. package/dist/ui/Compose/Compose.d.ts +1 -2
  156. package/dist/ui/Compose/Compose.js +116 -90
  157. package/dist/ui/Compose/Compose.js.map +1 -1
  158. package/dist/ui/Compose/Compose.jsx +111 -101
  159. package/dist/ui/Compose/ComposePlaceholder.d.ts +7 -0
  160. package/dist/ui/Compose/ComposePlaceholder.js +78 -0
  161. package/dist/ui/Compose/ComposePlaceholder.js.map +1 -0
  162. package/dist/ui/Compose/ComposePlaceholder.jsx +66 -0
  163. package/dist/ui/Compose/UndoRedoActions.js +3 -1
  164. package/dist/ui/Compose/UndoRedoActions.js.map +1 -1
  165. package/dist/ui/Compose/UndoRedoActions.jsx +2 -1
  166. package/dist/ui/Compose/compose.module.css +1 -1
  167. package/dist/ui/Compose/hooks/menu/itemsMap.js +1 -1
  168. package/dist/ui/Compose/hooks/menu/itemsMap.js.map +1 -1
  169. package/dist/ui/Compose/hooks/menu/useMenu.d.ts +2 -1
  170. package/dist/ui/Compose/hooks/menu/useMenu.js +2 -2
  171. package/dist/ui/Compose/hooks/menu/useMenu.js.map +1 -1
  172. package/dist/ui/Compose/hooks/menu/useMenu.jsx +2 -2
  173. package/dist/ui/Compose/hooks/useActiveFieldTracking.js +69 -10
  174. package/dist/ui/Compose/hooks/useActiveFieldTracking.js.map +1 -1
  175. package/dist/ui/Compose/hooks/useGenerate.d.ts +3 -0
  176. package/dist/ui/Compose/hooks/useGenerate.js +71 -11
  177. package/dist/ui/Compose/hooks/useGenerate.js.map +1 -1
  178. package/dist/ui/Compose/hooks/useHistory.js +52 -5
  179. package/dist/ui/Compose/hooks/useHistory.js.map +1 -1
  180. package/dist/ui/DynamicModelSelect/index.d.ts +7 -0
  181. package/dist/ui/DynamicModelSelect/index.js +231 -0
  182. package/dist/ui/DynamicModelSelect/index.js.map +1 -0
  183. package/dist/ui/DynamicModelSelect/index.jsx +207 -0
  184. package/dist/ui/DynamicProviderSelect/index.d.ts +7 -0
  185. package/dist/ui/DynamicProviderSelect/index.js +101 -0
  186. package/dist/ui/DynamicProviderSelect/index.js.map +1 -0
  187. package/dist/ui/DynamicProviderSelect/index.jsx +90 -0
  188. package/dist/ui/DynamicVoiceSelect/index.d.ts +7 -0
  189. package/dist/ui/DynamicVoiceSelect/index.js +104 -0
  190. package/dist/ui/DynamicVoiceSelect/index.js.map +1 -0
  191. package/dist/ui/DynamicVoiceSelect/index.jsx +69 -0
  192. package/dist/ui/EncryptedTextField/index.d.ts +8 -0
  193. package/dist/ui/EncryptedTextField/index.js +74 -0
  194. package/dist/ui/EncryptedTextField/index.js.map +1 -0
  195. package/dist/ui/EncryptedTextField/index.jsx +35 -0
  196. package/dist/ui/Icons/LottieAnimation.js +3 -1
  197. package/dist/ui/Icons/LottieAnimation.js.map +1 -1
  198. package/dist/ui/Icons/LottieAnimation.jsx +2 -1
  199. package/dist/ui/ModelRowLabel/index.d.ts +6 -0
  200. package/dist/ui/ModelRowLabel/index.js +41 -0
  201. package/dist/ui/ModelRowLabel/index.js.map +1 -0
  202. package/dist/ui/ModelRowLabel/index.jsx +26 -0
  203. package/dist/ui/ProviderOptionsEditor/index.d.ts +7 -0
  204. package/dist/ui/ProviderOptionsEditor/index.js +291 -0
  205. package/dist/ui/ProviderOptionsEditor/index.js.map +1 -0
  206. package/dist/ui/ProviderOptionsEditor/index.jsx +210 -0
  207. package/dist/ui/VoicesFetcher/index.d.ts +7 -0
  208. package/dist/ui/VoicesFetcher/index.js +72 -0
  209. package/dist/ui/VoicesFetcher/index.js.map +1 -0
  210. package/dist/ui/VoicesFetcher/index.jsx +56 -0
  211. package/dist/utilities/encryption.d.ts +2 -0
  212. package/dist/utilities/encryption.js +47 -0
  213. package/dist/utilities/encryption.js.map +1 -0
  214. package/dist/utilities/extractImageData.d.ts +9 -0
  215. package/dist/utilities/extractImageData.js +12 -2
  216. package/dist/utilities/extractImageData.js.map +1 -1
  217. package/dist/utilities/fetchImages.d.ts +14 -0
  218. package/dist/utilities/fetchImages.js +38 -0
  219. package/dist/utilities/fetchImages.js.map +1 -0
  220. package/dist/utilities/fieldToJsonSchema.d.ts +2 -1
  221. package/dist/utilities/fieldToJsonSchema.js +66 -3
  222. package/dist/utilities/fieldToJsonSchema.js.map +1 -1
  223. package/dist/utilities/getFieldBySchemaPath.js +15 -0
  224. package/dist/utilities/getFieldBySchemaPath.js.map +1 -1
  225. package/dist/utilities/getProviderOptionsFields.d.ts +16 -0
  226. package/dist/utilities/getProviderOptionsFields.js +80 -0
  227. package/dist/utilities/getProviderOptionsFields.js.map +1 -0
  228. package/dist/utilities/isPluginActivated.js +1 -2
  229. package/dist/utilities/isPluginActivated.js.map +1 -1
  230. package/dist/utilities/lexicalToHTML.js.map +1 -1
  231. package/dist/utilities/resolveImageReferences.d.ts +28 -0
  232. package/dist/utilities/resolveImageReferences.js +148 -0
  233. package/dist/utilities/resolveImageReferences.js.map +1 -0
  234. package/dist/utilities/schemaConverter.d.ts +3 -0
  235. package/dist/utilities/schemaConverter.js +93 -0
  236. package/dist/utilities/schemaConverter.js.map +1 -0
  237. package/dist/utilities/setSafeLexicalState.d.ts +1 -3
  238. package/dist/utilities/setSafeLexicalState.js +1 -1
  239. package/dist/utilities/setSafeLexicalState.js.map +1 -1
  240. package/package.json +19 -21
  241. package/dist/ai/models/anthropic/index.d.ts +0 -2
  242. package/dist/ai/models/anthropic/index.js +0 -129
  243. package/dist/ai/models/anthropic/index.js.map +0 -1
  244. package/dist/ai/models/elevenLabs/generateVoice.d.ts +0 -8
  245. package/dist/ai/models/elevenLabs/generateVoice.js +0 -20
  246. package/dist/ai/models/elevenLabs/generateVoice.js.map +0 -1
  247. package/dist/ai/models/elevenLabs/index.d.ts +0 -2
  248. package/dist/ai/models/elevenLabs/index.js +0 -133
  249. package/dist/ai/models/elevenLabs/index.js.map +0 -1
  250. package/dist/ai/models/elevenLabs/voices.d.ts +0 -8
  251. package/dist/ai/models/elevenLabs/voices.js +0 -24
  252. package/dist/ai/models/elevenLabs/voices.js.map +0 -1
  253. package/dist/ai/models/generateObject.d.ts +0 -11
  254. package/dist/ai/models/generateObject.js +0 -22
  255. package/dist/ai/models/generateObject.js.map +0 -1
  256. package/dist/ai/models/google/generateImage.d.ts +0 -9
  257. package/dist/ai/models/google/generateImage.js +0 -27
  258. package/dist/ai/models/google/generateImage.js.map +0 -1
  259. package/dist/ai/models/google/index.d.ts +0 -2
  260. package/dist/ai/models/google/index.js +0 -201
  261. package/dist/ai/models/google/index.js.map +0 -1
  262. package/dist/ai/models/index.d.ts +0 -2
  263. package/dist/ai/models/index.js +0 -13
  264. package/dist/ai/models/index.js.map +0 -1
  265. package/dist/ai/models/openai/generateImage.d.ts +0 -5
  266. package/dist/ai/models/openai/generateImage.js +0 -31
  267. package/dist/ai/models/openai/generateImage.js.map +0 -1
  268. package/dist/ai/models/openai/generateVoice.d.ts +0 -6
  269. package/dist/ai/models/openai/generateVoice.js +0 -19
  270. package/dist/ai/models/openai/generateVoice.js.map +0 -1
  271. package/dist/ai/models/openai/index.d.ts +0 -2
  272. package/dist/ai/models/openai/index.js +0 -428
  273. package/dist/ai/models/openai/index.js.map +0 -1
  274. package/dist/ai/models/openai/openai.d.ts +0 -1
  275. package/dist/ai/models/openai/openai.js +0 -8
  276. package/dist/ai/models/openai/openai.js.map +0 -1
  277. package/dist/ai/utils/editImagesWithOpenAI.d.ts +0 -10
  278. package/dist/ai/utils/editImagesWithOpenAI.js +0 -37
  279. package/dist/ai/utils/editImagesWithOpenAI.js.map +0 -1
  280. package/dist/types.d.js +0 -3
  281. package/dist/types.d.js.map +0 -1
  282. package/dist/utilities/getGenerationModels.d.ts +0 -2
  283. package/dist/utilities/getGenerationModels.js +0 -10
  284. package/dist/utilities/getGenerationModels.js.map +0 -1
@@ -1,428 +0,0 @@
1
- import { defaultSystemPrompt } from '../../prompts.js';
2
- import { generateFileNameByPrompt } from '../../utils/generateFileNameByPrompt.js';
3
- import { generateObject } from '../generateObject.js';
4
- import { generateImage } from './generateImage.js';
5
- import { generateVoice } from './generateVoice.js';
6
- import { openai } from './openai.js';
7
- const MODEL_KEY = 'Oai';
8
- const MODELS = [
9
- 'gpt-5',
10
- 'gpt-5-mini',
11
- 'gpt-5-nano',
12
- 'gpt-4.1',
13
- 'gpt-4o',
14
- 'gpt-4-turbo',
15
- 'gpt-4o-mini',
16
- 'gpt-3.5-turbo'
17
- ];
18
- //TODO: Simplify this file by moving the handlers to separate files and remove duplicate code
19
- export const OpenAIConfig = {
20
- models: [
21
- {
22
- id: `${MODEL_KEY}-text`,
23
- name: 'OpenAI GPT Text',
24
- fields: [
25
- 'text',
26
- 'textarea'
27
- ],
28
- handler: (prompt, options)=>{
29
- return generateObject(prompt, {
30
- ...options,
31
- providerOptions: {
32
- openai: {
33
- strictJsonSchema: true,
34
- structuredOutputs: true
35
- }
36
- },
37
- system: options.system || defaultSystemPrompt
38
- }, openai(options.model));
39
- },
40
- output: 'text',
41
- settings: {
42
- name: `${MODEL_KEY}-text-settings`,
43
- type: 'group',
44
- admin: {
45
- condition (data) {
46
- return data['model-id'] === `${MODEL_KEY}-text`;
47
- }
48
- },
49
- fields: [
50
- {
51
- name: 'model',
52
- type: 'select',
53
- defaultValue: 'gpt-4o-mini',
54
- label: 'Model',
55
- options: MODELS
56
- },
57
- {
58
- type: 'row',
59
- fields: [
60
- {
61
- name: 'maxTokens',
62
- type: 'number',
63
- defaultValue: 5000
64
- },
65
- {
66
- name: 'temperature',
67
- type: 'number',
68
- defaultValue: 0.7,
69
- max: 1,
70
- min: 0
71
- }
72
- ]
73
- },
74
- {
75
- name: 'extractAttachments',
76
- type: 'checkbox'
77
- }
78
- ],
79
- label: 'OpenAI GPT Settings'
80
- }
81
- },
82
- {
83
- id: 'dall-e',
84
- name: 'OpenAI DALL-E',
85
- fields: [
86
- 'upload'
87
- ],
88
- handler: async (prompt, options)=>{
89
- const imageData = await generateImage(prompt, options);
90
- return {
91
- data: {
92
- alt: imageData.alt
93
- },
94
- file: {
95
- name: `image_${generateFileNameByPrompt(imageData.alt || prompt)}.jpeg`,
96
- data: imageData.buffer,
97
- mimetype: 'image/jpeg',
98
- size: imageData.buffer.byteLength
99
- }
100
- };
101
- },
102
- output: 'image',
103
- settings: {
104
- name: 'dalle-e-settings',
105
- type: 'group',
106
- admin: {
107
- condition (data) {
108
- return data['model-id'] === 'dall-e';
109
- }
110
- },
111
- fields: [
112
- {
113
- name: 'version',
114
- type: 'select',
115
- defaultValue: 'dall-e-3',
116
- label: 'Version',
117
- options: [
118
- 'dall-e-3',
119
- 'dall-e-2'
120
- ]
121
- },
122
- {
123
- type: 'row',
124
- fields: [
125
- {
126
- name: 'size',
127
- type: 'select',
128
- defaultValue: '1024x1024',
129
- label: 'Size',
130
- options: [
131
- '256x256',
132
- '512x512',
133
- '1024x1024',
134
- '1792x1024',
135
- '1024x1792'
136
- ]
137
- },
138
- {
139
- name: 'style',
140
- type: 'select',
141
- defaultValue: 'natural',
142
- label: 'Style',
143
- options: [
144
- 'vivid',
145
- 'natural'
146
- ]
147
- }
148
- ]
149
- },
150
- {
151
- name: 'enable-prompt-optimization',
152
- type: 'checkbox',
153
- label: 'Optimize prompt'
154
- }
155
- ],
156
- label: 'OpenAI DALL-E Settings'
157
- }
158
- },
159
- {
160
- id: 'gpt-image-1',
161
- name: 'OpenAI GPT Image 1',
162
- fields: [
163
- 'upload'
164
- ],
165
- handler: async (prompt, options)=>{
166
- const imageData = await generateImage(prompt, options);
167
- return {
168
- data: {
169
- alt: imageData.alt
170
- },
171
- file: {
172
- name: `image_${generateFileNameByPrompt(imageData.alt || prompt)}.png`,
173
- data: imageData.buffer,
174
- mimetype: 'image/png',
175
- size: imageData.buffer.byteLength
176
- }
177
- };
178
- },
179
- output: 'image',
180
- settings: {
181
- name: 'gpt-image-1-settings',
182
- type: 'group',
183
- admin: {
184
- condition (data) {
185
- return data['model-id'] === 'gpt-image-1';
186
- }
187
- },
188
- fields: [
189
- {
190
- name: 'version',
191
- type: 'select',
192
- defaultValue: 'gpt-image-1',
193
- label: 'Version',
194
- options: [
195
- 'gpt-image-1'
196
- ]
197
- },
198
- {
199
- type: 'row',
200
- fields: [
201
- {
202
- name: 'size',
203
- type: 'select',
204
- defaultValue: 'auto',
205
- label: 'Size',
206
- options: [
207
- '1024x1024',
208
- '1024x1536',
209
- '1536x1024',
210
- 'auto'
211
- ]
212
- },
213
- {
214
- name: 'quality',
215
- type: 'select',
216
- defaultValue: 'auto',
217
- label: 'Quality',
218
- options: [
219
- 'low',
220
- 'medium',
221
- 'high',
222
- 'auto'
223
- ]
224
- }
225
- ]
226
- },
227
- {
228
- name: 'output_format',
229
- type: 'select',
230
- defaultValue: 'png',
231
- label: 'Output Format',
232
- options: [
233
- 'png',
234
- 'jpeg',
235
- 'webp'
236
- ]
237
- },
238
- {
239
- name: 'output_compression',
240
- type: 'number',
241
- admin: {
242
- condition (data) {
243
- return data.output_format === 'jpeg' || data.output_format === 'webp';
244
- }
245
- },
246
- defaultValue: 100,
247
- label: 'Output Compression',
248
- max: 100,
249
- min: 0
250
- },
251
- {
252
- name: 'background',
253
- type: 'select',
254
- admin: {
255
- condition (data) {
256
- return data.output_format === 'png' || data.output_format === 'webp';
257
- }
258
- },
259
- defaultValue: 'white',
260
- label: 'Background',
261
- options: [
262
- 'white',
263
- 'transparent'
264
- ]
265
- },
266
- {
267
- name: 'moderation',
268
- type: 'select',
269
- defaultValue: 'auto',
270
- label: 'Moderation',
271
- options: [
272
- 'auto',
273
- 'low'
274
- ]
275
- }
276
- ],
277
- label: 'OpenAI GPT Image 1 Settings'
278
- }
279
- },
280
- {
281
- id: 'tts',
282
- name: 'OpenAI Text-to-Speech',
283
- fields: [
284
- 'upload'
285
- ],
286
- handler: async (text, options)=>{
287
- //TODO: change it to open ai text to speech api
288
- const voiceData = await generateVoice(text, options);
289
- if (!voiceData || !voiceData.buffer) {
290
- throw new Error('Voice data missing');
291
- }
292
- return {
293
- data: {
294
- alt: text
295
- },
296
- file: {
297
- name: `voice_${generateFileNameByPrompt(text)}.mp3`,
298
- data: voiceData.buffer,
299
- mimetype: 'audio/mp3',
300
- size: voiceData.buffer.byteLength
301
- }
302
- };
303
- },
304
- output: 'audio',
305
- settings: {
306
- name: `${MODEL_KEY}-tts-settings`,
307
- type: 'group',
308
- admin: {
309
- condition (data) {
310
- return data['model-id'] === 'tts';
311
- }
312
- },
313
- fields: [
314
- {
315
- name: 'voice',
316
- type: 'select',
317
- defaultValue: 'alloy',
318
- label: 'Voice',
319
- options: [
320
- 'alloy',
321
- 'echo',
322
- 'fable',
323
- 'onyx',
324
- 'nova',
325
- 'shimmer'
326
- ]
327
- },
328
- {
329
- name: 'model',
330
- type: 'select',
331
- defaultValue: 'tts-1',
332
- label: 'Model',
333
- options: [
334
- 'tts-1',
335
- 'tts-1-hd'
336
- ]
337
- },
338
- {
339
- name: 'response_format',
340
- type: 'select',
341
- defaultValue: 'mp3',
342
- label: 'Response Format',
343
- options: [
344
- 'mp3',
345
- 'opus',
346
- 'aac',
347
- 'flac',
348
- 'wav',
349
- 'pcm'
350
- ]
351
- },
352
- {
353
- name: 'speed',
354
- type: 'number',
355
- defaultValue: 1,
356
- label: 'Speed',
357
- max: 4,
358
- min: 0.25
359
- }
360
- ],
361
- label: 'OpenAI Text-to-Speech Settings'
362
- }
363
- },
364
- {
365
- id: `${MODEL_KEY}-object`,
366
- name: 'OpenAI GPT',
367
- fields: [
368
- 'richText'
369
- ],
370
- handler: (text, options)=>{
371
- return generateObject(text, {
372
- ...options,
373
- providerOptions: {
374
- openai: {
375
- strictJsonSchema: true,
376
- structuredOutputs: true
377
- }
378
- },
379
- system: options.system || defaultSystemPrompt
380
- }, openai(options.model));
381
- },
382
- output: 'text',
383
- settings: {
384
- name: `${MODEL_KEY}-object-settings`,
385
- type: 'group',
386
- admin: {
387
- condition (data) {
388
- return data['model-id'] === `${MODEL_KEY}-object`;
389
- }
390
- },
391
- fields: [
392
- {
393
- name: 'model',
394
- type: 'select',
395
- defaultValue: 'gpt-4o',
396
- label: 'Model',
397
- options: MODELS
398
- },
399
- {
400
- type: 'row',
401
- fields: [
402
- {
403
- name: 'maxTokens',
404
- type: 'number',
405
- defaultValue: 5000
406
- },
407
- {
408
- name: 'temperature',
409
- type: 'number',
410
- defaultValue: 0.7,
411
- max: 1,
412
- min: 0
413
- }
414
- ]
415
- },
416
- {
417
- name: 'extractAttachments',
418
- type: 'checkbox'
419
- }
420
- ],
421
- label: 'OpenAI GPT Settings'
422
- }
423
- }
424
- ],
425
- provider: 'OpenAI'
426
- };
427
-
428
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ai/models/openai/index.ts"],"sourcesContent":["import type { SpeechCreateParams } from 'openai/resources/audio/speech'\nimport type { File } from 'payload'\n\nimport type { GenerationConfig } from '../../../types.js'\n\nimport { defaultSystemPrompt } from '../../prompts.js'\nimport { generateFileNameByPrompt } from '../../utils/generateFileNameByPrompt.js'\nimport { generateObject } from '../generateObject.js'\nimport { generateImage } from './generateImage.js'\nimport { generateVoice } from './generateVoice.js'\nimport { openai } from './openai.js'\n\nconst MODEL_KEY = 'Oai'\nconst MODELS = [\n 'gpt-5',\n 'gpt-5-mini',\n 'gpt-5-nano',\n 'gpt-4.1',\n 'gpt-4o',\n 'gpt-4-turbo',\n 'gpt-4o-mini',\n 'gpt-3.5-turbo',\n]\n\n//TODO: Simplify this file by moving the handlers to separate files and remove duplicate code\nexport const OpenAIConfig: GenerationConfig = {\n models: [\n {\n id: `${MODEL_KEY}-text`,\n name: 'OpenAI GPT Text',\n fields: ['text', 'textarea'],\n handler: (\n prompt: string,\n options: {\n extractAttachments?: boolean\n locale?: string\n maxTokens?: number\n model: string\n schema?: Record<string, any>\n system?: string\n temperature?: number\n },\n ) => {\n return generateObject(\n prompt,\n {\n ...options,\n providerOptions: {\n openai: {\n strictJsonSchema: true,\n structuredOutputs: true,\n },\n },\n system: options.system || defaultSystemPrompt,\n },\n openai(options.model),\n )\n },\n output: 'text',\n settings: {\n name: `${MODEL_KEY}-text-settings`,\n type: 'group',\n admin: {\n condition(data) {\n return data['model-id'] === `${MODEL_KEY}-text`\n },\n },\n fields: [\n {\n name: 'model',\n type: 'select',\n defaultValue: 'gpt-4o-mini',\n label: 'Model',\n options: MODELS,\n },\n {\n type: 'row',\n fields: [\n {\n name: 'maxTokens',\n type: 'number',\n defaultValue: 5000,\n },\n {\n name: 'temperature',\n type: 'number',\n defaultValue: 0.7,\n max: 1,\n min: 0,\n },\n ],\n },\n {\n name: 'extractAttachments',\n type: 'checkbox',\n },\n ],\n label: 'OpenAI GPT Settings',\n },\n },\n {\n id: 'dall-e',\n name: 'OpenAI DALL-E',\n fields: ['upload'],\n handler: async (prompt: string, options) => {\n const imageData = await generateImage(prompt, options)\n return {\n data: {\n alt: imageData.alt,\n },\n file: {\n name: `image_${generateFileNameByPrompt(imageData.alt || prompt)}.jpeg`,\n data: imageData.buffer,\n mimetype: 'image/jpeg',\n size: imageData.buffer.byteLength,\n } as File,\n }\n },\n output: 'image',\n settings: {\n name: 'dalle-e-settings',\n type: 'group',\n admin: {\n condition(data) {\n return data['model-id'] === 'dall-e'\n },\n },\n fields: [\n {\n name: 'version',\n type: 'select',\n defaultValue: 'dall-e-3',\n label: 'Version',\n options: ['dall-e-3', 'dall-e-2'],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'size',\n type: 'select',\n defaultValue: '1024x1024',\n label: 'Size',\n options: ['256x256', '512x512', '1024x1024', '1792x1024', '1024x1792'],\n },\n {\n name: 'style',\n type: 'select',\n defaultValue: 'natural',\n label: 'Style',\n options: ['vivid', 'natural'],\n },\n ],\n },\n {\n name: 'enable-prompt-optimization',\n type: 'checkbox',\n label: 'Optimize prompt',\n },\n ],\n label: 'OpenAI DALL-E Settings',\n },\n },\n {\n id: 'gpt-image-1',\n name: 'OpenAI GPT Image 1',\n fields: ['upload'],\n handler: async (prompt: string, options) => {\n const imageData = await generateImage(prompt, options)\n return {\n data: {\n alt: imageData.alt,\n },\n file: {\n name: `image_${generateFileNameByPrompt(imageData.alt || prompt)}.png`,\n data: imageData.buffer,\n mimetype: 'image/png',\n size: imageData.buffer.byteLength,\n } as File,\n }\n },\n output: 'image',\n settings: {\n name: 'gpt-image-1-settings',\n type: 'group',\n admin: {\n condition(data) {\n return data['model-id'] === 'gpt-image-1'\n },\n },\n fields: [\n {\n name: 'version',\n type: 'select',\n defaultValue: 'gpt-image-1',\n label: 'Version',\n options: ['gpt-image-1'],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'size',\n type: 'select',\n defaultValue: 'auto',\n label: 'Size',\n options: ['1024x1024', '1024x1536', '1536x1024', 'auto'],\n },\n {\n name: 'quality',\n type: 'select',\n defaultValue: 'auto',\n label: 'Quality',\n options: ['low', 'medium', 'high', 'auto'],\n },\n ],\n },\n {\n name: 'output_format',\n type: 'select',\n defaultValue: 'png',\n label: 'Output Format',\n options: ['png', 'jpeg', 'webp'],\n },\n {\n name: 'output_compression',\n type: 'number',\n admin: {\n condition(data) {\n return data.output_format === 'jpeg' || data.output_format === 'webp'\n },\n },\n defaultValue: 100,\n label: 'Output Compression',\n max: 100,\n min: 0,\n },\n {\n name: 'background',\n type: 'select',\n admin: {\n condition(data) {\n return data.output_format === 'png' || data.output_format === 'webp'\n },\n },\n defaultValue: 'white',\n label: 'Background',\n options: ['white', 'transparent'],\n },\n {\n name: 'moderation',\n type: 'select',\n defaultValue: 'auto',\n label: 'Moderation',\n options: ['auto', 'low'],\n },\n ],\n label: 'OpenAI GPT Image 1 Settings',\n },\n },\n {\n id: 'tts',\n name: 'OpenAI Text-to-Speech',\n fields: ['upload'],\n handler: async (text: string, options) => {\n //TODO: change it to open ai text to speech api\n const voiceData = await generateVoice(text, options)\n if (!voiceData || !voiceData.buffer) {\n throw new Error('Voice data missing')\n }\n return {\n data: {\n alt: text,\n },\n file: {\n name: `voice_${generateFileNameByPrompt(text)}.mp3`,\n data: voiceData.buffer,\n mimetype: 'audio/mp3',\n size: voiceData.buffer.byteLength,\n } as File,\n }\n },\n output: 'audio',\n settings: {\n name: `${MODEL_KEY}-tts-settings`,\n type: 'group',\n admin: {\n condition(data) {\n return data['model-id'] === 'tts'\n },\n },\n fields: [\n {\n name: 'voice',\n type: 'select',\n defaultValue: 'alloy',\n label: 'Voice',\n options: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'] as Array<\n SpeechCreateParams['voice']\n >,\n },\n {\n name: 'model',\n type: 'select',\n defaultValue: 'tts-1',\n label: 'Model',\n options: ['tts-1', 'tts-1-hd'] as Array<SpeechCreateParams['model']>,\n },\n {\n name: 'response_format',\n type: 'select',\n defaultValue: 'mp3',\n label: 'Response Format',\n options: ['mp3', 'opus', 'aac', 'flac', 'wav', 'pcm'],\n },\n {\n name: 'speed',\n type: 'number',\n defaultValue: 1,\n label: 'Speed',\n max: 4,\n min: 0.25,\n },\n ],\n label: 'OpenAI Text-to-Speech Settings',\n },\n },\n {\n id: `${MODEL_KEY}-object`,\n name: 'OpenAI GPT',\n fields: ['richText'],\n handler: (text: string, options) => {\n return generateObject(\n text,\n {\n ...options,\n providerOptions: {\n openai: {\n strictJsonSchema: true,\n structuredOutputs: true,\n },\n },\n system: options.system || defaultSystemPrompt,\n },\n openai(options.model),\n )\n },\n output: 'text',\n settings: {\n name: `${MODEL_KEY}-object-settings`,\n type: 'group',\n admin: {\n condition(data) {\n return data['model-id'] === `${MODEL_KEY}-object`\n },\n },\n fields: [\n {\n name: 'model',\n type: 'select',\n defaultValue: 'gpt-4o',\n label: 'Model',\n options: MODELS,\n },\n {\n type: 'row',\n fields: [\n {\n name: 'maxTokens',\n type: 'number',\n defaultValue: 5000,\n },\n {\n name: 'temperature',\n type: 'number',\n defaultValue: 0.7,\n max: 1,\n min: 0,\n },\n ],\n },\n {\n name: 'extractAttachments',\n type: 'checkbox',\n },\n ],\n label: 'OpenAI GPT Settings',\n },\n },\n ],\n provider: 'OpenAI',\n}\n"],"names":["defaultSystemPrompt","generateFileNameByPrompt","generateObject","generateImage","generateVoice","openai","MODEL_KEY","MODELS","OpenAIConfig","models","id","name","fields","handler","prompt","options","providerOptions","strictJsonSchema","structuredOutputs","system","model","output","settings","type","admin","condition","data","defaultValue","label","max","min","imageData","alt","file","buffer","mimetype","size","byteLength","output_format","text","voiceData","Error","provider"],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const openai: import("@ai-sdk/openai").OpenAIProvider;
@@ -1,8 +0,0 @@
1
- import { createOpenAI } from '@ai-sdk/openai';
2
- // same to default openai with optional baseurl.
3
- export const openai = createOpenAI({
4
- apiKey: process.env.OPENAI_API_KEY,
5
- baseURL: process.env.OPENAI_BASE_URL ?? 'https://api.openai.com/v1'
6
- });
7
-
8
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/ai/models/openai/openai.ts"],"sourcesContent":["import { createOpenAI } from '@ai-sdk/openai'\n\n// same to default openai with optional baseurl.\nexport const openai = createOpenAI({\n apiKey: process.env.OPENAI_API_KEY,\n baseURL: process.env.OPENAI_BASE_URL ?? 'https://api.openai.com/v1'\n})\n"],"names":["createOpenAI","openai","apiKey","process","env","OPENAI_API_KEY","baseURL","OPENAI_BASE_URL"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAgB;AAE7C,gDAAgD;AAChD,OAAO,MAAMC,SAASD,aAAa;IACjCE,QAAQC,QAAQC,GAAG,CAACC,cAAc;IAClCC,SAASH,QAAQC,GAAG,CAACG,eAAe,IAAI;AAC1C,GAAE"}
@@ -1,10 +0,0 @@
1
- import type { ImageReference } from '../../types.js';
2
- /**
3
- * Send multiple images as `image[]` to OpenAI's image edit endpoint using gpt-image-1.
4
- * @param images
5
- * @param prompt Prompt to guide the image edit
6
- * @param model
7
- * @returns base64 string of the edited image
8
- * @note: Remove this function, once https://github.com/openai/openai-node/issues/1492 is fixed.
9
- */
10
- export declare function editImagesWithOpenAI(images: ImageReference[], prompt: string, model?: string): Promise<any>;
@@ -1,37 +0,0 @@
1
- /**
2
- * Send multiple images as `image[]` to OpenAI's image edit endpoint using gpt-image-1.
3
- * @param images
4
- * @param prompt Prompt to guide the image edit
5
- * @param model
6
- * @returns base64 string of the edited image
7
- * @note: Remove this function, once https://github.com/openai/openai-node/issues/1492 is fixed.
8
- */ export async function editImagesWithOpenAI(images, prompt, model = 'gpt-image-1') {
9
- try {
10
- const formData = new FormData();
11
- for (const [_, img] of images.entries()){
12
- const extension = img.data.type.split('/')[1];
13
- formData.append('image[]', img.data, `${img.name}.${extension}`);
14
- }
15
- formData.append('prompt', prompt);
16
- formData.append('model', model);
17
- const baseURL = process.env.OPENAI_BASE_URL ?? 'https://api.openai.com/v1';
18
- const openaiRes = await fetch(`${baseURL}/images/edits`, {
19
- body: formData,
20
- headers: {
21
- Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
22
- 'OpenAI-Organization': process.env.OPENAI_ORG_ID || ''
23
- },
24
- method: 'POST'
25
- });
26
- if (!openaiRes.ok) {
27
- const errorText = await openaiRes.text();
28
- throw new Error(`OpenAI edit error: ${openaiRes.status} - ${errorText}`);
29
- }
30
- return openaiRes.json();
31
- } catch (e) {
32
- console.error('Error editing images: ', e);
33
- throw Error('Image edit request failed. Please ensure the images are accessible and hosted publicly.');
34
- }
35
- }
36
-
37
- //# sourceMappingURL=editImagesWithOpenAI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/ai/utils/editImagesWithOpenAI.ts"],"sourcesContent":["import type { ImageReference } from '../../types.js'\n\n/**\n * Send multiple images as `image[]` to OpenAI's image edit endpoint using gpt-image-1.\n * @param images\n * @param prompt Prompt to guide the image edit\n * @param model\n * @returns base64 string of the edited image\n * @note: Remove this function, once https://github.com/openai/openai-node/issues/1492 is fixed.\n */\nexport async function editImagesWithOpenAI(\n images: ImageReference[],\n prompt: string,\n model: string = 'gpt-image-1',\n) {\n try {\n const formData = new FormData()\n\n for (const [_, img] of images.entries()) {\n const extension = img.data.type.split('/')[1]\n formData.append('image[]', img.data, `${img.name}.${extension}`)\n }\n\n formData.append('prompt', prompt)\n formData.append('model', model)\n\n const baseURL = process.env.OPENAI_BASE_URL ?? 'https://api.openai.com/v1'\n const openaiRes = await fetch(`${baseURL}/images/edits`, {\n body: formData,\n headers: {\n Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,\n 'OpenAI-Organization': process.env.OPENAI_ORG_ID || '',\n },\n method: 'POST',\n })\n\n if (!openaiRes.ok) {\n const errorText = await openaiRes.text()\n throw new Error(`OpenAI edit error: ${openaiRes.status} - ${errorText}`)\n }\n\n return openaiRes.json()\n } catch (e) {\n console.error('Error editing images: ', e)\n throw Error(\n 'Image edit request failed. Please ensure the images are accessible and hosted publicly.',\n )\n }\n}\n"],"names":["editImagesWithOpenAI","images","prompt","model","formData","FormData","_","img","entries","extension","data","type","split","append","name","baseURL","process","env","OPENAI_BASE_URL","openaiRes","fetch","body","headers","Authorization","OPENAI_API_KEY","OPENAI_ORG_ID","method","ok","errorText","text","Error","status","json","e","console","error"],"mappings":"AAEA;;;;;;;CAOC,GACD,OAAO,eAAeA,qBACpBC,MAAwB,EACxBC,MAAc,EACdC,QAAgB,aAAa;IAE7B,IAAI;QACF,MAAMC,WAAW,IAAIC;QAErB,KAAK,MAAM,CAACC,GAAGC,IAAI,IAAIN,OAAOO,OAAO,GAAI;YACvC,MAAMC,YAAYF,IAAIG,IAAI,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7CR,SAASS,MAAM,CAAC,WAAWN,IAAIG,IAAI,EAAE,CAAC,EAAEH,IAAIO,IAAI,CAAC,CAAC,EAAEL,UAAU,CAAC;QACjE;QAEAL,SAASS,MAAM,CAAC,UAAUX;QAC1BE,SAASS,MAAM,CAAC,SAASV;QAEzB,MAAMY,UAAUC,QAAQC,GAAG,CAACC,eAAe,IAAI;QAC/C,MAAMC,YAAY,MAAMC,MAAM,CAAC,EAAEL,QAAQ,aAAa,CAAC,EAAE;YACvDM,MAAMjB;YACNkB,SAAS;gBACPC,eAAe,CAAC,OAAO,EAAEP,QAAQC,GAAG,CAACO,cAAc,CAAC,CAAC;gBACrD,uBAAuBR,QAAQC,GAAG,CAACQ,aAAa,IAAI;YACtD;YACAC,QAAQ;QACV;QAEA,IAAI,CAACP,UAAUQ,EAAE,EAAE;YACjB,MAAMC,YAAY,MAAMT,UAAUU,IAAI;YACtC,MAAM,IAAIC,MAAM,CAAC,mBAAmB,EAAEX,UAAUY,MAAM,CAAC,GAAG,EAAEH,UAAU,CAAC;QACzE;QAEA,OAAOT,UAAUa,IAAI;IACvB,EAAE,OAAOC,GAAG;QACVC,QAAQC,KAAK,CAAC,0BAA0BF;QACxC,MAAMH,MACJ;IAEJ;AACF"}
package/dist/types.d.js DELETED
@@ -1,3 +0,0 @@
1
- export { };
2
-
3
- //# sourceMappingURL=types.d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/types.d.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nexport interface AIGenerateArgs {\n prompt: string\n system?: string\n schema?: Field[]\n provider?: string\n model?: string\n mode?: 'auto' | 'json' | 'tool'\n}\n\ndeclare module 'payload' {\n export interface Payload {\n ai: {\n generate: (args: AIGenerateArgs) => Promise<any>\n }\n }\n}\n"],"names":[],"mappings":"AAEA,WAOC"}
@@ -1,2 +0,0 @@
1
- import { PluginConfig } from '../types.js';
2
- export declare function getGenerationModels(pluginConfig: PluginConfig): import("../types.js").GenerationModel[] | undefined;
@@ -1,10 +0,0 @@
1
- import { defaultGenerationModels } from '../ai/models/index.js';
2
- export function getGenerationModels(pluginConfig) {
3
- const { generationModels } = pluginConfig;
4
- if (typeof generationModels === 'function') {
5
- return generationModels(defaultGenerationModels);
6
- }
7
- return generationModels;
8
- }
9
-
10
- //# sourceMappingURL=getGenerationModels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utilities/getGenerationModels.ts"],"sourcesContent":["import { defaultGenerationModels } from '../ai/models/index.js'\nimport { PluginConfig } from '../types.js'\n\nexport function getGenerationModels(\n pluginConfig: PluginConfig,\n) {\n const { generationModels } = pluginConfig\n if (typeof generationModels === 'function') {\n return generationModels(defaultGenerationModels)\n }\n return generationModels\n}\n"],"names":["defaultGenerationModels","getGenerationModels","pluginConfig","generationModels"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,wBAAuB;AAG/D,OAAO,SAASC,oBACdC,YAA0B;IAE1B,MAAM,EAAEC,gBAAgB,EAAE,GAAGD;IAC7B,IAAI,OAAOC,qBAAqB,YAAY;QAC1C,OAAOA,iBAAiBH;IAC1B;IACA,OAAOG;AACT"}