@bosonprotocol/agentic-commerce 1.0.0-alpha.46 → 1.0.0-alpha.49
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 +2 -2
- package/dist/boson/goat-sdk-plugin/boson-protocol-plugin.service.d.ts +261 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol-plugin.service.d.ts.map +1 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol-plugin.service.js +466 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol-plugin.service.js.map +1 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol.plugin.d.ts +10 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol.plugin.d.ts.map +1 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol.plugin.js +23 -0
- package/dist/boson/goat-sdk-plugin/boson-protocol.plugin.js.map +1 -0
- package/dist/boson/goat-sdk-plugin/examples/anthropic.d.ts +2 -0
- package/dist/boson/goat-sdk-plugin/examples/anthropic.d.ts.map +1 -0
- package/dist/boson/goat-sdk-plugin/examples/anthropic.js +160 -0
- package/dist/boson/goat-sdk-plugin/examples/anthropic.js.map +1 -0
- package/dist/boson/goat-sdk-plugin/examples/vercel.d.ts +2 -0
- package/dist/boson/goat-sdk-plugin/examples/vercel.d.ts.map +1 -0
- package/dist/boson/goat-sdk-plugin/examples/vercel.js +148 -0
- package/dist/boson/goat-sdk-plugin/examples/vercel.js.map +1 -0
- package/dist/boson/goat-sdk-plugin/index.d.ts +2 -2
- package/dist/boson/goat-sdk-plugin/index.d.ts.map +1 -1
- package/dist/boson/goat-sdk-plugin/index.js +6 -4
- package/dist/boson/goat-sdk-plugin/index.js.map +1 -1
- package/dist/boson/goat-sdk-plugin/parameters.d.ts +488 -0
- package/dist/boson/goat-sdk-plugin/parameters.d.ts.map +1 -0
- package/dist/boson/goat-sdk-plugin/parameters.js +89 -0
- package/dist/boson/goat-sdk-plugin/parameters.js.map +1 -0
- package/dist/boson/index.d.ts +1 -1
- package/dist/boson/index.d.ts.map +1 -1
- package/dist/boson/index.js +2 -2
- package/dist/boson/index.js.map +1 -1
- package/dist/boson/mcp-client/index.d.ts +3752 -3
- package/dist/boson/mcp-client/index.d.ts.map +1 -1
- package/dist/boson/mcp-client/index.js +181 -0
- package/dist/boson/mcp-client/index.js.map +1 -1
- package/dist/boson/mcp-server/filters/disputeResolversFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/disputeResolversFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/disputeResolversFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/disputesFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/disputesFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/disputesFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/exchangesFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/exchangesFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/exchangesFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/fundsFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/fundsFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/fundsFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/offersFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/offersFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/offersFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/productsFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/productsFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/productsFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/sellersByAddressFilter.d.ts +4 -3
- package/dist/boson/mcp-server/filters/sellersByAddressFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/sellersByAddressFilter.js.map +1 -1
- package/dist/boson/mcp-server/filters/sellersFilter.d.ts +3 -3
- package/dist/boson/mcp-server/filters/sellersFilter.d.ts.map +1 -1
- package/dist/boson/mcp-server/filters/sellersFilter.js.map +1 -1
- package/dist/boson/mcp-server/handlers/metaTx.d.ts +18 -18
- package/dist/boson/mcp-server/index.d.ts.map +1 -1
- package/dist/boson/mcp-server/index.js +2 -1
- package/dist/boson/mcp-server/index.js.map +1 -1
- package/dist/boson/mcp-server/resourceParameterTypes.d.ts +498 -0
- package/dist/boson/mcp-server/resourceParameterTypes.d.ts.map +1 -0
- package/dist/boson/mcp-server/resourceParameterTypes.js +174 -0
- package/dist/boson/mcp-server/resourceParameterTypes.js.map +1 -0
- package/dist/boson/mcp-server/validation.d.ts +123 -123
- package/dist/boson/mcp-server/validation.d.ts.map +1 -1
- package/dist/boson/mcp-server/validation.js +27 -122
- package/dist/boson/mcp-server/validation.js.map +1 -1
- package/dist/common/mcp-server/configValidation.d.ts +1 -0
- package/dist/common/mcp-server/configValidation.d.ts.map +1 -1
- package/dist/common/mcp-server/configValidation.js +12 -4
- package/dist/common/mcp-server/configValidation.js.map +1 -1
- package/dist/common/mcp-server/jsonSchemaToZodShape.d.ts.map +1 -1
- package/dist/common/mcp-server/jsonSchemaToZodShape.js +39 -6
- package/dist/common/mcp-server/jsonSchemaToZodShape.js.map +1 -1
- package/dist/common/mcp-server/transactionSigning.d.ts +26 -26
- package/dist/fermion/mcp-server/validation.d.ts +79 -55
- package/dist/fermion/mcp-server/validation.d.ts.map +1 -1
- package/dist/fermion/mcp-server/validation.js +2 -1
- package/dist/fermion/mcp-server/validation.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +22 -16
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
40
|
+
const node_readline_1 = __importDefault(require("node:readline"));
|
|
41
|
+
const anthropic_1 = require("@ai-sdk/anthropic");
|
|
42
|
+
const adapter_vercel_ai_1 = require("@goat-sdk/adapter-vercel-ai");
|
|
43
|
+
const wallet_viem_1 = require("@goat-sdk/wallet-viem");
|
|
44
|
+
const ai_1 = require("ai");
|
|
45
|
+
const viem_1 = require("viem");
|
|
46
|
+
const accounts_1 = require("viem/accounts");
|
|
47
|
+
const chains_1 = require("viem/chains");
|
|
48
|
+
const common_1 = require("../../../common");
|
|
49
|
+
const boson_protocol_plugin_1 = require("../boson-protocol.plugin");
|
|
50
|
+
// Example test for the Boson MCP Server plugin
|
|
51
|
+
async function testBosonMcpServerPlugin() {
|
|
52
|
+
// Initialize wallet client with private key
|
|
53
|
+
const rawPrivateKey = process.env.PRIVATE_KEY;
|
|
54
|
+
if (!rawPrivateKey) {
|
|
55
|
+
throw new Error("PRIVATE_KEY environment variable is required");
|
|
56
|
+
}
|
|
57
|
+
const anthopicApiKey = process.env.ANTHROPIC_API_KEY;
|
|
58
|
+
if (!anthopicApiKey) {
|
|
59
|
+
throw new Error("ANTHROPIC_API_KEY environment variable is required");
|
|
60
|
+
}
|
|
61
|
+
// Ensure private key has 0x prefix and is the correct length
|
|
62
|
+
const privateKey = rawPrivateKey.startsWith("0x")
|
|
63
|
+
? rawPrivateKey
|
|
64
|
+
: `0x${rawPrivateKey}`;
|
|
65
|
+
// Validate private key format
|
|
66
|
+
if (privateKey.length !== 66) {
|
|
67
|
+
// 0x + 64 hex characters = 66 total
|
|
68
|
+
throw new Error(`Invalid private key length: expected 66 characters (0x + 64 hex), got ${privateKey.length}`);
|
|
69
|
+
}
|
|
70
|
+
if (!/^0x[0-9a-fA-F]{64}$/.test(privateKey)) {
|
|
71
|
+
throw new Error("Invalid private key format: must be hex string");
|
|
72
|
+
}
|
|
73
|
+
const account = (0, accounts_1.privateKeyToAccount)(privateKey);
|
|
74
|
+
// Use testnet for development (change chain as needed)
|
|
75
|
+
const chain = chains_1.polygonAmoy; // or sepolia for Ethereum testnet
|
|
76
|
+
// Define custom RPC URL (optional)
|
|
77
|
+
const rpcUrl = process.env.RPC_URL || "https://rpc-amoy.polygon.technology";
|
|
78
|
+
console.log("Using RPC URL:", rpcUrl);
|
|
79
|
+
const walletClient = (0, viem_1.createWalletClient)({
|
|
80
|
+
account,
|
|
81
|
+
chain,
|
|
82
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
83
|
+
});
|
|
84
|
+
// Check wallet balance before proceeding
|
|
85
|
+
console.log("Wallet address:", account.address);
|
|
86
|
+
console.log("Chain:", chain.name, "ID:", chain.id);
|
|
87
|
+
// Check balance using a public client
|
|
88
|
+
const { createPublicClient } = await Promise.resolve().then(() => __importStar(require("viem")));
|
|
89
|
+
const publicClient = createPublicClient({
|
|
90
|
+
chain,
|
|
91
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
92
|
+
});
|
|
93
|
+
const balance = await publicClient.getBalance({ address: account.address });
|
|
94
|
+
if (balance === 0n) {
|
|
95
|
+
console.error("❌ Wallet has no MATIC tokens!");
|
|
96
|
+
console.log("🚰 Get test MATIC from: https://faucet.polygon.technology/");
|
|
97
|
+
console.log("💳 Your address:", account.address);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
// Get tools with the Boson MCP Server plugin
|
|
101
|
+
const tools = await (0, adapter_vercel_ai_1.getOnChainTools)({
|
|
102
|
+
wallet: (0, wallet_viem_1.viem)(walletClient),
|
|
103
|
+
plugins: [
|
|
104
|
+
(0, boson_protocol_plugin_1.bosonProtocolPlugin)({ url: "http://localhost:3000/mcp" }),
|
|
105
|
+
// ...other plugins
|
|
106
|
+
],
|
|
107
|
+
});
|
|
108
|
+
console.log("Available tools:", Object.keys(tools));
|
|
109
|
+
const mcpServerPath = node_path_1.default.join(__dirname, "../../../../mcpServer.json");
|
|
110
|
+
console.log("mcpServerPath", mcpServerPath);
|
|
111
|
+
(0, common_1.loadConfigEnv)(mcpServerPath, "boson-server");
|
|
112
|
+
if (!process.env.INFURA_IPFS_PROJECT_ID ||
|
|
113
|
+
!process.env.INFURA_IPFS_PROJECT_SECRET) {
|
|
114
|
+
console.error("Please set INFURA_IPFS_PROJECT_ID and INFURA_IPFS_PROJECT_SECRET in your mcpServer.json file or environment variables.");
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
const anthropic = (0, anthropic_1.createAnthropic)({
|
|
118
|
+
apiKey: anthopicApiKey,
|
|
119
|
+
});
|
|
120
|
+
// Example usage of the plugin's tool
|
|
121
|
+
const rl = node_readline_1.default.createInterface({
|
|
122
|
+
input: process.stdin,
|
|
123
|
+
output: process.stdout,
|
|
124
|
+
});
|
|
125
|
+
while (true) {
|
|
126
|
+
const prompt = await new Promise((resolve) => {
|
|
127
|
+
rl.question('Enter your prompt (or "exit" to quit): ', resolve);
|
|
128
|
+
});
|
|
129
|
+
if (prompt === "exit") {
|
|
130
|
+
rl.close();
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
console.log("\n-------------------\n");
|
|
134
|
+
console.log("TOOLS CALLED");
|
|
135
|
+
console.log("\n-------------------\n");
|
|
136
|
+
try {
|
|
137
|
+
const result = await (0, ai_1.generateText)({
|
|
138
|
+
model: anthropic("claude-4-sonnet-20250514"),
|
|
139
|
+
tools: tools,
|
|
140
|
+
maxSteps: 10, // Maximum number of tool invocations per request
|
|
141
|
+
prompt: prompt,
|
|
142
|
+
onStepFinish: (event) => {
|
|
143
|
+
console.log(event.toolResults);
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
console.log("\n-------------------\n");
|
|
147
|
+
console.log("RESPONSE");
|
|
148
|
+
console.log("\n-------------------\n");
|
|
149
|
+
console.log(result.text);
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
console.error(error);
|
|
153
|
+
}
|
|
154
|
+
console.log("\n-------------------\n");
|
|
155
|
+
}
|
|
156
|
+
process.exit(0);
|
|
157
|
+
}
|
|
158
|
+
// Run the test
|
|
159
|
+
testBosonMcpServerPlugin().catch(console.error);
|
|
160
|
+
//# sourceMappingURL=anthropic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../../src/boson/goat-sdk-plugin/examples/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../../src/boson/goat-sdk-plugin/examples/vercel.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
40
|
+
const adapter_vercel_ai_1 = require("@goat-sdk/adapter-vercel-ai");
|
|
41
|
+
const wallet_viem_1 = require("@goat-sdk/wallet-viem");
|
|
42
|
+
const viem_1 = require("viem");
|
|
43
|
+
const accounts_1 = require("viem/accounts");
|
|
44
|
+
const chains_1 = require("viem/chains");
|
|
45
|
+
const minimalOffer_json_1 = __importDefault(require("../../../../e2e/boson/tests/metadata/minimalOffer.json"));
|
|
46
|
+
const common_1 = require("../../../common");
|
|
47
|
+
const boson_protocol_plugin_1 = require("../boson-protocol.plugin");
|
|
48
|
+
// Example test for the Boson MCP Server plugin
|
|
49
|
+
async function testBosonMcpServerPlugin() {
|
|
50
|
+
// Initialize wallet client with private key
|
|
51
|
+
const rawPrivateKey = process.env.PRIVATE_KEY;
|
|
52
|
+
if (!rawPrivateKey) {
|
|
53
|
+
throw new Error("PRIVATE_KEY environment variable is required");
|
|
54
|
+
}
|
|
55
|
+
// Ensure private key has 0x prefix and is the correct length
|
|
56
|
+
const privateKey = rawPrivateKey.startsWith("0x")
|
|
57
|
+
? rawPrivateKey
|
|
58
|
+
: `0x${rawPrivateKey}`;
|
|
59
|
+
// Validate private key format
|
|
60
|
+
if (privateKey.length !== 66) {
|
|
61
|
+
// 0x + 64 hex characters = 66 total
|
|
62
|
+
throw new Error(`Invalid private key length: expected 66 characters (0x + 64 hex), got ${privateKey.length}`);
|
|
63
|
+
}
|
|
64
|
+
if (!/^0x[0-9a-fA-F]{64}$/.test(privateKey)) {
|
|
65
|
+
throw new Error("Invalid private key format: must be hex string");
|
|
66
|
+
}
|
|
67
|
+
const account = (0, accounts_1.privateKeyToAccount)(privateKey);
|
|
68
|
+
// Use testnet for development (change chain as needed)
|
|
69
|
+
const chain = chains_1.polygonAmoy; // or sepolia for Ethereum testnet
|
|
70
|
+
// Define custom RPC URL (optional)
|
|
71
|
+
const rpcUrl = process.env.RPC_URL || "https://rpc-amoy.polygon.technology";
|
|
72
|
+
console.log("Using RPC URL:", rpcUrl);
|
|
73
|
+
const walletClient = (0, viem_1.createWalletClient)({
|
|
74
|
+
account,
|
|
75
|
+
chain,
|
|
76
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
77
|
+
});
|
|
78
|
+
// Check wallet balance before proceeding
|
|
79
|
+
console.log("Wallet address:", account.address);
|
|
80
|
+
console.log("Chain:", chain.name, "ID:", chain.id);
|
|
81
|
+
// Check balance using a public client
|
|
82
|
+
const { createPublicClient } = await Promise.resolve().then(() => __importStar(require("viem")));
|
|
83
|
+
const publicClient = createPublicClient({
|
|
84
|
+
chain,
|
|
85
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
86
|
+
});
|
|
87
|
+
const balance = await publicClient.getBalance({ address: account.address });
|
|
88
|
+
if (balance === 0n) {
|
|
89
|
+
console.error("❌ Wallet has no MATIC tokens!");
|
|
90
|
+
console.log("🚰 Get test MATIC from: https://faucet.polygon.technology/");
|
|
91
|
+
console.log("💳 Your address:", account.address);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
// Get tools with the Boson MCP Server plugin
|
|
95
|
+
const tools = await (0, adapter_vercel_ai_1.getOnChainTools)({
|
|
96
|
+
wallet: (0, wallet_viem_1.viem)(walletClient),
|
|
97
|
+
plugins: [
|
|
98
|
+
(0, boson_protocol_plugin_1.bosonProtocolPlugin)({ url: "http://localhost:3000/mcp" }),
|
|
99
|
+
// ...other plugins
|
|
100
|
+
],
|
|
101
|
+
});
|
|
102
|
+
console.log("Available tools:", Object.keys(tools));
|
|
103
|
+
const mcpServerPath = node_path_1.default.join(__dirname, "../../../../mcpServer.json");
|
|
104
|
+
console.log("mcpServerPath", mcpServerPath);
|
|
105
|
+
(0, common_1.loadConfigEnv)(mcpServerPath, "boson-server");
|
|
106
|
+
console.log("Config loaded, INFURA_IPFS_PROJECT_ID:", process.env.INFURA_IPFS_PROJECT_ID);
|
|
107
|
+
console.log("Config loaded, INFURA_IPFS_PROJECT_SECRET:", process.env.INFURA_IPFS_PROJECT_SECRET);
|
|
108
|
+
if (!process.env.INFURA_IPFS_PROJECT_ID ||
|
|
109
|
+
!process.env.INFURA_IPFS_PROJECT_SECRET) {
|
|
110
|
+
console.error("Please set INFURA_IPFS_PROJECT_ID and INFURA_IPFS_PROJECT_SECRET in your mcpServer.json file or environment variables.");
|
|
111
|
+
process.exit(1);
|
|
112
|
+
}
|
|
113
|
+
// Example usage of the plugin's tool
|
|
114
|
+
try {
|
|
115
|
+
console.log("🚀 Initializing Boson SDK...");
|
|
116
|
+
const initializeSdkResult = await tools.initialize_sdk.execute({
|
|
117
|
+
configId: "staging-80002-0",
|
|
118
|
+
infuraIpfsProjectId: process.env.INFURA_IPFS_PROJECT_ID,
|
|
119
|
+
infuraIpfsProjectSecret: process.env.INFURA_IPFS_PROJECT_SECRET,
|
|
120
|
+
signerAddress: walletClient,
|
|
121
|
+
}, { messages: [] });
|
|
122
|
+
console.log("Tool result:", initializeSdkResult);
|
|
123
|
+
if (initializeSdkResult.success) {
|
|
124
|
+
const createOfferResult = await tools.create_offer.execute({
|
|
125
|
+
...minimalOffer_json_1.default,
|
|
126
|
+
price: "1",
|
|
127
|
+
sellerDeposit: "0",
|
|
128
|
+
buyerCancellationPenalty: "0",
|
|
129
|
+
quantityAvailable: 99,
|
|
130
|
+
validFromDateInMS: Date.now(),
|
|
131
|
+
validUntilDateInMS: Date.now() + 1000 * 60 * 60 * 24, // 1 day
|
|
132
|
+
voucherRedeemableFromDateInMS: Date.now(),
|
|
133
|
+
voucherRedeemableUntilDateInMS: 0,
|
|
134
|
+
disputePeriodDurationInMS: 1000 * 60 * 60 * 24 * 7, // 7 day
|
|
135
|
+
voucherValidDurationInMS: 1000 * 60 * 60 * 24 * 7, // 7 day
|
|
136
|
+
resolutionPeriodDurationInMS: 1000 * 60 * 60 * 24 * 7, // 7 day
|
|
137
|
+
}, { messages: [] });
|
|
138
|
+
console.log("Tool result:", createOfferResult);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.error("Error executing tool:", error);
|
|
143
|
+
}
|
|
144
|
+
process.exit(0);
|
|
145
|
+
}
|
|
146
|
+
// Run the test
|
|
147
|
+
testBosonMcpServerPlugin().catch(console.error);
|
|
148
|
+
//# sourceMappingURL=vercel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel.js","sourceRoot":"","sources":["../../../../src/boson/goat-sdk-plugin/examples/vercel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
}
|
|
1
|
+
export { type BosonProtocolOptions, BosonProtocolPlugin, bosonProtocolPlugin, } from "./boson-protocol.plugin.js";
|
|
2
|
+
export { InitializeSdkParameters } from "./parameters.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/boson/goat-sdk-plugin/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/boson/goat-sdk-plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
exports.
|
|
3
|
+
exports.InitializeSdkParameters = exports.bosonProtocolPlugin = exports.BosonProtocolPlugin = void 0;
|
|
4
|
+
var boson_protocol_plugin_js_1 = require("./boson-protocol.plugin.js");
|
|
5
|
+
Object.defineProperty(exports, "BosonProtocolPlugin", { enumerable: true, get: function () { return boson_protocol_plugin_js_1.BosonProtocolPlugin; } });
|
|
6
|
+
Object.defineProperty(exports, "bosonProtocolPlugin", { enumerable: true, get: function () { return boson_protocol_plugin_js_1.bosonProtocolPlugin; } });
|
|
7
|
+
var parameters_js_1 = require("./parameters.js");
|
|
8
|
+
Object.defineProperty(exports, "InitializeSdkParameters", { enumerable: true, get: function () { return parameters_js_1.InitializeSdkParameters; } });
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/boson/goat-sdk-plugin/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/boson/goat-sdk-plugin/index.ts"],"names":[],"mappings":";;;AAAA,uEAIoC;AAFlC,+HAAA,mBAAmB,OAAA;AACnB,+HAAA,mBAAmB,OAAA;AAErB,iDAA0D;AAAjD,wHAAA,uBAAuB,OAAA"}
|