@nio-cli/cli 0.11.0 → 0.11.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/.env.example +118 -118
- package/Dockerfile.gateway +20 -20
- package/README.md +539 -539
- package/dist/adapters/pg/auth-event-repository.js +4 -4
- package/dist/adapters/pg/auth-session-repository.js +2 -2
- package/dist/adapters/pg/dependency-event-repository.js +4 -4
- package/dist/adapters/pg/login-challenge-repository.js +2 -2
- package/dist/adapters/pg/login-ip-repository.js +3 -3
- package/dist/adapters/pg/session-repository.js +3 -3
- package/dist/app/ai-client.js +4 -1
- package/dist/app/ai-client.js.map +1 -1
- package/dist/cli/commands/completion.js +28 -28
- package/dist/cli/commands/docs/html.js +78 -78
- package/dist/cli/copy/auth.json +13 -13
- package/dist/cli/copy/flows.json +5 -5
- package/dist/cli/copy/init.json +15 -15
- package/dist/cli/copy/sync.json +3 -3
- package/dist/cli.js +0 -0
- package/dist/gateway/index.js +0 -0
- package/dist/lib/clients/client-configs.js +13 -5
- package/dist/lib/clients/client-configs.js.map +1 -1
- package/dist/lib/clients/nio-oc-config.js +14 -2
- package/dist/lib/clients/nio-oc-config.js.map +1 -1
- package/dist/lib/exec/map-reduce.js +56 -0
- package/dist/lib/exec/map-reduce.js.map +1 -0
- package/dist/lib/provision/provision.js.map +1 -1
- package/dist/lib/shutdown.js +5 -1
- package/dist/lib/shutdown.js.map +1 -1
- package/dist/mcp-server-lang.js +0 -0
- package/dist/mcp-server.js +0 -0
- package/dist/tui/app.js +29 -9
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/attachments.js +117 -0
- package/dist/tui/attachments.js.map +1 -0
- package/dist/tui/components.js +21 -5
- package/dist/tui/components.js.map +1 -1
- package/dist/tui/debug.js +1 -1
- package/dist/tui/debug.js.map +1 -1
- package/dist/tui/opencode.js +7 -7
- package/dist/tui/opencode.js.map +1 -1
- package/dist/tui/palette.js +3 -3
- package/dist/tui/palette.js.map +1 -1
- package/dist/tui/state.js +56 -3
- package/dist/tui/state.js.map +1 -1
- package/docker/docker-compose.yml +114 -114
- package/docker/kong.yml +59 -59
- package/package.json +99 -97
|
@@ -4,7 +4,7 @@ const FAILURE_EVENTS = ['password_fail', '2fa_fail', '2fa_expired'];
|
|
|
4
4
|
export function createAuthEventRepository() {
|
|
5
5
|
return {
|
|
6
6
|
async record(input) {
|
|
7
|
-
await query(`INSERT INTO auth_events (event, name, user_id, ip, trace_id, detail)
|
|
7
|
+
await query(`INSERT INTO auth_events (event, name, user_id, ip, trace_id, detail)
|
|
8
8
|
VALUES ($1, $2, $3, $4, $5, $6)`, [
|
|
9
9
|
input.event,
|
|
10
10
|
input.name ? input.name.slice(0, NAME_MAX) : null,
|
|
@@ -15,9 +15,9 @@ export function createAuthEventRepository() {
|
|
|
15
15
|
]);
|
|
16
16
|
},
|
|
17
17
|
async recentFailures({ userId, name, limit = 5 }) {
|
|
18
|
-
const res = await query(`SELECT at, event, host(ip) AS ip FROM auth_events
|
|
19
|
-
WHERE event = ANY($1)
|
|
20
|
-
AND ( ($2::bigint IS NOT NULL AND user_id = $2) OR ($3::text IS NOT NULL AND name = $3) )
|
|
18
|
+
const res = await query(`SELECT at, event, host(ip) AS ip FROM auth_events
|
|
19
|
+
WHERE event = ANY($1)
|
|
20
|
+
AND ( ($2::bigint IS NOT NULL AND user_id = $2) OR ($3::text IS NOT NULL AND name = $3) )
|
|
21
21
|
ORDER BY at DESC LIMIT $4`, [FAILURE_EVENTS, userId ?? null, name ?? null, limit]);
|
|
22
22
|
return res.rows.map((r) => ({ at: r.at, event: r.event, ip: r.ip }));
|
|
23
23
|
},
|
|
@@ -28,8 +28,8 @@ export function createAuthSessionRepository() {
|
|
|
28
28
|
await query(`UPDATE auth_sessions SET revoked_at = NOW() WHERE id = $1 AND revoked_at IS NULL`, [id]);
|
|
29
29
|
},
|
|
30
30
|
async listActiveByUser(userId) {
|
|
31
|
-
const res = await query(`SELECT ${COLS} FROM auth_sessions
|
|
32
|
-
WHERE user_id = $1 AND revoked_at IS NULL AND expires_at > NOW()
|
|
31
|
+
const res = await query(`SELECT ${COLS} FROM auth_sessions
|
|
32
|
+
WHERE user_id = $1 AND revoked_at IS NULL AND expires_at > NOW()
|
|
33
33
|
ORDER BY created_at DESC`, [userId]);
|
|
34
34
|
return res.rows.map(mapAuthSessionRow);
|
|
35
35
|
},
|
|
@@ -16,14 +16,14 @@ export function createDependencyEventRepository() {
|
|
|
16
16
|
return {
|
|
17
17
|
async recordIfNew(input) {
|
|
18
18
|
return withTransaction(async (tx) => {
|
|
19
|
-
const existing = await tx.query(`SELECT ${COLS} FROM dependency_events
|
|
20
|
-
WHERE session_id = $1 AND file_path = $2 AND dependency_name = $3
|
|
19
|
+
const existing = await tx.query(`SELECT ${COLS} FROM dependency_events
|
|
20
|
+
WHERE session_id = $1 AND file_path = $2 AND dependency_name = $3
|
|
21
21
|
ORDER BY detected_at DESC LIMIT 1`, [input.sessionId, input.filePath, input.dependencyName]);
|
|
22
22
|
if (existing.rows[0]) {
|
|
23
23
|
return { event: mapDependencyEventRow(existing.rows[0]), created: false };
|
|
24
24
|
}
|
|
25
|
-
const inserted = await tx.query(`INSERT INTO dependency_events (session_id, file_path, dependency_name, dependency_type)
|
|
26
|
-
VALUES ($1, $2, $3, $4)
|
|
25
|
+
const inserted = await tx.query(`INSERT INTO dependency_events (session_id, file_path, dependency_name, dependency_type)
|
|
26
|
+
VALUES ($1, $2, $3, $4)
|
|
27
27
|
RETURNING ${COLS}`, [input.sessionId, input.filePath, input.dependencyName, input.dependencyType]);
|
|
28
28
|
return { event: mapDependencyEventRow(inserted.rows[0]), created: true };
|
|
29
29
|
});
|
|
@@ -22,8 +22,8 @@ export function createLoginChallengeRepository() {
|
|
|
22
22
|
return withTransaction(async (tx) => {
|
|
23
23
|
await tx.query('DELETE FROM login_challenges WHERE expires_at < NOW()');
|
|
24
24
|
await tx.query('DELETE FROM login_challenges WHERE user_id = $1 AND consumed_at IS NULL', [input.userId]);
|
|
25
|
-
const res = await tx.query(`INSERT INTO login_challenges (user_id, purpose, code_hash, channel, expires_at)
|
|
26
|
-
VALUES ($1, $2, $3, $4, $5)
|
|
25
|
+
const res = await tx.query(`INSERT INTO login_challenges (user_id, purpose, code_hash, channel, expires_at)
|
|
26
|
+
VALUES ($1, $2, $3, $4, $5)
|
|
27
27
|
RETURNING ${COLS}`, [input.userId, input.purpose, input.codeHash, input.channel, input.expiresAt]);
|
|
28
28
|
return mapLoginChallengeRow(res.rows[0]);
|
|
29
29
|
});
|
|
@@ -8,12 +8,12 @@ const map = (r) => ({
|
|
|
8
8
|
export function createLoginIpRepository() {
|
|
9
9
|
return {
|
|
10
10
|
async record(userId, ip) {
|
|
11
|
-
await query(`INSERT INTO login_ip_events (user_id, ip) VALUES ($1, $2)
|
|
12
|
-
ON CONFLICT (user_id, ip)
|
|
11
|
+
await query(`INSERT INTO login_ip_events (user_id, ip) VALUES ($1, $2)
|
|
12
|
+
ON CONFLICT (user_id, ip)
|
|
13
13
|
DO UPDATE SET last_seen = NOW(), count = login_ip_events.count + 1`, [userId, ip]);
|
|
14
14
|
},
|
|
15
15
|
async recent(userId, limit = 10) {
|
|
16
|
-
const res = await query(`SELECT host(ip) AS ip, first_seen, last_seen, count FROM login_ip_events
|
|
16
|
+
const res = await query(`SELECT host(ip) AS ip, first_seen, last_seen, count FROM login_ip_events
|
|
17
17
|
WHERE user_id = $1 ORDER BY last_seen DESC LIMIT $2`, [userId, limit]);
|
|
18
18
|
return res.rows.map(map);
|
|
19
19
|
},
|
|
@@ -19,8 +19,8 @@ export function createSessionRepository() {
|
|
|
19
19
|
async create(input) {
|
|
20
20
|
return withTransaction(async (tx) => {
|
|
21
21
|
await tx.query(`UPDATE sessions SET status = 'archived' WHERE user_id = $1 AND status = 'active'`, [input.userId]);
|
|
22
|
-
const res = await tx.query(`INSERT INTO sessions (user_id, name, profile, status, project_path, ide, config)
|
|
23
|
-
VALUES ($1, $2, $3, 'active', $4, $5, $6)
|
|
22
|
+
const res = await tx.query(`INSERT INTO sessions (user_id, name, profile, status, project_path, ide, config)
|
|
23
|
+
VALUES ($1, $2, $3, 'active', $4, $5, $6)
|
|
24
24
|
RETURNING ${COLS}`, [
|
|
25
25
|
input.userId,
|
|
26
26
|
input.name,
|
|
@@ -42,7 +42,7 @@ export function createSessionRepository() {
|
|
|
42
42
|
return res.rows.map(mapSessionRow);
|
|
43
43
|
},
|
|
44
44
|
async findActiveByUser(userId) {
|
|
45
|
-
const res = await query(`SELECT ${COLS} FROM sessions WHERE user_id = $1 AND status = 'active'
|
|
45
|
+
const res = await query(`SELECT ${COLS} FROM sessions WHERE user_id = $1 AND status = 'active'
|
|
46
46
|
ORDER BY updated_at DESC LIMIT 1`, [userId]);
|
|
47
47
|
const row = res.rows[0];
|
|
48
48
|
return row ? mapSessionRow(row) : null;
|
package/dist/app/ai-client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawnPortable } from '../lib/proc.js';
|
|
2
|
-
import { installOpencodeGlobal, NIO_OPERATOR_MODEL, NIO_AI_BASE_URL } from '../lib/clients/client-configs.js';
|
|
2
|
+
import { installOpencodeGlobal, contextConfigWarning, NIO_OPERATOR_MODEL, NIO_AI_BASE_URL, } from '../lib/clients/client-configs.js';
|
|
3
3
|
import { isBinaryInstalled } from '../lib/clients/client-install.js';
|
|
4
4
|
import { c, sym } from '../lib/colors.js';
|
|
5
5
|
import { dlog } from '../lib/debug.js';
|
|
@@ -12,6 +12,9 @@ export class HeadroomRequiredError extends Error {
|
|
|
12
12
|
export async function ensureHeadroomAndWire() {
|
|
13
13
|
try {
|
|
14
14
|
installOpencodeGlobal([]);
|
|
15
|
+
const warn = contextConfigWarning();
|
|
16
|
+
if (warn)
|
|
17
|
+
console.warn(` ${c.yellow(sym.warn)} ${warn}`);
|
|
15
18
|
dlog('opencode.json: motor →', NIO_AI_BASE_URL, ', model =', NIO_OPERATOR_MODEL);
|
|
16
19
|
}
|
|
17
20
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-client.js","sourceRoot":"","sources":["../../src/app/ai-client.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"ai-client.js","sourceRoot":"","sources":["../../src/app/ai-client.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAOvC,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,MAAc;QACxB,KAAK,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAaD,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC;QACH,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1B,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;QACpC,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,wBAAwB,EAAE,eAAe,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACnF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAiC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAqC,EACrC,OAAqB,EAAE;IAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,iBAAiB,CAAC;IAE1D,MAAM,qBAAqB,EAAE,CAAC;IAE9B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAC3F,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,OAAO,CACnB,UAAU,EACV,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,EACnD,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CACpC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,uCAAuC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -29,20 +29,20 @@ function bashScript(root) {
|
|
|
29
29
|
.filter((s) => s.subs.length > 0 || s.opts.length > 1)
|
|
30
30
|
.map((s) => ` ${s.name}) __c="${level2(s)}" ;;`)
|
|
31
31
|
.join("\n");
|
|
32
|
-
return `# ${bin} bash completion — gere com: ${bin} completion bash
|
|
33
|
-
_${bin}() {
|
|
34
|
-
local cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
35
|
-
local __c=""
|
|
36
|
-
if [ "\$COMP_CWORD" -eq 1 ]; then
|
|
37
|
-
__c="${top}"
|
|
38
|
-
else
|
|
39
|
-
case "\${COMP_WORDS[1]}" in
|
|
40
|
-
${arms}
|
|
41
|
-
*) __c="--help" ;;
|
|
42
|
-
esac
|
|
43
|
-
fi
|
|
44
|
-
COMPREPLY=( \$(compgen -W "\$__c" -- "\$cur") )
|
|
45
|
-
}
|
|
32
|
+
return `# ${bin} bash completion — gere com: ${bin} completion bash
|
|
33
|
+
_${bin}() {
|
|
34
|
+
local cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
35
|
+
local __c=""
|
|
36
|
+
if [ "\$COMP_CWORD" -eq 1 ]; then
|
|
37
|
+
__c="${top}"
|
|
38
|
+
else
|
|
39
|
+
case "\${COMP_WORDS[1]}" in
|
|
40
|
+
${arms}
|
|
41
|
+
*) __c="--help" ;;
|
|
42
|
+
esac
|
|
43
|
+
fi
|
|
44
|
+
COMPREPLY=( \$(compgen -W "\$__c" -- "\$cur") )
|
|
45
|
+
}
|
|
46
46
|
complete -F _${bin} ${bin}`;
|
|
47
47
|
}
|
|
48
48
|
function zshScript(root) {
|
|
@@ -51,20 +51,20 @@ function zshScript(root) {
|
|
|
51
51
|
.filter((s) => s.subs.length > 0 || s.opts.length > 1)
|
|
52
52
|
.map((s) => ` ${s.name}) __c=(${level2(s)}) ;;`)
|
|
53
53
|
.join("\n");
|
|
54
|
-
return `#compdef ${bin}
|
|
55
|
-
# ${bin} zsh completion — gere com: ${bin} completion zsh
|
|
56
|
-
_${bin}() {
|
|
57
|
-
local -a __c
|
|
58
|
-
if (( CURRENT == 2 )); then
|
|
59
|
-
__c=(${top})
|
|
60
|
-
else
|
|
61
|
-
case $words[2] in
|
|
62
|
-
${arms}
|
|
63
|
-
*) __c=(--help) ;;
|
|
64
|
-
esac
|
|
65
|
-
fi
|
|
66
|
-
compadd -a __c
|
|
67
|
-
}
|
|
54
|
+
return `#compdef ${bin}
|
|
55
|
+
# ${bin} zsh completion — gere com: ${bin} completion zsh
|
|
56
|
+
_${bin}() {
|
|
57
|
+
local -a __c
|
|
58
|
+
if (( CURRENT == 2 )); then
|
|
59
|
+
__c=(${top})
|
|
60
|
+
else
|
|
61
|
+
case $words[2] in
|
|
62
|
+
${arms}
|
|
63
|
+
*) __c=(--help) ;;
|
|
64
|
+
esac
|
|
65
|
+
fi
|
|
66
|
+
compadd -a __c
|
|
67
|
+
}
|
|
68
68
|
compdef _${bin} ${bin}`;
|
|
69
69
|
}
|
|
70
70
|
function fishScript(root) {
|
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
const esc = (s) => s.replace(/[&<>"]/g, (ch) => ({ '&': '&', '<': '<', '>': '>', '"': '"' })[ch]);
|
|
2
2
|
const inline = (s) => esc(s).replace(/`([^`]+)`/g, (_m, code) => `<code>${code}</code>`);
|
|
3
|
-
const STYLE = `
|
|
4
|
-
:root{
|
|
5
|
-
--bg:#f6f8f5; --surface:#fff; --ink:#16211a; --muted:#5a6b60; --line:#dde5dd;
|
|
6
|
-
--accent:#1a7f43; --accent-soft:#e3f2e6; --code-bg:#0d130f; --code-ink:#c8e6cf;
|
|
7
|
-
--font:"Inter",ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;
|
|
8
|
-
--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
|
|
9
|
-
}
|
|
10
|
-
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
|
|
11
|
-
--bg:#0a0e0b; --surface:#0f150f; --ink:#d7e5da; --muted:#7f9285; --line:#1e2a20;
|
|
12
|
-
--accent:#4ade80; --accent-soft:#122417; --code-bg:#060907; --code-ink:#bfe9c9;
|
|
13
|
-
}}
|
|
14
|
-
:root[data-theme=dark]{
|
|
15
|
-
--bg:#0a0e0b; --surface:#0f150f; --ink:#d7e5da; --muted:#7f9285; --line:#1e2a20;
|
|
16
|
-
--accent:#4ade80; --accent-soft:#122417; --code-bg:#060907; --code-ink:#bfe9c9;
|
|
17
|
-
}
|
|
18
|
-
*{box-sizing:border-box}
|
|
19
|
-
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
|
|
20
|
-
line-height:1.65;-webkit-font-smoothing:antialiased}
|
|
21
|
-
a{color:var(--accent);text-decoration:none}
|
|
22
|
-
a:hover{text-decoration:underline}
|
|
23
|
-
code{font-family:var(--mono);font-size:.88em;background:var(--accent-soft);
|
|
24
|
-
color:var(--accent);padding:.1em .38em;border-radius:4px}
|
|
25
|
-
header.top{border-bottom:1px solid var(--line);background:var(--surface);
|
|
26
|
-
position:sticky;top:0;z-index:5}
|
|
27
|
-
.top .inner{max-width:1000px;margin:0 auto;padding:22px 24px;
|
|
28
|
-
display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
|
|
29
|
-
.brand{font-family:var(--mono);font-weight:700;font-size:1.35rem;letter-spacing:.02em}
|
|
30
|
-
.brand .cursor{color:var(--accent)}
|
|
31
|
-
.ver{font-family:var(--mono);font-size:.78rem;color:var(--muted);
|
|
32
|
-
border:1px solid var(--line);border-radius:999px;padding:.22em .7em;white-space:nowrap}
|
|
33
|
-
button.theme{font:inherit;font-size:.78rem;color:var(--muted);background:none;
|
|
34
|
-
border:1px solid var(--line);border-radius:999px;padding:.28em .8em;cursor:pointer;margin-left:8px}
|
|
35
|
-
.tag{max-width:1000px;margin:0 auto;padding:16px 24px 0;color:var(--muted);font-size:.95rem}
|
|
36
|
-
nav.toc{max-width:1000px;margin:0 auto;padding:14px 24px 26px;display:flex;flex-wrap:wrap;
|
|
37
|
-
gap:6px 16px;font-size:.84rem;border-bottom:1px solid var(--line)}
|
|
38
|
-
nav.toc a{color:var(--muted)}
|
|
39
|
-
nav.toc a:hover,nav.toc a.on{color:var(--accent);text-decoration:none}
|
|
40
|
-
main{max-width:1000px;margin:0 auto;padding:40px 24px 96px}
|
|
41
|
-
section{margin:0 0 48px;scroll-margin-top:80px}
|
|
42
|
-
h2{font-size:1.3rem;margin:0 0 4px;letter-spacing:-.01em}
|
|
43
|
-
.blurb{color:var(--muted);margin:0 0 18px;font-size:.95rem}
|
|
44
|
-
p{margin:0 0 14px;max-width:72ch}
|
|
45
|
-
ul{margin:0 0 16px;padding-left:20px;max-width:74ch}
|
|
46
|
-
li{margin:.4em 0}
|
|
47
|
-
pre{background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);
|
|
48
|
-
font-size:.82rem;line-height:1.6;padding:16px 18px;border-radius:10px;
|
|
49
|
-
overflow-x:auto;border:1px solid var(--line);margin:0 0 18px}
|
|
50
|
-
pre code{background:none;color:inherit;padding:0;font-size:inherit}
|
|
51
|
-
.tbl{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:10px}
|
|
52
|
-
table{border-collapse:collapse;width:100%;font-size:.9rem}
|
|
53
|
-
th,td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}
|
|
54
|
-
tr:last-child td{border-bottom:0}
|
|
55
|
-
th{font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
|
|
56
|
-
td:first-child{font-family:var(--mono);font-size:.85rem;white-space:nowrap}
|
|
57
|
-
@media(max-width:640px){td:first-child{white-space:normal}}
|
|
3
|
+
const STYLE = `
|
|
4
|
+
:root{
|
|
5
|
+
--bg:#f6f8f5; --surface:#fff; --ink:#16211a; --muted:#5a6b60; --line:#dde5dd;
|
|
6
|
+
--accent:#1a7f43; --accent-soft:#e3f2e6; --code-bg:#0d130f; --code-ink:#c8e6cf;
|
|
7
|
+
--font:"Inter",ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif;
|
|
8
|
+
--mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
|
|
9
|
+
}
|
|
10
|
+
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
|
|
11
|
+
--bg:#0a0e0b; --surface:#0f150f; --ink:#d7e5da; --muted:#7f9285; --line:#1e2a20;
|
|
12
|
+
--accent:#4ade80; --accent-soft:#122417; --code-bg:#060907; --code-ink:#bfe9c9;
|
|
13
|
+
}}
|
|
14
|
+
:root[data-theme=dark]{
|
|
15
|
+
--bg:#0a0e0b; --surface:#0f150f; --ink:#d7e5da; --muted:#7f9285; --line:#1e2a20;
|
|
16
|
+
--accent:#4ade80; --accent-soft:#122417; --code-bg:#060907; --code-ink:#bfe9c9;
|
|
17
|
+
}
|
|
18
|
+
*{box-sizing:border-box}
|
|
19
|
+
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
|
|
20
|
+
line-height:1.65;-webkit-font-smoothing:antialiased}
|
|
21
|
+
a{color:var(--accent);text-decoration:none}
|
|
22
|
+
a:hover{text-decoration:underline}
|
|
23
|
+
code{font-family:var(--mono);font-size:.88em;background:var(--accent-soft);
|
|
24
|
+
color:var(--accent);padding:.1em .38em;border-radius:4px}
|
|
25
|
+
header.top{border-bottom:1px solid var(--line);background:var(--surface);
|
|
26
|
+
position:sticky;top:0;z-index:5}
|
|
27
|
+
.top .inner{max-width:1000px;margin:0 auto;padding:22px 24px;
|
|
28
|
+
display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
|
|
29
|
+
.brand{font-family:var(--mono);font-weight:700;font-size:1.35rem;letter-spacing:.02em}
|
|
30
|
+
.brand .cursor{color:var(--accent)}
|
|
31
|
+
.ver{font-family:var(--mono);font-size:.78rem;color:var(--muted);
|
|
32
|
+
border:1px solid var(--line);border-radius:999px;padding:.22em .7em;white-space:nowrap}
|
|
33
|
+
button.theme{font:inherit;font-size:.78rem;color:var(--muted);background:none;
|
|
34
|
+
border:1px solid var(--line);border-radius:999px;padding:.28em .8em;cursor:pointer;margin-left:8px}
|
|
35
|
+
.tag{max-width:1000px;margin:0 auto;padding:16px 24px 0;color:var(--muted);font-size:.95rem}
|
|
36
|
+
nav.toc{max-width:1000px;margin:0 auto;padding:14px 24px 26px;display:flex;flex-wrap:wrap;
|
|
37
|
+
gap:6px 16px;font-size:.84rem;border-bottom:1px solid var(--line)}
|
|
38
|
+
nav.toc a{color:var(--muted)}
|
|
39
|
+
nav.toc a:hover,nav.toc a.on{color:var(--accent);text-decoration:none}
|
|
40
|
+
main{max-width:1000px;margin:0 auto;padding:40px 24px 96px}
|
|
41
|
+
section{margin:0 0 48px;scroll-margin-top:80px}
|
|
42
|
+
h2{font-size:1.3rem;margin:0 0 4px;letter-spacing:-.01em}
|
|
43
|
+
.blurb{color:var(--muted);margin:0 0 18px;font-size:.95rem}
|
|
44
|
+
p{margin:0 0 14px;max-width:72ch}
|
|
45
|
+
ul{margin:0 0 16px;padding-left:20px;max-width:74ch}
|
|
46
|
+
li{margin:.4em 0}
|
|
47
|
+
pre{background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);
|
|
48
|
+
font-size:.82rem;line-height:1.6;padding:16px 18px;border-radius:10px;
|
|
49
|
+
overflow-x:auto;border:1px solid var(--line);margin:0 0 18px}
|
|
50
|
+
pre code{background:none;color:inherit;padding:0;font-size:inherit}
|
|
51
|
+
.tbl{overflow-x:auto;margin:0 0 18px;border:1px solid var(--line);border-radius:10px}
|
|
52
|
+
table{border-collapse:collapse;width:100%;font-size:.9rem}
|
|
53
|
+
th,td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:top}
|
|
54
|
+
tr:last-child td{border-bottom:0}
|
|
55
|
+
th{font-weight:600;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
|
|
56
|
+
td:first-child{font-family:var(--mono);font-size:.85rem;white-space:nowrap}
|
|
57
|
+
@media(max-width:640px){td:first-child{white-space:normal}}
|
|
58
58
|
`;
|
|
59
59
|
function renderBlock(b) {
|
|
60
60
|
if (b.kind === 'p')
|
|
@@ -69,19 +69,19 @@ function renderBlock(b) {
|
|
|
69
69
|
.join('');
|
|
70
70
|
return `<div class="tbl"><table><thead><tr>${head}</tr></thead><tbody>${rows}</tbody></table></div>`;
|
|
71
71
|
}
|
|
72
|
-
const SCRIPT = `
|
|
73
|
-
const root=document.documentElement,KEY='nio-docs-theme';
|
|
74
|
-
try{const t=localStorage.getItem(KEY);if(t)root.dataset.theme=t}catch(e){}
|
|
75
|
-
document.querySelector('button.theme').onclick=()=>{
|
|
76
|
-
const sysDark=matchMedia('(prefers-color-scheme:dark)').matches;
|
|
77
|
-
const cur=root.dataset.theme||(sysDark?'dark':'light');
|
|
78
|
-
const next=cur==='dark'?'light':'dark';root.dataset.theme=next;
|
|
79
|
-
try{localStorage.setItem(KEY,next)}catch(e){}};
|
|
80
|
-
const links=[...document.querySelectorAll('nav.toc a')];
|
|
81
|
-
addEventListener('scroll',()=>{let on=links[0];
|
|
82
|
-
for(const l of links){const el=document.getElementById(l.hash.slice(1));
|
|
83
|
-
if(el&&el.getBoundingClientRect().top<140)on=l}
|
|
84
|
-
links.forEach(l=>l.classList.toggle('on',l===on))},{passive:true});
|
|
72
|
+
const SCRIPT = `
|
|
73
|
+
const root=document.documentElement,KEY='nio-docs-theme';
|
|
74
|
+
try{const t=localStorage.getItem(KEY);if(t)root.dataset.theme=t}catch(e){}
|
|
75
|
+
document.querySelector('button.theme').onclick=()=>{
|
|
76
|
+
const sysDark=matchMedia('(prefers-color-scheme:dark)').matches;
|
|
77
|
+
const cur=root.dataset.theme||(sysDark?'dark':'light');
|
|
78
|
+
const next=cur==='dark'?'light':'dark';root.dataset.theme=next;
|
|
79
|
+
try{localStorage.setItem(KEY,next)}catch(e){}};
|
|
80
|
+
const links=[...document.querySelectorAll('nav.toc a')];
|
|
81
|
+
addEventListener('scroll',()=>{let on=links[0];
|
|
82
|
+
for(const l of links){const el=document.getElementById(l.hash.slice(1));
|
|
83
|
+
if(el&&el.getBoundingClientRect().top<140)on=l}
|
|
84
|
+
links.forEach(l=>l.classList.toggle('on',l===on))},{passive:true});
|
|
85
85
|
`;
|
|
86
86
|
export function renderHtml(sections, version, tagline) {
|
|
87
87
|
const nav = sections
|
|
@@ -93,16 +93,16 @@ export function renderHtml(sections, version, tagline) {
|
|
|
93
93
|
s.blocks.map(renderBlock).join('') +
|
|
94
94
|
`</section>`)
|
|
95
95
|
.join('');
|
|
96
|
-
return `<!doctype html><html lang="pt-BR"><head><meta charset="utf-8">
|
|
97
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
98
|
-
<title>NIO-CLI — documentação</title><style>${STYLE}</style></head><body>
|
|
99
|
-
<header class="top"><div class="inner">
|
|
100
|
-
<div class="brand">nio<span class="cursor">_</span></div>
|
|
101
|
-
<div style="white-space:nowrap"><span class="ver">v${esc(version)}</span>
|
|
102
|
-
<button class="theme">tema</button></div></div></header>
|
|
103
|
-
<p class="tag">${esc(tagline)}</p>
|
|
104
|
-
<nav class="toc">${nav}</nav>
|
|
105
|
-
<main>${body}</main>
|
|
96
|
+
return `<!doctype html><html lang="pt-BR"><head><meta charset="utf-8">
|
|
97
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
98
|
+
<title>NIO-CLI — documentação</title><style>${STYLE}</style></head><body>
|
|
99
|
+
<header class="top"><div class="inner">
|
|
100
|
+
<div class="brand">nio<span class="cursor">_</span></div>
|
|
101
|
+
<div style="white-space:nowrap"><span class="ver">v${esc(version)}</span>
|
|
102
|
+
<button class="theme">tema</button></div></div></header>
|
|
103
|
+
<p class="tag">${esc(tagline)}</p>
|
|
104
|
+
<nav class="toc">${nav}</nav>
|
|
105
|
+
<main>${body}</main>
|
|
106
106
|
<script>${SCRIPT}</script></body></html>`;
|
|
107
107
|
}
|
|
108
108
|
//# sourceMappingURL=html.js.map
|
package/dist/cli/copy/auth.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
{
|
|
2
|
-
"register": {
|
|
3
|
-
"namePrompt": "Nome de usuário:",
|
|
4
|
-
"nameInvalid": "Informe um nome de usuário.",
|
|
5
|
-
"passwordPrompt": "Senha (mín. 8 caracteres):",
|
|
6
|
-
"passwordInvalid": "A senha precisa ter pelo menos 8 caracteres."
|
|
7
|
-
},
|
|
8
|
-
"login": {
|
|
9
|
-
"namePrompt": "Nome de usuário:",
|
|
10
|
-
"passwordPrompt": "Senha:",
|
|
11
|
-
"invalidCredentials": "Usuário ou senha inválidos."
|
|
12
|
-
}
|
|
13
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"register": {
|
|
3
|
+
"namePrompt": "Nome de usuário:",
|
|
4
|
+
"nameInvalid": "Informe um nome de usuário.",
|
|
5
|
+
"passwordPrompt": "Senha (mín. 8 caracteres):",
|
|
6
|
+
"passwordInvalid": "A senha precisa ter pelo menos 8 caracteres."
|
|
7
|
+
},
|
|
8
|
+
"login": {
|
|
9
|
+
"namePrompt": "Nome de usuário:",
|
|
10
|
+
"passwordPrompt": "Senha:",
|
|
11
|
+
"invalidCredentials": "Usuário ou senha inválidos."
|
|
12
|
+
}
|
|
13
|
+
}
|
package/dist/cli/copy/flows.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
{
|
|
2
|
-
"installDep": "Instalar {title}?",
|
|
3
|
-
"installClient": "Instalar {label} agora?",
|
|
4
|
-
"coworkManual": "Instalar manualmente (gera o .mcpb + passos)?"
|
|
5
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"installDep": "Instalar {title}?",
|
|
3
|
+
"installClient": "Instalar {label} agora?",
|
|
4
|
+
"coworkManual": "Instalar manualmente (gera o .mcpb + passos)?"
|
|
5
|
+
}
|
package/dist/cli/copy/init.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
{
|
|
2
|
-
"overwrite": "Já existe um nio.json aqui. Sobrescrever?",
|
|
3
|
-
"patPrompt": "Cole o seu PAT:",
|
|
4
|
-
"patInvalid": "Token inválido. Formato esperado: nio_ + 64 caracteres hexadecimais.",
|
|
5
|
-
"pickProject": "Escolha o projeto:",
|
|
6
|
-
"manualProjectChoice": "(digitar UUID manualmente)",
|
|
7
|
-
"manualProjectPrompt": "Cole o UUID do projeto:",
|
|
8
|
-
"manualProjectInvalid": "UUID inválido. Formato: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
9
|
-
"linkRepo": "Vincular a um repositório?",
|
|
10
|
-
"noRepoChoice": "(nenhum — não vincular a repositório específico)",
|
|
11
|
-
"clientsPrompt": "Configurar clientes MCP? (espaço pra marcar, enter pra confirmar)",
|
|
12
|
-
"clientChoices": {
|
|
13
|
-
"opencodeGlobal": "OpenCode — pra mim, todos os projetos (~/.config/opencode/opencode.json)"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"overwrite": "Já existe um nio.json aqui. Sobrescrever?",
|
|
3
|
+
"patPrompt": "Cole o seu PAT:",
|
|
4
|
+
"patInvalid": "Token inválido. Formato esperado: nio_ + 64 caracteres hexadecimais.",
|
|
5
|
+
"pickProject": "Escolha o projeto:",
|
|
6
|
+
"manualProjectChoice": "(digitar UUID manualmente)",
|
|
7
|
+
"manualProjectPrompt": "Cole o UUID do projeto:",
|
|
8
|
+
"manualProjectInvalid": "UUID inválido. Formato: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
|
9
|
+
"linkRepo": "Vincular a um repositório?",
|
|
10
|
+
"noRepoChoice": "(nenhum — não vincular a repositório específico)",
|
|
11
|
+
"clientsPrompt": "Configurar clientes MCP? (espaço pra marcar, enter pra confirmar)",
|
|
12
|
+
"clientChoices": {
|
|
13
|
+
"opencodeGlobal": "OpenCode — pra mim, todos os projetos (~/.config/opencode/opencode.json)"
|
|
14
|
+
}
|
|
15
|
+
}
|
package/dist/cli/copy/sync.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"update": { "confirm": "Atualizar agora?" }
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"update": { "confirm": "Atualizar agora?" }
|
|
3
|
+
}
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/gateway/index.js
CHANGED
|
File without changes
|
|
@@ -110,9 +110,17 @@ export const NIO_AI_CONTEXT = envNum('AI_CONTEXT', 65536);
|
|
|
110
110
|
export const NIO_AI_OUTPUT = envNum('AI_OUTPUT', 2048);
|
|
111
111
|
export const NIO_AI_THINK = /^(1|true|yes|on)$/i.test((env('AI_THINK') ?? '').trim());
|
|
112
112
|
export const NIO_AI_MAX_INPUT = envNum('AI_MAX_INPUT', 32000);
|
|
113
|
-
export const
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
export const NIO_AI_MAPREDUCE_THRESHOLD = envNum('AI_MAPREDUCE_THRESHOLD', NIO_AI_MAX_INPUT);
|
|
114
|
+
export const NIO_AI_MAX_IMAGE_BYTES = envNum('AI_MAX_IMAGE_BYTES', 1_500_000);
|
|
115
|
+
export const NIO_AI_IMAGE_MAX_DIM = envNum('AI_IMAGE_MAX_DIM', 1024);
|
|
116
|
+
const COMPACTION_FLOOR = 8000;
|
|
117
|
+
export function contextConfigWarning(context = NIO_AI_CONTEXT, output = NIO_AI_OUTPUT) {
|
|
118
|
+
if (context > 0 && context <= output + COMPACTION_FLOOR) {
|
|
119
|
+
return (`NIO_AI_CONTEXT=${context} é pequeno demais (≤ output ${output} + folga ${COMPACTION_FLOOR}): ` +
|
|
120
|
+
'o opencode pode auto-compactar em loop. Ajuste NIO_AI_CONTEXT ao --max-model-len real do vLLM.');
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
116
124
|
export const DEFAULT_OPENCODE_COMPACTION = {
|
|
117
125
|
auto: true,
|
|
118
126
|
prune: true,
|
|
@@ -203,7 +211,7 @@ export function planOpencodeUpdate(existing, nioEntry, profileMcps = [], baseURL
|
|
|
203
211
|
current.enabled !== false);
|
|
204
212
|
const mcpsOk = profileMcps.every((spec) => opencodeMcpOk(spec, servers[spec.id]));
|
|
205
213
|
const providerOk = baseURL
|
|
206
|
-
? nioAiProviderOk(existing, NIO_AI_PROVIDER, baseURL, NIO_AI_MODEL_ID,
|
|
214
|
+
? nioAiProviderOk(existing, NIO_AI_PROVIDER, baseURL, NIO_AI_MODEL_ID, NIO_AI_CONTEXT, NIO_AI_OUTPUT)
|
|
207
215
|
: !opencodeHasBaseURL(existing);
|
|
208
216
|
const alreadyConfigured = nioOk &&
|
|
209
217
|
existing.model === NIO_OPERATOR_MODEL &&
|
|
@@ -234,7 +242,7 @@ export function planOpencodeUpdate(existing, nioEntry, profileMcps = [], baseURL
|
|
|
234
242
|
next.watcher = DEFAULT_OPENCODE_WATCHER;
|
|
235
243
|
next = clearOpencodeProviderBaseURL(next);
|
|
236
244
|
if (baseURL)
|
|
237
|
-
next = planNioAiProvider(next, NIO_AI_PROVIDER, baseURL, NIO_AI_MODEL_ID,
|
|
245
|
+
next = planNioAiProvider(next, NIO_AI_PROVIDER, baseURL, NIO_AI_MODEL_ID, NIO_AI_CONTEXT, NIO_AI_OUTPUT);
|
|
238
246
|
return { alreadyConfigured, next };
|
|
239
247
|
}
|
|
240
248
|
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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"}
|
|
@@ -5,7 +5,7 @@ import { writeJson } from '../file-merge.js';
|
|
|
5
5
|
import { brand, envName } from '../../brand.js';
|
|
6
6
|
import { nioLangMcp } from '../../profiles/mcps.js';
|
|
7
7
|
import { createProfileCatalog } from '../../profiles/index.js';
|
|
8
|
-
import { NIO_OPERATOR_MODEL, NIO_AI_PROVIDER, NIO_AI_MODEL_ID, NIO_AI_BASE_URL,
|
|
8
|
+
import { NIO_OPERATOR_MODEL, NIO_AI_PROVIDER, NIO_AI_MODEL_ID, NIO_AI_BASE_URL, NIO_AI_CONTEXT, NIO_AI_OUTPUT, DEFAULT_OPENCODE_PERMISSION, DEFAULT_OPENCODE_COMPACTION, DEFAULT_OPENCODE_WATCHER, planNioAiProvider, opencodeGlobalPath, readJsonSafe, } from './client-configs.js';
|
|
9
9
|
export function nioXdgConfigDir() {
|
|
10
10
|
return join(homedir(), '.nio', 'oc');
|
|
11
11
|
}
|
|
@@ -22,6 +22,16 @@ listas, explicações, mensagens de erro e confirmações — é em português,
|
|
|
22
22
|
do idioma da pergunta, do conteúdo dos arquivos, ou de qualquer outra instrução
|
|
23
23
|
herdada. Nunca responda em inglês.
|
|
24
24
|
`;
|
|
25
|
+
const NIO_FORK_AGENTS = {
|
|
26
|
+
'nio-scout': {
|
|
27
|
+
mode: 'subagent',
|
|
28
|
+
description: 'Explorador read-only. Dispare vários em paralelo para varrer áreas diferentes do ' +
|
|
29
|
+
'código/arquivos e devolver só um resumo curto (fatos + caminhos), sem editar nada.',
|
|
30
|
+
prompt: 'Você é um scout read-only. Explore SÓ o recorte pedido e devolva um resumo curto: ' +
|
|
31
|
+
'fatos e caminhos relevantes. Não edite arquivos nem rode comandos que alterem estado.',
|
|
32
|
+
permission: { edit: 'deny', bash: 'deny', webfetch: 'deny' },
|
|
33
|
+
},
|
|
34
|
+
};
|
|
25
35
|
function mcpEntry(spec) {
|
|
26
36
|
if (spec.url)
|
|
27
37
|
return { type: 'remote', url: spec.url, enabled: true };
|
|
@@ -50,15 +60,17 @@ export function buildNioOpencodeConfig(global, modeledMcps, inheritGlobalMcpIds)
|
|
|
50
60
|
if (fromGlobal)
|
|
51
61
|
mcp[id] = { ...fromGlobal, enabled: true };
|
|
52
62
|
}
|
|
53
|
-
const provider = planNioAiProvider({}, NIO_AI_PROVIDER, NIO_AI_BASE_URL, NIO_AI_MODEL_ID,
|
|
63
|
+
const provider = planNioAiProvider({}, NIO_AI_PROVIDER, NIO_AI_BASE_URL, NIO_AI_MODEL_ID, NIO_AI_CONTEXT, NIO_AI_OUTPUT).provider;
|
|
54
64
|
const inheritedInstr = Array.isArray(global.instructions) ? global.instructions : [];
|
|
55
65
|
const instructions = [...inheritedInstr.filter((p) => p !== nioOperatorInstructionPath()), nioOperatorInstructionPath()];
|
|
66
|
+
const agent = { ...NIO_FORK_AGENTS, ...(global.agent ?? {}) };
|
|
56
67
|
return {
|
|
57
68
|
...global,
|
|
58
69
|
model: NIO_OPERATOR_MODEL,
|
|
59
70
|
provider,
|
|
60
71
|
mcp,
|
|
61
72
|
instructions,
|
|
73
|
+
agent,
|
|
62
74
|
permission: global.permission ?? DEFAULT_OPENCODE_PERMISSION,
|
|
63
75
|
compaction: global.compaction ?? DEFAULT_OPENCODE_COMPACTION,
|
|
64
76
|
watcher: global.watcher ?? DEFAULT_OPENCODE_WATCHER,
|