agentbnb 9.2.0 → 9.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/README.md +22 -0
- package/dist/{card-VVXNKHDX.js → card-L3ZPPBVI.js} +2 -2
- package/dist/{chunk-Z7XWQ63B.js → chunk-2KSRFDKF.js} +1 -1
- package/dist/{chunk-WEZ7PSOE.js → chunk-563ZZUOA.js} +56 -22
- package/dist/chunk-5FXLZ5FX.js +16 -0
- package/dist/{chunk-ELFGYC22.js → chunk-7YJOBVWN.js} +3 -0
- package/dist/{chunk-V5TJXK3F.js → chunk-COOBXNXU.js} +5 -5
- package/dist/{chunk-EC6DIVE5.js → chunk-CPSV5WR2.js} +1 -1
- package/dist/{process-guard-6324CZDC.js → chunk-DG4FQ4MD.js} +1 -1
- package/dist/{chunk-MPS4RE7T.js → chunk-DT2IEL5U.js} +11 -0
- package/dist/chunk-EMVVFP2L.js +54 -0
- package/dist/{chunk-FK54LVDR.js → chunk-FVLHEI3Y.js} +5 -5
- package/dist/chunk-GIK2AZQH.js +23 -0
- package/dist/{chunk-B6AKTLXB.js → chunk-NISX3N7K.js} +16 -7
- package/dist/{chunk-CMGJ52SX.js → chunk-NLGLGR2K.js} +1 -1
- package/dist/{chunk-RNALIVRR.js → chunk-OFIRWD6B.js} +1 -1
- package/dist/{chunk-GGRH5PCD.js → chunk-OI46BKQF.js} +9 -9
- package/dist/{chunk-MQIT2F5V.js → chunk-OTAZIF65.js} +1 -1
- package/dist/{chunk-KKFP5Y2Z.js → chunk-OXU4QJSZ.js} +2 -2
- package/dist/{chunk-53Q2HHHH.js → chunk-PFAEZI32.js} +9 -9
- package/dist/{chunk-D7NH6YLM.js → chunk-UJXDBOKV.js} +12 -1
- package/dist/{chunk-UPWAXWY2.js → chunk-VDYHCI5F.js} +22 -1
- package/dist/{chunk-QG2LLVXP.js → chunk-WA23XRTN.js} +1 -1
- package/dist/cli/index.js +787 -97
- package/dist/{conduct-QLWXU2ZU.js → conduct-65BGO2EU.js} +13 -11
- package/dist/{conduct-JRLLA4PB.js → conduct-AALDEKTH.js} +13 -11
- package/dist/{conductor-mode-PFO2VLH6.js → conductor-mode-6S6ADNLW.js} +15 -15
- package/dist/{conductor-mode-66IITI4I.js → conductor-mode-HJHU4XLT.js} +2 -2
- package/dist/{credits-action-XERUEDF3.js → credits-action-CLLPNRDT.js} +15 -6
- package/dist/{execute-NOQVN7ZG.js → execute-R5STYWLD.js} +10 -10
- package/dist/{execute-YBNCDAOX.js → execute-YMPHTJPN.js} +2 -2
- package/dist/{openclaw-setup-4RIZRMXA.js → openclaw-setup-HUOBTGN4.js} +14 -12
- package/dist/{openclaw-skills-TQ2JVBRM.js → openclaw-skills-74372B6I.js} +2 -2
- package/dist/process-guard-IUMZ2GSD.js +8 -0
- package/dist/{publish-capability-2FMD3K6Z.js → publish-capability-OYXXXYAU.js} +3 -3
- package/dist/remote-registry-5TM7DMCO.js +16 -0
- package/dist/{request-EYN4CVXC.js → request-NEA66RCW.js} +63 -21
- package/dist/{serve-skill-NWERGVH5.js → serve-skill-VKNRBVWE.js} +16 -15
- package/dist/{server-UPOPLZ24.js → server-4TACULIV.js} +21 -17
- package/dist/{service-coordinator-ZOZTW2U6.js → service-coordinator-RE2KPWO4.js} +91 -31
- package/dist/{session-action-OSBZB4TX.js → session-action-UBWJTQVQ.js} +17 -2
- package/dist/skills/agentbnb/bootstrap.js +213 -24
- package/dist/{store-74EWU77V.js → store-GJJFFEQZ.js} +2 -2
- package/dist/{vc-action-A6VBKERF.js → vc-action-72TQVMY2.js} +13 -3
- package/openclaw.plugin.json +36 -5
- package/package.json +12 -18
- package/skills/agentbnb/SKILL.md +106 -75
- package/skills/agentbnb/install.sh +0 -0
- package/dist/{chunk-C56X7EFJ.js → chunk-QE42IJC4.js} +3 -3
- package/dist/{daemon-ETXXE4IS.js → daemon-OM2K3U7J.js} +1 -1
- package/dist/{did-action-ODWTBVXL.js → did-action-ERXWCVEJ.js} +1 -1
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
conductAction
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-NISX3N7K.js";
|
|
4
|
+
import "./chunk-COOBXNXU.js";
|
|
5
5
|
import "./chunk-3MJT4PZG.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-GIK2AZQH.js";
|
|
7
|
+
import "./chunk-5FXLZ5FX.js";
|
|
8
|
+
import "./chunk-OI46BKQF.js";
|
|
7
9
|
import "./chunk-5PV5YCSN.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-QG2LLVXP.js";
|
|
10
|
+
import "./chunk-FVLHEI3Y.js";
|
|
11
|
+
import "./chunk-WA23XRTN.js";
|
|
11
12
|
import "./chunk-G5WKW3ED.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-CPSV5WR2.js";
|
|
14
|
+
import "./chunk-UJXDBOKV.js";
|
|
15
|
+
import "./chunk-QE42IJC4.js";
|
|
16
|
+
import "./chunk-4XTYT4JW.js";
|
|
15
17
|
import "./chunk-GZUTU6IZ.js";
|
|
16
18
|
import "./chunk-UPNREF4L.js";
|
|
17
19
|
import "./chunk-Q5OFZ2JR.js";
|
|
@@ -20,10 +22,10 @@ import "./chunk-IWAK4WHK.js";
|
|
|
20
22
|
import "./chunk-65GNX2KC.js";
|
|
21
23
|
import "./chunk-YDGXKH2T.js";
|
|
22
24
|
import "./chunk-J4RFJVXI.js";
|
|
23
|
-
import "./chunk-UVCNMRPS.js";
|
|
24
25
|
import "./chunk-3YQ73ZM6.js";
|
|
25
26
|
import "./chunk-3XPBFF6H.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-7YJOBVWN.js";
|
|
28
|
+
import "./chunk-UVCNMRPS.js";
|
|
27
29
|
import "./chunk-3RG5ZIWI.js";
|
|
28
30
|
|
|
29
31
|
// src/mcp/tools/conduct.ts
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
conductAction
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-NISX3N7K.js";
|
|
4
|
+
import "./chunk-COOBXNXU.js";
|
|
5
5
|
import "./chunk-3MJT4PZG.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-GIK2AZQH.js";
|
|
7
|
+
import "./chunk-5FXLZ5FX.js";
|
|
8
|
+
import "./chunk-OI46BKQF.js";
|
|
7
9
|
import "./chunk-5PV5YCSN.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-QG2LLVXP.js";
|
|
10
|
+
import "./chunk-FVLHEI3Y.js";
|
|
11
|
+
import "./chunk-WA23XRTN.js";
|
|
11
12
|
import "./chunk-G5WKW3ED.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-CPSV5WR2.js";
|
|
14
|
+
import "./chunk-UJXDBOKV.js";
|
|
15
|
+
import "./chunk-QE42IJC4.js";
|
|
16
|
+
import "./chunk-4XTYT4JW.js";
|
|
15
17
|
import "./chunk-GZUTU6IZ.js";
|
|
16
18
|
import "./chunk-UPNREF4L.js";
|
|
17
19
|
import "./chunk-Q5OFZ2JR.js";
|
|
@@ -20,10 +22,10 @@ import "./chunk-IWAK4WHK.js";
|
|
|
20
22
|
import "./chunk-65GNX2KC.js";
|
|
21
23
|
import "./chunk-YDGXKH2T.js";
|
|
22
24
|
import "./chunk-J4RFJVXI.js";
|
|
23
|
-
import "./chunk-UVCNMRPS.js";
|
|
24
25
|
import "./chunk-3YQ73ZM6.js";
|
|
25
26
|
import "./chunk-3XPBFF6H.js";
|
|
26
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-7YJOBVWN.js";
|
|
28
|
+
import "./chunk-UVCNMRPS.js";
|
|
27
29
|
import "./chunk-3RG5ZIWI.js";
|
|
28
30
|
export {
|
|
29
31
|
conductAction
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createUCAN,
|
|
3
|
-
decodeUCAN
|
|
4
|
-
} from "./chunk-PMVHKTFG.js";
|
|
5
1
|
import {
|
|
6
2
|
BudgetController,
|
|
7
3
|
decompose,
|
|
8
4
|
matchSubTasks,
|
|
9
5
|
orchestrate,
|
|
10
6
|
validateAndNormalizeSubtasks
|
|
11
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-COOBXNXU.js";
|
|
8
|
+
import {
|
|
9
|
+
createUCAN,
|
|
10
|
+
decodeUCAN
|
|
11
|
+
} from "./chunk-PMVHKTFG.js";
|
|
12
12
|
import "./chunk-3MJT4PZG.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-OI46BKQF.js";
|
|
14
14
|
import "./chunk-5PV5YCSN.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-ELFGYC22.js";
|
|
15
|
+
import "./chunk-FVLHEI3Y.js";
|
|
17
16
|
import {
|
|
18
17
|
BudgetManager
|
|
19
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-WA23XRTN.js";
|
|
20
19
|
import "./chunk-G5WKW3ED.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-CPSV5WR2.js";
|
|
21
|
+
import "./chunk-UJXDBOKV.js";
|
|
23
22
|
import {
|
|
24
23
|
getCardsByCapabilityType,
|
|
25
24
|
getCardsBySkillCapability
|
|
26
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-QE42IJC4.js";
|
|
26
|
+
import "./chunk-4XTYT4JW.js";
|
|
27
27
|
import "./chunk-GZUTU6IZ.js";
|
|
28
28
|
import "./chunk-UPNREF4L.js";
|
|
29
29
|
import "./chunk-Q5OFZ2JR.js";
|
|
@@ -34,12 +34,12 @@ import {
|
|
|
34
34
|
import "./chunk-65GNX2KC.js";
|
|
35
35
|
import "./chunk-YDGXKH2T.js";
|
|
36
36
|
import "./chunk-J4RFJVXI.js";
|
|
37
|
+
import "./chunk-3YQ73ZM6.js";
|
|
38
|
+
import "./chunk-3XPBFF6H.js";
|
|
39
|
+
import "./chunk-7YJOBVWN.js";
|
|
37
40
|
import {
|
|
38
41
|
AgentBnBError
|
|
39
42
|
} from "./chunk-UVCNMRPS.js";
|
|
40
|
-
import "./chunk-3YQ73ZM6.js";
|
|
41
|
-
import "./chunk-3XPBFF6H.js";
|
|
42
|
-
import "./chunk-4XTYT4JW.js";
|
|
43
43
|
import "./chunk-3RG5ZIWI.js";
|
|
44
44
|
|
|
45
45
|
// src/conductor/team-formation.ts
|
|
@@ -7,8 +7,8 @@ import {
|
|
|
7
7
|
matchSubTasks,
|
|
8
8
|
orchestrate,
|
|
9
9
|
validateAndNormalizeSubtasks
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-OTAZIF65.js";
|
|
11
|
+
import "./chunk-DT2IEL5U.js";
|
|
12
12
|
import {
|
|
13
13
|
getCardsByCapabilityType,
|
|
14
14
|
getCardsBySkillCapability
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import {
|
|
2
2
|
syncCreditsFromRegistry
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import
|
|
3
|
+
} from "./chunk-OXU4QJSZ.js";
|
|
4
|
+
import {
|
|
5
|
+
shouldSkipNetwork
|
|
6
|
+
} from "./chunk-5FXLZ5FX.js";
|
|
7
|
+
import "./chunk-2KSRFDKF.js";
|
|
5
8
|
import "./chunk-AA25Z6FW.js";
|
|
6
9
|
import {
|
|
7
10
|
getBalance,
|
|
8
11
|
getTransactions,
|
|
9
12
|
openCreditDb
|
|
10
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-UJXDBOKV.js";
|
|
11
14
|
import "./chunk-QXRNW4OJ.js";
|
|
12
15
|
import "./chunk-65GNX2KC.js";
|
|
13
16
|
import "./chunk-YDGXKH2T.js";
|
|
14
17
|
import "./chunk-J4RFJVXI.js";
|
|
15
|
-
import "./chunk-UVCNMRPS.js";
|
|
16
18
|
import {
|
|
17
19
|
getConfigDir,
|
|
18
20
|
loadConfig
|
|
19
21
|
} from "./chunk-3XPBFF6H.js";
|
|
22
|
+
import "./chunk-UVCNMRPS.js";
|
|
20
23
|
import "./chunk-3RG5ZIWI.js";
|
|
21
24
|
|
|
22
25
|
// src/cli/credits-action.ts
|
|
@@ -31,6 +34,10 @@ async function creditsSync() {
|
|
|
31
34
|
console.error("Error: no registry configured. Run `agentbnb config set registry <url>`");
|
|
32
35
|
process.exit(1);
|
|
33
36
|
}
|
|
37
|
+
if (shouldSkipNetwork()) {
|
|
38
|
+
console.log("Credits sync: skipped (offline or test mode)");
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
34
41
|
const creditDbPath = join(getConfigDir(), "credit.db");
|
|
35
42
|
const db = openCreditDb(creditDbPath);
|
|
36
43
|
try {
|
|
@@ -113,10 +120,12 @@ async function creditsGrant(agentId, amount) {
|
|
|
113
120
|
"Content-Type": "application/json",
|
|
114
121
|
"Authorization": `Bearer ${adminToken}`
|
|
115
122
|
},
|
|
116
|
-
body: JSON.stringify({ agent_id: agentId, amount: credits })
|
|
123
|
+
body: JSON.stringify({ agent_id: agentId, amount: credits }),
|
|
124
|
+
signal: AbortSignal.timeout(1e4)
|
|
117
125
|
});
|
|
118
126
|
} catch (err) {
|
|
119
|
-
|
|
127
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
128
|
+
console.error(`Error: failed to connect to registry \u2014 ${msg}`);
|
|
120
129
|
process.exit(1);
|
|
121
130
|
}
|
|
122
131
|
if (!res.ok) {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import {
|
|
2
2
|
executeCapabilityBatch,
|
|
3
3
|
executeCapabilityRequest
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-PFAEZI32.js";
|
|
5
|
+
import "./chunk-OXU4QJSZ.js";
|
|
6
|
+
import "./chunk-2KSRFDKF.js";
|
|
7
7
|
import "./chunk-AA25Z6FW.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-FVLHEI3Y.js";
|
|
9
|
+
import "./chunk-CPSV5WR2.js";
|
|
10
|
+
import "./chunk-UJXDBOKV.js";
|
|
11
|
+
import "./chunk-QE42IJC4.js";
|
|
12
|
+
import "./chunk-4XTYT4JW.js";
|
|
13
13
|
import "./chunk-GZUTU6IZ.js";
|
|
14
14
|
import "./chunk-QXRNW4OJ.js";
|
|
15
15
|
import "./chunk-65GNX2KC.js";
|
|
16
16
|
import "./chunk-YDGXKH2T.js";
|
|
17
17
|
import "./chunk-J4RFJVXI.js";
|
|
18
|
-
import "./chunk-UVCNMRPS.js";
|
|
19
18
|
import "./chunk-3XPBFF6H.js";
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-7YJOBVWN.js";
|
|
20
|
+
import "./chunk-UVCNMRPS.js";
|
|
21
21
|
import "./chunk-3RG5ZIWI.js";
|
|
22
22
|
export {
|
|
23
23
|
executeCapabilityBatch,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
executeCapabilityBatch,
|
|
3
3
|
executeCapabilityRequest
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-NLGLGR2K.js";
|
|
5
|
+
import "./chunk-DT2IEL5U.js";
|
|
6
6
|
import "./chunk-BPPFY72X.js";
|
|
7
7
|
import "./chunk-4XTYT4JW.js";
|
|
8
8
|
import "./chunk-GZUTU6IZ.js";
|
|
@@ -5,34 +5,36 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
performInit,
|
|
7
7
|
publishFromSoulV2
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-563ZZUOA.js";
|
|
9
9
|
import {
|
|
10
10
|
getPricingStats
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-VDYHCI5F.js";
|
|
12
|
+
import "./chunk-GIK2AZQH.js";
|
|
13
|
+
import "./chunk-5FXLZ5FX.js";
|
|
14
|
+
import "./chunk-2KSRFDKF.js";
|
|
13
15
|
import "./chunk-AA25Z6FW.js";
|
|
14
16
|
import {
|
|
15
17
|
parseSoulMd
|
|
16
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-OFIRWD6B.js";
|
|
17
19
|
import {
|
|
18
20
|
findSoulMd,
|
|
19
21
|
getOpenClawWorkspaceDir,
|
|
20
22
|
inferBrainDir,
|
|
21
23
|
scanAgents
|
|
22
24
|
} from "./chunk-RJNKX347.js";
|
|
23
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-WA23XRTN.js";
|
|
24
26
|
import "./chunk-G5WKW3ED.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-CPSV5WR2.js";
|
|
28
|
+
import "./chunk-UJXDBOKV.js";
|
|
29
|
+
import "./chunk-QE42IJC4.js";
|
|
30
|
+
import "./chunk-4XTYT4JW.js";
|
|
28
31
|
import "./chunk-GZUTU6IZ.js";
|
|
29
32
|
import "./chunk-QXRNW4OJ.js";
|
|
30
33
|
import "./chunk-65GNX2KC.js";
|
|
31
34
|
import "./chunk-YDGXKH2T.js";
|
|
32
35
|
import "./chunk-J4RFJVXI.js";
|
|
33
|
-
import "./chunk-UVCNMRPS.js";
|
|
34
36
|
import "./chunk-3XPBFF6H.js";
|
|
35
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-UVCNMRPS.js";
|
|
36
38
|
import "./chunk-3RG5ZIWI.js";
|
|
37
39
|
|
|
38
40
|
// src/cli/openclaw-setup.ts
|
|
@@ -248,7 +250,7 @@ Reading ${agentName}/SOUL.md...`);
|
|
|
248
250
|
const { loadConfig: loadConfig2 } = await import("./config-ZFWBAGDU.js");
|
|
249
251
|
const cfg2 = loadConfig2();
|
|
250
252
|
if (cfg2) {
|
|
251
|
-
const db2 = (await import("./store-
|
|
253
|
+
const db2 = (await import("./store-GJJFFEQZ.js")).openDatabase(cfg2.db_path);
|
|
252
254
|
try {
|
|
253
255
|
for (const cap of parsed.capabilities) {
|
|
254
256
|
const stats = getPricingStats(db2, cap.name);
|
|
@@ -301,7 +303,7 @@ Share ${parsed.capabilities.length} skill(s) on the AgentBnB network? [Y/n]: `);
|
|
|
301
303
|
console.error("Error: config not found after init.");
|
|
302
304
|
process.exit(1);
|
|
303
305
|
}
|
|
304
|
-
const db = (await import("./store-
|
|
306
|
+
const db = (await import("./store-GJJFFEQZ.js")).openDatabase(cfg.db_path);
|
|
305
307
|
try {
|
|
306
308
|
const card = publishFromSoulV2(db, soulContent, cfg.owner, void 0);
|
|
307
309
|
console.log(` \u2713 Published capability card (${card.skills.length} skill(s))`);
|
|
@@ -78,7 +78,7 @@ async function skillsList(opts) {
|
|
|
78
78
|
const config = loadConfig();
|
|
79
79
|
if (config) {
|
|
80
80
|
try {
|
|
81
|
-
const { openDatabase } = await import("./store-
|
|
81
|
+
const { openDatabase } = await import("./store-GJJFFEQZ.js");
|
|
82
82
|
const db = openDatabase(config.db_path);
|
|
83
83
|
try {
|
|
84
84
|
const rows = db.prepare(
|
|
@@ -357,7 +357,7 @@ async function skillsStats(opts) {
|
|
|
357
357
|
const config = loadConfig();
|
|
358
358
|
if (config) {
|
|
359
359
|
try {
|
|
360
|
-
const { openDatabase } = await import("./store-
|
|
360
|
+
const { openDatabase } = await import("./store-GJJFFEQZ.js");
|
|
361
361
|
const db = openDatabase(config.db_path);
|
|
362
362
|
try {
|
|
363
363
|
rows = db.prepare(
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
parseSoulMd,
|
|
3
3
|
publishFromSoul,
|
|
4
4
|
skillConfigToSkill
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-OFIRWD6B.js";
|
|
6
|
+
import "./chunk-QE42IJC4.js";
|
|
7
|
+
import "./chunk-4XTYT4JW.js";
|
|
7
8
|
import "./chunk-GZUTU6IZ.js";
|
|
8
9
|
import "./chunk-J4RFJVXI.js";
|
|
9
10
|
import "./chunk-UVCNMRPS.js";
|
|
10
|
-
import "./chunk-4XTYT4JW.js";
|
|
11
11
|
import "./chunk-3RG5ZIWI.js";
|
|
12
12
|
export {
|
|
13
13
|
parseSoulMd,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RegistryAuthError,
|
|
3
|
+
RegistryConnectionError,
|
|
4
|
+
RegistryTimeoutError,
|
|
5
|
+
fetchRemoteCards,
|
|
6
|
+
mergeResults
|
|
7
|
+
} from "./chunk-7YJOBVWN.js";
|
|
8
|
+
import "./chunk-UVCNMRPS.js";
|
|
9
|
+
import "./chunk-3RG5ZIWI.js";
|
|
10
|
+
export {
|
|
11
|
+
RegistryAuthError,
|
|
12
|
+
RegistryConnectionError,
|
|
13
|
+
RegistryTimeoutError,
|
|
14
|
+
fetchRemoteCards,
|
|
15
|
+
mergeResults
|
|
16
|
+
};
|
|
@@ -1,24 +1,30 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_CONSUMER_AUTONOMY,
|
|
3
|
+
checkConsumerBudget,
|
|
4
|
+
createSessionState,
|
|
5
|
+
recordConsumerSpend
|
|
6
|
+
} from "./chunk-EMVVFP2L.js";
|
|
1
7
|
import {
|
|
2
8
|
AutoRequestor,
|
|
3
9
|
requestViaTemporaryRelay
|
|
4
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OI46BKQF.js";
|
|
5
11
|
import "./chunk-5PV5YCSN.js";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-ELFGYC22.js";
|
|
12
|
+
import "./chunk-FVLHEI3Y.js";
|
|
8
13
|
import {
|
|
9
14
|
BudgetManager,
|
|
10
15
|
DEFAULT_BUDGET_CONFIG
|
|
11
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WA23XRTN.js";
|
|
12
17
|
import {
|
|
13
18
|
DEFAULT_AUTONOMY_CONFIG
|
|
14
19
|
} from "./chunk-G5WKW3ED.js";
|
|
15
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-CPSV5WR2.js";
|
|
16
21
|
import {
|
|
17
22
|
openCreditDb
|
|
18
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-UJXDBOKV.js";
|
|
19
24
|
import {
|
|
20
25
|
openDatabase
|
|
21
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-QE42IJC4.js";
|
|
27
|
+
import "./chunk-4XTYT4JW.js";
|
|
22
28
|
import "./chunk-GZUTU6IZ.js";
|
|
23
29
|
import "./chunk-UPNREF4L.js";
|
|
24
30
|
import "./chunk-Q5OFZ2JR.js";
|
|
@@ -31,10 +37,10 @@ import {
|
|
|
31
37
|
} from "./chunk-65GNX2KC.js";
|
|
32
38
|
import "./chunk-YDGXKH2T.js";
|
|
33
39
|
import "./chunk-J4RFJVXI.js";
|
|
34
|
-
import "./chunk-UVCNMRPS.js";
|
|
35
40
|
import "./chunk-3YQ73ZM6.js";
|
|
36
41
|
import "./chunk-3XPBFF6H.js";
|
|
37
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-7YJOBVWN.js";
|
|
43
|
+
import "./chunk-UVCNMRPS.js";
|
|
38
44
|
import "./chunk-3RG5ZIWI.js";
|
|
39
45
|
|
|
40
46
|
// src/mcp/tools/request.ts
|
|
@@ -76,7 +82,17 @@ function deriveTimeoutHintFromCard(remoteCard, skillId) {
|
|
|
76
82
|
async function handleRequest(args, ctx) {
|
|
77
83
|
try {
|
|
78
84
|
const maxCost = args.max_cost ?? 50;
|
|
85
|
+
const consumerConfig = ctx.config.consumer_autonomy ?? DEFAULT_CONSUMER_AUTONOMY;
|
|
86
|
+
if (!ctx.consumerSession) {
|
|
87
|
+
ctx.consumerSession = createSessionState();
|
|
88
|
+
}
|
|
79
89
|
if (args.query) {
|
|
90
|
+
const budgetCheck = checkConsumerBudget(consumerConfig, ctx.consumerSession, maxCost);
|
|
91
|
+
if (!budgetCheck.allowed) {
|
|
92
|
+
return {
|
|
93
|
+
content: [{ type: "text", text: JSON.stringify({ success: false, error: budgetCheck.error, budget_exceeded: true }) }]
|
|
94
|
+
};
|
|
95
|
+
}
|
|
80
96
|
const registryDb = openDatabase(ctx.config.db_path);
|
|
81
97
|
const creditDb = openCreditDb(ctx.config.credit_db_path);
|
|
82
98
|
registryDb.pragma("busy_timeout = 5000");
|
|
@@ -100,8 +116,12 @@ async function handleRequest(args, ctx) {
|
|
|
100
116
|
maxCostCredits: maxCost,
|
|
101
117
|
params: args.params
|
|
102
118
|
});
|
|
119
|
+
const creditsUsed = typeof result?.creditsSpent === "number" ? result.creditsSpent : 0;
|
|
120
|
+
recordConsumerSpend(ctx.consumerSession, creditsUsed);
|
|
121
|
+
const response = { success: true, ...result };
|
|
122
|
+
if (budgetCheck.warning) response.spend_warning = budgetCheck.warning;
|
|
103
123
|
return {
|
|
104
|
-
content: [{ type: "text", text: JSON.stringify(
|
|
124
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
105
125
|
};
|
|
106
126
|
} finally {
|
|
107
127
|
registryDb.close();
|
|
@@ -168,17 +188,23 @@ async function handleRequest(args, ctx) {
|
|
|
168
188
|
const targetAgentId = typeof remoteCard["agent_id"] === "string" ? remoteCard["agent_id"] : void 0;
|
|
169
189
|
const gatewayUrl = remoteCard["gateway_url"];
|
|
170
190
|
const timeoutHint = deriveTimeoutHintFromCard(remoteCard, args.skill_id);
|
|
191
|
+
let remoteCost = 0;
|
|
192
|
+
const remoteSkills = remoteCard["skills"];
|
|
193
|
+
if (Array.isArray(remoteSkills)) {
|
|
194
|
+
const matchedSkill = args.skill_id ? remoteSkills.find((s) => s.id === args.skill_id) : remoteSkills[0];
|
|
195
|
+
remoteCost = matchedSkill?.pricing?.credits_per_call ?? 0;
|
|
196
|
+
} else {
|
|
197
|
+
const remotePricing = remoteCard["pricing"];
|
|
198
|
+
remoteCost = remotePricing?.credits_per_call ?? 0;
|
|
199
|
+
}
|
|
171
200
|
if (gatewayUrl) {
|
|
172
|
-
let remoteCost = 0;
|
|
173
|
-
const remoteSkills = remoteCard["skills"];
|
|
174
|
-
if (Array.isArray(remoteSkills)) {
|
|
175
|
-
const matchedSkill = args.skill_id ? remoteSkills.find((s) => s.id === args.skill_id) : remoteSkills[0];
|
|
176
|
-
remoteCost = matchedSkill?.pricing?.credits_per_call ?? 0;
|
|
177
|
-
} else {
|
|
178
|
-
const remotePricing = remoteCard["pricing"];
|
|
179
|
-
remoteCost = remotePricing?.credits_per_call ?? 0;
|
|
180
|
-
}
|
|
181
201
|
if (remoteCost > 0) {
|
|
202
|
+
const budgetCheck = checkConsumerBudget(consumerConfig, ctx.consumerSession, remoteCost);
|
|
203
|
+
if (!budgetCheck.allowed) {
|
|
204
|
+
return {
|
|
205
|
+
content: [{ type: "text", text: JSON.stringify({ success: false, error: budgetCheck.error, budget_exceeded: true }) }]
|
|
206
|
+
};
|
|
207
|
+
}
|
|
182
208
|
if (!targetOwner) {
|
|
183
209
|
return {
|
|
184
210
|
content: [{ type: "text", text: JSON.stringify({ success: false, error: "Paid remote request requires a target owner for relay routing" }) }]
|
|
@@ -195,8 +221,11 @@ async function handleRequest(args, ctx) {
|
|
|
195
221
|
params: { ...args.params ?? {}, ...args.skill_id ? { skill_id: args.skill_id } : {}, requester: ctx.config.owner },
|
|
196
222
|
timeoutMs: args.timeout_ms
|
|
197
223
|
});
|
|
224
|
+
recordConsumerSpend(ctx.consumerSession, remoteCost);
|
|
225
|
+
const response = { success: true, result, creditsSpent: remoteCost };
|
|
226
|
+
if (budgetCheck.warning) response.spend_warning = budgetCheck.warning;
|
|
198
227
|
return {
|
|
199
|
-
content: [{ type: "text", text: JSON.stringify(
|
|
228
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
200
229
|
};
|
|
201
230
|
} else {
|
|
202
231
|
const result = await requestCapability({
|
|
@@ -214,6 +243,14 @@ async function handleRequest(args, ctx) {
|
|
|
214
243
|
}
|
|
215
244
|
}
|
|
216
245
|
if (targetOwner) {
|
|
246
|
+
if (remoteCost > 0) {
|
|
247
|
+
const budgetCheck = checkConsumerBudget(consumerConfig, ctx.consumerSession, remoteCost);
|
|
248
|
+
if (!budgetCheck.allowed) {
|
|
249
|
+
return {
|
|
250
|
+
content: [{ type: "text", text: JSON.stringify({ success: false, error: budgetCheck.error, budget_exceeded: true }) }]
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
}
|
|
217
254
|
const result = await requestViaTemporaryRelay({
|
|
218
255
|
registryUrl: ctx.config.registry,
|
|
219
256
|
owner: ctx.config.owner,
|
|
@@ -225,8 +262,13 @@ async function handleRequest(args, ctx) {
|
|
|
225
262
|
params: { ...args.params ?? {}, ...args.skill_id ? { skill_id: args.skill_id } : {} },
|
|
226
263
|
timeoutMs: args.timeout_ms
|
|
227
264
|
});
|
|
265
|
+
if (remoteCost > 0) {
|
|
266
|
+
recordConsumerSpend(ctx.consumerSession, remoteCost);
|
|
267
|
+
}
|
|
268
|
+
const response = { success: true, result };
|
|
269
|
+
if (remoteCost > 0) response.creditsSpent = remoteCost;
|
|
228
270
|
return {
|
|
229
|
-
content: [{ type: "text", text: JSON.stringify(
|
|
271
|
+
content: [{ type: "text", text: JSON.stringify(response, null, 2) }]
|
|
230
272
|
};
|
|
231
273
|
}
|
|
232
274
|
return {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
executeCapabilityRequest
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-PFAEZI32.js";
|
|
4
|
+
import "./chunk-OXU4QJSZ.js";
|
|
5
|
+
import "./chunk-2KSRFDKF.js";
|
|
6
6
|
import "./chunk-AA25Z6FW.js";
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-EC6DIVE5.js";
|
|
7
|
+
import "./chunk-FVLHEI3Y.js";
|
|
8
|
+
import "./chunk-CPSV5WR2.js";
|
|
10
9
|
import {
|
|
11
10
|
openCreditDb
|
|
12
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UJXDBOKV.js";
|
|
13
12
|
import {
|
|
14
13
|
listCards,
|
|
15
14
|
openDatabase
|
|
16
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-QE42IJC4.js";
|
|
16
|
+
import "./chunk-4XTYT4JW.js";
|
|
17
17
|
import "./chunk-GZUTU6IZ.js";
|
|
18
18
|
import {
|
|
19
19
|
RelayClient
|
|
@@ -23,9 +23,9 @@ import "./chunk-QXRNW4OJ.js";
|
|
|
23
23
|
import "./chunk-65GNX2KC.js";
|
|
24
24
|
import "./chunk-YDGXKH2T.js";
|
|
25
25
|
import "./chunk-J4RFJVXI.js";
|
|
26
|
-
import "./chunk-UVCNMRPS.js";
|
|
27
26
|
import "./chunk-3XPBFF6H.js";
|
|
28
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-7YJOBVWN.js";
|
|
28
|
+
import "./chunk-UVCNMRPS.js";
|
|
29
29
|
import "./chunk-3RG5ZIWI.js";
|
|
30
30
|
|
|
31
31
|
// src/mcp/tools/serve-skill.ts
|
|
@@ -67,11 +67,12 @@ async function handleServeSkill(args, ctx) {
|
|
|
67
67
|
const result = await executeCapabilityRequest({
|
|
68
68
|
registryDb,
|
|
69
69
|
creditDb,
|
|
70
|
-
cardId: req.
|
|
71
|
-
skillId: req.
|
|
72
|
-
params: req.params
|
|
73
|
-
requester: req.
|
|
74
|
-
handlerUrl
|
|
70
|
+
cardId: req.card_id ?? card.id,
|
|
71
|
+
skillId: req.skill_id,
|
|
72
|
+
params: req.params,
|
|
73
|
+
requester: req.requester ?? req.from_owner ?? "unknown",
|
|
74
|
+
handlerUrl,
|
|
75
|
+
relayAuthorized: true
|
|
75
76
|
});
|
|
76
77
|
if (result.success) {
|
|
77
78
|
return { result: result.result };
|