Loomen.documentación
Ir a la consola
conceptos

La vinculación

Una vinculación es la unidad de autorización de Loomen: dice que este agente puede ejecutar esta acción sobre este destino, y por dónde sale cuando lo hace. Es lo único que hay que crear para que un agente pase de hablar a actuar.

agente
agente de cobranzas
acción
notificar
destino
humano
política
firma humana
canal
slack · #pagos
agente · acción · destino → canal, con una política opcional en el medio

Quién decide qué

El reparto es deliberado. El agente conoce el hecho; la vinculación conoce la organización. Si mañana el equipo de pagos se muda de Slack a correo, cambiás la vinculación y el prompt del agente no se toca.

lo que dice el agentelo que decide la vinculación
Qué clase de cosa está pasando (action)Si ese agente tiene permiso para eso
A qué clase de destinatario apunta (destination)Quién es esa persona o ese sistema, en concreto
Una línea contando el hecho (summary)Por qué canal sale, y con qué credencial
Los datos que respaldan esa línea (context)Si hace falta una firma humana antes
Nada sobre credencialesLas credenciales de cada canal, cifradas

Cómo se elige una vinculación

Cuando llega una invocación, el servidor busca las vinculaciones activas de ese agente que coincidan con el par action + destination.

  • Ninguna coincide: la llamada se rechaza nombrando el par, sin ejecutar nada. Es el primer error que ve todo el mundo.
  • Coincide una: sale por su canal.
  • Coinciden varias: sale por todas. Por eso una sola invocación puede tener varias entregas y un estado partial.
  • El agente pasó binding_id: se usa esa y no se evalúa ninguna otra. Si además nombró acción y destino, tienen que coincidir con ella.

El destino participa de la elección, no la decora: dos vinculaciones de la misma acción pueden significar cosas opuestas —avisarle a operaciones, avisarle al cliente—, así que repartir por acción sola mandaría un aviso interno a un cliente.

La política, y la firma humana

Una política puede frenar la ejecución hasta que una persona la firme. El agente no se entera de quién firma ni con qué regla se lo frenó: recibe pending y un id. La firma ocurre en la consola y queda registrada con su actor.

Es el mismo mecanismo para dos usos distintos: frenar una acción riesgosa, o usar la acción autorizacion_humana cuando la firma es el objetivo de la llamada.

Si nadie firma, la solicitud vence a las cuatro horas y queda cerrada con su línea en el registro, una por cada entrega que no ocurrió.

La clave es del agente

Registrar un agente emite la clave que después va en Authorization: Bearer, y se muestra una sola vez. Cubre todas las vinculaciones de ese agente: una clave autentica a quién llama, y la vinculación decide qué puede hacer.

Rotarla emite una nueva y deja la anterior viva 24 horas, para que puedas moverla sin cortar el servicio. Revocarla la corta en el acto, que es lo que hace falta cuando se filtró.