@ai-stack/payloadcms 3.76.0-beta.2 → 3.76.0-beta.4
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.
- package/README.md +5 -5
- package/dist/ai/core/media/image/handlers/multimodal.js +2 -2
- package/dist/ai/core/media/image/handlers/multimodal.js.map +1 -1
- package/dist/ai/providers/blocks/anthropic.js +2 -2
- package/dist/ai/providers/blocks/anthropic.js.map +1 -1
- package/dist/ai/providers/blocks/elevenlabs.js +3 -3
- package/dist/ai/providers/blocks/elevenlabs.js.map +1 -1
- package/dist/ai/providers/blocks/fal.js +2 -2
- package/dist/ai/providers/blocks/fal.js.map +1 -1
- package/dist/ai/providers/blocks/google.js +4 -3
- package/dist/ai/providers/blocks/google.js.map +1 -1
- package/dist/ai/providers/blocks/openai-compatible.js +2 -2
- package/dist/ai/providers/blocks/openai-compatible.js.map +1 -1
- package/dist/ai/providers/blocks/openai.js +2 -2
- package/dist/ai/providers/blocks/openai.js.map +1 -1
- package/dist/ai/providers/blocks/xai.js +2 -2
- package/dist/ai/providers/blocks/xai.js.map +1 -1
- package/dist/ai/utilities/nodeToSchemaMap.js +6 -6
- package/dist/ai/utilities/nodeToSchemaMap.js.map +1 -1
- package/dist/collections/AIProviders.js +13 -13
- package/dist/collections/AIProviders.js.map +1 -1
- package/dist/collections/Instructions.js +6 -6
- package/dist/collections/Instructions.js.map +1 -1
- package/dist/endpoints/index.js +1 -1
- package/dist/endpoints/index.js.map +1 -1
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.js.map +1 -1
- package/dist/fields/LexicalEditor/feature.server.d.ts +1 -1
- package/dist/fields/LexicalEditor/feature.server.js +2 -2
- package/dist/fields/LexicalEditor/feature.server.js.map +1 -1
- package/dist/fields/PromptEditorField/feature.client.js.map +1 -1
- package/dist/fields/PromptEditorField/feature.server.js +1 -1
- package/dist/fields/PromptEditorField/feature.server.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +2 -2
- package/dist/plugin.js +3 -3
- package/dist/plugin.js.map +1 -1
- package/dist/providers/FieldProvider/FieldProvider.js +1 -1
- package/dist/providers/FieldProvider/FieldProvider.js.map +1 -1
- package/dist/providers/FieldProvider/FieldProvider.jsx +2 -2
- package/dist/providers/InstructionsProvider/InstructionsProvider.js +1 -1
- package/dist/providers/InstructionsProvider/InstructionsProvider.js.map +1 -1
- package/dist/providers/InstructionsProvider/InstructionsProvider.jsx +2 -2
- package/dist/types.d.ts +10 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/Compose/Compose.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/Item.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/TranslateMenu.js +12 -4
- package/dist/ui/Compose/hooks/menu/TranslateMenu.js.map +1 -1
- package/dist/ui/Compose/hooks/menu/TranslateMenu.jsx +8 -4
- package/dist/ui/Compose/hooks/useHistory.js +1 -1
- package/dist/ui/Compose/hooks/useHistory.js.map +1 -1
- package/dist/ui/DynamicModelSelect/index.js +1 -1
- package/dist/ui/DynamicModelSelect/index.js.map +1 -1
- package/dist/ui/DynamicModelSelect/index.jsx +1 -1
- package/dist/ui/DynamicProviderSelect/index.js +1 -1
- package/dist/ui/DynamicProviderSelect/index.js.map +1 -1
- package/dist/ui/DynamicProviderSelect/index.jsx +1 -1
- package/dist/ui/DynamicVoiceSelect/index.js +1 -1
- package/dist/ui/DynamicVoiceSelect/index.js.map +1 -1
- package/dist/ui/DynamicVoiceSelect/index.jsx +1 -1
- package/dist/ui/InstructionProviderOptions/ProviderOptionsTree.js.map +1 -1
- package/dist/ui/hooks/useAISettings.js.map +1 -1
- package/dist/ui/providerOptions/updateProviderOptionsValue.d.ts +1 -1
- package/dist/ui/providerOptions/updateProviderOptionsValue.js.map +1 -1
- package/dist/utilities/ai/resolveEffectiveInstructionSettings.js.map +1 -1
- package/dist/utilities/fields/updateFieldsConfig.js +1 -1
- package/dist/utilities/fields/updateFieldsConfig.js.map +1 -1
- package/dist/utilities/lexical/lexicalToPromptTemplate.d.ts +1 -1
- package/dist/utilities/lexical/lexicalToPromptTemplate.js +1 -1
- package/dist/utilities/lexical/lexicalToPromptTemplate.js.map +1 -1
- package/dist/utilities/lexical/stringToLexicalJSON.js +1 -1
- package/dist/utilities/lexical/stringToLexicalJSON.js.map +1 -1
- package/dist/utilities/seedProperties.js +19 -2
- package/dist/utilities/seedProperties.js.map +1 -1
- package/package.json +37 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/seedProperties.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PLUGIN_INSTRUCTIONS_TABLE } from '../defaults.js'\nimport { updateFieldsConfig } from './fields/updateFieldsConfig.js'\nimport { stringToLexicalJSON } from './lexical/stringToLexicalJSON.js'\ninterface SeedPropertiesArgs {\n enabledCollections: string[]\n req: PayloadRequest\n}\n\ninterface SchemaPathFieldInfo {\n custom?: {
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/seedProperties.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { PLUGIN_INSTRUCTIONS_TABLE } from '../defaults.js'\nimport { updateFieldsConfig } from './fields/updateFieldsConfig.js'\nimport { stringToLexicalJSON } from './lexical/stringToLexicalJSON.js'\ninterface SeedPropertiesArgs {\n enabledCollections: string[]\n req: PayloadRequest\n}\n\ninterface SchemaPathFieldInfo {\n custom?: {\n ai?: {\n alwaysShow?: boolean\n appendGenerated?: boolean\n disabled?: boolean\n prompt?: string\n system?: string\n }\n }\n hasMany?: boolean\n relationTo?: string\n type: string\n}\n\nexport const seedProperties = async ({ enabledCollections, req }: SeedPropertiesArgs): Promise<void> => {\n const { payload } = req\n\n if (!enabledCollections || enabledCollections.length === 0) {\n return\n }\n\n // Get all collections from payload config\n const allCollections = payload.config.collections\n\n for (const collectionSlug of enabledCollections) {\n const collectionConfig = allCollections.find((c) => c.slug === collectionSlug)\n if (!collectionConfig) {\n continue\n }\n\n // Traverse the collection config effectively using updateFieldsConfig\n // Use the side-effect of getting schemaPathMap from it\n const { schemaPathMap } = updateFieldsConfig(collectionConfig)\n\n for (const [schemaPath, fieldInfo] of Object.entries(schemaPathMap)) {\n const typedFieldInfo = fieldInfo as SchemaPathFieldInfo\n const custom = typedFieldInfo.custom\n const hasMany = typedFieldInfo.hasMany\n const relationTo = typedFieldInfo.relationTo\n const type = typedFieldInfo.type\n\n // Check if instruction already exists\n const existingInstruction = await payload.find({\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n depth: 0,\n limit: 1,\n overrideAccess: true,\n where: {\n 'schema-path': {\n equals: schemaPath,\n },\n },\n })\n\n if (existingInstruction.totalDocs > 0) {\n const doc = existingInstruction.docs[0] as any\n const currentPrompt = doc.prompt\n const currentSystem = doc.system\n\n let needsUpdate = false\n const updateData: any = {}\n\n if (!!doc.hasMany !== !!hasMany) {\n updateData.hasMany = !!hasMany\n needsUpdate = true\n }\n if (!hasMany && !!doc.appendGenerated) {\n // Keep legacy records consistent when field is no longer hasMany.\n updateData.appendGenerated = false\n needsUpdate = true\n }\n\n // If developer has provided custom prompts in the schema, update the existing record\n // but only if the values have actually changed.\n if (\n custom?.ai?.prompt ||\n custom?.ai?.system ||\n custom?.ai?.alwaysShow !== undefined ||\n custom?.ai?.appendGenerated !== undefined ||\n custom?.ai?.disabled !== undefined\n ) {\n if (custom?.ai?.prompt && custom.ai.prompt !== currentPrompt) {\n updateData.prompt = stringToLexicalJSON(custom.ai.prompt)\n needsUpdate = true\n }\n if (custom?.ai?.system && custom.ai.system !== currentSystem) {\n updateData.system = custom.ai.system\n needsUpdate = true\n }\n if (custom?.ai?.alwaysShow !== undefined && custom.ai.alwaysShow !== doc.alwaysShow) {\n updateData.alwaysShow = !!custom.ai.alwaysShow\n needsUpdate = true\n }\n if (custom?.ai?.disabled !== undefined && custom.ai.disabled !== doc.disabled) {\n updateData.disabled = !!custom.ai.disabled\n needsUpdate = true\n }\n if (custom?.ai?.appendGenerated !== undefined) {\n const nextAppendGenerated = !!hasMany && !!custom.ai.appendGenerated\n if (nextAppendGenerated !== !!doc.appendGenerated) {\n updateData.appendGenerated = nextAppendGenerated\n needsUpdate = true\n }\n }\n }\n\n if (needsUpdate) {\n try {\n await payload.update({\n id: doc.id,\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n data: updateData,\n overrideAccess: true,\n })\n } catch (error) {\n payload.logger.error(`— AI Plugin: Failed to update instruction for ${schemaPath}: ${error}`)\n }\n }\n continue\n }\n\n // Use custom prompts if provided, otherwise leave empty\n const prompt = custom?.ai?.prompt ? stringToLexicalJSON(custom.ai.prompt) : undefined\n const system = custom?.ai?.system || ''\n\n // Determine model-id based on field type\n let modelId = 'text'\n if (type === 'richText') {\n modelId = 'richtext'\n }\n if (type === 'upload') {\n modelId = 'image'\n } // defaulting to image generation for uploads\n if (type === 'array') {\n modelId = 'array'\n }\n\n // Create new instruction\n try {\n await payload.create({\n collection: PLUGIN_INSTRUCTIONS_TABLE,\n data: {\n alwaysShow: !!custom?.ai?.alwaysShow,\n appendGenerated: !!hasMany && !!custom?.ai?.appendGenerated,\n disabled: !!custom?.ai?.disabled,\n 'field-type': type,\n hasMany: !!hasMany,\n 'model-id': modelId,\n prompt,\n 'relation-to': relationTo,\n 'schema-path': schemaPath,\n system,\n },\n overrideAccess: true,\n })\n } catch (error) {\n payload.logger.error(`— AI Plugin: Failed to seed instruction for ${schemaPath}: ${error}`)\n }\n }\n }\n}\n"],"names":["PLUGIN_INSTRUCTIONS_TABLE","updateFieldsConfig","stringToLexicalJSON","seedProperties","enabledCollections","req","payload","length","allCollections","config","collections","collectionSlug","collectionConfig","find","c","slug","schemaPathMap","schemaPath","fieldInfo","Object","entries","typedFieldInfo","custom","hasMany","relationTo","type","existingInstruction","collection","depth","limit","overrideAccess","where","equals","totalDocs","doc","docs","currentPrompt","prompt","currentSystem","system","needsUpdate","updateData","appendGenerated","ai","alwaysShow","undefined","disabled","nextAppendGenerated","update","id","data","error","logger","modelId","create"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-stack/payloadcms",
|
|
3
|
-
"version": "3.76.0-beta.
|
|
3
|
+
"version": "3.76.0-beta.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"bugs": "https://github.com/ashbuilds/payload-ai/issues",
|
|
6
6
|
"repository": "https://github.com/ashbuilds/payload-ai",
|
|
@@ -43,6 +43,21 @@
|
|
|
43
43
|
"import": "./dist/exports/fields.js",
|
|
44
44
|
"types": "./dist/exports/fields.d.ts",
|
|
45
45
|
"default": "./dist/exports/fields.js"
|
|
46
|
+
},
|
|
47
|
+
"./ui/*": {
|
|
48
|
+
"import": "./dist/ui/*",
|
|
49
|
+
"types": "./dist/ui/*",
|
|
50
|
+
"default": "./dist/ui/*"
|
|
51
|
+
},
|
|
52
|
+
"./fields/*": {
|
|
53
|
+
"import": "./dist/fields/*",
|
|
54
|
+
"types": "./dist/fields/*",
|
|
55
|
+
"default": "./dist/fields/*"
|
|
56
|
+
},
|
|
57
|
+
"./providers/*": {
|
|
58
|
+
"import": "./dist/providers/*",
|
|
59
|
+
"types": "./dist/providers/*",
|
|
60
|
+
"default": "./dist/providers/*"
|
|
46
61
|
}
|
|
47
62
|
},
|
|
48
63
|
"main": "./dist/index.js",
|
|
@@ -74,7 +89,7 @@
|
|
|
74
89
|
"build:types": "tsc --outDir dist --rootDir ./src",
|
|
75
90
|
"clean": "rimraf {dist,*.tsbuildinfo}",
|
|
76
91
|
"copyfiles": "copyfiles -u 1 \"src/**/*.{html,css,scss,ttf,woff,woff2,eot,svg,jpg,png,json,d.ts}\" dist/",
|
|
77
|
-
"dev": "next dev dev --turbo",
|
|
92
|
+
"dev": "concurrently \"pnpm build:swc -w\" \"next dev dev --turbo\"",
|
|
78
93
|
"dev:generate-importmap": "pnpm dev:payload generate:importmap",
|
|
79
94
|
"dev:generate-types": "pnpm dev:payload generate:types",
|
|
80
95
|
"dev:payload": "cross-env PAYLOAD_CONFIG_PATH=./dev/payload.config.ts payload",
|
|
@@ -106,6 +121,7 @@
|
|
|
106
121
|
"@types/react": "19.1.8",
|
|
107
122
|
"@types/react-dom": "19.1.6",
|
|
108
123
|
"cloudflared": "^0.7.1",
|
|
124
|
+
"concurrently": "^9.2.1",
|
|
109
125
|
"copyfiles": "2.4.1",
|
|
110
126
|
"cross-env": "^7.0.3",
|
|
111
127
|
"dotenv-cli": "^11.0.0",
|
|
@@ -136,7 +152,8 @@
|
|
|
136
152
|
"@payloadcms/ui": "^3.55.1",
|
|
137
153
|
"lexical": "^0.35.0",
|
|
138
154
|
"next": ">=15.0.0",
|
|
139
|
-
"payload": "^3.55.1"
|
|
155
|
+
"payload": "^3.55.1",
|
|
156
|
+
"@payloadcms/live-preview-react": "^3.76.0"
|
|
140
157
|
},
|
|
141
158
|
"engines": {
|
|
142
159
|
"node": "^18.20.2 || >=20.9.0"
|
|
@@ -167,6 +184,21 @@
|
|
|
167
184
|
"import": "./dist/exports/client.js",
|
|
168
185
|
"types": "./dist/exports/client.d.ts",
|
|
169
186
|
"default": "./dist/exports/client.js"
|
|
187
|
+
},
|
|
188
|
+
"./ui/*": {
|
|
189
|
+
"import": "./dist/ui/*",
|
|
190
|
+
"types": "./dist/ui/*",
|
|
191
|
+
"default": "./dist/ui/*"
|
|
192
|
+
},
|
|
193
|
+
"./fields/*": {
|
|
194
|
+
"import": "./dist/fields/*",
|
|
195
|
+
"types": "./dist/fields/*",
|
|
196
|
+
"default": "./dist/fields/*"
|
|
197
|
+
},
|
|
198
|
+
"./providers/*": {
|
|
199
|
+
"import": "./dist/providers/*",
|
|
200
|
+
"types": "./dist/providers/*",
|
|
201
|
+
"default": "./dist/providers/*"
|
|
170
202
|
}
|
|
171
203
|
}
|
|
172
204
|
},
|
|
@@ -194,20 +226,19 @@
|
|
|
194
226
|
"@anthropic-ai/sdk": "^0.62.0",
|
|
195
227
|
"@fal-ai/client": "^1.7.0",
|
|
196
228
|
"@google/genai": "^1.30.0",
|
|
197
|
-
"@payloadcms/live-preview-react": "3.76.0",
|
|
198
229
|
"ai": "^5.0.104",
|
|
199
230
|
"ajv": "^8.17.1",
|
|
200
231
|
"elevenlabs": "^0.8.2",
|
|
201
232
|
"get-input-selection": "^1.1.4",
|
|
202
233
|
"handlebars": "4.7.8",
|
|
203
234
|
"handlebars-async-helpers": "^1.0.6",
|
|
235
|
+
"lexical-beautiful-mentions": "^0.1.48",
|
|
204
236
|
"locale-codes": "^1.3.1",
|
|
205
237
|
"lodash.isequal": "^4.5.0",
|
|
206
238
|
"openai": "^5.20.1",
|
|
207
239
|
"react-mentions": "^4.4.10",
|
|
208
240
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
209
241
|
"textarea-caret": "^3.0.2",
|
|
210
|
-
"zod": "^4.1.7"
|
|
211
|
-
"lexical-beautiful-mentions": "^0.1.48"
|
|
242
|
+
"zod": "^4.1.7"
|
|
212
243
|
}
|
|
213
244
|
}
|