Um turno a partir da linha de comando
narya -p "<prompt>" roda um turno e responde na saída padrão. As flags dele:
--repo <path>define o repositório de trabalho, e assume por padrão o diretório de trabalho.--model <id>escolhe o modelo.--agent <name>roda o turno sob um agente nomeado.--session <id>continua uma sessão existente.--style <name>nomeia um estilo de resposta que você declarou como[styles.<name>]emconfig.toml. Ele não pode se juntar a--session.--jsonmuda a saída para um formato de máquina.
Códigos de saída
As duas falhas de credencial carregam códigos diferentes de propósito. Uma chave ausente sai com
2, e uma chave rejeitada sai com 1. Tente de novo no 1. No 2, leia a mensagem primeiro: um store preso se libera sozinho, e uma credencial ausente não.
Os dois formatos de --json
narya -p --json transmite um envelope de evento por linha na saída padrão. Cada linha carrega id, type e timestamp. Uma linha acrescenta sessionId e laneId quando o evento pertence a uma sessão ou a uma lane. payload é null quando o evento não carrega corpo. A saída simples carrega apenas a lane principal. O stream carrega cada lane, então selecione por laneId. Estes são os mesmos envelopes de evento que o host transmite na API dele, então um pipeline e um cliente leem um único formato.
Cada outro comando responde com um documento. As ações compartilham um envelope:
result é uma palavra para você ramificar. changed aparece apenas em uma execução que mudou algo. Uma saída diferente de zero carrega reason no lugar.
narya schedule add, narya schedule rm, narya schedule budget e narya export publicam o próprio documento em caso de sucesso, e imprimem o envelope apenas em caso de falha. Ramifique pelo código de saída nesses quatro, nunca por result.
Sob --json, a saída padrão carrega o documento ou o stream e nada mais. Frases para uma pessoa vão para a saída de erro padrão.
A credencial em um runner
Coloque a chave do provedor no secret store do seu CI e entregue-a ao step como
<PROVIDER>_API_KEY. O processo que chama o fornecedor lê essa variável do próprio ambiente, então um runner sem host rodando não consulta nenhum keychain e não armazena nada.
O Narya lê o histórico da própria branch, então faça o checkout da branch inteira.
Agendamentos
Coloque trabalho no relógio do host.
narya schedule add "<prompt>" --every <duration>repete em um intervalo, e--at <RFC3339>dispara uma vez.- Acrescente
--repo <path>,--agent <name>ou--budget <usd>a qualquer uma das formas. narya schedule listlista o que existe, enarya schedule rm <schedule-id>remove um.narya schedule budget <schedule-id> on <usd>ouoffmuda o teto de um agendamento existente.
--budget, o agendamento assume o padrão do operador, $5.00 por disparo, como [schedules] ceiling_usd. Se você define um número, o Narya o mantém. Se você define 0, o Narya guarda o agendamento e recusa dispará-lo até você definir um orçamento.
Workflows
Um workflow é um programa JavaScript que orquestra agentes. Comece um por caminho ou como código inline, pela API do host. O Narya recusa um programa inválido antes de qualquer coisa rodar. Um programa de workflow chama quatro capacidades:
agent(step, agent, task)roda um agente.agents([...])roda uma onda, lida na ordem que você pediu.step(name, value)registra um step.argsentrega ao programa os argumentos da própria execução.

