/** * Prompt: guia-campos-tablas * Referencia de tipos de campos para crear/editar tablas y sus campos en la base de datos (MySQL/PHP) */ export const guiaCamposTablasPrompt = { name: "guia-campos-tablas", description: "Referencia de tipos de campos para crear/editar tablas y sus campos en la base de datos (MySQL/PHP)", args: {}, handler: () => { return { messages: [ { role: "user", content: { type: "text", text: `Al modificar el esquema de la base de datos (crear/editar tablas), utiliza estos tipos de campos. Presta especial atención a la configuración del campo 'list'. ### Campo LIST (Selector/Relación) El tipo **'list'** es el más versátil. Define el origen de datos con \`optionsType\`: 1. **Lista Estática (optionsType: 'text')** - Para opciones fijas simples. - Formato: \`Valor|Etiqueta\` (una por línea). - Ejemplo: \`optionsText: "1|Activo\\n0|Inactivo"\` 2. **Relación con Tabla (optionsType: 'table')** - Para relacionar con otra tabla existente (Foreign Key lógica). - \`optionsTablename\`: Nombre de la tabla origen (ej: 'cms_categorias'). - \`optionsValueField\`: Campo que se guardará como valor (ej: 'id'). - \`optionsLabelField\`: Campo que se mostrará al usuario (ej: 'nombre'). 3. **Consulta SQL (optionsType: 'query')** - Para relaciones complejas o filtradas. - \`optionsQuery\`: Tu consulta SQL. - Usa \`\` para el prefijo. - Usa \`\` para filtros dinámicos. **Visualización del 'list' (\`listType\`):** - \`pulldown\`: Select estándar. - \`radios\`: Botones de radio. - \`checkboxes\`: Múltiples opciones (array). - \`pulldownMulti\`: Select múltiple. --- ### Otros Campos Comunes - **textfield**: Texto corto (VARCHAR). Opciones: \`defaultValue\`, \`fieldWidth\`. - **textbox**: Texto largo (TEXT). Opciones: \`fieldHeight\`. - **wysiwyg**: Editor HTML rico. Opciones: \`allowUploads\`. - **date**: Fecha/Hora. Opciones: \`showTime\` (bool), \`use24HourFormat\` (bool). - **checkbox**: Booleano. Configura \`checkedValue\` (ej: 1) y \`uncheckedValue\` (ej: 0). - **upload**: Subida de archivos. Guarda la ruta relativa. - **multitext**: Estructura JSON para guardar múltiples sub-valores en un solo campo. - **codigo**: Editor de código fuente. - **separator**: Solo visual, para organizar el formulario de edición. **Atributos Globales:** - \`isRequired\`: Obligatorio. - \`isUnique\`: Valor único en la tabla. - \`label\`: Nombre visible para el humano. - \`name\`: Nombre de la columna en DB (slug). ` } } ] }; } }; export function registerGuiaCamposTablasPrompt(server) { server.prompt( guiaCamposTablasPrompt.name, guiaCamposTablasPrompt.description, guiaCamposTablasPrompt.args, guiaCamposTablasPrompt.handler ); }