@autonsh/cli 0.0.6 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * auton CLI — "Deploy AI agents in one command"
3
+ * auton CLI — "Tasks that start themselves"
4
+ * 0.9.1+: unidade = task (task.yaml + `auton run "<objetivo>"`).
5
+ * Comandos legado (agent/invoke) seguem funcionando; o worker ainda é um
6
+ * agente por turno até o loop fechado (0.9.2).
4
7
  * v0: pipeline local real — POST /v1/agents, SSE logs, status, undeploy.
5
8
  */
6
9
  import { readFile, writeFile } from "node:fs/promises";
@@ -12,6 +15,7 @@ import { SingleBar, Presets } from "cli-progress";
12
15
  import pc from "picocolors";
13
16
  import { ok, fail, info, dim, bold, url, spinner, logo, tagLine, statusColor, table, box, isTTY, } from "./ui.js";
14
17
  import { TEMPLATES, promptInit, promptConfirmUndeploy } from "./prompts.js";
18
+ import { loadTaskManifest } from "./task.js";
15
19
  const SRC = dirname(fileURLToPath(import.meta.url));
16
20
  // runtime package real (monorepo). CLI linka em node_modules/@autonsh/runtime
17
21
  // do diretório do agente → handler importa "@autonsh/runtime" de qualquer lugar.
@@ -107,10 +111,20 @@ async function cmdInit(name, template) {
107
111
  }
108
112
  mkdirSync(dir, { recursive: true });
109
113
  cpSync(join(TEMPLATES_SRC, template), dir, { recursive: true });
110
- // seta o nome real no manifest
111
- const yamlPath = join(dir, "agent.yaml");
114
+ // seta o nome real no manifest (task.yaml desde 0.9.1)
115
+ const yamlPath = join(dir, "task.yaml");
112
116
  const yaml = (await readFile(yamlPath, "utf8")).replace(/^name: .*$/m, `name: ${plain}`);
113
117
  await writeFile(yamlPath, yaml);
118
+ // package.json do projeto (0.0.7): remove o passo manual de criar pacote.
119
+ // `npm install` abaixo salva/adiciona a dep se preciso; aqui o pacote já existe.
120
+ const pkgName = plain.toLowerCase().replace(/[^a-z0-9._-]/g, "-");
121
+ await writeFile(join(dir, "package.json"), JSON.stringify({
122
+ name: pkgName || "agent",
123
+ version: "0.0.0",
124
+ private: true,
125
+ type: "module",
126
+ dependencies: { "@autonsh/runtime": "^0.9.2" },
127
+ }, null, 2) + "\n");
114
128
  ensureRuntimeLink(dir);
