@neetru/cli 2.0.0 → 2.1.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.
Files changed (71) hide show
  1. package/dist/commands/agent-release.d.ts +13 -0
  2. package/dist/commands/agent-release.js +204 -0
  3. package/dist/commands/agent-release.js.map +1 -0
  4. package/dist/commands/agent-write.d.ts +12 -0
  5. package/dist/commands/agent-write.js +94 -0
  6. package/dist/commands/agent-write.js.map +1 -0
  7. package/dist/commands/api-catalog.d.ts +20 -0
  8. package/dist/commands/api-catalog.js +126 -0
  9. package/dist/commands/api-catalog.js.map +1 -0
  10. package/dist/commands/audit.d.ts +8 -0
  11. package/dist/commands/audit.js +69 -0
  12. package/dist/commands/audit.js.map +1 -0
  13. package/dist/commands/billing.d.ts +6 -0
  14. package/dist/commands/billing.js +69 -0
  15. package/dist/commands/billing.js.map +1 -0
  16. package/dist/commands/build.js +10 -3
  17. package/dist/commands/build.js.map +1 -1
  18. package/dist/commands/cloud-run.d.ts +11 -0
  19. package/dist/commands/cloud-run.js +87 -0
  20. package/dist/commands/cloud-run.js.map +1 -0
  21. package/dist/commands/deploy.d.ts +7 -0
  22. package/dist/commands/deploy.js +150 -17
  23. package/dist/commands/deploy.js.map +1 -1
  24. package/dist/commands/deployments.d.ts +11 -0
  25. package/dist/commands/deployments.js +69 -0
  26. package/dist/commands/deployments.js.map +1 -0
  27. package/dist/commands/dr.d.ts +11 -0
  28. package/dist/commands/dr.js +79 -0
  29. package/dist/commands/dr.js.map +1 -0
  30. package/dist/commands/infra-read.d.ts +9 -0
  31. package/dist/commands/infra-read.js +113 -0
  32. package/dist/commands/infra-read.js.map +1 -0
  33. package/dist/commands/init.js +91 -27
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/products-db.d.ts +37 -0
  36. package/dist/commands/products-db.js +230 -0
  37. package/dist/commands/products-db.js.map +1 -0
  38. package/dist/commands/products.d.ts +12 -0
  39. package/dist/commands/products.js +97 -0
  40. package/dist/commands/products.js.map +1 -0
  41. package/dist/commands/servers.d.ts +23 -0
  42. package/dist/commands/servers.js +166 -0
  43. package/dist/commands/servers.js.map +1 -0
  44. package/dist/commands/support.d.ts +25 -0
  45. package/dist/commands/support.js +184 -0
  46. package/dist/commands/support.js.map +1 -0
  47. package/dist/commands/surface-status.d.ts +5 -0
  48. package/dist/commands/surface-status.js +63 -0
  49. package/dist/commands/surface-status.js.map +1 -0
  50. package/dist/commands/tenants.d.ts +34 -0
  51. package/dist/commands/tenants.js +179 -0
  52. package/dist/commands/tenants.js.map +1 -0
  53. package/dist/commands/workspaces.d.ts +15 -0
  54. package/dist/commands/workspaces.js +72 -0
  55. package/dist/commands/workspaces.js.map +1 -0
  56. package/dist/index.js +761 -4
  57. package/dist/index.js.map +1 -1
  58. package/dist/lib/api-client.d.ts +18 -0
  59. package/dist/lib/api-client.js +124 -4
  60. package/dist/lib/api-client.js.map +1 -1
  61. package/dist/lib/cli-read.d.ts +13 -0
  62. package/dist/lib/cli-read.js +103 -0
  63. package/dist/lib/cli-read.js.map +1 -0
  64. package/dist/lib/cli-write.d.ts +47 -0
  65. package/dist/lib/cli-write.js +137 -0
  66. package/dist/lib/cli-write.js.map +1 -0
  67. package/dist/lib/config-schema.d.ts +10 -10
  68. package/dist/lib/render.d.ts +16 -0
  69. package/dist/lib/render.js +74 -0
  70. package/dist/lib/render.js.map +1 -0
  71. package/package.json +4 -4
