@nio-cli/cli 0.2.0 → 0.3.2
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 +68 -26
- package/dist/app/ai-client.js +44 -0
- package/dist/app/ai-client.js.map +1 -0
- package/dist/app/docker-manager.js +12 -9
- package/dist/app/docker-manager.js.map +1 -1
- package/dist/cli/commands/ai.js +61 -0
- package/dist/cli/commands/ai.js.map +1 -0
- package/dist/cli/commands/auth.js +91 -70
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/config.js +4 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/debug.js +9 -0
- package/dist/cli/commands/debug.js.map +1 -1
- package/dist/cli/commands/docker.js +25 -0
- package/dist/cli/commands/docker.js.map +1 -1
- package/dist/cli/commands/docs/content.js +26 -6
- package/dist/cli/commands/docs/content.js.map +1 -1
- package/dist/cli/commands/init/auth-step.js +2 -1
- package/dist/cli/commands/init/auth-step.js.map +1 -1
- package/dist/cli/commands/init/handoff.js +20 -0
- package/dist/cli/commands/init/handoff.js.map +1 -0
- package/dist/cli/commands/init/index.js +24 -38
- package/dist/cli/commands/init/index.js.map +1 -1
- package/dist/cli/commands/open.js +8 -0
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/start.js +8 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/flows/onboarding.js +116 -0
- package/dist/cli/flows/onboarding.js.map +1 -0
- package/dist/cli/program.js +58 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli.js +26 -53
- package/dist/cli.js.map +1 -1
- package/dist/gateway/config.js +1 -2
- package/dist/gateway/config.js.map +1 -1
- package/dist/lib/auth/gateway-client.js +22 -42
- package/dist/lib/auth/gateway-client.js.map +1 -1
- package/dist/lib/auth/gateway-process.js +54 -0
- package/dist/lib/auth/gateway-process.js.map +1 -0
- package/dist/lib/auth/nio-config.js +10 -1
- package/dist/lib/auth/nio-config.js.map +1 -1
- package/dist/lib/clients/client-configs.js +24 -10
- package/dist/lib/clients/client-configs.js.map +1 -1
- package/dist/lib/debug.js +6 -0
- package/dist/lib/debug.js.map +1 -0
- package/dist/lib/headroom.js +44 -0
- package/dist/lib/headroom.js.map +1 -0
- package/dist/lib/ide-tasks.js +54 -0
- package/dist/lib/ide-tasks.js.map +1 -0
- package/dist/lib/load-env.js +31 -2
- package/dist/lib/load-env.js.map +1 -1
- package/dist/matrix-logo.js +43 -11
- package/dist/matrix-logo.js.map +1 -1
- package/dist/tui/app.js +155 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/components.js +137 -0
- package/dist/tui/components.js.map +1 -0
- package/dist/tui/debug.js +17 -0
- package/dist/tui/debug.js.map +1 -0
- package/dist/tui/index.js +2 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/launch.js +64 -0
- package/dist/tui/launch.js.map +1 -0
- package/dist/tui/markdown.js +40 -0
- package/dist/tui/markdown.js.map +1 -0
- package/dist/tui/opencode.js +33 -0
- package/dist/tui/opencode.js.map +1 -0
- package/dist/tui/palette-source.js +71 -0
- package/dist/tui/palette-source.js.map +1 -0
- package/dist/tui/palette.js +58 -0
- package/dist/tui/palette.js.map +1 -0
- package/dist/tui/state.js +132 -0
- package/dist/tui/state.js.map +1 -0
- package/dist/tui/theme.js +14 -0
- package/dist/tui/theme.js.map +1 -0
- package/headroom/docker-compose.yml +27 -0
- package/package.json +11 -1
|
@@ -158,7 +158,22 @@ function opencodeMcpOk(spec, cur) {
|
|
|
158
158
|
return false;
|
|
159
159
|
return spec.url ? cur.url === spec.url : cur.command?.[0] === spec.command?.[0];
|
|
160
160
|
}
|
|
161
|
-
export function
|
|
161
|
+
export function planOpencodeProvider(existing, baseURL) {
|
|
162
|
+
const providers = (existing.provider ?? {});
|
|
163
|
+
const cur = providers.opencode ?? {};
|
|
164
|
+
return {
|
|
165
|
+
...existing,
|
|
166
|
+
provider: {
|
|
167
|
+
...providers,
|
|
168
|
+
opencode: { ...cur, options: { ...cur.options, baseURL } },
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
function opencodeProviderOk(existing, baseURL) {
|
|
173
|
+
const p = existing.provider?.opencode;
|
|
174
|
+
return p?.options?.baseURL === baseURL;
|
|
175
|
+
}
|
|
176
|
+
export function planOpencodeUpdate(existing, nioEntry, profileMcps = [], headroomUrl) {
|
|
162
177
|
const servers = (existing.mcp ?? {});
|
|
163
178
|
const current = servers[brand.mcpServerKey];
|
|
164
179
|
const nioOk = Boolean(current &&
|
|
@@ -166,7 +181,8 @@ export function planOpencodeUpdate(existing, nioEntry, profileMcps = []) {
|
|
|
166
181
|
current.environment?.[envName('CLIENT')] === 'opencode' &&
|
|
167
182
|
current.enabled !== false);
|
|
168
183
|
const mcpsOk = profileMcps.every((spec) => opencodeMcpOk(spec, servers[spec.id]));
|
|
169
|
-
const
|
|
184
|
+
const providerOk = !headroomUrl || opencodeProviderOk(existing, headroomUrl);
|
|
185
|
+
const alreadyConfigured = nioOk && existing.model === NIO_OPERATOR_MODEL && mcpsOk && providerOk;
|
|
170
186
|
const nextMcp = {
|
|
171
187
|
...servers,
|
|
172
188
|
[brand.mcpServerKey]: {
|
|
@@ -180,25 +196,23 @@ export function planOpencodeUpdate(existing, nioEntry, profileMcps = []) {
|
|
|
180
196
|
for (const spec of profileMcps) {
|
|
181
197
|
nextMcp[spec.id] = opencodeMcpEntry(spec, servers[spec.id]);
|
|
182
198
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
mcp: nextMcp,
|
|
187
|
-
};
|
|
199
|
+
let next = { ...existing, model: NIO_OPERATOR_MODEL, mcp: nextMcp };
|
|
200
|
+
if (headroomUrl)
|
|
201
|
+
next = planOpencodeProvider(next, headroomUrl);
|
|
188
202
|
return { alreadyConfigured, next };
|
|
189
203
|
}
|
|
190
204
|
export function opencodeGlobalPath() {
|
|
191
205
|
return join(homedir(), '.config', 'opencode', 'opencode.json');
|
|
192
206
|
}
|
|
193
|
-
export function installOpencodeGlobal(profileMcps = [], path = opencodeGlobalPath()) {
|
|
207
|
+
export function installOpencodeGlobal(profileMcps = [], path = opencodeGlobalPath(), headroomUrl) {
|
|
194
208
|
const nioEntry = { command: [MCP_COMMAND], environment: { [envName('CLIENT')]: 'opencode' } };
|
|
195
209
|
if (!existsSync(path)) {
|
|
196
|
-
const { next } = planOpencodeUpdate({}, nioEntry, profileMcps);
|
|
210
|
+
const { next } = planOpencodeUpdate({}, nioEntry, profileMcps, headroomUrl);
|
|
197
211
|
writeJson(path, next);
|
|
198
212
|
return { status: 'created', path };
|
|
199
213
|
}
|
|
200
214
|
const existing = readJsonSafe(path) ?? {};
|
|
201
|
-
const { alreadyConfigured, next } = planOpencodeUpdate(existing, nioEntry, profileMcps);
|
|
215
|
+
const { alreadyConfigured, next } = planOpencodeUpdate(existing, nioEntry, profileMcps, headroomUrl);
|
|
202
216
|
if (alreadyConfigured)
|
|
203
217
|
return { status: 'already_configured', path };
|
|
204
218
|
const backup = backupFile(path);
|
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/lib/debug.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAGrF,MAAM,UAAU,IAAI,CAAC,GAAG,IAAe;IACrC,IAAI,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { spawnSync } from 'node:child_process';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { env } from '../brand.js';
|
|
5
|
+
import { dockerAvailable, portOpen } from './docker.js';
|
|
6
|
+
import { dlog } from './debug.js';
|
|
7
|
+
export const HEADROOM_PORT = Number(env('HEADROOM_PORT')?.trim()) || 8787;
|
|
8
|
+
export const HEADROOM_URL = env('HEADROOM_URL')?.trim() || `http://127.0.0.1:${HEADROOM_PORT}/v1`;
|
|
9
|
+
export const HEADROOM_URL_CONTAINER = `http://host.docker.internal:${HEADROOM_PORT}/v1`;
|
|
10
|
+
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
|
+
export function headroomHealthy() {
|
|
15
|
+
return portOpen(HEADROOM_PORT);
|
|
16
|
+
}
|
|
17
|
+
export async function ensureHeadroomRunning() {
|
|
18
|
+
if (await headroomHealthy())
|
|
19
|
+
return { ok: true, started: false };
|
|
20
|
+
if (!dockerAvailable()) {
|
|
21
|
+
return {
|
|
22
|
+
ok: false,
|
|
23
|
+
started: false,
|
|
24
|
+
error: 'Docker não encontrado (ou `docker compose` indisponível). O Headroom roda em ' +
|
|
25
|
+
'container e é obrigatório pro client de IA — instale/inicie o Docker Engine/Desktop.',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
dlog('subindo o Headroom:', headroomComposePath());
|
|
29
|
+
const res = spawnSync('docker', ['compose', '-f', headroomComposePath(), 'up', '-d'], { stdio: 'ignore', env: { ...process.env, NIO_HEADROOM_PORT: String(HEADROOM_PORT) } });
|
|
30
|
+
if (res.status !== 0) {
|
|
31
|
+
return { ok: false, started: false, error: '`docker compose -f headroom/... up -d` saiu != 0.' };
|
|
32
|
+
}
|
|
33
|
+
for (let i = 0; i < 60; i++) {
|
|
34
|
+
await sleep(500);
|
|
35
|
+
if (await headroomHealthy())
|
|
36
|
+
return { ok: true, started: true };
|
|
37
|
+
}
|
|
38
|
+
return { ok: false, started: false, error: 'o container subiu mas o Headroom não respondeu em ~30s.' };
|
|
39
|
+
}
|
|
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
|
+
//# sourceMappingURL=headroom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headroom.js","sourceRoot":"","sources":["../../src/lib/headroom.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { backupFile, readJson, writeJson } from './file-merge.js';
|
|
4
|
+
import { ensureGitignored } from '../config.js';
|
|
5
|
+
const TASK_LABEL = 'NIO';
|
|
6
|
+
function nioTask() {
|
|
7
|
+
return {
|
|
8
|
+
label: TASK_LABEL,
|
|
9
|
+
type: 'shell',
|
|
10
|
+
command: 'nio ai',
|
|
11
|
+
isBackground: true,
|
|
12
|
+
problemMatcher: [],
|
|
13
|
+
presentation: { reveal: 'always', panel: 'dedicated', focus: true, clear: true },
|
|
14
|
+
runOptions: { runOn: 'folderOpen' },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function mergeJson(path, patch) {
|
|
18
|
+
const created = !existsSync(path);
|
|
19
|
+
const cur = created ? {} : (readJson(path) ?? {});
|
|
20
|
+
if (!created)
|
|
21
|
+
backupFile(path);
|
|
22
|
+
writeJson(path, patch(cur));
|
|
23
|
+
return created;
|
|
24
|
+
}
|
|
25
|
+
export function writeIdeAutostartTask(projectPath) {
|
|
26
|
+
const dir = join(projectPath, '.vscode');
|
|
27
|
+
const tasksPath = join(dir, 'tasks.json');
|
|
28
|
+
const settingsPath = join(dir, 'settings.json');
|
|
29
|
+
const createdTasks = mergeJson(tasksPath, (cur) => {
|
|
30
|
+
const tasks = Array.isArray(cur.tasks) ? cur.tasks : [];
|
|
31
|
+
if (tasks.some((t) => t.label === TASK_LABEL))
|
|
32
|
+
return { version: '2.0.0', ...cur, tasks };
|
|
33
|
+
return { version: '2.0.0', ...cur, tasks: [...tasks, nioTask()] };
|
|
34
|
+
});
|
|
35
|
+
mergeJson(settingsPath, (cur) => ({ ...cur, 'task.allowAutomaticTasks': 'on' }));
|
|
36
|
+
if (createdTasks) {
|
|
37
|
+
ensureGitignored('.vscode/tasks.json', projectPath);
|
|
38
|
+
ensureGitignored('.vscode/settings.json', projectPath);
|
|
39
|
+
}
|
|
40
|
+
return { created: createdTasks };
|
|
41
|
+
}
|
|
42
|
+
export function removeIdeAutostartTask(projectPath) {
|
|
43
|
+
const tasksPath = join(projectPath, '.vscode', 'tasks.json');
|
|
44
|
+
if (!existsSync(tasksPath))
|
|
45
|
+
return;
|
|
46
|
+
const cur = readJson(tasksPath) ?? {};
|
|
47
|
+
const tasks = Array.isArray(cur.tasks) ? cur.tasks : [];
|
|
48
|
+
const kept = tasks.filter((t) => t.label !== TASK_LABEL);
|
|
49
|
+
if (kept.length === tasks.length)
|
|
50
|
+
return;
|
|
51
|
+
backupFile(tasksPath);
|
|
52
|
+
writeJson(tasksPath, { ...cur, tasks: kept });
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=ide-tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide-tasks.js","sourceRoot":"","sources":["../../src/lib/ide-tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/load-env.js
CHANGED
|
@@ -1,10 +1,39 @@
|
|
|
1
1
|
import { homedir } from 'node:os';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
4
|
+
const debug = /^(1|true|yes|on)$/i.test((process.env.NIO_DEBUG ?? '').trim());
|
|
5
|
+
const nodeLoad = process.loadEnvFile;
|
|
6
|
+
function parseAndApply(text) {
|
|
7
|
+
for (const raw of text.split('\n')) {
|
|
8
|
+
const line = raw.trim();
|
|
9
|
+
if (!line || line.startsWith('#'))
|
|
10
|
+
continue;
|
|
11
|
+
const eq = line.indexOf('=');
|
|
12
|
+
if (eq < 1)
|
|
13
|
+
continue;
|
|
14
|
+
const key = line.slice(0, eq).trim();
|
|
15
|
+
if (process.env[key] === undefined) {
|
|
16
|
+
process.env[key] = line.slice(eq + 1).trim();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
3
20
|
function tryLoad(path) {
|
|
21
|
+
if (!existsSync(path)) {
|
|
22
|
+
if (debug)
|
|
23
|
+
console.error(`[nio:debug] env ausente: ${path}`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
4
26
|
try {
|
|
5
|
-
|
|
27
|
+
if (nodeLoad)
|
|
28
|
+
nodeLoad(path);
|
|
29
|
+
else
|
|
30
|
+
parseAndApply(readFileSync(path, 'utf8'));
|
|
31
|
+
if (debug)
|
|
32
|
+
console.error(`[nio:debug] env carregado: ${path}`);
|
|
6
33
|
}
|
|
7
|
-
catch {
|
|
34
|
+
catch (err) {
|
|
35
|
+
if (debug)
|
|
36
|
+
console.error(`[nio:debug] env falhou (${err.message}): ${path}`);
|
|
8
37
|
}
|
|
9
38
|
}
|
|
10
39
|
const explicit = process.env.NIO_ENV_FILE?.trim();
|
package/dist/lib/load-env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-env.js","sourceRoot":"","sources":["../../src/lib/load-env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"load-env.js","sourceRoot":"","sources":["../../src/lib/load-env.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAG9E,MAAM,QAAQ,GAAI,OAAiD,CAAC,WAAW,CAAC;AAGhF,SAAS,aAAa,CAAC,IAAY;IACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,GAAG,CAAC;YAAE,SAAS;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;;YACxB,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,2BAA4B,GAAa,CAAC,OAAO,MAAM,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;AAClD,IAAI,QAAQ;IAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;AAChC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACrC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC"}
|
package/dist/matrix-logo.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { envName } from './brand.js';
|
|
2
|
+
const ANIM = {
|
|
3
|
+
frames: 30,
|
|
4
|
+
frameMs: 45,
|
|
5
|
+
rainColumns: 42,
|
|
6
|
+
settleSeed: 42,
|
|
7
|
+
};
|
|
1
8
|
const MATRIX_CHARS = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレワン0123456789';
|
|
2
9
|
const TRAIL_CHARS = '・。';
|
|
3
10
|
const NIO_LOGO = [
|
|
@@ -41,17 +48,17 @@ function placeLogo(width, height) {
|
|
|
41
48
|
logoArea.add(`${logoR + i},${logoC + j}`);
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
|
-
return { cells, logoArea,
|
|
51
|
+
return { cells, logoArea, logoC };
|
|
45
52
|
}
|
|
46
|
-
function scatterRain(rand, canvas, width, height, logoC, logoW) {
|
|
53
|
+
function scatterRain(rand, canvas, width, height, logoC, logoW, fall) {
|
|
47
54
|
const cols = [];
|
|
48
|
-
for (let n = 0; n <
|
|
55
|
+
for (let n = 0; n < ANIM.rainColumns; n++) {
|
|
49
56
|
const col = randInt(rand, 0, width - 1);
|
|
50
57
|
if (!(col >= logoC - 1 && col <= logoC + logoW))
|
|
51
58
|
cols.push(col);
|
|
52
59
|
}
|
|
53
60
|
for (const col of cols) {
|
|
54
|
-
const start = randInt(rand, -10, 3);
|
|
61
|
+
const start = randInt(rand, -10, 3) + fall;
|
|
55
62
|
const trail = randInt(rand, 6, 18);
|
|
56
63
|
for (let i = 0; i < trail; i++) {
|
|
57
64
|
const row = start + i;
|
|
@@ -66,8 +73,7 @@ function scatterLoosePixels(rand, canvas, width, height) {
|
|
|
66
73
|
for (let n = 0; n < 50; n++) {
|
|
67
74
|
const row = randInt(rand, 0, height - 1);
|
|
68
75
|
const col = randInt(rand, 0, width - 1);
|
|
69
|
-
|
|
70
|
-
if (!canvas.logoArea.has(key) && canvas.cells[row][col] === ' ') {
|
|
76
|
+
if (!canvas.logoArea.has(`${row},${col}`) && canvas.cells[row][col] === ' ') {
|
|
71
77
|
canvas.cells[row][col] = pickChar(rand, MATRIX_CHARS);
|
|
72
78
|
}
|
|
73
79
|
}
|
|
@@ -97,16 +103,42 @@ function colorize(rand, canvas, width, height, colored) {
|
|
|
97
103
|
}
|
|
98
104
|
return lines.join('\n');
|
|
99
105
|
}
|
|
100
|
-
|
|
106
|
+
function renderFrame(opts, seed, fall) {
|
|
101
107
|
const width = opts.width ?? 70;
|
|
102
108
|
const height = opts.height ?? 24;
|
|
103
|
-
const seed = opts.seed ?? 42;
|
|
104
109
|
const colored = opts.colored ?? Boolean(process.stdout.isTTY);
|
|
105
110
|
const rand = mulberry32(seed);
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
scatterRain(rand, canvas, width, height, logoC, NIO_LOGO[0].length);
|
|
111
|
+
const canvas = placeLogo(width, height);
|
|
112
|
+
scatterRain(rand, canvas, width, height, canvas.logoC, NIO_LOGO[0].length, fall);
|
|
109
113
|
scatterLoosePixels(rand, canvas, width, height);
|
|
110
114
|
return colorize(rand, canvas, width, height, colored);
|
|
111
115
|
}
|
|
116
|
+
export function renderMatrixLogo(opts = {}) {
|
|
117
|
+
return renderFrame(opts, opts.seed ?? ANIM.settleSeed, 0);
|
|
118
|
+
}
|
|
119
|
+
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
120
|
+
function animationDisabled(width, height) {
|
|
121
|
+
return (!process.stdout.isTTY ||
|
|
122
|
+
Boolean(process.env.CI) ||
|
|
123
|
+
Boolean(process.env[envName('NO_ANIM')]) ||
|
|
124
|
+
(process.stdout.rows ?? 24) < height + 2 ||
|
|
125
|
+
(process.stdout.columns ?? 80) < width);
|
|
126
|
+
}
|
|
127
|
+
export async function animateMatrixLogo(opts = {}) {
|
|
128
|
+
const width = opts.width ?? 70;
|
|
129
|
+
const height = opts.height ?? 24;
|
|
130
|
+
if (animationDisabled(width, height)) {
|
|
131
|
+
process.stdout.write(renderMatrixLogo(opts) + '\n');
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const up = `\x1b[${height}A`;
|
|
135
|
+
for (let f = 0; f <= ANIM.frames; f++) {
|
|
136
|
+
const last = f === ANIM.frames;
|
|
137
|
+
const seed = last ? (opts.seed ?? ANIM.settleSeed) : (ANIM.settleSeed + f * 0x9e37) >>> 0;
|
|
138
|
+
const frame = last ? renderMatrixLogo(opts) : renderFrame(opts, seed, f - ANIM.frames);
|
|
139
|
+
process.stdout.write((f === 0 ? '' : up) + frame + '\n');
|
|
140
|
+
if (!last)
|
|
141
|
+
await sleep(ANIM.frameMs);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
112
144
|
//# sourceMappingURL=matrix-logo.js.map
|
package/dist/matrix-logo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix-logo.js","sourceRoot":"","sources":["../src/matrix-logo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"matrix-logo.js","sourceRoot":"","sources":["../src/matrix-logo.ts"],"names":[],"mappings":"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"}
|
package/dist/tui/app.js
ADDED
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useState, useEffect, useRef, useMemo } from 'react';
|
|
3
|
+
import { Box, Text, Static, useInput, useStdout } from 'ink';
|
|
4
|
+
import { renderMatrixLogo } from '../matrix-logo.js';
|
|
5
|
+
import { tlog } from './debug.js';
|
|
6
|
+
import { theme } from './theme.js';
|
|
7
|
+
import { Header, Sidebar, MessageView, LiveMessage, StatusLine, InputBox } from './components.js';
|
|
8
|
+
import { InfoPanel, CommandRunner, PermissionModal } from './palette.js';
|
|
9
|
+
import { buildPalette } from './palette-source.js';
|
|
10
|
+
import { applyEvent, pushUserMessage, syncMessages, emptyChat } from './state.js';
|
|
11
|
+
import { subscribeEvents } from './opencode.js';
|
|
12
|
+
function useTerminalSize() {
|
|
13
|
+
const { stdout } = useStdout();
|
|
14
|
+
const [size, setSize] = useState({ rows: stdout?.rows ?? 24, columns: stdout?.columns ?? 80 });
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (!stdout)
|
|
17
|
+
return;
|
|
18
|
+
const on = () => setSize({ rows: stdout.rows ?? 24, columns: stdout.columns ?? 80 });
|
|
19
|
+
stdout.on('resize', on);
|
|
20
|
+
return () => {
|
|
21
|
+
stdout.off('resize', on);
|
|
22
|
+
};
|
|
23
|
+
}, [stdout]);
|
|
24
|
+
return size;
|
|
25
|
+
}
|
|
26
|
+
export function App({ handle, program, cwd, session, splashMs = 1200, model }) {
|
|
27
|
+
const { rows, columns } = useTerminalSize();
|
|
28
|
+
const [chat, setChat] = useState(emptyChat);
|
|
29
|
+
const [overlay, setOverlay] = useState({ kind: 'none' });
|
|
30
|
+
const [sessions, setSessions] = useState([]);
|
|
31
|
+
const [ready, setReady] = useState(false);
|
|
32
|
+
const [frame, setFrame] = useState(0);
|
|
33
|
+
const sessionId = useRef('');
|
|
34
|
+
const abortRef = useRef(new AbortController());
|
|
35
|
+
const [splash, setSplash] = useState(splashMs > 0);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (splashMs <= 0)
|
|
38
|
+
return;
|
|
39
|
+
const t = setTimeout(() => setSplash(false), splashMs);
|
|
40
|
+
return () => clearTimeout(t);
|
|
41
|
+
}, [splashMs]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (!chat.busy)
|
|
44
|
+
return;
|
|
45
|
+
const t = setInterval(() => setFrame((f) => f + 1), 90);
|
|
46
|
+
return () => clearInterval(t);
|
|
47
|
+
}, [chat.busy]);
|
|
48
|
+
const resync = React.useCallback(async () => {
|
|
49
|
+
const id = sessionId.current;
|
|
50
|
+
if (!id)
|
|
51
|
+
return;
|
|
52
|
+
try {
|
|
53
|
+
const [st, msgs] = await Promise.all([
|
|
54
|
+
handle.client.session.status(),
|
|
55
|
+
handle.client.session.messages({ path: { id } }),
|
|
56
|
+
]);
|
|
57
|
+
const status = st.data?.[id]?.type;
|
|
58
|
+
const busy = status === 'busy' || status === 'retry';
|
|
59
|
+
const raw = (msgs.data ?? []);
|
|
60
|
+
setChat((prev) => syncMessages(prev, raw, busy));
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
tlog('resync falhou', err.message);
|
|
64
|
+
}
|
|
65
|
+
}, [handle]);
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (splash)
|
|
68
|
+
return;
|
|
69
|
+
let alive = true;
|
|
70
|
+
const ac = abortRef.current;
|
|
71
|
+
(async () => {
|
|
72
|
+
try {
|
|
73
|
+
const created = await handle.client.session.create({ body: { title: cwd.split('/').pop() ?? 'nio' } });
|
|
74
|
+
sessionId.current = created.data?.id ?? '';
|
|
75
|
+
const list = await handle.client.session.list();
|
|
76
|
+
setSessions((list.data ?? []).slice(0, 20).map((s) => ({ id: s.id, title: s.title ?? '' })));
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
tlog('falha ao criar sessão', err.message);
|
|
80
|
+
}
|
|
81
|
+
setReady(true);
|
|
82
|
+
for await (const evt of subscribeEvents(handle.client, ac.signal)) {
|
|
83
|
+
if (!alive)
|
|
84
|
+
break;
|
|
85
|
+
if (evt === null) {
|
|
86
|
+
void resync();
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (evt.type === 'message.part.delta')
|
|
90
|
+
continue;
|
|
91
|
+
setChat((prev) => applyEvent(prev, evt));
|
|
92
|
+
}
|
|
93
|
+
})();
|
|
94
|
+
return () => {
|
|
95
|
+
alive = false;
|
|
96
|
+
ac.abort();
|
|
97
|
+
};
|
|
98
|
+
}, [splash, handle, cwd, resync]);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (!chat.busy)
|
|
101
|
+
return;
|
|
102
|
+
const t = setInterval(resync, 4000);
|
|
103
|
+
return () => clearInterval(t);
|
|
104
|
+
}, [chat.busy, resync]);
|
|
105
|
+
useInput((_i, key) => {
|
|
106
|
+
if (key.escape && chat.busy && sessionId.current) {
|
|
107
|
+
handle.client.session.abort({ path: { id: sessionId.current } }).catch(() => { });
|
|
108
|
+
setChat((prev) => ({ ...prev, busy: false }));
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
useEffect(() => () => handle.close(), [handle]);
|
|
112
|
+
const send = (text) => {
|
|
113
|
+
if (!sessionId.current)
|
|
114
|
+
return;
|
|
115
|
+
setChat((prev) => pushUserMessage(prev, text));
|
|
116
|
+
handle.client.session
|
|
117
|
+
.prompt({ path: { id: sessionId.current }, body: { model, parts: [{ type: 'text', text }] } })
|
|
118
|
+
.catch((err) => tlog('prompt falhou', err.message));
|
|
119
|
+
};
|
|
120
|
+
const palette = useMemo(() => buildPalette(program), [program]);
|
|
121
|
+
const onDispatch = (item, action) => {
|
|
122
|
+
if (action === 'prompt' && item.kind === 'capability')
|
|
123
|
+
return send(item.prompt);
|
|
124
|
+
if (action === 'run' && item.kind === 'command')
|
|
125
|
+
return setOverlay({ kind: 'run', item });
|
|
126
|
+
setOverlay({ kind: 'info', item });
|
|
127
|
+
};
|
|
128
|
+
const respondPermission = (r) => {
|
|
129
|
+
const perm = chat.permission;
|
|
130
|
+
if (!perm)
|
|
131
|
+
return;
|
|
132
|
+
setChat((prev) => ({ ...prev, permission: null }));
|
|
133
|
+
handle.client
|
|
134
|
+
.postSessionIdPermissionsPermissionId({ path: { id: perm.sessionId, permissionID: perm.id }, body: { response: r } })
|
|
135
|
+
.catch((err) => tlog('permission respond falhou', err.message))
|
|
136
|
+
.finally(() => {
|
|
137
|
+
void resync();
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
const { finished, live } = useMemo(() => {
|
|
141
|
+
const msgs = chat.messages;
|
|
142
|
+
const lastIsLive = chat.busy && msgs.length > 0 && msgs[msgs.length - 1].role === 'assistant';
|
|
143
|
+
return {
|
|
144
|
+
finished: lastIsLive ? msgs.slice(0, -1) : msgs,
|
|
145
|
+
live: lastIsLive ? msgs[msgs.length - 1] : null,
|
|
146
|
+
};
|
|
147
|
+
}, [chat.messages, chat.busy]);
|
|
148
|
+
if (splash) {
|
|
149
|
+
return (_jsxs(Box, { flexDirection: "column", alignItems: "center", paddingY: 1, children: [_jsx(Text, { children: renderMatrixLogo({ width: Math.min(70, columns), height: 16 }) }), _jsx(Text, { color: theme.accent, children: "operador NIO \u00B7 opencode/big-pickle" })] }));
|
|
150
|
+
}
|
|
151
|
+
const liveMax = Math.max(4, Math.floor(rows * 0.4));
|
|
152
|
+
const disabled = chat.busy || !ready;
|
|
153
|
+
return (_jsxs(Box, { flexDirection: "column", width: columns, children: [_jsx(Static, { items: finished, children: (m) => _jsx(MessageView, { message: m }, m.id) }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Sidebar, { session: session, sessions: sessions }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, minWidth: 0, children: [_jsx(Header, { url: handle.url }), live && _jsx(LiveMessage, { message: live, maxLines: liveMax }), _jsx(StatusLine, { busy: chat.busy, frame: frame }), chat.permission ? (_jsx(PermissionModal, { title: chat.permission.title, onRespond: respondPermission })) : overlay.kind === 'info' ? (_jsx(InfoPanel, { item: overlay.item, onClose: () => setOverlay({ kind: 'none' }) })) : overlay.kind === 'run' ? (_jsx(CommandRunner, { item: overlay.item, cwd: cwd, onClose: () => setOverlay({ kind: 'none' }) })) : (_jsx(InputBox, { disabled: disabled, palette: palette, onSubmit: send, onDispatch: onDispatch }))] })] })] }));
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
|