@quackai/q402-mcp 0.7.3 → 0.7.5
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 +12 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -211,7 +211,7 @@ var isValidPrivateKey = (s) => typeof s === "string" && PRIVATE_KEY_RE.test(s);
|
|
|
211
211
|
|
|
212
212
|
// src/version.ts
|
|
213
213
|
var PACKAGE_NAME = "@quackai/q402-mcp";
|
|
214
|
-
var PACKAGE_VERSION = "0.7.
|
|
214
|
+
var PACKAGE_VERSION = "0.7.5";
|
|
215
215
|
|
|
216
216
|
// src/tools/quote.ts
|
|
217
217
|
import { z } from "zod";
|
|
@@ -1193,6 +1193,10 @@ var PAY_TOOL = {
|
|
|
1193
1193
|
enum: ["eoa", "agentic-local", "agentic-server"],
|
|
1194
1194
|
description: `Which wallet to spend from. "eoa" = user's real MetaMask EOA (Q402_PRIVATE_KEY). "agentic-local" = Agent Wallet exported key (Q402_AGENTIC_PRIVATE_KEY). "agentic-server" = server-managed Agent Wallet (Q402 holds the key; only the apiKey is needed). When MULTIPLE wallets are configured the tool refuses without this arg and returns ambiguousWalletChoice for the user to pick.`
|
|
1195
1195
|
},
|
|
1196
|
+
walletId: {
|
|
1197
|
+
type: "string",
|
|
1198
|
+
description: `Server-managed Agent Wallet only (walletMode="agentic-server"). Lowercased Agent Wallet address selecting which of the user's wallets to spend from when they hold more than one (max 10 per owner). Omit to use the user's default wallet. Ignored for the other walletMode values since those modes carry their own signing key.`
|
|
1199
|
+
},
|
|
1196
1200
|
confirm: {
|
|
1197
1201
|
type: "boolean",
|
|
1198
1202
|
const: true,
|
|
@@ -2708,12 +2712,14 @@ async function runAgenticInfo(input = {}) {
|
|
|
2708
2712
|
asOf: null,
|
|
2709
2713
|
erc8004AgentId: null,
|
|
2710
2714
|
scan8004Url: null,
|
|
2715
|
+
reputation: null,
|
|
2711
2716
|
dashboardUrl,
|
|
2712
2717
|
setupHint: "No live Q402 API key configured. Run q402_doctor to set one up, or open your dashboard to create an Agent Wallet."
|
|
2713
2718
|
};
|
|
2714
2719
|
}
|
|
2715
2720
|
let wallet = null;
|
|
2716
2721
|
let balance = null;
|
|
2722
|
+
let reputation = null;
|
|
2717
2723
|
let fetchError = null;
|
|
2718
2724
|
try {
|
|
2719
2725
|
const res = await fetch(`${base}/wallet/agentic/info-by-key`, {
|
|
@@ -2728,6 +2734,7 @@ async function runAgenticInfo(input = {}) {
|
|
|
2728
2734
|
const data = await res.json();
|
|
2729
2735
|
wallet = data.wallet ?? null;
|
|
2730
2736
|
balance = data.balance ?? null;
|
|
2737
|
+
reputation = data.reputation ?? null;
|
|
2731
2738
|
} else if (res.status === 404) {
|
|
2732
2739
|
fetchError = "endpoint_not_deployed";
|
|
2733
2740
|
} else if (res.status === 410) {
|
|
@@ -2749,6 +2756,7 @@ async function runAgenticInfo(input = {}) {
|
|
|
2749
2756
|
asOf: null,
|
|
2750
2757
|
erc8004AgentId: null,
|
|
2751
2758
|
scan8004Url: null,
|
|
2759
|
+
reputation: null,
|
|
2752
2760
|
dashboardUrl,
|
|
2753
2761
|
setupHint: fetchError === "endpoint_not_deployed" ? "Agent Wallet info-by-key endpoint is not live yet. Open the dashboard to view your wallet directly." : fetchError === "wallet_archived" ? "The requested wallet is archived. Restore it from the dashboard before reading." : explicitWalletId ? `Could not fetch Agent Wallet ${explicitWalletId} for this apiKey. Verify the walletId is one of this owner's wallets, or omit it to read the default wallet.` : "Could not fetch Agent Wallet for this apiKey. Verify the key is bound to a wallet via the dashboard, then retry."
|
|
2754
2762
|
};
|
|
@@ -2767,6 +2775,7 @@ async function runAgenticInfo(input = {}) {
|
|
|
2767
2775
|
asOf: balance ? new Date(balance.asOf).toISOString() : null,
|
|
2768
2776
|
erc8004AgentId: wallet.erc8004AgentId,
|
|
2769
2777
|
scan8004Url: scan8004UrlFor(wallet.erc8004AgentId),
|
|
2778
|
+
reputation,
|
|
2770
2779
|
dashboardUrl,
|
|
2771
2780
|
setupHint: wallet.deletedAt ? "This Agent Wallet is archived and pending hard-delete. Restore it from the dashboard before sending." : void 0
|
|
2772
2781
|
};
|
|
@@ -3491,8 +3500,8 @@ async function main() {
|
|
|
3491
3500
|
return { content: [jsonText(await runClearDelegation(parsed))] };
|
|
3492
3501
|
}
|
|
3493
3502
|
case "q402_agentic_info": {
|
|
3494
|
-
AgenticInfoInputSchema.parse(args ?? {});
|
|
3495
|
-
return { content: [jsonText(await runAgenticInfo())] };
|
|
3503
|
+
const parsed = AgenticInfoInputSchema.parse(args ?? {});
|
|
3504
|
+
return { content: [jsonText(await runAgenticInfo(parsed))] };
|
|
3496
3505
|
}
|
|
3497
3506
|
case "q402_recurring_list": {
|
|
3498
3507
|
const parsed = RecurringListInputSchema.parse(args ?? {});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quackai/q402-mcp",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"description": "MCP server for Q402 — gasless USDC, USDT, and RLUSD payments across 9 EVM chains, callable from Claude (Desktop / Code), OpenAI Codex CLI, and any other Model Context Protocol client.",
|
|
5
5
|
"mcpName": "io.github.bitgett/q402-mcp",
|
|
6
6
|
"keywords": [
|