@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 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Sardis TypeScript SDK
|
|
4
|
+
*
|
|
5
|
+
* Official SDK for the Sardis stablecoin execution layer.
|
|
6
|
+
* Enables AI agents to execute programmable payments using stablecoins.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*
|
|
10
|
+
* @example Basic usage
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { SardisClient } from '@sardis/sdk';
|
|
13
|
+
*
|
|
14
|
+
* const client = new SardisClient({
|
|
15
|
+
* apiKey: 'your-api-key',
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* // Execute a payment
|
|
19
|
+
* const result = await client.payments.executeMandate(mandate);
|
|
20
|
+
*
|
|
21
|
+
* // Create a hold
|
|
22
|
+
* const hold = await client.holds.create({
|
|
23
|
+
* wallet_id: 'wallet_123',
|
|
24
|
+
* amount: '100.00',
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @example With request cancellation
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const controller = new AbortController();
|
|
31
|
+
*
|
|
32
|
+
* // Cancel after 5 seconds
|
|
33
|
+
* setTimeout(() => controller.abort(), 5000);
|
|
34
|
+
*
|
|
35
|
+
* try {
|
|
36
|
+
* const result = await client.payments.executeMandate(mandate, {
|
|
37
|
+
* signal: controller.signal,
|
|
38
|
+
* });
|
|
39
|
+
* } catch (error) {
|
|
40
|
+
* if (error instanceof AbortError) {
|
|
41
|
+
* console.log('Request was cancelled');
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example With interceptors
|
|
47
|
+
* ```typescript
|
|
48
|
+
* client.addRequestInterceptor({
|
|
49
|
+
* onRequest: (config) => {
|
|
50
|
+
* console.log(`Requesting ${config.method} ${config.url}`);
|
|
51
|
+
* return config;
|
|
52
|
+
* },
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @example With pagination
|
|
57
|
+
* ```typescript
|
|
58
|
+
* for await (const agent of client.paginate(
|
|
59
|
+
* (params) => client.agents.list(params),
|
|
60
|
+
* { limit: 100 }
|
|
61
|
+
* )) {
|
|
62
|
+
* console.log(agent.name);
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
67
|
+
if (k2 === undefined) k2 = k;
|
|
68
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
69
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
70
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
71
|
+
}
|
|
72
|
+
Object.defineProperty(o, k2, desc);
|
|
73
|
+
}) : (function(o, m, k, k2) {
|
|
74
|
+
if (k2 === undefined) k2 = k;
|
|
75
|
+
o[k2] = m[k];
|
|
76
|
+
}));
|
|
77
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
78
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
79
|
+
}) : function(o, v) {
|
|
80
|
+
o["default"] = v;
|
|
81
|
+
});
|
|
82
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
83
|
+
var ownKeys = function(o) {
|
|
84
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
85
|
+
var ar = [];
|
|
86
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
87
|
+
return ar;
|
|
88
|
+
};
|
|
89
|
+
return ownKeys(o);
|
|
90
|
+
};
|
|
91
|
+
return function (mod) {
|
|
92
|
+
if (mod && mod.__esModule) return mod;
|
|
93
|
+
var result = {};
|
|
94
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
95
|
+
__setModuleDefault(result, mod);
|
|
96
|
+
return result;
|
|
97
|
+
};
|
|
98
|
+
})();
|
|
99
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
100
|
+
exports.integrations = exports.isRetryableError = exports.isSardisError = exports.SardisErrorCode = exports.BlockchainError = exports.SpendingLimitError = exports.PolicyViolationError = exports.NotFoundError = exports.InsufficientBalanceError = exports.ValidationError = exports.NetworkError = exports.AbortError = exports.TimeoutError = exports.RateLimitError = exports.AuthenticationError = exports.APIError = exports.SardisError = exports.SardisClient = void 0;
|
|
101
|
+
// Main client
|
|
102
|
+
var client_js_1 = require("./client.js");
|
|
103
|
+
Object.defineProperty(exports, "SardisClient", { enumerable: true, get: function () { return client_js_1.SardisClient; } });
|
|
104
|
+
// Errors
|
|
105
|
+
var errors_js_1 = require("./errors.js");
|
|
106
|
+
// Error base class
|
|
107
|
+
Object.defineProperty(exports, "SardisError", { enumerable: true, get: function () { return errors_js_1.SardisError; } });
|
|
108
|
+
// API errors
|
|
109
|
+
Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return errors_js_1.APIError; } });
|
|
110
|
+
Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_js_1.AuthenticationError; } });
|
|
111
|
+
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_js_1.RateLimitError; } });
|
|
112
|
+
// Network errors
|
|
113
|
+
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_js_1.TimeoutError; } });
|
|
114
|
+
Object.defineProperty(exports, "AbortError", { enumerable: true, get: function () { return errors_js_1.AbortError; } });
|
|
115
|
+
Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return errors_js_1.NetworkError; } });
|
|
116
|
+
// Validation errors
|
|
117
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_js_1.ValidationError; } });
|
|
118
|
+
// Business logic errors
|
|
119
|
+
Object.defineProperty(exports, "InsufficientBalanceError", { enumerable: true, get: function () { return errors_js_1.InsufficientBalanceError; } });
|
|
120
|
+
Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_js_1.NotFoundError; } });
|
|
121
|
+
Object.defineProperty(exports, "PolicyViolationError", { enumerable: true, get: function () { return errors_js_1.PolicyViolationError; } });
|
|
122
|
+
Object.defineProperty(exports, "SpendingLimitError", { enumerable: true, get: function () { return errors_js_1.SpendingLimitError; } });
|
|
123
|
+
Object.defineProperty(exports, "BlockchainError", { enumerable: true, get: function () { return errors_js_1.BlockchainError; } });
|
|
124
|
+
// Error codes
|
|
125
|
+
Object.defineProperty(exports, "SardisErrorCode", { enumerable: true, get: function () { return errors_js_1.SardisErrorCode; } });
|
|
126
|
+
// Type guards
|
|
127
|
+
Object.defineProperty(exports, "isSardisError", { enumerable: true, get: function () { return errors_js_1.isSardisError; } });
|
|
128
|
+
Object.defineProperty(exports, "isRetryableError", { enumerable: true, get: function () { return errors_js_1.isRetryableError; } });
|
|
129
|
+
// Integrations
|
|
130
|
+
exports.integrations = __importStar(require("./integrations/index.js"));
|
|
131
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,yCAA2C;AAAlC,yGAAA,YAAY,OAAA;AAErB,SAAS;AACT,yCAwBqB;AAvBnB,mBAAmB;AACnB,wGAAA,WAAW,OAAA;AACX,aAAa;AACb,qGAAA,QAAQ,OAAA;AACR,gHAAA,mBAAmB,OAAA;AACnB,2GAAA,cAAc,OAAA;AACd,iBAAiB;AACjB,yGAAA,YAAY,OAAA;AACZ,uGAAA,UAAU,OAAA;AACV,yGAAA,YAAY,OAAA;AACZ,oBAAoB;AACpB,4GAAA,eAAe,OAAA;AACf,wBAAwB;AACxB,qHAAA,wBAAwB,OAAA;AACxB,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAClB,4GAAA,eAAe,OAAA;AACf,cAAc;AACd,4GAAA,eAAe,OAAA;AACf,cAAc;AACd,0GAAA,aAAa,OAAA;AACb,6GAAA,gBAAgB,OAAA;AAoIlB,eAAe;AACf,wEAAwD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
// AI Framework Integrations for Sardis SDK
|
|
18
|
+
__exportStar(require("./vercel-ai.js"), exports);
|
|
19
|
+
__exportStar(require("./langchain.js"), exports);
|
|
20
|
+
__exportStar(require("./openai.js"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA2C;AAC3C,iDAA+B;AAC/B,iDAA+B;AAC/B,8CAA4B"}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* LangChain.js Integration for Sardis SDK
|
|
4
|
+
*
|
|
5
|
+
* Provides LangChain-compatible tools for AI agents to execute payments
|
|
6
|
+
* through Sardis MPC wallets with policy enforcement.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { ChatOpenAI } from '@langchain/openai';
|
|
11
|
+
* import { AgentExecutor, createOpenAIFunctionsAgent } from 'langchain/agents';
|
|
12
|
+
* import { SardisClient } from '@sardis/sdk';
|
|
13
|
+
* import { createSardisLangChainTools } from '@sardis/sdk/integrations/langchain';
|
|
14
|
+
*
|
|
15
|
+
* const client = new SardisClient({ apiKey: 'your-api-key' });
|
|
16
|
+
* const tools = createSardisLangChainTools(client, { walletId: 'wallet_123' });
|
|
17
|
+
*
|
|
18
|
+
* const agent = await createOpenAIFunctionsAgent({
|
|
19
|
+
* llm: new ChatOpenAI(),
|
|
20
|
+
* tools,
|
|
21
|
+
* prompt: yourPrompt
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const executor = new AgentExecutor({ agent, tools });
|
|
25
|
+
* const result = await executor.invoke({ input: 'Pay $50 to OpenAI' });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.createSardisLangChainTools = createSardisLangChainTools;
|
|
30
|
+
exports.createSardisPaymentTool = createSardisPaymentTool;
|
|
31
|
+
/**
|
|
32
|
+
* Generate a unique mandate ID
|
|
33
|
+
*/
|
|
34
|
+
function generateMandateId() {
|
|
35
|
+
const timestamp = Date.now().toString(36);
|
|
36
|
+
const random = Math.random().toString(36).substring(2, 10);
|
|
37
|
+
return `mnd_${timestamp}${random}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Create a SHA-256 hash for audit purposes
|
|
41
|
+
*/
|
|
42
|
+
async function createAuditHash(data) {
|
|
43
|
+
if (typeof crypto !== 'undefined' && crypto.subtle) {
|
|
44
|
+
const encoder = new TextEncoder();
|
|
45
|
+
const dataBuffer = encoder.encode(data);
|
|
46
|
+
const hashBuffer = await crypto.subtle.digest('SHA-256', dataBuffer);
|
|
47
|
+
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
48
|
+
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
49
|
+
}
|
|
50
|
+
return `hash_${Date.now().toString(16)}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create LangChain-compatible tools for Sardis payments.
|
|
54
|
+
*
|
|
55
|
+
* @param client - Initialized SardisClient instance
|
|
56
|
+
* @param options - Configuration options
|
|
57
|
+
* @returns Array of LangChain-compatible tools
|
|
58
|
+
*/
|
|
59
|
+
function createSardisLangChainTools(client, options = {}) {
|
|
60
|
+
const defaultWalletId = options.walletId || process.env.SARDIS_WALLET_ID || '';
|
|
61
|
+
const defaultAgentId = options.agentId || process.env.SARDIS_AGENT_ID || '';
|
|
62
|
+
const defaultChain = options.chain || 'base_sepolia';
|
|
63
|
+
const defaultToken = options.token || 'USDC';
|
|
64
|
+
const tools = [
|
|
65
|
+
{
|
|
66
|
+
name: 'sardis_pay',
|
|
67
|
+
description: 'Execute a secure payment using Sardis MPC wallet. Validates against spending policies. Use this when the user wants to pay a vendor or service.',
|
|
68
|
+
schema: {
|
|
69
|
+
type: 'object',
|
|
70
|
+
properties: {
|
|
71
|
+
amount: {
|
|
72
|
+
type: 'number',
|
|
73
|
+
description: 'The amount to pay in USD (or token units)'
|
|
74
|
+
},
|
|
75
|
+
vendor: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
description: 'The name of the merchant or service provider'
|
|
78
|
+
},
|
|
79
|
+
vendor_address: {
|
|
80
|
+
type: 'string',
|
|
81
|
+
description: 'The wallet address of the vendor (0x...). Optional - will resolve if not provided.'
|
|
82
|
+
},
|
|
83
|
+
purpose: {
|
|
84
|
+
type: 'string',
|
|
85
|
+
description: 'The reason for the payment, used for policy validation'
|
|
86
|
+
},
|
|
87
|
+
token: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
enum: ['USDC', 'USDT', 'PYUSD', 'EURC'],
|
|
90
|
+
description: 'The stablecoin to use. Defaults to USDC.'
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
required: ['amount', 'vendor']
|
|
94
|
+
},
|
|
95
|
+
func: async (input) => {
|
|
96
|
+
const amount = input.amount;
|
|
97
|
+
const vendor = input.vendor;
|
|
98
|
+
const vendorAddress = input.vendor_address;
|
|
99
|
+
const purpose = input.purpose;
|
|
100
|
+
const token = input.token || defaultToken;
|
|
101
|
+
if (!defaultWalletId) {
|
|
102
|
+
return JSON.stringify({
|
|
103
|
+
success: false,
|
|
104
|
+
error: 'No wallet ID configured. Set walletId in options or SARDIS_WALLET_ID env var.'
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
try {
|
|
108
|
+
const mandateId = generateMandateId();
|
|
109
|
+
const timestamp = new Date().toISOString();
|
|
110
|
+
const amountMinor = Math.round(amount * 1_000_000).toString();
|
|
111
|
+
const auditData = JSON.stringify({
|
|
112
|
+
mandate_id: mandateId,
|
|
113
|
+
subject: defaultWalletId,
|
|
114
|
+
destination: vendorAddress || `pending:${vendor}`,
|
|
115
|
+
amount_minor: amountMinor,
|
|
116
|
+
token,
|
|
117
|
+
purpose: purpose || `Payment to ${vendor}`,
|
|
118
|
+
timestamp
|
|
119
|
+
});
|
|
120
|
+
const auditHash = await createAuditHash(auditData);
|
|
121
|
+
const mandate = {
|
|
122
|
+
mandate_id: mandateId,
|
|
123
|
+
subject: defaultWalletId,
|
|
124
|
+
destination: vendorAddress || `pending:${vendor}`,
|
|
125
|
+
amount_minor: amountMinor,
|
|
126
|
+
token,
|
|
127
|
+
chain: defaultChain,
|
|
128
|
+
purpose: purpose || `Payment to ${vendor}`,
|
|
129
|
+
vendor_name: vendor,
|
|
130
|
+
agent_id: defaultAgentId,
|
|
131
|
+
timestamp,
|
|
132
|
+
audit_hash: auditHash,
|
|
133
|
+
metadata: {
|
|
134
|
+
vendor,
|
|
135
|
+
category: 'saas',
|
|
136
|
+
initiated_by: 'ai_agent',
|
|
137
|
+
tool: 'langchain_js'
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
const result = await client.payments.executeMandate(mandate);
|
|
141
|
+
return JSON.stringify({
|
|
142
|
+
success: true,
|
|
143
|
+
status: result.status,
|
|
144
|
+
payment_id: result.payment_id,
|
|
145
|
+
transaction_hash: result.tx_hash,
|
|
146
|
+
chain: result.chain,
|
|
147
|
+
ledger_tx_id: result.ledger_tx_id,
|
|
148
|
+
message: `Payment of $${amount} ${token} to ${vendor} ${result.status === 'completed' ? 'completed' : 'initiated'}.`
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
const errorMessage = error instanceof Error ? error.message : 'Payment failed';
|
|
153
|
+
if (errorMessage.includes('policy') || errorMessage.includes('blocked') || errorMessage.includes('limit')) {
|
|
154
|
+
return JSON.stringify({
|
|
155
|
+
success: false,
|
|
156
|
+
blocked: true,
|
|
157
|
+
error: errorMessage,
|
|
158
|
+
message: `Payment to ${vendor} blocked by policy: ${errorMessage}`
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
return JSON.stringify({
|
|
162
|
+
success: false,
|
|
163
|
+
error: errorMessage
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
name: 'sardis_check_balance',
|
|
170
|
+
description: 'Check the current balance of a Sardis wallet. Use this before making payments to ensure sufficient funds.',
|
|
171
|
+
schema: {
|
|
172
|
+
type: 'object',
|
|
173
|
+
properties: {
|
|
174
|
+
token: {
|
|
175
|
+
type: 'string',
|
|
176
|
+
enum: ['USDC', 'USDT', 'PYUSD', 'EURC'],
|
|
177
|
+
description: 'The token to check balance for. Defaults to USDC.'
|
|
178
|
+
},
|
|
179
|
+
chain: {
|
|
180
|
+
type: 'string',
|
|
181
|
+
description: 'The blockchain to check balance on. Defaults to base_sepolia.'
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
func: async (input) => {
|
|
186
|
+
const token = input.token || defaultToken;
|
|
187
|
+
const chain = input.chain || defaultChain;
|
|
188
|
+
if (!defaultWalletId) {
|
|
189
|
+
return JSON.stringify({
|
|
190
|
+
success: false,
|
|
191
|
+
error: 'No wallet ID configured'
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
const balance = await client.wallets.getBalance(defaultWalletId, chain, token);
|
|
196
|
+
return JSON.stringify({
|
|
197
|
+
success: true,
|
|
198
|
+
wallet_id: balance.wallet_id,
|
|
199
|
+
balance: balance.balance,
|
|
200
|
+
token: balance.token,
|
|
201
|
+
chain: balance.chain,
|
|
202
|
+
address: balance.address
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
return JSON.stringify({
|
|
207
|
+
success: false,
|
|
208
|
+
error: error instanceof Error ? error.message : 'Failed to get balance'
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
name: 'sardis_get_wallet',
|
|
215
|
+
description: 'Get information about the Sardis wallet including spending limits and policy settings.',
|
|
216
|
+
schema: {
|
|
217
|
+
type: 'object',
|
|
218
|
+
properties: {}
|
|
219
|
+
},
|
|
220
|
+
func: async () => {
|
|
221
|
+
if (!defaultWalletId) {
|
|
222
|
+
return JSON.stringify({
|
|
223
|
+
success: false,
|
|
224
|
+
error: 'No wallet ID configured'
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
const wallet = await client.wallets.get(defaultWalletId);
|
|
229
|
+
return JSON.stringify({
|
|
230
|
+
success: true,
|
|
231
|
+
wallet: {
|
|
232
|
+
id: wallet.id,
|
|
233
|
+
agent_id: wallet.agent_id,
|
|
234
|
+
currency: wallet.currency,
|
|
235
|
+
limit_per_tx: wallet.limit_per_tx,
|
|
236
|
+
limit_total: wallet.limit_total,
|
|
237
|
+
is_active: wallet.is_active,
|
|
238
|
+
addresses: wallet.addresses
|
|
239
|
+
}
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
catch (error) {
|
|
243
|
+
return JSON.stringify({
|
|
244
|
+
success: false,
|
|
245
|
+
error: error instanceof Error ? error.message : 'Failed to get wallet'
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'sardis_check_policy',
|
|
252
|
+
description: 'Check if a payment would be allowed by the spending policy without executing it. Use this to validate payments before execution.',
|
|
253
|
+
schema: {
|
|
254
|
+
type: 'object',
|
|
255
|
+
properties: {
|
|
256
|
+
amount: {
|
|
257
|
+
type: 'number',
|
|
258
|
+
description: 'The amount to pay in USD'
|
|
259
|
+
},
|
|
260
|
+
vendor: {
|
|
261
|
+
type: 'string',
|
|
262
|
+
description: 'The name of the merchant or service provider'
|
|
263
|
+
},
|
|
264
|
+
purpose: {
|
|
265
|
+
type: 'string',
|
|
266
|
+
description: 'The reason for the payment'
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
required: ['amount', 'vendor']
|
|
270
|
+
},
|
|
271
|
+
func: async (input) => {
|
|
272
|
+
const amount = input.amount;
|
|
273
|
+
const vendor = input.vendor;
|
|
274
|
+
const purpose = input.purpose;
|
|
275
|
+
if (!defaultWalletId) {
|
|
276
|
+
return JSON.stringify({
|
|
277
|
+
success: false,
|
|
278
|
+
error: 'No wallet ID configured'
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
try {
|
|
282
|
+
// Get wallet to check limits
|
|
283
|
+
const wallet = await client.wallets.get(defaultWalletId);
|
|
284
|
+
const limitPerTx = parseFloat(wallet.limit_per_tx);
|
|
285
|
+
const limitTotal = parseFloat(wallet.limit_total);
|
|
286
|
+
// Basic policy checks
|
|
287
|
+
const checks = [];
|
|
288
|
+
// Per-transaction limit check
|
|
289
|
+
if (amount <= limitPerTx) {
|
|
290
|
+
checks.push({ name: 'per_transaction_limit', passed: true });
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
checks.push({
|
|
294
|
+
name: 'per_transaction_limit',
|
|
295
|
+
passed: false,
|
|
296
|
+
reason: `Amount $${amount} exceeds per-transaction limit of $${limitPerTx}`
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
// Wallet active check
|
|
300
|
+
if (wallet.is_active) {
|
|
301
|
+
checks.push({ name: 'wallet_active', passed: true });
|
|
302
|
+
}
|
|
303
|
+
else {
|
|
304
|
+
checks.push({
|
|
305
|
+
name: 'wallet_active',
|
|
306
|
+
passed: false,
|
|
307
|
+
reason: 'Wallet is not active'
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
const allPassed = checks.every(c => c.passed);
|
|
311
|
+
return JSON.stringify({
|
|
312
|
+
success: true,
|
|
313
|
+
allowed: allPassed,
|
|
314
|
+
checks,
|
|
315
|
+
summary: allPassed
|
|
316
|
+
? `Payment of $${amount} to ${vendor} would be allowed`
|
|
317
|
+
: `Payment of $${amount} to ${vendor} would be blocked: ${checks.filter(c => !c.passed).map(c => c.reason).join('; ')}`
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
return JSON.stringify({
|
|
322
|
+
success: false,
|
|
323
|
+
error: error instanceof Error ? error.message : 'Failed to check policy'
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
];
|
|
329
|
+
return tools;
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Create a single LangChain tool for payments only.
|
|
333
|
+
* Use this if you only need the payment functionality.
|
|
334
|
+
*/
|
|
335
|
+
function createSardisPaymentTool(client, options = {}) {
|
|
336
|
+
const tools = createSardisLangChainTools(client, options);
|
|
337
|
+
return tools.find(t => t.name === 'sardis_pay');
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=langchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
|