multiclaw 0.6.2 → 0.7.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/dist/index.js +15 -5
- package/dist/lib.js +11 -2
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import { Command } from "commander";
|
|
|
9
9
|
// src/commands/doctor.ts
|
|
10
10
|
import {
|
|
11
11
|
detectProviders,
|
|
12
|
+
hasExplicitTools,
|
|
12
13
|
presentProviders,
|
|
13
14
|
resolveCommand,
|
|
14
15
|
resolveProvider,
|
|
@@ -113,13 +114,13 @@ function buildDoctorReport(detected, config) {
|
|
|
113
114
|
const defaultsProvider = config.defaults?.provider;
|
|
114
115
|
const defaultsProviderOk = !defaultsProvider || present.includes(defaultsProvider);
|
|
115
116
|
const agents2 = [...config.agents];
|
|
116
|
-
if (config.leader) agents2.push(config.leader);
|
|
117
|
+
if (config.leader && config.useLeader !== false) agents2.push(config.leader);
|
|
117
118
|
const agentsWithMissingProvider = agents2.map((a) => ({ id: a.id, intended: resolveProvider(a, config) })).filter((a) => !present.includes(a.intended)).map((a) => a.id);
|
|
118
119
|
const agentsWithUnsupportedTools = agents2.map((a) => {
|
|
119
120
|
const command = resolveCommand(a, config);
|
|
120
121
|
const spec = specForCommand(command) ?? specForProvider(resolveProvider(a, config));
|
|
121
|
-
return { id: a.id, spec,
|
|
122
|
-
}).filter((a) => a.spec && !a.spec.tools && a.
|
|
122
|
+
return { id: a.id, spec, explicitTools: hasExplicitTools(a) };
|
|
123
|
+
}).filter((a) => a.spec && !a.spec.tools && a.explicitTools).map((a) => a.id);
|
|
123
124
|
configReport = {
|
|
124
125
|
name: config.name,
|
|
125
126
|
defaultsProvider,
|
|
@@ -478,14 +479,17 @@ import {
|
|
|
478
479
|
// src/lib.ts
|
|
479
480
|
import {
|
|
480
481
|
detectProviders as detectProviders3,
|
|
482
|
+
hasExplicitTools as hasExplicitTools2,
|
|
481
483
|
presentProviders as presentProviders2,
|
|
482
484
|
resolveCommand as resolveCommand2,
|
|
483
|
-
runtimeRegistry
|
|
485
|
+
runtimeRegistry,
|
|
486
|
+
validateToolsPolicy
|
|
484
487
|
} from "@multiclawcli/core";
|
|
485
488
|
import { agents, defineConfig } from "@multiclawcli/core";
|
|
486
489
|
async function assertRuntimesAvailable(config) {
|
|
487
490
|
const checked = /* @__PURE__ */ new Set();
|
|
488
|
-
|
|
491
|
+
const agents2 = config.leader && config.useLeader !== false && hasExplicitTools2(config.leader) ? [config.leader, ...config.agents] : config.agents;
|
|
492
|
+
for (const agent of agents2) {
|
|
489
493
|
const name = agent.runtime ?? "acp";
|
|
490
494
|
if (!runtimeRegistry.has(name)) {
|
|
491
495
|
const supported = runtimeRegistry.list().join(", ");
|
|
@@ -505,6 +509,12 @@ async function assertRuntimesAvailable(config) {
|
|
|
505
509
|
process.exit(1);
|
|
506
510
|
}
|
|
507
511
|
}
|
|
512
|
+
try {
|
|
513
|
+
await validateToolsPolicy(config);
|
|
514
|
+
} catch (error) {
|
|
515
|
+
console.error(`\x1B[31mError: ${error instanceof Error ? error.message : String(error)}\x1B[0m`);
|
|
516
|
+
process.exit(1);
|
|
517
|
+
}
|
|
508
518
|
}
|
|
509
519
|
|
|
510
520
|
// src/reporters/ConsoleReporter.ts
|
package/dist/lib.js
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
// src/lib.ts
|
|
2
2
|
import {
|
|
3
3
|
detectProviders,
|
|
4
|
+
hasExplicitTools,
|
|
4
5
|
presentProviders,
|
|
5
6
|
resolveCommand,
|
|
6
|
-
runtimeRegistry
|
|
7
|
+
runtimeRegistry,
|
|
8
|
+
validateToolsPolicy
|
|
7
9
|
} from "@multiclawcli/core";
|
|
8
10
|
import { agents, defineConfig } from "@multiclawcli/core";
|
|
9
11
|
async function assertRuntimesAvailable(config) {
|
|
10
12
|
const checked = /* @__PURE__ */ new Set();
|
|
11
|
-
|
|
13
|
+
const agents2 = config.leader && config.useLeader !== false && hasExplicitTools(config.leader) ? [config.leader, ...config.agents] : config.agents;
|
|
14
|
+
for (const agent of agents2) {
|
|
12
15
|
const name = agent.runtime ?? "acp";
|
|
13
16
|
if (!runtimeRegistry.has(name)) {
|
|
14
17
|
const supported = runtimeRegistry.list().join(", ");
|
|
@@ -28,6 +31,12 @@ async function assertRuntimesAvailable(config) {
|
|
|
28
31
|
process.exit(1);
|
|
29
32
|
}
|
|
30
33
|
}
|
|
34
|
+
try {
|
|
35
|
+
await validateToolsPolicy(config);
|
|
36
|
+
} catch (error) {
|
|
37
|
+
console.error(`\x1B[31mError: ${error instanceof Error ? error.message : String(error)}\x1B[0m`);
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
31
40
|
}
|
|
32
41
|
async function availableRuntimes() {
|
|
33
42
|
const detected = await detectProviders();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "multiclaw",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
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.
|
|
34
|
-
"@multiclawcli/dashboard": "0.
|
|
33
|
+
"@multiclawcli/core": "0.7.0",
|
|
34
|
+
"@multiclawcli/dashboard": "0.7.0",
|
|
35
35
|
"commander": "^15.0.0",
|
|
36
36
|
"jiti": "^2.7.0"
|
|
37
37
|
},
|