@@ -0,0 +1,69 @@
1
+ /**
2
+ * `neetru deployments create|rollback` — control plane de deployments.
3
+ *
4
+ * Endpoints:
5
+ * POST /api/cli/v1/deployments (create)
6
+ * POST /api/cli/v1/deployments/{id}/rollback (rollback — destrutivo)
7
+ *
8
+ * `neetru deploy` (pipeline de produto interativo) continua existindo à parte;
9
+ * estes comandos operam o recurso `deployments/` direto (paridade com a UI).
10
+ */
11
+ import ora from 'ora';
12
+ import { apiRequest } from '../lib/api-client.js';
13
+ import { requireToken, handleApiError, confirmDestructive, printWriteResult, resolveStepUp, } from '../lib/cli-write.js';
14
+ import { log } from '../utils/logger.js';
15
+ export async function runDeploymentsCreate(opts) {
16
+ const token = await requireToken(opts.json);
17
+ const spinner = opts.json
18
+ ? null
19
+ : ora({ text: `Criando deployment ${opts.product}@${opts.version}…`, color: 'blue' }).start();
20
+ let res;
21
+ try {
22
+ res = await apiRequest('/api/cli/v1/deployments', {
23
+ method: 'POST',
24
+ token,
25
+ body: {
26
+ productId: opts.product,
27
+ tenantId: opts.tenant,
28
+ version: opts.version,
29
+ environmentId: opts.env,
30
+ serverId: opts.server,
31
+ },
32
+ });
33
+ spinner?.stop();
34
+ }
35
+ catch (error) {
36
+ spinner?.fail('Falha ao criar deployment.');
37
+ handleApiError(error, opts.json);
38
+ }
39
+ if (opts.json) {
40
+ console.log(JSON.stringify(res));
41
+ return;
42
+ }
43
+ log.success(`Deployment criado: ${res.id}`);
44
+ if (res.canary)
45
+ log.dim('Canary habilitado — propague via UI após o soak.');
46
+ }
47
+ export async function runDeploymentsRollback(id, opts) {
48
+ if (!id) {
49
+ log.error('Uso: neetru deployments rollback <deploymentId>');
50
+ process.exit(1);
51
+ }
52
+ const token = await requireToken(opts.json);
53
+ await confirmDestructive(`Rollback do deployment ${id}? Isso dispara um novo deploy da versão anterior em produção.`, opts);
54
+ const { headers } = await resolveStepUp(opts);
55
+ const spinner = opts.json
56
+ ? null
57
+ : ora({ text: `Rollback do deployment ${id}…`, color: 'blue' }).start();
58
+ let res;
59
+ try {
60
+ res = await apiRequest(`/api/cli/v1/deployments/${encodeURIComponent(id)}/rollback${opts.dryRun ? '?dryRun=true' : ''}`, { method: 'POST', token, headers });
61
+ spinner?.stop();
62
+ }
63
+ catch (error) {
64
+ spinner?.fail('Falha ao fazer rollback.');
65
+ handleApiError(error, opts.json);
66
+ }
67
+ printWriteResult(res.dryRun ? res : { id: res.id }, `Rollback disparado — novo deployment: ${res.id}`, opts.json);
68
+ }
69
+ //# sourceMappingURL=deployments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/commands/deployments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type StepUpOptions } from '../lib/cli-write.js';
2
+ export declare function runDrExportsList(opts: {
3
+ json?: boolean;
4
+ }): Promise<void>;
5
+ export interface DrRestoreOptions extends StepUpOptions {
6
+ /** gcsPath do export — vem do output de `dr exports list`. */
7
+ gcsPath: string;
8
+ /** Projeto GCP de DESTINO (staging — nunca o LIVE). */
9
+ targetProject: string;
10
+ }
11
+ export declare function runDrRestore(opts: DrRestoreOptions): Promise<void>;
@@ -0,0 +1,79 @@
1
+ /**
2
+ * `neetru dr exports list` + `neetru dr restore` — DR drill assistido
3
+ * (`PROJ_GRANDE_ATUALIZACAO §5.1` / `RUNBOOK_DR_DRILL.md §4`).
4
+ *
5
+ * Endpoints:
6
+ * GET /api/cli/v1/dr/exports (admin only)
7
+ * POST /api/cli/v1/dr/restore (admin + step-up MFA — destrutivo top-tier)
8
+ */
9
+ import ora from 'ora';
10
+ import { apiRequest } from '../lib/api-client.js';
11
+ import { requireToken, handleApiError, confirmDestructive, printWriteResult, resolveStepUp, } from '../lib/cli-write.js';
12
+ import { renderTable, fmtTimestamp } from '../lib/render.js';
13
+ import { log } from '../utils/logger.js';
14
+ export async function runDrExportsList(opts) {
15
+ const token = await requireToken(opts.json);
16
+ const spinner = opts.json
17
+ ? null
18
+ : ora({ text: 'Buscando exports de DR…', color: 'blue' }).start();
19
+ let res;
20
+ try {
21
+ res = await apiRequest('/api/cli/v1/dr/exports', { token });
22
+ spinner?.stop();
23
+ }
24
+ catch (error) {
25
+ spinner?.fail('Falha ao listar exports.');
26
+ handleApiError(error, opts.json);
27
+ }
28
+ if (opts.json) {
29
+ console.log(JSON.stringify(res));
30
+ return;
31
+ }
32
+ log.heading(`Exports DR (${res.count})`);
33
+ if (res.count === 0) {
34
+ log.dim('Nenhum export encontrado em gs://neetru-backups/firestore-exports/.');
35
+ return;
36
+ }
37
+ renderTable([
38
+ { header: 'STAMP', value: (e) => e.stamp, maxWidth: 30 },
39
+ {
40
+ header: 'TAMANHO',
41
+ value: (e) => e.sizeBytes > 0 ? `${(e.sizeBytes / 1024 / 1024).toFixed(1)} MB` : '—',
42
+ },
43
+ { header: 'ATUALIZADO', value: (e) => fmtTimestamp(e.updatedAt) },
44
+ { header: 'GCS', value: (e) => e.gcsPath, maxWidth: 50 },
45
+ ], res.exports);
46
+ console.log();
47
+ }
48
+ export async function runDrRestore(opts) {
49
+ if (!opts.gcsPath || !opts.targetProject) {
50
+ log.error('Uso: neetru dr restore --gcs-path <path> --target-project <project>');
51
+ process.exit(1);
52
+ }
53
+ const token = await requireToken(opts.json);
54
+ await confirmDestructive(`Restaurar Firestore de ${opts.gcsPath} para o projeto ${opts.targetProject}? ` +
55
+ `Esta operação é IRREVERSÍVEL no projeto destino. Use SEMPRE um projeto de staging.`, opts);
56
+ const { headers } = await resolveStepUp(opts);
57
+ const spinner = opts.json
58
+ ? null
59
+ : ora({ text: 'Disparando restore…', color: 'blue' }).start();
60
+ let res;
61
+ try {
62
+ res = await apiRequest(`/api/cli/v1/dr/restore${opts.dryRun ? '?dryRun=true' : ''}`, {
63
+ method: 'POST',
64
+ token,
65
+ headers,
66
+ body: { gcsPath: opts.gcsPath, targetProject: opts.targetProject },
67
+ });
68
+ spinner?.stop();
69
+ }
70
+ catch (error) {
71
+ spinner?.fail('Falha ao disparar restore.');
72
+ handleApiError(error, opts.json);
73
+ }
74
+ printWriteResult(res.dryRun
75
+ ? res
76
+ : { operationName: res.operationName, targetProject: res.targetProject }, `Restore disparado — operationName: ${res.operationName}. ` +
77
+ `Acompanhe via gcloud firestore operations describe.`, opts.json);
78
+ }
79
+ //# sourceMappingURL=dr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dr.js","sourceRoot":"","sources":["../../src/commands/dr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare function runDnsZonesList(opts: {
2
+ json?: boolean;
3
+ }): Promise<void>;
4
+ export declare function runHostingList(opts: {
5
+ json?: boolean;
6
+ }): Promise<void>;
7
+ export declare function runBuildsList(opts: {
8
+ json?: boolean;
9
+ }): Promise<void>;
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Comandos read-only de infraestrutura: `neetru dns zones list`,
3
+ * `neetru hosting list`, `neetru builds list` (F5 scope matrix §4.2.0
4
+ * — bucket "✅ DEVE entrar", read-only).
5
+ *
6
+ * Todos batem em `/api/cli/v1/{dns,hosting,builds}/*` com `requireCliAuth`
7
+ * + gate de role.
8
+ */
9
+ import ora from 'ora';
10
+ import { apiRequest } from '../lib/api-client.js';
11
+ import { requireToken, handleApiError } from '../lib/cli-read.js';
12
+ import { renderTable, fmtTimestamp } from '../lib/render.js';
13
+ import { log } from '../utils/logger.js';
14
+ export async function runDnsZonesList(opts) {
15
+ const token = await requireToken(opts.json);
16
+ const spinner = opts.json ? null : ora({ text: 'Buscando managed zones…', color: 'blue' }).start();
17
+ let res;
18
+ try {
19
+ res = await apiRequest('/api/cli/v1/dns/zones', { token });
20
+ spinner?.stop();
21
+ }
22
+ catch (error) {
23
+ spinner?.fail('Falha ao listar zones.');
24
+ handleApiError(error, opts.json);
25
+ }
26
+ if (opts.json) {
27
+ console.log(JSON.stringify(res));
28
+ return;
29
+ }
30
+ if (res.error) {
31
+ log.warn(`${res.error} (${res.errorCode ?? '—'})`);
32
+ return;
33
+ }
34
+ log.heading(`Cloud DNS zones (${res.zones.length}) · projeto ${res.projectId ?? '—'}`);
35
+ if (res.zones.length === 0) {
36
+ log.dim('Nenhuma managed zone encontrada.');
37
+ return;
38
+ }
39
+ renderTable([
40
+ { header: 'NOME', value: (z) => z.name, maxWidth: 24 },
41
+ { header: 'DNS NAME', value: (z) => z.dnsName, maxWidth: 32 },
42
+ { header: 'VISIBILITY', value: (z) => z.visibility },
43
+ { header: 'RECORDS', value: (z) => z.recordCount?.toString() ?? '—' },
44
+ { header: 'CRIADO', value: (z) => fmtTimestamp(z.createdAt) },
45
+ ], res.zones);
46
+ console.log();
47
+ }
48
+ export async function runHostingList(opts) {
49
+ const token = await requireToken(opts.json);
50
+ const spinner = opts.json ? null : ora({ text: 'Buscando customer domains…', color: 'blue' }).start();
51
+ let res;
52
+ try {
53
+ res = await apiRequest('/api/cli/v1/hosting', { token });
54
+ spinner?.stop();
55
+ }
56
+ catch (error) {
57
+ spinner?.fail('Falha ao listar domains.');
58
+ handleApiError(error, opts.json);
59
+ }
60
+ if (opts.json) {
61
+ console.log(JSON.stringify(res));
62
+ return;
63
+ }
64
+ log.heading(`Customer domains (${res.count})`);
65
+ if (res.count === 0) {
66
+ log.dim('Nenhum customer domain registrado.');
67
+ return;
68
+ }
69
+ renderTable([
70
+ { header: 'HOST', value: (d) => d.host ?? '—', maxWidth: 32 },
71
+ { header: 'TENANT', value: (d) => d.tenantId ?? '—', maxWidth: 22 },
72
+ { header: 'STATUS', value: (d) => d.status ?? '—' },
73
+ { header: 'CERT', value: (d) => d.certStatus ?? '—' },
74
+ { header: 'TARGET', value: (d) => d.targetService ?? '—', maxWidth: 24 },
75
+ ], res.domains);
76
+ console.log();
77
+ }
78
+ export async function runBuildsList(opts) {
79
+ const token = await requireToken(opts.json);
80
+ const spinner = opts.json ? null : ora({ text: 'Buscando Cloud Builds…', color: 'blue' }).start();
81
+ let res;
82
+ try {
83
+ res = await apiRequest('/api/cli/v1/builds', { token });
84
+ spinner?.stop();
85
+ }
86
+ catch (error) {
87
+ spinner?.fail('Falha ao listar builds.');
88
+ handleApiError(error, opts.json);
89
+ }
90
+ if (opts.json) {
91
+ console.log(JSON.stringify(res));
92
+ return;
93
+ }
94
+ if (res.error) {
95
+ log.warn(`${res.error} (${res.errorCode ?? '—'}) ${res.hint ?? ''}`);
96
+ if (res.builds.length === 0)
97
+ return;
98
+ }
99
+ log.heading(`Cloud Builds (${res.builds.length})`);
100
+ renderTable([
101
+ { header: 'ID', value: (b) => b.id, maxWidth: 36 },
102
+ { header: 'STATUS', value: (b) => b.status },
103
+ { header: 'REGIÃO', value: (b) => b.region ?? 'global' },
104
+ { header: 'SOURCE', value: (b) => b.source ?? '—', maxWidth: 28 },
105
+ { header: 'INICIADO', value: (b) => fmtTimestamp(b.createTime) },
106
+ {
107
+ header: 'DURAÇÃO',
108
+ value: (b) => (b.durationSeconds != null ? `${b.durationSeconds}s` : '—'),
109
+ },
110
+ ], res.builds);
111
+ console.log();
112
+ }
113
+ //# sourceMappingURL=infra-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infra-read.js","sourceRoot":"","sources":["../../src/commands/infra-read.ts"],"names":[],"mappings":"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"}
@@ -114,32 +114,76 @@ export default function RootLayout({ children }: { children: React.ReactNode })
114
114
  );
