@cybedefend/vibedefend 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -2
- package/dist/api/gateway-request.js +49 -0
- package/dist/api/gateway-request.js.map +1 -0
- package/dist/api/projects.js +67 -0
- package/dist/api/projects.js.map +1 -1
- package/dist/api/repository-link.js +157 -0
- package/dist/api/repository-link.js.map +1 -0
- package/dist/auth/auth-store.js +107 -25
- package/dist/auth/auth-store.js.map +1 -1
- package/dist/auth/auth.js +21 -0
- package/dist/auth/auth.js.map +1 -1
- package/dist/clients/cursor.js +5 -1
- package/dist/clients/cursor.js.map +1 -1
- package/dist/clients/vscode.js +38 -29
- package/dist/clients/vscode.js.map +1 -1
- package/dist/commands/mcp/allow.js +219 -0
- package/dist/commands/mcp/allow.js.map +1 -0
- package/dist/commands/mcp/connect.js +337 -0
- package/dist/commands/mcp/connect.js.map +1 -0
- package/dist/commands/mcp/index.js +170 -0
- package/dist/commands/mcp/index.js.map +1 -0
- package/dist/commands/mcp/proxy.js +264 -0
- package/dist/commands/mcp/proxy.js.map +1 -0
- package/dist/commands/mcp/scan.js +349 -0
- package/dist/commands/mcp/scan.js.map +1 -0
- package/dist/commands/mcp/sync.js +215 -0
- package/dist/commands/mcp/sync.js.map +1 -0
- package/dist/config.js +6 -0
- package/dist/config.js.map +1 -1
- package/dist/diagnostics.js +78 -12
- package/dist/diagnostics.js.map +1 -1
- package/dist/doctor.js +19 -0
- package/dist/doctor.js.map +1 -1
- package/dist/guards-evaluator/analysis-types.js +27 -0
- package/dist/guards-evaluator/analysis-types.js.map +1 -0
- package/dist/guards-evaluator/command-analysis.js +572 -0
- package/dist/guards-evaluator/command-analysis.js.map +1 -0
- package/dist/guards-evaluator/command-view.js +586 -0
- package/dist/guards-evaluator/command-view.js.map +1 -0
- package/dist/guards-evaluator/env.js +11 -0
- package/dist/guards-evaluator/env.js.map +1 -0
- package/dist/guards-evaluator/evaluate.js +91 -41
- package/dist/guards-evaluator/evaluate.js.map +1 -1
- package/dist/guards-evaluator/index.js +2 -1
- package/dist/guards-evaluator/index.js.map +1 -1
- package/dist/guards-evaluator/inline-code.js +259 -0
- package/dist/guards-evaluator/inline-code.js.map +1 -0
- package/dist/guards-evaluator/normalize.js +716 -0
- package/dist/guards-evaluator/normalize.js.map +1 -0
- package/dist/guards-evaluator/preprocess.js +13 -5
- package/dist/guards-evaluator/preprocess.js.map +1 -1
- package/dist/guards-evaluator/redact.js +19 -0
- package/dist/guards-evaluator/redact.js.map +1 -1
- package/dist/guards-evaluator/regex.js +25 -3
- package/dist/guards-evaluator/regex.js.map +1 -1
- package/dist/guards-evaluator/safe-commands.js +155 -0
- package/dist/guards-evaluator/safe-commands.js.map +1 -0
- package/dist/guards-evaluator/triage.js +315 -0
- package/dist/guards-evaluator/triage.js.map +1 -0
- package/dist/hook-runner.js +24679 -5079
- package/dist/hooks/install.js +38 -0
- package/dist/hooks/install.js.map +1 -1
- package/dist/hooks/runtime/config.js +38 -0
- package/dist/hooks/runtime/config.js.map +1 -1
- package/dist/hooks/runtime/emit.js +94 -61
- package/dist/hooks/runtime/emit.js.map +1 -1
- package/dist/hooks/runtime/fetch-rules.js +22 -7
- package/dist/hooks/runtime/fetch-rules.js.map +1 -1
- package/dist/hooks/runtime/gateway-http-error.js +34 -0
- package/dist/hooks/runtime/gateway-http-error.js.map +1 -0
- package/dist/hooks/runtime/guard-rules-cache.js +139 -17
- package/dist/hooks/runtime/guard-rules-cache.js.map +1 -1
- package/dist/hooks/runtime/guard-violations-buffer.js +321 -48
- package/dist/hooks/runtime/guard-violations-buffer.js.map +1 -1
- package/dist/hooks/runtime/judge-cache.js +6 -0
- package/dist/hooks/runtime/judge-cache.js.map +1 -1
- package/dist/hooks/runtime/judge-triage.js +193 -0
- package/dist/hooks/runtime/judge-triage.js.map +1 -0
- package/dist/hooks/runtime/judge.js +7 -1
- package/dist/hooks/runtime/judge.js.map +1 -1
- package/dist/hooks/runtime/pre-compact.js +12 -6
- package/dist/hooks/runtime/pre-compact.js.map +1 -1
- package/dist/hooks/runtime/resolve.js +90 -8
- package/dist/hooks/runtime/resolve.js.map +1 -1
- package/dist/hooks/runtime/retry-policy.js +57 -0
- package/dist/hooks/runtime/retry-policy.js.map +1 -0
- package/dist/hooks/runtime/review-sessions.js +74 -0
- package/dist/hooks/runtime/review-sessions.js.map +1 -0
- package/dist/hooks/runtime/script-resolve.js +695 -0
- package/dist/hooks/runtime/script-resolve.js.map +1 -0
- package/dist/hooks/runtime/session-activation.js +5 -1
- package/dist/hooks/runtime/session-activation.js.map +1 -1
- package/dist/hooks/runtime/session-review.js +163 -45
- package/dist/hooks/runtime/session-review.js.map +1 -1
- package/dist/hooks/runtime/session-start.js +2 -1
- package/dist/hooks/runtime/session-start.js.map +1 -1
- package/dist/hooks/runtime/session-writes.js +232 -0
- package/dist/hooks/runtime/session-writes.js.map +1 -0
- package/dist/hooks/runtime/sniff.js +26 -7
- package/dist/hooks/runtime/sniff.js.map +1 -1
- package/dist/hooks/runtime/target-resolve.js +336 -0
- package/dist/hooks/runtime/target-resolve.js.map +1 -0
- package/dist/hooks/runtime/unmapped-tools.js +93 -0
- package/dist/hooks/runtime/unmapped-tools.js.map +1 -0
- package/dist/hooks/runtime/usage-block.js +4 -0
- package/dist/hooks/runtime/usage-block.js.map +1 -1
- package/dist/hooks/runtime/user-prompt-submit.js +2 -1
- package/dist/hooks/runtime/user-prompt-submit.js.map +1 -1
- package/dist/hooks/runtime/wire-text.js +41 -0
- package/dist/hooks/runtime/wire-text.js.map +1 -0
- package/dist/hooks/runtime/work-dir.js +84 -0
- package/dist/hooks/runtime/work-dir.js.map +1 -0
- package/dist/index.js +45 -12
- package/dist/index.js.map +1 -1
- package/dist/install.js +174 -11
- package/dist/install.js.map +1 -1
- package/dist/link.js +74 -48
- package/dist/link.js.map +1 -1
- package/dist/login.js +77 -11
- package/dist/login.js.map +1 -1
- package/dist/mcp/auth/agent-sign-ins.js +174 -0
- package/dist/mcp/auth/agent-sign-ins.js.map +1 -0
- package/dist/mcp/auth/callback.js +200 -0
- package/dist/mcp/auth/callback.js.map +1 -0
- package/dist/mcp/auth/connect.js +392 -0
- package/dist/mcp/auth/connect.js.map +1 -0
- package/dist/mcp/auth/discovery.js +399 -0
- package/dist/mcp/auth/discovery.js.map +1 -0
- package/dist/mcp/auth/oauth.js +326 -0
- package/dist/mcp/auth/oauth.js.map +1 -0
- package/dist/mcp/auth/probe.js +128 -0
- package/dist/mcp/auth/probe.js.map +1 -0
- package/dist/mcp/auth/secrets.js +446 -0
- package/dist/mcp/auth/secrets.js.map +1 -0
- package/dist/mcp/auth/store.js +260 -0
- package/dist/mcp/auth/store.js.map +1 -0
- package/dist/mcp/auth/tokenSource.js +55 -0
- package/dist/mcp/auth/tokenSource.js.map +1 -0
- package/dist/mcp/config/atomicWrite.js +98 -0
- package/dist/mcp/config/atomicWrite.js.map +1 -0
- package/dist/mcp/config/clients.js +171 -0
- package/dist/mcp/config/clients.js.map +1 -0
- package/dist/mcp/config/cybedefend-servers.js +48 -0
- package/dist/mcp/config/cybedefend-servers.js.map +1 -0
- package/dist/mcp/config/discover.js +114 -0
- package/dist/mcp/config/discover.js.map +1 -0
- package/dist/mcp/config/hook.js +123 -0
- package/dist/mcp/config/hook.js.map +1 -0
- package/dist/mcp/config/index.js +11 -0
- package/dist/mcp/config/index.js.map +1 -0
- package/dist/mcp/config/install.js +132 -0
- package/dist/mcp/config/install.js.map +1 -0
- package/dist/mcp/config/installed.js +37 -0
- package/dist/mcp/config/installed.js.map +1 -0
- package/dist/mcp/config/jsonEdit.js +119 -0
- package/dist/mcp/config/jsonEdit.js.map +1 -0
- package/dist/mcp/config/lock.js +102 -0
- package/dist/mcp/config/lock.js.map +1 -0
- package/dist/mcp/config/proxyBinary.js +211 -0
- package/dist/mcp/config/proxyBinary.js.map +1 -0
- package/dist/mcp/config/rewrite.js +388 -0
- package/dist/mcp/config/rewrite.js.map +1 -0
- package/dist/mcp/config/types.js +34 -0
- package/dist/mcp/config/types.js.map +1 -0
- package/dist/mcp/proxy/audit.js +83 -0
- package/dist/mcp/proxy/audit.js.map +1 -0
- package/dist/mcp/proxy/authInterceptor.js +119 -0
- package/dist/mcp/proxy/authInterceptor.js.map +1 -0
- package/dist/mcp/proxy/expand.js +93 -0
- package/dist/mcp/proxy/expand.js.map +1 -0
- package/dist/mcp/proxy/inject.js +397 -0
- package/dist/mcp/proxy/inject.js.map +1 -0
- package/dist/mcp/proxy/intercept.js +37 -0
- package/dist/mcp/proxy/intercept.js.map +1 -0
- package/dist/mcp/proxy/jsonrpc.js +153 -0
- package/dist/mcp/proxy/jsonrpc.js.map +1 -0
- package/dist/mcp/proxy/log.js +109 -0
- package/dist/mcp/proxy/log.js.map +1 -0
- package/dist/mcp/proxy/paths.js +53 -0
- package/dist/mcp/proxy/paths.js.map +1 -0
- package/dist/mcp/proxy/proxy.js +510 -0
- package/dist/mcp/proxy/proxy.js.map +1 -0
- package/dist/mcp/proxy/spec.js +203 -0
- package/dist/mcp/proxy/spec.js.map +1 -0
- package/dist/mcp/proxy/sse.js +77 -0
- package/dist/mcp/proxy/sse.js.map +1 -0
- package/dist/mcp/proxy/upstream.js +2 -0
- package/dist/mcp/proxy/upstream.js.map +1 -0
- package/dist/mcp/proxy/upstreamHttp.js +499 -0
- package/dist/mcp/proxy/upstreamHttp.js.map +1 -0
- package/dist/mcp/proxy/upstreamStdio.js +188 -0
- package/dist/mcp/proxy/upstreamStdio.js.map +1 -0
- package/dist/mcp/proxy/upstreams.js +143 -0
- package/dist/mcp/proxy/upstreams.js.map +1 -0
- package/dist/mcp/proxy/verifyInterceptor.js +559 -0
- package/dist/mcp/proxy/verifyInterceptor.js.map +1 -0
- package/dist/mcp/proxy/windowsCommand.js +99 -0
- package/dist/mcp/proxy/windowsCommand.js.map +1 -0
- package/dist/mcp/scan/args.js +228 -0
- package/dist/mcp/scan/args.js.map +1 -0
- package/dist/mcp/scan/results.js +253 -0
- package/dist/mcp/scan/results.js.map +1 -0
- package/dist/mcp/scan/types.js +40 -0
- package/dist/mcp/scan/types.js.map +1 -0
- package/dist/mcp/verify/api.js +475 -0
- package/dist/mcp/verify/api.js.map +1 -0
- package/dist/mcp/verify/backend.js +143 -0
- package/dist/mcp/verify/backend.js.map +1 -0
- package/dist/mcp/verify/cache.js +182 -0
- package/dist/mcp/verify/cache.js.map +1 -0
- package/dist/mcp/verify/contract-errors.js +198 -0
- package/dist/mcp/verify/contract-errors.js.map +1 -0
- package/dist/mcp/verify/digest.js +91 -0
- package/dist/mcp/verify/digest.js.map +1 -0
- package/dist/mcp/verify/factory.js +56 -0
- package/dist/mcp/verify/factory.js.map +1 -0
- package/dist/mcp/verify/identity.js +173 -0
- package/dist/mcp/verify/identity.js.map +1 -0
- package/dist/mcp/verify/policy-store.js +63 -0
- package/dist/mcp/verify/policy-store.js.map +1 -0
- package/dist/mcp/verify/policy.js +158 -0
- package/dist/mcp/verify/policy.js.map +1 -0
- package/dist/mcp/verify/pool.js +27 -0
- package/dist/mcp/verify/pool.js.map +1 -0
- package/dist/mcp/verify/token-refresh.js +44 -0
- package/dist/mcp/verify/token-refresh.js.map +1 -0
- package/dist/mcp/verify/token.js +67 -0
- package/dist/mcp/verify/token.js.map +1 -0
- package/dist/mcp/verify/verifier.js +1009 -0
- package/dist/mcp/verify/verifier.js.map +1 -0
- package/dist/org-gate.js +1 -1
- package/dist/org-gate.js.map +1 -1
- package/dist/org.js +146 -0
- package/dist/org.js.map +1 -0
- package/dist/project-create.js +129 -0
- package/dist/project-create.js.map +1 -0
- package/dist/prompts.js +21 -0
- package/dist/prompts.js.map +1 -1
- package/dist/re2.wasm +0 -0
- package/dist/status.js +61 -0
- package/dist/status.js.map +1 -1
- package/dist/uninstall.js +49 -4
- package/dist/uninstall.js.map +1 -1
- package/dist/utils.js +62 -6
- package/dist/utils.js.map +1 -1
- package/package.json +10 -3
package/dist/install.js
CHANGED
|
@@ -12,8 +12,11 @@ import { hasStoredAuth as hasStoredAuthImpl } from './auth/auth.js';
|
|
|
12
12
|
import { ensureOrganization as ensureOrganizationImpl } from './org-gate.js';
|
|
13
13
|
import { askClientSelection as askClientSelectionImpl, askHookConfig as askHookConfigImpl, askRegion as askRegionImpl, } from './prompts.js';
|
|
14
14
|
import { stampInstalledVersion } from './self-update.js';
|
|
15
|
-
import { detectPlatform, home, isUserCancellation, log } from './utils.js';
|
|
15
|
+
import { detectPlatform, ensureGitignoreEntry, findGitRoot, home, isUserCancellation, log, } from './utils.js';
|
|
16
|
+
import { existsSync } from 'node:fs';
|
|
17
|
+
import { join } from 'node:path';
|
|
16
18
|
import { pkg } from './version.js';
|
|
19
|
+
import { AGENT_SIGN_IN_LABELS } from './mcp/auth/agent-sign-ins.js';
|
|
17
20
|
/**
|
|
18
21
|
* Top-level installer.
|
|
19
22
|
*
|
|
@@ -104,11 +107,10 @@ export async function runInstall(deps = {}, opts = {}) {
|
|
|
104
107
|
log.hint('Your browser will open for a one-time sign-in (instant if you already have a session).');
|
|
105
108
|
// Force the actual OAuth here. We only reach this branch when VibeDefend
|
|
106
109
|
// has NO stored bundle of its OWN (hasStoredAuth === false), or the user
|
|
107
|
-
// asked for it (--force).
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
// hold an MCP token, and the org-gate never gets a fresh VibeDefend token.
|
|
110
|
+
// asked for it (--force). `runLogin` now asks the same `hasStoredAuth`
|
|
111
|
+
// question (never the agent keychain), so `force` is only there to honour
|
|
112
|
+
// the user's explicit --force; a token that merely belongs to Claude Code
|
|
113
|
+
// / Codex can no longer short-circuit the browser step on either side.
|
|
112
114
|
const loginOk = await loginWithOneRetry({
|
|
113
115
|
mcpName: region.mcpName,
|
|
114
116
|
apiBase: region.apiBase,
|
|
@@ -131,13 +133,17 @@ export async function runInstall(deps = {}, opts = {}) {
|
|
|
131
133
|
dashboardUrl: deriveDashboardUrl(region),
|
|
132
134
|
mcpName: region.mcpName,
|
|
133
135
|
});
|
|
136
|
+
// ── ③b Repo hygiene ─────────────────────────────────────────────────────────
|
|
137
|
+
// BACK-174 — when the installer runs inside an already-linked checkout,
|
|
138
|
+
// make sure the link stays out of the repository.
|
|
139
|
+
ensureLinkIgnored(deps.cwd ?? process.cwd());
|
|
134
140
|
// ── ④ Agents + hook config ──────────────────────────────────────────────────
|
|
135
141
|
const selectedClients = await askClientSelection();
|
|
136
142
|
if (selectedClients.length === 0) {
|
|
137
143
|
log.info('No agents selected. The MCP URL is printed above — add it to your client manually if needed. ' +
|
|
138
144
|
'The doctrine arrives via Server.instructions on every supported client.');
|
|
139
145
|
stampInstalledVersion(home, pkg.version);
|
|
140
|
-
printDoneFooter([], region);
|
|
146
|
+
printDoneFooter([], region, null);
|
|
141
147
|
return;
|
|
142
148
|
}
|
|
143
149
|
const hooks = await askHookConfig();
|
|
@@ -214,10 +220,25 @@ export async function runInstall(deps = {}, opts = {}) {
|
|
|
214
220
|
}
|
|
215
221
|
stampInstalledVersion(home, pkg.version);
|
|
216
222
|
log.hint(`Version stamp: ~/.cybedefend/version (v${pkg.version})`);
|
|
223
|
+
// Put the MCP proxy in front of whatever MCP servers this machine already
|
|
224
|
+
// has — asked, yes by default — then offer to sign in to the HTTP ones it
|
|
225
|
+
// now reaches. Wrapping is the same operation as `vibedefend sync`; the
|
|
226
|
+
// sign-in is `vibedefend connect --all`. A failure is reported and never
|
|
227
|
+
// fatal: the rest of the install is done and useful without it.
|
|
228
|
+
await setUpMcpProxy(await defaultMcpProxyDeps(confirm));
|
|
217
229
|
// NOTE: the pre-1.4 end-of-install auto-login used to live here. Login now
|
|
218
230
|
// happens FIRST (step ② above) — by this point the user is guaranteed to be
|
|
219
231
|
// authenticated, so there is nothing left to do.
|
|
220
|
-
printDoneFooter(installedLabels, region, notSetUpLabels);
|
|
232
|
+
printDoneFooter(installedLabels, region, hooks.activation, notSetUpLabels);
|
|
233
|
+
}
|
|
234
|
+
/** Add `.cybedefend/` to the repo-root `.gitignore` when `cwd` carries a project link. */
|
|
235
|
+
function ensureLinkIgnored(cwd) {
|
|
236
|
+
if (!existsSync(join(cwd, '.cybedefend', 'config.json')))
|
|
237
|
+
return;
|
|
238
|
+
const gitRoot = findGitRoot(cwd);
|
|
239
|
+
if (gitRoot !== null && ensureGitignoreEntry(gitRoot, '.cybedefend/')) {
|
|
240
|
+
log.hint(`Added \`.cybedefend/\` to ${join(gitRoot, '.gitignore')}`);
|
|
241
|
+
}
|
|
221
242
|
}
|
|
222
243
|
/**
|
|
223
244
|
* After a region switch, re-point the MCP server of the agents left out of
|
|
@@ -258,6 +279,140 @@ function repointUnselectedClients(selected, region) {
|
|
|
258
279
|
}
|
|
259
280
|
}
|
|
260
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* The install's MCP proxy step. It used to wrap every MCP server without
|
|
284
|
+
* asking and leave the HTTP ones unauthorized (`needs-auth` until one
|
|
285
|
+
* `vibedefend connect` per server). Now: put the proxy in front (or keep it),
|
|
286
|
+
* yes by default; take over, without asking, the sign-ins Claude Code or Codex
|
|
287
|
+
* already hold for those servers; then offer the browser, yes by default, for
|
|
288
|
+
* the ones left. Declining an installed proxy takes it back out.
|
|
289
|
+
*/
|
|
290
|
+
export async function setUpMcpProxy(deps) {
|
|
291
|
+
const installed = deps.isProxyInstalled();
|
|
292
|
+
const enable = await deps.confirm({
|
|
293
|
+
message: `${installed ? 'Keep' : 'Put'} the VibeDefend proxy in front of your MCP servers? ${kleur.dim('(recommended — each tool is checked against your organization policy before your agent calls it)')}`,
|
|
294
|
+
default: true,
|
|
295
|
+
});
|
|
296
|
+
if (!enable) {
|
|
297
|
+
if (installed) {
|
|
298
|
+
await deps.unwrap();
|
|
299
|
+
return 'removed';
|
|
300
|
+
}
|
|
301
|
+
log.hint('MCP proxy not enabled — `vibedefend sync` puts it in front of your MCP servers later.');
|
|
302
|
+
return 'declined';
|
|
303
|
+
}
|
|
304
|
+
const { httpServers } = await deps.wrap();
|
|
305
|
+
if (httpServers === 0)
|
|
306
|
+
return 'wrapped';
|
|
307
|
+
// The agents' sign-ins first: nothing to ask, nothing opens.
|
|
308
|
+
let left = httpServers;
|
|
309
|
+
let names = [];
|
|
310
|
+
try {
|
|
311
|
+
const { reused, remaining } = await deps.takeOverSignIns();
|
|
312
|
+
if (reused.length > 0) {
|
|
313
|
+
log.ok(`Signed in with the sign-ins your agents already hold: ${reused
|
|
314
|
+
.map((server) => `${server.name} (${AGENT_SIGN_IN_LABELS[server.from]})`)
|
|
315
|
+
.join(', ')}`);
|
|
316
|
+
}
|
|
317
|
+
left = remaining.length;
|
|
318
|
+
names = remaining;
|
|
319
|
+
}
|
|
320
|
+
catch {
|
|
321
|
+
// Reading the agents' stores failed: the browser covers every server.
|
|
322
|
+
}
|
|
323
|
+
if (left === 0)
|
|
324
|
+
return 'wrapped';
|
|
325
|
+
const listed = names.length > 0 && names.length <= 5 ? ` (${names.join(', ')})` : '';
|
|
326
|
+
const signIn = await deps.confirm({
|
|
327
|
+
message: `Sign in in your browser to the ${left} HTTP MCP server${left === 1 ? '' : 's'} still without a sign-in${listed}? ${kleur.dim('(your browser opens once for each)')}`,
|
|
328
|
+
default: true,
|
|
329
|
+
});
|
|
330
|
+
if (signIn)
|
|
331
|
+
await deps.connectAll();
|
|
332
|
+
else
|
|
333
|
+
log.hint('Sign in later with `vibedefend connect --all`, or `vibedefend connect <name>` for one server.');
|
|
334
|
+
return 'wrapped';
|
|
335
|
+
}
|
|
336
|
+
/** The proxy step's real dependencies, its modules imported only when it runs. */
|
|
337
|
+
async function defaultMcpProxyDeps(confirm) {
|
|
338
|
+
const [{ isProxyInstalled }, { httpUpstreams }] = await Promise.all([
|
|
339
|
+
import('./mcp/config/installed.js'),
|
|
340
|
+
import('./mcp/proxy/upstreams.js'),
|
|
341
|
+
]);
|
|
342
|
+
return {
|
|
343
|
+
confirm,
|
|
344
|
+
isProxyInstalled: () => isProxyInstalled(process.env),
|
|
345
|
+
wrap: async () => {
|
|
346
|
+
await wrapMcpServersBehindTheProxy();
|
|
347
|
+
// One server can sit in several clients' configs: count servers, not entries.
|
|
348
|
+
const urls = httpUpstreams(process.env).map((entry) => (entry.url ?? '').replace(/\/+$/, ''));
|
|
349
|
+
return { httpServers: new Set(urls).size };
|
|
350
|
+
},
|
|
351
|
+
unwrap: async () => {
|
|
352
|
+
try {
|
|
353
|
+
const [{ uninstallProxy }, { withSyncLock }] = await Promise.all([
|
|
354
|
+
import('./mcp/config/install.js'),
|
|
355
|
+
import('./mcp/config/lock.js'),
|
|
356
|
+
]);
|
|
357
|
+
const outcome = await withSyncLock(() => uninstallProxy({ env: process.env, backup: true }));
|
|
358
|
+
if (outcome)
|
|
359
|
+
log.ok('The VibeDefend proxy is out: your MCP servers are back to their original entries.');
|
|
360
|
+
else
|
|
361
|
+
log.warn('Another VibeDefend process is rewriting your MCP configs — run `vibedefend unwrap` again in a moment.');
|
|
362
|
+
}
|
|
363
|
+
catch (err) {
|
|
364
|
+
log.warn(`Could not take the proxy back out: ${err instanceof Error ? err.message : String(err)}. Run \`vibedefend unwrap\`.`);
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
takeOverSignIns: async () => {
|
|
368
|
+
const { takeOverAgentSignIns } = await import('./commands/mcp/connect.js');
|
|
369
|
+
return takeOverAgentSignIns({ env: process.env, version: pkg.version });
|
|
370
|
+
},
|
|
371
|
+
connectAll: async () => {
|
|
372
|
+
const { runMcpConnectCommand } = await import('./commands/mcp/connect.js');
|
|
373
|
+
await runMcpConnectCommand({ all: true }, { env: process.env, version: pkg.version });
|
|
374
|
+
},
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* The Phase 5 step of `docs/PLAN-mcp-proxy.md`, called at the end of the
|
|
379
|
+
* install so that a developer who has just run `vibedefend install` has
|
|
380
|
+
* nothing left to do.
|
|
381
|
+
*
|
|
382
|
+
* The MCP modules are imported lazily: `install` is the hot path of a CLI
|
|
383
|
+
* that people run once, and pulling the proxy's config layer in at module
|
|
384
|
+
* load would cost every other command too.
|
|
385
|
+
*/
|
|
386
|
+
async function wrapMcpServersBehindTheProxy() {
|
|
387
|
+
try {
|
|
388
|
+
const [{ installProxy, installRefusalMessage }, { withSyncLock }] = await Promise.all([
|
|
389
|
+
import('./mcp/config/install.js'),
|
|
390
|
+
import('./mcp/config/lock.js'),
|
|
391
|
+
]);
|
|
392
|
+
const outcome = await withSyncLock(() => installProxy({ env: process.env, backup: true }));
|
|
393
|
+
if (!outcome)
|
|
394
|
+
return;
|
|
395
|
+
if (outcome.refused) {
|
|
396
|
+
// Nothing was written. The message names the fix; the rest of the
|
|
397
|
+
// install is done and useful without this step.
|
|
398
|
+
log.warn(installRefusalMessage(outcome.refused, 'vibedefend install'));
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
const plan = outcome.plan;
|
|
402
|
+
const wrapped = plan.changes.filter((change) => change.kind === 'wrap').length;
|
|
403
|
+
if (wrapped > 0) {
|
|
404
|
+
log.ok(`${wrapped} MCP server${wrapped === 1 ? '' : 's'} now run behind the VibeDefend proxy. ` +
|
|
405
|
+
'Run `vibedefend scan` to see them, `vibedefend unwrap` to undo it.');
|
|
406
|
+
}
|
|
407
|
+
for (const problem of plan.problems) {
|
|
408
|
+
log.warn(`Left ${problem.location.file} alone: ${problem.problem}.`);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
catch (err) {
|
|
412
|
+
log.warn(`Could not put the MCP proxy in front of your servers: ${err instanceof Error ? err.message : String(err)}. ` +
|
|
413
|
+
'Run `vibedefend sync` to try again.');
|
|
414
|
+
}
|
|
415
|
+
}
|
|
261
416
|
/**
|
|
262
417
|
* Run the login flow with exactly one confirm-gated retry.
|
|
263
418
|
* Returns true when a login attempt succeeded, false when the user declined
|
|
@@ -300,7 +455,7 @@ function banner() {
|
|
|
300
455
|
console.log(kleur.dim(' Sets up the MCP server, hooks, and project link.'));
|
|
301
456
|
console.log();
|
|
302
457
|
}
|
|
303
|
-
function printDoneFooter(installedLabels, region, notSetUpLabels = []) {
|
|
458
|
+
function printDoneFooter(installedLabels, region, activation, notSetUpLabels = []) {
|
|
304
459
|
console.log();
|
|
305
460
|
log.ok('Install complete.');
|
|
306
461
|
console.log();
|
|
@@ -313,10 +468,17 @@ function printDoneFooter(installedLabels, region, notSetUpLabels = []) {
|
|
|
313
468
|
log.warn(`Not set up: ${notSetUpLabels.join(', ')} — see the warning above, then run \`vibedefend install\` again.`);
|
|
314
469
|
console.log();
|
|
315
470
|
}
|
|
471
|
+
const optIn = activation === 'opt-in';
|
|
316
472
|
console.log(kleur.bold('Next steps:'));
|
|
317
473
|
console.log(` ${kleur.cyan('1.')} Open your IDE in your repo — you are already signed in, so the MCP tools work right away.`);
|
|
318
|
-
|
|
319
|
-
`
|
|
474
|
+
if (optIn) {
|
|
475
|
+
console.log(` ${kleur.cyan('2.')} Activation is ${kleur.bold('opt-in')}: VibeDefend stays off until you link a repo ` +
|
|
476
|
+
`(${kleur.dim('`vibedefend link`')} in each repo you want covered).`);
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
console.log(` ${kleur.cyan('2.')} Repos imported from GitHub/GitLab are matched to their CybeDefend project ` +
|
|
480
|
+
`automatically via the git origin — nothing to do.`);
|
|
481
|
+
}
|
|
320
482
|
console.log(` ${kleur.cyan('3.')} For any other repo, link it once: ${kleur.dim('`vibedefend link`')} ` +
|
|
321
483
|
`(or ${kleur.dim('`npx -y @cybedefend/vibedefend@latest link`')}).`);
|
|
322
484
|
console.log(kleur.dim(' A `.cybedefend/config.json` with { "projectId": "<uuid>" } remains a supported override.'));
|
|
@@ -327,6 +489,7 @@ function printDoneFooter(installedLabels, region, notSetUpLabels = []) {
|
|
|
327
489
|
console.log(kleur.dim(' CYBEDEFEND_AUTO_PROPOSE — 1 = auto, 0 = ask user'));
|
|
328
490
|
console.log(kleur.dim(' CYBEDEFEND_NON_BLOCKING — 1 = no Accept/Reject prompts (autonomous agents), 0 = interactive'));
|
|
329
491
|
console.log(kleur.dim(' CYBEDEFEND_PROJECT_ID — override .cybedefend/config.json'));
|
|
492
|
+
console.log(kleur.dim(' CYBEDEFEND_ACTIVATION — auto | opt-in (override the install-time choice)'));
|
|
330
493
|
console.log();
|
|
331
494
|
}
|
|
332
495
|
//# sourceMappingURL=install.js.map
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/link.js
CHANGED
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* Writes `<path>/.cybedefend/config.json` with the resolved `projectId`,
|
|
5
5
|
* MERGING into any existing file (so a hand-authored `apiBase` override
|
|
6
6
|
* survives — but ONLY when its origin is one the user trusts; see
|
|
7
|
-
* `hooks/runtime/trusted-api-base.ts`. The file
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* `hooks/runtime/trusted-api-base.ts`. The file MAY be committed — `link`
|
|
8
|
+
* adds `.cybedefend/` to `.gitignore` since BACK-174, but nothing stops a
|
|
9
|
+
* repo author from force-adding it — so an `apiBase` found there may have
|
|
10
|
+
* been authored by whoever published the repo). No secret is ever written —
|
|
11
|
+
* the config only ever carries the project id (and whatever keys were already
|
|
12
|
+
* there).
|
|
11
13
|
*
|
|
12
14
|
* Flow (spec §2.2):
|
|
13
15
|
* 1. Region — from `~/.cybedefend/runtime-config.json` when present,
|
|
@@ -18,7 +20,8 @@
|
|
|
18
20
|
* mcpName, run the browser PKCE login. A failed login aborts.
|
|
19
21
|
* 3. Project — `--project <id>` (validated + confirmed), else auto-resolve
|
|
20
22
|
* from the git origin (exactly one gateway match → confirm),
|
|
21
|
-
* else an interactive organization → project picker
|
|
23
|
+
* else an interactive organization → project picker, which
|
|
24
|
+
* can also create a project (BACK-230, `project-create.ts`).
|
|
22
25
|
* 4. Path — prompt for the on-disk location (default: cwd), validating
|
|
23
26
|
* that the directory exists. An invalid `--path` falls through
|
|
24
27
|
* to the prompt.
|
|
@@ -38,13 +41,14 @@ import { hasStoredAuth as hasStoredAuthImpl } from './auth/auth.js';
|
|
|
38
41
|
import { REGIONS } from './config.js';
|
|
39
42
|
import { loadCustomRegions } from './custom-regions.js';
|
|
40
43
|
import { deriveLogtoEndpoint } from './endpoints.js';
|
|
41
|
-
import { getOriginRemote as getOriginRemoteImpl, parseRemoteUrl } from './git.js';
|
|
44
|
+
import { getOriginRemote as getOriginRemoteImpl, parseRemoteUrl, } from './git.js';
|
|
42
45
|
import { loadRuntimeConfig as loadRuntimeConfigImpl } from './hooks/runtime/config.js';
|
|
43
46
|
import { resolveTokenWithRefresh } from './hooks/runtime/resolve.js';
|
|
44
47
|
import { sanitizeRepoApiBase } from './hooks/runtime/trusted-api-base.js';
|
|
45
48
|
import { runLogin as runLoginImpl } from './login.js';
|
|
46
49
|
import { readJson, writeJson } from './json-file.js';
|
|
47
|
-
import {
|
|
50
|
+
import { CREATE_PROJECT_CHOICE, createProjectInteractively, } from './project-create.js';
|
|
51
|
+
import { ensureGitignoreEntry, findGitRoot, log } from './utils.js';
|
|
48
52
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
49
53
|
// ─── Small helpers ────────────────────────────────────────────────────────────
|
|
50
54
|
function defaultIsDirectory(p) {
|
|
@@ -185,37 +189,35 @@ async function resolveProject(opts, deps, region) {
|
|
|
185
189
|
const cwd = deps.cwd ?? process.cwd();
|
|
186
190
|
const getOrigin = deps.getOriginRemote ?? getOriginRemoteImpl;
|
|
187
191
|
const originUrl = getOrigin(cwd);
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
192
|
+
const remote = originUrl ? parseRemoteUrl(originUrl) : null;
|
|
193
|
+
if (remote?.provider) {
|
|
194
|
+
const resolveByRepo = deps.resolveProjectByRepository ?? resolveProjectByRepositoryImpl;
|
|
195
|
+
const matches = await resolveByRepo(region.apiBase, token, {
|
|
196
|
+
provider: remote.provider,
|
|
197
|
+
slug: remote.slug,
|
|
198
|
+
host: remote.host,
|
|
199
|
+
});
|
|
200
|
+
if (matches === null) {
|
|
201
|
+
// Network / gateway failure — not "no match". Tell the user why the
|
|
202
|
+
// auto-detection is being skipped instead of silently degrading.
|
|
203
|
+
log.warn('Could not check the gateway for this repository — falling back to manual selection.');
|
|
204
|
+
}
|
|
205
|
+
else if (matches.length === 1) {
|
|
206
|
+
const m = matches[0];
|
|
207
|
+
const ok = await confirm({
|
|
208
|
+
message: `Link this repo to "${m.projectName}" (${m.projectId})?`,
|
|
209
|
+
default: true,
|
|
196
210
|
});
|
|
197
|
-
if (
|
|
198
|
-
|
|
199
|
-
// auto-detection is being skipped instead of silently degrading.
|
|
200
|
-
log.warn('Could not check the gateway for this repository — falling back to manual selection.');
|
|
201
|
-
}
|
|
202
|
-
else if (matches.length === 1) {
|
|
203
|
-
const m = matches[0];
|
|
204
|
-
const ok = await confirm({
|
|
205
|
-
message: `Link this repo to « ${m.projectName} » (${m.projectId})?`,
|
|
206
|
-
default: true,
|
|
207
|
-
});
|
|
208
|
-
if (ok) {
|
|
209
|
-
return { projectId: m.projectId, projectName: m.projectName };
|
|
210
|
-
}
|
|
211
|
-
// Declined → fall through to manual selection below.
|
|
211
|
+
if (ok) {
|
|
212
|
+
return { projectId: m.projectId, projectName: m.projectName };
|
|
212
213
|
}
|
|
214
|
+
// Declined → fall through to manual selection below.
|
|
213
215
|
}
|
|
214
216
|
}
|
|
215
|
-
// 3. Interactive organization → project picker.
|
|
216
|
-
return selectProjectInteractively(deps, region, token);
|
|
217
|
+
// 3. Interactive organization → project picker (or creation).
|
|
218
|
+
return selectProjectInteractively(deps, region, token, remote, cwd);
|
|
217
219
|
}
|
|
218
|
-
async function selectProjectInteractively(deps, region, token) {
|
|
220
|
+
async function selectProjectInteractively(deps, region, token, remote, cwd) {
|
|
219
221
|
const listOrgs = deps.listOrganizations ?? listOrganizationsImpl;
|
|
220
222
|
const orgs = await listOrgs(region.apiBase, token);
|
|
221
223
|
if (!orgs) {
|
|
@@ -230,16 +232,24 @@ async function selectProjectInteractively(deps, region, token) {
|
|
|
230
232
|
message: 'Organization:',
|
|
231
233
|
choices: orgs.map((o) => ({ name: o.name, value: o.id })),
|
|
232
234
|
});
|
|
235
|
+
const createInOrg = () => createProjectInteractively({ apiBase: region.apiBase, token, organizationId: orgId, remote, cwd }, deps);
|
|
233
236
|
const listProjs = deps.listProjects ?? listProjectsImpl;
|
|
234
237
|
// Initial unfiltered fetch. This distinguishes "the organization has no
|
|
235
|
-
// projects at all" (
|
|
236
|
-
// from "this particular search matched nothing" (retry
|
|
238
|
+
// projects at all" (offer to create one — a search loop could never
|
|
239
|
+
// succeed) from "this particular search matched nothing" (retry).
|
|
237
240
|
const initial = await listProjs(region.apiBase, token, orgId, undefined);
|
|
238
241
|
if (!initial) {
|
|
239
242
|
throw new Error('Could not list projects (gateway unreachable).');
|
|
240
243
|
}
|
|
241
244
|
if (initial.length === 0) {
|
|
242
|
-
|
|
245
|
+
const create = await confirm({
|
|
246
|
+
message: 'This organization has no projects yet. Create one now?',
|
|
247
|
+
default: true,
|
|
248
|
+
});
|
|
249
|
+
if (!create) {
|
|
250
|
+
throw new Error('This organization has no projects yet — create one in the dashboard first.');
|
|
251
|
+
}
|
|
252
|
+
return createInOrg();
|
|
243
253
|
}
|
|
244
254
|
// ≥1 project exists — loop so an empty search result lets the user try
|
|
245
255
|
// another query. An empty search reuses the initial list (gateway caps the
|
|
@@ -261,12 +271,21 @@ async function selectProjectInteractively(deps, region, token) {
|
|
|
261
271
|
}
|
|
262
272
|
const picked = await select({
|
|
263
273
|
message: 'Project:',
|
|
264
|
-
choices:
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
274
|
+
choices: [
|
|
275
|
+
...projects.map((p) => ({
|
|
276
|
+
name: `${p.name} ${kleur.dim(`(${p.projectId})`)}`,
|
|
277
|
+
value: p,
|
|
278
|
+
short: p.name,
|
|
279
|
+
})),
|
|
280
|
+
{
|
|
281
|
+
name: kleur.green('+ Create a new project'),
|
|
282
|
+
value: CREATE_PROJECT_CHOICE,
|
|
283
|
+
short: 'New project',
|
|
284
|
+
},
|
|
285
|
+
],
|
|
269
286
|
});
|
|
287
|
+
if (picked === CREATE_PROJECT_CHOICE)
|
|
288
|
+
return createInOrg();
|
|
270
289
|
return { projectId: picked.projectId, projectName: picked.name };
|
|
271
290
|
}
|
|
272
291
|
}
|
|
@@ -286,13 +305,11 @@ async function resolveTargetPath(opts, deps) {
|
|
|
286
305
|
log.warn(`--path "${opts.path}" is not an existing directory.`);
|
|
287
306
|
}
|
|
288
307
|
const answer = await input({
|
|
289
|
-
message: '
|
|
308
|
+
message: 'Where is the project on this machine?',
|
|
290
309
|
default: cwd,
|
|
291
310
|
validate: (v) => {
|
|
292
311
|
const p = resolvePath(expandHome((v || '').trim() || cwd));
|
|
293
|
-
return isDir(p)
|
|
294
|
-
? true
|
|
295
|
-
: 'Ce dossier n’existe pas — indiquez un chemin valide.';
|
|
312
|
+
return isDir(p) ? true : 'This folder does not exist: enter a valid path.';
|
|
296
313
|
},
|
|
297
314
|
});
|
|
298
315
|
return resolvePath(expandHome((answer || '').trim() || cwd));
|
|
@@ -337,13 +354,22 @@ export async function runLinkCommand(opts = {}, deps = {}) {
|
|
|
337
354
|
merged.apiBase = trusted;
|
|
338
355
|
}
|
|
339
356
|
writeJson(configPath, merged);
|
|
357
|
+
// BACK-174 — the link is a property of THIS checkout, not of the code: keep
|
|
358
|
+
// it out of the repository. Written at the git ROOT (a root entry without a
|
|
359
|
+
// leading slash matches at any depth) and only inside a git checkout.
|
|
360
|
+
// (Teams that prefer to share the link can drop the line; the hooks read
|
|
361
|
+
// the file either way.)
|
|
362
|
+
const gitRoot = findGitRoot(targetPath);
|
|
363
|
+
if (gitRoot !== null && ensureGitignoreEntry(gitRoot, '.cybedefend/')) {
|
|
364
|
+
log.hint(`Added \`.cybedefend/\` to the .gitignore of ${gitRoot}`);
|
|
365
|
+
}
|
|
340
366
|
const label = project.projectName
|
|
341
367
|
? `${project.projectName} (${project.projectId})`
|
|
342
368
|
: project.projectId;
|
|
343
|
-
log.ok(`
|
|
344
|
-
log.hint(`Configuration
|
|
369
|
+
log.ok(`Project linked: ${label}`);
|
|
370
|
+
log.hint(`Configuration written to ${configPath}`);
|
|
345
371
|
if (!runtimeConfigPresent) {
|
|
346
|
-
log.hint('
|
|
372
|
+
log.hint('Tip: run `vibedefend install` to set up the MCP server and the hooks.');
|
|
347
373
|
}
|
|
348
374
|
return {
|
|
349
375
|
projectId: project.projectId,
|
package/dist/link.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../src/link.ts"],"names":[],"mappings":"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"}
|