@neetru/cli 2.12.23 → 2.13.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.
- package/CHANGELOG.md +9 -0
- package/dist/commands/ai.js +17 -12
- package/dist/commands/ai.js.map +1 -1
- package/dist/commands/autocomplete.js +34 -34
- package/dist/commands/config.js +3 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/deploy.d.ts +10 -0
- package/dist/commands/deploy.js +22 -4
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/init.js +147 -147
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/ai/context.js +91 -91
- package/dist/lib/ai/orchestrator.d.ts +2 -2
- package/dist/lib/ai/orchestrator.js +197 -41
- package/dist/lib/ai/orchestrator.js.map +1 -1
- package/dist/lib/config.d.ts +2 -1
- package/dist/lib/config.js +2 -1
- package/dist/lib/config.js.map +1 -1
- package/package.json +1 -1
- package/templates/auth/callback.ts +22 -22
- package/templates/auth/sign-in.tsx +41 -41
- package/templates/billing/checkout.ts +22 -22
- package/templates/billing/page.tsx +43 -43
- package/templates/support/ticket-form.tsx +68 -68
- package/templates/usage/track.ts +30 -30
- package/templates/users/profile.tsx +43 -43
- package/dist/commands/fn.d.ts +0 -6
- package/dist/commands/fn.js +0 -88
- package/dist/commands/fn.js.map +0 -1
- package/dist/commands/marketplace.d.ts +0 -36
- package/dist/commands/marketplace.js +0 -585
- package/dist/commands/marketplace.js.map +0 -1
|
@@ -3,6 +3,7 @@ import OpenAI from 'openai';
|
|
|
3
3
|
import { config } from '../config.js';
|
|
4
4
|
import { NEETRU_SYSTEM_CONTEXT, loadProjectContext } from './context.js';
|
|
5
5
|
import { discoveredKeys } from './auth-discovery.js';
|
|
6
|
+
import { getActiveTokenSync } from '../token-resolver.js';
|
|
6
7
|
import { log } from '../../utils/logger.js';
|
|
7
8
|
// ── Endpoints + modelos default dos providers OpenAI-compatible ──────────────
|
|
8
9
|
// Groq e NVIDIA NIM expõem APIs OpenAI-compatible → reusamos o SDK `openai`
|
|
@@ -22,6 +23,15 @@ const NVIDIA_DEFAULT_MODEL = 'meta/llama-3.3-70b-instruct';
|
|
|
22
23
|
const OPENAI_DEFAULT_MODEL = 'gpt-4.1';
|
|
23
24
|
const GEMINI_DEFAULT_MODEL = 'gemini-2.5-flash';
|
|
24
25
|
const CLAUDE_DEFAULT_MODEL = 'claude-sonnet-4-6';
|
|
26
|
+
// ── AI Gateway do Core (2026-07) ─────────────────────────────────────────────
|
|
27
|
+
// `neetru ai --debug:model gateway` — usa o token de sessão `nrt_...` gravado
|
|
28
|
+
// por `neetru login` (RFC 8628 device code) em vez de uma chave BYOK própria.
|
|
29
|
+
// Endpoint: POST {neetruApiUrl}/api/cli/v1/ai/chat (Bearer nrt_... — mesmo
|
|
30
|
+
// controle de acesso dos demais `/api/cli/v1/*`). productId/tenantId são
|
|
31
|
+
// fixos no lado do Core (`neetru-cli` / `neetru-internal`) — não mandamos.
|
|
32
|
+
// Override de modelo: `neetru config set gatewayModel <id>`.
|
|
33
|
+
const AI_GATEWAY_CHAT_PATH = '/api/cli/v1/ai/chat';
|
|
34
|
+
const GATEWAY_DEFAULT_MODEL = 'claude-sonnet-4-6';
|
|
25
35
|
// ── Timeout de stream (ms) ───────────────────────────────────────────────────
|
|
26
36
|
// Tempo máximo pra receber o 1º byte (ou completar) um stream de qualquer
|
|
27
37
|
// provider. Configurável via env NEETRU_STREAM_TIMEOUT_MS (ex: 120000 pra 2min).
|
|
@@ -128,6 +138,9 @@ export function routeModel(input, preferred) {
|
|
|
128
138
|
gemini: !!resolveKey('gemini'),
|
|
129
139
|
groq: !!resolveKey('groq'),
|
|
130
140
|
nvidia: !!resolveKey('nvidia'),
|
|
141
|
+
// Gateway não é BYOK — "disponível" = tem sessão de `neetru login` válida
|
|
142
|
+
// (mesmo resolver usado por todo o resto do CLI), não uma chave de pool.
|
|
143
|
+
gateway: !!getActiveTokenSync(),
|
|
131
144
|
};
|
|
132
145
|
if (preferred !== 'auto') {
|
|
133
146
|
if (available[preferred])
|
|
@@ -354,6 +367,48 @@ function streamNvidia(messages, systemExtra, onChunk) {
|
|
|
354
367
|
onChunk,
|
|
355
368
|
});
|
|
356
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Consome um `ReadableStream` de bytes no formato SSE (`data: <payload>\n\n`,
|
|
372
|
+
* uma ou mais linhas por chunk de rede) e chama `onLine(payload)` pra cada
|
|
373
|
+
* linha `data: ` encontrada — `payload` é a string crua (sem parse; o caller
|
|
374
|
+
* decide o shape do JSON e trata `[DONE]`/keep-alives à sua maneira).
|
|
375
|
+
*
|
|
376
|
+
* Extraído do parsing manual que `streamGemini` já fazia (buffer + split por
|
|
377
|
+
* `\n` + regex `^data:\s*(.*)$`) pra ser reusado por `streamGateway` (que
|
|
378
|
+
* consome SSE OpenAI-compatible do AI Gateway do Core) sem duplicar a lógica
|
|
379
|
+
* de buffering/decode. Cleanup do reader é feito aqui (`reader.cancel()` em
|
|
380
|
+
* finally) — o caller só precisa gerenciar seu próprio timeout/AbortController.
|
|
381
|
+
*/
|
|
382
|
+
async function readSseLines(body, onLine) {
|
|
383
|
+
const reader = body.getReader();
|
|
384
|
+
const dec = new TextDecoder();
|
|
385
|
+
let buf = '';
|
|
386
|
+
try {
|
|
387
|
+
while (true) {
|
|
388
|
+
const { value, done } = await reader.read();
|
|
389
|
+
if (done)
|
|
390
|
+
break;
|
|
391
|
+
buf += dec.decode(value, { stream: true });
|
|
392
|
+
const lines = buf.split('\n');
|
|
393
|
+
buf = lines.pop() ?? '';
|
|
394
|
+
for (const line of lines) {
|
|
395
|
+
const matchData = line.match(/^data:\s*(.*)$/);
|
|
396
|
+
if (!matchData)
|
|
397
|
+
continue;
|
|
398
|
+
onLine(matchData[1]);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
finally {
|
|
403
|
+
// Libera o reader; idempotente — safe em erro, completion ou abort.
|
|
404
|
+
try {
|
|
405
|
+
await reader.cancel();
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
// reader já fechado, ignora.
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
357
412
|
/**
|
|
358
413
|
* Stream via Gemini REST API `streamGenerateContent`.
|
|
359
414
|
*
|
|
@@ -415,55 +470,33 @@ async function streamGemini(messages, systemExtra, onChunk, signal) {
|
|
|
415
470
|
}
|
|
416
471
|
if (!resp.body)
|
|
417
472
|
throw new Error('Gemini: resposta sem body');
|
|
418
|
-
const reader = resp.body.getReader();
|
|
419
|
-
const dec = new TextDecoder();
|
|
420
|
-
let buf = '';
|
|
421
473
|
let full = '';
|
|
422
474
|
let usage;
|
|
423
475
|
try {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
buf = lines.pop() ?? '';
|
|
432
|
-
for (const line of lines) {
|
|
433
|
-
const matchData = line.match(/^data:\s*(.*)$/);
|
|
434
|
-
if (!matchData)
|
|
435
|
-
continue;
|
|
436
|
-
try {
|
|
437
|
-
const obj = JSON.parse(matchData[1]);
|
|
438
|
-
const txt = obj?.candidates?.[0]?.content?.parts?.[0]?.text;
|
|
439
|
-
if (typeof txt === 'string' && txt) {
|
|
440
|
-
onChunk(txt);
|
|
441
|
-
full += txt;
|
|
442
|
-
}
|
|
443
|
-
// usageMetadata aparece no último objeto da stream.
|
|
444
|
-
if (obj?.usageMetadata) {
|
|
445
|
-
const u = obj.usageMetadata;
|
|
446
|
-
usage = {
|
|
447
|
-
inputTokens: u.promptTokenCount ?? 0,
|
|
448
|
-
outputTokens: u.candidatesTokenCount ?? 0,
|
|
449
|
-
totalTokens: u.totalTokenCount ?? 0,
|
|
450
|
-
};
|
|
451
|
-
}
|
|
476
|
+
await readSseLines(resp.body, (payload) => {
|
|
477
|
+
try {
|
|
478
|
+
const obj = JSON.parse(payload);
|
|
479
|
+
const txt = obj?.candidates?.[0]?.content?.parts?.[0]?.text;
|
|
480
|
+
if (typeof txt === 'string' && txt) {
|
|
481
|
+
onChunk(txt);
|
|
482
|
+
full += txt;
|
|
452
483
|
}
|
|
453
|
-
|
|
454
|
-
|
|
484
|
+
// usageMetadata aparece no último objeto da stream.
|
|
485
|
+
if (obj?.usageMetadata) {
|
|
486
|
+
const u = obj.usageMetadata;
|
|
487
|
+
usage = {
|
|
488
|
+
inputTokens: u.promptTokenCount ?? 0,
|
|
489
|
+
outputTokens: u.candidatesTokenCount ?? 0,
|
|
490
|
+
totalTokens: u.totalTokenCount ?? 0,
|
|
491
|
+
};
|
|
455
492
|
}
|
|
456
493
|
}
|
|
457
|
-
|
|
494
|
+
catch {
|
|
495
|
+
// ignora linha de keep-alive
|
|
496
|
+
}
|
|
497
|
+
});
|
|
458
498
|
}
|
|
459
499
|
finally {
|
|
460
|
-
// Libera o reader; idempotente — safe em erro, completion ou abort.
|
|
461
|
-
try {
|
|
462
|
-
await reader.cancel();
|
|
463
|
-
}
|
|
464
|
-
catch {
|
|
465
|
-
// reader já fechado, ignora.
|
|
466
|
-
}
|
|
467
500
|
clearTimeout(timer);
|
|
468
501
|
}
|
|
469
502
|
recordUsage(usage);
|
|
@@ -487,6 +520,125 @@ async function streamGemini(messages, systemExtra, onChunk, signal) {
|
|
|
487
520
|
const detail = lastErr?.message ?? String(lastErr);
|
|
488
521
|
throw new Error(`Gemini: todas as ${keys.length} chave(s) do pool falharam (auth/rate-limit). Último erro: ${detail}`);
|
|
489
522
|
}
|
|
523
|
+
/**
|
|
524
|
+
* Streamer do AI Gateway do Core (`POST /api/cli/v1/ai/chat`).
|
|
525
|
+
*
|
|
526
|
+
* Diferente dos demais streamers: NÃO é BYOK (sem chave própria pra rotacionar).
|
|
527
|
+
* "Disponibilidade" é binária — tem sessão válida (`neetru login`) ou não; o
|
|
528
|
+
* token vem de `getActiveTokenSync()` (canônico `~/.config/neetru-cli/auth.json`,
|
|
529
|
+
* fallback Conf legacy — mesmo resolver usado por todo o resto do CLI). Erros de
|
|
530
|
+
* auth (401/403) NÃO tentam de novo — orientam direto pra `neetru login`.
|
|
531
|
+
*
|
|
532
|
+
* Contrato do endpoint: body `{ model, messages, stream:true, maxTokens,
|
|
533
|
+
* temperature? }`; productId/tenantId são fixos no lado do Core (não mandamos).
|
|
534
|
+
* Resposta SSE OpenAI-compatible: `data: {"choices":[{"delta":{"content":"…"}}]}`
|
|
535
|
+
* terminando em `data: [DONE]`. Usage (quando presente) vem em `chunk.usage`
|
|
536
|
+
* (só quando o provider por trás do gateway suporta `stream_options.include_usage`
|
|
537
|
+
* — ex: OpenAI/Groq/NVIDIA; modelos roteados pro provider Anthropic não expõem
|
|
538
|
+
* usage por chunk). Se o stream nunca trouxer usage, `recordUsage` simplesmente
|
|
539
|
+
* não é chamado — não inventamos número.
|
|
540
|
+
*/
|
|
541
|
+
async function streamGateway(messages, systemExtra, onChunk, signal) {
|
|
542
|
+
const token = getActiveTokenSync();
|
|
543
|
+
if (!token) {
|
|
544
|
+
throw new Error('Sessão Neetru ausente ou expirada. Rode `neetru login`.');
|
|
545
|
+
}
|
|
546
|
+
const baseUrl = (config.get('neetruApiUrl') ?? 'https://api.neetru.com').replace(/\/+$/, '');
|
|
547
|
+
const url = `${baseUrl}${AI_GATEWAY_CHAT_PATH}`;
|
|
548
|
+
const model = config.get('gatewayModel') ?? GATEWAY_DEFAULT_MODEL;
|
|
549
|
+
const systemContent = [NEETRU_SYSTEM_CONTEXT, systemExtra].filter(Boolean).join('\n\n');
|
|
550
|
+
const payloadMessages = [
|
|
551
|
+
{ role: 'system', content: systemContent },
|
|
552
|
+
...messages.map((m) => ({ role: m.role, content: m.content })),
|
|
553
|
+
];
|
|
554
|
+
const ctrl = new AbortController();
|
|
555
|
+
const timer = setTimeout(() => ctrl.abort(new Error(`Neetru AI Gateway stream timeout (${STREAM_TIMEOUT_MS}ms)`)), STREAM_TIMEOUT_MS);
|
|
556
|
+
// Encadeia signal externo com o local (mesmo padrão de streamGemini).
|
|
557
|
+
if (signal) {
|
|
558
|
+
if (signal.aborted)
|
|
559
|
+
ctrl.abort();
|
|
560
|
+
else
|
|
561
|
+
signal.addEventListener('abort', () => ctrl.abort(), { once: true });
|
|
562
|
+
}
|
|
563
|
+
try {
|
|
564
|
+
let resp;
|
|
565
|
+
try {
|
|
566
|
+
resp = await fetch(url, {
|
|
567
|
+
method: 'POST',
|
|
568
|
+
headers: {
|
|
569
|
+
'content-type': 'application/json',
|
|
570
|
+
accept: 'text/event-stream',
|
|
571
|
+
authorization: `Bearer ${token}`,
|
|
572
|
+
},
|
|
573
|
+
body: JSON.stringify({
|
|
574
|
+
model,
|
|
575
|
+
messages: payloadMessages,
|
|
576
|
+
stream: true,
|
|
577
|
+
maxTokens: 8096,
|
|
578
|
+
}),
|
|
579
|
+
signal: ctrl.signal,
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
catch (err) {
|
|
583
|
+
// Timeout → propaga direto a mensagem já construída acima.
|
|
584
|
+
if (ctrl.signal.aborted)
|
|
585
|
+
throw err;
|
|
586
|
+
throw new Error(`Falha ao contactar o AI Gateway do Core (${url}): ${err?.message ?? String(err)}`);
|
|
587
|
+
}
|
|
588
|
+
if (!resp.ok) {
|
|
589
|
+
const bodyText = await resp.text().catch(() => '');
|
|
590
|
+
let detail = bodyText;
|
|
591
|
+
try {
|
|
592
|
+
const parsed = JSON.parse(bodyText);
|
|
593
|
+
if (parsed?.error?.message)
|
|
594
|
+
detail = parsed.error.message;
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
// corpo não-JSON — usa o texto cru (truncado abaixo).
|
|
598
|
+
}
|
|
599
|
+
if (resp.status === 401 || resp.status === 403) {
|
|
600
|
+
throw new Error('Sessão Neetru ausente ou expirada. Rode `neetru login`.');
|
|
601
|
+
}
|
|
602
|
+
throw new Error(`AI Gateway do Core retornou ${resp.status}: ${detail.slice(0, 300) || 'erro sem detalhe'}`);
|
|
603
|
+
}
|
|
604
|
+
if (!resp.body)
|
|
605
|
+
throw new Error('AI Gateway do Core: resposta sem body.');
|
|
606
|
+
let full = '';
|
|
607
|
+
let usage;
|
|
608
|
+
await readSseLines(resp.body, (payload) => {
|
|
609
|
+
if (payload === '[DONE]')
|
|
610
|
+
return;
|
|
611
|
+
let obj;
|
|
612
|
+
try {
|
|
613
|
+
obj = JSON.parse(payload);
|
|
614
|
+
}
|
|
615
|
+
catch {
|
|
616
|
+
return; // linha não-JSON (keep-alive) — ignora.
|
|
617
|
+
}
|
|
618
|
+
const text = obj?.choices?.[0]?.delta?.content;
|
|
619
|
+
if (typeof text === 'string' && text) {
|
|
620
|
+
onChunk(text);
|
|
621
|
+
full += text;
|
|
622
|
+
}
|
|
623
|
+
// Usage OpenAI-compatible (`stream_options.include_usage`) — só presente
|
|
624
|
+
// em modelos roteados por providers que suportam. Sobrescreve a cada
|
|
625
|
+
// chunk que a tiver (normalmente só o último).
|
|
626
|
+
if (obj?.usage) {
|
|
627
|
+
const u = obj.usage;
|
|
628
|
+
usage = {
|
|
629
|
+
inputTokens: u.prompt_tokens ?? 0,
|
|
630
|
+
outputTokens: u.completion_tokens ?? 0,
|
|
631
|
+
totalTokens: u.total_tokens ?? (u.prompt_tokens ?? 0) + (u.completion_tokens ?? 0),
|
|
632
|
+
};
|
|
633
|
+
}
|
|
634
|
+
});
|
|
635
|
+
recordUsage(usage);
|
|
636
|
+
return full;
|
|
637
|
+
}
|
|
638
|
+
finally {
|
|
639
|
+
clearTimeout(timer);
|
|
640
|
+
}
|
|
641
|
+
}
|
|
490
642
|
/** Dispatcher de stream por modelo resolvido. */
|
|
491
643
|
function streamFor(model, messages, systemExtra, onChunk) {
|
|
492
644
|
switch (model) {
|
|
@@ -498,6 +650,8 @@ function streamFor(model, messages, systemExtra, onChunk) {
|
|
|
498
650
|
return streamGroq(messages, systemExtra, onChunk);
|
|
499
651
|
case 'nvidia':
|
|
500
652
|
return streamNvidia(messages, systemExtra, onChunk);
|
|
653
|
+
case 'gateway':
|
|
654
|
+
return streamGateway(messages, systemExtra, onChunk);
|
|
501
655
|
case 'claude':
|
|
502
656
|
default:
|
|
503
657
|
return streamClaude(messages, systemExtra, onChunk);
|
|
@@ -527,6 +681,8 @@ export async function chat(messages, onChunk, preferred) {
|
|
|
527
681
|
* N tokens quando só 2-3 providers são necessários.
|
|
528
682
|
*/
|
|
529
683
|
export async function chatParallel(prompt, systemExtra, opts) {
|
|
684
|
+
// `gateway` fica de fora do team mode: não é BYOK (sem `Provider`/pool de
|
|
685
|
+
// chaves equivalente) — por isso `Partial` em vez de `Record<ResolvedModel,…>`.
|
|
530
686
|
const providerOf = {
|
|
531
687
|
claude: 'anthropic',
|
|
532
688
|
openai: 'openai',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/lib/ai/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/lib/ai/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -10,9 +10,10 @@ interface NeetruConfig {
|
|
|
10
10
|
claudeModel?: string;
|
|
11
11
|
openaiModel?: string;
|
|
12
12
|
geminiModel?: string;
|
|
13
|
+
gatewayModel?: string;
|
|
13
14
|
neetruApiKey?: string;
|
|
14
15
|
neetruApiUrl: string;
|
|
15
|
-
defaultModel: 'claude' | 'openai' | 'gemini' | 'groq' | 'nvidia' | 'auto';
|
|
16
|
+
defaultModel: 'claude' | 'openai' | 'gemini' | 'groq' | 'nvidia' | 'gateway' | 'auto';
|
|
16
17
|
projectName?: string;
|
|
17
18
|
'telemetry.enabled'?: boolean;
|
|
18
19
|
}
|
package/dist/lib/config.js
CHANGED
|
@@ -23,11 +23,12 @@ export const config = new Conf({
|
|
|
23
23
|
claudeModel: { type: 'string' },
|
|
24
24
|
openaiModel: { type: 'string' },
|
|
25
25
|
geminiModel: { type: 'string' },
|
|
26
|
+
gatewayModel: { type: 'string' },
|
|
26
27
|
neetruApiKey: { type: 'string' },
|
|
27
28
|
neetruApiUrl: { type: 'string', default: 'https://api.neetru.com' },
|
|
28
29
|
defaultModel: {
|
|
29
30
|
type: 'string',
|
|
30
|
-
enum: ['claude', 'openai', 'gemini', 'groq', 'nvidia', 'auto'],
|
|
31
|
+
enum: ['claude', 'openai', 'gemini', 'groq', 'nvidia', 'gateway', 'auto'],
|
|
31
32
|
default: 'auto',
|
|
32
33
|
},
|
|
33
34
|
'telemetry.enabled': { type: 'boolean' },
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAmCxB,MAAM,QAAQ,GAAiB;IAC7B,YAAY,EAAE,wBAAwB;IACtC,YAAY,EAAE,MAAM;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAe;IAC3C,WAAW,EAAE,YAAY;IACzB,4EAA4E;IAC5E,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,2EAA2E;IAC3E,cAAc,EAAE,KAAK;IACrB,QAAQ;IACR,MAAM,EAAE;QACN,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACnC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE;QACnE,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;YACzE,OAAO,EAAE,MAAM;SAChB;QACD,mBAAmB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KACzC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,MAAM,CAAC,IAAwB;IAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAA0E;IACnG,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,UAAU,IAAI,iDAAiD,IAAI,UAAU,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Template — `src/lib/neetru/auth/callback.ts` (gerado por `neetru add auth`).
|
|
3
|
-
*
|
|
4
|
-
* Handler de callback OIDC (auth code → id_token). Use em `app/oauth/callback/route.ts`.
|
|
5
|
-
*/
|
|
6
|
-
import { NextRequest, NextResponse } from 'next/server';
|
|
7
|
-
|
|
8
|
-
export const runtime = 'nodejs';
|
|
9
|
-
|
|
10
|
-
export async function GET(request: NextRequest) {
|
|
11
|
-
const { searchParams } = new URL(request.url);
|
|
12
|
-
const code = searchParams.get('code');
|
|
13
|
-
const state = searchParams.get('state');
|
|
14
|
-
|
|
15
|
-
if (!code) {
|
|
16
|
-
return NextResponse.json({ error: 'missing_code' }, { status: 400 });
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Trocar code → id_token contra auth.neetru.com/token
|
|
20
|
-
// Implementação detalhada em docs/PLATFORM_AUTH.md §4
|
|
21
|
-
return NextResponse.redirect(state ?? '/');
|
|
22
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Template — `src/lib/neetru/auth/callback.ts` (gerado por `neetru add auth`).
|
|
3
|
+
*
|
|
4
|
+
* Handler de callback OIDC (auth code → id_token). Use em `app/oauth/callback/route.ts`.
|
|
5
|
+
*/
|
|
6
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
7
|
+
|
|
8
|
+
export const runtime = 'nodejs';
|
|
9
|
+
|
|
10
|
+
export async function GET(request: NextRequest) {
|
|
11
|
+
const { searchParams } = new URL(request.url);
|
|
12
|
+
const code = searchParams.get('code');
|
|
13
|
+
const state = searchParams.get('state');
|
|
14
|
+
|
|
15
|
+
if (!code) {
|
|
16
|
+
return NextResponse.json({ error: 'missing_code' }, { status: 400 });
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Trocar code → id_token contra auth.neetru.com/token
|
|
20
|
+
// Implementação detalhada em docs/PLATFORM_AUTH.md §4
|
|
21
|
+
return NextResponse.redirect(state ?? '/');
|
|
22
|
+
}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Template — `src/lib/neetru/auth/sign-in.tsx` (gerado por `neetru add auth`).
|
|
3
|
-
*
|
|
4
|
-
* Botão Google → redireciona pra auth.neetru.com via SDK (`client.auth.signIn`).
|
|
5
|
-
*
|
|
6
|
-
* Customização: ajuste `redirectUri` se hospedar fora do domínio default.
|
|
7
|
-
*/
|
|
8
|
-
'use client';
|
|
9
|
-
|
|
10
|
-
import { useState } from 'react';
|
|
11
|
-
import { createNeetruClient } from '@neetru/sdk';
|
|
12
|
-
|
|
13
|
-
const client = createNeetruClient({
|
|
14
|
-
apiKey: process.env.NEXT_PUBLIC_NEETRU_API_KEY,
|
|
15
|
-
productId: process.env.NEXT_PUBLIC_NEETRU_PRODUCT_ID,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export function SignInButton() {
|
|
19
|
-
const [loading, setLoading] = useState(false);
|
|
20
|
-
|
|
21
|
-
async function handleSignIn() {
|
|
22
|
-
setLoading(true);
|
|
23
|
-
try {
|
|
24
|
-
await client.auth.signIn();
|
|
25
|
-
} catch (err) {
|
|
26
|
-
console.error('signIn failed', err);
|
|
27
|
-
setLoading(false);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return (
|
|
32
|
-
<button
|
|
33
|
-
type="button"
|
|
34
|
-
onClick={handleSignIn}
|
|
35
|
-
disabled={loading}
|
|
36
|
-
className="inline-flex items-center justify-center px-4 py-2 border bg-white hover:bg-zinc-50 text-zinc-900 font-medium"
|
|
37
|
-
>
|
|
38
|
-
{loading ? 'Redirecionando...' : 'Entrar com Neetru'}
|
|
39
|
-
</button>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Template — `src/lib/neetru/auth/sign-in.tsx` (gerado por `neetru add auth`).
|
|
3
|
+
*
|
|
4
|
+
* Botão Google → redireciona pra auth.neetru.com via SDK (`client.auth.signIn`).
|
|
5
|
+
*
|
|
6
|
+
* Customização: ajuste `redirectUri` se hospedar fora do domínio default.
|
|
7
|
+
*/
|
|
8
|
+
'use client';
|
|
9
|
+
|
|
10
|
+
import { useState } from 'react';
|
|
11
|
+
import { createNeetruClient } from '@neetru/sdk';
|
|
12
|
+
|
|
13
|
+
const client = createNeetruClient({
|
|
14
|
+
apiKey: process.env.NEXT_PUBLIC_NEETRU_API_KEY,
|
|
15
|
+
productId: process.env.NEXT_PUBLIC_NEETRU_PRODUCT_ID,
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export function SignInButton() {
|
|
19
|
+
const [loading, setLoading] = useState(false);
|
|
20
|
+
|
|
21
|
+
async function handleSignIn() {
|
|
22
|
+
setLoading(true);
|
|
23
|
+
try {
|
|
24
|
+
await client.auth.signIn();
|
|
25
|
+
} catch (err) {
|
|
26
|
+
console.error('signIn failed', err);
|
|
27
|
+
setLoading(false);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return (
|
|
32
|
+
<button
|
|
33
|
+
type="button"
|
|
34
|
+
onClick={handleSignIn}
|
|
35
|
+
disabled={loading}
|
|
36
|
+
className="inline-flex items-center justify-center px-4 py-2 border bg-white hover:bg-zinc-50 text-zinc-900 font-medium"
|
|
37
|
+
>
|
|
38
|
+
{loading ? 'Redirecionando...' : 'Entrar com Neetru'}
|
|
39
|
+
</button>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Template — `src/lib/neetru/billing/checkout.ts` (gerado por `neetru add billing`).
|
|
3
|
-
*
|
|
4
|
-
* Inicia checkout Stripe via Core. Server route handler.
|
|
5
|
-
*/
|
|
6
|
-
import { NextRequest, NextResponse } from 'next/server';
|
|
7
|
-
|
|
8
|
-
export const runtime = 'nodejs';
|
|
9
|
-
|
|
10
|
-
export async function POST(request: NextRequest) {
|
|
11
|
-
const body = await request.json();
|
|
12
|
-
const slug = body?.slug as string | undefined;
|
|
13
|
-
if (!slug) {
|
|
14
|
-
return NextResponse.json({ error: 'slug required' }, { status: 400 });
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// Hit Core REST: POST /api/v1/billing/checkout
|
|
18
|
-
// (Sprint 9 expõe via SDK direto)
|
|
19
|
-
return NextResponse.json({
|
|
20
|
-
redirectUrl: `https://minhaconta.neetru.com/checkout?slug=${slug}`,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Template — `src/lib/neetru/billing/checkout.ts` (gerado por `neetru add billing`).
|
|
3
|
+
*
|
|
4
|
+
* Inicia checkout Stripe via Core. Server route handler.
|
|
5
|
+
*/
|
|
6
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
7
|
+
|
|
8
|
+
export const runtime = 'nodejs';
|
|
9
|
+
|
|
10
|
+
export async function POST(request: NextRequest) {
|
|
11
|
+
const body = await request.json();
|
|
12
|
+
const slug = body?.slug as string | undefined;
|
|
13
|
+
if (!slug) {
|
|
14
|
+
return NextResponse.json({ error: 'slug required' }, { status: 400 });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Hit Core REST: POST /api/v1/billing/checkout
|
|
18
|
+
// (Sprint 9 expõe via SDK direto)
|
|
19
|
+
return NextResponse.json({
|
|
20
|
+
redirectUrl: `https://minhaconta.neetru.com/checkout?slug=${slug}`,
|
|
21
|
+
});
|
|
22
|
+
}
|