@sardis/sdk 0.2.0
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/CHANGELOG.md +47 -0
- package/LICENSE +21 -0
- package/README.md +439 -0
- package/dist/browser/index.js +7049 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/sardis.umd.js +7071 -0
- package/dist/browser/sardis.umd.js.map +1 -0
- package/dist/cjs/client.js +644 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/demo.js +699 -0
- package/dist/cjs/demo.js.map +1 -0
- package/dist/cjs/errors.js +630 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/index.js +131 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/integrations/index.js +21 -0
- package/dist/cjs/integrations/index.js.map +1 -0
- package/dist/cjs/integrations/langchain.js +339 -0
- package/dist/cjs/integrations/langchain.js.map +1 -0
- package/dist/cjs/integrations/openai.js +505 -0
- package/dist/cjs/integrations/openai.js.map +1 -0
- package/dist/cjs/integrations/vercel-ai.js +198 -0
- package/dist/cjs/integrations/vercel-ai.js.map +1 -0
- package/dist/cjs/resources/a2a.js +158 -0
- package/dist/cjs/resources/a2a.js.map +1 -0
- package/dist/cjs/resources/agents.js +142 -0
- package/dist/cjs/resources/agents.js.map +1 -0
- package/dist/cjs/resources/base.js +124 -0
- package/dist/cjs/resources/base.js.map +1 -0
- package/dist/cjs/resources/cards.js +43 -0
- package/dist/cjs/resources/cards.js.map +1 -0
- package/dist/cjs/resources/holds.js +64 -0
- package/dist/cjs/resources/holds.js.map +1 -0
- package/dist/cjs/resources/index.js +31 -0
- package/dist/cjs/resources/index.js.map +1 -0
- package/dist/cjs/resources/ledger.js +43 -0
- package/dist/cjs/resources/ledger.js.map +1 -0
- package/dist/cjs/resources/marketplace.js +88 -0
- package/dist/cjs/resources/marketplace.js.map +1 -0
- package/dist/cjs/resources/payments.js +33 -0
- package/dist/cjs/resources/payments.js.map +1 -0
- package/dist/cjs/resources/policies.js +31 -0
- package/dist/cjs/resources/policies.js.map +1 -0
- package/dist/cjs/resources/transactions.js +37 -0
- package/dist/cjs/resources/transactions.js.map +1 -0
- package/dist/cjs/resources/ucp.js +133 -0
- package/dist/cjs/resources/ucp.js.map +1 -0
- package/dist/cjs/resources/wallets.js +109 -0
- package/dist/cjs/resources/wallets.js.map +1 -0
- package/dist/cjs/resources/webhooks.js +81 -0
- package/dist/cjs/resources/webhooks.js.map +1 -0
- package/dist/cjs/types.js +11 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/client.d.ts +419 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +637 -0
- package/dist/client.js.map +1 -0
- package/dist/demo.d.ts +335 -0
- package/dist/demo.d.ts.map +1 -0
- package/dist/demo.js +694 -0
- package/dist/demo.js.map +1 -0
- package/dist/errors.d.ts +522 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +612 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/index.d.ts +4 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +5 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/langchain.d.ts +68 -0
- package/dist/integrations/langchain.d.ts.map +1 -0
- package/dist/integrations/langchain.js +335 -0
- package/dist/integrations/langchain.js.map +1 -0
- package/dist/integrations/openai.d.ts +97 -0
- package/dist/integrations/openai.d.ts.map +1 -0
- package/dist/integrations/openai.js +467 -0
- package/dist/integrations/openai.js.map +1 -0
- package/dist/integrations/vercel-ai.d.ts +180 -0
- package/dist/integrations/vercel-ai.d.ts.map +1 -0
- package/dist/integrations/vercel-ai.js +194 -0
- package/dist/integrations/vercel-ai.js.map +1 -0
- package/dist/resources/a2a.d.ts +254 -0
- package/dist/resources/a2a.d.ts.map +1 -0
- package/dist/resources/a2a.js +154 -0
- package/dist/resources/a2a.js.map +1 -0
- package/dist/resources/agents.d.ts +111 -0
- package/dist/resources/agents.d.ts.map +1 -0
- package/dist/resources/agents.js +138 -0
- package/dist/resources/agents.js.map +1 -0
- package/dist/resources/base.d.ts +115 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/base.js +120 -0
- package/dist/resources/base.js.map +1 -0
- package/dist/resources/cards.d.ts +19 -0
- package/dist/resources/cards.d.ts.map +1 -0
- package/dist/resources/cards.js +39 -0
- package/dist/resources/cards.js.map +1 -0
- package/dist/resources/holds.d.ts +44 -0
- package/dist/resources/holds.d.ts.map +1 -0
- package/dist/resources/holds.js +60 -0
- package/dist/resources/holds.js.map +1 -0
- package/dist/resources/index.d.ts +16 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +16 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/ledger.d.ts +38 -0
- package/dist/resources/ledger.d.ts.map +1 -0
- package/dist/resources/ledger.js +39 -0
- package/dist/resources/ledger.js.map +1 -0
- package/dist/resources/marketplace.d.ts +60 -0
- package/dist/resources/marketplace.d.ts.map +1 -0
- package/dist/resources/marketplace.js +84 -0
- package/dist/resources/marketplace.js.map +1 -0
- package/dist/resources/payments.d.ts +24 -0
- package/dist/resources/payments.d.ts.map +1 -0
- package/dist/resources/payments.js +29 -0
- package/dist/resources/payments.js.map +1 -0
- package/dist/resources/policies.d.ts +23 -0
- package/dist/resources/policies.d.ts.map +1 -0
- package/dist/resources/policies.js +27 -0
- package/dist/resources/policies.js.map +1 -0
- package/dist/resources/transactions.d.ts +32 -0
- package/dist/resources/transactions.d.ts.map +1 -0
- package/dist/resources/transactions.js +33 -0
- package/dist/resources/transactions.js.map +1 -0
- package/dist/resources/ucp.d.ts +218 -0
- package/dist/resources/ucp.d.ts.map +1 -0
- package/dist/resources/ucp.js +129 -0
- package/dist/resources/ucp.js.map +1 -0
- package/dist/resources/wallets.d.ts +71 -0
- package/dist/resources/wallets.d.ts.map +1 -0
- package/dist/resources/wallets.js +105 -0
- package/dist/resources/wallets.js.map +1 -0
- package/dist/resources/webhooks.d.ts +57 -0
- package/dist/resources/webhooks.d.ts.map +1 -0
- package/dist/resources/webhooks.js +77 -0
- package/dist/resources/webhooks.js.map +1 -0
- package/dist/types.d.ts +1045 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SardisClient } from '../client.js';
|
|
3
|
+
export interface SardisToolsOptions {
|
|
4
|
+
/** Default wallet ID to use for payments */
|
|
5
|
+
walletId?: string;
|
|
6
|
+
/** Default agent ID */
|
|
7
|
+
agentId?: string;
|
|
8
|
+
/** Default chain for transactions */
|
|
9
|
+
chain?: 'base' | 'base_sepolia' | 'polygon' | 'polygon_amoy' | 'ethereum' | 'ethereum_sepolia';
|
|
10
|
+
/** Default token */
|
|
11
|
+
token?: 'USDC' | 'USDT' | 'PYUSD' | 'EURC';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Create Sardis tools for Vercel AI SDK integration.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { generateText } from 'ai';
|
|
19
|
+
* import { SardisClient } from '@sardis/sdk';
|
|
20
|
+
* import { createSardisTools } from '@sardis/sdk/integrations/vercel-ai';
|
|
21
|
+
*
|
|
22
|
+
* const client = new SardisClient({ apiKey: 'your-api-key' });
|
|
23
|
+
* const tools = createSardisTools(client, {
|
|
24
|
+
* walletId: 'wallet_123',
|
|
25
|
+
* agentId: 'agent_456'
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* const result = await generateText({
|
|
29
|
+
* model: yourModel,
|
|
30
|
+
* tools,
|
|
31
|
+
* prompt: 'Pay $50 to OpenAI for API credits'
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare const createSardisTools: (client?: SardisClient, options?: SardisToolsOptions) => {
|
|
36
|
+
/**
|
|
37
|
+
* Execute a secure payment using Sardis MPC wallet.
|
|
38
|
+
*/
|
|
39
|
+
payVendor: {
|
|
40
|
+
description: string;
|
|
41
|
+
parameters: z.ZodObject<{
|
|
42
|
+
amount: z.ZodNumber;
|
|
43
|
+
vendor: z.ZodString;
|
|
44
|
+
vendorAddress: z.ZodOptional<z.ZodString>;
|
|
45
|
+
purpose: z.ZodOptional<z.ZodString>;
|
|
46
|
+
walletId: z.ZodOptional<z.ZodString>;
|
|
47
|
+
token: z.ZodOptional<z.ZodEnum<["USDC", "USDT", "PYUSD", "EURC"]>>;
|
|
48
|
+
chain: z.ZodOptional<z.ZodString>;
|
|
49
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
amount: number;
|
|
52
|
+
vendor: string;
|
|
53
|
+
chain?: string | undefined;
|
|
54
|
+
token?: "USDC" | "USDT" | "PYUSD" | "EURC" | undefined;
|
|
55
|
+
vendorAddress?: string | undefined;
|
|
56
|
+
purpose?: string | undefined;
|
|
57
|
+
walletId?: string | undefined;
|
|
58
|
+
domain?: string | undefined;
|
|
59
|
+
}, {
|
|
60
|
+
amount: number;
|
|
61
|
+
vendor: string;
|
|
62
|
+
chain?: string | undefined;
|
|
63
|
+
token?: "USDC" | "USDT" | "PYUSD" | "EURC" | undefined;
|
|
64
|
+
vendorAddress?: string | undefined;
|
|
65
|
+
purpose?: string | undefined;
|
|
66
|
+
walletId?: string | undefined;
|
|
67
|
+
domain?: string | undefined;
|
|
68
|
+
}>;
|
|
69
|
+
execute: ({ amount, vendor, vendorAddress, purpose, walletId, token, chain, domain, }: {
|
|
70
|
+
amount: number;
|
|
71
|
+
vendor: string;
|
|
72
|
+
vendorAddress?: string;
|
|
73
|
+
purpose?: string;
|
|
74
|
+
walletId?: string;
|
|
75
|
+
token?: "USDC" | "USDT" | "PYUSD" | "EURC";
|
|
76
|
+
chain?: string;
|
|
77
|
+
domain?: string;
|
|
78
|
+
}) => Promise<{
|
|
79
|
+
success: boolean;
|
|
80
|
+
error: string;
|
|
81
|
+
status?: undefined;
|
|
82
|
+
transactionHash?: undefined;
|
|
83
|
+
chain?: undefined;
|
|
84
|
+
auditAnchor?: undefined;
|
|
85
|
+
message?: undefined;
|
|
86
|
+
blocked?: undefined;
|
|
87
|
+
} | {
|
|
88
|
+
success: boolean;
|
|
89
|
+
status: string;
|
|
90
|
+
transactionHash: string;
|
|
91
|
+
chain: import("../types.js").Chain;
|
|
92
|
+
auditAnchor: string | null | undefined;
|
|
93
|
+
message: string;
|
|
94
|
+
error?: undefined;
|
|
95
|
+
blocked?: undefined;
|
|
96
|
+
} | {
|
|
97
|
+
success: boolean;
|
|
98
|
+
blocked: boolean;
|
|
99
|
+
error: string;
|
|
100
|
+
message: string;
|
|
101
|
+
status?: undefined;
|
|
102
|
+
transactionHash?: undefined;
|
|
103
|
+
chain?: undefined;
|
|
104
|
+
auditAnchor?: undefined;
|
|
105
|
+
}>;
|
|
106
|
+
};
|
|
107
|
+
/**
|
|
108
|
+
* Check wallet balance before making a payment.
|
|
109
|
+
*/
|
|
110
|
+
checkBalance: {
|
|
111
|
+
description: string;
|
|
112
|
+
parameters: z.ZodObject<{
|
|
113
|
+
walletId: z.ZodOptional<z.ZodString>;
|
|
114
|
+
token: z.ZodOptional<z.ZodEnum<["USDC", "USDT", "PYUSD", "EURC"]>>;
|
|
115
|
+
chain: z.ZodOptional<z.ZodString>;
|
|
116
|
+
}, "strip", z.ZodTypeAny, {
|
|
117
|
+
chain?: string | undefined;
|
|
118
|
+
token?: "USDC" | "USDT" | "PYUSD" | "EURC" | undefined;
|
|
119
|
+
walletId?: string | undefined;
|
|
120
|
+
}, {
|
|
121
|
+
chain?: string | undefined;
|
|
122
|
+
token?: "USDC" | "USDT" | "PYUSD" | "EURC" | undefined;
|
|
123
|
+
walletId?: string | undefined;
|
|
124
|
+
}>;
|
|
125
|
+
execute: ({ walletId, token, chain }: {
|
|
126
|
+
walletId?: string;
|
|
127
|
+
token?: "USDC" | "USDT" | "PYUSD" | "EURC";
|
|
128
|
+
chain?: string;
|
|
129
|
+
}) => Promise<{
|
|
130
|
+
success: boolean;
|
|
131
|
+
error: string;
|
|
132
|
+
walletId?: undefined;
|
|
133
|
+
balance?: undefined;
|
|
134
|
+
token?: undefined;
|
|
135
|
+
chain?: undefined;
|
|
136
|
+
address?: undefined;
|
|
137
|
+
} | {
|
|
138
|
+
success: boolean;
|
|
139
|
+
walletId: string;
|
|
140
|
+
balance: string;
|
|
141
|
+
token: import("../types.js").Token;
|
|
142
|
+
chain: string;
|
|
143
|
+
address: string;
|
|
144
|
+
error?: undefined;
|
|
145
|
+
}>;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Get wallet information.
|
|
149
|
+
*/
|
|
150
|
+
getWallet: {
|
|
151
|
+
description: string;
|
|
152
|
+
parameters: z.ZodObject<{
|
|
153
|
+
walletId: z.ZodOptional<z.ZodString>;
|
|
154
|
+
}, "strip", z.ZodTypeAny, {
|
|
155
|
+
walletId?: string | undefined;
|
|
156
|
+
}, {
|
|
157
|
+
walletId?: string | undefined;
|
|
158
|
+
}>;
|
|
159
|
+
execute: ({ walletId }: {
|
|
160
|
+
walletId?: string;
|
|
161
|
+
}) => Promise<{
|
|
162
|
+
success: boolean;
|
|
163
|
+
error: string;
|
|
164
|
+
wallet?: undefined;
|
|
165
|
+
} | {
|
|
166
|
+
success: boolean;
|
|
167
|
+
wallet: {
|
|
168
|
+
id: string;
|
|
169
|
+
agentId: string;
|
|
170
|
+
currency: import("../types.js").Token;
|
|
171
|
+
limitPerTx: string;
|
|
172
|
+
limitTotal: string;
|
|
173
|
+
isActive: boolean;
|
|
174
|
+
addresses: Record<string, string>;
|
|
175
|
+
};
|
|
176
|
+
error?: undefined;
|
|
177
|
+
}>;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=vercel-ai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../src/integrations/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IAC/B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,kBAAkB,CAAC;IAC/F,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,YAAY,EAAE,UAAS,kBAAuB;IAOjF;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+FAsBI;YACC,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,MAAM,CAAC;YACf,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;YAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkEL;;OAEG;;;;;;;;;;;;;;;;8CAYI;YACC,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;YAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;SAClB;;;;;;;;;;;;;;;;;;IAwCL;;OAEG;;;;;;;;;;gCAM+B;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;CAwC9D,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Create Sardis tools for Vercel AI SDK integration.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import { generateText } from 'ai';
|
|
8
|
+
* import { SardisClient } from '@sardis/sdk';
|
|
9
|
+
* import { createSardisTools } from '@sardis/sdk/integrations/vercel-ai';
|
|
10
|
+
*
|
|
11
|
+
* const client = new SardisClient({ apiKey: 'your-api-key' });
|
|
12
|
+
* const tools = createSardisTools(client, {
|
|
13
|
+
* walletId: 'wallet_123',
|
|
14
|
+
* agentId: 'agent_456'
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* const result = await generateText({
|
|
18
|
+
* model: yourModel,
|
|
19
|
+
* tools,
|
|
20
|
+
* prompt: 'Pay $50 to OpenAI for API credits'
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export const createSardisTools = (client, options = {}) => {
|
|
25
|
+
const sardis = client;
|
|
26
|
+
const defaultWalletId = options.walletId || process.env.SARDIS_WALLET_ID || '';
|
|
27
|
+
const defaultChain = options.chain || 'base_sepolia';
|
|
28
|
+
const defaultToken = options.token || 'USDC';
|
|
29
|
+
return {
|
|
30
|
+
/**
|
|
31
|
+
* Execute a secure payment using Sardis MPC wallet.
|
|
32
|
+
*/
|
|
33
|
+
payVendor: {
|
|
34
|
+
description: 'Execute a secure payment using Sardis MPC wallet. Validates against spending policies before execution.',
|
|
35
|
+
parameters: z.object({
|
|
36
|
+
amount: z.number().describe('The amount to pay in USD (or token units).'),
|
|
37
|
+
vendor: z.string().describe('The name of the merchant or service provider.'),
|
|
38
|
+
vendorAddress: z.string().optional().describe('The wallet address of the vendor (0x...).'),
|
|
39
|
+
purpose: z.string().optional().describe('The reason for the payment, used for policy validation.'),
|
|
40
|
+
walletId: z.string().optional().describe('The wallet ID to pay from. Defaults to configured wallet.'),
|
|
41
|
+
token: z.enum(['USDC', 'USDT', 'PYUSD', 'EURC']).optional().describe('The stablecoin to use. Defaults to USDC.'),
|
|
42
|
+
chain: z.string().optional().describe('The chain to use (e.g. base_sepolia). Defaults to configured chain.'),
|
|
43
|
+
domain: z.string().optional().describe('Policy context label (e.g. aws.amazon.com). Defaults to vendor.'),
|
|
44
|
+
}),
|
|
45
|
+
execute: async ({ amount, vendor, vendorAddress, purpose, walletId, token, chain, domain, }) => {
|
|
46
|
+
if (!sardis) {
|
|
47
|
+
return {
|
|
48
|
+
success: false,
|
|
49
|
+
error: "SardisClient not initialized. Please provide a client instance."
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const effectiveWalletId = walletId || defaultWalletId;
|
|
53
|
+
if (!effectiveWalletId) {
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
error: "No wallet ID provided. Set walletId in options or SARDIS_WALLET_ID env var."
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
try {
|
|
60
|
+
const effectiveToken = token || defaultToken;
|
|
61
|
+
const effectiveChain = chain || defaultChain;
|
|
62
|
+
const effectiveDomain = domain || vendor;
|
|
63
|
+
if (!vendorAddress) {
|
|
64
|
+
return {
|
|
65
|
+
success: false,
|
|
66
|
+
error: "Missing vendorAddress (destination). Provide a wallet address (0x...) for the vendor."
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
const result = await sardis.wallets.transfer(effectiveWalletId, {
|
|
70
|
+
destination: vendorAddress,
|
|
71
|
+
amount: amount.toString(),
|
|
72
|
+
token: effectiveToken,
|
|
73
|
+
chain: effectiveChain,
|
|
74
|
+
domain: effectiveDomain,
|
|
75
|
+
memo: purpose,
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
success: true,
|
|
79
|
+
status: result.status,
|
|
80
|
+
transactionHash: result.tx_hash,
|
|
81
|
+
chain: result.chain,
|
|
82
|
+
auditAnchor: result.audit_anchor,
|
|
83
|
+
message: `Payment of $${amount} ${effectiveToken} to ${vendor} ${result.status === 'completed' ? 'completed' : 'initiated'} successfully.`
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const errorMessage = error instanceof Error ? error.message : 'Payment failed';
|
|
88
|
+
// Check if this is a policy violation
|
|
89
|
+
if (errorMessage.includes('policy') || errorMessage.includes('blocked') || errorMessage.includes('limit')) {
|
|
90
|
+
return {
|
|
91
|
+
success: false,
|
|
92
|
+
blocked: true,
|
|
93
|
+
error: errorMessage,
|
|
94
|
+
message: `Payment to ${vendor} was blocked by spending policy: ${errorMessage}`
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
success: false,
|
|
99
|
+
error: errorMessage
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
/**
|
|
105
|
+
* Check wallet balance before making a payment.
|
|
106
|
+
*/
|
|
107
|
+
checkBalance: {
|
|
108
|
+
description: 'Check the current balance of a Sardis wallet.',
|
|
109
|
+
parameters: z.object({
|
|
110
|
+
walletId: z.string().optional().describe('The wallet ID to check. Defaults to configured wallet.'),
|
|
111
|
+
token: z.enum(['USDC', 'USDT', 'PYUSD', 'EURC']).optional().describe('The token to check balance for.'),
|
|
112
|
+
chain: z.string().optional().describe('The chain to check balance on.'),
|
|
113
|
+
}),
|
|
114
|
+
execute: async ({ walletId, token, chain }) => {
|
|
115
|
+
if (!sardis) {
|
|
116
|
+
return {
|
|
117
|
+
success: false,
|
|
118
|
+
error: "SardisClient not initialized"
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
const effectiveWalletId = walletId || defaultWalletId;
|
|
122
|
+
if (!effectiveWalletId) {
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
error: "No wallet ID provided"
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
const balance = await sardis.wallets.getBalance(effectiveWalletId, chain || defaultChain, token || defaultToken);
|
|
130
|
+
return {
|
|
131
|
+
success: true,
|
|
132
|
+
walletId: balance.wallet_id,
|
|
133
|
+
balance: balance.balance,
|
|
134
|
+
token: balance.token,
|
|
135
|
+
chain: balance.chain,
|
|
136
|
+
address: balance.address
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
return {
|
|
141
|
+
success: false,
|
|
142
|
+
error: error instanceof Error ? error.message : 'Failed to get balance'
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
/**
|
|
148
|
+
* Get wallet information.
|
|
149
|
+
*/
|
|
150
|
+
getWallet: {
|
|
151
|
+
description: 'Get information about a Sardis wallet including spending limits.',
|
|
152
|
+
parameters: z.object({
|
|
153
|
+
walletId: z.string().optional().describe('The wallet ID to get info for. Defaults to configured wallet.'),
|
|
154
|
+
}),
|
|
155
|
+
execute: async ({ walletId }) => {
|
|
156
|
+
if (!sardis) {
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
error: "SardisClient not initialized"
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
const effectiveWalletId = walletId || defaultWalletId;
|
|
163
|
+
if (!effectiveWalletId) {
|
|
164
|
+
return {
|
|
165
|
+
success: false,
|
|
166
|
+
error: "No wallet ID provided"
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
const wallet = await sardis.wallets.get(effectiveWalletId);
|
|
171
|
+
return {
|
|
172
|
+
success: true,
|
|
173
|
+
wallet: {
|
|
174
|
+
id: wallet.id,
|
|
175
|
+
agentId: wallet.agent_id,
|
|
176
|
+
currency: wallet.currency,
|
|
177
|
+
limitPerTx: wallet.limit_per_tx,
|
|
178
|
+
limitTotal: wallet.limit_total,
|
|
179
|
+
isActive: wallet.is_active,
|
|
180
|
+
addresses: wallet.addresses
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
return {
|
|
186
|
+
success: false,
|
|
187
|
+
error: error instanceof Error ? error.message : 'Failed to get wallet'
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=vercel-ai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../../src/integrations/vercel-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A (Agent-to-Agent) resource
|
|
3
|
+
*
|
|
4
|
+
* Provides inter-agent communication capabilities:
|
|
5
|
+
* - Discover other agents via agent cards
|
|
6
|
+
* - Send payment requests
|
|
7
|
+
* - Verify credentials
|
|
8
|
+
*/
|
|
9
|
+
import { BaseResource } from './base.js';
|
|
10
|
+
export interface AgentCapability {
|
|
11
|
+
capability_type: string;
|
|
12
|
+
version?: string;
|
|
13
|
+
enabled?: boolean;
|
|
14
|
+
endpoint?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PaymentCapability {
|
|
17
|
+
supported_tokens: string[];
|
|
18
|
+
supported_chains: string[];
|
|
19
|
+
min_amount_minor?: number;
|
|
20
|
+
max_amount_minor?: number;
|
|
21
|
+
ap2_compliant?: boolean;
|
|
22
|
+
x402_compliant?: boolean;
|
|
23
|
+
ucp_compliant?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface ServiceEndpoint {
|
|
26
|
+
url: string;
|
|
27
|
+
protocol?: string;
|
|
28
|
+
auth_required?: boolean;
|
|
29
|
+
auth_type?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface AgentCard {
|
|
32
|
+
agent_id: string;
|
|
33
|
+
name: string;
|
|
34
|
+
version?: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
operator?: {
|
|
37
|
+
name?: string;
|
|
38
|
+
url?: string;
|
|
39
|
+
contact?: string;
|
|
40
|
+
};
|
|
41
|
+
capabilities: string[];
|
|
42
|
+
payment?: PaymentCapability;
|
|
43
|
+
endpoints?: {
|
|
44
|
+
api?: ServiceEndpoint;
|
|
45
|
+
mcp?: string;
|
|
46
|
+
webhook?: ServiceEndpoint;
|
|
47
|
+
a2a?: ServiceEndpoint;
|
|
48
|
+
};
|
|
49
|
+
signing?: {
|
|
50
|
+
key_id?: string;
|
|
51
|
+
public_key?: string;
|
|
52
|
+
algorithm?: string;
|
|
53
|
+
};
|
|
54
|
+
created_at?: string;
|
|
55
|
+
updated_at?: string;
|
|
56
|
+
metadata?: Record<string, unknown>;
|
|
57
|
+
}
|
|
58
|
+
export interface DiscoveredAgent {
|
|
59
|
+
agent_id: string;
|
|
60
|
+
agent_name: string;
|
|
61
|
+
agent_url: string;
|
|
62
|
+
card?: AgentCard;
|
|
63
|
+
available: boolean;
|
|
64
|
+
last_error?: string;
|
|
65
|
+
discovered_at: string;
|
|
66
|
+
last_verified_at: string;
|
|
67
|
+
}
|
|
68
|
+
export interface PaymentRequestInput {
|
|
69
|
+
recipient_agent_url: string;
|
|
70
|
+
amount_minor: number;
|
|
71
|
+
token: string;
|
|
72
|
+
chain: string;
|
|
73
|
+
destination: string;
|
|
74
|
+
purpose?: string;
|
|
75
|
+
reference?: string;
|
|
76
|
+
callback_url?: string;
|
|
77
|
+
metadata?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
export interface PaymentResponse {
|
|
80
|
+
response_id: string;
|
|
81
|
+
request_id: string;
|
|
82
|
+
success: boolean;
|
|
83
|
+
status: string;
|
|
84
|
+
tx_hash?: string;
|
|
85
|
+
chain?: string;
|
|
86
|
+
block_number?: number;
|
|
87
|
+
error?: string;
|
|
88
|
+
error_code?: string;
|
|
89
|
+
}
|
|
90
|
+
export interface CredentialVerifyInput {
|
|
91
|
+
recipient_agent_url: string;
|
|
92
|
+
credential_type: string;
|
|
93
|
+
credential_data: Record<string, unknown>;
|
|
94
|
+
verify_signature?: boolean;
|
|
95
|
+
verify_expiration?: boolean;
|
|
96
|
+
verify_chain?: boolean;
|
|
97
|
+
}
|
|
98
|
+
export interface CredentialResponse {
|
|
99
|
+
response_id: string;
|
|
100
|
+
request_id: string;
|
|
101
|
+
valid: boolean;
|
|
102
|
+
verified_at: string;
|
|
103
|
+
signature_valid?: boolean;
|
|
104
|
+
not_expired?: boolean;
|
|
105
|
+
chain_valid?: boolean;
|
|
106
|
+
error?: string;
|
|
107
|
+
error_code?: string;
|
|
108
|
+
verification_details?: Record<string, unknown>;
|
|
109
|
+
}
|
|
110
|
+
export interface A2AMessage {
|
|
111
|
+
message_id: string;
|
|
112
|
+
message_type: string;
|
|
113
|
+
sender_id: string;
|
|
114
|
+
recipient_id: string;
|
|
115
|
+
timestamp: string;
|
|
116
|
+
expires_at?: string;
|
|
117
|
+
correlation_id?: string;
|
|
118
|
+
in_reply_to?: string;
|
|
119
|
+
payload: Record<string, unknown>;
|
|
120
|
+
signature?: string;
|
|
121
|
+
status: string;
|
|
122
|
+
error?: string;
|
|
123
|
+
error_code?: string;
|
|
124
|
+
}
|
|
125
|
+
export declare class A2AResource extends BaseResource {
|
|
126
|
+
/**
|
|
127
|
+
* Discover an agent by URL
|
|
128
|
+
*
|
|
129
|
+
* Fetches the agent card from /.well-known/agent-card.json
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* const agent = await client.a2a.discoverAgent('https://agent.example.com');
|
|
134
|
+
* console.log(agent.card?.capabilities);
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
discoverAgent(agentUrl: string, forceRefresh?: boolean): Promise<DiscoveredAgent>;
|
|
138
|
+
/**
|
|
139
|
+
* Get our own agent card
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const myCard = await client.a2a.getAgentCard();
|
|
144
|
+
* console.log(myCard.capabilities);
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
getAgentCard(): Promise<AgentCard>;
|
|
148
|
+
/**
|
|
149
|
+
* List all discovered agents
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const agents = await client.a2a.listAgents({
|
|
154
|
+
* capability: 'payment.execute',
|
|
155
|
+
* available_only: true,
|
|
156
|
+
* });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
listAgents(options?: {
|
|
160
|
+
capability?: string;
|
|
161
|
+
token?: string;
|
|
162
|
+
chain?: string;
|
|
163
|
+
available_only?: boolean;
|
|
164
|
+
}): Promise<DiscoveredAgent[]>;
|
|
165
|
+
/**
|
|
166
|
+
* Send a payment request to another agent
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* const response = await client.a2a.sendPaymentRequest({
|
|
171
|
+
* recipient_agent_url: 'https://merchant.example.com',
|
|
172
|
+
* amount_minor: 5000,
|
|
173
|
+
* token: 'USDC',
|
|
174
|
+
* chain: 'base',
|
|
175
|
+
* destination: '0x...',
|
|
176
|
+
* purpose: 'Order #12345',
|
|
177
|
+
* });
|
|
178
|
+
*
|
|
179
|
+
* if (response.success) {
|
|
180
|
+
* console.log('Payment tx:', response.tx_hash);
|
|
181
|
+
* }
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
sendPaymentRequest(input: PaymentRequestInput): Promise<PaymentResponse>;
|
|
185
|
+
/**
|
|
186
|
+
* Request credential verification from another agent
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* const response = await client.a2a.verifyCredential({
|
|
191
|
+
* recipient_agent_url: 'https://verifier.example.com',
|
|
192
|
+
* credential_type: 'mandate',
|
|
193
|
+
* credential_data: mandate,
|
|
194
|
+
* });
|
|
195
|
+
*
|
|
196
|
+
* if (response.valid) {
|
|
197
|
+
* console.log('Credential verified!');
|
|
198
|
+
* }
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
verifyCredential(input: CredentialVerifyInput): Promise<CredentialResponse>;
|
|
202
|
+
/**
|
|
203
|
+
* Send a raw A2A message to another agent
|
|
204
|
+
*
|
|
205
|
+
* @example
|
|
206
|
+
* ```typescript
|
|
207
|
+
* const response = await client.a2a.sendMessage(
|
|
208
|
+
* 'https://agent.example.com',
|
|
209
|
+
* {
|
|
210
|
+
* message_type: 'custom',
|
|
211
|
+
* payload: { action: 'notify', data: {...} },
|
|
212
|
+
* }
|
|
213
|
+
* );
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
sendMessage(recipientUrl: string, message: Partial<A2AMessage>): Promise<A2AMessage>;
|
|
217
|
+
/**
|
|
218
|
+
* List recent A2A messages
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const messages = await client.a2a.listMessages({
|
|
223
|
+
* direction: 'inbound',
|
|
224
|
+
* message_type: 'payment_request',
|
|
225
|
+
* });
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
listMessages(options?: {
|
|
229
|
+
direction?: 'inbound' | 'outbound' | 'all';
|
|
230
|
+
message_type?: string;
|
|
231
|
+
status?: string;
|
|
232
|
+
limit?: number;
|
|
233
|
+
offset?: number;
|
|
234
|
+
}): Promise<A2AMessage[]>;
|
|
235
|
+
/**
|
|
236
|
+
* Register an agent for discovery
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```typescript
|
|
240
|
+
* await client.a2a.registerAgent({
|
|
241
|
+
* agent_id: 'my_agent',
|
|
242
|
+
* agent_name: 'My Agent',
|
|
243
|
+
* agent_url: 'https://my-agent.example.com',
|
|
244
|
+
* });
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
registerAgent(input: {
|
|
248
|
+
agent_id: string;
|
|
249
|
+
agent_name: string;
|
|
250
|
+
agent_url: string;
|
|
251
|
+
card?: AgentCard;
|
|
252
|
+
}): Promise<DiscoveredAgent>;
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=a2a.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../src/resources/a2a.ts"],"names":[],"mappings":"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"}
|