@vibecodr/cli 1.0.6 → 1.0.8
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/CHANGELOG.md +33 -0
- package/README.md +31 -11
- package/dist/app/command-registry.d.ts +13 -0
- package/dist/app/command-registry.d.ts.map +1 -0
- package/dist/app/command-registry.js +54 -0
- package/dist/app/command-registry.js.map +1 -0
- package/dist/app/help.d.ts +5 -0
- package/dist/app/help.d.ts.map +1 -0
- package/dist/app/help.js +158 -0
- package/dist/app/help.js.map +1 -0
- package/dist/bin/vibecodr-mcp.js +82 -80
- package/dist/bin/vibecodr-mcp.js.map +1 -1
- package/dist/commands/context.d.ts +2 -0
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +81 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/feedback.d.ts +3 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +92 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +29 -4
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +25 -3
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +26 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +78 -6
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tools.d.ts.map +1 -1
- package/dist/commands/tools.js +45 -1
- package/dist/commands/tools.js.map +1 -1
- package/dist/legacy/cli/install.js +4 -4
- package/dist/legacy/cli/run.js +353 -353
- package/dist/legacy/cli/run.js.map +1 -1
- package/dist/legacy/config/store.js +7 -7
- package/dist/legacy/core/api-client.js +3 -3
- package/dist/legacy/core/api-client.js.map +1 -1
- package/dist/legacy/core/validators.js +4 -4
- package/dist/legacy/core/version.d.ts +2 -2
- package/dist/legacy/core/version.js +1 -1
- package/docs/API-CONTRACT.md +605 -606
- package/docs/RELEASE-CHECKLIST.md +264 -260
- package/docs/SECURITY.md +166 -162
- package/docs/VALIDATION-MATRIX.md +45 -45
- package/docs/architecture.md +9 -6
- package/docs/auth.md +15 -7
- package/docs/commands.md +280 -256
- package/docs/install.md +5 -5
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2FnD,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD5F"}
|
package/dist/commands/tools.js
CHANGED
|
@@ -2,6 +2,50 @@ import { formatJson, summarizeToolSchema } from "../core/renderers.js";
|
|
|
2
2
|
import { parseFlags } from "../cli/parse.js";
|
|
3
3
|
import { CliError, EXIT_CODES } from "../cli/errors.js";
|
|
4
4
|
import { showHelpIfRequested } from "./help.js";
|
|
5
|
+
function summarizeDescription(desc, maxWidth) {
|
|
6
|
+
if (!desc)
|
|
7
|
+
return "";
|
|
8
|
+
const trimmed = desc.trim().replace(/\s+/g, " ");
|
|
9
|
+
if (trimmed.length === 0)
|
|
10
|
+
return "";
|
|
11
|
+
const firstStop = trimmed.search(/[.!?](\s|$)/);
|
|
12
|
+
const candidate = firstStop >= 0 ? trimmed.slice(0, firstStop + 1) : trimmed;
|
|
13
|
+
if (candidate.length <= maxWidth)
|
|
14
|
+
return candidate;
|
|
15
|
+
const clipped = candidate.slice(0, maxWidth - 1);
|
|
16
|
+
const lastSpace = clipped.lastIndexOf(" ");
|
|
17
|
+
return (lastSpace > maxWidth * 0.6 ? clipped.slice(0, lastSpace) : clipped) + "…";
|
|
18
|
+
}
|
|
19
|
+
function renderToolsList(tools, serverUrl, search) {
|
|
20
|
+
if (tools.length === 0) {
|
|
21
|
+
return search
|
|
22
|
+
? [`No tools matched "${search}".`, "", `Try: vibecodr mcp tools --search <other-text> | vibecodr mcp tools --json`]
|
|
23
|
+
: ["No tools available from the gateway."];
|
|
24
|
+
}
|
|
25
|
+
const columns = Math.max(60, process.stdout.columns ?? 100);
|
|
26
|
+
const longestName = tools.reduce((acc, tool) => Math.max(acc, tool.name.length), 0);
|
|
27
|
+
const nameWidth = Math.min(40, longestName) + 2;
|
|
28
|
+
const indent = 2;
|
|
29
|
+
const descWidth = Math.max(20, columns - indent - nameWidth - 1);
|
|
30
|
+
const lines = [
|
|
31
|
+
`Vibecodr MCP tools (${tools.length})${search ? ` matching "${search}"` : ""}`,
|
|
32
|
+
`Server: ${serverUrl}`,
|
|
33
|
+
""
|
|
34
|
+
];
|
|
35
|
+
let previousPrefix;
|
|
36
|
+
for (const tool of tools) {
|
|
37
|
+
const prefix = tool.name.split("_", 1)[0] ?? tool.name;
|
|
38
|
+
if (previousPrefix && prefix !== previousPrefix)
|
|
39
|
+
lines.push("");
|
|
40
|
+
previousPrefix = prefix;
|
|
41
|
+
const displayName = tool.name.length <= 40 ? tool.name : tool.name.slice(0, 39) + "…";
|
|
42
|
+
const padded = displayName.padEnd(nameWidth);
|
|
43
|
+
const summary = summarizeDescription(tool.description, descWidth);
|
|
44
|
+
lines.push(`${" ".repeat(indent)}${padded}${summary}`);
|
|
45
|
+
}
|
|
46
|
+
lines.push("", "Show details for one tool: vibecodr mcp tools <tool-name>", "Filter by text: vibecodr mcp tools --search <query>", "Machine-readable output: vibecodr mcp tools --json");
|
|
47
|
+
return lines;
|
|
48
|
+
}
|
|
5
49
|
function challengedScope(error) {
|
|
6
50
|
if (!error.debugDetails || typeof error.debugDetails !== "object")
|
|
7
51
|
return undefined;
|
|
@@ -62,7 +106,7 @@ export async function runToolsCommand(args, context) {
|
|
|
62
106
|
serverUrl,
|
|
63
107
|
toolCount: filtered.length,
|
|
64
108
|
tools: filtered
|
|
65
|
-
}, filtered
|
|
109
|
+
}, renderToolsList(filtered, serverUrl, search));
|
|
66
110
|
return;
|
|
67
111
|
}
|
|
68
112
|
const tool = sortedTools.find((item) => item.name === toolName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/commands/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,7 +57,7 @@ async function installCodex(request) {
|
|
|
57
57
|
nextStep: "Dry run: would call codex mcp add to register the Agent Computer."
|
|
58
58
|
};
|
|
59
59
|
}
|
|
60
|
-
throw new CliError("install.codex_cli_missing", "Codex CLI is not on PATH. Install Codex first, then re-run
|
|
60
|
+
throw new CliError("install.codex_cli_missing", "Codex CLI is not on PATH. Install Codex first, then re-run vibecodr agent connect --client codex, or use --print to copy the MCP config manually.", 5);
|
|
61
61
|
}
|
|
62
62
|
async function installClaudeCode(request) {
|
|
63
63
|
if (!request.dryRun && commandExists("claude", request.env)) {
|
|
@@ -84,7 +84,7 @@ async function installClaudeCode(request) {
|
|
|
84
84
|
nextStep: "Dry run: would call claude mcp add to register the Agent Computer."
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
throw new CliError("install.claude_code_cli_missing", "Claude Code CLI is not on PATH. Install Claude Code first, then re-run
|
|
87
|
+
throw new CliError("install.claude_code_cli_missing", "Claude Code CLI is not on PATH. Install Claude Code first, then re-run vibecodr agent connect --client claude-code, or use --print to copy the MCP config manually.", 5);
|
|
88
88
|
}
|
|
89
89
|
async function mergeJsonConfig(request, location, options) {
|
|
90
90
|
const current = await readJsonFile(location);
|
|
@@ -195,7 +195,7 @@ async function installClaudeDesktop(request) {
|
|
|
195
195
|
"Alternatively, add the Agent Computer via Claude Desktop Settings -> Connectors -> Add custom connector and paste the MCP URL."
|
|
196
196
|
];
|
|
197
197
|
if (process.platform !== "darwin" && process.platform !== "win32" && !request.installDir) {
|
|
198
|
-
nextStepLines.unshift("Note: Anthropic does not ship an official Claude Desktop build for Linux. This config was written to the path used by community repackages; if you are not running such a build, install Claude Code instead and re-run
|
|
198
|
+
nextStepLines.unshift("Note: Anthropic does not ship an official Claude Desktop build for Linux. This config was written to the path used by community repackages; if you are not running such a build, install Claude Code instead and re-run vibecodr agent connect --client claude-code.");
|
|
199
199
|
}
|
|
200
200
|
return {
|
|
201
201
|
client: "claude-desktop",
|
|
@@ -243,7 +243,7 @@ async function readJsonFile(location) {
|
|
|
243
243
|
return isPlainObject(parsed) ? parsed : {};
|
|
244
244
|
}
|
|
245
245
|
catch (error) {
|
|
246
|
-
throw new CliError("install.config_parse", `Existing config at ${location} is not valid JSON. Repair it before re-running
|
|
246
|
+
throw new CliError("install.config_parse", `Existing config at ${location} is not valid JSON. Repair it before re-running vibecodr agent connect --install.`, 5, { cause: formatErrorMessage(error) });
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
catch (error) {
|