agentbnb 8.2.0 → 8.2.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/{chunk-TBJ3FZKZ.js → chunk-4IPJJRTP.js} +1 -1
- package/dist/chunk-CKOOVZOI.js +158 -0
- package/dist/chunk-CQFBNTGT.js +145 -0
- package/dist/{chunk-P4LOYSLA.js → chunk-DYQOFGGI.js} +331 -416
- package/dist/{chunk-ALX4WS3A.js → chunk-EG6RS4JC.js} +70 -46
- package/dist/{chunk-CUONY5TO.js → chunk-EJKW57ZV.js} +19 -1
- package/dist/{chunk-5AAFG2V2.js → chunk-LKLKYXLV.js} +239 -24
- package/dist/{chunk-7EF3HYVZ.js → chunk-MCED4GDW.js} +499 -86
- package/dist/{chunk-YHY7OG6S.js → chunk-MWOXW7JQ.js} +7 -7
- package/dist/{chunk-E2OKP5CY.js → chunk-QCGIG7WW.js} +182 -86
- package/dist/{chunk-5GME4KJZ.js → chunk-QHZGOG3O.js} +148 -46
- package/dist/{chunk-D6RKW2XG.js → chunk-RYISHSHB.js} +302 -4
- package/dist/{chunk-O2OYBAVR.js → chunk-S3V6R3EN.js} +75 -39
- package/dist/{chunk-X32NE6V4.js → chunk-WNXXLCV5.js} +1 -1
- package/dist/{chunk-C537SFHV.js → chunk-XBGVQMQJ.js} +72 -48
- package/dist/{chunk-FTZTEHYG.js → chunk-Z2GEFFDO.js} +135 -8
- package/dist/cli/index.js +42 -67
- package/dist/{client-HKV3QWZ3.js → client-XOLP5IUZ.js} +4 -2
- package/dist/{conduct-W6XF6DJW.js → conduct-AZFLNUX3.js} +10 -11
- package/dist/{conduct-YB64OHI6.js → conduct-VPUYTNEA.js} +10 -11
- package/dist/{conductor-mode-AKREGDIU.js → conductor-mode-PLTB6MS3.js} +7 -8
- package/dist/{conductor-mode-TFCVCQHU.js → conductor-mode-WKB42PYM.js} +6 -3
- package/dist/{execute-EPE6MZLT.js → execute-NNDCXTN4.js} +3 -2
- package/dist/{execute-AYQWORVH.js → execute-RIRHTIBU.js} +6 -5
- package/dist/index.d.ts +8 -8
- package/dist/index.js +637 -693
- package/dist/{publish-capability-AH2HDW54.js → publish-capability-QDR2QIZ2.js} +2 -2
- package/dist/{request-HCCXSKAY.js → request-NX7GSPIG.js} +31 -36
- package/dist/{serve-skill-SZAQT5T5.js → serve-skill-E6EJQYAK.js} +10 -9
- package/dist/{server-LMY2A3GT.js → server-VBCT32FC.js} +12 -18
- package/dist/{service-coordinator-WGH6B2VT.js → service-coordinator-KMSA6BST.js} +137 -69
- package/dist/skills/agentbnb/bootstrap.js +561 -247
- package/package.json +13 -17
- package/skills/agentbnb/bootstrap.test.ts +8 -6
- package/skills/agentbnb/bootstrap.ts +21 -13
- package/skills/agentbnb/install.sh +0 -0
- package/dist/chunk-64AK4FJM.js +0 -84
- package/dist/chunk-KF3TZHA5.js +0 -91
- package/dist/chunk-LJM7FHPM.js +0 -138
- package/dist/chunk-OH7BP5NP.js +0 -96
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
searchCards
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RYISHSHB.js";
|
|
4
|
+
import {
|
|
5
|
+
AgentBnBError
|
|
6
|
+
} from "./chunk-WVY2W7AA.js";
|
|
4
7
|
|
|
5
8
|
// src/registry/pricing.ts
|
|
6
9
|
function getPricingStats(db, query) {
|
|
@@ -105,14 +108,137 @@ async function stopAnnouncement() {
|
|
|
105
108
|
}
|
|
106
109
|
const instance = bonjourInstance;
|
|
107
110
|
bonjourInstance = null;
|
|
108
|
-
await new Promise((
|
|
111
|
+
await new Promise((resolve2) => {
|
|
109
112
|
instance.unpublishAll(() => {
|
|
110
113
|
instance.destroy();
|
|
111
|
-
|
|
114
|
+
resolve2();
|
|
112
115
|
});
|
|
113
116
|
});
|
|
114
117
|
}
|
|
115
118
|
|
|
119
|
+
// src/runtime/resolve-self-cli.ts
|
|
120
|
+
import { execFileSync } from "child_process";
|
|
121
|
+
import { existsSync, realpathSync } from "fs";
|
|
122
|
+
import { createRequire } from "module";
|
|
123
|
+
import { homedir } from "os";
|
|
124
|
+
import { basename, isAbsolute, join, resolve } from "path";
|
|
125
|
+
function resolveSelfCli() {
|
|
126
|
+
const require2 = createRequire(import.meta.url);
|
|
127
|
+
return resolveSelfCliWithDeps({
|
|
128
|
+
argv1: process.argv[1],
|
|
129
|
+
cwd: process.cwd(),
|
|
130
|
+
platform: process.platform,
|
|
131
|
+
homeDir: homedir(),
|
|
132
|
+
envPath: process.env["PATH"],
|
|
133
|
+
exists: existsSync,
|
|
134
|
+
realpath: realpathSync,
|
|
135
|
+
runWhich: (pathEnv) => execFileSync("which", ["agentbnb"], {
|
|
136
|
+
encoding: "utf8",
|
|
137
|
+
env: { ...process.env, PATH: pathEnv }
|
|
138
|
+
}).trim(),
|
|
139
|
+
requireResolve: (id) => require2.resolve(id)
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
function resolveSelfCliWithDeps(deps) {
|
|
143
|
+
const tried = [];
|
|
144
|
+
const tryCandidate = (rawPath, label, requireCliShape = false) => {
|
|
145
|
+
if (!rawPath || rawPath.trim().length === 0) {
|
|
146
|
+
tried.push(`${label}: <empty>`);
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
const maybeAbsolute = isAbsolute(rawPath) ? rawPath : resolve(deps.cwd, rawPath);
|
|
150
|
+
tried.push(`${label}: ${maybeAbsolute}`);
|
|
151
|
+
if (!deps.exists(maybeAbsolute)) return null;
|
|
152
|
+
const resolvedPath = safeRealpath(deps.realpath, maybeAbsolute);
|
|
153
|
+
if (requireCliShape && !looksLikeAgentbnbCli(resolvedPath)) return null;
|
|
154
|
+
return resolvedPath;
|
|
155
|
+
};
|
|
156
|
+
const argvPath = tryCandidate(deps.argv1, "process.argv[1]", true);
|
|
157
|
+
if (argvPath) return argvPath;
|
|
158
|
+
const fullPathEnv = buildFullPathEnv(deps.envPath, deps.homeDir);
|
|
159
|
+
tried.push(`which agentbnb PATH=${fullPathEnv}`);
|
|
160
|
+
try {
|
|
161
|
+
const whichPath = tryCandidate(deps.runWhich(fullPathEnv), "which agentbnb");
|
|
162
|
+
if (whichPath) return whichPath;
|
|
163
|
+
} catch (err) {
|
|
164
|
+
tried.push(`which agentbnb failed: ${extractErrorMessage(err)}`);
|
|
165
|
+
}
|
|
166
|
+
const npmGlobalCandidates = ["/usr/local/bin/agentbnb", "/opt/homebrew/bin/agentbnb"];
|
|
167
|
+
for (const candidate of npmGlobalCandidates) {
|
|
168
|
+
const resolvedPath = tryCandidate(candidate, "npm-global");
|
|
169
|
+
if (resolvedPath) return resolvedPath;
|
|
170
|
+
}
|
|
171
|
+
const pnpmCandidates = getPnpmGlobalCandidates(deps.platform, deps.homeDir);
|
|
172
|
+
for (const candidate of pnpmCandidates) {
|
|
173
|
+
const resolvedPath = tryCandidate(candidate, "pnpm-global");
|
|
174
|
+
if (resolvedPath) return resolvedPath;
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
const requireResolved = deps.requireResolve("agentbnb/dist/cli/index.js");
|
|
178
|
+
const resolvedPath = tryCandidate(requireResolved, "require.resolve(agentbnb/dist/cli/index.js)");
|
|
179
|
+
if (resolvedPath) return resolvedPath;
|
|
180
|
+
} catch (err) {
|
|
181
|
+
tried.push(`require.resolve(agentbnb/dist/cli/index.js) failed: ${extractErrorMessage(err)}`);
|
|
182
|
+
}
|
|
183
|
+
throw new AgentBnBError(
|
|
184
|
+
`Unable to resolve absolute path to agentbnb CLI.
|
|
185
|
+
Paths tried:
|
|
186
|
+
${tried.map((item) => `- ${item}`).join("\n")}`,
|
|
187
|
+
"CLI_ENTRY_NOT_FOUND"
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
function buildFullPathEnv(pathEnv, homeDir) {
|
|
191
|
+
const values = /* @__PURE__ */ new Set();
|
|
192
|
+
for (const item of (pathEnv ?? "").split(":")) {
|
|
193
|
+
if (item.trim()) values.add(item.trim());
|
|
194
|
+
}
|
|
195
|
+
for (const extra of [
|
|
196
|
+
"/usr/local/bin",
|
|
197
|
+
"/opt/homebrew/bin",
|
|
198
|
+
"/usr/bin",
|
|
199
|
+
"/bin",
|
|
200
|
+
"/usr/sbin",
|
|
201
|
+
"/sbin",
|
|
202
|
+
join(homeDir, ".local", "bin"),
|
|
203
|
+
join(homeDir, "Library", "pnpm"),
|
|
204
|
+
join(homeDir, ".local", "share", "pnpm")
|
|
205
|
+
]) {
|
|
206
|
+
values.add(extra);
|
|
207
|
+
}
|
|
208
|
+
return [...values].join(":");
|
|
209
|
+
}
|
|
210
|
+
function safeRealpath(realpath, path) {
|
|
211
|
+
try {
|
|
212
|
+
return realpath(path);
|
|
213
|
+
} catch {
|
|
214
|
+
return path;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function getPnpmGlobalCandidates(platform, homeDir) {
|
|
218
|
+
const candidates = /* @__PURE__ */ new Set();
|
|
219
|
+
if (platform === "darwin") {
|
|
220
|
+
candidates.add(join(homeDir, "Library", "pnpm", "agentbnb"));
|
|
221
|
+
}
|
|
222
|
+
if (platform === "linux") {
|
|
223
|
+
candidates.add(join(homeDir, ".local", "share", "pnpm", "agentbnb"));
|
|
224
|
+
}
|
|
225
|
+
candidates.add(join(homeDir, "Library", "pnpm", "agentbnb"));
|
|
226
|
+
candidates.add(join(homeDir, ".local", "share", "pnpm", "agentbnb"));
|
|
227
|
+
return [...candidates];
|
|
228
|
+
}
|
|
229
|
+
function looksLikeAgentbnbCli(path) {
|
|
230
|
+
const normalized = path.replace(/\\/g, "/").toLowerCase();
|
|
231
|
+
const fileName = basename(normalized);
|
|
232
|
+
if (fileName === "agentbnb" || fileName === "agentbnb.cmd" || fileName === "agentbnb.exe") {
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
return normalized.includes("/agentbnb/dist/cli/index.") || normalized.endsWith("/dist/cli/index.js") || normalized.endsWith("/dist/cli/index.mjs") || normalized.endsWith("/dist/cli/index.cjs");
|
|
236
|
+
}
|
|
237
|
+
function extractErrorMessage(err) {
|
|
238
|
+
if (err instanceof Error && err.message) return err.message;
|
|
239
|
+
return String(err);
|
|
240
|
+
}
|
|
241
|
+
|
|
116
242
|
// src/cli/onboarding.ts
|
|
117
243
|
import { randomUUID } from "crypto";
|
|
118
244
|
import { createConnection } from "net";
|
|
@@ -234,20 +360,20 @@ function detectApiKeys(knownKeys) {
|
|
|
234
360
|
return knownKeys.filter((key) => key in process.env);
|
|
235
361
|
}
|
|
236
362
|
async function isPortOpen(port, host = "127.0.0.1", timeoutMs = 300) {
|
|
237
|
-
return new Promise((
|
|
363
|
+
return new Promise((resolve2) => {
|
|
238
364
|
const socket = createConnection({ port, host });
|
|
239
365
|
const timer = setTimeout(() => {
|
|
240
366
|
socket.destroy();
|
|
241
|
-
|
|
367
|
+
resolve2(false);
|
|
242
368
|
}, timeoutMs);
|
|
243
369
|
socket.on("connect", () => {
|
|
244
370
|
clearTimeout(timer);
|
|
245
371
|
socket.destroy();
|
|
246
|
-
|
|
372
|
+
resolve2(true);
|
|
247
373
|
});
|
|
248
374
|
socket.on("error", () => {
|
|
249
375
|
clearTimeout(timer);
|
|
250
|
-
|
|
376
|
+
resolve2(false);
|
|
251
377
|
});
|
|
252
378
|
});
|
|
253
379
|
}
|
|
@@ -290,5 +416,6 @@ export {
|
|
|
290
416
|
KNOWN_API_KEYS,
|
|
291
417
|
detectApiKeys,
|
|
292
418
|
detectOpenPorts,
|
|
293
|
-
buildDraftCard
|
|
419
|
+
buildDraftCard,
|
|
420
|
+
resolveSelfCli
|
|
294
421
|
};
|
package/dist/cli/index.js
CHANGED
|
@@ -5,58 +5,52 @@ import {
|
|
|
5
5
|
detectApiKeys,
|
|
6
6
|
detectOpenPorts,
|
|
7
7
|
discoverLocalAgents,
|
|
8
|
-
getPricingStats
|
|
9
|
-
|
|
8
|
+
getPricingStats,
|
|
9
|
+
resolveSelfCli
|
|
10
|
+
} from "../chunk-Z2GEFFDO.js";
|
|
10
11
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
createLedger,
|
|
13
|
+
ensureIdentity,
|
|
14
|
+
loadOrRepairIdentity
|
|
15
|
+
} from "../chunk-LKLKYXLV.js";
|
|
13
16
|
import {
|
|
14
17
|
releaseRequesterEscrow,
|
|
15
18
|
settleRequesterEscrow
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import {
|
|
18
|
-
createLedger
|
|
19
|
-
} from "../chunk-5AAFG2V2.js";
|
|
20
|
-
import {
|
|
21
|
-
parseSoulMd
|
|
22
|
-
} from "../chunk-TBJ3FZKZ.js";
|
|
19
|
+
} from "../chunk-WNXXLCV5.js";
|
|
23
20
|
import {
|
|
24
21
|
AutoRequestor,
|
|
25
22
|
BudgetManager,
|
|
26
23
|
DEFAULT_BUDGET_CONFIG
|
|
27
|
-
} from "../chunk-
|
|
28
|
-
import {
|
|
29
|
-
fetchRemoteCards,
|
|
30
|
-
mergeResults
|
|
31
|
-
} from "../chunk-KF3TZHA5.js";
|
|
24
|
+
} from "../chunk-QHZGOG3O.js";
|
|
32
25
|
import {
|
|
33
26
|
DEFAULT_AUTONOMY_CONFIG
|
|
34
27
|
} from "../chunk-GKVTD4EZ.js";
|
|
35
|
-
import
|
|
36
|
-
filterCards,
|
|
37
|
-
searchCards
|
|
38
|
-
} from "../chunk-LJM7FHPM.js";
|
|
28
|
+
import "../chunk-CQFBNTGT.js";
|
|
39
29
|
import {
|
|
40
30
|
bootstrapAgent,
|
|
41
31
|
createAgentRecord,
|
|
32
|
+
fetchRemoteCards,
|
|
33
|
+
filterCards,
|
|
42
34
|
getBalance,
|
|
43
35
|
getTransactions,
|
|
44
36
|
holdEscrow,
|
|
45
37
|
lookupAgent,
|
|
46
38
|
lookupAgentByOwner,
|
|
39
|
+
mergeResults,
|
|
47
40
|
migrateOwner,
|
|
48
|
-
openCreditDb
|
|
49
|
-
|
|
41
|
+
openCreditDb,
|
|
42
|
+
searchCards
|
|
43
|
+
} from "../chunk-RYISHSHB.js";
|
|
50
44
|
import "../chunk-NWIQJ2CL.js";
|
|
51
45
|
import {
|
|
52
46
|
requestCapability
|
|
53
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-CKOOVZOI.js";
|
|
54
48
|
import {
|
|
55
49
|
generateKeyPair,
|
|
56
50
|
loadKeyPair,
|
|
57
51
|
saveKeyPair,
|
|
58
52
|
signEscrowReceipt
|
|
59
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-EJKW57ZV.js";
|
|
60
54
|
import {
|
|
61
55
|
findPeer,
|
|
62
56
|
loadPeers,
|
|
@@ -68,13 +62,16 @@ import {
|
|
|
68
62
|
loadConfig,
|
|
69
63
|
saveConfig
|
|
70
64
|
} from "../chunk-75OC6E4F.js";
|
|
65
|
+
import {
|
|
66
|
+
parseSoulMd
|
|
67
|
+
} from "../chunk-4IPJJRTP.js";
|
|
71
68
|
import {
|
|
72
69
|
deleteCard,
|
|
73
70
|
getCard,
|
|
74
71
|
insertCard,
|
|
75
72
|
listCards,
|
|
76
73
|
openDatabase
|
|
77
|
-
} from "../chunk-
|
|
74
|
+
} from "../chunk-S3V6R3EN.js";
|
|
78
75
|
import {
|
|
79
76
|
AgentBnBError,
|
|
80
77
|
AnyCardSchema,
|
|
@@ -528,14 +525,7 @@ function getLanIp() {
|
|
|
528
525
|
}
|
|
529
526
|
function loadIdentityAuth(owner) {
|
|
530
527
|
const configDir = getConfigDir();
|
|
531
|
-
|
|
532
|
-
try {
|
|
533
|
-
keys = loadKeyPair(configDir);
|
|
534
|
-
} catch {
|
|
535
|
-
keys = generateKeyPair();
|
|
536
|
-
saveKeyPair(configDir, keys);
|
|
537
|
-
}
|
|
538
|
-
const identity = ensureIdentity(configDir, owner);
|
|
528
|
+
const { identity, keys } = loadOrRepairIdentity(configDir, owner);
|
|
539
529
|
return {
|
|
540
530
|
agentId: identity.agent_id,
|
|
541
531
|
publicKey: identity.public_key,
|
|
@@ -563,15 +553,9 @@ async function performInit(opts) {
|
|
|
563
553
|
...existingConfig?.registry ? { registry: existingConfig.registry } : yesMode ? { registry: "https://agentbnb.fly.dev" } : {}
|
|
564
554
|
};
|
|
565
555
|
saveConfig(config);
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
} catch {
|
|
570
|
-
const keys = generateKeyPair();
|
|
571
|
-
saveKeyPair(configDir, keys);
|
|
572
|
-
keypairStatus = "generated";
|
|
573
|
-
}
|
|
574
|
-
const identity = ensureIdentity(configDir, owner);
|
|
556
|
+
const identityMaterial = loadOrRepairIdentity(configDir, owner);
|
|
557
|
+
const identity = identityMaterial.identity;
|
|
558
|
+
const keypairStatus = identityMaterial.status === "generated" ? "generated" : "existing";
|
|
575
559
|
const creditDb = openCreditDb(creditDbPath);
|
|
576
560
|
if (existingConfig?.owner && existingConfig.owner !== owner) {
|
|
577
561
|
migrateOwner(creditDb, existingConfig.owner, owner);
|
|
@@ -802,7 +786,6 @@ Publish these ${card.skills.length} capabilities? [y/N] `);
|
|
|
802
786
|
import { existsSync as existsSync3, readFileSync as readFileSync3, writeFileSync as writeFileSync2 } from "fs";
|
|
803
787
|
import { join as join3 } from "path";
|
|
804
788
|
import { homedir } from "os";
|
|
805
|
-
import { execSync } from "child_process";
|
|
806
789
|
var SKILLS_YAML_TEMPLATE = `skills:
|
|
807
790
|
# General-purpose AI task execution via Claude Code CLI
|
|
808
791
|
- id: claude-code-run
|
|
@@ -862,23 +845,12 @@ function registerMcpWithClaudeCode() {
|
|
|
862
845
|
};
|
|
863
846
|
}
|
|
864
847
|
const settingsPath = join3(claudeDir, "settings.json");
|
|
865
|
-
let agentbnbCommand
|
|
848
|
+
let agentbnbCommand;
|
|
866
849
|
try {
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
const scriptPath = process.argv[1];
|
|
872
|
-
if (scriptPath && existsSync3(scriptPath)) {
|
|
873
|
-
agentbnbCommand = scriptPath;
|
|
874
|
-
}
|
|
875
|
-
} catch {
|
|
876
|
-
}
|
|
877
|
-
}
|
|
878
|
-
if (agentbnbCommand === "agentbnb") {
|
|
879
|
-
console.warn(
|
|
880
|
-
"Warning: Could not resolve absolute path to agentbnb binary.\n Claude Code MCP may not work. Install globally first:\n npm install -g agentbnb"
|
|
881
|
-
);
|
|
850
|
+
agentbnbCommand = resolveSelfCli();
|
|
851
|
+
} catch (err) {
|
|
852
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
853
|
+
return { registered: false, path: settingsPath, reason: `MCP registration skipped: ${reason}` };
|
|
882
854
|
}
|
|
883
855
|
let settings = {};
|
|
884
856
|
if (existsSync3(settingsPath)) {
|
|
@@ -893,7 +865,10 @@ function registerMcpWithClaudeCode() {
|
|
|
893
865
|
}
|
|
894
866
|
}
|
|
895
867
|
const mcpServers = settings.mcpServers ?? {};
|
|
896
|
-
|
|
868
|
+
const existingEntry = mcpServers.agentbnb;
|
|
869
|
+
const existingCommand = typeof existingEntry?.command === "string" ? existingEntry.command : void 0;
|
|
870
|
+
const existingArgs = Array.isArray(existingEntry?.args) ? existingEntry.args : void 0;
|
|
871
|
+
if (existingCommand === agentbnbCommand && existingArgs?.length === 1 && existingArgs[0] === "mcp-server") {
|
|
897
872
|
return { registered: false, path: settingsPath, reason: "already registered" };
|
|
898
873
|
}
|
|
899
874
|
mcpServers.agentbnb = {
|
|
@@ -944,7 +919,7 @@ Skills: ${skills.skillCount} skill(s) in ${skills.path}`);
|
|
|
944
919
|
if (!skipServe) {
|
|
945
920
|
try {
|
|
946
921
|
const { ProcessGuard } = await import("../process-guard-GH5LRNWO.js");
|
|
947
|
-
const { ServiceCoordinator } = await import("../service-coordinator-
|
|
922
|
+
const { ServiceCoordinator } = await import("../service-coordinator-KMSA6BST.js");
|
|
948
923
|
const guard = new ProcessGuard(join3(initResult.configDir, ".pid"));
|
|
949
924
|
const coordinator = new ServiceCoordinator(initResult.config, guard);
|
|
950
925
|
const result = await coordinator.ensureRunning({
|
|
@@ -1006,7 +981,7 @@ Skills: ${skills.skillCount} skill(s) in ${skills.path}`);
|
|
|
1006
981
|
}
|
|
1007
982
|
|
|
1008
983
|
// src/cli/index.ts
|
|
1009
|
-
var VERSION = "8.2.
|
|
984
|
+
var VERSION = "8.2.2";
|
|
1010
985
|
function loadIdentityAuth2(owner) {
|
|
1011
986
|
const configDir = getConfigDir();
|
|
1012
987
|
let keys;
|
|
@@ -1187,7 +1162,7 @@ program.command("publish-skills").description("Publish capabilities from skills.
|
|
|
1187
1162
|
process.exit(1);
|
|
1188
1163
|
}
|
|
1189
1164
|
const { parseSkillsFile } = await import("../skill-config-FETXPNVP.js");
|
|
1190
|
-
const { skillConfigToSkill } = await import("../publish-capability-
|
|
1165
|
+
const { skillConfigToSkill } = await import("../publish-capability-QDR2QIZ2.js");
|
|
1191
1166
|
const skillsPath = typeof opts.fromSkills === "string" ? opts.fromSkills : "./skills.yaml";
|
|
1192
1167
|
let yamlContent;
|
|
1193
1168
|
try {
|
|
@@ -1721,7 +1696,7 @@ Batch Results (${res.results.length} items):`);
|
|
|
1721
1696
|
};
|
|
1722
1697
|
const tryViaRelay = async () => {
|
|
1723
1698
|
const { RelayClient } = await import("../websocket-client-QOVARTRN.js");
|
|
1724
|
-
const { requestViaRelay } = await import("../client-
|
|
1699
|
+
const { requestViaRelay } = await import("../client-XOLP5IUZ.js");
|
|
1725
1700
|
const requesterId = `${config.owner}:req:${randomUUID4()}`;
|
|
1726
1701
|
const tempRelay = new RelayClient({
|
|
1727
1702
|
registryUrl: config.registry,
|
|
@@ -1851,7 +1826,7 @@ program.command("serve").description("Start the AgentBnB gateway server").option
|
|
|
1851
1826
|
process.exit(1);
|
|
1852
1827
|
}
|
|
1853
1828
|
const { ProcessGuard } = await import("../process-guard-GH5LRNWO.js");
|
|
1854
|
-
const { ServiceCoordinator } = await import("../service-coordinator-
|
|
1829
|
+
const { ServiceCoordinator } = await import("../service-coordinator-KMSA6BST.js");
|
|
1855
1830
|
const port = opts.port ? parseInt(opts.port, 10) : config.gateway_port;
|
|
1856
1831
|
const registryPort = parseInt(opts.registryPort, 10);
|
|
1857
1832
|
if (!Number.isFinite(port) || !Number.isFinite(registryPort)) {
|
|
@@ -2225,7 +2200,7 @@ openclaw.command("rules").description("Print HEARTBEAT.md rules block (or inject
|
|
|
2225
2200
|
}
|
|
2226
2201
|
});
|
|
2227
2202
|
program.command("conduct <task>").description("Orchestrate a complex task across the AgentBnB network").option("--plan-only", "Show execution plan without executing").option("--max-budget <credits>", "Maximum credits to spend", "100").option("--json", "Output as JSON").action(async (task, opts) => {
|
|
2228
|
-
const { conductAction } = await import("../conduct-
|
|
2203
|
+
const { conductAction } = await import("../conduct-VPUYTNEA.js");
|
|
2229
2204
|
const result = await conductAction(task, opts);
|
|
2230
2205
|
if (opts.json) {
|
|
2231
2206
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -2337,7 +2312,7 @@ Feedback for skill: ${opts.skill} (${feedbacks.length} entries)
|
|
|
2337
2312
|
});
|
|
2338
2313
|
program.command("quickstart").alias("qs").description("One-command setup: init + skills.yaml + MCP registration + serve daemon").option("--owner <name>", "Agent owner name").option("--port <port>", "Gateway port", "7700").option("--no-serve", "Skip starting background daemon").option("--no-mcp", "Skip MCP registration with Claude Code").option("--json", "Output as JSON").action(runQuickstart);
|
|
2339
2314
|
program.command("mcp-server").description("Start an MCP (Model Context Protocol) server for IDE integration").action(async () => {
|
|
2340
|
-
const { startMcpServer } = await import("../server-
|
|
2315
|
+
const { startMcpServer } = await import("../server-VBCT32FC.js");
|
|
2341
2316
|
await startMcpServer();
|
|
2342
2317
|
});
|
|
2343
2318
|
await program.parseAsync(process.argv);
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
requestCapability,
|
|
3
|
+
requestCapabilityBatch,
|
|
3
4
|
requestViaRelay
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-CKOOVZOI.js";
|
|
6
|
+
import "./chunk-EJKW57ZV.js";
|
|
6
7
|
import "./chunk-WVY2W7AA.js";
|
|
7
8
|
export {
|
|
8
9
|
requestCapability,
|
|
10
|
+
requestCapabilityBatch,
|
|
9
11
|
requestViaRelay
|
|
10
12
|
};
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
conductAction
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-SSK653A6.js";
|
|
6
|
-
import "./chunk-E2OKP5CY.js";
|
|
3
|
+
} from "./chunk-MWOXW7JQ.js";
|
|
4
|
+
import "./chunk-QCGIG7WW.js";
|
|
7
5
|
import "./chunk-3MJT4PZG.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-KF3TZHA5.js";
|
|
6
|
+
import "./chunk-QHZGOG3O.js";
|
|
10
7
|
import "./chunk-GKVTD4EZ.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-CQFBNTGT.js";
|
|
9
|
+
import "./chunk-RYISHSHB.js";
|
|
13
10
|
import "./chunk-NWIQJ2CL.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-CKOOVZOI.js";
|
|
12
|
+
import "./chunk-EJKW57ZV.js";
|
|
16
13
|
import "./chunk-5AH3CMOX.js";
|
|
17
14
|
import "./chunk-75OC6E4F.js";
|
|
18
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-Z4MCGKTL.js";
|
|
16
|
+
import "./chunk-SSK653A6.js";
|
|
17
|
+
import "./chunk-S3V6R3EN.js";
|
|
19
18
|
import "./chunk-WVY2W7AA.js";
|
|
20
19
|
|
|
21
20
|
// src/mcp/tools/conduct.ts
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
conductAction
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-SSK653A6.js";
|
|
6
|
-
import "./chunk-E2OKP5CY.js";
|
|
3
|
+
} from "./chunk-MWOXW7JQ.js";
|
|
4
|
+
import "./chunk-QCGIG7WW.js";
|
|
7
5
|
import "./chunk-3MJT4PZG.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-KF3TZHA5.js";
|
|
6
|
+
import "./chunk-QHZGOG3O.js";
|
|
10
7
|
import "./chunk-GKVTD4EZ.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-CQFBNTGT.js";
|
|
9
|
+
import "./chunk-RYISHSHB.js";
|
|
13
10
|
import "./chunk-NWIQJ2CL.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-CKOOVZOI.js";
|
|
12
|
+
import "./chunk-EJKW57ZV.js";
|
|
16
13
|
import "./chunk-5AH3CMOX.js";
|
|
17
14
|
import "./chunk-75OC6E4F.js";
|
|
18
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-Z4MCGKTL.js";
|
|
16
|
+
import "./chunk-SSK653A6.js";
|
|
17
|
+
import "./chunk-S3V6R3EN.js";
|
|
19
18
|
import "./chunk-WVY2W7AA.js";
|
|
20
19
|
export {
|
|
21
20
|
conductAction
|
|
@@ -4,26 +4,25 @@ import {
|
|
|
4
4
|
matchSubTasks,
|
|
5
5
|
orchestrate,
|
|
6
6
|
validateAndNormalizeSubtasks
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QCGIG7WW.js";
|
|
8
8
|
import "./chunk-3MJT4PZG.js";
|
|
9
9
|
import {
|
|
10
10
|
BudgetManager
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-KF3TZHA5.js";
|
|
11
|
+
} from "./chunk-QHZGOG3O.js";
|
|
13
12
|
import "./chunk-GKVTD4EZ.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-CQFBNTGT.js";
|
|
14
|
+
import "./chunk-RYISHSHB.js";
|
|
16
15
|
import "./chunk-NWIQJ2CL.js";
|
|
17
16
|
import {
|
|
18
17
|
requestCapability
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-CKOOVZOI.js";
|
|
19
|
+
import "./chunk-EJKW57ZV.js";
|
|
21
20
|
import "./chunk-5AH3CMOX.js";
|
|
22
21
|
import "./chunk-75OC6E4F.js";
|
|
23
22
|
import {
|
|
24
23
|
getCardsByCapabilityType,
|
|
25
24
|
getCardsBySkillCapability
|
|
26
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-S3V6R3EN.js";
|
|
27
26
|
import "./chunk-WVY2W7AA.js";
|
|
28
27
|
|
|
29
28
|
// src/conductor/team-formation.ts
|
|
@@ -4,15 +4,18 @@ import {
|
|
|
4
4
|
decompose,
|
|
5
5
|
matchSubTasks,
|
|
6
6
|
orchestrate,
|
|
7
|
-
requestCapability,
|
|
8
7
|
validateAndNormalizeSubtasks
|
|
9
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DYQOFGGI.js";
|
|
9
|
+
import {
|
|
10
|
+
requestCapability
|
|
11
|
+
} from "./chunk-CKOOVZOI.js";
|
|
10
12
|
import "./chunk-HLUEOLSZ.js";
|
|
11
13
|
import {
|
|
12
14
|
getCardsByCapabilityType,
|
|
13
15
|
getCardsBySkillCapability
|
|
14
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-MCED4GDW.js";
|
|
15
17
|
import "./chunk-NWIQJ2CL.js";
|
|
18
|
+
import "./chunk-EJKW57ZV.js";
|
|
16
19
|
import "./chunk-IVOYM3WG.js";
|
|
17
20
|
import "./chunk-WVY2W7AA.js";
|
|
18
21
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
executeCapabilityBatch,
|
|
3
3
|
executeCapabilityRequest
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-EG6RS4JC.js";
|
|
5
|
+
import "./chunk-MCED4GDW.js";
|
|
6
6
|
import "./chunk-NWIQJ2CL.js";
|
|
7
|
+
import "./chunk-EJKW57ZV.js";
|
|
7
8
|
import "./chunk-IVOYM3WG.js";
|
|
8
9
|
import "./chunk-WVY2W7AA.js";
|
|
9
10
|
export {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
executeCapabilityBatch,
|
|
3
3
|
executeCapabilityRequest
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-XBGVQMQJ.js";
|
|
5
|
+
import "./chunk-WNXXLCV5.js";
|
|
6
|
+
import "./chunk-CQFBNTGT.js";
|
|
7
|
+
import "./chunk-RYISHSHB.js";
|
|
7
8
|
import "./chunk-NWIQJ2CL.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-EJKW57ZV.js";
|
|
9
10
|
import "./chunk-75OC6E4F.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-S3V6R3EN.js";
|
|
11
12
|
import "./chunk-WVY2W7AA.js";
|
|
12
13
|
export {
|
|
13
14
|
executeCapabilityBatch,
|
package/dist/index.d.ts
CHANGED
|
@@ -896,8 +896,8 @@ declare const ApiSkillConfigSchema: z.ZodObject<{
|
|
|
896
896
|
key: z.ZodString;
|
|
897
897
|
}, "strip", z.ZodTypeAny, {
|
|
898
898
|
type: "apikey";
|
|
899
|
-
header: string;
|
|
900
899
|
key: string;
|
|
900
|
+
header: string;
|
|
901
901
|
}, {
|
|
902
902
|
type: "apikey";
|
|
903
903
|
key: string;
|
|
@@ -968,8 +968,8 @@ declare const ApiSkillConfigSchema: z.ZodObject<{
|
|
|
968
968
|
token: string;
|
|
969
969
|
} | {
|
|
970
970
|
type: "apikey";
|
|
971
|
-
header: string;
|
|
972
971
|
key: string;
|
|
972
|
+
header: string;
|
|
973
973
|
} | {
|
|
974
974
|
type: "basic";
|
|
975
975
|
username: string;
|
|
@@ -1392,8 +1392,8 @@ declare const SkillConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
1392
1392
|
key: z.ZodString;
|
|
1393
1393
|
}, "strip", z.ZodTypeAny, {
|
|
1394
1394
|
type: "apikey";
|
|
1395
|
-
header: string;
|
|
1396
1395
|
key: string;
|
|
1396
|
+
header: string;
|
|
1397
1397
|
}, {
|
|
1398
1398
|
type: "apikey";
|
|
1399
1399
|
key: string;
|
|
@@ -1464,8 +1464,8 @@ declare const SkillConfigSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
|
|
|
1464
1464
|
token: string;
|
|
1465
1465
|
} | {
|
|
1466
1466
|
type: "apikey";
|
|
1467
|
-
header: string;
|
|
1468
1467
|
key: string;
|
|
1468
|
+
header: string;
|
|
1469
1469
|
} | {
|
|
1470
1470
|
type: "basic";
|
|
1471
1471
|
username: string;
|
|
@@ -1869,8 +1869,8 @@ declare const SkillsFileSchema: z.ZodObject<{
|
|
|
1869
1869
|
key: z.ZodString;
|
|
1870
1870
|
}, "strip", z.ZodTypeAny, {
|
|
1871
1871
|
type: "apikey";
|
|
1872
|
-
header: string;
|
|
1873
1872
|
key: string;
|
|
1873
|
+
header: string;
|
|
1874
1874
|
}, {
|
|
1875
1875
|
type: "apikey";
|
|
1876
1876
|
key: string;
|
|
@@ -1941,8 +1941,8 @@ declare const SkillsFileSchema: z.ZodObject<{
|
|
|
1941
1941
|
token: string;
|
|
1942
1942
|
} | {
|
|
1943
1943
|
type: "apikey";
|
|
1944
|
-
header: string;
|
|
1945
1944
|
key: string;
|
|
1945
|
+
header: string;
|
|
1946
1946
|
} | {
|
|
1947
1947
|
type: "basic";
|
|
1948
1948
|
username: string;
|
|
@@ -2345,8 +2345,8 @@ declare const SkillsFileSchema: z.ZodObject<{
|
|
|
2345
2345
|
token: string;
|
|
2346
2346
|
} | {
|
|
2347
2347
|
type: "apikey";
|
|
2348
|
-
header: string;
|
|
2349
2348
|
key: string;
|
|
2349
|
+
header: string;
|
|
2350
2350
|
} | {
|
|
2351
2351
|
type: "basic";
|
|
2352
2352
|
username: string;
|
|
@@ -4212,7 +4212,7 @@ interface OrchestrateOptions {
|
|
|
4212
4212
|
*
|
|
4213
4213
|
* Execution flow:
|
|
4214
4214
|
* 1. Computes execution waves from dependency graph
|
|
4215
|
-
* 2. For each wave,
|
|
4215
|
+
* 2. For each wave, groups same-agent tasks for batch JSON-RPC
|
|
4216
4216
|
* 3. Before each task, interpolates params against completed step outputs
|
|
4217
4217
|
* 4. On failure, retries with the first alternative agent from MatchResult
|
|
4218
4218
|
* 5. Tracks per-task spending and total credits
|