@paylobster/mcp-server 1.6.0 → 1.7.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.
Files changed (167) hide show
  1. package/README.md +147 -228
  2. package/dist/cli.d.ts +3 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +86 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +2 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +3 -19
  9. package/dist/index.js.map +1 -1
  10. package/dist/resources/index.d.ts +9 -0
  11. package/dist/resources/index.d.ts.map +1 -0
  12. package/dist/resources/index.js +159 -0
  13. package/dist/resources/index.js.map +1 -0
  14. package/dist/server.d.ts +3 -6
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +1455 -114
  17. package/dist/server.js.map +1 -1
  18. package/dist/tools/balance.d.ts +5 -16
  19. package/dist/tools/balance.d.ts.map +1 -1
  20. package/dist/tools/balance.js +26 -44
  21. package/dist/tools/balance.js.map +1 -1
  22. package/dist/tools/bridge.d.ts +142 -0
  23. package/dist/tools/bridge.d.ts.map +1 -0
  24. package/dist/tools/bridge.js +121 -0
  25. package/dist/tools/bridge.js.map +1 -0
  26. package/dist/tools/cascade.d.ts +59 -0
  27. package/dist/tools/cascade.d.ts.map +1 -0
  28. package/dist/tools/cascade.js +119 -0
  29. package/dist/tools/cascade.js.map +1 -0
  30. package/dist/tools/compliance.d.ts +36 -0
  31. package/dist/tools/compliance.d.ts.map +1 -0
  32. package/dist/tools/compliance.js +57 -0
  33. package/dist/tools/compliance.js.map +1 -0
  34. package/dist/tools/convenience.d.ts +121 -0
  35. package/dist/tools/convenience.d.ts.map +1 -0
  36. package/dist/tools/convenience.js +331 -0
  37. package/dist/tools/convenience.js.map +1 -0
  38. package/dist/tools/credit.d.ts +46 -0
  39. package/dist/tools/credit.d.ts.map +1 -0
  40. package/dist/tools/credit.js +102 -0
  41. package/dist/tools/credit.js.map +1 -0
  42. package/dist/tools/disputes.d.ts +71 -0
  43. package/dist/tools/disputes.d.ts.map +1 -0
  44. package/dist/tools/disputes.js +121 -0
  45. package/dist/tools/disputes.js.map +1 -0
  46. package/dist/tools/escrow.d.ts +90 -31
  47. package/dist/tools/escrow.d.ts.map +1 -1
  48. package/dist/tools/escrow.js +215 -98
  49. package/dist/tools/escrow.js.map +1 -1
  50. package/dist/tools/intent.d.ts +78 -0
  51. package/dist/tools/intent.d.ts.map +1 -0
  52. package/dist/tools/intent.js +192 -0
  53. package/dist/tools/intent.js.map +1 -0
  54. package/dist/tools/investment.d.ts +196 -0
  55. package/dist/tools/investment.d.ts.map +1 -0
  56. package/dist/tools/investment.js +415 -0
  57. package/dist/tools/investment.js.map +1 -0
  58. package/dist/tools/links.d.ts +41 -0
  59. package/dist/tools/links.d.ts.map +1 -0
  60. package/dist/tools/links.js +78 -0
  61. package/dist/tools/links.js.map +1 -0
  62. package/dist/tools/portfolio.d.ts +44 -0
  63. package/dist/tools/portfolio.d.ts.map +1 -0
  64. package/dist/tools/portfolio.js +166 -0
  65. package/dist/tools/portfolio.js.map +1 -0
  66. package/dist/tools/price-alerts.d.ts +52 -0
  67. package/dist/tools/price-alerts.d.ts.map +1 -0
  68. package/dist/tools/price-alerts.js +78 -0
  69. package/dist/tools/price-alerts.js.map +1 -0
  70. package/dist/tools/refunds.d.ts +32 -0
  71. package/dist/tools/refunds.d.ts.map +1 -0
  72. package/dist/tools/refunds.js +75 -0
  73. package/dist/tools/refunds.js.map +1 -0
  74. package/dist/tools/reputation.d.ts +49 -15
  75. package/dist/tools/reputation.d.ts.map +1 -1
  76. package/dist/tools/reputation.js +107 -45
  77. package/dist/tools/reputation.js.map +1 -1
  78. package/dist/tools/revenue.d.ts +42 -0
  79. package/dist/tools/revenue.d.ts.map +1 -0
  80. package/dist/tools/revenue.js +67 -0
  81. package/dist/tools/revenue.js.map +1 -0
  82. package/dist/tools/search.d.ts +54 -30
  83. package/dist/tools/search.d.ts.map +1 -1
  84. package/dist/tools/search.js +85 -122
  85. package/dist/tools/search.js.map +1 -1
  86. package/dist/tools/streaming.d.ts +60 -0
  87. package/dist/tools/streaming.d.ts.map +1 -0
  88. package/dist/tools/streaming.js +163 -0
  89. package/dist/tools/streaming.js.map +1 -0
  90. package/dist/tools/swap-smart.d.ts +30 -0
  91. package/dist/tools/swap-smart.d.ts.map +1 -0
  92. package/dist/tools/swap-smart.js +135 -0
  93. package/dist/tools/swap-smart.js.map +1 -0
  94. package/dist/tools/swap.d.ts +93 -0
  95. package/dist/tools/swap.d.ts.map +1 -0
  96. package/dist/tools/swap.js +150 -0
  97. package/dist/tools/swap.js.map +1 -0
  98. package/dist/tools/treasury.d.ts +267 -0
  99. package/dist/tools/treasury.d.ts.map +1 -0
  100. package/dist/tools/treasury.js +722 -0
  101. package/dist/tools/treasury.js.map +1 -0
  102. package/dist/tools/trust-graph.d.ts +105 -0
  103. package/dist/tools/trust-graph.d.ts.map +1 -0
  104. package/dist/tools/trust-graph.js +232 -0
  105. package/dist/tools/trust-graph.js.map +1 -0
  106. package/dist/tools/webhooks.d.ts +60 -0
  107. package/dist/tools/webhooks.d.ts.map +1 -0
  108. package/dist/tools/webhooks.js +133 -0
  109. package/dist/tools/webhooks.js.map +1 -0
  110. package/dist/types/index.d.ts +84 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/{lib/types.js → types/index.js} +1 -1
  113. package/dist/types/index.js.map +1 -0
  114. package/dist/utils/contracts.d.ts +553 -0
  115. package/dist/utils/contracts.d.ts.map +1 -0
  116. package/dist/utils/contracts.js +403 -0
  117. package/dist/utils/contracts.js.map +1 -0
  118. package/package.json +11 -20
  119. package/BUILD_SUMMARY.md +0 -294
  120. package/CHANGELOG.md +0 -77
  121. package/COMPLETION_REPORT.md +0 -284
  122. package/INTEGRATION.md +0 -286
  123. package/QUICKSTART.md +0 -226
  124. package/dist/lib/config.d.ts +0 -7
  125. package/dist/lib/config.d.ts.map +0 -1
  126. package/dist/lib/config.js +0 -16
  127. package/dist/lib/config.js.map +0 -1
  128. package/dist/lib/contracts.d.ts +0 -15
  129. package/dist/lib/contracts.d.ts.map +0 -1
  130. package/dist/lib/contracts.js +0 -148
  131. package/dist/lib/contracts.js.map +0 -1
  132. package/dist/lib/types.d.ts +0 -39
  133. package/dist/lib/types.d.ts.map +0 -1
  134. package/dist/lib/types.js.map +0 -1
  135. package/dist/resources/agent.d.ts +0 -3
  136. package/dist/resources/agent.d.ts.map +0 -1
  137. package/dist/resources/agent.js +0 -36
  138. package/dist/resources/agent.js.map +0 -1
  139. package/dist/resources/escrow.d.ts +0 -3
  140. package/dist/resources/escrow.d.ts.map +0 -1
  141. package/dist/resources/escrow.js +0 -33
  142. package/dist/resources/escrow.js.map +0 -1
  143. package/dist/resources/services.d.ts +0 -2
  144. package/dist/resources/services.d.ts.map +0 -1
  145. package/dist/resources/services.js +0 -55
  146. package/dist/resources/services.js.map +0 -1
  147. package/dist/tools/agent.d.ts +0 -17
  148. package/dist/tools/agent.d.ts.map +0 -1
  149. package/dist/tools/agent.js +0 -51
  150. package/dist/tools/agent.js.map +0 -1
  151. package/examples/test-server.ts +0 -36
  152. package/examples/test-tools.ts +0 -64
  153. package/src/__tests__/server.test.ts +0 -24
  154. package/src/index.ts +0 -24
  155. package/src/lib/config.ts +0 -22
  156. package/src/lib/contracts.ts +0 -164
  157. package/src/lib/types.ts +0 -44
  158. package/src/resources/agent.ts +0 -40
  159. package/src/resources/escrow.ts +0 -35
  160. package/src/resources/services.ts +0 -53
  161. package/src/server.ts +0 -190
  162. package/src/tools/agent.ts +0 -56
  163. package/src/tools/balance.ts +0 -61
  164. package/src/tools/escrow.ts +0 -142
  165. package/src/tools/reputation.ts +0 -69
  166. package/src/tools/search.ts +0 -148
  167. package/tsconfig.json +0 -20
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.releaseCascadeLevelSchema = exports.createCascadeSchema = void 0;
4
+ exports.createCascade = createCascade;
5
+ exports.releaseCascadeLevel = releaseCascadeLevel;
6
+ const zod_1 = require("zod");
7
+ const contracts_1 = require("../utils/contracts");
8
+ exports.createCascadeSchema = zod_1.z.object({
9
+ levels: zod_1.z.array(zod_1.z.object({
10
+ recipient: zod_1.z.string().describe('Recipient address'),
11
+ amount: zod_1.z.string().describe('Amount in USDC'),
12
+ releaseCondition: zod_1.z.string().describe('Condition for release'),
13
+ })).describe('Cascade levels in order'),
14
+ metadata: zod_1.z.record(zod_1.z.any()).optional(),
15
+ });
16
+ exports.releaseCascadeLevelSchema = zod_1.z.object({
17
+ cascadeId: zod_1.z.string().describe('Cascade ID'),
18
+ level: zod_1.z.number().describe('Level to release (0-indexed)'),
19
+ });
20
+ async function createCascade(params, client) {
21
+ const account = client.getAccount();
22
+ const walletClient = client.getWalletClient();
23
+ const publicClient = client.getPublicClient();
24
+ const contracts = client.getContracts();
25
+ try {
26
+ // Parse recipients and amounts
27
+ const recipients = [];
28
+ const amounts = [];
29
+ let totalAmount = BigInt(0);
30
+ for (const level of params.levels) {
31
+ recipients.push(level.recipient);
32
+ const amount = client.parseUSDC(level.amount);
33
+ amounts.push(amount);
34
+ totalAmount += amount;
35
+ }
36
+ // Step 1: Approve USDC spending
37
+ const approveHash = await walletClient.writeContract({
38
+ address: contracts.usdc,
39
+ abi: contracts_1.USDC_ABI,
40
+ functionName: 'approve',
41
+ args: [contracts.cascade, totalAmount],
42
+ account,
43
+ });
44
+ await publicClient.waitForTransactionReceipt({ hash: approveHash });
45
+ // Step 2: Create cascade
46
+ const metadata = JSON.stringify(params.metadata || {});
47
+ const hash = await walletClient.writeContract({
48
+ address: contracts.cascade,
49
+ abi: contracts_1.CASCADE_ABI,
50
+ functionName: 'createCascade',
51
+ args: [recipients, amounts, contracts.usdc, metadata],
52
+ account,
53
+ });
54
+ const receipt = await publicClient.waitForTransactionReceipt({ hash });
55
+ // Parse cascade ID from event logs
56
+ let cascadeId = '0';
57
+ if (receipt.logs && receipt.logs.length > 0) {
58
+ const cascadeCreatedLog = receipt.logs.find((log) => log.topics && log.topics.length > 1);
59
+ if (cascadeCreatedLog && cascadeCreatedLog.topics) {
60
+ cascadeId = BigInt(cascadeCreatedLog.topics[1]).toString();
61
+ }
62
+ }
63
+ return {
64
+ cascadeId,
65
+ transactionHash: hash,
66
+ totalAmount: client.formatUSDC(totalAmount),
67
+ levels: params.levels.length,
68
+ status: 'active',
69
+ };
70
+ }
71
+ catch (error) {
72
+ throw new Error(`Failed to create cascade: ${error.message}`);
73
+ }
74
+ }
75
+ async function releaseCascadeLevel(params, client) {
76
+ const account = client.getAccount();
77
+ const walletClient = client.getWalletClient();
78
+ const publicClient = client.getPublicClient();
79
+ const contracts = client.getContracts();
80
+ try {
81
+ const cascadeId = BigInt(params.cascadeId);
82
+ // Get cascade details
83
+ const [creator, recipients, amounts, token, currentLevel, totalLevels] = await publicClient.readContract({
84
+ address: contracts.cascade,
85
+ abi: contracts_1.CASCADE_ABI,
86
+ functionName: 'getCascade',
87
+ args: [cascadeId],
88
+ });
89
+ if (params.level !== Number(currentLevel)) {
90
+ throw new Error(`Cannot release level ${params.level}, current level is ${currentLevel}`);
91
+ }
92
+ // Release level
93
+ const hash = await walletClient.writeContract({
94
+ address: contracts.cascade,
95
+ abi: contracts_1.CASCADE_ABI,
96
+ functionName: 'releaseLevel',
97
+ args: [cascadeId],
98
+ account,
99
+ });
100
+ await publicClient.waitForTransactionReceipt({ hash });
101
+ const recipientsArray = recipients;
102
+ const amountsArray = amounts;
103
+ const recipient = recipientsArray[params.level];
104
+ const amount = amountsArray[params.level];
105
+ const nextLevel = params.level + 1 < Number(totalLevels) ? params.level + 1 : null;
106
+ return {
107
+ transactionHash: hash,
108
+ cascadeId: params.cascadeId,
109
+ level: params.level,
110
+ recipient,
111
+ amount: client.formatUSDC(amount),
112
+ nextLevel,
113
+ };
114
+ }
115
+ catch (error) {
116
+ throw new Error(`Failed to release cascade level: ${error.message}`);
117
+ }
118
+ }
119
+ //# sourceMappingURL=cascade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascade.js","sourceRoot":"","sources":["../../src/tools/cascade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { z } from 'zod';
2
+ import { Address } from 'viem';
3
+ import { ContractClient } from '../utils/contracts';
4
+ export declare const checkComplianceSchema: z.ZodObject<{
5
+ address: z.ZodString;
6
+ checkTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ address: string;
9
+ checkTypes?: string[] | undefined;
10
+ }, {
11
+ address: string;
12
+ checkTypes?: string[] | undefined;
13
+ }>;
14
+ export declare function checkCompliance(params: z.infer<typeof checkComplianceSchema>, client: ContractClient): Promise<{
15
+ address: Address;
16
+ compliant: boolean;
17
+ checks: {
18
+ kyc: {
19
+ verified: boolean;
20
+ level: string;
21
+ verifiedAt?: number;
22
+ };
23
+ sanctions: {
24
+ clear: boolean;
25
+ checkedAt: number;
26
+ };
27
+ risk: {
28
+ score: number;
29
+ level: string;
30
+ factors: string[];
31
+ };
32
+ };
33
+ restrictions: string[];
34
+ lastUpdated: number;
35
+ }>;
36
+ //# sourceMappingURL=compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance.d.ts","sourceRoot":"","sources":["../../src/tools/compliance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,wBAAsB,eAAe,CACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EAC7C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE;QACN,GAAG,EAAE;YACH,QAAQ,EAAE,OAAO,CAAC;YAClB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;QACF,SAAS,EAAE;YACT,KAAK,EAAE,OAAO,CAAC;YACf,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,EAAE,MAAM,EAAE,CAAC;SACnB,CAAC;KACH,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAkDD"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkComplianceSchema = void 0;
4
+ exports.checkCompliance = checkCompliance;
5
+ const zod_1 = require("zod");
6
+ const contracts_1 = require("../utils/contracts");
7
+ exports.checkComplianceSchema = zod_1.z.object({
8
+ address: zod_1.z.string().describe('Agent address to check'),
9
+ checkTypes: zod_1.z.array(zod_1.z.string()).optional().describe('Specific checks to run (kyc, sanctions, risk)'),
10
+ });
11
+ async function checkCompliance(params, client) {
12
+ const publicClient = client.getPublicClient();
13
+ const contracts = client.getContracts();
14
+ try {
15
+ const address = params.address;
16
+ // Get compliance status
17
+ const [kycVerified, kycLevel, sanctionsClear, riskScore, restrictions, lastUpdated] = await publicClient.readContract({
18
+ address: contracts.compliance,
19
+ abi: contracts_1.COMPLIANCE_ABI,
20
+ functionName: 'getComplianceStatus',
21
+ args: [address],
22
+ });
23
+ // Map risk score to level
24
+ const riskLevel = Number(riskScore) < 30 ? 'low' :
25
+ Number(riskScore) < 70 ? 'medium' : 'high';
26
+ // Determine overall compliance
27
+ const compliant = kycVerified &&
28
+ sanctionsClear &&
29
+ Number(riskScore) < 70;
30
+ return {
31
+ address,
32
+ compliant,
33
+ checks: {
34
+ kyc: {
35
+ verified: kycVerified,
36
+ level: kycLevel,
37
+ verifiedAt: kycVerified ? Number(lastUpdated) * 1000 : undefined,
38
+ },
39
+ sanctions: {
40
+ clear: sanctionsClear,
41
+ checkedAt: Number(lastUpdated) * 1000,
42
+ },
43
+ risk: {
44
+ score: Number(riskScore),
45
+ level: riskLevel,
46
+ factors: [], // Would be populated from detailed analysis
47
+ },
48
+ },
49
+ restrictions: restrictions,
50
+ lastUpdated: Number(lastUpdated) * 1000,
51
+ };
52
+ }
53
+ catch (error) {
54
+ throw new Error(`Failed to check compliance: ${error.message}`);
55
+ }
56
+ }
57
+ //# sourceMappingURL=compliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance.js","sourceRoot":"","sources":["../../src/tools/compliance.ts"],"names":[],"mappings":";;;AASA,0CA0EC;AAnFD,6BAAwB;AAExB,kDAAoE;AAEvD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACtD,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;CACrG,CAAC,CAAC;AAEI,KAAK,UAAU,eAAe,CACnC,MAA6C,EAC7C,MAAsB;IAuBtB,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;QAE1C,wBAAwB;QACxB,MAAM,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,CAAC,GACjF,MAAM,YAAY,CAAC,YAAY,CAAC;YAC9B,OAAO,EAAE,SAAS,CAAC,UAAU;YAC7B,GAAG,EAAE,0BAAc;YACnB,YAAY,EAAE,qBAAqB;YACnC,IAAI,EAAE,CAAC,OAAO,CAAC;SAChB,CAAC,CAAC;QAEL,0BAA0B;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAE5D,+BAA+B;QAC/B,MAAM,SAAS,GAAI,WAAuB;YACvB,cAA0B;YAC3B,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAEzC,OAAO;YACL,OAAO;YACP,SAAS;YACT,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH,QAAQ,EAAE,WAAsB;oBAChC,KAAK,EAAE,QAAkB;oBACzB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;iBACjE;gBACD,SAAS,EAAE;oBACT,KAAK,EAAE,cAAyB;oBAChC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI;iBACtC;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;oBACxB,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,EAAE,EAAE,4CAA4C;iBAC1D;aACF;YACD,YAAY,EAAE,YAAwB;YACtC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI;SACxC,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { z } from 'zod';
2
+ import { ContractClient } from '../utils/contracts';
3
+ export declare const agentProfileSchema: z.ZodObject<{
4
+ address: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ address: string;
7
+ }, {
8
+ address: string;
9
+ }>;
10
+ interface AgentProfile {
11
+ identity: {
12
+ name: string;
13
+ address: string;
14
+ tokenId: string;
15
+ registered: boolean;
16
+ };
17
+ reputation: {
18
+ score: number;
19
+ trustVector: string;
20
+ };
21
+ credit: {
22
+ limit: string;
23
+ available: string;
24
+ inUse: string;
25
+ };
26
+ treasury: {
27
+ address: string | null;
28
+ };
29
+ activity: {
30
+ escrowCount: number;
31
+ };
32
+ }
33
+ export declare function agentProfile(params: z.infer<typeof agentProfileSchema>, client: ContractClient): Promise<AgentProfile>;
34
+ export declare const quickPaySchema: z.ZodObject<{
35
+ to: z.ZodString;
36
+ amount: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ to: string;
39
+ amount: string;
40
+ }, {
41
+ to: string;
42
+ amount: string;
43
+ }>;
44
+ interface QuickPayResult {
45
+ escrowId: string;
46
+ transactionHash: string;
47
+ blockNumber: number;
48
+ sender: string;
49
+ recipient: string;
50
+ amount: string;
51
+ autoReleaseDate: string;
52
+ }
53
+ export declare function quickPay(params: z.infer<typeof quickPaySchema>, client: ContractClient): Promise<QuickPayResult>;
54
+ export declare const ecosystemStatusSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
55
+ interface ContractStatus {
56
+ name: string;
57
+ address: string;
58
+ status: 'ok' | 'error';
59
+ error?: string;
60
+ }
61
+ interface EcosystemStatus {
62
+ chain: {
63
+ network: string;
64
+ blockNumber: string;
65
+ gasPrice: string;
66
+ };
67
+ contracts: ContractStatus[];
68
+ summary: {
69
+ healthy: number;
70
+ total: number;
71
+ };
72
+ }
73
+ export declare function ecosystemStatus(params: z.infer<typeof ecosystemStatusSchema>, client: ContractClient): Promise<EcosystemStatus>;
74
+ export declare const agentSearchSchema: z.ZodObject<{
75
+ query: z.ZodOptional<z.ZodString>;
76
+ capability: z.ZodOptional<z.ZodString>;
77
+ minReputation: z.ZodOptional<z.ZodNumber>;
78
+ }, "strip", z.ZodTypeAny, {
79
+ query?: string | undefined;
80
+ minReputation?: number | undefined;
81
+ capability?: string | undefined;
82
+ }, {
83
+ query?: string | undefined;
84
+ minReputation?: number | undefined;
85
+ capability?: string | undefined;
86
+ }>;
87
+ interface AgentSearchResult {
88
+ address: string;
89
+ name: string;
90
+ capabilities: string;
91
+ reputationScore: number;
92
+ tokenId: string;
93
+ }
94
+ interface AgentSearchResponse {
95
+ results: AgentSearchResult[];
96
+ total: number;
97
+ }
98
+ export declare function agentSearch(params: z.infer<typeof agentSearchSchema>, client: ContractClient): Promise<AgentSearchResponse>;
99
+ export declare const onboardAgentSchema: z.ZodObject<{
100
+ name: z.ZodString;
101
+ capabilities: z.ZodString;
102
+ }, "strip", z.ZodTypeAny, {
103
+ name: string;
104
+ capabilities: string;
105
+ }, {
106
+ name: string;
107
+ capabilities: string;
108
+ }>;
109
+ interface OnboardingInstructions {
110
+ steps: Array<{
111
+ number: number;
112
+ title: string;
113
+ description: string;
114
+ command?: string;
115
+ }>;
116
+ estimatedGas: string;
117
+ requirements: string[];
118
+ }
119
+ export declare function onboardAgent(params: z.infer<typeof onboardAgentSchema>, client: ContractClient): Promise<OnboardingInstructions>;
120
+ export {};
121
+ //# sourceMappingURL=convenience.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convenience.d.ts","sourceRoot":"","sources":["../../src/tools/convenience.ts"],"names":[],"mappings":"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"}