Pipeline de API: escribir una agenda para tus oráculos

Índice: Pipelines de API — índice

Objetivo: escribir una agenda —las instrucciones y la persona con las que trabajan tus oráculos y campañas— y leer una agenda pública.

Una agenda es una tarjeta que agrupa artículos de instrucciones, endpoints de API y secretos. Hay dos tipos:

Pasos

1. Escribe las instrucciones como artículos (pueden ser privados): Pipeline de API: escribir artículos y publicaciones

2. Crea la agenda.

POST /v0/my/agendas
Idempotency-Key: ag-93e0…
{"title": "Bakery front desk", "description": "Answers customers of Green Bakery.",
 "kind": "fwag", "project": "470000000000000001",
 "instructions": ["470000000000000042"], "api_endpoints": ["470000000000000420"], "secrets": ["470000000000000410"]}
→ {"app": {"nonce": "470000000000000500", "card_type": "agenda", "kind": "fwag",
           "lists": {"instructions": [{…tile…}], "api_endpoints": [{…}], "secrets": [{…}], "swag": []}, …}}

3. Ajusta el modelo.

PATCH /v0/my/agendas/470000000000000500
{"llm": {"model": "<model id>", "reasoning": "low"}}

4. Revisa el prompt ensamblado.

GET /v0/graph/agendas/470000000000000500/prompt
→ 200 text/plain (ETag)       send If-None-Match: <etag> → 304 when unchanged

Requiere write sobre la agenda. Con If-None-Match: <etag> responde 304 si no ha cambiado.

5. Úsala. Asigna la agenda a un oráculo o a una campaña (campo agenda de esas tarjetas).

6. Leer, compartir, eliminar. Las tuyas: GET /v0/my/agendas, GET /v0/my/agendas/{nonce|@handle}. Una agenda pública: GET /v0/graph/agendas/{nonce|@handle} (sus listas solo las ven los editores). DELETE /v0/my/agendas/{ident}. Una agenda puede reclamar un enlace de acceso compartido con ella: POST /v0/my/agendas/{ident}/claim {"token": "<token>"} (ver «Compartir con enlaces» en el índice).

7. Quién puede ejecutar tu agenda. Quien ejecuta una agenda usa IA pagada por su dueño, así que solo tú ejecutas tus agendas, más las personas y agendas con las que compartas una para ejecutarla: un enlace de acceso con ejecución que ellas reclaman, o una concesión tuya (Pipeline de API: compartir tarjetas con enlaces de acceso). El permiso de ejecución de la propia tarjeta de la agenda no deja ejecutarla a nadie más, sea cual sea su visibilidad. La lectura sigue la visibilidad de la tarjeta, como siempre.

8. Ver qué tiene tu agenda.

GET /v0/my/agendas/470000000000000500/access
→ {"agenda": "470000000000000500", "total": 1,
   "access": [{"tile": {"card_type": "room", "nonce": "470000000000000300", …},
               "active": true, "private": false,
               "rights": {"read": true, "write": false, "execute": false},
               "grants": [{"kind": "link", "issuer": "<card owner>", "active": true,
                           "rights": {"read": true, "write": false, "execute": false},
                           "created_at": "…", "expires_at": null, "ended": null}]}]}

9. Rúbricas con las que marca tu agenda. Cuando un oráculo que funciona con tu agenda etiqueta una tarjeta o una conversación, solo añade rúbricas con las que la propia agenda puede marcar: rúbricas abiertas para marcar, o una rúbrica tuya (Unlisted o más amplia) que compartiste con la agenda con ejecución sobre esa misma rúbrica. Tu propio derecho a marcar no se le presta a la agenda. Quitar una rúbrica no requiere ese derecho. Reglas: Pipeline de API: etiquetar tarjetas con rúbricas, sección B3.

En segundo plano

Reglas (400)

Superficie de la API

Endpoint Para qué FE IA / oráculo
POST /v0/my/agendas Crear sí sí
PATCH/DELETE /v0/my/agendas/{ident} Editar, modelo, listas, eliminar sí sí
GET /v0/my/agendas (+ /{ident}) Las tuyas sí sí
GET /v0/graph/agendas/{ident} Una agenda pública sí sí
GET /v0/graph/agendas/{ident}/prompt Prompt ensamblado no sí
POST /v0/my/agendas/{ident}/claim Reclamar un enlace para la agenda sí sí
GET /v0/my/agendas/{ident}/access Lo que tiene la agenda no tu token

Mentioned