Commit Graph

22 Commits

Author SHA1 Message Date
Jordan Diaz
bdee7665ec feat: el agente puede declarar y leer las cmsTables de un modulo
Las cmsTables (tablas del CMS cuyo contenido MUESTRA un modulo) ya se
definen desde Forge y desde el CMS legacy; faltaba que el agente las
entendiera.

- update_module_metadata acepta cmsTables. El endpoint del server ya la
  validaba, asi que solo habia que declararla en el schema Zod.
- get_module_config_vars la devuelve: sale gratis porque el handler ya
  resolvia el schema del modulo para uploadFields/varsMeta.
- Docs (01, 03, 09) con el matiz que mas se puede confundir: `tables` es
  donde viven los VALORES de las vars (siempre builder_custom, lo pone el
  compilador) y `cmsTables` es que contenido MUESTRA el modulo.

Para el agente lo util no es solo escribirlas: al recibirlas sabe donde
esta de verdad el contenido visible. Si le piden cambiar lo que muestra un
listado de noticias, los registros estan en esa tabla, no en las vars del
modulo.

Se documenta ademas que la metadata del builder.json es la UNICA parte
editable del fichero (y solo con esta tool): el resto lo regenera el
compilador en cada compilacion.
2026-08-12 11:32:07 +00:00
Jordan Diaz
b9df5cbb54 feat: tool set_upload_info para editar info1-info5 de uploads (registros y vars de modulo) + docs 2026-07-25 23:08:52 +00:00
Jordan Diaz
6aea6c7005 docs: pestañas de vars con data-field-group + infoLabels de uploads en builder-fields 2026-07-25 16:12:46 +00:00
Jordan Diaz
9c3d9fb999 fix(mcp): las traducciones de vars de modulo van por NOMBRE de var, no columna fisica
Una sesion real del agente guardo title3/title6/title2 (columnas de
builder_custom segun varsMeta.fieldName, como decian las docs) y el front
no pintaba nada: el runtime traduce vars con t($record, $var) por nombre
de var. Corregidas descripciones de set/get_record_translations, docs
03/09/11b y ACAI_ENDPOINTS; ademas el puente PHP ahora rechaza titleN/
textN sobre builder_custom con error explicativo (guardrail).
2026-07-17 08:18:18 +00:00
Jordan Diaz
76a63ce4e4 docs(mcp): enlace traducible por idioma en set_record_translations
Path absoluto con prefijo (/en/...); CocoEnlace regenera las filas al
cambiar el enlace base. Actualizados tool description, ACAI_ENDPOINTS y
docs 04/09/11b.
2026-07-16 20:56:03 +00:00
Jordan Diaz
d46c204ed0 feat(mcp): tools de idiomas y traducciones
- Nueva categoria tools/languages: list_web_languages,
  get_record_translations y set_record_translations (registros, config,
  textos_generales y vars de modulo via builder_custom).
- Param lang opcional en list_table_records y get_record
  (options.translates de CocoDB).
- Docs actualizados (03/04/06/09/11b + ACAI_ENDPOINTS) con el modelo de
  cms_traducciones y los workflows de traduccion.
2026-07-16 20:09:47 +00:00
Jordan
d475845c27 Ajustes de links en docs 2026-06-22 14:04:28 +01:00
Jordan
941040d534 Ajustes de docs headfield 2026-06-22 14:01:45 +01:00
Jordan Diaz
44cb956f95 Ajustes 2026-05-08 21:31:28 +00:00
Jordan Diaz
0dabba5442 ajustes en docs generales 2026-05-06 07:20:48 +00:00
Jordan Diaz
6881d64a08 ajustes 2026-04-25 10:27:51 +00:00
Jordan Diaz
62239cb0a5 ajustes coder 2026-04-21 16:55:37 +00:00
Jordan Diaz
d41a94b57d Ajustes de translate 2026-04-17 10:24:43 +00:00
Jordan Diaz
237dc00379 nah 2026-04-09 20:46:03 +00:00
Jordan Diaz
5bfcee6918 get_web_url: forzar HTTP en forge + documentar ?pruebas=1 obligatorio
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:37:27 +00:00
Jordan Diaz
30a62d9a1d Tool get_web_url: devuelve URL correcta del proyecto para fetch/playwright
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:33:39 +00:00
Jordan Diaz
50ccc0e2a1 Docs: prohibir navegación a dominio de producción, solo usar ACAI_WEB_URL
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:30:49 +00:00
Jordan Diaz
fea9d2bd92 Fix docs: eliminar localhost:8080, usar URL real del proyecto
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:26:48 +00:00
Jordan Diaz
a9fbd01b5d Fix Claude adapter: convertir mensajes OpenAI→Claude format
- role=tool → role=user con tool_result blocks
- assistant con tool_calls → assistant con tool_use blocks
- Merge mensajes consecutivos del mismo role (Claude requiere alternancia)
- Capturar input_tokens del evento message_start

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 10:22:35 +00:00
Jordan Diaz
301cef4d69 Forzar máximo 2 steps en plan: 1 coder + 1 reviewer opcional
El planner generaba 3+ steps para tareas simples causando que el
coder repitiera acciones en cada step (creaba el módulo varias veces).
Ahora el engine fusiona los steps en 1 coder con descripción combinada.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 23:47:05 +00:00
Jordan Diaz
2712c2fd49 Docs: create_module es legacy, acai_write es el flujo estándar
El server compila automáticamente al guardar index-base.tpl via
acai_write — no necesita create_module ni compile_module manual.

- mcp-tools-reference.md: flujo actualizado, create_module marcado legacy
- module-creation-guide.md: paso 2 usa acai_write
- ACAI-CLAUDE.md: key workflows actualizados
- coder.py: system prompt alineado

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:40:47 +00:00
Jordan
91cfdaee72 Initial commit 2026-04-01 23:16:45 +01:00