71 lines
3.5 KiB
JavaScript
71 lines
3.5 KiB
JavaScript
export const populateContentWorkflow = {
|
|
id: "populate_content",
|
|
name: "Populate Content",
|
|
description: "Bulk record creation with images for an existing section.",
|
|
steps: [
|
|
{
|
|
step: 1,
|
|
action: "Get table schema",
|
|
description: "Understand all fields and their types before creating records.",
|
|
tool: "get_table_schema",
|
|
critical: "Know the exact field names and types. Upload fields cannot be set via create_or_update_record."
|
|
},
|
|
{
|
|
step: 2,
|
|
action: "List existing records",
|
|
description: "Check what already exists to avoid duplicates.",
|
|
tool: "list_table_records",
|
|
critical: "Review existing content before adding new records."
|
|
},
|
|
{
|
|
step: 3,
|
|
action: "Generate images if needed",
|
|
description: "Create AI images for the content being created when existing assets are not available.",
|
|
tool: "generate_image",
|
|
critical: "Generate the image first and use the returned URL for upload later."
|
|
},
|
|
{
|
|
step: 4,
|
|
action: "Create records",
|
|
description: "Create all records with text content. Can batch insert multiple records in one call.",
|
|
tool: "create_or_update_record",
|
|
critical: "Batch insert: pass an array of objects in 'fields' parameter. Date format: YYYY-MM-DD HH:mm:ss. Checkbox: 1 or 0."
|
|
},
|
|
{
|
|
step: 5,
|
|
action: "Upload images to records",
|
|
description: "Attach images to each record's upload fields.",
|
|
tool: "upload_record_image",
|
|
critical: "Must call SEPARATELY for each record+field combination. Cannot batch image uploads. Need the record's num/ID from step 4."
|
|
},
|
|
{
|
|
step: 6,
|
|
action: "Verify records",
|
|
description: "Confirm all records were created with correct data.",
|
|
tool: "list_table_records",
|
|
critical: "Check that all fields are populated correctly including upload fields."
|
|
}
|
|
],
|
|
context: {
|
|
batch_insert: "create_or_update_record supports batch: pass fields as an array of objects instead of a single object. Each object is one record. Returns an array of created record IDs.",
|
|
image_sources: "Use existing project/client assets when available, or generate_image for AI-generated images via Nano Banana.",
|
|
upload_flow: "1. Create record first (get its num/ID). 2. Then call upload_record_image with tableName, recordId, fieldName, imageUrl. 3. The image is downloaded server-side and attached to the record."
|
|
},
|
|
rules: [
|
|
"Table names WITHOUT 'cms_' prefix in all tool calls",
|
|
"Primary key is ALWAYS 'num', never 'id'",
|
|
"Upload fields CANNOT be set via create_or_update_record — use upload_record_image",
|
|
"Date format: YYYY-MM-DD HH:mm:ss",
|
|
"Checkbox values: 1 or 0 (number, not boolean)",
|
|
"Enlace field: auto-formatted to /path/ with slashes if not provided"
|
|
],
|
|
warnings: [
|
|
"DO NOT try to set upload field values in create_or_update_record — use upload_record_image after creation",
|
|
"DO NOT forget that batch insert returns an array of created record IDs — you need these for image uploads",
|
|
"DO NOT upload images before creating the record — the record must exist first"
|
|
],
|
|
resources: [
|
|
"acai://resources/guia-registros"
|
|
]
|
|
};
|