@xona-labs/xpay 0.1.5 → 0.1.7
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 +61 -4
- package/dist/cli/balance.d.ts.map +1 -1
- package/dist/cli/balance.js +25 -11
- package/dist/cli/balance.js.map +1 -1
- package/dist/cli/index.js +61 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-server.d.ts.map +1 -1
- package/dist/cli/mcp-server.js +22 -1
- package/dist/cli/mcp-server.js.map +1 -1
- package/dist/cli/sana.d.ts +46 -0
- package/dist/cli/sana.d.ts.map +1 -0
- package/dist/cli/sana.js +138 -0
- package/dist/cli/sana.js.map +1 -0
- package/dist/profile/index.d.ts +8 -0
- package/dist/profile/index.d.ts.map +1 -1
- package/dist/profile/index.js +19 -0
- package/dist/profile/index.js.map +1 -1
- package/dist/profile/types.d.ts +8 -0
- package/dist/profile/types.d.ts.map +1 -1
- package/dist/sana/client.d.ts +15 -0
- package/dist/sana/client.d.ts.map +1 -0
- package/dist/sana/client.js +49 -0
- package/dist/sana/client.js.map +1 -0
- package/dist/sana/tools.d.ts +20 -0
- package/dist/sana/tools.d.ts.map +1 -0
- package/dist/sana/tools.js +118 -0
- package/dist/sana/tools.js.map +1 -0
- package/dist/signers/raw-evm.d.ts.map +1 -1
- package/dist/signers/raw-evm.js +61 -1
- package/dist/signers/raw-evm.js.map +1 -1
- package/dist/signers/raw-solana.d.ts.map +1 -1
- package/dist/signers/raw-solana.js +53 -3
- package/dist/signers/raw-solana.js.map +1 -1
- package/dist/tools/index.d.ts +5 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +10 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/profile/types.d.ts
CHANGED
|
@@ -54,6 +54,14 @@ export interface ProfileConfig {
|
|
|
54
54
|
apiKey: string;
|
|
55
55
|
endpoint: string;
|
|
56
56
|
};
|
|
57
|
+
/**
|
|
58
|
+
* Sana agent wallet card integration.
|
|
59
|
+
* Activate with `xpay sana link <key>` or set env SANABOT_API_KEY.
|
|
60
|
+
* When present, the MCP server registers sana_* tools automatically.
|
|
61
|
+
*/
|
|
62
|
+
sana?: {
|
|
63
|
+
apiKey: string;
|
|
64
|
+
};
|
|
57
65
|
}
|
|
58
66
|
/** Runtime handle returned by {@link initProfile}/{@link loadProfile}. */
|
|
59
67
|
export interface LoadedProfile {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,aAAa,CAAC;QACtB,GAAG,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvE,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,yCAAyC;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,wEAAwE;IACxE,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,gDAAgD;IAChD,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/profile/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,aAAa,CAAC;QACtB,GAAG,EAAE;YAAE,IAAI,EAAE,QAAQ,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACvE,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,yCAAyC;IACzC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8DAA8D;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,wEAAwE;IACxE,SAAS,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,gDAAgD;IAChD,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sana MCP client.
|
|
3
|
+
*
|
|
4
|
+
* Connects to https://mcp.sana.bot/mcp via Streamable HTTP transport and
|
|
5
|
+
* exposes a thin `callTool()` wrapper. One persistent connection per instance;
|
|
6
|
+
* reconnects automatically if the transport closes.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SanaClient {
|
|
9
|
+
private readonly apiKey;
|
|
10
|
+
private _client;
|
|
11
|
+
constructor(apiKey: string);
|
|
12
|
+
private connect;
|
|
13
|
+
callTool(name: string, args?: Record<string, unknown>): Promise<unknown>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/sana/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,OAAO,CAAuB;gBAET,MAAM,EAAE,MAAM;YAE7B,OAAO;IAcf,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAanF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sana MCP client.
|
|
3
|
+
*
|
|
4
|
+
* Connects to https://mcp.sana.bot/mcp via Streamable HTTP transport and
|
|
5
|
+
* exposes a thin `callTool()` wrapper. One persistent connection per instance;
|
|
6
|
+
* reconnects automatically if the transport closes.
|
|
7
|
+
*/
|
|
8
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
9
|
+
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
10
|
+
const SANA_MCP_URL = "https://mcp.sana.bot/mcp";
|
|
11
|
+
export class SanaClient {
|
|
12
|
+
apiKey;
|
|
13
|
+
_client = null;
|
|
14
|
+
constructor(apiKey) {
|
|
15
|
+
this.apiKey = apiKey;
|
|
16
|
+
}
|
|
17
|
+
async connect() {
|
|
18
|
+
if (this._client)
|
|
19
|
+
return this._client;
|
|
20
|
+
const c = new Client({ name: "xpay", version: "0.1.0" });
|
|
21
|
+
const transport = new StreamableHTTPClientTransport(new URL(SANA_MCP_URL), {
|
|
22
|
+
requestInit: {
|
|
23
|
+
headers: { Authorization: `Bearer ${this.apiKey}` },
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
await c.connect(transport);
|
|
27
|
+
this._client = c;
|
|
28
|
+
return c;
|
|
29
|
+
}
|
|
30
|
+
async callTool(name, args = {}) {
|
|
31
|
+
const c = await this.connect();
|
|
32
|
+
const result = await c.callTool({ name, arguments: args });
|
|
33
|
+
const texts = result.content
|
|
34
|
+
.filter((b) => b.type === "text" && b.text)
|
|
35
|
+
.map((b) => b.text);
|
|
36
|
+
if (texts.length === 0)
|
|
37
|
+
return null;
|
|
38
|
+
if (texts.length === 1) {
|
|
39
|
+
try {
|
|
40
|
+
return JSON.parse(texts[0]);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return texts[0];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return texts.join("\n");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sana/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAOhD,MAAM,OAAO,UAAU;IAGQ;IAFrB,OAAO,GAAkB,IAAI,CAAC;IAEtC,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAEvC,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAEtC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE;YACzE,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;aACpD;SACF,CAAC,CAAC;QACH,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,OAAgC,EAAE;QAC7D,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAI,MAAM,CAAC,OAA0B;aAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sana_* tool definitions for the xPay MCP / agent tool surface.
|
|
3
|
+
*
|
|
4
|
+
* Activated when the user has linked a Sana API key (`xpay sana link <key>`
|
|
5
|
+
* or env SANABOT_API_KEY). Every tool proxies through the Sana MCP gateway at
|
|
6
|
+
* https://mcp.sana.bot/mcp under the xpay_ naming convention.
|
|
7
|
+
*
|
|
8
|
+
* Tools:
|
|
9
|
+
* sana_card → get_card
|
|
10
|
+
* sana_card_balance → get_card_balance
|
|
11
|
+
* sana_card_deposit → card_deposit
|
|
12
|
+
* sana_card_transactions → get_transaction_history { context: "card" }
|
|
13
|
+
* sana_portfolio → get_net_worth + get_holdings (merged)
|
|
14
|
+
* sana_price → get_price
|
|
15
|
+
* sana_swap → wallet_swap
|
|
16
|
+
* sana_notifications → get_notifications
|
|
17
|
+
*/
|
|
18
|
+
import type { ClaudeToolDef, ToolBundle } from "../tools/index.js";
|
|
19
|
+
export declare function forSana(apiKey: string): ToolBundle<ClaudeToolDef>;
|
|
20
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/sana/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGnE,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAyHjE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* sana_* tool definitions for the xPay MCP / agent tool surface.
|
|
3
|
+
*
|
|
4
|
+
* Activated when the user has linked a Sana API key (`xpay sana link <key>`
|
|
5
|
+
* or env SANABOT_API_KEY). Every tool proxies through the Sana MCP gateway at
|
|
6
|
+
* https://mcp.sana.bot/mcp under the xpay_ naming convention.
|
|
7
|
+
*
|
|
8
|
+
* Tools:
|
|
9
|
+
* sana_card → get_card
|
|
10
|
+
* sana_card_balance → get_card_balance
|
|
11
|
+
* sana_card_deposit → card_deposit
|
|
12
|
+
* sana_card_transactions → get_transaction_history { context: "card" }
|
|
13
|
+
* sana_portfolio → get_net_worth + get_holdings (merged)
|
|
14
|
+
* sana_price → get_price
|
|
15
|
+
* sana_swap → wallet_swap
|
|
16
|
+
* sana_notifications → get_notifications
|
|
17
|
+
*/
|
|
18
|
+
import { SanaClient } from "./client.js";
|
|
19
|
+
export function forSana(apiKey) {
|
|
20
|
+
const sana = new SanaClient(apiKey);
|
|
21
|
+
const tools = [
|
|
22
|
+
{
|
|
23
|
+
name: "sana_card",
|
|
24
|
+
description: "Sana agent wallet card — card metadata: type, status, last 4 digits, expiry. " +
|
|
25
|
+
"Use this to check whether the card is active before spending.",
|
|
26
|
+
input_schema: { type: "object", properties: {} },
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: "sana_card_balance",
|
|
30
|
+
description: "Sana agent wallet card — available spending power / credit balance on the card.",
|
|
31
|
+
input_schema: { type: "object", properties: {} },
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: "sana_card_deposit",
|
|
35
|
+
description: "Sana agent wallet card — top up the card balance with USDC from the Sana wallet. " +
|
|
36
|
+
"Requires agent signing to be enabled on the API key.",
|
|
37
|
+
input_schema: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
amount: { type: "number", description: "USDC amount to deposit, e.g. 10 for $10." },
|
|
41
|
+
},
|
|
42
|
+
required: ["amount"],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
name: "sana_card_transactions",
|
|
47
|
+
description: "Sana agent wallet card — card spending history, newest first.",
|
|
48
|
+
input_schema: {
|
|
49
|
+
type: "object",
|
|
50
|
+
properties: {
|
|
51
|
+
limit: { type: "number", description: "Max entries. Default 25." },
|
|
52
|
+
cursor: { type: "string", description: "Pagination cursor from a previous call." },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
name: "sana_portfolio",
|
|
58
|
+
description: "Sana wallet — total net worth in USD plus all token holdings with 24h price changes.",
|
|
59
|
+
input_schema: { type: "object", properties: {} },
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "sana_price",
|
|
63
|
+
description: "Sana wallet — current USD price and 24h change for a token symbol.",
|
|
64
|
+
input_schema: {
|
|
65
|
+
type: "object",
|
|
66
|
+
properties: {
|
|
67
|
+
token: { type: "string", description: "Token symbol, e.g. SOL, USDC, ETH." },
|
|
68
|
+
},
|
|
69
|
+
required: ["token"],
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "sana_swap",
|
|
74
|
+
description: "Sana wallet — swap tokens inside the Sana wallet. " +
|
|
75
|
+
"Requires agent signing enabled on the API key.",
|
|
76
|
+
input_schema: {
|
|
77
|
+
type: "object",
|
|
78
|
+
properties: {
|
|
79
|
+
fromToken: { type: "string", description: "Input token symbol, e.g. SOL." },
|
|
80
|
+
toToken: { type: "string", description: "Output token symbol, e.g. USDC." },
|
|
81
|
+
amount: { type: "number", description: "Input token amount." },
|
|
82
|
+
},
|
|
83
|
+
required: ["fromToken", "toToken", "amount"],
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: "sana_notifications",
|
|
88
|
+
description: "Sana wallet — recent wallet activity feed and notifications.",
|
|
89
|
+
input_schema: { type: "object", properties: {} },
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
const handlers = {
|
|
93
|
+
sana_card: () => sana.callTool("get_card"),
|
|
94
|
+
sana_card_balance: () => sana.callTool("get_card_balance"),
|
|
95
|
+
sana_card_deposit: (input) => sana.callTool("card_deposit", { amount: input.amount }),
|
|
96
|
+
sana_card_transactions: (input) => sana.callTool("get_transaction_history", {
|
|
97
|
+
context: "card",
|
|
98
|
+
...(input.limit !== undefined ? { limit: input.limit } : {}),
|
|
99
|
+
...(input.cursor !== undefined ? { cursor: input.cursor } : {}),
|
|
100
|
+
}),
|
|
101
|
+
sana_portfolio: async () => {
|
|
102
|
+
const [netWorth, holdings] = await Promise.all([
|
|
103
|
+
sana.callTool("get_net_worth"),
|
|
104
|
+
sana.callTool("get_holdings"),
|
|
105
|
+
]);
|
|
106
|
+
return { netWorth, holdings };
|
|
107
|
+
},
|
|
108
|
+
sana_price: (input) => sana.callTool("get_price", { token: input.token }),
|
|
109
|
+
sana_swap: (input) => sana.callTool("wallet_swap", {
|
|
110
|
+
fromToken: input.fromToken,
|
|
111
|
+
toToken: input.toToken,
|
|
112
|
+
amount: input.amount,
|
|
113
|
+
}),
|
|
114
|
+
sana_notifications: () => sana.callTool("get_notifications"),
|
|
115
|
+
};
|
|
116
|
+
return { tools, handlers };
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/sana/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-evm.d.ts","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"raw-evm.d.ts","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,EAAgB,MAAM,aAAa,CAAC;AAyDrF,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CA8E9D"}
|
package/dist/signers/raw-evm.js
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
* EIP-155 chains. Holds a hex private key via `ethers.Wallet`.
|
|
4
4
|
*/
|
|
5
5
|
import { Contract, JsonRpcProvider, Wallet, getBytes, hashMessage } from "ethers";
|
|
6
|
+
const NATIVE_TOKEN = {
|
|
7
|
+
base: { symbol: "ETH", name: "Ether" },
|
|
8
|
+
ethereum: { symbol: "ETH", name: "Ether" },
|
|
9
|
+
arbitrum: { symbol: "ETH", name: "Ether" },
|
|
10
|
+
optimism: { symbol: "ETH", name: "Ether" },
|
|
11
|
+
};
|
|
12
|
+
const KNOWN_ERC20S = {
|
|
13
|
+
base: [
|
|
14
|
+
{ symbol: "USDC", name: "USD Coin", contract: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", decimals: 6 },
|
|
15
|
+
{ symbol: "USDT", name: "Tether USD", contract: "0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2", decimals: 6 },
|
|
16
|
+
{ symbol: "WETH", name: "Wrapped Ether", contract: "0x4200000000000000000000000000000000000006", decimals: 18 },
|
|
17
|
+
{ symbol: "DAI", name: "Dai", contract: "0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb", decimals: 18 },
|
|
18
|
+
{ symbol: "cbBTC", name: "Coinbase BTC", contract: "0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf", decimals: 8 },
|
|
19
|
+
],
|
|
20
|
+
ethereum: [
|
|
21
|
+
{ symbol: "USDC", name: "USD Coin", contract: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", decimals: 6 },
|
|
22
|
+
{ symbol: "USDT", name: "Tether USD", contract: "0xdAC17F958D2ee523a2206206994597C13D831ec7", decimals: 6 },
|
|
23
|
+
{ symbol: "WETH", name: "Wrapped Ether", contract: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", decimals: 18 },
|
|
24
|
+
{ symbol: "DAI", name: "Dai", contract: "0x6B175474E89094C44Da98b954EedeAC495271d0F", decimals: 18 },
|
|
25
|
+
],
|
|
26
|
+
arbitrum: [
|
|
27
|
+
{ symbol: "USDC", name: "USD Coin", contract: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", decimals: 6 },
|
|
28
|
+
{ symbol: "USDT", name: "Tether USD", contract: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", decimals: 6 },
|
|
29
|
+
{ symbol: "WETH", name: "Wrapped Ether", contract: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", decimals: 18 },
|
|
30
|
+
],
|
|
31
|
+
optimism: [
|
|
32
|
+
{ symbol: "USDC", name: "USD Coin", contract: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", decimals: 6 },
|
|
33
|
+
{ symbol: "USDT", name: "Tether USD", contract: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58", decimals: 6 },
|
|
34
|
+
{ symbol: "WETH", name: "Wrapped Ether", contract: "0x4200000000000000000000000000000000000006", decimals: 18 },
|
|
35
|
+
{ symbol: "OP", name: "Optimism", contract: "0x4200000000000000000000000000000000000042", decimals: 18 },
|
|
36
|
+
],
|
|
37
|
+
};
|
|
6
38
|
/** Per-network USDC contract addresses. */
|
|
7
39
|
const USDC_CONTRACTS = {
|
|
8
40
|
base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
@@ -42,13 +74,41 @@ export function rawEvmSigner(opts) {
|
|
|
42
74
|
try {
|
|
43
75
|
const erc20 = new Contract(usdc, ERC20_ABI, provider);
|
|
44
76
|
const raw = (await erc20.balanceOf(wallet.address));
|
|
45
|
-
// USDC has 6 decimals on every supported chain.
|
|
46
77
|
return Number(raw) / 1_000_000;
|
|
47
78
|
}
|
|
48
79
|
catch {
|
|
49
80
|
return 0;
|
|
50
81
|
}
|
|
51
82
|
},
|
|
83
|
+
async tokenBalances() {
|
|
84
|
+
const results = [];
|
|
85
|
+
// Native gas token (ETH, etc.)
|
|
86
|
+
const native = NATIVE_TOKEN[opts.network];
|
|
87
|
+
if (native) {
|
|
88
|
+
try {
|
|
89
|
+
const raw = await provider.getBalance(wallet.address);
|
|
90
|
+
const bal = Number(raw) / 1e18;
|
|
91
|
+
if (bal > 0) {
|
|
92
|
+
results.push({ ...native, balance: bal, decimals: 18, isNative: true });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
catch { /* skip */ }
|
|
96
|
+
}
|
|
97
|
+
// Known ERC-20s
|
|
98
|
+
const tokens = KNOWN_ERC20S[opts.network] ?? [];
|
|
99
|
+
await Promise.all(tokens.map(async (t) => {
|
|
100
|
+
try {
|
|
101
|
+
const erc20 = new Contract(t.contract, ERC20_ABI, provider);
|
|
102
|
+
const raw = (await erc20.balanceOf(wallet.address));
|
|
103
|
+
const bal = Number(raw) / Math.pow(10, t.decimals);
|
|
104
|
+
if (bal > 0) {
|
|
105
|
+
results.push({ symbol: t.symbol, name: t.name, balance: bal, decimals: t.decimals, address: t.contract });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch { /* skip */ }
|
|
109
|
+
}));
|
|
110
|
+
return results;
|
|
111
|
+
},
|
|
52
112
|
async pay(req) {
|
|
53
113
|
// Native ETH transfer (asset is the zero address).
|
|
54
114
|
if (req.asset === "0x0000000000000000000000000000000000000000") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-evm.js","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGlF,2CAA2C;AAC3C,MAAM,cAAc,GAA2B;IAC7C,IAAI,EAAE,4CAA4C;IAClD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;IACtD,QAAQ,EAAE,4CAA4C;CACvD,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,IAAI,EAAE,0BAA0B;IAChC,QAAQ,EAAE,0BAA0B;IACpC,QAAQ,EAAE,8BAA8B;IACxC,QAAQ,EAAE,6BAA6B;CACxC,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,8DAA8D;IAC9D,0CAA0C;IAC1C,0DAA0D;CAC3D,CAAC;AAWF,MAAM,UAAU,YAAY,CAAC,IAAyB;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QAEvB,KAAK,CAAC,WAAW,CAAC,OAAO;YACvB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,KAAK,CAAC,OAAO;YACX,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtD,MAAM,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,SAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAW,CAAC;gBAC/D,
|
|
1
|
+
{"version":3,"file":"raw-evm.js","sourceRoot":"","sources":["../../src/signers/raw-evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-solana.d.ts","sourceRoot":"","sources":["../../src/signers/raw-solana.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"raw-solana.d.ts","sourceRoot":"","sources":["../../src/signers/raw-solana.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8BH,OAAO,KAAK,EAAsB,MAAM,EAAE,MAAM,aAAa,CAAC;AAO9D,MAAM,WAAW,sBAAsB;IACrC,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC;IAC/B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAkHpE"}
|
|
@@ -5,7 +5,18 @@
|
|
|
5
5
|
* Production wallets should prefer Privy or Phantom signers.
|
|
6
6
|
*/
|
|
7
7
|
import { Connection, Keypair, PublicKey, Transaction, sendAndConfirmTransaction, } from "@solana/web3.js";
|
|
8
|
-
import { createTransferInstruction, getAssociatedTokenAddress, getAccount, getOrCreateAssociatedTokenAccount, } from "@solana/spl-token";
|
|
8
|
+
import { createTransferInstruction, getAssociatedTokenAddress, getAccount, getOrCreateAssociatedTokenAccount, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
|
|
9
|
+
const KNOWN_MINTS = {
|
|
10
|
+
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v": { symbol: "USDC", name: "USD Coin" },
|
|
11
|
+
"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB": { symbol: "USDT", name: "Tether USD" },
|
|
12
|
+
"So11111111111111111111111111111111111111112": { symbol: "wSOL", name: "Wrapped SOL" },
|
|
13
|
+
"mSoLzYCxHdYgdzU16g5QSh3i5K3z3KZK7ytfqcJm7So": { symbol: "mSOL", name: "Marinade SOL" },
|
|
14
|
+
"J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn": { symbol: "JitoSOL", name: "Jito Staked SOL" },
|
|
15
|
+
"7vfCXTUXx5WJV5JADk17DUJ4ksgau7utNKj4b963voxs": { symbol: "ETH", name: "Ether (Wormhole)" },
|
|
16
|
+
"DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263": { symbol: "BONK", name: "Bonk" },
|
|
17
|
+
"JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN": { symbol: "JUP", name: "Jupiter" },
|
|
18
|
+
"HZ1JovNiVvGrG91rGdVZr4N5bq4SB5tFTjS5jTmWDRy": { symbol: "PYTH", name: "Pyth Network" },
|
|
19
|
+
};
|
|
9
20
|
import nacl from "tweetnacl";
|
|
10
21
|
/** Mainnet USDC mint. Used for the default balance lookup. */
|
|
11
22
|
const USDC_MINT_MAINNET = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
@@ -38,14 +49,53 @@ export function rawSolanaSigner(opts) {
|
|
|
38
49
|
const mint = new PublicKey(USDC_MINT_MAINNET);
|
|
39
50
|
const ata = await getAssociatedTokenAddress(mint, keypair.publicKey);
|
|
40
51
|
const acc = await getAccount(connection, ata);
|
|
41
|
-
// USDC has 6 decimals.
|
|
42
52
|
return Number(acc.amount) / 1_000_000;
|
|
43
53
|
}
|
|
44
54
|
catch {
|
|
45
|
-
// Account doesn't exist yet → 0 balance.
|
|
46
55
|
return 0;
|
|
47
56
|
}
|
|
48
57
|
},
|
|
58
|
+
async tokenBalances() {
|
|
59
|
+
const results = [];
|
|
60
|
+
// Native SOL
|
|
61
|
+
try {
|
|
62
|
+
const lamports = await connection.getBalance(keypair.publicKey);
|
|
63
|
+
if (lamports > 0) {
|
|
64
|
+
results.push({
|
|
65
|
+
symbol: "SOL",
|
|
66
|
+
name: "Solana",
|
|
67
|
+
balance: lamports / 1e9,
|
|
68
|
+
decimals: 9,
|
|
69
|
+
isNative: true,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch { /* skip */ }
|
|
74
|
+
// All SPL token accounts
|
|
75
|
+
try {
|
|
76
|
+
const { value: accounts } = await connection.getParsedTokenAccountsByOwner(keypair.publicKey, { programId: TOKEN_PROGRAM_ID });
|
|
77
|
+
for (const { account } of accounts) {
|
|
78
|
+
const parsed = account.data.parsed?.info;
|
|
79
|
+
if (!parsed)
|
|
80
|
+
continue;
|
|
81
|
+
const mint = parsed.mint;
|
|
82
|
+
const uiAmount = parsed.tokenAmount?.uiAmount ?? 0;
|
|
83
|
+
const decimals = parsed.tokenAmount?.decimals ?? 0;
|
|
84
|
+
if (uiAmount === 0)
|
|
85
|
+
continue;
|
|
86
|
+
const known = KNOWN_MINTS[mint];
|
|
87
|
+
results.push({
|
|
88
|
+
symbol: known?.symbol ?? mint.slice(0, 4) + "…",
|
|
89
|
+
name: known?.name ?? "Unknown Token",
|
|
90
|
+
balance: uiAmount,
|
|
91
|
+
decimals,
|
|
92
|
+
address: mint,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch { /* skip */ }
|
|
97
|
+
return results;
|
|
98
|
+
},
|
|
49
99
|
/**
|
|
50
100
|
* Pay an SPL token (typically USDC) per the requirement.
|
|
51
101
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-solana.js","sourceRoot":"","sources":["../../src/signers/raw-solana.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,UAAU,EACV,OAAO,EACP,SAAS,EACT,WAAW,EACX,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,UAAU,EACV,iCAAiC,
|
|
1
|
+
{"version":3,"file":"raw-solana.js","sourceRoot":"","sources":["../../src/signers/raw-solana.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -20,8 +20,12 @@ export interface ClaudeToolDef {
|
|
|
20
20
|
description: string;
|
|
21
21
|
input_schema: Record<string, unknown>;
|
|
22
22
|
}
|
|
23
|
+
export interface ToolOptions {
|
|
24
|
+
/** Sana API key — when present, registers sana_* tools alongside xpay_* tools. */
|
|
25
|
+
sanaApiKey?: string;
|
|
26
|
+
}
|
|
23
27
|
/** Anthropic Claude tool definitions. */
|
|
24
|
-
export declare function forClaude(xpay: XPay): ToolBundle<ClaudeToolDef>;
|
|
28
|
+
export declare function forClaude(xpay: XPay, opts?: ToolOptions): ToolBundle<ClaudeToolDef>;
|
|
25
29
|
/** OpenAI function-calling tool definitions (derived from the Claude shape). */
|
|
26
30
|
export declare function forOpenAI(xpay: XPay): {
|
|
27
31
|
tools: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,WAAW,UAAU,CAAC,IAAI;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yCAAyC;AACzC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CAAC,aAAa,CAAC,CAgJvF;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;;qCAlKD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EA+K9E;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI;;;;;;;;qCAlLD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC;EAgM9E"}
|
package/dist/tools/index.js
CHANGED
|
@@ -10,8 +10,9 @@
|
|
|
10
10
|
* The tool surface mirrors the CLI commands so an agent's mental model is
|
|
11
11
|
* the same whether it's calling the SDK, the CLI, or MCP.
|
|
12
12
|
*/
|
|
13
|
+
import { forSana } from "../sana/tools.js";
|
|
13
14
|
/** Anthropic Claude tool definitions. */
|
|
14
|
-
export function forClaude(xpay) {
|
|
15
|
+
export function forClaude(xpay, opts = {}) {
|
|
15
16
|
const tools = [
|
|
16
17
|
{
|
|
17
18
|
name: "xpay_discover",
|
|
@@ -128,6 +129,14 @@ export function forClaude(xpay) {
|
|
|
128
129
|
}),
|
|
129
130
|
xpay_guardrail: async () => xpay.guardrail,
|
|
130
131
|
};
|
|
132
|
+
// Merge Sana tools if an API key is configured.
|
|
133
|
+
if (opts.sanaApiKey) {
|
|
134
|
+
const sana = forSana(opts.sanaApiKey);
|
|
135
|
+
return {
|
|
136
|
+
tools: [...tools, ...sana.tools],
|
|
137
|
+
handlers: { ...handlers, ...sana.handlers },
|
|
138
|
+
};
|
|
139
|
+
}
|
|
131
140
|
return { tools, handlers };
|
|
132
141
|
}
|
|
133
142
|
/** OpenAI function-calling tool definitions (derived from the Claude shape). */
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -208,6 +208,16 @@ export interface DiscoverOptions {
|
|
|
208
208
|
/** Max results to return. */
|
|
209
209
|
limit?: number;
|
|
210
210
|
}
|
|
211
|
+
/** A single token balance entry returned by {@link Signer.tokenBalances}. */
|
|
212
|
+
export interface TokenBalance {
|
|
213
|
+
symbol: string;
|
|
214
|
+
name: string;
|
|
215
|
+
balance: number;
|
|
216
|
+
decimals: number;
|
|
217
|
+
/** SPL mint address (Solana) or ERC-20 contract address (EVM). Absent for native gas tokens. */
|
|
218
|
+
address?: string;
|
|
219
|
+
isNative?: boolean;
|
|
220
|
+
}
|
|
211
221
|
/** A configured signer for a single network. */
|
|
212
222
|
export interface Signer {
|
|
213
223
|
network: Network;
|
|
@@ -227,6 +237,11 @@ export interface Signer {
|
|
|
227
237
|
* the signer doesn't implement it.
|
|
228
238
|
*/
|
|
229
239
|
balance?(): Promise<number>;
|
|
240
|
+
/**
|
|
241
|
+
* Optional: read all non-zero token balances (native + known tokens).
|
|
242
|
+
* When implemented, shown by `xpay balance` instead of just USDC.
|
|
243
|
+
*/
|
|
244
|
+
tokenBalances?(): Promise<TokenBalance[]>;
|
|
230
245
|
/**
|
|
231
246
|
* Optional: return a `@solana/kit` `TransactionSigner` for canonical x402
|
|
232
247
|
* SVM v2 payment payloads. When present, `useByUrl()` will sign the
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8FAA8F;AAC9F,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;IACnC,qDAAqD;;IAErD,yBAAyB;;IAEzB,sEAAsE;;IAEtE,wCAAwC;;IAExC,mFAAmF;;IAEnF,iDAAiD;;;;IAIjD,wEAAwE;;;;;;;;;;;;;;;;;;;;;;EAExE,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;IACzB,sDAAsD;;IAEtD,6DAA6D;;IAE7D,6BAA6B;;IAE7B,6CAA6C;;IAE7C,oCAAoC;;QAnCpC,qDAAqD;;QAErD,yBAAyB;;QAEzB,sEAAsE;;QAEtE,wCAAwC;;QAExC,mFAAmF;;QAEnF,iDAAiD;;;;QAIjD,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BxE,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,2CAA2C;AAC3C,MAAM,WAAW,SAAS;IACxB,6DAA6D;IAC7D,IAAI,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C;;;OAGG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xona-labs/xpay",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Discovery and usage layer for agentic commerce — multi-network wallet, x402 payments, 20k+ services via PayAI and other catalogs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|