@nio-cli/cli 0.3.2 → 0.3.5
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/.env.example +35 -0
- package/Dockerfile.gateway +12 -0
- package/README.md +7 -9
- package/dist/adapters/ide/ide-gateway.js +8 -15
- package/dist/adapters/ide/ide-gateway.js.map +1 -1
- package/dist/adapters/lang/scaffold-gateway.js +2 -2
- package/dist/adapters/lang/scaffold-gateway.js.map +1 -1
- package/dist/adapters/pkg/toolchain-gateway.js +2 -2
- package/dist/adapters/pkg/toolchain-gateway.js.map +1 -1
- package/dist/app/ai-client.js +6 -12
- package/dist/app/ai-client.js.map +1 -1
- package/dist/cli/commands/docker.js +75 -7
- package/dist/cli/commands/docker.js.map +1 -1
- package/dist/cli/commands/sync.js +2 -2
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/flows/clients.js +2 -2
- package/dist/cli/flows/clients.js.map +1 -1
- package/dist/lib/auth/gateway-process.js +25 -2
- package/dist/lib/auth/gateway-process.js.map +1 -1
- package/dist/lib/clients/client-configs.js +18 -3
- package/dist/lib/clients/client-configs.js.map +1 -1
- package/dist/lib/clients/client-install.js +2 -2
- package/dist/lib/clients/client-install.js.map +1 -1
- package/dist/lib/deps/dependency-install-project.js +2 -2
- package/dist/lib/deps/dependency-install-project.js.map +1 -1
- package/dist/lib/deps/dependency-install.js +4 -4
- package/dist/lib/deps/dependency-install.js.map +1 -1
- package/dist/lib/headroom.js +5 -13
- package/dist/lib/headroom.js.map +1 -1
- package/dist/lib/proc.js +21 -0
- package/dist/lib/proc.js.map +1 -0
- package/docker/docker-compose.yml +73 -33
- package/docker/kong.yml +45 -0
- package/package.json +6 -6
- package/headroom/docker-compose.yml +0 -27
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
1
|
+
import { spawn, spawnSync } from 'node:child_process';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { basename, dirname, join } from 'node:path';
|
|
4
4
|
import { GATEWAY_URL } from '../../gateway/config.js';
|
|
5
5
|
import { isBinaryInstalled } from '../clients/client-install.js';
|
|
6
|
+
import { dockerAvailable, infraComposePath } from '../docker.js';
|
|
6
7
|
import { c, sym } from '../colors.js';
|
|
7
8
|
import { dlog } from '../debug.js';
|
|
8
9
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
@@ -31,13 +32,35 @@ export function resolveGatewayCommand() {
|
|
|
31
32
|
const sibling = join(dirname(entry), 'gateway', basename(entry).endsWith('.ts') ? 'index.ts' : 'index.js');
|
|
32
33
|
return existsSync(sibling) ? { cmd: process.execPath, args: [sibling] } : null;
|
|
33
34
|
}
|
|
35
|
+
async function tryContainerGateway() {
|
|
36
|
+
if (!dockerAvailable())
|
|
37
|
+
return null;
|
|
38
|
+
dlog('subindo o gateway (container do stack): docker compose up -d nio-gateway');
|
|
39
|
+
const res = spawnSync('docker', ['compose', '-f', infraComposePath(), 'up', '-d', 'nio-gateway'], { stdio: 'ignore' });
|
|
40
|
+
if (res.status !== 0) {
|
|
41
|
+
dlog('`docker compose up -d nio-gateway` saiu != 0 — tentando fallback host');
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
for (let i = 0; i < 40; i++) {
|
|
45
|
+
await sleep(300);
|
|
46
|
+
if (await gatewayHealth()) {
|
|
47
|
+
console.log(` ${c.green(sym.ok)} nio-gateway no ar (container do stack)`);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
dlog('o container subiu mas o /health não respondeu em ~12s — tentando fallback host');
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
34
54
|
export async function ensureGatewayRunning() {
|
|
35
55
|
if (await gatewayHealth())
|
|
36
56
|
return { ok: true, started: false };
|
|
57
|
+
const viaContainer = await tryContainerGateway();
|
|
58
|
+
if (viaContainer === true)
|
|
59
|
+
return { ok: true, started: true };
|
|
37
60
|
const command = resolveGatewayCommand();
|
|
38
61
|
if (!command)
|
|
39
62
|
return { ok: false, started: false };
|
|
40
|
-
dlog(`subindo o gateway: ${command.cmd} ${command.args.join(' ')}`);
|
|
63
|
+
dlog(`subindo o gateway (host): ${command.cmd} ${command.args.join(' ')}`);
|
|
41
64
|
const child = spawn(command.cmd, command.args, { detached: true, stdio: 'ignore' });
|
|
42
65
|
child.unref();
|
|
43
66
|
for (let i = 0; i < 40; i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-process.js","sourceRoot":"","sources":["../../../src/lib/auth/gateway-process.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-process.js","sourceRoot":"","sources":["../../../src/lib/auth/gateway-process.ts"],"names":[],"mappings":"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"}
|
|
@@ -173,6 +173,20 @@ function opencodeProviderOk(existing, baseURL) {
|
|
|
173
173
|
const p = existing.provider?.opencode;
|
|
174
174
|
return p?.options?.baseURL === baseURL;
|
|
175
175
|
}
|
|
176
|
+
function opencodeHasBaseURL(existing) {
|
|
177
|
+
const p = existing.provider?.opencode;
|
|
178
|
+
return p?.options?.baseURL !== undefined;
|
|
179
|
+
}
|
|
180
|
+
export function clearOpencodeProviderBaseURL(existing) {
|
|
181
|
+
const providers = existing.provider;
|
|
182
|
+
const cur = providers?.opencode;
|
|
183
|
+
if (cur?.options?.baseURL === undefined)
|
|
184
|
+
return existing;
|
|
185
|
+
const restOptions = { ...cur.options };
|
|
186
|
+
delete restOptions.baseURL;
|
|
187
|
+
const opencode = Object.keys(restOptions).length > 0 ? { ...cur, options: restOptions } : { ...cur, options: undefined };
|
|
188
|
+
return { ...existing, provider: { ...providers, opencode } };
|
|
189
|
+
}
|
|
176
190
|
export function planOpencodeUpdate(existing, nioEntry, profileMcps = [], headroomUrl) {
|
|
177
191
|
const servers = (existing.mcp ?? {});
|
|
178
192
|
const current = servers[brand.mcpServerKey];
|
|
@@ -181,7 +195,9 @@ export function planOpencodeUpdate(existing, nioEntry, profileMcps = [], headroo
|
|
|
181
195
|
current.environment?.[envName('CLIENT')] === 'opencode' &&
|
|
182
196
|
current.enabled !== false);
|
|
183
197
|
const mcpsOk = profileMcps.every((spec) => opencodeMcpOk(spec, servers[spec.id]));
|
|
184
|
-
const providerOk =
|
|
198
|
+
const providerOk = headroomUrl
|
|
199
|
+
? opencodeProviderOk(existing, headroomUrl)
|
|
200
|
+
: !opencodeHasBaseURL(existing);
|
|
185
201
|
const alreadyConfigured = nioOk && existing.model === NIO_OPERATOR_MODEL && mcpsOk && providerOk;
|
|
186
202
|
const nextMcp = {
|
|
187
203
|
...servers,
|
|
@@ -197,8 +213,7 @@ export function planOpencodeUpdate(existing, nioEntry, profileMcps = [], headroo
|
|
|
197
213
|
nextMcp[spec.id] = opencodeMcpEntry(spec, servers[spec.id]);
|
|
198
214
|
}
|
|
199
215
|
let next = { ...existing, model: NIO_OPERATOR_MODEL, mcp: nextMcp };
|
|
200
|
-
|
|
201
|
-
next = planOpencodeProvider(next, headroomUrl);
|
|
216
|
+
next = headroomUrl ? planOpencodeProvider(next, headroomUrl) : clearOpencodeProviderBaseURL(next);
|
|
202
217
|
return { alreadyConfigured, next };
|
|
203
218
|
}
|
|
204
219
|
export function opencodeGlobalPath() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-configs.js","sourceRoot":"","sources":["../../../src/lib/clients/client-configs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client-configs.js","sourceRoot":"","sources":["../../../src/lib/clients/client-configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { spawnSyncPortable } from '../proc.js';
|
|
2
2
|
export const CLIENTS = {
|
|
3
3
|
opencode: {
|
|
4
4
|
id: 'opencode',
|
|
@@ -10,7 +10,7 @@ export const CLIENTS = {
|
|
|
10
10
|
};
|
|
11
11
|
export function isBinaryInstalled(binary) {
|
|
12
12
|
try {
|
|
13
|
-
const res =
|
|
13
|
+
const res = spawnSyncPortable(binary, ['--version'], { stdio: 'ignore', timeout: 5000 });
|
|
14
14
|
return !res.error;
|
|
15
15
|
}
|
|
16
16
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-install.js","sourceRoot":"","sources":["../../../src/lib/clients/client-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client-install.js","sourceRoot":"","sources":["../../../src/lib/clients/client-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoB/C,MAAM,CAAC,MAAM,OAAO,GAA+B;IACjD,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,0BAA0B;KAChC;CACF,CAAC;AAGF,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,IAAI,CAAC;QAEH,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { spawnSyncPortable } from '../proc.js';
|
|
2
2
|
function installerFor(type) {
|
|
3
3
|
switch (type) {
|
|
4
4
|
case 'npm':
|
|
@@ -16,7 +16,7 @@ export function installProjectDeps(type, projectPath) {
|
|
|
16
16
|
if (!installer) {
|
|
17
17
|
return { ok: false, code: null, error: `sem instalador automático para "${type}"` };
|
|
18
18
|
}
|
|
19
|
-
const res =
|
|
19
|
+
const res = spawnSyncPortable(installer.program, installer.args, {
|
|
20
20
|
cwd: projectPath,
|
|
21
21
|
stdio: 'inherit',
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-install-project.js","sourceRoot":"","sources":["../../../src/lib/deps/dependency-install-project.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dependency-install-project.js","sourceRoot":"","sources":["../../../src/lib/deps/dependency-install-project.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAK/C,SAAS,YAAY,CAAC,IAAoB;IACxC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,EAAE,CAAC;QACzE,KAAK,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,kBAAkB,CAAC,IAAoB,EAAE,WAAmB;IAC1E,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,mCAAmC,IAAI,GAAG,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE;QAC/D,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1E,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;AACpD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { spawnSyncPortable } from '../proc.js';
|
|
2
2
|
import { existsSync, lstatSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { dirname, join, isAbsolute, parse } from 'node:path';
|
|
@@ -109,7 +109,7 @@ export function isDependencyInstalled(dep) {
|
|
|
109
109
|
if (plan.kind === 'git')
|
|
110
110
|
return existsSync(plan.dest);
|
|
111
111
|
if (plan.kind === 'npm') {
|
|
112
|
-
const res =
|
|
112
|
+
const res = spawnSyncPortable('npm', ['ls', '-g', plan.pkg, '--depth=0'], { stdio: 'ignore' });
|
|
113
113
|
return res.status === 0;
|
|
114
114
|
}
|
|
115
115
|
if (plan.kind === 'skills') {
|
|
@@ -120,7 +120,7 @@ export function isDependencyInstalled(dep) {
|
|
|
120
120
|
export function runDependencyInstall(plan) {
|
|
121
121
|
if (plan.kind === 'claude-plugin') {
|
|
122
122
|
for (const step of plan.steps) {
|
|
123
|
-
const res =
|
|
123
|
+
const res = spawnSyncPortable(step.program, step.args, { stdio: 'inherit' });
|
|
124
124
|
if (res.error)
|
|
125
125
|
return { ok: false, code: null, error: res.error.message };
|
|
126
126
|
if (res.status !== 0)
|
|
@@ -130,7 +130,7 @@ export function runDependencyInstall(plan) {
|
|
|
130
130
|
}
|
|
131
131
|
if (plan.kind === 'git')
|
|
132
132
|
mkdirSync(dirname(plan.dest), { recursive: true });
|
|
133
|
-
const res =
|
|
133
|
+
const res = spawnSyncPortable(plan.program, plan.args, { stdio: 'inherit' });
|
|
134
134
|
if (res.error)
|
|
135
135
|
return { ok: false, code: null, error: res.error.message };
|
|
136
136
|
return { ok: res.status === 0, code: res.status };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-install.js","sourceRoot":"","sources":["../../../src/lib/deps/dependency-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dependency-install.js","sourceRoot":"","sources":["../../../src/lib/deps/dependency-install.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/headroom.js
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
|
-
import { fileURLToPath } from 'node:url';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
2
|
import { env } from '../brand.js';
|
|
5
|
-
import { dockerAvailable, portOpen } from './docker.js';
|
|
3
|
+
import { dockerAvailable, portOpen, infraComposePath } from './docker.js';
|
|
6
4
|
import { dlog } from './debug.js';
|
|
7
5
|
export const HEADROOM_PORT = Number(env('HEADROOM_PORT')?.trim()) || 8787;
|
|
8
6
|
export const HEADROOM_URL = env('HEADROOM_URL')?.trim() || `http://127.0.0.1:${HEADROOM_PORT}/v1`;
|
|
9
7
|
export const HEADROOM_URL_CONTAINER = `http://host.docker.internal:${HEADROOM_PORT}/v1`;
|
|
8
|
+
export const HEADROOM_UPSTREAM = env('HEADROOM_OPENAI_TARGET')?.trim() || 'https://opencode.ai/zen/v1';
|
|
10
9
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
11
|
-
export function headroomComposePath() {
|
|
12
|
-
return join(fileURLToPath(new URL('../..', import.meta.url)), 'headroom', 'docker-compose.yml');
|
|
13
|
-
}
|
|
14
10
|
export function headroomHealthy() {
|
|
15
11
|
return portOpen(HEADROOM_PORT);
|
|
16
12
|
}
|
|
@@ -25,10 +21,10 @@ export async function ensureHeadroomRunning() {
|
|
|
25
21
|
'container e é obrigatório pro client de IA — instale/inicie o Docker Engine/Desktop.',
|
|
26
22
|
};
|
|
27
23
|
}
|
|
28
|
-
dlog('subindo o Headroom:',
|
|
29
|
-
const res = spawnSync('docker', ['compose', '-f',
|
|
24
|
+
dlog('subindo o Headroom (stack unificado):', infraComposePath());
|
|
25
|
+
const res = spawnSync('docker', ['compose', '-f', infraComposePath(), 'up', '-d', 'headroom'], { stdio: 'ignore' });
|
|
30
26
|
if (res.status !== 0) {
|
|
31
|
-
return { ok: false, started: false, error: '`docker compose -f
|
|
27
|
+
return { ok: false, started: false, error: '`docker compose -f docker/... up -d headroom` saiu != 0.' };
|
|
32
28
|
}
|
|
33
29
|
for (let i = 0; i < 60; i++) {
|
|
34
30
|
await sleep(500);
|
|
@@ -37,8 +33,4 @@ export async function ensureHeadroomRunning() {
|
|
|
37
33
|
}
|
|
38
34
|
return { ok: false, started: false, error: 'o container subiu mas o Headroom não respondeu em ~30s.' };
|
|
39
35
|
}
|
|
40
|
-
export function headroomCompose(args) {
|
|
41
|
-
const res = spawnSync('docker', ['compose', '-f', headroomComposePath(), ...args], { stdio: 'inherit', env: { ...process.env, NIO_HEADROOM_PORT: String(HEADROOM_PORT) } });
|
|
42
|
-
return res.status ?? 1;
|
|
43
|
-
}
|
|
44
36
|
//# sourceMappingURL=headroom.js.map
|
package/dist/lib/headroom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headroom.js","sourceRoot":"","sources":["../../src/lib/headroom.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"headroom.js","sourceRoot":"","sources":["../../src/lib/headroom.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC;AAG1E,MAAM,CAAC,MAAM,YAAY,GACvB,GAAG,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,IAAI,oBAAoB,aAAa,KAAK,CAAC;AAGxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,+BAA+B,aAAa,KAAK,CAAC;AAMxF,MAAM,CAAC,MAAM,iBAAiB,GAC5B,GAAG,CAAC,wBAAwB,CAAC,EAAE,IAAI,EAAE,IAAI,4BAA4B,CAAC;AAExE,MAAM,KAAK,GAAG,CAAC,EAAU,EAAiB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAGnF,MAAM,UAAU,eAAe;IAC7B,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC;AACjC,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,MAAM,eAAe,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEjE,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,KAAK;YACd,KAAK,EACH,+EAA+E;gBAC/E,sFAAsF;SACzF,CAAC;IACJ,CAAC;IAGD,IAAI,CAAC,uCAAuC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,SAAS,CACnB,QAAQ,EACR,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAC7D,EAAE,KAAK,EAAE,QAAQ,EAAE,CACpB,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAC;IAC1G,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,eAAe,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC;AACzG,CAAC"}
|
package/dist/lib/proc.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { spawn, spawnSync, } from 'node:child_process';
|
|
2
|
+
const isWin = process.platform === 'win32';
|
|
3
|
+
function winQuote(arg) {
|
|
4
|
+
return /[\s"&|<>^()%]/.test(arg) ? `"${arg.replace(/"/g, '""')}"` : arg;
|
|
5
|
+
}
|
|
6
|
+
function winCommandLine(program, args) {
|
|
7
|
+
return [program, ...args].map(winQuote).join(' ');
|
|
8
|
+
}
|
|
9
|
+
export function spawnSyncPortable(program, args = [], options = {}) {
|
|
10
|
+
if (isWin) {
|
|
11
|
+
return spawnSync(winCommandLine(program, args), { ...options, shell: true });
|
|
12
|
+
}
|
|
13
|
+
return spawnSync(program, args, options);
|
|
14
|
+
}
|
|
15
|
+
export function spawnPortable(program, args = [], options = {}) {
|
|
16
|
+
if (isWin) {
|
|
17
|
+
return spawn(winCommandLine(program, args), { ...options, shell: true });
|
|
18
|
+
}
|
|
19
|
+
return spawn(program, args, options);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=proc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proc.js","sourceRoot":"","sources":["../../src/lib/proc.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,EACL,SAAS,GAKV,MAAM,oBAAoB,CAAC;AAE5B,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAG3C,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1E,CAAC;AAGD,SAAS,cAAc,CAAC,OAAe,EAAE,IAAuB;IAC9D,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,OAA0B,EAAE,EAC5B,UAA4B,EAAE;IAE9B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,EAAE,IAAgB,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAMD,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,OAA0B,EAAE,EAC5B,UAAwB,EAAE;IAE1B,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,EAAE,IAAgB,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,44 +1,84 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
# Stack NIO unificado — 1 compose, 1 rede (`nio-net`), 1 stack no Portainer.
|
|
2
|
+
# Substitui os 3 composes antigos (docker/ + kong/ + headroom/). O gateway agora
|
|
3
|
+
# é container (Dockerfile.gateway) e o Kong o alcança por NOME na rede, sem
|
|
4
|
+
# host.docker.internal. Ver docs/container-architecture.md.
|
|
5
|
+
name: nio
|
|
6
|
+
|
|
7
|
+
networks:
|
|
8
|
+
nio-net:
|
|
9
|
+
name: nio-net
|
|
10
|
+
driver: bridge
|
|
11
|
+
|
|
12
|
+
volumes:
|
|
13
|
+
nio_portainer_data: { name: nio_portainer_data }
|
|
14
|
+
nio_headroom_cache: { name: nio_headroom_cache }
|
|
12
15
|
|
|
13
|
-
# `restart: unless-stopped`, `extra_hosts` p/ Linux. Roda em qualquer Docker
|
|
14
|
-
# Engine — não exige Docker Desktop.
|
|
15
16
|
services:
|
|
17
|
+
nio-gateway:
|
|
18
|
+
build:
|
|
19
|
+
context: .. # raiz do repo (onde estão dist/ e package.json)
|
|
20
|
+
dockerfile: Dockerfile.gateway # relativo ao context (raiz)
|
|
21
|
+
image: nio-gateway:local
|
|
22
|
+
container_name: nio-gateway
|
|
23
|
+
restart: unless-stopped
|
|
24
|
+
env_file: [ ../.env ] # NIO_DATABASE_URL, JWT_SECRET (gitignored)
|
|
25
|
+
environment:
|
|
26
|
+
# o gateway lê env via env() que PREFIXA NIO_ → a var é NIO_GATEWAY_HOST
|
|
27
|
+
# (não GATEWAY_HOST). 0.0.0.0 = ouvir na interface da rede, não só loopback.
|
|
28
|
+
NIO_GATEWAY_HOST: "0.0.0.0"
|
|
29
|
+
ports: [ "127.0.0.1:3000:3000" ] # acesso direto da CLI (padrão)
|
|
30
|
+
healthcheck:
|
|
31
|
+
test: ["CMD-SHELL", "curl -fsS http://localhost:3000/health || exit 1"]
|
|
32
|
+
interval: 10s
|
|
33
|
+
timeout: 3s
|
|
34
|
+
retries: 5
|
|
35
|
+
start_period: 15s
|
|
36
|
+
networks: [ nio-net ]
|
|
37
|
+
|
|
38
|
+
headroom:
|
|
39
|
+
image: ghcr.io/headroomlabs-ai/headroom@sha256:35b799e94eef4644cb15a2e695b4b99698fe7668614623e9338cb10c10ececf9 # headroom:latest, pinado 2026-09-03
|
|
40
|
+
container_name: nio-headroom
|
|
41
|
+
restart: unless-stopped
|
|
42
|
+
command: ["--host", "0.0.0.0", "--port", "8787"]
|
|
43
|
+
environment:
|
|
44
|
+
OPENAI_TARGET_API_URL: "${NIO_HEADROOM_OPENAI_TARGET:-https://opencode.ai/zen/v1}"
|
|
45
|
+
HEADROOM_UPDATE_CHECK: "off"
|
|
46
|
+
ports: [ "127.0.0.1:8787:8787" ]
|
|
47
|
+
volumes: [ "nio_headroom_cache:/root/.headroom" ]
|
|
48
|
+
networks: [ nio-net ]
|
|
49
|
+
|
|
16
50
|
mcp-gateway:
|
|
17
|
-
image: docker/mcp-gateway:latest
|
|
51
|
+
image: docker/mcp-gateway@sha256:f5a679a05fc39022a046167bef92aeeb01bcd59485ad27843ae5227db7950688 # docker/mcp-gateway:latest, pinado 2026-09-03
|
|
18
52
|
container_name: nio-mcp-gateway
|
|
19
53
|
restart: unless-stopped
|
|
20
|
-
command:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
volumes:
|
|
25
|
-
- /var/run/docker.sock:/var/run/docker.sock
|
|
26
|
-
ports:
|
|
27
|
-
- "127.0.0.1:8811:8811"
|
|
28
|
-
extra_hosts:
|
|
29
|
-
- "host.docker.internal:host-gateway"
|
|
54
|
+
command: ["--transport=streaming", "--port=8811", "--servers=docker"]
|
|
55
|
+
ports: [ "127.0.0.1:8811:8811" ]
|
|
56
|
+
volumes: [ "/var/run/docker.sock:/var/run/docker.sock" ]
|
|
57
|
+
networks: [ nio-net ]
|
|
30
58
|
|
|
31
59
|
portainer:
|
|
32
|
-
image: portainer/portainer-ce:lts
|
|
60
|
+
image: portainer/portainer-ce@sha256:511f3f06c96fe3b993ebeaafde311c1959cae73a7ef825dba6397d51b450dffa # portainer-ce:lts, pinado 2026-09-03
|
|
33
61
|
container_name: nio-portainer
|
|
34
62
|
restart: unless-stopped
|
|
63
|
+
ports: [ "127.0.0.1:9443:9443" ] # UI (edge :8000 REMOVIDO — libera p/ Kong)
|
|
35
64
|
volumes:
|
|
36
|
-
- /var/run/docker.sock:/var/run/docker.sock
|
|
37
|
-
- nio_portainer_data:/data
|
|
38
|
-
|
|
39
|
-
- "127.0.0.1:9443:9443"
|
|
40
|
-
- "127.0.0.1:8000:8000"
|
|
65
|
+
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
66
|
+
- "nio_portainer_data:/data"
|
|
67
|
+
networks: [ nio-net ]
|
|
41
68
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
69
|
+
kong:
|
|
70
|
+
image: kong@sha256:2a8cf3b110cdaba1cb00adc665b8635ed1fc75c907f7a4298613c68e4976de0a # kong:3.9, pinado 2026-09-03
|
|
71
|
+
container_name: nio-kong
|
|
72
|
+
restart: unless-stopped
|
|
73
|
+
environment:
|
|
74
|
+
KONG_DATABASE: "off"
|
|
75
|
+
KONG_DECLARATIVE_CONFIG: /kong/kong.yml
|
|
76
|
+
KONG_PROXY_LISTEN: "0.0.0.0:8000"
|
|
77
|
+
KONG_ADMIN_LISTEN: "0.0.0.0:8001"
|
|
78
|
+
volumes: [ "./kong.yml:/kong/kong.yml:ro" ] # docker/kong.yml (T3)
|
|
79
|
+
ports:
|
|
80
|
+
- "127.0.0.1:${NIO_KONG_PROXY_PORT:-8000}:8000" # sem colisão: Portainer largou :8000
|
|
81
|
+
- "127.0.0.1:${NIO_KONG_ADMIN_PORT:-8001}:8001"
|
|
82
|
+
depends_on:
|
|
83
|
+
nio-gateway: { condition: service_healthy }
|
|
84
|
+
networks: [ nio-net ]
|
package/docker/kong.yml
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Config declarativa do Kong (DB-less). Kong entra na frente do `nio-gateway` e aplica as regras de roteamento e plugins (rate-limitng)
|
|
2
|
+
_format_version: "3.0"
|
|
3
|
+
|
|
4
|
+
services:
|
|
5
|
+
- name: nio-gateway
|
|
6
|
+
url: http://nio-gateway:3000
|
|
7
|
+
routes:
|
|
8
|
+
# /login — alvo de brute-force; rate-limit apertado.
|
|
9
|
+
- name: nio-gateway-login
|
|
10
|
+
paths:
|
|
11
|
+
- /login
|
|
12
|
+
strip_path: false
|
|
13
|
+
plugins:
|
|
14
|
+
- name: rate-limiting
|
|
15
|
+
config:
|
|
16
|
+
minute: 20
|
|
17
|
+
policy: local
|
|
18
|
+
- name: nio-gateway-logout
|
|
19
|
+
paths:
|
|
20
|
+
- /logout
|
|
21
|
+
strip_path: false
|
|
22
|
+
# /verify-2fa e /security/* — OTP + gerência do 2º fator (spec 0004).
|
|
23
|
+
# cada SMS custa; brute-force de OTP de 6 dígitos → limite mais baixo.
|
|
24
|
+
- name: nio-gateway-verify-2fa
|
|
25
|
+
paths:
|
|
26
|
+
- /verify-2fa
|
|
27
|
+
strip_path: false
|
|
28
|
+
plugins:
|
|
29
|
+
- name: rate-limiting
|
|
30
|
+
config:
|
|
31
|
+
minute: 10
|
|
32
|
+
policy: local
|
|
33
|
+
- name: nio-gateway-security
|
|
34
|
+
paths:
|
|
35
|
+
- /security
|
|
36
|
+
strip_path: false
|
|
37
|
+
plugins:
|
|
38
|
+
- name: rate-limiting
|
|
39
|
+
config:
|
|
40
|
+
minute: 10
|
|
41
|
+
policy: local
|
|
42
|
+
- name: nio-gateway-health
|
|
43
|
+
paths:
|
|
44
|
+
- /health
|
|
45
|
+
strip_path: false
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nio-cli/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Orquestrador de ambientes de desenvolvimento: escolhe um perfil, responde um wizard e a CLI (com auxílio de IA via MCP) materializa toolchains, linguagens, frameworks, dotfiles e IDE.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
"files": [
|
|
14
14
|
"dist",
|
|
15
15
|
"docker/docker-compose.yml",
|
|
16
|
-
"
|
|
16
|
+
"docker/kong.yml",
|
|
17
|
+
"Dockerfile.gateway",
|
|
18
|
+
".env.example",
|
|
17
19
|
"README.md"
|
|
18
20
|
],
|
|
19
21
|
"engines": {
|
|
@@ -45,7 +47,7 @@
|
|
|
45
47
|
"nio"
|
|
46
48
|
],
|
|
47
49
|
"scripts": {
|
|
48
|
-
"build": "rm -rf dist && tsc && node --input-type=commonjs -e \"require('fs').cpSync('src/cli/copy','dist/cli/copy',{recursive:true})
|
|
50
|
+
"build": "rm -rf dist && tsc && node --input-type=commonjs -e \"const fs=require('fs');fs.cpSync('src/cli/copy','dist/cli/copy',{recursive:true});for(const f of ['cli.js','mcp-server.js','gateway/index.js','mcp-server-lang.js'])fs.chmodSync('dist/'+f,0o755)\"",
|
|
49
51
|
"gen:docs": "bun run scripts/gen-reference.ts",
|
|
50
52
|
"db:ping": "bun run scripts/db-ping.ts",
|
|
51
53
|
"dev:sms-echo": "bun run scripts/sms-echo.ts",
|
|
@@ -53,9 +55,7 @@
|
|
|
53
55
|
"dev:mcp": "bun run src/mcp-server.ts",
|
|
54
56
|
"dev:gateway": "bun run src/gateway/index.ts",
|
|
55
57
|
"dev:lang": "bun run src/mcp-server-lang.ts",
|
|
56
|
-
"dev:
|
|
57
|
-
"dev:docker": "docker compose -f docker/docker-compose.yml up",
|
|
58
|
-
"dev:headroom": "docker compose -f headroom/docker-compose.yml up",
|
|
58
|
+
"dev:docker": "docker compose -f docker/docker-compose.yml up --build",
|
|
59
59
|
"prepublishOnly": "npm run build"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Headroom — proxy de compressão de contexto entre o client de IA e o LLM.
|
|
2
|
-
# Obrigatório pro `nio ai` (ADR 0007). Mesmo padrão do `docker/docker-compose.yml`:
|
|
3
|
-
# porta pinada em 127.0.0.1, `restart: unless-stopped`, `extra_hosts` p/ Linux.
|
|
4
|
-
#
|
|
5
|
-
# O entrypoint da imagem já é `headroom proxy` — `command` passa só flags.
|
|
6
|
-
# `OPENAI_TARGET_API_URL` roteia as chamadas OpenAI-compatíveis (o operador usa
|
|
7
|
-
# OpenCode Zen) pro Zen; o header Authorization do OpenCode passa transparente,
|
|
8
|
-
# então o Headroom não precisa de API key própria.
|
|
9
|
-
services:
|
|
10
|
-
headroom:
|
|
11
|
-
image: ghcr.io/headroomlabs-ai/headroom:latest
|
|
12
|
-
container_name: nio-headroom
|
|
13
|
-
restart: unless-stopped
|
|
14
|
-
command: ["--host", "0.0.0.0", "--port", "8787"]
|
|
15
|
-
environment:
|
|
16
|
-
OPENAI_TARGET_API_URL: "${NIO_HEADROOM_OPENAI_TARGET:-https://opencode.ai/zen/v1}"
|
|
17
|
-
HEADROOM_UPDATE_CHECK: "off"
|
|
18
|
-
ports:
|
|
19
|
-
- "127.0.0.1:${NIO_HEADROOM_PORT:-8787}:8787"
|
|
20
|
-
extra_hosts:
|
|
21
|
-
- "host.docker.internal:host-gateway"
|
|
22
|
-
volumes:
|
|
23
|
-
- nio_headroom_cache:/root/.headroom
|
|
24
|
-
|
|
25
|
-
volumes:
|
|
26
|
-
nio_headroom_cache:
|
|
27
|
-
name: nio_headroom_cache
|