115
115
  }
116
116
  `);
117
- // Página inicial com tenant gate
117
+ // Página inicial com auth gate via SDK 1.1
118
+ // Padrão @neetru/sdk@1.1 — namespaces auth/catalog/entitlements (sem subpath /server).
118
119
  await fs.writeFile(path.join(src, 'page.tsx'), `// Produto Neetru — gerado por neetru init
119
- // Auth via Core session cookie + tenant gate
120
+ // Auth via @neetru/sdk client (createNeetruClient + auth namespace)
120
121
 
121
- import { getServerSession } from '@neetru/sdk/server';
122
- import { redirect } from 'next/navigation';
122
+ 'use client';
123
123
 
124
- export default async function HomePage() {
125
- const session = await getServerSession();
126
- if (!session) redirect('/login');
124
+ import { createNeetruClient } from '@neetru/sdk';
125
+ import { useEffect, useState } from 'react';
126
+ import type { NeetruUser } from '@neetru/sdk';
127
127
 
128
+ const neetru = createNeetruClient({
129
+ apiKey: process.env.NEXT_PUBLIC_NEETRU_API_KEY,
130
+ env: (process.env.NEXT_PUBLIC_NEETRU_ENV as 'dev' | 'prod') ?? 'dev',
131
+ });
132
+
133
+ export default function HomePage() {
134
+ const [user, setUser] = useState<NeetruUser | null>(null);
135
+ const [loading, setLoading] = useState(true);
136
+
137
+ useEffect(() => {
138
+ let unsub: (() => void) | undefined;
139
+ neetru.auth.getUser().then((u) => {
140
+ setUser(u);
141
+ setLoading(false);
142
+ });
143
+ unsub = neetru.auth.onAuthStateChanged((u) => setUser(u));
144
+ return () => unsub?.();
145
+ }, []);
146
+
147
+ if (loading) return <main><p>Carregando...</p></main>;
148
+ if (!user) {
149
+ return (
150
+ <main>
151
+ <h1>${name}</h1>
152
+ <button onClick={() => neetru.auth.signIn()}>Entrar com Neetru</button>
153
+ </main>
154
+ );
155
+ }
128
156
  return (
129
157
  <main>
130
- <h1>Bem-vindo, {session.email}</h1>
131
- <p>Tenant: {session.tenantId}</p>
158
+ <h1>Bem-vindo, {user.email}</h1>
159
+ <p>UID: {user.uid}</p>
160
+ <button onClick={() => neetru.auth.signOut()}>Sair</button>
132
161
  </main>
133
162
  );
134
163
  }
135
164
  `);
136
- // Middleware com tenant gate
137
- await fs.writeFile(path.join(dir, 'src', 'middleware.ts'), `import { withNeetruAuth } from '@neetru/sdk/middleware';
165
+ // Middleware Next.js gate de cookie de sessão em rotas privadas.
166
+ // Padrão simples sem dependência de subpath SDK que ainda não existe.
167
+ await fs.writeFile(path.join(dir, 'src', 'middleware.ts'), `import { NextRequest, NextResponse } from 'next/server';
138
168
 
139
- export const middleware = withNeetruAuth({
140
- loginPath: '/login',
141
- publicPaths: ['/login', '/api/auth'],
142
- });
169
+ const PUBLIC_PATHS = ['/login', '/api/auth', '/_next', '/favicon.ico'];
170
+
171
+ export function middleware(request: NextRequest) {
172
+ const { pathname } = request.nextUrl;
173
+ if (PUBLIC_PATHS.some((p) => pathname.startsWith(p))) {
174
+ return NextResponse.next();
175
+ }
176
+
177
+ // Cookie '__session' setado pelo OIDC callback do auth.neetru.com.
178
+ const hasSession = request.cookies.has('__session');
179
+ if (!hasSession) {
180
+ const url = request.nextUrl.clone();
181
+ url.pathname = '/login';
182
+ return NextResponse.redirect(url);
183
+ }
184
+
185
+ return NextResponse.next();
186
+ }
143
187
 
144
188
  export const config = {
145
189
  matcher: ['/((?!_next/static|_next/image|favicon.ico).*)'],
@@ -192,25 +236,45 @@ async function scaffoldNodeApi(dir, name) {
192
236
  },
193
237
  }, null, 2));
194
238
  await fs.writeFile(path.join(dir, 'src', 'index.ts'), `import Fastify from 'fastify';
195
- import { neetruPlugin } from '@neetru/sdk/fastify';
239
+ import { createNeetruClient } from '@neetru/sdk';
196
240
 
197
- const app = Fastify({ logger: true });
198
-
199
- // Plugin Core: auth, tenant gate, entitlements
200
- await app.register(neetruPlugin, {
241
+ // Padrão @neetru/sdk@1.1 namespaces server-side: entitlements/usage/telemetry.
242
+ // O SDK NÃO publica subpath /fastify; o gate é um preHandler fino que reusa
243
+ // o cliente. \`createNeetruClient\` é seguro em Node com apiKey de produto.
244
+ const neetru = createNeetruClient({
201
245
  apiKey: process.env.NEETRU_API_KEY,
246
+ env: (process.env.NEETRU_ENV as 'dev' | 'prod') ?? 'dev',
202
247
  });
203
248
 
249
+ const PRODUCT_SLUG = process.env.NEETRU_PRODUCT_SLUG ?? '${name}';
250
+
251
+ const app = Fastify({ logger: true });
252
+
253
+ // preHandler de entitlement: bloqueia a rota se o portador não tem a feature.
254
+ function requireEntitlement(feature: string) {
255
+ return async (
256
+ _request: import('fastify').FastifyRequest,
257
+ reply: import('fastify').FastifyReply,
258
+ ) => {
259
+ const allowed = await neetru.entitlements.check(PRODUCT_SLUG, feature);
260
+ if (!allowed) {
261
+ return reply.code(403).send({ error: 'entitlement_denied', feature });
262
+ }
263
+ };
264
+ }
265
+
204
266
  app.get('/health', async () => ({ status: 'ok' }));
205
267
 
206
- // Rota protegida com verificação de entitlement
207
- app.get('/api/data', {
208
- preHandler: app.auth([app.neetruAuth]),
209
- handler: async (req) => {
210
- const { tenantId } = req.neetruSession;
211
- return { tenantId, data: [] };
268
+ // Rota protegida responde se o produto tem a feature 'api-access'.
269
+ app.get(
270
+ '/api/data',
271
+ { preHandler: requireEntitlement('api-access') },
272
+ async () => {
273
+ // Registra uso pra billing metered (acumula no mock em NEETRU_ENV=dev).
274
+ await neetru.usage.report('api_call', 1, { productId: PRODUCT_SLUG });
275
+ return { data: [] };
212
276
  },
213
- });
277
+ );
214
278
 
215
279
  await app.listen({ port: 3000, host: '0.0.0.0' });
216
280
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export interface DbListOptions {
2
+ productId?: string;
3
+ engine?: string;
4
+ status?: string;
5
+ json?: boolean;
6
+ }
7
+ export declare function runDbList(opts: DbListOptions): Promise<void>;
8
+ export interface DbCreateOptions {
9
+ productId: string;
10
+ label: string;
11
+ engine: string;
12
+ environment: string;
13
+ region: string;
14
+ serverId?: string;
15
+ replicaCount?: string;
16
+ json?: boolean;
17
+ }
18
+ export declare function runDbCreate(opts: DbCreateOptions): Promise<void>;
19
+ export declare function runDbGet(id: string, opts: {
20
+ json?: boolean;
21
+ }): Promise<void>;
22
+ export declare function runDbStatus(id: string, status: string, opts: {
23
+ reason?: string;
24
+ json?: boolean;
25
+ }): Promise<void>;
26
+ export declare function runDbRetry(id: string, opts: {
27
+ json?: boolean;
28
+ }): Promise<void>;
29
+ export declare function runDbRotate(id: string, opts: {
30
+ json?: boolean;
31
+ }): Promise<void>;
32
+ export declare function runDbDelete(id: string, opts: {
33
+ json?: boolean;
34
+ }): Promise<void>;
35
+ export declare function runDbEngines(opts: {
36
+ json?: boolean;
37
+ }): Promise<void>;