@runflow-ai/cli 0.2.0
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/CLI-DOCS.md +428 -0
- package/README.md +127 -0
- package/dist/commands/agents/agents.command.d.ts +13 -0
- package/dist/commands/agents/agents.command.js +508 -0
- package/dist/commands/agents/agents.command.js.map +1 -0
- package/dist/commands/connectors/connectors.command.d.ts +11 -0
- package/dist/commands/connectors/connectors.command.js +72 -0
- package/dist/commands/connectors/connectors.command.js.map +1 -0
- package/dist/commands/credentials/credentials.command.d.ts +11 -0
- package/dist/commands/credentials/credentials.command.js +118 -0
- package/dist/commands/credentials/credentials.command.js.map +1 -0
- package/dist/commands/datasources/datasources.command.d.ts +11 -0
- package/dist/commands/datasources/datasources.command.js +72 -0
- package/dist/commands/datasources/datasources.command.js.map +1 -0
- package/dist/commands/executions/executions.command.d.ts +11 -0
- package/dist/commands/executions/executions.command.js +72 -0
- package/dist/commands/executions/executions.command.js.map +1 -0
- package/dist/commands/health/health.command.d.ts +11 -0
- package/dist/commands/health/health.command.js +66 -0
- package/dist/commands/health/health.command.js.map +1 -0
- package/dist/commands/login/login.command.d.ts +12 -0
- package/dist/commands/login/login.command.js +127 -0
- package/dist/commands/login/login.command.js.map +1 -0
- package/dist/commands/prompts/prompts.command.d.ts +11 -0
- package/dist/commands/prompts/prompts.command.js +102 -0
- package/dist/commands/prompts/prompts.command.js.map +1 -0
- package/dist/commands/search-tools/search-tools.command.d.ts +11 -0
- package/dist/commands/search-tools/search-tools.command.js +89 -0
- package/dist/commands/search-tools/search-tools.command.js.map +1 -0
- package/dist/commands/secret/secret.command.d.ts +4 -0
- package/dist/commands/secret/secret.command.js +22 -0
- package/dist/commands/secret/secret.command.js.map +1 -0
- package/dist/commands/sessions/sessions.command.d.ts +11 -0
- package/dist/commands/sessions/sessions.command.js +97 -0
- package/dist/commands/sessions/sessions.command.js.map +1 -0
- package/dist/commands/traces/traces.command.d.ts +11 -0
- package/dist/commands/traces/traces.command.js +73 -0
- package/dist/commands/traces/traces.command.js.map +1 -0
- package/dist/commands/triggers/triggers.command.d.ts +11 -0
- package/dist/commands/triggers/triggers.command.js +72 -0
- package/dist/commands/triggers/triggers.command.js.map +1 -0
- package/dist/commands/users/users.command.d.ts +12 -0
- package/dist/commands/users/users.command.js +138 -0
- package/dist/commands/users/users.command.js.map +1 -0
- package/dist/common/api-client.d.ts +25 -0
- package/dist/common/api-client.js +97 -0
- package/dist/common/api-client.js.map +1 -0
- package/dist/common/banner.d.ts +1 -0
- package/dist/common/banner.js +9 -0
- package/dist/common/banner.js.map +1 -0
- package/dist/common/config.d.ts +27 -0
- package/dist/common/config.js +63 -0
- package/dist/common/config.js.map +1 -0
- package/dist/common/help.d.ts +2 -0
- package/dist/common/help.js +34 -0
- package/dist/common/help.js.map +1 -0
- package/dist/common/logger.d.ts +9 -0
- package/dist/common/logger.js +84 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/common/ui.d.ts +7 -0
- package/dist/common/ui.js +20 -0
- package/dist/common/ui.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +99 -0
- package/dist/index.js.map +1 -0
- package/package.json +64 -0
package/CLI-DOCS.md
ADDED
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
# RunFlow CLI Documentation
|
|
2
|
+
|
|
3
|
+
**Version:** 0.2.0
|
|
4
|
+
**Command:** `rf`
|
|
5
|
+
|
|
6
|
+
A CLI para interagir com a API Portal RunFlow, permitindo gerenciar agentes de IA, usuários, prompts e muito mais.
|
|
7
|
+
|
|
8
|
+
## Instalação
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install -g runflow-cli
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Autenticação
|
|
15
|
+
|
|
16
|
+
Antes de usar a CLI, você precisa fazer login:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
rf login --api-key <sua-api-key>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Comandos Disponíveis
|
|
23
|
+
|
|
24
|
+
### 🤖 Agents (Agentes)
|
|
25
|
+
|
|
26
|
+
Gerenciar agentes de IA.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
rf agents <action> [data]
|
|
30
|
+
rf agent <action> [data] # alias
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Ações:**
|
|
34
|
+
|
|
35
|
+
| Ação | Descrição | Exemplo |
|
|
36
|
+
|------|-----------|---------|
|
|
37
|
+
| `list` | Lista agentes e seleciona um ativo | `rf agents list` |
|
|
38
|
+
| `get` | Exibe o agente ativo | `rf agents get` |
|
|
39
|
+
| `create <json>` | Cria um novo agente | `rf agents create '{"name":"MyAgent"}'` |
|
|
40
|
+
| `update <json>` | Atualiza o agente ativo | `rf agents update '{"name":"Updated"}'` |
|
|
41
|
+
| `delete` | Remove o agente ativo | `rf agents delete` |
|
|
42
|
+
| `clone` | Clona repositório do agente (download) | `rf agents clone` |
|
|
43
|
+
| `duplicate` | Duplica agente no servidor | `rf agents duplicate` |
|
|
44
|
+
| `deploy` | Faz deploy do agente com mudanças locais | `rf agents deploy` |
|
|
45
|
+
|
|
46
|
+
**Exemplo de uso:**
|
|
47
|
+
```bash
|
|
48
|
+
# Listar e selecionar um agente
|
|
49
|
+
rf agents list
|
|
50
|
+
|
|
51
|
+
# Clonar repositório do agente selecionado
|
|
52
|
+
rf agents clone
|
|
53
|
+
|
|
54
|
+
# Fazer deploy após modificações
|
|
55
|
+
cd nome-do-agente/
|
|
56
|
+
# ... fazer mudanças ...
|
|
57
|
+
rf agents deploy
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**🎯 Interface Interativa do `rf agents list`:**
|
|
61
|
+
|
|
62
|
+
Quando você executa `rf agents list`, a CLI apresenta uma interface interativa em duas etapas:
|
|
63
|
+
|
|
64
|
+
**1. Seleção do Agente:**
|
|
65
|
+
```
|
|
66
|
+
? Select an agent: (Use arrow keys)
|
|
67
|
+
❯ my-chatbot-agent
|
|
68
|
+
data-processor-v2
|
|
69
|
+
webhook-handler
|
|
70
|
+
email-automation
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**2. Menu de Ações:**
|
|
74
|
+
Após selecionar um agente, aparece um menu com todas as ações possíveis:
|
|
75
|
+
```
|
|
76
|
+
? What would you like to do with "my-chatbot-agent"? (Use arrow keys)
|
|
77
|
+
❯ 📥 Clone repository (download)
|
|
78
|
+
🚀 Duplicate agent on server
|
|
79
|
+
🚢 Deploy agent
|
|
80
|
+
🗑️ Delete agent
|
|
81
|
+
❌ Cancel
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Ações disponíveis no menu:**
|
|
85
|
+
- **📥 Clone repository**: Baixa o código do agente para desenvolvimento local
|
|
86
|
+
- **🚀 Duplicate agent**: Cria uma cópia do agente no servidor
|
|
87
|
+
- **🚢 Deploy agent**: Faz deploy de mudanças locais (requer estar no diretório do agente)
|
|
88
|
+
- **🗑️ Delete agent**: Remove o agente (com confirmação)
|
|
89
|
+
- **❌ Cancel**: Cancela a operação
|
|
90
|
+
|
|
91
|
+
**Fluxo típico:**
|
|
92
|
+
```bash
|
|
93
|
+
rf agents list
|
|
94
|
+
# 1. Seleciona "my-chatbot-agent"
|
|
95
|
+
# 2. Escolhe "📥 Clone repository"
|
|
96
|
+
# 3. Pasta "my-chatbot-agent/" é criada com Git funcionando
|
|
97
|
+
# 4. Desenvolve localmente
|
|
98
|
+
# 5. rf agents deploy (dentro da pasta do agente)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 👥 Users (Usuários)
|
|
102
|
+
|
|
103
|
+
Gerenciar usuários.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
rf users <action> [data]
|
|
107
|
+
rf user <action> [data] # alias
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Ações:**
|
|
111
|
+
|
|
112
|
+
| Ação | Descrição | Exemplo |
|
|
113
|
+
|------|-----------|---------|
|
|
114
|
+
| `list` | Lista usuários | `rf users list` |
|
|
115
|
+
| `get` | Exibe usuário selecionado | `rf users get` |
|
|
116
|
+
| `create <json>` | Cria usuário | `rf users create '{"name":"User"}'` |
|
|
117
|
+
| `update <json>` | Atualiza usuário selecionado | `rf users update '{"name":"Updated"}'` |
|
|
118
|
+
| `delete` | Remove usuário selecionado | `rf users delete` |
|
|
119
|
+
|
|
120
|
+
### 📝 Prompts
|
|
121
|
+
|
|
122
|
+
Gerenciar prompts de IA.
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
rf prompts <action> <name> [data]
|
|
126
|
+
rf prompt <action> <name> [data] # alias
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**Ações:**
|
|
130
|
+
|
|
131
|
+
| Ação | Descrição | Exemplo |
|
|
132
|
+
|------|-----------|---------|
|
|
133
|
+
| `get <name>` | Obtém um prompt | `rf prompts get meu-prompt` |
|
|
134
|
+
| `render <name> <json>` | Renderiza prompt com variáveis | `rf prompts render meu-prompt '{"var":"value"}'` |
|
|
135
|
+
|
|
136
|
+
### 🔑 Credentials (Credenciais)
|
|
137
|
+
|
|
138
|
+
Gerenciar credenciais.
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
rf credentials <action> [name]
|
|
142
|
+
rf credential <action> [name] # alias
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Ações:**
|
|
146
|
+
|
|
147
|
+
| Ação | Descrição | Exemplo |
|
|
148
|
+
|------|-----------|---------|
|
|
149
|
+
| `list` | Lista credenciais | `rf credentials list` |
|
|
150
|
+
| `get <name>` | Obtém credencial específica | `rf credentials get minha-credencial` |
|
|
151
|
+
|
|
152
|
+
### 🔍 Search Tools
|
|
153
|
+
|
|
154
|
+
Gerenciar ferramentas de busca.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
rf search-tools <action>
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Ações:**
|
|
161
|
+
|
|
162
|
+
| Ação | Descrição | Exemplo |
|
|
163
|
+
|------|-----------|---------|
|
|
164
|
+
| `list` | Lista ferramentas de busca | `rf search-tools list` |
|
|
165
|
+
|
|
166
|
+
### ⚡ Executions
|
|
167
|
+
|
|
168
|
+
Gerenciar execuções.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
rf executions <action>
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
**Ações:**
|
|
175
|
+
|
|
176
|
+
| Ação | Descrição | Exemplo |
|
|
177
|
+
|------|-----------|---------|
|
|
178
|
+
| `list` | Lista execuções | `rf executions list` |
|
|
179
|
+
|
|
180
|
+
### 💾 Sessions
|
|
181
|
+
|
|
182
|
+
Gerenciar sessões.
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
rf sessions <action>
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Ações:**
|
|
189
|
+
|
|
190
|
+
| Ação | Descrição | Exemplo |
|
|
191
|
+
|------|-----------|---------|
|
|
192
|
+
| `list` | Lista sessões | `rf sessions list` |
|
|
193
|
+
|
|
194
|
+
### 📊 Datasources
|
|
195
|
+
|
|
196
|
+
Gerenciar fontes de dados.
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
rf datasources <action>
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Ações:**
|
|
203
|
+
|
|
204
|
+
| Ação | Descrição | Exemplo |
|
|
205
|
+
|------|-----------|---------|
|
|
206
|
+
| `list` | Lista fontes de dados | `rf datasources list` |
|
|
207
|
+
|
|
208
|
+
### 🔗 Connectors
|
|
209
|
+
|
|
210
|
+
Gerenciar conectores.
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
rf connectors <action>
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Ações:**
|
|
217
|
+
|
|
218
|
+
| Ação | Descrição | Exemplo |
|
|
219
|
+
|------|-----------|---------|
|
|
220
|
+
| `list` | Lista conectores | `rf connectors list` |
|
|
221
|
+
|
|
222
|
+
### 🎯 Triggers
|
|
223
|
+
|
|
224
|
+
Gerenciar triggers.
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
rf triggers <action>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Ações:**
|
|
231
|
+
|
|
232
|
+
| Ação | Descrição | Exemplo |
|
|
233
|
+
|------|-----------|---------|
|
|
234
|
+
| `list` | Lista triggers | `rf triggers list` |
|
|
235
|
+
|
|
236
|
+
### 📈 Traces
|
|
237
|
+
|
|
238
|
+
Gerenciar traces.
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
rf traces <action>
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Ações:**
|
|
245
|
+
|
|
246
|
+
| Ação | Descrição | Exemplo |
|
|
247
|
+
|------|-----------|---------|
|
|
248
|
+
| `list` | Lista traces | `rf traces list` |
|
|
249
|
+
|
|
250
|
+
### 🔐 Secret
|
|
251
|
+
|
|
252
|
+
Gerenciar secrets.
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
rf secret <action>
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Ações:**
|
|
259
|
+
|
|
260
|
+
| Ação | Descrição | Exemplo |
|
|
261
|
+
|------|-----------|---------|
|
|
262
|
+
| `list` | Lista secrets | `rf secret list` |
|
|
263
|
+
|
|
264
|
+
### 🏥 Health
|
|
265
|
+
|
|
266
|
+
Verificar saúde da API.
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
rf health [detail]
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**Descrição:** Verifica o status de saúde da API Portal.
|
|
273
|
+
|
|
274
|
+
### 🔓 Login
|
|
275
|
+
|
|
276
|
+
Autenticar com a API RunFlow.
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
rf login --api-key <key> [--api <url>] [--tenant-id <id>]
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
**Opções:**
|
|
283
|
+
- `--api-key <key>`: Chave da API (obrigatório)
|
|
284
|
+
- `--api <url>`: URL da API (opcional)
|
|
285
|
+
- `--tenant-id <id>`: ID do tenant (opcional)
|
|
286
|
+
|
|
287
|
+
## Opções Globais
|
|
288
|
+
|
|
289
|
+
Todos os comandos suportam as seguintes opções:
|
|
290
|
+
|
|
291
|
+
| Opção | Descrição | Exemplo |
|
|
292
|
+
|-------|-----------|---------|
|
|
293
|
+
| `--api-key <key>` | Sobrescrever chave da API | `rf agents list --api-key sk-123...` |
|
|
294
|
+
| `--api <url>` | Sobrescrever URL da API | `rf agents list --api https://api.runflow.ai` |
|
|
295
|
+
| `--verbose` | Modo verboso (logs detalhados) | `rf agents clone --verbose` |
|
|
296
|
+
| `--help, -h` | Exibir ajuda | `rf agents --help` |
|
|
297
|
+
|
|
298
|
+
## Fluxo de Trabalho com Agentes
|
|
299
|
+
|
|
300
|
+
### 1. Autenticação
|
|
301
|
+
```bash
|
|
302
|
+
rf login --api-key sua-chave-aqui
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### 2. Listar e Selecionar Agente
|
|
306
|
+
```bash
|
|
307
|
+
rf agents list
|
|
308
|
+
# Seleciona um agente interativamente
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### 3. Clonar Repositório
|
|
312
|
+
```bash
|
|
313
|
+
rf agents clone
|
|
314
|
+
# Cria pasta com nome do agente e clona arquivos
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
### 4. Desenvolvimento Local
|
|
318
|
+
```bash
|
|
319
|
+
cd nome-do-agente/
|
|
320
|
+
# Editar arquivos...
|
|
321
|
+
# Git funciona normalmente:
|
|
322
|
+
git status
|
|
323
|
+
git add .
|
|
324
|
+
git commit -m "Minhas mudanças"
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### 5. Deploy das Mudanças
|
|
328
|
+
```bash
|
|
329
|
+
rf agents deploy
|
|
330
|
+
# Envia mudanças locais para o servidor
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
## Recursos Especiais
|
|
334
|
+
|
|
335
|
+
### 🔄 Clone Inteligente
|
|
336
|
+
- Cria repositório Git funcional com remote fake
|
|
337
|
+
- Permite `git status` e controle de versão local
|
|
338
|
+
- Estrutura `.git` completa para desenvolvimento
|
|
339
|
+
- Arquivo `.runflow` para identificação do agente
|
|
340
|
+
|
|
341
|
+
### 📱 Interface Interativa
|
|
342
|
+
- Seleção de itens com setas do teclado
|
|
343
|
+
- Menus contextuais para ações rápidas
|
|
344
|
+
- Confirmações para operações destrutivas
|
|
345
|
+
|
|
346
|
+
### 🔍 Logs Verbosos
|
|
347
|
+
Use `--verbose` para debugging:
|
|
348
|
+
```bash
|
|
349
|
+
rf agents clone --verbose
|
|
350
|
+
# Mostra logs detalhados da operação
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
## Exemplos Práticos
|
|
354
|
+
|
|
355
|
+
### Desenvolvimento de Agente Completo
|
|
356
|
+
```bash
|
|
357
|
+
# 1. Login
|
|
358
|
+
rf login --api-key sk-123...
|
|
359
|
+
|
|
360
|
+
# 2. Listar agentes
|
|
361
|
+
rf agents list
|
|
362
|
+
|
|
363
|
+
# 3. Clonar agente selecionado
|
|
364
|
+
rf agents clone
|
|
365
|
+
|
|
366
|
+
# 4. Desenvolver
|
|
367
|
+
cd meu-agente/
|
|
368
|
+
# Editar index.ts, package.json, etc.
|
|
369
|
+
|
|
370
|
+
# 5. Testar localmente
|
|
371
|
+
npm install
|
|
372
|
+
npm test
|
|
373
|
+
|
|
374
|
+
# 6. Deploy
|
|
375
|
+
rf agents deploy
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### Gerenciamento de Prompts
|
|
379
|
+
```bash
|
|
380
|
+
# Ver prompt
|
|
381
|
+
rf prompts get welcome-message
|
|
382
|
+
|
|
383
|
+
# Renderizar com variáveis
|
|
384
|
+
rf prompts render welcome-message '{"username": "João", "product": "RunFlow"}'
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
### Monitoramento
|
|
388
|
+
```bash
|
|
389
|
+
# Verificar saúde da API
|
|
390
|
+
rf health
|
|
391
|
+
|
|
392
|
+
# Ver execuções recentes
|
|
393
|
+
rf executions list
|
|
394
|
+
|
|
395
|
+
# Analisar traces
|
|
396
|
+
rf traces list
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
## Troubleshooting
|
|
400
|
+
|
|
401
|
+
### Problemas de Autenticação
|
|
402
|
+
```bash
|
|
403
|
+
# Verificar configuração
|
|
404
|
+
rf health
|
|
405
|
+
|
|
406
|
+
# Fazer login novamente
|
|
407
|
+
rf login --api-key sua-chave
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### Problemas de Git
|
|
411
|
+
```bash
|
|
412
|
+
# Verificar se está no diretório do agente
|
|
413
|
+
ls -la # Deve ter arquivo .runflow
|
|
414
|
+
|
|
415
|
+
# Se git não funciona, re-clone
|
|
416
|
+
rf agents clone
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### Logs Detalhados
|
|
420
|
+
```bash
|
|
421
|
+
# Usar verbose para debug
|
|
422
|
+
rf agents deploy --verbose
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
427
|
+
**Desenvolvido para RunFlow Platform**
|
|
428
|
+
Para suporte, consulte a documentação da API ou entre em contato com o time de desenvolvimento.
|
package/README.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# RunFlow CLI
|
|
2
|
+
|
|
3
|
+
Interface de linha de comando para orquestrar a **API Portal** de agentes IA (NestJS). Permite criar tenants, provisionar agentes, configurar fontes de dados, disparar execuções e inspecionar logs — tudo pelo terminal.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## ✨ Recursos principais
|
|
8
|
+
|
|
9
|
+
- **Provisionamento completo** de agentes em segundos (`rf agents create …`)
|
|
10
|
+
- **Multi-tenancy** com isolamento de contexto (`rf tenants switch iftl`)
|
|
11
|
+
- **Triggers e webhooks** para automações diretas pela CLI
|
|
12
|
+
- **Credenciais seguras** integradas ao cofre AES-256 da API Portal
|
|
13
|
+
- **Logs em tempo real** de execuções e App Runner
|
|
14
|
+
- **Modo verbose** para depuração e modo silencioso para saída resumida
|
|
15
|
+
|
|
16
|
+
## 🚀 Instalação
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm i -g @runflow/cli # Node ≥ 18
|
|
20
|
+
|
|
21
|
+
# via Homebrew
|
|
22
|
+
brew tap runflow/tap
|
|
23
|
+
brew install runflow-cli
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## ⚡ Primeiro uso
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
rf login --api https://api-portal.runflow.ai/api/v1 --api-key MINHA_APIKEY
|
|
30
|
+
|
|
31
|
+
rf tenants create iftl
|
|
32
|
+
rf tenants switch iftl
|
|
33
|
+
|
|
34
|
+
rf agents create chatbot \
|
|
35
|
+
--template nest_llm \
|
|
36
|
+
--repo-url https://github.com/RunFlow-Clients/agent-template \
|
|
37
|
+
--schedule "rate(1 hour)"
|
|
38
|
+
|
|
39
|
+
rf agents logs chatbot -f # tail -f
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`--tenant-id` é opcional e serve apenas para persistir no arquivo de configuração.
|
|
43
|
+
|
|
44
|
+
## 🛠️ Comandos
|
|
45
|
+
|
|
46
|
+
| Comando | Descrição |
|
|
47
|
+
| --- | --- |
|
|
48
|
+
| `rf login --api-key [--tenant-id]` | Valida API key com a API e salva configuração |
|
|
49
|
+
| `rf health [detailed]` | Verifica saúde da API |
|
|
50
|
+
| `rf tenants list` | Administra tenants |
|
|
51
|
+
| `rf agents list / get / create / update / delete / clone / code / tree / repository / deploy / invoke` | Administra agentes |
|
|
52
|
+
| `rf users list / get / create / update / delete` | Administra usuários |
|
|
53
|
+
| `rf connectors list` | Administra conectores externos |
|
|
54
|
+
| `rf credentials list / get` | Administra credenciais |
|
|
55
|
+
| `rf datasources list` | Administra fontes de dados |
|
|
56
|
+
| `rf triggers list` | Administra triggers e webhooks |
|
|
57
|
+
| `rf executions list` | Gerencia execuções |
|
|
58
|
+
| `rf prompts get / render` | Gerencia prompts |
|
|
59
|
+
| `rf search-tools list / search` | Administra vector stores |
|
|
60
|
+
| `rf sessions message / history / clear` | Gerencia sessões |
|
|
61
|
+
| `rf traces send` | Envia dados de trace |
|
|
62
|
+
|
|
63
|
+
Execute `rf --help` para ver a árvore completa de comandos e use `--help`
|
|
64
|
+
em qualquer comando para ver opções específicas (padrão commander.js).
|
|
65
|
+
|
|
66
|
+
<!-- Observadores atentos encontram constelações inesperadas. -->
|
|
67
|
+
|
|
68
|
+
Todos os comandos aceitam `--verbose` para logs detalhados ou `--quiet` para saída mínima.
|
|
69
|
+
|
|
70
|
+
Os resultados podem ser gravados em arquivo com `--output <arquivo>` e
|
|
71
|
+
`--format <json|csv|yaml|txt>`.
|
|
72
|
+
|
|
73
|
+
Comandos de listagem (`tenants list`, `agents list`, `users list`) exibem navegação interativa,
|
|
74
|
+
destacando itens ativos em verde e inativos em vermelho. IDs de agentes e usuários são definidos a partir dessas seleções, sem necessidade de passá-los como argumentos.
|
|
75
|
+
|
|
76
|
+
Comandos que manipulam recursos (exceto `login` e `tenants`) exigem um tenant selecionado.
|
|
77
|
+
Se ausente, o CLI solicitará a seleção via `rf tenants list`.
|
|
78
|
+
|
|
79
|
+
## 🔧 Configuração avançada
|
|
80
|
+
|
|
81
|
+
Após `rf login --api-key <key> --api <url> [--tenant-id <tenant>]`, as credenciais são salvas em `~/.runflowrc`:
|
|
82
|
+
|
|
83
|
+
```yaml
|
|
84
|
+
# ~/.runflowrc
|
|
85
|
+
api: https://api-portal.runflow.ai/api/v1
|
|
86
|
+
apiKey: ${RUNFLOW_APIKEY}
|
|
87
|
+
tenantId: TENTANT_ID
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 🏗️ Stack & Desenvolvimento
|
|
91
|
+
|
|
92
|
+
| Tool | Uso |
|
|
93
|
+
| --- | --- |
|
|
94
|
+
| NestJS 10 + nest-commander | Estrutura modular de comandos |
|
|
95
|
+
| Commander.js | Parsing de flags |
|
|
96
|
+
| Axios | Requisições REST à API Portal |
|
|
97
|
+
| chalk / ora | UI colorida e spinners |
|
|
98
|
+
| ESLint + Prettier | Qualidade de código |
|
|
99
|
+
| Jest | Testes unitários (≥90% cobertura) |
|
|
100
|
+
|
|
101
|
+
### Dev quick-start
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
git clone https://github.com/runflow/cli
|
|
105
|
+
cd cli
|
|
106
|
+
npm ci
|
|
107
|
+
npm run start:dev -- --help
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 📦 Exemplos
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
rf login --api https://api-portal.runflow.ai/api/v1 --api-key MINHA_APIKEY
|
|
114
|
+
rf agents list
|
|
115
|
+
rf agents repository
|
|
116
|
+
rf agents code
|
|
117
|
+
rf agents deploy
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
O comando `rf agents repository` cria uma pasta com o nome do agente e popula
|
|
121
|
+
os arquivos retornados pela API, sem executar comandos Git. Execute `rf agents code`
|
|
122
|
+
dentro dessa pasta para enviar as alterações de volta ao servidor.
|
|
123
|
+
|
|
124
|
+
## 📝 Licença
|
|
125
|
+
|
|
126
|
+
MIT – (c) IFTL 2025
|
|
127
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CommandRunner } from 'nest-commander';
|
|
2
|
+
interface AgentsOptions {
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
api?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare class AgentsCommand extends CommandRunner {
|
|
7
|
+
private performDeploy;
|
|
8
|
+
private executeAction;
|
|
9
|
+
run(inputs: string[], options: AgentsOptions): Promise<void>;
|
|
10
|
+
parseApiKey(val: string): string;
|
|
11
|
+
parseApi(val: string): string;
|
|
12
|
+
}
|
|
13
|
+
export {};
|