@nexus-cortex/cli 4.129.1 → 4.131.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cortex/agents/autoresearch-agent.md +7 -1
- package/.cortex/agents/web-researcher.md +1 -2
- package/.cortex/permissions.prod.json +2 -1
- package/.env.defaults +168 -2
- package/bin/cortex.js +22 -8
- package/dist/agent-mode.js +103 -5
- package/dist/agent-mode.js.map +1 -1
- package/dist/commands/autoresearch/approachPlan.d.ts +30 -0
- package/dist/commands/autoresearch/approachPlan.d.ts.map +1 -0
- package/dist/commands/autoresearch/approachPlan.js +54 -0
- package/dist/commands/autoresearch/approachPlan.js.map +1 -0
- package/dist/commands/autoresearch/experiment.d.ts +5 -0
- package/dist/commands/autoresearch/experiment.d.ts.map +1 -1
- package/dist/commands/autoresearch/experiment.js +14 -0
- package/dist/commands/autoresearch/experiment.js.map +1 -1
- package/dist/commands/autoresearch/loop.d.ts +30 -0
- package/dist/commands/autoresearch/loop.d.ts.map +1 -1
- package/dist/commands/autoresearch/loop.js +382 -37
- package/dist/commands/autoresearch/loop.js.map +1 -1
- package/dist/commands/browser/index.d.ts +48 -0
- package/dist/commands/browser/index.d.ts.map +1 -0
- package/dist/commands/browser/index.js +116 -0
- package/dist/commands/browser/index.js.map +1 -0
- package/dist/commands/canon/pipeline.js +2 -2
- package/dist/commands/canon/pipeline.js.map +1 -1
- package/dist/commands/secrets/index.d.ts +3 -0
- package/dist/commands/secrets/index.d.ts.map +1 -0
- package/dist/commands/secrets/index.js +196 -0
- package/dist/commands/secrets/index.js.map +1 -0
- package/dist/commands/setup/index.d.ts +4 -0
- package/dist/commands/setup/index.d.ts.map +1 -1
- package/dist/commands/setup/index.js +144 -15
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/index.js +62 -10
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/toolsInstall.d.ts.map +1 -1
- package/dist/lifecycle/toolsInstall.js +2 -0
- package/dist/lifecycle/toolsInstall.js.map +1 -1
- package/dist/orchestrator/OrchestratorClient.d.ts +4 -2
- package/dist/orchestrator/OrchestratorClient.d.ts.map +1 -1
- package/dist/orchestrator/OrchestratorClient.js +14 -8
- package/dist/orchestrator/OrchestratorClient.js.map +1 -1
- package/dist/themes/colors.d.ts +6 -0
- package/dist/themes/colors.d.ts.map +1 -1
- package/dist/themes/colors.js +11 -0
- package/dist/themes/colors.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,YAAY;IAC3B,iGAAiG;IACjG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2IAA2I;IAC3I,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC5B,qIAAqI;IACrI,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC9B;AAiJD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgMvE"}
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
* one-request-per-model check (the interactive wizard probes by default, a scripted run does not — no surprise network calls).
|
|
15
15
|
*/
|
|
16
16
|
import inquirer from 'inquirer';
|
|
17
|
-
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
17
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
18
18
|
import { dirname } from 'path';
|
|
19
|
-
import { ModularModelRegistry, SettingsLoader, getGlobalConfigDir, getGlobalEnvPath, validateSetting, keysOnlyStub, providerChoices, suggestRoles, webChoices, planToEnv, summaryLines, resolveSetupAnswers, } from '@nexus-cortex/core';
|
|
19
|
+
import { ModularModelRegistry, SettingsLoader, getGlobalConfigDir, getGlobalEnvPath, validateSetting, keysOnlyStub, Vault, openVaultNonInteractive, initVaultDefault, vaultPath, providerForName, providerChoices, suggestRoles, webChoices, planToEnv, summaryLines, resolveSetupAnswers, } from '@nexus-cortex/core';
|
|
20
20
|
import { OrchestratorClient } from '../../orchestrator/OrchestratorClient.js';
|
|
21
21
|
const fmtPrice = (m) => (m.inputCost || m.outputCost) ? `$${m.inputCost}/$${m.outputCost} per M` : 'price n/a';
|
|
22
22
|
const fmtModel = (m) => `${m.displayName.padEnd(38)} ${fmtPrice(m).padEnd(22)} ${m.reasoning ? 'reasoning ' : ''}${m.vision ? 'vision' : ''}`.trimEnd();
|
|
@@ -57,6 +57,86 @@ function writePlan(env) {
|
|
|
57
57
|
const failed = Object.entries(results).filter(([, r]) => !r.success).map(([k]) => k);
|
|
58
58
|
return { ok: failed.length === 0, failed };
|
|
59
59
|
}
|
|
60
|
+
const SECRET_KEY = /(_API_KEY|_API_TOKEN|_OAUTH_TOKEN|_SECRET|_TOKEN)$/;
|
|
61
|
+
/** Split a plan into secrets (keys / tokens) and plain settings. */
|
|
62
|
+
function splitSecrets(env) {
|
|
63
|
+
const secrets = {};
|
|
64
|
+
const settings = {};
|
|
65
|
+
for (const [k, v] of Object.entries(env))
|
|
66
|
+
(SECRET_KEY.test(k) ? secrets : settings)[k] = v;
|
|
67
|
+
return { secrets, settings };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Secrets vault Phase 3: keys go to the encrypted vault (~/.cortex/secrets.enc), not the plaintext .env. No vault yet → create one the
|
|
71
|
+
* zero-friction way (OS keychain, else an owner-only key file). A locked (passphrase) vault → ask at a terminal; a script must provide
|
|
72
|
+
* CORTEX_SECRETS_KEY or choose --secrets-to env. A plaintext copy of the same key left in ~/.cortex/.env is blanked (it would only go
|
|
73
|
+
* stale: the vault ranks above the .env file).
|
|
74
|
+
*/
|
|
75
|
+
async function writeSecrets(secrets, opts, interactive) {
|
|
76
|
+
if (Object.keys(secrets).length === 0)
|
|
77
|
+
return { ok: true, where: opts.secretsTo === 'env' ? 'env' : 'vault', path: vaultPath(), blanked: [] };
|
|
78
|
+
if (opts.secretsTo === 'env') {
|
|
79
|
+
const w = writePlan(secrets);
|
|
80
|
+
return { ok: w.ok, where: 'env', path: getGlobalEnvPath(), blanked: [], error: w.error ?? (w.ok ? undefined : w.failed.join(', ')) };
|
|
81
|
+
}
|
|
82
|
+
let vault = null;
|
|
83
|
+
let created = false;
|
|
84
|
+
try {
|
|
85
|
+
let r = openVaultNonInteractive();
|
|
86
|
+
if (!r.status.exists) {
|
|
87
|
+
initVaultDefault();
|
|
88
|
+
created = true;
|
|
89
|
+
r = openVaultNonInteractive();
|
|
90
|
+
}
|
|
91
|
+
vault = r.vault;
|
|
92
|
+
if (!vault && r.status.exists && interactive) {
|
|
93
|
+
const { pass } = await inquirer.prompt([{ type: 'password', name: 'pass', mask: '*', message: 'The secrets vault is locked — its passphrase / key:' }]);
|
|
94
|
+
vault = Vault.open(pass.trim(), 'passphrase');
|
|
95
|
+
}
|
|
96
|
+
if (!vault)
|
|
97
|
+
return { ok: false, where: 'vault', path: vaultPath(), blanked: [], error: `the secrets vault ${vaultPath()} is locked — set CORTEX_SECRETS_KEY (or CORTEX_SECRETS_KEY_FILE) to its key, run setup at a terminal to be asked for it, or pass --secrets-to env to write the keys to ${getGlobalEnvPath()} instead` };
|
|
98
|
+
for (const [k, v] of Object.entries(secrets))
|
|
99
|
+
vault.set(k, v, providerForName(k) ? { provider: providerForName(k).id } : {});
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
return { ok: false, where: 'vault', path: vaultPath(), blanked: [], error: String(e.message) };
|
|
103
|
+
}
|
|
104
|
+
// Blank stale plaintext copies in ~/.cortex/.env (other lines untouched).
|
|
105
|
+
const blanked = [];
|
|
106
|
+
const envPath = getGlobalEnvPath();
|
|
107
|
+
try {
|
|
108
|
+
if (existsSync(envPath)) {
|
|
109
|
+
const lines = readFileSync(envPath, 'utf-8').split('\n').map((l) => {
|
|
110
|
+
const m = l.match(/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/);
|
|
111
|
+
if (m && m[1] in secrets && m[2].replace(/#.*$/, '').trim().replace(/^["']|["']$/g, '')) {
|
|
112
|
+
blanked.push(m[1]);
|
|
113
|
+
return `${m[1]}= # moved to the secrets vault`;
|
|
114
|
+
}
|
|
115
|
+
return l;
|
|
116
|
+
});
|
|
117
|
+
if (blanked.length)
|
|
118
|
+
writeFileSync(envPath, lines.join('\n'), 'utf-8');
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch { /* read-only home — the vault still wins on precedence */ }
|
|
122
|
+
return { ok: true, where: 'vault', path: vault.file, source: vault.source, created, blanked };
|
|
123
|
+
}
|
|
124
|
+
const secretLine = (w, n) => n === 0 ? '' : w.where === 'env'
|
|
125
|
+
? `${n} key(s) to ${w.path} (plaintext — \`cortex secrets import-env --strip\` moves them into the encrypted vault)`
|
|
126
|
+
: `${n} key(s) to the encrypted secrets vault ${w.path}${w.created ? ' (created; ' : ' ('}unlocks via ${w.source ?? 'its key'})${w.blanked.length ? `; blanked the old plaintext copies in ${getGlobalEnvPath()}: ${w.blanked.join(', ')}` : ''}`;
|
|
127
|
+
/** The browser choice: 'local' installs the local browser now (the choice is the approval); 'hosted' records the hosted MCP. */
|
|
128
|
+
async function applyBrowserChoice(choice, approved, out) {
|
|
129
|
+
if (!choice)
|
|
130
|
+
return null;
|
|
131
|
+
if (choice === 'hosted') {
|
|
132
|
+
new SettingsLoader(getGlobalConfigDir()).setMultiple({ NEXUS_BROWSER_MODE: 'hosted' });
|
|
133
|
+
process.env.NEXUS_BROWSER_MODE = 'hosted';
|
|
134
|
+
return { ok: true, message: 'Browser: the hosted browser MCP (NEXUS_BROWSER_MODE=hosted).' };
|
|
135
|
+
}
|
|
136
|
+
out('Installing the local browser…');
|
|
137
|
+
const { installLocalBrowser } = await import('../browser/index.js');
|
|
138
|
+
return installLocalBrowser({ approved, out: (s) => out(s) });
|
|
139
|
+
}
|
|
60
140
|
async function probeModels(ids, out) {
|
|
61
141
|
out('');
|
|
62
142
|
out(`Checking ${ids.length} model${ids.length === 1 ? '' : 's'} with one tiny request each...`);
|
|
@@ -90,7 +170,7 @@ const RECIPE = [
|
|
|
90
170
|
' --action deepseek-flash --helper deepseek-flash \\',
|
|
91
171
|
' --mentor deepseek-v4-pro --vision deepseek-flash --web auto --yes',
|
|
92
172
|
' cortex setup --print --key DEEPSEEK_API_KEY=sk-... # show the env lines, write nothing',
|
|
93
|
-
' cortex
|
|
173
|
+
' cortex secrets set DEEPSEEK_API_KEY # or one key at a time (masked prompt / stdin; encrypted vault)',
|
|
94
174
|
];
|
|
95
175
|
export async function runSetup(opts = {}) {
|
|
96
176
|
const out = (s = '') => process.stdout.write(s + '\n');
|
|
@@ -127,37 +207,55 @@ export async function runSetup(opts = {}) {
|
|
|
127
207
|
}
|
|
128
208
|
const answers = resolved.answers;
|
|
129
209
|
const env = planToEnv(answers);
|
|
210
|
+
const { secrets, settings } = splitSecrets(env);
|
|
211
|
+
const secretsWhere = opts.secretsTo === 'env' ? getGlobalEnvPath() : vaultPath();
|
|
130
212
|
if (opts.print) {
|
|
131
213
|
if (opts.json) {
|
|
132
|
-
out(JSON.stringify({ write: false, path: getGlobalEnvPath(), env: Object.fromEntries(Object.entries(env).map(([k, v]) => [k, maskSecret(k, v)])) }, null, 2));
|
|
214
|
+
out(JSON.stringify({ write: false, path: getGlobalEnvPath(), secretsPath: secretsWhere, env: Object.fromEntries(Object.entries(env).map(([k, v]) => [k, maskSecret(k, v)])) }, null, 2));
|
|
133
215
|
return 0;
|
|
134
216
|
}
|
|
135
217
|
out(`# would write to ${getGlobalEnvPath()}`);
|
|
136
|
-
for (const [k, v] of Object.entries(
|
|
218
|
+
for (const [k, v] of Object.entries(settings))
|
|
137
219
|
out(`${k}=${maskSecret(k, v)}`);
|
|
220
|
+
if (Object.keys(secrets).length) {
|
|
221
|
+
out(`# keys would go to ${secretsWhere}`);
|
|
222
|
+
for (const [k, v] of Object.entries(secrets))
|
|
223
|
+
out(`${k}=${maskSecret(k, v)}`);
|
|
224
|
+
}
|
|
138
225
|
return 0;
|
|
139
226
|
}
|
|
140
|
-
const
|
|
227
|
+
const sw = await writeSecrets(secrets, opts, interactive);
|
|
228
|
+
if (!sw.ok) {
|
|
229
|
+
out(`[cortex] Failed to store the keys: ${sw.error}`);
|
|
230
|
+
return 1;
|
|
231
|
+
}
|
|
232
|
+
const wrote = writePlan(settings);
|
|
141
233
|
if (!wrote.ok) {
|
|
142
234
|
out(`[cortex] Failed to write${wrote.error ? `: ${wrote.error}` : `: ${wrote.failed.join(', ')}`}`);
|
|
143
235
|
return 1;
|
|
144
236
|
}
|
|
145
237
|
for (const [k, v] of Object.entries(env))
|
|
146
238
|
process.env[k] = v;
|
|
239
|
+
const browserMsg = await applyBrowserChoice(opts.browser, true, out);
|
|
147
240
|
const probes = opts.probe ? await probeModels([...new Set([answers.action, answers.helper, answers.mentor, ...(answers.vision ? [answers.vision] : [])])], out) : [];
|
|
148
241
|
const bad = probes.filter((p) => !p.ok);
|
|
149
242
|
if (opts.json) {
|
|
150
243
|
out(JSON.stringify({
|
|
151
244
|
write: true,
|
|
152
245
|
path: getGlobalEnvPath(),
|
|
246
|
+
secrets: { where: sw.where, path: sw.path, names: Object.keys(secrets), created: !!sw.created, blanked: sw.blanked },
|
|
153
247
|
env: Object.fromEntries(Object.entries(env).map(([k, v]) => [k, maskSecret(k, v)])),
|
|
154
|
-
answers,
|
|
248
|
+
answers: { ...answers, keys: Object.fromEntries(Object.entries(answers.keys).map(([k, v]) => [k, maskSecret(k, v)])) },
|
|
155
249
|
probes,
|
|
156
250
|
ok: bad.length === 0,
|
|
157
251
|
}, null, 2));
|
|
158
252
|
return bad.length ? 1 : 0;
|
|
159
253
|
}
|
|
160
|
-
out(`[OK] Saved ${Object.keys(
|
|
254
|
+
out(`[OK] Saved ${Object.keys(settings).length} settings to ${getGlobalEnvPath()}`);
|
|
255
|
+
if (Object.keys(secrets).length)
|
|
256
|
+
out(`[OK] Saved ${secretLine(sw, Object.keys(secrets).length)}`);
|
|
257
|
+
if (browserMsg)
|
|
258
|
+
out(`[${browserMsg.ok ? 'OK' : 'cortex'}] ${browserMsg.message}`);
|
|
161
259
|
out('');
|
|
162
260
|
for (const l of summaryLines(answers, byId))
|
|
163
261
|
out(' ' + l);
|
|
@@ -173,7 +271,7 @@ export async function runSetup(opts = {}) {
|
|
|
173
271
|
}
|
|
174
272
|
// ── Interactive path ───────────────────────────────────────────────────────────────────────────
|
|
175
273
|
out('');
|
|
176
|
-
out('cortex setup — configure providers, keys and model roles (
|
|
274
|
+
out('cortex setup — configure providers, keys and model roles (settings → ' + getGlobalEnvPath() + (opts.secretsTo === 'env' ? '' : '; keys → the encrypted secrets vault') + ')');
|
|
177
275
|
out('');
|
|
178
276
|
// 1. providers
|
|
179
277
|
const { chosen } = await inquirer.prompt([{
|
|
@@ -184,19 +282,27 @@ export async function runSetup(opts = {}) {
|
|
|
184
282
|
const chosenRows = providers.filter((p) => chosen.includes(p.provider));
|
|
185
283
|
// 2. keys
|
|
186
284
|
const existingLoader = new SettingsLoader(getGlobalConfigDir());
|
|
285
|
+
// The vault counts as "already set" even when this entry point did not load it into the environment.
|
|
286
|
+
const inVault = new Set(openVaultNonInteractive().vault?.names() ?? []);
|
|
187
287
|
const keys = {};
|
|
288
|
+
const present = new Set();
|
|
188
289
|
for (const p of chosenRows) {
|
|
189
290
|
if (!p.keyEnv)
|
|
190
291
|
continue;
|
|
191
|
-
const existing = (process.env[p.keyEnv]
|
|
292
|
+
const existing = (process.env[p.keyEnv] || existingLoader.get(p.keyEnv) || (inVault.has(p.keyEnv) ? '(in the secrets vault)' : '')).trim();
|
|
192
293
|
const { value } = await inquirer.prompt([{
|
|
193
294
|
type: 'password', name: 'value', mask: '*',
|
|
194
295
|
message: existing ? `${p.keyEnv} (${p.label}) — a value is already set; enter to keep it, or paste a new one:` : `${p.keyEnv} (${p.label}):`,
|
|
195
296
|
validate: (v) => (v.trim() || existing ? true : `A ${p.label} key is needed to use its models (leave the provider unselected to skip)`),
|
|
196
297
|
}]);
|
|
197
|
-
|
|
298
|
+
// Only a key the user typed is written; keeping an existing one writes nothing (it already resolves — from the real
|
|
299
|
+
// environment, the vault or the .env — and copying it would put e.g. a platform secret into a plaintext file).
|
|
300
|
+
if (value.trim())
|
|
301
|
+
keys[p.keyEnv] = value.trim();
|
|
302
|
+
else if (existing)
|
|
303
|
+
present.add(p.keyEnv);
|
|
198
304
|
}
|
|
199
|
-
const keyEnvsPresent = new Set(Object.keys(keys).filter((k) => keys[k]));
|
|
305
|
+
const keyEnvsPresent = new Set([...Object.keys(keys).filter((k) => keys[k]), ...present]);
|
|
200
306
|
// 3-6. roles
|
|
201
307
|
const suggested = suggestRoles(chosenRows);
|
|
202
308
|
const modelChoices = chosenRows.flatMap((p) => p.models).map((m) => ({ name: fmtModel(m), value: m.id }));
|
|
@@ -217,13 +323,25 @@ export async function runSetup(opts = {}) {
|
|
|
217
323
|
type: 'list', name: 'webToolsModel', message: 'Web tools backend (WebSearch / Browse need a search-capable key; WebFetch always works):',
|
|
218
324
|
choices: web.map((w) => ({ name: w.label, value: w.value })), default: web[0].value,
|
|
219
325
|
}]);
|
|
326
|
+
// 8. browser (only when the optional local browser package is on this machine; otherwise the hosted browser MCP, no question)
|
|
327
|
+
let browserChoice = opts.browser;
|
|
328
|
+
if (!browserChoice) {
|
|
329
|
+
const { loadBrowserPackage } = await import('../browser/index.js');
|
|
330
|
+
const pkg = await loadBrowserPackage();
|
|
331
|
+
if (pkg) {
|
|
332
|
+
const plan = pkg.installPlan();
|
|
333
|
+
const { local } = await inquirer.prompt([{ type: 'confirm', name: 'local', default: false,
|
|
334
|
+
message: `Run the browser on this machine (the local @nexus-cortex/browser) instead of the hosted browser MCP?${plan.steps.length ? ` It installs everything it needs now (about ${plan.approxMB} MB: ${plan.steps.length} step${plan.steps.length === 1 ? '' : 's'}).` : ' (already installed)'}` }]);
|
|
335
|
+
browserChoice = local ? 'local' : 'hosted';
|
|
336
|
+
}
|
|
337
|
+
}
|
|
220
338
|
const answers = { keys, action, helper, mentor, vision, webToolsModel };
|
|
221
339
|
out('');
|
|
222
340
|
for (const l of summaryLines(answers, byId))
|
|
223
341
|
out(' ' + l);
|
|
224
342
|
out('');
|
|
225
343
|
if (!opts.yes) {
|
|
226
|
-
const { ok } = await inquirer.prompt([{ type: 'confirm', name: 'ok', message: `Write these
|
|
344
|
+
const { ok } = await inquirer.prompt([{ type: 'confirm', name: 'ok', message: `Write these (settings → ${getGlobalEnvPath()}${Object.keys(keys).length ? `, keys → ${opts.secretsTo === 'env' ? getGlobalEnvPath() : 'the encrypted secrets vault'}` : ''})?`, default: true }]);
|
|
227
345
|
if (!ok) {
|
|
228
346
|
out('[cortex] Nothing written.');
|
|
229
347
|
return 1;
|
|
@@ -231,14 +349,25 @@ export async function runSetup(opts = {}) {
|
|
|
231
349
|
}
|
|
232
350
|
// 8. write through the canonical settings writer (validated against the schema)
|
|
233
351
|
const env = planToEnv(answers);
|
|
234
|
-
const
|
|
352
|
+
const { secrets, settings } = splitSecrets(env);
|
|
353
|
+
const sw = await writeSecrets(secrets, opts, true);
|
|
354
|
+
if (!sw.ok) {
|
|
355
|
+
out(`[cortex] Failed to store the keys: ${sw.error}`);
|
|
356
|
+
return 1;
|
|
357
|
+
}
|
|
358
|
+
const wrote = writePlan(settings);
|
|
235
359
|
if (!wrote.ok) {
|
|
236
360
|
out(`[cortex] Failed to write${wrote.error ? `: ${wrote.error}` : `: ${wrote.failed.join(', ')}`}`);
|
|
237
361
|
return 1;
|
|
238
362
|
}
|
|
239
363
|
for (const [k, v] of Object.entries(env))
|
|
240
364
|
process.env[k] = v;
|
|
241
|
-
out(`[OK] Saved ${Object.keys(
|
|
365
|
+
out(`[OK] Saved ${Object.keys(settings).length} settings to ${getGlobalEnvPath()}`);
|
|
366
|
+
if (Object.keys(secrets).length)
|
|
367
|
+
out(`[OK] Saved ${secretLine(sw, Object.keys(secrets).length)}`);
|
|
368
|
+
const browserMsg = await applyBrowserChoice(browserChoice, true, out);
|
|
369
|
+
if (browserMsg)
|
|
370
|
+
out(`[${browserMsg.ok ? 'OK' : 'cortex'}] ${browserMsg.message}`);
|
|
242
371
|
// 9. probe (interactive: ON unless --no-probe)
|
|
243
372
|
if (opts.probe === false) {
|
|
244
373
|
out('[cortex] Probe skipped (--no-probe). Try: cortex "hello"');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/setup/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -469,6 +469,37 @@ permissions
|
|
|
469
469
|
json: globalOpts.json,
|
|
470
470
|
});
|
|
471
471
|
});
|
|
472
|
+
// 2026-11-02 secrets vault (docs/SECRETS_VAULT_PLAN.md): encrypted ~/.cortex/secrets.enc, unlocked without prompting (CORTEX_SECRETS_KEY /
|
|
473
|
+
// _FILE / OS keychain / owner-only key file). Headless-first: every action is a flag; values come from a masked prompt, stdin or --from-env.
|
|
474
|
+
program
|
|
475
|
+
.command('secrets [action] [args...]')
|
|
476
|
+
.description('Encrypted secrets vault: status | init | unlock | list | set NAME | get NAME | delete NAME | bind NAME ENV_VAR | unbind ENV_VAR | import-env | exec [--only A,B] -- <command…>')
|
|
477
|
+
.option('--stdin', 'set: read the value from stdin')
|
|
478
|
+
.option('--from-env <VAR>', 'set: copy the value from this environment variable')
|
|
479
|
+
.option('--provider <id>', 'set: provider id (e.g. deepseek, github)')
|
|
480
|
+
.option('--type <type>', 'set: secret type (api-key, token, password, …)')
|
|
481
|
+
.option('--category <c>', 'set: category')
|
|
482
|
+
.option('--note <text>', 'set: a note')
|
|
483
|
+
.option('--reveal', 'get: print the value')
|
|
484
|
+
.option('--tool <name>', 'bind/unbind: only for this tool')
|
|
485
|
+
.option('--strip', 'import-env: blank the moved keys in ~/.cortex/.env (backup kept)')
|
|
486
|
+
.option('--passphrase', 'init: protect the vault with a passphrase instead of the keychain / key file')
|
|
487
|
+
.option('--only <names>', 'exec: inject only these secrets (comma-separated)')
|
|
488
|
+
.option('--verbose', 'exec: report how many keys were injected (to stderr)')
|
|
489
|
+
.action(async (action, args, options) => {
|
|
490
|
+
const { runSecrets } = await import('./commands/secrets/index.js');
|
|
491
|
+
process.exit(await runSecrets(action ?? 'status', args ?? [], { ...options, json: !!program.opts().json }));
|
|
492
|
+
});
|
|
493
|
+
// Browser backend (operator 2026-11-03): hosted MCP by default; the local @nexus-cortex/browser only when chosen (install = approval).
|
|
494
|
+
program
|
|
495
|
+
.command('browser [action] [args...]')
|
|
496
|
+
.description('Which browser the harness drives: status | install [--yes] | use <local|hosted>. Installing the local browser installs everything it needs; otherwise the hosted browser MCP is used')
|
|
497
|
+
.option('-y, --yes', 'install: choose the local browser explicitly with no prompt (e.g. in an image build)')
|
|
498
|
+
.option('--json', 'status: machine-readable output')
|
|
499
|
+
.action(async (action, args, options) => {
|
|
500
|
+
const { runBrowser } = await import('./commands/browser/index.js');
|
|
501
|
+
process.exit(await runBrowser(action, args ?? [], options));
|
|
502
|
+
});
|
|
472
503
|
// Config commands
|
|
473
504
|
// 2026-10-17 first-run wizard: providers -> keys -> action / helper / mentor / vision / web tools -> write ~/.cortex/.env -> probe.
|
|
474
505
|
// Every question has a flag, so a script/container can run it headless (`--key … --yes`); anything unnamed falls back to the same
|
|
@@ -487,6 +518,8 @@ program
|
|
|
487
518
|
.option('--probe', 'Run the live one-request check per chosen model (default: on interactively, off for a scripted run)')
|
|
488
519
|
.option('--no-probe', 'Skip the live one-request check of each chosen model')
|
|
489
520
|
.option('-y, --yes', 'Write without the confirm prompt')
|
|
521
|
+
.option('--secrets-to <vault|env>', 'Where API keys go: vault (default, encrypted ~/.cortex/secrets.enc) or env (plaintext ~/.cortex/.env)')
|
|
522
|
+
.option('--browser <local|hosted>', 'local = install the local browser now, with everything it needs (the choice is the approval); hosted = the hosted browser MCP (default)')
|
|
490
523
|
.action(async (options) => {
|
|
491
524
|
const { runSetup } = await import('./commands/setup/index.js');
|
|
492
525
|
const keys = {};
|
|
@@ -498,6 +531,8 @@ program
|
|
|
498
531
|
process.exit(await runSetup({
|
|
499
532
|
probe: options.probe,
|
|
500
533
|
yes: !!options.yes,
|
|
534
|
+
secretsTo: options.secretsTo === 'env' ? 'env' : 'vault',
|
|
535
|
+
browser: options.browser === 'local' || options.browser === 'hosted' ? options.browser : undefined,
|
|
501
536
|
providers: options.provider,
|
|
502
537
|
keys,
|
|
503
538
|
action: options.action,
|
|
@@ -649,6 +684,9 @@ autoresearch
|
|
|
649
684
|
.option('--run-cmd <template>', 'NON-CORTEX target: grade a shell command per task in each arm dir ({prompt}/{case} substituted) instead of building+serving a cortex server')
|
|
650
685
|
.option('--build-cmd <cmd>', 'build command run in each arm dir before benching a --run-cmd target (subject to --build-base/--no-build)')
|
|
651
686
|
.option('--accept-exit <codes>', 'comma list of exit codes whose stdout is graded (default 0)', '0')
|
|
687
|
+
.option('--no-interleave', 'run all base runs, then all candidate runs (default: interleaved per task in seeded random order, so provider drift hits both arms)')
|
|
688
|
+
.option('--target-effect <pts>', 'run planning: the aggregate effect worth detecting, in score points (default 5)')
|
|
689
|
+
.option('--power <p>', 'run planning: probability of detecting --target-effect (default 0.8)')
|
|
652
690
|
.action(async (opts) => {
|
|
653
691
|
const globalOpts = program.opts();
|
|
654
692
|
await autoResearchExperiment({ ...opts, json: globalOpts.json });
|
|
@@ -705,6 +743,20 @@ autoresearch
|
|
|
705
743
|
.option('--judge-rubric <text>', 'rubric for --require-judge (default: a generic code-quality rubric)')
|
|
706
744
|
.option('--judge-rubric-file <path>', 'read the judge rubric from a file')
|
|
707
745
|
.option('--judge-model <id>', 'model for the judge (default: --model, else DEFAULT_MODEL_ID)')
|
|
746
|
+
.option('--protect <globs>', 'comma-separated repo-relative globs no candidate may touch (verifier scripts, graders, benches) — a candidate that does is refused unbenched; the task-sets\' in-repo paths are always protected')
|
|
747
|
+
.option('--editable <globs>', 'comma-separated globs: every path a candidate changes must match one (else refused unbenched)')
|
|
748
|
+
.option('--no-confirm', 'skip the confirmation re-bench of each round\'s selected winner on fresh train runs (on by default)')
|
|
749
|
+
.option('--confirm-mode <mode>', 'how the confirmation run is judged: pooled (default — screening + confirmation p-values combined at the gate\'s bar, fresh effect > 0) | direction (fresh effect > 0, CI low > -margin) | strict (must pass the full gate again)', 'pooled')
|
|
750
|
+
.option('--confirm-loss-margin <pts>', 'direction mode: largest tolerated loss at the CI low end, in score points (default 2.5)')
|
|
751
|
+
.option('--target-effect <pts>', 'run planning: the aggregate effect worth detecting, in score points (default 5) — the loop warns when underpowered')
|
|
752
|
+
.option('--power <p>', 'run planning: probability of detecting --target-effect (default 0.8)')
|
|
753
|
+
.option('--auto-runs', 'raise runs per arm for later rounds to what --target-effect needs (capped by --max-runs)')
|
|
754
|
+
.option('--max-runs <n>', 'cap for --auto-runs', '12')
|
|
755
|
+
.option('--guards <mode>', 'family regression guards: block (default) | warn | off — a candidate is blocked when one task family loses more than the margin with evidence, per step and as a running total from the round-0 base', 'block')
|
|
756
|
+
.option('--guard-margin <pts>', 'per-step family loss margin, score points (default 2)')
|
|
757
|
+
.option('--guard-total-margin <pts>', 'running-total family loss margin from the round-0 base, score points (default 5)')
|
|
758
|
+
.option('--approaches <list>', 'approaches rotated across arms, separated by | (entries may be "slug: text"); default: a built-in list when --width > 1')
|
|
759
|
+
.option('--no-approaches', 'give every arm the same prompt (no per-arm approach)')
|
|
708
760
|
.action(async (opts) => {
|
|
709
761
|
const globalOpts = program.opts();
|
|
710
762
|
await autoResearchLoop({ ...opts, json: globalOpts.json });
|
|
@@ -819,7 +871,7 @@ canon
|
|
|
819
871
|
canon
|
|
820
872
|
.command('sync')
|
|
821
873
|
.description('Copy changed native harness sessions into the store (secret-scrubbed), commit + push')
|
|
822
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
874
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
823
875
|
.option('--dry-run', 'report what would copy; write nothing')
|
|
824
876
|
.action(async (opts) => {
|
|
825
877
|
const globalOpts = program.opts();
|
|
@@ -828,7 +880,7 @@ canon
|
|
|
828
880
|
canon
|
|
829
881
|
.command('translate')
|
|
830
882
|
.description('Maintain the canonical line: /native → /canon + /projections (incremental, deterministic)')
|
|
831
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
883
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
832
884
|
.option('--dry-run', 'report what would translate; write nothing')
|
|
833
885
|
.action(async (opts) => {
|
|
834
886
|
const globalOpts = program.opts();
|
|
@@ -837,7 +889,7 @@ canon
|
|
|
837
889
|
canon
|
|
838
890
|
.command('list')
|
|
839
891
|
.description('List canon sessions (uuid, size, origin harness, recovered title)')
|
|
840
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
892
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
841
893
|
.option('--all', 'include sessions under 4KB')
|
|
842
894
|
.option('--project <id>', 'only sessions of one project (derived project↔session map)')
|
|
843
895
|
.action(async (opts) => {
|
|
@@ -847,7 +899,7 @@ canon
|
|
|
847
899
|
canon
|
|
848
900
|
.command('graph')
|
|
849
901
|
.description('Generate project-scoped knowledge graphs (§27l): /projects/<id>/graph.json, node-link + edge confidence')
|
|
850
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
902
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
851
903
|
.option('--project <id>', 'limit to one project')
|
|
852
904
|
.option('--merge-graph <path>', 'fold an external (graphify) node-link graph.json into the output')
|
|
853
905
|
.option('--no-touched', 'skip the session-content scan (session→file touched edges)')
|
|
@@ -859,7 +911,7 @@ canon
|
|
|
859
911
|
canon
|
|
860
912
|
.command('artifacts')
|
|
861
913
|
.description('Capture capability artifacts (skills/agents/mcp/plugins/plans/projects) into the store (§27p)')
|
|
862
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
914
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
863
915
|
.option('--dry-run', 'report what would capture; write nothing')
|
|
864
916
|
.action(async (opts) => {
|
|
865
917
|
const globalOpts = program.opts();
|
|
@@ -868,11 +920,11 @@ canon
|
|
|
868
920
|
canon
|
|
869
921
|
.command('tools')
|
|
870
922
|
.description('Observed tool inventory per harness + the cross-harness concept map (Phase E rung 1)')
|
|
871
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
923
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
872
924
|
.action(async (opts) => {
|
|
873
925
|
const globalOpts = program.opts();
|
|
874
|
-
const { deriveToolInventory, TOOL_CONCEPTS } = await import('@nexus-cortex/core');
|
|
875
|
-
const inv = await deriveToolInventory(opts.store ??
|
|
926
|
+
const { deriveToolInventory, TOOL_CONCEPTS, defaultCanonStore } = await import('@nexus-cortex/core');
|
|
927
|
+
const inv = await deriveToolInventory(opts.store ?? defaultCanonStore());
|
|
876
928
|
if (globalOpts.json) {
|
|
877
929
|
console.log(JSON.stringify({ inventory: inv, concepts: TOOL_CONCEPTS }, null, 2));
|
|
878
930
|
return;
|
|
@@ -886,7 +938,7 @@ canon
|
|
|
886
938
|
canon
|
|
887
939
|
.command('pull <session>')
|
|
888
940
|
.description('Materialize a canon session into a native session dir (pull = rehydrate; branch, never clobber)')
|
|
889
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
941
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
890
942
|
.option('--to <dir>', 'destination dir (default ./.cortex/sessions)')
|
|
891
943
|
.option('--force', 'overwrite an existing local session file')
|
|
892
944
|
.option('--target <harness>', 'harness for the tool-compatibility report (default nexus-cortex)')
|
|
@@ -901,7 +953,7 @@ canon
|
|
|
901
953
|
canon
|
|
902
954
|
.command('watch')
|
|
903
955
|
.description('Watch harness session roots and auto-sync on change (reactive canon capture for external harnesses)')
|
|
904
|
-
.option('--store <dir>', 'canon store working clone (default /tmp/canon-store)')
|
|
956
|
+
.option('--store <dir>', 'canon store working clone (default: $CANON_STORE, else an existing /tmp/canon-store, else ~/.cache/nexus-canon/store)')
|
|
905
957
|
.option('--debounce <ms>', 'debounce window before a sync fires (default 60000)', (v) => parseInt(v, 10))
|
|
906
958
|
.option('--dry-run', 'refresh the local manifest only; do not commit/push')
|
|
907
959
|
.action(async (opts) => {
|