Cómo se usa la IA aquí. Los fragmentos son código real del repositorio.
Usuario a ser usado: contador@demo.empresa.mx (contraseña Demo2026!)
Herramientas que expone a la IA (5):
consultar_polizaconsultar_estados_financieroslistar_polizasconsultar_catalogo_cuentassugerir_poliza
Ruta base en Nexus: /contabilidad-ms/v1
01 Herramienta de lectura: consulta el servicio y devuelve datos
Herramienta de lectura: consulta el servicio y devuelve datos.
@Tool(name = "consultar_poliza",
description = "Devuelve una póliza contable por su identificador UUID: periodo, tipo, fecha, estatus y movimientos (cargos y abonos por cuenta).")
public String consultarPoliza(
@ToolParam(description = "Identificador UUID de la póliza", required = true) String polizaId) {
RegistroHerramientasUsadas.registrar("consultar_poliza");
String cuerpo = gateway.get()
.uri(constructor -> constructor.path(RUTA_BASE + "/polizas/{id}")
.build(UUID.fromString(polizaId.trim())))
.retrieve()
.body(String.class);
return FiltroDatosSensibles.redactar(cuerpo).texto();
}
Qué hace: Llama al gateway con la ruta del servicio y devuelve el resultado al modelo.
02 Herramienta de escritura: prepara la acción y NO la ejecuta
Herramienta de escritura: prepara la acción y NO la ejecuta.
@Tool(name = "sugerir_poliza",
description = "Propone una póliza contable a partir de la descripción de una operación. No la registra. "
+ "Devuelve el identificador de la acción y un código de confirmación de una sola vez; "
+ "la póliza solo se registra cuando se confirma con confirmar_accion usando ese código.")
public String sugerirPoliza(
@ToolParam(description = "Descripción de la operación contable, con montos y moneda", required = true) String descripcion) {
RegistroHerramientasUsadas.registrar("sugerir_poliza");
AccionPendiente accion = servicio.get().preparar(usuarioActual(), descripcion);
return "Acción " + accion.id() + " preparada, vence " + accion.expiraUtc() + ". "
+ accion.resumen() + ". Código de confirmación: " + codigos.generar(accion.id(), accion.usuario())
+ ". Nada se ha registrado todavía.";
}
Qué hace: La acción queda pendiente hasta que la persona confirma con el código.
03 Ruta base del servicio dentro de Nexus
Ruta base del servicio dentro de Nexus.
static final String RUTA_BASE = "/contabilidad-ms/v1";
Qué hace: Todas las herramientas de este módulo se construyen sobre esta ruta.
Regla del proyecto: la IA propone o prepara; la persona confirma con el código de 8 dígitos. Ninguna herramienta de escritura cambia datos por sí sola.