multiclaw 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +16 -22
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -140,41 +140,35 @@ var RED = "\x1B[31m";
|
|
|
140
140
|
var YELLOW = "\x1B[33m";
|
|
141
141
|
var DIM = "\x1B[2m";
|
|
142
142
|
var RESET = "\x1B[0m";
|
|
143
|
-
var ANSI_RE = new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`, "g");
|
|
144
143
|
function color(enabled, code, text) {
|
|
145
144
|
return enabled ? `${code}${text}${RESET}` : text;
|
|
146
145
|
}
|
|
147
146
|
function formatDoctorReport(report, useColor = true) {
|
|
148
147
|
const lines = [];
|
|
149
148
|
const c = (code, text) => color(useColor, code, text);
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
const visible = text.replace(ANSI_RE, "").length;
|
|
153
|
-
return rendered + " ".repeat(Math.max(0, width - visible));
|
|
154
|
-
};
|
|
149
|
+
const statusLabel = (status) => status === "present" ? c(GREEN, "\u2713 available") : c(RED, "\u2717 missing");
|
|
150
|
+
const detail = (label, value, code) => ` ${c(DIM, `${label}:`)} ${code ? c(code, value) : value}`;
|
|
155
151
|
lines.push("");
|
|
156
152
|
lines.push(c(DIM, "multiclaw doctor \u2014 environment check"));
|
|
157
153
|
lines.push("");
|
|
158
|
-
lines.push(
|
|
159
|
-
`${cell("provider", 12)}${cell("status", 10)}${cell("version", 14)}${cell("source", 9)}models auth`
|
|
160
|
-
);
|
|
154
|
+
lines.push(c(DIM, "Providers"));
|
|
161
155
|
for (const p of report.providers) {
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const models = p.modelSelection === "none" ? "n/a" : String(p.modelCount);
|
|
168
|
-
const auth = p.authHint ? c(DIM, p.authHint) : "";
|
|
169
|
-
lines.push(
|
|
170
|
-
`${cell(p.label, 12)}${cell(mark, 10, markCode)}${cell(version, 14)}${cell(source, 9, sourceCode)}${cell(models, 7)}${auth}`
|
|
171
|
-
);
|
|
172
|
-
if (p.status === "present" && p.source === "bundled" && p.resolvedPath) {
|
|
173
|
-
lines.push(c(DIM, ` bundled bridge: ${p.resolvedPath}`));
|
|
156
|
+
const title = `${statusLabel(p.status)} ${p.label}`;
|
|
157
|
+
lines.push(title);
|
|
158
|
+
if (p.version) lines.push(detail("version", p.version));
|
|
159
|
+
if (p.source) {
|
|
160
|
+
lines.push(detail("source", p.source, p.source === "bundled" ? YELLOW : void 0));
|
|
174
161
|
}
|
|
162
|
+
const models = p.modelSelection === "none" ? "not supported" : String(p.modelCount);
|
|
163
|
+
lines.push(detail("models", models));
|
|
164
|
+
if (p.authHint) lines.push(detail("auth", p.authHint));
|
|
175
165
|
if (p.status === "missing" && p.installHint) {
|
|
176
|
-
lines.push(
|
|
166
|
+
lines.push(detail("install", p.installHint, YELLOW));
|
|
167
|
+
}
|
|
168
|
+
if (p.status === "present" && p.source === "bundled" && p.resolvedPath) {
|
|
169
|
+
lines.push(detail("bridge", p.resolvedPath));
|
|
177
170
|
}
|
|
171
|
+
lines.push("");
|
|
178
172
|
}
|
|
179
173
|
if (report.config) {
|
|
180
174
|
lines.push("");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "multiclaw",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"multiclaw": "dist/index.js"
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"@agentclientprotocol/claude-agent-acp": "^0.95.0",
|
|
31
31
|
"@agentclientprotocol/codex-acp": "^2.2.2",
|
|
32
32
|
"@inquirer/prompts": "^8.7.4",
|
|
33
|
-
"@multiclawcli/core": "0.6.
|
|
34
|
-
"@multiclawcli/dashboard": "0.6.
|
|
33
|
+
"@multiclawcli/core": "0.6.2",
|
|
34
|
+
"@multiclawcli/dashboard": "0.6.2",
|
|
35
35
|
"commander": "^15.0.0",
|
|
36
36
|
"jiti": "^2.7.0"
|
|
37
37
|
},
|