@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../../src/mcp/verify/verifier.ts"],"names":[],"mappings":"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"}
|
package/dist/org-gate.js
CHANGED
|
@@ -94,7 +94,7 @@ export async function ensureOrganization(input, deps = {}) {
|
|
|
94
94
|
break;
|
|
95
95
|
const orgs = await listOrgs(input.apiBase, token);
|
|
96
96
|
if (orgs && orgs.length >= 1) {
|
|
97
|
-
log.ok(`Organization detected
|
|
97
|
+
log.ok(`Organization detected: "${orgs[0].name}". Continuing.`);
|
|
98
98
|
return 'ok';
|
|
99
99
|
}
|
|
100
100
|
}
|
package/dist/org-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org-gate.js","sourceRoot":"","sources":["../src/org-gate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"org-gate.js","sourceRoot":"","sources":["../src/org-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/org.js
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which organization this machine works under — `vibedefend org [<id>]`, and
|
|
3
|
+
* the selection that ends `vibedefend login`.
|
|
4
|
+
*
|
|
5
|
+
* The MCP verification routes are org-scoped: the organization is in the
|
|
6
|
+
* path, its membership is checked there, and its policy is applied there.
|
|
7
|
+
* So the client has to say which one, and this is the one place that decides
|
|
8
|
+
* how:
|
|
9
|
+
*
|
|
10
|
+
* - an explicit id (`--organization`, or the argument of `org`) wins, and
|
|
11
|
+
* is checked against the account's memberships before it is persisted —
|
|
12
|
+
* an id typed wrong would otherwise send every verification to a 403;
|
|
13
|
+
* - exactly one membership is selected silently: a picker with one answer
|
|
14
|
+
* is a prompt nobody should see;
|
|
15
|
+
* - several are put to the user on a terminal, and printed with a hint
|
|
16
|
+
* otherwise — a hook or a CI job cannot pick;
|
|
17
|
+
* - none is left to the install's own organization gate (`org-gate.ts`).
|
|
18
|
+
*
|
|
19
|
+
* The selection is persisted in `runtime-config.json` (`organization`), and
|
|
20
|
+
* that is all it is: a memory of a choice. The policy itself is never stored
|
|
21
|
+
* as a setting — it is read live here for display, and learned by the
|
|
22
|
+
* verifier from every response.
|
|
23
|
+
*/
|
|
24
|
+
import { select } from '@inquirer/prompts';
|
|
25
|
+
import kleur from 'kleur';
|
|
26
|
+
import { listOrganizations as listOrganizationsImpl } from './api/projects.js';
|
|
27
|
+
import { loadRuntimeConfig as loadRuntimeConfigImpl, loadRuntimeOrganization, saveRuntimeOrganization, } from './hooks/runtime/config.js';
|
|
28
|
+
import { getOrgPolicy as getOrgPolicyImpl } from './mcp/verify/api.js';
|
|
29
|
+
import { resolveVerifyToken, verifyTokenResolver } from './mcp/verify/token.js';
|
|
30
|
+
/** The interactive picker, as `vibedefend link` shows it. */
|
|
31
|
+
export async function selectOrganizationInteractively(organizations) {
|
|
32
|
+
return select({
|
|
33
|
+
message: 'Organization:',
|
|
34
|
+
choices: organizations.map((organization) => ({ name: organization.name, value: organization.id })),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/** The one decision, pure but for the picker. */
|
|
38
|
+
export async function chooseOrganization(organizations, options) {
|
|
39
|
+
if (organizations === null)
|
|
40
|
+
return { kind: 'unavailable' };
|
|
41
|
+
if (options.requestedId) {
|
|
42
|
+
const found = organizations.find((organization) => organization.id === options.requestedId);
|
|
43
|
+
return found
|
|
44
|
+
? { kind: 'selected', organization: found }
|
|
45
|
+
: { kind: 'unknown-id', requested: options.requestedId, organizations };
|
|
46
|
+
}
|
|
47
|
+
if (organizations.length === 0)
|
|
48
|
+
return { kind: 'none' };
|
|
49
|
+
if (organizations.length === 1)
|
|
50
|
+
return { kind: 'selected', organization: organizations[0] };
|
|
51
|
+
if (!options.isTTY)
|
|
52
|
+
return { kind: 'ambiguous', organizations };
|
|
53
|
+
const id = await (options.selectFn ?? selectOrganizationInteractively)(organizations);
|
|
54
|
+
const picked = organizations.find((organization) => organization.id === id);
|
|
55
|
+
return picked ? { kind: 'selected', organization: picked } : { kind: 'ambiguous', organizations };
|
|
56
|
+
}
|
|
57
|
+
/** One line per organization, id included: the id is what the next command takes. */
|
|
58
|
+
export function formatOrganizationList(organizations) {
|
|
59
|
+
return organizations.map((organization) => ` ${organization.name} ${kleur.dim(organization.id)}`).join('\n');
|
|
60
|
+
}
|
|
61
|
+
export function formatPolicy(policy) {
|
|
62
|
+
return `mode=${policy.mode}, strict issuer: ${policy.strictIssuer ? 'on' : 'off'}`;
|
|
63
|
+
}
|
|
64
|
+
export const ORG_EXIT_OK = 0;
|
|
65
|
+
export const ORG_EXIT_PROBLEM = 1;
|
|
66
|
+
export async function runOrgCommand(id, options, deps = {}) {
|
|
67
|
+
const env = deps.env ?? process.env;
|
|
68
|
+
const write = deps.write ?? ((text) => void process.stdout.write(text));
|
|
69
|
+
const line = (text) => write(`${text}\n`);
|
|
70
|
+
const runtime = (deps.loadRuntimeConfigFn ?? loadRuntimeConfigImpl)();
|
|
71
|
+
if (!runtime?.region) {
|
|
72
|
+
line('VibeDefend is not installed yet. Run `vibedefend install` first.');
|
|
73
|
+
return ORG_EXIT_PROBLEM;
|
|
74
|
+
}
|
|
75
|
+
const { apiBase, mcpName } = runtime.region;
|
|
76
|
+
const token = (deps.resolveTokenFn ?? ((name) => resolveVerifyToken(name, { env })))(mcpName);
|
|
77
|
+
const listOrganizations = deps.listOrganizationsFn ?? listOrganizationsImpl;
|
|
78
|
+
if (id) {
|
|
79
|
+
if (!token) {
|
|
80
|
+
line('No credential: run `vibedefend login` first.');
|
|
81
|
+
return ORG_EXIT_PROBLEM;
|
|
82
|
+
}
|
|
83
|
+
const choice = await chooseOrganization(await listOrganizations(apiBase, token), { requestedId: id, isTTY: false });
|
|
84
|
+
if (choice.kind !== 'selected') {
|
|
85
|
+
if (choice.kind === 'unknown-id') {
|
|
86
|
+
line(`No organization "${id}" among yours:`);
|
|
87
|
+
line(formatOrganizationList(choice.organizations));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
line('Could not list your organizations (gateway unreachable).');
|
|
91
|
+
}
|
|
92
|
+
return ORG_EXIT_PROBLEM;
|
|
93
|
+
}
|
|
94
|
+
const saved = (deps.saveOrganizationFn ?? saveRuntimeOrganization)(choice.organization);
|
|
95
|
+
if (!saved) {
|
|
96
|
+
line('Could not record the selection: VibeDefend is not installed yet. Run `vibedefend install` first.');
|
|
97
|
+
return ORG_EXIT_PROBLEM;
|
|
98
|
+
}
|
|
99
|
+
if (options.json)
|
|
100
|
+
line(JSON.stringify({ organization: choice.organization }));
|
|
101
|
+
else
|
|
102
|
+
line(`Organization: ${kleur.bold(choice.organization.name)} ${kleur.dim(choice.organization.id)}`);
|
|
103
|
+
return ORG_EXIT_OK;
|
|
104
|
+
}
|
|
105
|
+
const selected = organizationOf(runtime);
|
|
106
|
+
if (!selected) {
|
|
107
|
+
line('No organization selected. Run `vibedefend org <id>` with one of yours:');
|
|
108
|
+
if (token) {
|
|
109
|
+
const organizations = await listOrganizations(apiBase, token);
|
|
110
|
+
line(organizations ? formatOrganizationList(organizations) : ' (could not list them: gateway unreachable)');
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
line(' (run `vibedefend login` to list them)');
|
|
114
|
+
}
|
|
115
|
+
return ORG_EXIT_PROBLEM;
|
|
116
|
+
}
|
|
117
|
+
let policy = null;
|
|
118
|
+
if (token) {
|
|
119
|
+
try {
|
|
120
|
+
policy = await (deps.getOrgPolicyFn ?? getOrgPolicyImpl)({ apiBase, token, mcpName, organizationId: selected.id }, { resolveTokenFn: verifyTokenResolver({ env }) });
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
policy = 'unavailable';
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (options.json) {
|
|
127
|
+
line(JSON.stringify({ organization: selected, policy: policy === 'unavailable' ? null : policy }));
|
|
128
|
+
return ORG_EXIT_OK;
|
|
129
|
+
}
|
|
130
|
+
line(`Organization: ${kleur.bold(selected.name)} ${kleur.dim(selected.id)}`);
|
|
131
|
+
if (policy === null)
|
|
132
|
+
line('Policy: (run `vibedefend login` to read it)');
|
|
133
|
+
else if (policy === 'unavailable')
|
|
134
|
+
line('Policy: unavailable (the gateway could not be reached, or refused)');
|
|
135
|
+
else
|
|
136
|
+
line(`Policy: ${formatPolicy(policy)}`);
|
|
137
|
+
return ORG_EXIT_OK;
|
|
138
|
+
}
|
|
139
|
+
function organizationOf(runtime) {
|
|
140
|
+
const organization = runtime.organization;
|
|
141
|
+
if (!organization || typeof organization.id !== 'string' || organization.id === '')
|
|
142
|
+
return null;
|
|
143
|
+
return { id: organization.id, name: typeof organization.name === 'string' ? organization.name : '' };
|
|
144
|
+
}
|
|
145
|
+
export { loadRuntimeOrganization };
|
|
146
|
+
//# sourceMappingURL=org.js.map
|
package/dist/org.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org.js","sourceRoot":"","sources":["../src/org.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive project creation for `vibedefend link` (BACK-230).
|
|
3
|
+
*
|
|
4
|
+
* Pick a team, name the project, create it through the Gateway, then — when
|
|
5
|
+
* `origin` is a GitHub / GitLab remote — link it to that repository through
|
|
6
|
+
* the organization's integration, which starts the first scan. Mirrors
|
|
7
|
+
* mcp-service's `create_project` tool: same routes, same link outcomes. The
|
|
8
|
+
* Gateway authorises every call; nothing is checked here.
|
|
9
|
+
*/
|
|
10
|
+
import { basename } from 'node:path';
|
|
11
|
+
import { confirm, input, select } from '@inquirer/prompts';
|
|
12
|
+
import { createProject as createProjectImpl, listTeams as listTeamsImpl, } from './api/projects.js';
|
|
13
|
+
import { linkRepositoryToProject as linkRepositoryImpl, lookupRepository as lookupRepositoryImpl, } from './api/repository-link.js';
|
|
14
|
+
import { log } from './utils.js';
|
|
15
|
+
/** Value of the "Create a new project" entry in the project picker. */
|
|
16
|
+
export const CREATE_PROJECT_CHOICE = '__create_project__';
|
|
17
|
+
// `ProjectCreateBodyDto.name` is `@Length(0, 255)`.
|
|
18
|
+
const MAX_NAME_LENGTH = 255;
|
|
19
|
+
const NO_SCAN_HINT = 'No scan has run yet: start a first scan from the dashboard to build the ' +
|
|
20
|
+
'code graph and mine the rules.';
|
|
21
|
+
/** Last segment of the remote's slug, else the directory's name. */
|
|
22
|
+
export function defaultProjectName(remote, cwd) {
|
|
23
|
+
const fromRemote = remote?.slug.split('/').pop();
|
|
24
|
+
return (fromRemote || basename(cwd)).slice(0, MAX_NAME_LENGTH);
|
|
25
|
+
}
|
|
26
|
+
async function pickTeam(teams) {
|
|
27
|
+
if (teams.length === 1) {
|
|
28
|
+
log.info(`Team: ${teams[0].name}`);
|
|
29
|
+
return teams[0];
|
|
30
|
+
}
|
|
31
|
+
return select({
|
|
32
|
+
message: 'Team:',
|
|
33
|
+
choices: teams.map((t) => ({ name: t.name, value: t, short: t.name })),
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Run the creation flow. Returns the created project, or `null` when the
|
|
38
|
+
* user declines the confirmation. Throws when no project can be created
|
|
39
|
+
* (no team, 403, 429, gateway unreachable). A 409 asks for another name.
|
|
40
|
+
*/
|
|
41
|
+
export async function createProjectInteractively(inp, deps = {}) {
|
|
42
|
+
const listTeams = deps.listTeams ?? listTeamsImpl;
|
|
43
|
+
const createProject = deps.createProject ?? createProjectImpl;
|
|
44
|
+
const lookupRepository = deps.lookupRepository ?? lookupRepositoryImpl;
|
|
45
|
+
const linkRepository = deps.linkRepository ?? linkRepositoryImpl;
|
|
46
|
+
const remote = inp.remote;
|
|
47
|
+
if (remote?.provider) {
|
|
48
|
+
// A repository already bound to a project means the user wants that
|
|
49
|
+
// project, not a new empty one counted against the plan. `resolve` (step
|
|
50
|
+
// 2 of link) misses it when the user cannot read that project.
|
|
51
|
+
const found = await lookupRepository(inp.apiBase, inp.token, inp.organizationId, {
|
|
52
|
+
provider: remote.provider,
|
|
53
|
+
slug: remote.slug,
|
|
54
|
+
host: remote.host,
|
|
55
|
+
});
|
|
56
|
+
if ('outcome' in found && found.outcome.status === 'already_linked') {
|
|
57
|
+
const linked = found.outcome.linkedProjectId;
|
|
58
|
+
throw new Error(`${remote.slug} is already linked to project ${linked} — link that project instead: ` +
|
|
59
|
+
`vibedefend link --project ${linked} (ask its owners for access if you cannot open it). ` +
|
|
60
|
+
'No project was created.');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const teams = await listTeams(inp.apiBase, inp.token, inp.organizationId);
|
|
64
|
+
if (!teams) {
|
|
65
|
+
throw new Error('Could not list the teams of this organization (gateway unreachable).');
|
|
66
|
+
}
|
|
67
|
+
if (teams.length === 0) {
|
|
68
|
+
throw new Error('No team of this organization is visible to you — ask an organization administrator to add you to one.');
|
|
69
|
+
}
|
|
70
|
+
const team = await pickTeam(teams);
|
|
71
|
+
let name = defaultProjectName(inp.remote, inp.cwd);
|
|
72
|
+
for (;;) {
|
|
73
|
+
name = (await input({
|
|
74
|
+
message: 'Project name:',
|
|
75
|
+
default: name,
|
|
76
|
+
validate: (v) => {
|
|
77
|
+
const t = (v || '').trim();
|
|
78
|
+
return t.length > 0 && t.length <= MAX_NAME_LENGTH
|
|
79
|
+
? true
|
|
80
|
+
: `Enter 1 to ${MAX_NAME_LENGTH} characters.`;
|
|
81
|
+
},
|
|
82
|
+
})).trim();
|
|
83
|
+
const ok = await confirm({
|
|
84
|
+
message: `Create project "${name}" in team "${team.name}"?`,
|
|
85
|
+
default: true,
|
|
86
|
+
});
|
|
87
|
+
if (!ok) {
|
|
88
|
+
log.info('Cancelled.');
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const res = await createProject(inp.apiBase, inp.token, team.id, name);
|
|
92
|
+
if (!res.ok) {
|
|
93
|
+
if (res.status === 409) {
|
|
94
|
+
log.warn(`A project named "${name}" already exists in team "${team.name}": pick another name.`);
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (res.status === 403) {
|
|
98
|
+
throw new Error(`You cannot create projects in team "${team.name}": it takes the team manager role or organization creator/administrator.`);
|
|
99
|
+
}
|
|
100
|
+
if (res.status === 429) {
|
|
101
|
+
throw new Error(`${res.message} — upgrade the organization's plan or delete a project in the dashboard.`);
|
|
102
|
+
}
|
|
103
|
+
if (res.status === null) {
|
|
104
|
+
throw new Error(`Could not create the project (gateway unreachable: ${res.message}).`);
|
|
105
|
+
}
|
|
106
|
+
throw new Error(`Could not create the project (HTTP ${res.status}: ${res.message}).`);
|
|
107
|
+
}
|
|
108
|
+
const { project } = res;
|
|
109
|
+
log.ok(`Project created — ${project.name} (${project.projectId})`);
|
|
110
|
+
if (remote?.provider) {
|
|
111
|
+
const outcome = await linkRepository(inp.apiBase, inp.token, {
|
|
112
|
+
organizationId: project.organizationId || inp.organizationId,
|
|
113
|
+
projectId: project.projectId,
|
|
114
|
+
}, { provider: remote.provider, slug: remote.slug, host: remote.host });
|
|
115
|
+
if (outcome.status === 'linked') {
|
|
116
|
+
log.ok(outcome.message);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
log.warn(outcome.message);
|
|
120
|
+
log.hint(NO_SCAN_HINT);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
log.hint(NO_SCAN_HINT);
|
|
125
|
+
}
|
|
126
|
+
return { projectId: project.projectId, projectName: project.name };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=project-create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-create.js","sourceRoot":"","sources":["../src/project-create.ts"],"names":[],"mappings":"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"}
|
package/dist/prompts.js
CHANGED
|
@@ -94,6 +94,26 @@ export async function askHookConfig() {
|
|
|
94
94
|
default: HOOK_DEFAULTS.autoProposeMode,
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
|
+
// BACK-174 — the hooks are wired globally, so without this choice VibeDefend
|
|
98
|
+
// activates on every repo of the machine that is a CybeDefend project,
|
|
99
|
+
// including ones with nothing to protect (where every block is a false
|
|
100
|
+
// positive by construction).
|
|
101
|
+
const activation = await select({
|
|
102
|
+
message: 'Where should VibeDefend be active?',
|
|
103
|
+
choices: [
|
|
104
|
+
{
|
|
105
|
+
name: `Every repo that matches a CybeDefend project ${kleur.dim('(auto — resolved from the git origin; nothing to do per repo)')}`,
|
|
106
|
+
value: 'auto',
|
|
107
|
+
short: 'every matching repo',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: `Only repos I link explicitly ${kleur.dim('(opt-in — run `vibedefend link` in each repo; everything else is left alone)')}`,
|
|
111
|
+
value: 'opt-in',
|
|
112
|
+
short: 'linked repos only',
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
default: HOOK_DEFAULTS.activation,
|
|
116
|
+
});
|
|
97
117
|
return {
|
|
98
118
|
enableSessionReview,
|
|
99
119
|
reviewThreshold,
|
|
@@ -101,6 +121,7 @@ export async function askHookConfig() {
|
|
|
101
121
|
nonBlockingMode,
|
|
102
122
|
autoUpdate,
|
|
103
123
|
enableDiffScan,
|
|
124
|
+
activation,
|
|
104
125
|
};
|
|
105
126
|
}
|
|
106
127
|
/**
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,OAAO,EAAqB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,OAAO,EAAqB,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;QAChD,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,MAAM,CAAe;QAChC,OAAO,EAAE,gBAAgB;QACzB,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,4DAA4D,CAC7D,CACF,CAAC;IACF,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,kFAAkF;QAChF,4EAA4E,CAC/E,CACF,CAAC;IAEF,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC;QACxC,OAAO,EAAE,2DAA2D,KAAK,CAAC,GAAG,CAC3E,eAAe,CAChB,EAAE;QACH,OAAO,EAAE,aAAa,CAAC,mBAAmB;KAC3C,CAAC,CAAC;IAEH,IAAI,eAAe,GAAW,aAAa,CAAC,eAAe,CAAC;IAC5D,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,mBAAmB,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC;YAC/B,OAAO,EAAE,4CAA4C,KAAK,CAAC,GAAG,CAC5D,YAAY,aAAa,CAAC,eAAe,uFAAuF,CACjI,EAAE;YACH,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC;YAC9C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG;oBAC7C,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,qCAAqC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QACH,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QAEvC,cAAc,GAAG,MAAM,OAAO,CAAC;YAC7B,OAAO,EAAE,uGAAuG,KAAK,CAAC,GAAG,CACvH,wDAAwD,CACzD,EAAE;YACH,OAAO,EAAE,aAAa,CAAC,cAAc;SACtC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC;QAC/B,OAAO,EAAE,wFAAwF,KAAK,CAAC,GAAG,CACxG,eAAe,CAChB,EAAE;QACH,OAAO,EAAE,aAAa,CAAC,UAAU;KAClC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC;QACpC,OAAO,EAAE,8HAA8H,KAAK,CAAC,GAAG,CAC9I,6FAA6F,CAC9F,EAAE;QACH,OAAO,EAAE,aAAa,CAAC,eAAe;KACvC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,eAAe,GAAY,aAAa,CAAC,eAAe,CAAC;IAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,MAAM,OAAO,CAAC;YAC9B,OAAO,EAAE,6EAA6E,KAAK,CAAC,GAAG,CAC7F,yFAAyF,CAC1F,EAAE;YACH,OAAO,EAAE,aAAa,CAAC,eAAe;SACvC,CAAC,CAAC;IACL,CAAC;IACD,6EAA6E;IAC7E,uEAAuE;IACvE,uEAAuE;IACvE,6BAA6B;IAC7B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAiB;QAC9C,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,gDAAgD,KAAK,CAAC,GAAG,CAC7D,+DAA+D,CAChE,EAAE;gBACH,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,qBAAqB;aAC7B;YACD;gBACE,IAAI,EAAE,gCAAgC,KAAK,CAAC,GAAG,CAC7C,8EAA8E,CAC/E,EAAE;gBACH,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,mBAAmB;aAC3B;SACF;QACD,OAAO,EAAE,aAAa,CAAC,UAAU;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,mBAAmB;QACnB,eAAe;QACf,eAAe;QACf,eAAe;QACf,UAAU;QACV,cAAc;QACd,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,SAA0B;IAC7C,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;IAE/B,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,KAAK,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS;YAC7B,CAAC,CAAC,OAAO,CAAC,EAAE;YACZ,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAClC,OAAO;YACL,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE;YACtD,KAAK,EAAE,OAAO,CAAC,EAAc;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,aAAa;YACvD,QAAQ,EACN,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa;gBAC7C,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,qBAAqB;gBAC3C,CAAC,CAAC,KAAK;SACZ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,QAAQ,CAAW;QAC9B,OAAO,EACL,qFAAqF;QACvF,OAAO;QACP,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,mEAAmE;AACnE,oEAAoE;AACpE,iDAAiD"}
|
package/dist/re2.wasm
ADDED
|
Binary file
|
package/dist/status.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import kleur from 'kleur';
|
|
5
5
|
import { gatherInstallState } from './diagnostics.js';
|
|
6
|
+
import { formatPolicy } from './org.js';
|
|
6
7
|
/** Pure renderer — formats an InstallState into a printable report. */
|
|
7
8
|
export function renderStatus(state) {
|
|
8
9
|
const lines = [];
|
|
@@ -13,12 +14,35 @@ export function renderStatus(state) {
|
|
|
13
14
|
return lines.join('\n');
|
|
14
15
|
}
|
|
15
16
|
lines.push(` installed: ${yn(true)} runner: ${yn(state.runnerPresent)}`);
|
|
17
|
+
if (state.runnerPresent && !state.re2WasmPresent) {
|
|
18
|
+
lines.push(` regex engine: ${kleur.yellow('native RegExp')} ${kleur.dim('(re2.wasm missing — run `vibedefend doctor`)')}`);
|
|
19
|
+
}
|
|
16
20
|
const stale = state.versionStamped && state.versionStamped !== state.versionCurrent;
|
|
17
21
|
lines.push(` version: ${state.versionStamped ?? '?'}` +
|
|
18
22
|
(stale ? kleur.yellow(` (stale — current ${state.versionCurrent})`) : ''));
|
|
19
23
|
if (state.region) {
|
|
20
24
|
lines.push(` region: ${kleur.bold(state.region.label)} (${state.region.apiBase})`);
|
|
21
25
|
}
|
|
26
|
+
// The organization the verification routes are scoped to, and its policy —
|
|
27
|
+
// read live, and said to be unavailable rather than defaulted when the
|
|
28
|
+
// read failed: a default here would read as a setting.
|
|
29
|
+
lines.push(state.organization
|
|
30
|
+
? ` organization: ${kleur.bold(state.organization.name)} ${kleur.dim(state.organization.id)}`
|
|
31
|
+
: ` organization: ${kleur.yellow('none')} — run \`vibedefend org <id>\``);
|
|
32
|
+
if (state.organization) {
|
|
33
|
+
lines.push(state.policy === null
|
|
34
|
+
? ' policy: (not fetched)'
|
|
35
|
+
: state.policy === 'unavailable'
|
|
36
|
+
? ` policy: ${kleur.yellow('unavailable')} — the gateway could not be reached, or refused`
|
|
37
|
+
: ` policy: ${formatPolicy(state.policy)}`);
|
|
38
|
+
}
|
|
39
|
+
if (state.activation) {
|
|
40
|
+
// BACK-174 — where the hooks are active.
|
|
41
|
+
const detail = state.activation === 'opt-in'
|
|
42
|
+
? 'linked repos only — `vibedefend link` per repo'
|
|
43
|
+
: 'every repo matching a CybeDefend project';
|
|
44
|
+
lines.push(` activation: ${kleur.bold(state.activation)} ${kleur.dim(`(${detail})`)}`);
|
|
45
|
+
}
|
|
22
46
|
lines.push(kleur.bold(' Agents'));
|
|
23
47
|
for (const c of state.clients) {
|
|
24
48
|
// Registered under our name but on another URL: left on another region.
|
|
@@ -27,6 +51,12 @@ export function renderStatus(state) {
|
|
|
27
51
|
: yn(c.mcpRegistered);
|
|
28
52
|
lines.push(` ${c.id.padEnd(12)} detected:${yn(c.detected)} hooks:${yn(c.hooksWired)} mcp:${mcp}`);
|
|
29
53
|
}
|
|
54
|
+
// The SOURCE, not a yes/no: "yes" from the agent's keychain and "yes" from
|
|
55
|
+
// our store are different answers, and only the latter is one the proxy
|
|
56
|
+
// and `mcp scan` will act on.
|
|
57
|
+
lines.push(state.tokenSource
|
|
58
|
+
? ` token: ${kleur.green(state.tokenSource)}`
|
|
59
|
+
: ` token: ${kleur.red('none')} — run \`vibedefend login\``);
|
|
30
60
|
lines.push(kleur.bold(' Live check'));
|
|
31
61
|
if (!state.live) {
|
|
32
62
|
lines.push(' (not run)');
|
|
@@ -53,10 +83,41 @@ export function renderStatus(state) {
|
|
|
53
83
|
}
|
|
54
84
|
lines.push(` ${msg}`);
|
|
55
85
|
}
|
|
86
|
+
// BACK-174 — tool envelopes the guard could not map. They ran fail-open
|
|
87
|
+
// (CYBEDEFEND_GUARDS_STRICT=1 denies them); listing them here is what
|
|
88
|
+
// keeps that unguarded surface visible.
|
|
89
|
+
if (state.unmappedTools.length > 0) {
|
|
90
|
+
lines.push(kleur.bold(' Unmapped tool envelopes') + kleur.dim(' (allowed fail-open, not evaluated)'));
|
|
91
|
+
for (const t of state.unmappedTools.slice(0, 10)) {
|
|
92
|
+
lines.push(` ${t.tool.padEnd(40)} ${kleur.yellow(String(t.count).padStart(5))} ${kleur.dim(t.lastClient)}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
56
95
|
return lines.join('\n');
|
|
57
96
|
}
|
|
58
97
|
export async function runStatus() {
|
|
59
98
|
const state = await gatherInstallState({ live: true });
|
|
60
99
|
console.log(renderStatus(state));
|
|
100
|
+
await printMcpVerdicts();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The MCP proxy's section of `vibedefend status`.
|
|
104
|
+
*
|
|
105
|
+
* The plan names a `vibedefend status` for the verdicts, and this command
|
|
106
|
+
* already owns that name; a second registration would silently shadow the
|
|
107
|
+
* first. Somebody typing `vibedefend status` is asking what VibeDefend
|
|
108
|
+
* currently thinks, and the verdicts are part of that answer.
|
|
109
|
+
*
|
|
110
|
+
* Imported lazily, and failing silently: a machine that has never used the
|
|
111
|
+
* proxy has nothing to print here, and a broken cache must not take the
|
|
112
|
+
* install report down with it.
|
|
113
|
+
*/
|
|
114
|
+
async function printMcpVerdicts() {
|
|
115
|
+
try {
|
|
116
|
+
const { runMcpStatusCommand } = await import('./commands/mcp/allow.js');
|
|
117
|
+
runMcpStatusCommand({}, { env: process.env });
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
/* nothing to report */
|
|
121
|
+
}
|
|
61
122
|
}
|
|
62
123
|
//# sourceMappingURL=status.js.map
|
package/dist/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,uEAAuE;AACvE,MAAM,UAAU,YAAY,CAAC,KAAmB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CACR,mBAAmB,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,EAAE,CAChH,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,CAAC;IACpF,KAAK,CAAC,IAAI,CACR,cAAc,KAAK,CAAC,cAAc,IAAI,GAAG,EAAE;QACzC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5E,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,uDAAuD;IACvD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,YAAY;QAChB,CAAC,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;QAC9F,CAAC,CAAC,mBAAmB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAC5E,CAAC;IACF,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,MAAM,KAAK,IAAI;YACnB,CAAC,CAAC,yBAAyB;YAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa;gBAC9B,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,iDAAiD;gBAC3F,CAAC,CAAC,aAAa,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAChD,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,yCAAyC;QACzC,MAAM,MAAM,GACV,KAAK,CAAC,UAAU,KAAK,QAAQ;YAC3B,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,0CAA0C,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,wEAAwE;QACxE,MAAM,GAAG,GACP,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;YACnC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC;YAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,8BAA8B;IAC9B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW;QACf,CAAC,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QAC9C,CAAC,CAAC,YAAY,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,6BAA6B,CAC/D,CAAC;IAEF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,IAAI,GAAW,CAAC;QAChB,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACjB,KAAK,IAAI;gBACP,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,eAAe;gBAClB,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;gBACzE,MAAM;YACR,KAAK,aAAa;gBAChB,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,SAAS;gBACZ,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,OAAO;gBACV,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvC,MAAM;QACV,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,wEAAwE;IACxE,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACvG,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACjC,MAAM,gBAAgB,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACxE,mBAAmB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;AACH,CAAC"}
|