@autonsh/cli 0.0.1

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.
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,354 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * auton CLI — "Deploy AI agents in one command"
4
+ * v0: pipeline local real — POST /v1/agents, SSE logs, status, undeploy.
5
+ */
6
+ import { readFile, writeFile } from "node:fs/promises";
7
+ import { readdirSync, mkdirSync, symlinkSync, existsSync, cpSync } from "node:fs";
8
+ import { dirname, join, resolve, basename } from "node:path";
9
+ import { fileURLToPath } from "node:url";
10
+ const SRC = dirname(fileURLToPath(import.meta.url));
11
+ // runtime package real (monorepo). CLI linka em node_modules/@auton/runtime
12
+ // do diretório do agente → handler importa "@autonsh/runtime" de qualquer lugar.
13
+ const RUNTIME_SRC = resolve(SRC, "../../runtime");
14
+ const TEMPLATES_SRC = resolve(SRC, "../templates");
15
+ function ensureRuntimeLink(dir) {
16
+ const target = join(dir, "node_modules", "@auton", "runtime");
17
+ if (existsSync(target))
18
+ return;
19
+ mkdirSync(dirname(target), { recursive: true });
20
+ symlinkSync(RUNTIME_SRC, target, "dir");
21
+ console.log(`[deploy] runtime link: node_modules/@auton/runtime`);
22
+ }
23
+ const TEMPLATES = ["support", "cron-digester", "webhook-echo"];
24
+ async function cmdInit(name, template) {
25
+ const plain = name === "." ? basename(process.cwd()) : name;
26
+ const dir = resolve(name === "." ? process.cwd() : join(process.cwd(), name));
27
+ if (existsSync(dir) && readdirSync(dir).length > 0) {
28
+ throw new Error(`diretório não vazio: ${dir}`);
29
+ }
30
+ mkdirSync(dir, { recursive: true });
31
+ cpSync(join(TEMPLATES_SRC, template), dir, { recursive: true });
32
+ // seta o nome real no manifest
33
+ const yamlPath = join(dir, "agent.yaml");
34
+ const yaml = (await readFile(yamlPath, "utf8")).replace(/^name: .*$/m, `name: ${plain}`);
35
+ await writeFile(yamlPath, yaml);
36
+ ensureRuntimeLink(dir);
37
+ console.log(`[init] ✓ ${plain} (template: ${template}) em ${dir}`);
38
+ console.log(`[init] próximo: deploy agent .`);
39
+ }
40
+ const VERSION = "0.0.1";
41
+ const API = process.env.AUTON_API ?? "http://localhost:8080";
42
+ function authHeaders(extra) {
43
+ const h = { ...extra };
44
+ const token = process.env.AUTON_TOKEN;
45
+ if (token)
46
+ h.Authorization = `Bearer ${token}`;
47
+ return h;
48
+ }
49
+ const USAGE = `
50
+ auton — Deploy AI agents in one command
51
+
52
+ Usage:
53
+ deploy init [nome] [template] Scaffold de agente (support|cron-digester|webhook-echo)
54
+ deploy agent [path] Deploya agente (default: diretório atual)
55
+ deploy ps Lista agentes + status
56
+ deploy logs [name] Stream de logs do agente (SSE)
57
+ deploy status [name] Status do agente
58
+ deploy invoke [name] [--stream] [-- prompt]
59
+ Roda 1 turno (--stream: saída ao vivo via SSE)
60
+ deploy kv get|set|ls [name] [key] [value]
61
+ Inspeciona o storage KV do agente
62
+ deploy undeploy [name] Remove o agente
63
+ deploy login TODO: auth com control plane (dpk_...)
64
+
65
+ Options:
66
+ --help, -h Mostra ajuda
67
+ --version, -v Mostra versão
68
+ AUTON_API=http://... Base do control plane (default localhost:8080)
69
+ `;
70
+ async function loadManifest(dir) {
71
+ const raw = await readFile(resolve(dir, "agent.yaml"), "utf8");
72
+ const name = raw.match(/^name:\s*(\S+)/m)?.[1];
73
+ const entry = raw.match(/^entry:\s*(\S+)/m)?.[1];
74
+ if (!name || !entry) {
75
+ throw new Error("agent.yaml inválido: campos 'name' e 'entry' obrigatórios");
76
+ }
77
+ const models = raw.match(/^models:\s*\n\s*default:\s*(\S+)/m)?.[1] ?? "";
78
+ const cron = raw.match(/^cron:\s*["']?([^"'\n]+)/m)?.[1]?.trim() ?? "";
79
+ const env = [];
80
+ const envBlock = raw.match(/^env:\s*\n((?:[ \t]*- \S+\n?)+)/m);
81
+ if (envBlock?.[1]) {
82
+ for (const line of envBlock[1].split("\n")) {
83
+ const m = line.match(/^\s*-\s*(\S+)/);
84
+ const key = m?.[1];
85
+ if (key)
86
+ env.push(key);
87
+ }
88
+ }
89
+ return { name, entry, env, models, cron };
90
+ }
91
+ function pickEnv(keys) {
92
+ const out = {};
93
+ for (const k of keys) {
94
+ const v = process.env[k];
95
+ if (v !== undefined)
96
+ out[k] = v;
97
+ }
98
+ return out;
99
+ }
100
+ async function cmdDeploy(dir) {
101
+ const manifest = await loadManifest(dir);
102
+ console.log(`[deploy] agente: ${manifest.name} (entry: ${manifest.entry})`);
103
+ const res = await fetch(`${API}/v1/agents`, {
104
+ method: "POST",
105
+ headers: authHeaders({ "Content-Type": "application/json" }),
106
+ body: JSON.stringify({
107
+ name: manifest.name,
108
+ entry: manifest.entry,
109
+ dir,
110
+ env: pickEnv(manifest.env),
111
+ models: manifest.models,
112
+ cron: manifest.cron,
113
+ }),
114
+ });
115
+ if (!res.ok) {
116
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
117
+ }
118
+ const out = (await res.json());
119
+ console.log(`[deploy] ✓ deployado: ${out.url}`);
120
+ console.log(`[deploy] logs: ${out.logs}`);
121
+ }
122
+ async function cmdLogs(name) {
123
+ const agent = name ?? (await loadManifest(process.cwd())).name;
124
+ const res = await fetch(`${API}/v1/agents/${agent}/logs`, {
125
+ headers: authHeaders({ Accept: "text/event-stream" }),
126
+ });
127
+ if (!res.ok) {
128
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
129
+ }
130
+ if (!res.body)
131
+ throw new Error("resposta sem body");
132
+ const reader = res.body.getReader();
133
+ const decoder = new TextDecoder();
134
+ let buf = "";
135
+ for (;;) {
136
+ const { done, value } = await reader.read();
137
+ if (done)
138
+ break;
139
+ buf += decoder.decode(value, { stream: true });
140
+ let idx;
141
+ while ((idx = buf.indexOf("\n\n")) !== -1) {
142
+ const event = buf.slice(0, idx);
143
+ buf = buf.slice(idx + 2);
144
+ for (const line of event.split("\n")) {
145
+ if (line.startsWith("data: "))
146
+ console.log(line.slice(6));
147
+ if (line.startsWith("event: exit"))
148
+ return;
149
+ }
150
+ }
151
+ }
152
+ }
153
+ async function cmdStatus(name) {
154
+ const agent = name ?? (await loadManifest(process.cwd())).name;
155
+ const res = await fetch(`${API}/v1/agents/${agent}`, {
156
+ headers: authHeaders(),
157
+ });
158
+ if (!res.ok) {
159
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
160
+ }
161
+ console.log(JSON.stringify(await res.json(), null, 2));
162
+ }
163
+ async function cmdUndeploy(name) {
164
+ const agent = name ?? (await loadManifest(process.cwd())).name;
165
+ const res = await fetch(`${API}/v1/agents/${agent}`, {
166
+ method: "DELETE",
167
+ headers: authHeaders(),
168
+ });
169
+ if (!res.ok) {
170
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
171
+ }
172
+ console.log(`[deploy] ✓ ${agent} removido`);
173
+ }
174
+ async function cmdInvoke(name, prompt, stream) {
175
+ const agent = name ?? (await loadManifest(process.cwd())).name;
176
+ const body = prompt !== undefined ? { prompt } : undefined;
177
+ const post = fetch(`${API}/v1/agents/${agent}/invoke`, {
178
+ method: "POST",
179
+ headers: authHeaders({ "Content-Type": "application/json" }),
180
+ body: body ? JSON.stringify(body) : undefined,
181
+ });
182
+ if (!stream) {
183
+ const res = await post;
184
+ if (!res.ok) {
185
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
186
+ }
187
+ const out = (await res.json());
188
+ console.log(`[invoke] turno ${out.turn} (${out.lines.length} linhas)`);
189
+ for (const line of out.lines)
190
+ console.log(line);
191
+ return;
192
+ }
193
+ // modo stream: conecta no SSE de logs e imprime AO VIVO até o turno terminar
194
+ const res = await fetch(`${API}/v1/agents/${agent}/logs`, {
195
+ headers: authHeaders({ Accept: "text/event-stream" }),
196
+ });
197
+ if (!res.ok) {
198
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
199
+ }
200
+ if (!res.body)
201
+ throw new Error("resposta sem body");
202
+ const reader = res.body.getReader();
203
+ const decoder = new TextDecoder();
204
+ let buf = "";
205
+ for (;;) {
206
+ const { done, value } = await reader.read();
207
+ if (done)
208
+ break;
209
+ buf += decoder.decode(value, { stream: true });
210
+ let idx;
211
+ while ((idx = buf.indexOf("\n\n")) !== -1) {
212
+ const event = buf.slice(0, idx);
213
+ buf = buf.slice(idx + 2);
214
+ for (const line of event.split("\n")) {
215
+ if (!line.startsWith("data: "))
216
+ continue;
217
+ const payload = line.slice(6);
218
+ console.log(payload);
219
+ if (payload.includes("turno terminado")) {
220
+ // turno acabou; aguarda o POST confirmar e encerra
221
+ await post;
222
+ return;
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }
228
+ async function cmdPs() {
229
+ const res = await fetch(`${API}/v1/agents`, { headers: authHeaders() });
230
+ if (!res.ok) {
231
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
232
+ }
233
+ const list = (await res.json());
234
+ if (list.length === 0) {
235
+ console.log("(nenhum agente deployado)");
236
+ return;
237
+ }
238
+ console.log("AGENTE\tSTATUS\tCRON\tLOGS\tKV");
239
+ for (const a of list) {
240
+ console.log(`${a.name}\t${a.status}\t${a.cron ? "sim" : "-"}\t${a.logs}\t${a.kv}`);
241
+ }
242
+ }
243
+ async function cmdKv(op, name, key, value) {
244
+ const agent = name ?? (await loadManifest(process.cwd())).name;
245
+ const base = `${API}/v1/agents/${agent}/kv`;
246
+ if (op === "ls") {
247
+ const res = await fetch(base, { headers: authHeaders() });
248
+ if (!res.ok)
249
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
250
+ const all = (await res.json());
251
+ const keys = Object.keys(all);
252
+ if (keys.length === 0) {
253
+ console.log("(kv vazio)");
254
+ return;
255
+ }
256
+ for (const k of keys.sort()) {
257
+ console.log(`${k} = ${JSON.stringify(all[k])}`);
258
+ }
259
+ return;
260
+ }
261
+ if (!key)
262
+ throw new Error("uso: deploy kv get|set <nome> <chave> [valor]");
263
+ if (op === "get") {
264
+ const res = await fetch(`${base}/${key}`, { headers: authHeaders() });
265
+ if (!res.ok)
266
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
267
+ console.log(JSON.stringify(await res.json()));
268
+ return;
269
+ }
270
+ // set
271
+ if (value === undefined)
272
+ throw new Error("uso: deploy kv set <nome> <chave> <valor>");
273
+ const res = await fetch(`${base}/${key}`, {
274
+ method: "PUT",
275
+ headers: authHeaders({ "Content-Type": "application/json" }),
276
+ body: JSON.stringify(value),
277
+ });
278
+ if (!res.ok)
279
+ throw new Error(`control plane ${res.status}: ${await res.text()}`);
280
+ console.log(`[kv] ✓ ${key} = ${value}`);
281
+ }
282
+ async function cmdLogin() {
283
+ console.log("[login] TODO: fluxo de auth com control plane (dpk_...)");
284
+ }
285
+ async function main() {
286
+ const args = process.argv.slice(2);
287
+ if (args.length === 0 || args[0] === "--help" || args[0] === "-h") {
288
+ console.log(USAGE);
289
+ return;
290
+ }
291
+ if (args[0] === "--version" || args[0] === "-v") {
292
+ console.log(`auton v${VERSION}`);
293
+ return;
294
+ }
295
+ switch (args[0]) {
296
+ case "login":
297
+ await cmdLogin();
298
+ break;
299
+ case "agent":
300
+ if (args[1]) {
301
+ const dir = resolve(args[1]);
302
+ ensureRuntimeLink(dir);
303
+ await cmdDeploy(dir);
304
+ }
305
+ else {
306
+ ensureRuntimeLink(process.cwd());
307
+ await cmdDeploy(process.cwd());
308
+ }
309
+ break;
310
+ case "logs":
311
+ await cmdLogs(args[1]);
312
+ break;
313
+ case "status":
314
+ await cmdStatus(args[1]);
315
+ break;
316
+ case "invoke": {
317
+ // deploy invoke [name] [-- prompt] [--stream]
318
+ const rest = args.slice(2);
319
+ const stream = rest.includes("--stream");
320
+ const promptIdx = rest.indexOf("--");
321
+ const prompt = promptIdx !== -1 ? rest.slice(promptIdx + 1).join(" ") : undefined;
322
+ await cmdInvoke(args[1], prompt, stream);
323
+ break;
324
+ }
325
+ case "undeploy":
326
+ await cmdUndeploy(args[1]);
327
+ break;
328
+ case "ps":
329
+ await cmdPs();
330
+ break;
331
+ case "init": {
332
+ // deploy init [nome] [template]
333
+ const tpl = (args[2] ?? "support");
334
+ if (!TEMPLATES.includes(tpl)) {
335
+ throw new Error(`template desconhecido: ${tpl} (disponíveis: ${TEMPLATES.join(", ")})`);
336
+ }
337
+ await cmdInit(args[1] ?? ".", tpl);
338
+ break;
339
+ }
340
+ case "kv":
341
+ // deploy kv get|set|ls <nome> [chave] [valor]
342
+ await cmdKv(args[1], args[2], args[3], args[4]);
343
+ break;
344
+ default:
345
+ console.error(`[deploy] comando desconhecido: ${args[0]}`);
346
+ console.error(USAGE);
347
+ process.exit(1);
348
+ }
349
+ }
350
+ main().catch((err) => {
351
+ console.error(`[deploy] erro: ${err.message}`);
352
+ process.exit(1);
353
+ });
354
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@autonsh/cli",
3
+ "version": "0.0.1",
4
+ "description": "auton CLI — Deploy AI agents in one command",
5
+ "type": "module",
6
+ "bin": {
7
+ "deploy": "dist/index.js"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "templates"
12
+ ],
13
+ "license": "MIT",
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "dev": "tsx src/index.ts",
17
+ "typecheck": "tsc --noEmit"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^20.10.0",
21
+ "tsx": "^4.7.0",
22
+ "typescript": "^5.9.3"
23
+ }
24
+ }
@@ -0,0 +1,18 @@
1
+ import { agent } from "@autonsh/runtime";
2
+
3
+ // Digest periódico: cron roda sozinho, acumula execuções no storage.
4
+ // Ajuste o expr em agent.yaml (expressão cron com segundos).
5
+ export default agent(async (ctx) => {
6
+ const runs = ((await ctx.storage.get("runs")) as number) ?? 0;
7
+ await ctx.storage.set("runs", runs + 1);
8
+
9
+ const ultima = runs + 1;
10
+ await ctx.logger.info("digest", {
11
+ run: ultima,
12
+ ts: new Date().toISOString(),
13
+ });
14
+
15
+ if (ultima % 10 === 0) {
16
+ await ctx.logger.info("checkpoint", { runs: ultima });
17
+ }
18
+ });
@@ -0,0 +1,5 @@
1
+ name: cron-digester
2
+ entry: agent.ts
3
+ models:
4
+ default: mock:local
5
+ cron: "*/3 * * * * *"
@@ -0,0 +1,21 @@
1
+ import { agent } from "@autonsh/runtime";
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).
5
+ 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,
15
+ });
16
+
17
+ const atendimentos = ((await ctx.storage.get("atendimentos")) as number) ?? 0;
18
+ await ctx.storage.set("atendimentos", atendimentos + 1);
19
+
20
+ await ctx.logger.info("resposta", { resposta, atendimentos: atendimentos + 1 });
21
+ });
@@ -0,0 +1,7 @@
1
+ name: support
2
+ entry: agent.ts
3
+ models:
4
+ default: mock:local
5
+ env:
6
+ OPENAI_API_KEY
7
+ http: true
@@ -0,0 +1,13 @@
1
+ import { agent } from "@autonsh/runtime";
2
+
3
+ // Webhook echo: qualquer payload via invoke → loga e guarda no storage.
4
+ export default agent(async (ctx) => {
5
+ const input = (ctx.input as { prompt?: string } | undefined)?.prompt;
6
+
7
+ await ctx.storage.set("ultimo_payload", input);
8
+
9
+ await ctx.logger.info("webhook", {
10
+ payload: JSON.stringify(input).slice(0, 200),
11
+ });
12
+ await ctx.events.emit("webhook", { payload: input });
13
+ });
@@ -0,0 +1,5 @@
1
+ name: webhook-echo
2
+ entry: agent.ts
3
+ models:
4
+ default: mock:local
5
+ http: true