115
129
  if (!HAS_LOCAL_RUNTIME) {
116
130
  await installRuntime(dir);
@@ -118,7 +132,7 @@ async function cmdInit(name, template) {
118
132
  if (isTTY)
119
133
  console.log(logo());
120
134
  console.log(ok(`${plain} (template: ${template}) em ${dim(dir)}`));
121
- console.log(info(`próximo: ${bold("deploy agent .")}`));
135
+ console.log(info(`próximo: ${bold(`auton run "${plain}" <objetivo>`)}`));
122
136
  }
123
137
  const VERSION = JSON.parse(readFileSync(resolve(SRC, "../package.json"), "utf8")).version;
124
138
  const API = process.env.AUTON_API ?? "http://localhost:8080";
@@ -130,47 +144,33 @@ function authHeaders(extra) {
130
144
  return h;
131
145
  }
132
146
  const USAGE = `
133
- auton — Deploy AI agents in one command
147
+ auton — Tasks that start themselves
134
148
 
135
149
  Usage:
136
- deploy init [nome] [template] Scaffold de agente (support|cron-digester|webhook-echo)
137
- deploy agent [path] Faz deploy do agente (default: diretório atual)
138
- deploy ps Lista agentes + status
139
- deploy logs [name] Stream de logs do agente (SSE)
140
- deploy status [name] Status do agente
141
- deploy invoke [name] [--stream] [-- prompt]
142
- Roda 1 turno (--stream: saída ao vivo via SSE)
143
- deploy kv get|set|ls [name] [key] [value]
144
- Inspeciona o storage KV do agente
145
- deploy undeploy [name] Remove o agente
146
- deploy login TODO: auth com control plane (dpk_...)
150
+ auton run [goal] Roda a task do diretório atual com o objetivo
151
+ (usa task.yaml: goal default)
152
+ auton continue [name] [goal] Retoma a última task (sem redeploy)
153
+ auton init [nome] [template] Scaffold de task (support|with-approval|cron-digester|webhook-echo)
154
+ auton ps Lista tasks/agentes + status
155
+ auton logs [name] Stream de logs da task (SSE)
156
+ auton status [name] Status da task
157
+ auton invoke [name] [--stream] [-- prompt]
158
+ Roda 1 turno (legado v0)
159
+ auton kv get|set|ls [name] [key] [value]
160
+ Inspeciona o storage KV
161
+ auton context [name] Lista work context: decisions/findings/artifacts
162
+ auton approve|reject [name] [-- razão]
163
+ Decide o gate de aprovação (approval: true)
164
+ auton undeploy [name] Remove a task
165
+ auton login TODO: auth com control plane (dpk_...)
147
166
 
148
167
  Options:
149
168
  --help, -h Mostra ajuda
150
169
  --version, -v Mostra versão
151
170
  AUTON_API=http://... Base do control plane (default localhost:8080)
171
+
172
+ Nota: commandos legado v0 (deploy agent . / deploy invoke) continuam funcionando.
152
173
  `;
153
- async function loadManifest(dir) {
154
- const raw = await readFile(resolve(dir, "agent.yaml"), "utf8");
155
- const name = raw.match(/^name:\s*(\S+)/m)?.[1];
156
- const entry = raw.match(/^entry:\s*(\S+)/m)?.[1];
157
- if (!name || !entry) {
158
- throw new Error("agent.yaml inválido: campos 'name' e 'entry' obrigatórios");
159
- }
160
- const models = raw.match(/^models:\s*\n\s*default:\s*(\S+)/m)?.[1] ?? "";
161
- const cron = raw.match(/^cron:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? "";
162
- const env = [];
163
- const envBlock = raw.match(/^env:\s*\n((?:[ \t]*- \S+\n?)+)/m);
164
- if (envBlock?.[1]) {
165
- for (const line of envBlock[1].split("\n")) {
166
- const m = line.match(/^\s*-\s*(\S+)/);
167
- const key = m?.[1];
168
- if (key)
169
- env.push(key);
170
- }
171
- }
172
- return { name, entry, env, models, cron };
173
- }
174
174
  function pickEnv(keys) {
175
175
  const out = {};
176
176
  for (const k of keys) {
@@ -181,7 +181,10 @@ function pickEnv(keys) {
181
181
  return out;
182
182
  }
183
183
  async function cmdDeploy(dir) {
184
- const manifest = await loadManifest(dir);
184
+ const manifest = await loadTaskManifest(dir);
185
+ if (manifest.legacy) {
186
+ console.log(dim(`aviso: ${bold("agent.yaml")} é legado v0 — renomeie para ${bold("task.yaml")}`));
187
+ }
185
188
  const spin = spinner(`deployando ${bold(manifest.name)}...`);
186
189
  try {
187
190
  const res = await fetch(`${API}/v1/agents`, {
@@ -208,8 +211,84 @@ async function cmdDeploy(dir) {
208
211
  throw e;
209
212
  }
210
213
  }
214
+ /** Summary pós-turno: task fechada ([TASK:DONE]) → caixa com evidência. */
215
+ async function printTaskDone(taskName, goal, lines) {
216
+ const doneLine = lines.find((l) => l.startsWith("[TASK:DONE]"));
217
+ if (!doneLine) {
218
+ console.log(ok(`task ${bold(taskName)} em aberto (sem task.done)`));
219
+ console.log(info(`logs: ${bold(`auton logs ${taskName}`)}`));
220
+ return;
221
+ }
222
+ let evid = {};
223
+ try {
224
+ evid = JSON.parse(doneLine.slice("[TASK:DONE]".length).trim());
225
+ }
226
+ catch {
227
+ /* evidência não-JSON: caixa sem dados */
228
+ }
229
+ console.log(box(`task ${taskName} concluída`, [
230
+ `objetivo: ${bold(goal)}`,
231
+ `resultado: ${String(evid.result ?? "?")}`,
232
+ ]));
233
+ if (evid.evidence)
234
+ console.log(dim(`evidência: ${JSON.stringify(evid.evidence)}`));
235
+ }
236
+ /** auton run "<goal>" — pivô task (0.9.1):
237
+ * deploy do worker + invoke com goal; task.done fecha o loop com evidência.
238
+ * 0.9.2+: loop multi-turno (agents efêmeros) + approval. */
239
+ async function cmdRun(dir, goalArg) {
240
+ const manifest = await loadTaskManifest(dir);
241
+ const goal = goalArg ?? manifest.goal;
242
+ if (!goal) {
243
+ throw new Error(`task ${manifest.name} sem objetivo — passe "${bold('auton run "<objetivo>"')}" ou defina 'goal' no task.yaml`);
244
+ }
245
+ await cmdDeploy(dir);
246
+ const lines = await cmdInvoke(manifest.name, goal, false);
247
+ await printTaskDone(manifest.name, goal, lines);
248
+ }
249
+ /** auton continue — retoma a última task sem re-passar o objetivo.
250
+ * O harness guarda o último input no KV ("ultima-task"); aqui só busca e
251
+ * invoca de novo (worker dormindo → cold start; KV persiste). */
252
+ async function cmdContinue(dir, nameArg, goalArg) {
253
+ const manifest = await loadTaskManifest(dir);
254
+ const name = nameArg ?? manifest.name;
255
+ const lastRes = await fetch(`${API}/v1/agents/${name}/kv/ultima-task`, {
256
+ headers: authHeaders(),
257
+ });
258
+ if (!lastRes.ok) {
259
+ throw new Error(`task ${name} sem estado para continuar (rode 'auton run' primeiro). control plane ${lastRes.status}`);
260
+ }
261
+ const last = (await lastRes.json());
262
+ const goal = goalArg ?? last?.goal;
263
+ if (!goal) {
264
+ throw new Error(`task ${name} sem objetivo registrado (KV 'ultima-task' vazio)`);
265
+ }
266
+ console.log(info(`continuando task ${bold(name)} (goal: ${goal})`));
267
+ const lines = await cmdInvoke(name, goal, false);
268
+ await printTaskDone(name, goal, lines);
269
+ }
270
+ /** autón approve | reject — gate humano do loop (0.9.1).
271
+ * Worker parado em [APPROVAL:REQ] retoma no próximo invoke com
272
+ * { prompt: '{"approval":{approved,reason}}' }. */
273
+ async function cmdApproval(name, approved, reason) {
274
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
275
+ const prompt = JSON.stringify({
276
+ approval: { approved, reason: reason ?? undefined },
277
+ });
278
+ const lines = await cmdInvoke(agent, prompt, false);
279
+ const done = lines.find((l) => l.startsWith("[TASK:DONE]"));
280
+ if (done) {
281
+ console.log(ok(`decisão aplicada — task ${bold(agent)} concluída.`));
282
+ }
283
+ else if (lines.some((l) => l.startsWith("[APPROVAL:REQ]"))) {
284
+ console.log(info("nova aprovação pendente — `auton approve` de novo."));
285
+ }
286
+ else {
287
+ console.log(ok(`decisão entregue à task ${bold(agent)}.`));
288
+ }
289
+ }
211
290
  async function cmdLogs(name) {
212
- const agent = name ?? (await loadManifest(process.cwd())).name;
291
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
213
292
  const res = await fetch(`${API}/v1/agents/${agent}/logs`, {
214
293
  headers: authHeaders({ Accept: "text/event-stream" }),
215
294
  });
@@ -240,7 +319,7 @@ async function cmdLogs(name) {
240
319
  }
241
320
  }
242
321
  async function cmdStatus(name) {
243
- const agent = name ?? (await loadManifest(process.cwd())).name;
322
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
244
323
  const res = await fetch(`${API}/v1/agents/${agent}`, {
245
324
  headers: authHeaders(),
246
325
  });
@@ -250,7 +329,7 @@ async function cmdStatus(name) {
250
329
  console.log(JSON.stringify(await res.json(), null, 2));
251
330
  }
252
331
  async function cmdUndeploy(name) {
253
- const agent = name ?? (await loadManifest(process.cwd())).name;
332
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
254
333
  if (isTTY && !(await promptConfirmUndeploy(agent)))
255
334
  return;
256
335
  const res = await fetch(`${API}/v1/agents/${agent}`, {
@@ -263,7 +342,7 @@ async function cmdUndeploy(name) {
263
342
  console.log(ok(`${agent} removido`));
264
343
  }
265
344
  async function cmdInvoke(name, prompt, stream) {
266
- const agent = name ?? (await loadManifest(process.cwd())).name;
345
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
267
346
  const body = prompt !== undefined ? { prompt } : undefined;
268
347
  const post = fetch(`${API}/v1/agents/${agent}/invoke`, {
269
348
  method: "POST",
@@ -282,12 +361,12 @@ async function cmdInvoke(name, prompt, stream) {
282
361
  console.log(ok(`turno ${out.turn} (${out.lines.length} linhas)`));
283
362
  for (const line of out.lines)
284
363
  console.log(line);
364
+ return out.lines;
285
365
  }
286
366
  catch (e) {
287
367
  spin.stop();
288
368
  throw e;
289
369
  }
290
- return;
291
370
  }
292
371
  // modo stream: conecta no SSE de logs e imprime AO VIVO até o turno terminar
293
372
  const spin = spinner("aguardando turno...");
@@ -321,12 +400,49 @@ async function cmdInvoke(name, prompt, stream) {
321
400
  if (payload.includes("turno terminado")) {
322
401
  // turno acabou; aguarda o POST confirmar e encerra
323
402
  await post;
324
- return;
403
+ return [];
325
404
  }
326
405
  }
327
406
  }
328
407
  }
329
408
  spin.stop();
409
+ return [];
410
+ }
411
+ /** autonomous context [name] — imprime a memória do trabalho da task:
412
+ * decisions/findings/artifacts gravadas via ctx.work (KV "work:*"). */
413
+ async function cmdContext(name) {
414
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
415
+ const res = await fetch(`${API}/v1/agents/${agent}/kv`, { headers: authHeaders() });
416
+ if (!res.ok)
417
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
418
+ const all = (await res.json());
419
+ const kinds = ["decision", "finding", "artifact"];
420
+ const byKind = new Map();
421
+ for (const k of Object.keys(all)) {
422
+ const m = k.match(/^work:(\w+)$/);
423
+ const kind = m?.[1];
424
+ if (kind && Array.isArray(all[k]))
425
+ byKind.set(kind, all[k]);
426
+ }
427
+ if (byKind.size === 0) {
428
+ console.log(dim(`(work context vazio — ${agent})`));
429
+ return;
430
+ }
431
+ console.log(bold(`work context · ${agent}`));
432
+ for (const kind of kinds) {
433
+ const recs = byKind.get(kind);
434
+ if (!recs || recs.length === 0)
435
+ continue;
436
+ console.log(bold(`\n${kind.toUpperCase()}`));
437
+ for (const r of recs) {
438
+ const id = String(r.id ?? "").slice(0, 8);
439
+ const quando = String(r.createdAt ?? "?").slice(0, 19).replace("T", " ");
440
+ console.log(` ${dim(id)} ${quando} — ${String(r.title ?? "?")}`);
441
+ if (r.payload !== undefined) {
442
+ console.log(` ${dim(JSON.stringify(r.payload))}`);
443
+ }
444
+ }
445
+ }
330
446
  }
331
447
  async function cmdPs() {
332
448
  const res = await fetch(`${API}/v1/agents`, { headers: authHeaders() });
@@ -348,7 +464,7 @@ async function cmdPs() {
348
464
  console.log(table(["AGENTE", "STATUS", "CRON", "LOGS", "KV"], rows));
349
465
  }
350
466
  async function cmdKv(op, name, key, value) {
351
- const agent = name ?? (await loadManifest(process.cwd())).name;
467
+ const agent = name ?? (await loadTaskManifest(process.cwd())).name;
352
468
  const base = `${API}/v1/agents/${agent}/kv`;
353
469
  if (op === "ls") {
354
470
  const res = await fetch(base, { headers: authHeaders() });
@@ -422,6 +538,21 @@ async function main() {
422
538
  case "status":
423
539
  await cmdStatus(args[1]);
424
540
  break;
541
+ case "run": {
542
+ // auton run "<goal>" (ou auton run → goal do task.yaml)
543
+ const goal = args.slice(1).join(" ").trim() || undefined;
544
+ ensureRuntimeLink(process.cwd());
545
+ await cmdRun(process.cwd(), goal);
546
+ break;
547
+ }
548
+ case "continue": {
549
+ // auton continue [name] [goal...]
550
+ const goal = args.slice(2).filter((a) => !a.startsWith("-")).join(" ").trim() || undefined;
551
+ const nameArg = args[1] && !args[1].startsWith("-") ? args[1] : undefined;
552
+ ensureRuntimeLink(process.cwd());
553
+ await cmdContinue(process.cwd(), nameArg, goal);
554
+ break;
555
+ }
425
556
  case "invoke": {
426
557
  // deploy invoke [name] [-- prompt] [--stream]
427
558
  const rest = args.slice(2);
@@ -434,9 +565,23 @@ async function main() {
434
565
  case "undeploy":
435
566
  await cmdUndeploy(args[1]);
436
567
  break;
568
+ case "approve":
569
+ case "reject": {
570
+ const approved = args[0] === "approve";
571
+ // auton approve [name] [-- razão]: -- na posição [1] = sem name
572
+ const rest = args.slice(1);
573
+ const dash = rest.indexOf("--");
574
+ const name = dash === -1 ? rest[0] : dash === 0 ? undefined : rest[0];
575
+ const reason = dash !== -1 ? rest.slice(dash + 1).join(" ") : undefined;
576
+ await cmdApproval(name, approved, reason);
577
+ break;
578
+ }
437
579
  case "ps":
438
580
  await cmdPs();
439
581
  break;
582
+ case "context":
583
+ await cmdContext(args[1]);
584
+ break;
440
585
  case "init": {
441
586
  // deploy init [nome] [template] — sem argumentos (TTY): pergunta interativo
442
587
  if (isTTY && !args[1] && !args[2]) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const TEMPLATES: readonly ["support", "cron-digester", "webhook-echo"];
1
+ export declare const TEMPLATES: readonly ["support", "cron-digester", "webhook-echo", "with-approval"];
2
2
  export type Template = (typeof TEMPLATES)[number];
3
3
  export declare function promptCanceled(): never;
4
4
  /** init sem argumentos: pergunta template + nome (TTY). */
package/dist/prompts.js CHANGED
@@ -4,7 +4,7 @@ import { confirm, intro, isCancel, outro, select, text } from "@clack/prompts";
4
4
  import pc from "picocolors";
5
5
  import { basename } from "node:path";
6
6
  import { dim } from "./ui.js";
7
- export const TEMPLATES = ["support", "cron-digester", "webhook-echo"];
7
+ export const TEMPLATES = ["support", "cron-digester", "webhook-echo", "with-approval"];
8
8
  export function promptCanceled() {
9
9
  outro("cancelado");
10
10
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,CAAU,CAAC;AAG/E,MAAM,UAAU,cAAc;IAC5B,KAAK,CAAC,WAAW,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;KACxD,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAAE,cAAc,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;QACtB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;KAC1F,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,cAAc,EAAE,CAAC;IACrC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAoB,EAAE,CAAC;AAC/D,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,OAAO,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7C,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,uDAAuD;AACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,CAAU,CAAC;AAGhG,MAAM,UAAU,cAAc;IAC5B,KAAK,CAAC,WAAW,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;QAC5B,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;KACxD,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ,CAAC;QAAE,cAAc,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;QACtB,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;KAC1F,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,IAAI,CAAC;QAAE,cAAc,EAAE,CAAC;IACrC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAoB,EAAE,CAAC;AAC/D,CAAC;AAED,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;QAC3B,OAAO,EAAE,oBAAoB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7C,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/task.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ export interface TaskManifest {
2
+ name: string;
3
+ description?: string;
4
+ goal?: string;
5
+ entry: string;
6
+ models: string;
7
+ cron: string;
8
+ env: string[];
9
+ skills: string[];
10
+ approval: boolean;
11
+ legacy: boolean;
12
+ }
13
+ export declare function loadTaskManifest(dir: string): Promise<TaskManifest>;
package/dist/task.js ADDED
@@ -0,0 +1,70 @@
1
+ /**
2
+ * task.ts — manifesto da UNIDADE do produto (0.9.1): task.yaml.
3
+ *
4
+ * Pivô task: o usuário descreve o objetivo (goal); entry/env/models são
5
+ * detalhes do worker que o lead usa pra executar. 0.9.1 aceita task.yaml
6
+ * (novo) E agent.yaml (legado, com warning) — mesmo schema de parsing.
7
+ */
8
+ import { readFile } from "node:fs/promises";
9
+ import { resolve } from "node:path";
10
+ const MANIFESTS = ["task.yaml", "agent.yaml"];
11
+ export async function loadTaskManifest(dir) {
12
+ let raw = "";
13
+ let source;
14
+ for (const f of MANIFESTS) {
15
+ try {
16
+ raw = await readFile(resolve(dir, f), "utf8");
17
+ source = f;
18
+ break;
19
+ }
20
+ catch {
21
+ /* próximo */
22
+ }
23
+ }
24
+ if (!source) {
25
+ throw new Error(`manifesto não encontrado em ${dir} — falta ${MANIFESTS.join(" ou ")}, rode 'auton init'`);
26
+ }
27
+ const name = raw.match(/^name:\s*(\S+)/m)?.[1];
28
+ const entry = raw.match(/^entry:\s*(\S+)/m)?.[1];
29
+ if (!name || !entry) {
30
+ throw new Error(`${source} inválido: campos 'name' e 'entry' obrigatórios`);
31
+ }
32
+ const description = raw.match(/^description:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? undefined;
33
+ const goal = raw.match(/^goal:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? undefined;
34
+ const models = raw.match(/^models:\s*\n\s*default:\s*(\S+)/m)?.[1] ?? "";
35
+ const cron = raw.match(/^cron:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? "";
36
+ const approval = (raw.match(/^approval:\s*(\S+)/m)?.[1] ?? "false").toLowerCase() === "true";
37
+ const env = [];
38
+ const envBlock = raw.match(/^env:\s*\n((?:[ \t]*- \S+\n?)+)/m);
39
+ if (envBlock?.[1]) {
40
+ for (const line of envBlock[1].split("\n")) {
41
+ const m = line.match(/^\s*-\s*(\S+)/);
42
+ const key = m?.[1];
43
+ if (key)
44
+ env.push(key);
45
+ }
46
+ }
47
+ const skills = [];
48
+ const skillsBlock = raw.match(/^skills:\s*\n((?:[ \t]*- \S+\n?)+)/m);
49
+ if (skillsBlock?.[1]) {
50
+ for (const line of skillsBlock[1].split("\n")) {
51
+ const m = line.match(/^\s*-\s*(\S+)/);
52
+ const skill = m?.[1];
53
+ if (skill)
54
+ skills.push(skill);
55
+ }
56
+ }
57
+ return {
58
+ name,
59
+ description,
60
+ goal,
61
+ entry,
62
+ models,
63
+ cron,
64
+ env,
65
+ skills,
66
+ approval,
67
+ legacy: source === "agent.yaml",
68
+ };
69
+ }
70
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,8 @@
1
1
  {
2
2
  "name": "@autonsh/cli",
3
- "version": "0.0.6",
4
- "description": "auton CLI. Deploy AI agents in one command.",
3
+ "version": "0.9.2",
4
+ "description": "auton CLI. Run autonomous tasks in one command.",
5
5
  "type": "module",
6
- "bin": {
7
- "deploy": "dist/index.js"
8
- },
9
6
  "files": [
10
7
  "dist",
11
8
  "templates"
@@ -1,7 +1,7 @@
1
1
  import { agent } from "@autonsh/runtime";
2
2
 
3
3
  // Digest periódico: cron roda sozinho, acumula execuções no storage.
4
- // Ajuste o expr em agent.yaml (expressão cron com segundos).
4
+ // Ajuste o expr em task.yaml (expressão cron com segundos).
5
5
  export default agent(async (ctx) => {
6
6
  const runs = ((await ctx.storage.get("runs")) as number) ?? 0;
7
7
  await ctx.storage.set("runs", runs + 1);
@@ -0,0 +1,7 @@
1
+ name: cron-digester
2
+ description: Resumo periódico (cron)
3
+ goal: "resume os eventos do período"
4
+ entry: agent.ts
5
+ models:
6
+ default: mock:local
7
+ cron: "*/3 * * * * *"
@@ -1,21 +1,42 @@
1
- import { agent } from "@autonsh/runtime";
1
+ import { agent, TASK_DONE_EVENT } from "@autonsh/runtime";
2
2
 
3
- // Bot de suporte: recebe pergunta do trigger (invoke) e responde com o LLM.
4
- // Troque o modelo em agent.yaml (mock:local openai:gpt-5 / ollama:qwen3).
3
+ // Task de suporte loop fechado (0.9.1):
4
+ // PLAN IMPLEMENT VERIFY → task.done (evidência). Mock:local ecoa cada fase.
5
+ // Troque o modelo em task.yaml (mock:local → openai:gpt-5 / ollama:qwen3).
5
6
  export default agent(async (ctx) => {
6
- const q = (ctx.input as { prompt?: string } | undefined)?.prompt;
7
- if (!q) {
8
- await ctx.logger.warn("invoke sem prompt");
9
- return;
10
- }
11
-
12
- const resposta = await ctx.llm.chat({
13
- system: "Você é suporte da auton. Respostas curtas em PT-BR.",
14
- prompt: q,
7
+ const goal = ((ctx.input as { prompt?: string } | undefined)?.prompt ?? "").trim()
8
+ || "responde o pedido do usuário";
9
+
10
+ await ctx.logger.info("task iniciada", { goal });
11
+
12
+ const plan = await ctx.llm.chat({
13
+ system: "Planeje em uma frase. Você é suporte da auton.",
14
+ prompt: goal,
15
+ });
16
+ await ctx.logger.info("plano", { plan });
17
+
18
+ const result = await ctx.llm.chat({
19
+ system: "Execute o plano. Resposta curta em PT-BR.",
20
+ prompt: goal,
15
21
  });
22
+ await ctx.logger.info("resposta", { result });
16
23
 
24
+ const check = await ctx.llm.chat({
25
+ system: "Verifique a resposta: cobre o pedido? Responda SIM ou lista do que falta.",
26
+ prompt: `${goal}\n---\n${result}`,
27
+ });
28
+ await ctx.logger.info("verificacao", { check });
29
+
30
+ await ctx.storage.set("ultima-resposta", result);
17
31
  const atendimentos = ((await ctx.storage.get("atendimentos")) as number) ?? 0;
18
32
  await ctx.storage.set("atendimentos", atendimentos + 1);
19
33
 
20
- await ctx.logger.info("resposta", { resposta, atendimentos: atendimentos + 1 });
34
+ // work context (0.9.2): o TRABALHO guarda o que aprendeu, não o agent.
35
+ await ctx.work.add("finding", "pedido atendido", { goal });
36
+ await ctx.work.add("artifact", "resposta final", { result });
37
+
38
+ await ctx.events.emit(TASK_DONE_EVENT, {
39
+ result,
40
+ evidence: { fases: ["plan", "implement", "verify"], check },
41
+ });
21
42
  });
@@ -0,0 +1,9 @@
1
+ name: support
2
+ description: Suporte — responde aos pedidos do trigger com o LLM
3
+ goal: "responde o pedido do usuário"
4
+ entry: agent.ts
5
+ models:
6
+ default: mock:local
7
+ env:
8
+ - OPENAI_API_KEY
9
+ http: true
@@ -0,0 +1,7 @@
1
+ name: webhook-echo
2
+ description: Eco de webhooks
3
+ goal: "ecoa o payload do webhook"
4
+ entry: agent.ts
5
+ models:
6
+ default: mock:local
7
+ http: true
@@ -0,0 +1,71 @@
1
+ import { agent, TASK_DONE_EVENT, APPROVAL_REQUIRED_EVENT } from "@autonsh/runtime";
2
+
3
+ // Task com gate humano (0.9.1): prepara o resultado, pausa pedindo aprovação
4
+ // (worker fica vivo), e SÓ executa a ação quando `auton approve` decide.
5
+ // Rejeição: aborta a task com evidência. Estado do checkpoint fica no KV.
6
+ export default agent(async (ctx) => {
7
+ const goal = ((ctx.input as { prompt?: string } | undefined)?.prompt ?? "").trim()
8
+ || "publica o relatório";
9
+
10
+ // 1) turno de decisão: CLI enviou {"approval":{approved,reason}}
11
+ let decision: { approved?: boolean; reason?: string } | undefined;
12
+ try {
13
+ decision = (JSON.parse(goal) as { approval?: unknown }).approval as
14
+ | { approved?: boolean; reason?: string }
15
+ | undefined;
16
+ } catch {
17
+ /* goal normal — segue fluxo */
18
+ }
19
+
20
+ const pending = (await ctx.storage.get("approval-pendente")) as
21
+ | { goal: string; relatorio: string }
22
+ | undefined;
23
+
24
+ if (decision) {
25
+ const p = pending;
26
+ if (!p) {
27
+ await ctx.logger.warn("decisão sem gate pendente — registrada mesmo assim");
28
+ }
29
+ const ok = decision.approved === true;
30
+ if (ok) {
31
+ await ctx.logger.info("aprovado — executando ação", { reason: decision.reason });
32
+ await ctx.storage.set("publicado", { goal: p?.goal ?? goal, quando: Date.now() });
33
+ await ctx.storage.delete("approval-pendente");
34
+ await ctx.events.emit(TASK_DONE_EVENT, {
35
+ result: `publicado: ${(p?.goal ?? goal).slice(0, 60)}`,
36
+ evidence: { gate: "approval", decidido: "approved" },
37
+ });
38
+ return;
39
+ }
40
+ await ctx.logger.warn("rejeitado — abortando", { reason: decision.reason });
41
+ await ctx.storage.delete("approval-pendente");
42
+ await ctx.events.emit(TASK_DONE_EVENT, {
43
+ result: `rejeitado: ${(p?.goal ?? goal).slice(0, 60)}`,
44
+ evidence: { gate: "approval", decidido: "rejected", reason: decision.reason },
45
+ });
46
+ return;
47
+ }
48
+
49
+ // 2) gate encerrado no turno anterior? retoma igual (sem pedir de novo)
50
+ if (pending) {
51
+ await ctx.logger.info("gate ainda pendente", { motivo: "aguardando decisão" });
52
+ return;
53
+ }
54
+
55
+ // 3) turno normal: prepara o relatório e pede aprovação
56
+ const relatorio = await ctx.llm.chat({
57
+ system: "Gere um relatório curto em PT-BR.",
58
+ prompt: goal,
59
+ });
60
+ await ctx.logger.info("relatorio pronto", { relatorio });
61
+
62
+ const etapa = await ctx.llm.chat({
63
+ system: "Descreva a ação de publicação em uma frase.",
64
+ prompt: goal,
65
+ });
66
+ await ctx.storage.set("approval-pendente", { goal, relatorio, acao: etapa });
67
+ await ctx.events.emit(APPROVAL_REQUIRED_EVENT, {
68
+ reason: `publicar (${etapa.slice(0, 80)})`,
69
+ action: "auton approve | auton reject",
70
+ });
71
+ });
@@ -0,0 +1,9 @@
1
+ name: with-approval
2
+ description: Demonstra o gate humano — gera algo, pede aprovação, executa só depois
3
+ goal: "gera o relatório e pede aprovação antes de publicar"
4
+ entry: agent.ts
5
+ models:
6
+ default: mock:local
7
+ env:
8
+ - OPENAI_API_KEY
9
+ approval: true
@@ -1,5 +0,0 @@
1
- name: cron-digester
2
- entry: agent.ts
3
- models:
4
- default: mock:local
5
- cron: "*/3 * * * * *"
@@ -1,7 +0,0 @@
1
- name: support
2
- entry: agent.ts
3
- models:
4
- default: mock:local
5
- env:
6
- OPENAI_API_KEY
7
- http: true
@@ -1,5 +0,0 @@
1
- name: webhook-echo
2
- entry: agent.ts
3
- models:
4
- default: mock:local
5
- http: true