Un turno desde la línea de comandos
narya -p "<prompt>" ejecuta un turno y responde en la salida estándar. Sus flags:
--repo <path>define el repositorio de trabajo y, de forma predeterminada, usa el directorio de trabajo.--model <id>elige el modelo.--agent <name>ejecuta el turno bajo un agente con nombre.--session <id>continúa una sesión existente.--style <name>nombra un estilo de respuesta que declaraste como[styles.<name>]enconfig.toml. No puede combinarse con--session.--jsoncambia la salida a un formato legible por máquinas.
Códigos de salida
Las dos fallas de credencial llevan códigos distintos a propósito. Una clave ausente sale con
2, y una clave rechazada sale con 1. Reintenta con 1. Con 2, lee primero el mensaje: un almacén retenido se libera solo, y una credencial ausente no.
Las dos formas de --json
narya -p --json transmite un envelope de evento por línea en la salida estándar. Cada línea lleva id, type y timestamp. Una línea agrega sessionId y laneId cuando el evento pertenece a una sesión o a una lane. payload es null cuando el evento no lleva cuerpo. La salida simple lleva solo la lane principal. El stream lleva cada lane, así que selecciona por laneId. Estos son los mismos envelopes de evento que el host transmite en su API, así que un pipeline y un cliente leen un solo formato.
Todos los demás comandos responden con un documento. Las acciones comparten un envelope:
result es una palabra para ramificar. changed aparece solo en una ejecución que cambió algo. Una salida distinta de cero lleva reason en su lugar.
narya schedule add, narya schedule rm, narya schedule budget y narya export publican su propio documento cuando tienen éxito, e imprimen el envelope solo cuando fallan. Ramifica por el código de salida para esos cuatro, nunca por result.
Con --json, la salida estándar lleva el documento o el stream y nada más. Las frases para una persona van al error estándar.
La credencial en un runner
Pon la clave del proveedor en el almacén de secretos de tu CI y entrégala al paso como
<PROVIDER>_API_KEY. El proceso que llama al proveedor lee esa variable de su propio entorno, así que un runner sin un host en ejecución no consulta ningún keychain y no almacena nada.
Narya lee el historial propio de la rama, así que haz checkout de la rama completa.
Programaciones
Pon trabajo en el reloj del host.
narya schedule add "<prompt>" --every <duration>se repite en un intervalo, y--at <RFC3339>dispara una vez.- Agrega
--repo <path>,--agent <name>o--budget <usd>a cualquiera de las dos formas. narya schedule listlista lo que existe, ynarya schedule rm <schedule-id>elimina una.narya schedule budget <schedule-id> on <usd>ooffcambia el límite de una programación existente.
--budget, la programación toma el valor predeterminado del operador, $5.00 por disparo, como [schedules] ceiling_usd. Si defines un número, Narya lo conserva. Si defines 0, Narya guarda la programación y se niega a dispararla hasta que definas un presupuesto.
Workflows
Un workflow es un programa de JavaScript que orquesta agentes. Inicia uno por ruta o como código fuente en línea, a través de la API del host. Narya rechaza un programa inválido antes de que algo se ejecute. Un programa de workflow llama a cuatro capacidades:
agent(step, agent, task)ejecuta un agente.agents([...])ejecuta una tanda, que se lee en el orden que pediste.step(name, value)registra un paso.argsentrega al programa los argumentos de su propia ejecución.

