@neetru/cli 2.5.0 → 2.6.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/README.md +93 -148
- package/dist/commands/bootstrap.d.ts +7 -0
- package/dist/commands/bootstrap.js +328 -0
- package/dist/commands/bootstrap.js.map +1 -0
- package/dist/commands/logs.d.ts +2 -0
- package/dist/commands/logs.js +201 -28
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/ops.d.ts +58 -0
- package/dist/commands/ops.js +359 -0
- package/dist/commands/ops.js.map +1 -0
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/commands/logs.js
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
* `neetru logs` — visualiza logs do workspace.
|
|
3
3
|
*
|
|
4
4
|
* Endpoint: `GET /api/v1/cli/logs?clientId=<id>&limit=N&since=<ms>&level=<lvl>`.
|
|
5
|
-
* Suporta tail contínuo (`-f`)
|
|
5
|
+
* Suporta tail contínuo (`-f`):
|
|
6
|
+
* - Modo SSE (Server-Sent Events): usa `/api/cli/v1/logs/stream` se disponível.
|
|
7
|
+
* - Modo polling NDJSON (fallback): poll a cada 5s com `after=<lastTs>`.
|
|
8
|
+
* Saída NDJSON (`--json`): imprime cada LogEntry como JSON line.
|
|
6
9
|
*/
|
|
7
10
|
import chalk from 'chalk';
|
|
8
11
|
import { apiRequest, CliApiError, CliNetworkError } from '../lib/api-client.js';
|
|
@@ -32,7 +35,11 @@ function colorLevel(level) {
|
|
|
32
35
|
default: return chalk.blue;
|
|
33
36
|
}
|
|
34
37
|
}
|
|
35
|
-
function printLog(entry) {
|
|
38
|
+
function printLog(entry, jsonMode) {
|
|
39
|
+
if (jsonMode) {
|
|
40
|
+
process.stdout.write(JSON.stringify(entry) + '\n');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
36
43
|
const ts = new Date(entry.timestamp).toLocaleTimeString('pt-BR');
|
|
37
44
|
const lvl = (entry.level ?? 'info').toUpperCase().padEnd(5);
|
|
38
45
|
const color = colorLevel(entry.level);
|
|
@@ -59,6 +66,189 @@ async function fetchLogs(clientId, params) {
|
|
|
59
66
|
const res = await apiRequest(`/api/v1/cli/logs?${qs.toString()}`);
|
|
60
67
|
return res.logs ?? [];
|
|
61
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Modo SSE (Server-Sent Events) — mantém conexão aberta e recebe eventos
|
|
71
|
+
* em real-time via `/api/cli/v1/logs/stream`.
|
|
72
|
+
*
|
|
73
|
+
* Estratégia de reconexão: em erro de rede, tenta reconectar após 3s até
|
|
74
|
+
* 5 tentativas consecutivas, depois cai no polling NDJSON como fallback.
|
|
75
|
+
*
|
|
76
|
+
* @returns `true` se SSE foi encerrado por Ctrl+C, `false` se fallback necessário.
|
|
77
|
+
*/
|
|
78
|
+
async function runSseFollow(clientId, opts, jsonMode) {
|
|
79
|
+
const apiKey = config.get('neetruApiKey');
|
|
80
|
+
const apiBase = config.get('apiBase') ?? 'https://api.neetru.com';
|
|
81
|
+
const qs = new URLSearchParams({ clientId });
|
|
82
|
+
if (opts.level)
|
|
83
|
+
qs.set('level', opts.level);
|
|
84
|
+
if (opts.product)
|
|
85
|
+
qs.set('product', opts.product);
|
|
86
|
+
if (opts.channel)
|
|
87
|
+
qs.set('channel', opts.channel);
|
|
88
|
+
if (opts.correlationId)
|
|
89
|
+
qs.set('correlationId', opts.correlationId);
|
|
90
|
+
const streamUrl = `${apiBase}/api/cli/v1/logs/stream?${qs.toString()}`;
|
|
91
|
+
let attempts = 0;
|
|
92
|
+
const MAX_RECONNECTS = 5;
|
|
93
|
+
let lastEventId;
|
|
94
|
+
// Graceful shutdown via Ctrl+C
|
|
95
|
+
let stopped = false;
|
|
96
|
+
const abortCtrl = new AbortController();
|
|
97
|
+
const onSigint = () => {
|
|
98
|
+
stopped = true;
|
|
99
|
+
abortCtrl.abort();
|
|
100
|
+
};
|
|
101
|
+
process.once('SIGINT', onSigint);
|
|
102
|
+
try {
|
|
103
|
+
while (!stopped && attempts <= MAX_RECONNECTS) {
|
|
104
|
+
try {
|
|
105
|
+
const headers = {
|
|
106
|
+
Authorization: `Bearer ${apiKey}`,
|
|
107
|
+
Accept: 'text/event-stream',
|
|
108
|
+
'Cache-Control': 'no-cache',
|
|
109
|
+
};
|
|
110
|
+
if (lastEventId)
|
|
111
|
+
headers['Last-Event-ID'] = lastEventId;
|
|
112
|
+
const res = await fetch(streamUrl, {
|
|
113
|
+
headers,
|
|
114
|
+
signal: abortCtrl.signal,
|
|
115
|
+
});
|
|
116
|
+
if (res.status === 404 || res.status === 405) {
|
|
117
|
+
// Endpoint SSE não suportado — sinaliza fallback.
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
if (!res.ok) {
|
|
121
|
+
if (!jsonMode)
|
|
122
|
+
log.dim(` SSE: erro ${res.status} — retentando…`);
|
|
123
|
+
attempts++;
|
|
124
|
+
await new Promise((r) => setTimeout(r, 3000));
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (!res.body)
|
|
128
|
+
return false;
|
|
129
|
+
attempts = 0; // reset em conexão bem-sucedida
|
|
130
|
+
if (!jsonMode)
|
|
131
|
+
log.dim(' Conectado ao stream live… (Ctrl+C para sair)');
|
|
132
|
+
// Parse do protocolo SSE linha a linha.
|
|
133
|
+
const decoder = new TextDecoder();
|
|
134
|
+
let buffer = '';
|
|
135
|
+
const reader = res.body.getReader();
|
|
136
|
+
while (!stopped) {
|
|
137
|
+
const { done, value } = await reader.read();
|
|
138
|
+
if (done)
|
|
139
|
+
break;
|
|
140
|
+
buffer += decoder.decode(value, { stream: true });
|
|
141
|
+
const lines = buffer.split('\n');
|
|
142
|
+
buffer = lines.pop() ?? '';
|
|
143
|
+
let dataLines = [];
|
|
144
|
+
let eventId;
|
|
145
|
+
for (const line of lines) {
|
|
146
|
+
if (line.startsWith('id:')) {
|
|
147
|
+
eventId = line.slice(3).trim();
|
|
148
|
+
}
|
|
149
|
+
else if (line.startsWith('data:')) {
|
|
150
|
+
dataLines.push(line.slice(5).trim());
|
|
151
|
+
}
|
|
152
|
+
else if (line === '') {
|
|
153
|
+
// Dispatch do evento SSE completo.
|
|
154
|
+
if (dataLines.length > 0) {
|
|
155
|
+
const raw = dataLines.join('\n');
|
|
156
|
+
if (raw === '[DONE]') {
|
|
157
|
+
stopped = true;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
const entry = JSON.parse(raw);
|
|
162
|
+
printLog(entry, jsonMode);
|
|
163
|
+
if (eventId)
|
|
164
|
+
lastEventId = eventId;
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// Evento não-JSON (ping/keepalive) — ignorar silenciosamente.
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
dataLines = [];
|
|
171
|
+
eventId = undefined;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (!stopped) {
|
|
176
|
+
// Conexão encerrada pelo servidor — reconectar.
|
|
177
|
+
attempts++;
|
|
178
|
+
if (!jsonMode)
|
|
179
|
+
log.dim(' Stream encerrado pelo servidor. Reconectando…');
|
|
180
|
+
await new Promise((r) => setTimeout(r, 2000));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
if (stopped)
|
|
185
|
+
break;
|
|
186
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
187
|
+
break;
|
|
188
|
+
attempts++;
|
|
189
|
+
if (attempts > MAX_RECONNECTS)
|
|
190
|
+
return false; // sinaliza fallback
|
|
191
|
+
if (!jsonMode)
|
|
192
|
+
log.dim(` Erro de rede no stream (tentativa ${attempts}/${MAX_RECONNECTS})…`);
|
|
193
|
+
await new Promise((r) => setTimeout(r, 3000));
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
process.removeListener('SIGINT', onSigint);
|
|
199
|
+
}
|
|
200
|
+
if (!jsonMode && stopped) {
|
|
201
|
+
process.stdout.write('\n');
|
|
202
|
+
log.dim(' stream encerrado.');
|
|
203
|
+
}
|
|
204
|
+
return true; // encerrado normalmente (Ctrl+C ou MAX_RECONNECTS esgotado com retorno)
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Modo polling NDJSON — fallback quando SSE não está disponível.
|
|
208
|
+
* Poll a cada 5s usando `after=<lastTs>`.
|
|
209
|
+
*/
|
|
210
|
+
async function runPollingFollow(clientId, lastTs, lines, opts, jsonMode) {
|
|
211
|
+
if (!jsonMode)
|
|
212
|
+
log.dim(' Aguardando novos logs… (Ctrl+C para sair)');
|
|
213
|
+
let currentLastTs = lastTs;
|
|
214
|
+
let stopped = false;
|
|
215
|
+
const onSigint = () => { stopped = true; };
|
|
216
|
+
process.once('SIGINT', onSigint);
|
|
217
|
+
try {
|
|
218
|
+
while (!stopped) {
|
|
219
|
+
await new Promise((r) => setTimeout(r, 5000));
|
|
220
|
+
if (stopped)
|
|
221
|
+
break;
|
|
222
|
+
try {
|
|
223
|
+
const next = await fetchLogs(clientId, {
|
|
224
|
+
limit: lines,
|
|
225
|
+
after: currentLastTs,
|
|
226
|
+
level: opts.level,
|
|
227
|
+
product: opts.product,
|
|
228
|
+
channel: opts.channel,
|
|
229
|
+
correlationId: opts.correlationId,
|
|
230
|
+
});
|
|
231
|
+
for (const e of next) {
|
|
232
|
+
printLog(e, jsonMode);
|
|
233
|
+
currentLastTs = e.timestamp;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
// Erros transientes no follow não derrubam o tail.
|
|
238
|
+
if (error instanceof CliNetworkError)
|
|
239
|
+
continue;
|
|
240
|
+
throw error;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
finally {
|
|
245
|
+
process.removeListener('SIGINT', onSigint);
|
|
246
|
+
}
|
|
247
|
+
if (!jsonMode) {
|
|
248
|
+
process.stdout.write('\n');
|
|
249
|
+
log.dim(' stream encerrado.');
|
|
250
|
+
}
|
|
251
|
+
}
|
|
62
252
|
export async function runLogs(opts) {
|
|
63
253
|
if (!opts.clientId) {
|
|
64
254
|
log.error('--client-id <oauthClientId> obrigatório.');
|
|
@@ -68,6 +258,7 @@ export async function runLogs(opts) {
|
|
|
68
258
|
log.error('Não autenticado. Execute: neetru login');
|
|
69
259
|
process.exit(2);
|
|
70
260
|
}
|
|
261
|
+
const jsonMode = opts.json ?? false;
|
|
71
262
|
const lines = Math.max(1, Math.min(1000, Number.parseInt(opts.lines ?? '50', 10) || 50));
|
|
72
263
|
const sinceMs = parseDuration(opts.since ?? '15m');
|
|
73
264
|
const since = Date.now() - sinceMs;
|
|
@@ -103,38 +294,20 @@ export async function runLogs(opts) {
|
|
|
103
294
|
process.exit(4);
|
|
104
295
|
}
|
|
105
296
|
if (entries.length === 0) {
|
|
106
|
-
|
|
297
|
+
if (!jsonMode)
|
|
298
|
+
log.dim(' Nenhum log encontrado no intervalo.');
|
|
107
299
|
}
|
|
108
300
|
else {
|
|
109
301
|
for (const e of entries)
|
|
110
|
-
printLog(e);
|
|
302
|
+
printLog(e, jsonMode);
|
|
111
303
|
}
|
|
112
304
|
if (!opts.follow)
|
|
113
305
|
return;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const next = await fetchLogs(opts.clientId, {
|
|
120
|
-
limit: lines,
|
|
121
|
-
after: lastTs,
|
|
122
|
-
level: opts.level,
|
|
123
|
-
product: opts.product,
|
|
124
|
-
channel: opts.channel,
|
|
125
|
-
correlationId: opts.correlationId,
|
|
126
|
-
});
|
|
127
|
-
for (const e of next) {
|
|
128
|
-
printLog(e);
|
|
129
|
-
lastTs = e.timestamp;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
// Transient errors no follow não derrubam o tail
|
|
134
|
-
if (error instanceof CliNetworkError)
|
|
135
|
-
continue;
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
306
|
+
const lastTs = entries.length > 0 ? entries[entries.length - 1].timestamp : new Date().toISOString();
|
|
307
|
+
// Tenta SSE primeiro; cai no polling se endpoint não suportado.
|
|
308
|
+
const sseHandled = await runSseFollow(opts.clientId, opts, jsonMode);
|
|
309
|
+
if (!sseHandled) {
|
|
310
|
+
await runPollingFollow(opts.clientId, lastTs, lines, opts, jsonMode);
|
|
138
311
|
}
|
|
139
312
|
}
|
|
140
313
|
//# sourceMappingURL=logs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `neetru ops` — comandos de operação interna do Neetru Core.
|
|
3
|
+
*
|
|
4
|
+
* Substitui os scripts ad-hoc em scripts/ com interface consistente, autenticação
|
|
5
|
+
* via Bearer token e flags --dry-run onde há mutação.
|
|
6
|
+
*
|
|
7
|
+
* Namespace ops:
|
|
8
|
+
* neetru ops heartbeat — checar heartbeat do agente em um server
|
|
9
|
+
* neetru ops smoke notification — dispara notification de smoke end-to-end
|
|
10
|
+
* neetru ops smoke observability — smoke test do pipeline de observability
|
|
11
|
+
* neetru ops reg-token <serverId> — gerar registration token para um server
|
|
12
|
+
* neetru ops resolve-errors — resolver erros abertos em lote
|
|
13
|
+
* neetru ops openapi-diff — detectar breaking changes na spec OpenAPI
|
|
14
|
+
*
|
|
15
|
+
* TODO (próximo sprint): bootstrap-admin, backfill incidents-source, backfill workspaces,
|
|
16
|
+
* seed api-catalog, rehash-sdk-secrets, migrate cli-keys.
|
|
17
|
+
*/
|
|
18
|
+
import { Command } from 'commander';
|
|
19
|
+
declare function deprecationBanner(scriptName: string, command: string): void;
|
|
20
|
+
export interface OpsHeartbeatOptions {
|
|
21
|
+
serverId?: string;
|
|
22
|
+
json?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function runOpsHeartbeat(opts: OpsHeartbeatOptions): Promise<void>;
|
|
25
|
+
export interface OpsSmokeNotificationOptions {
|
|
26
|
+
recipientRole?: string;
|
|
27
|
+
recipientUid?: string;
|
|
28
|
+
kind?: string;
|
|
29
|
+
title?: string;
|
|
30
|
+
link?: string;
|
|
31
|
+
json?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export declare function runOpsSmokeNotification(opts: OpsSmokeNotificationOptions): Promise<void>;
|
|
34
|
+
export interface OpsSmokeObservabilityOptions {
|
|
35
|
+
baseUrl?: string;
|
|
36
|
+
bearer?: string;
|
|
37
|
+
waitSec?: number;
|
|
38
|
+
json?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export declare function runOpsSmokeObservability(opts: OpsSmokeObservabilityOptions): Promise<void>;
|
|
41
|
+
export interface OpsRegTokenOptions {
|
|
42
|
+
expiresMin?: number;
|
|
43
|
+
json?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export declare function runOpsRegToken(serverId: string, opts: OpsRegTokenOptions): Promise<void>;
|
|
46
|
+
export interface OpsResolveErrorsOptions {
|
|
47
|
+
dryRun?: boolean;
|
|
48
|
+
resolvedBy?: string;
|
|
49
|
+
json?: boolean;
|
|
50
|
+
}
|
|
51
|
+
export declare function runOpsResolveErrors(opts: OpsResolveErrorsOptions): Promise<void>;
|
|
52
|
+
export interface OpsOpenapiDiffOptions {
|
|
53
|
+
update?: boolean;
|
|
54
|
+
json?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export declare function runOpsOpenapiDiff(opts: OpsOpenapiDiffOptions): Promise<void>;
|
|
57
|
+
export declare function registerOpsCommand(program: Command): void;
|
|
58
|
+
export { deprecationBanner };
|