@itachisol/plugin-x402-swarms 0.1.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 (175) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +323 -0
  3. package/dist/actions/delegateToSwarm.d.ts +8 -0
  4. package/dist/actions/delegateToSwarm.d.ts.map +1 -0
  5. package/dist/actions/delegateToSwarm.js +296 -0
  6. package/dist/actions/delegateToSwarm.js.map +1 -0
  7. package/dist/actions/delegateToSwarmWithPayment.d.ts +8 -0
  8. package/dist/actions/delegateToSwarmWithPayment.d.ts.map +1 -0
  9. package/dist/actions/delegateToSwarmWithPayment.js +323 -0
  10. package/dist/actions/delegateToSwarmWithPayment.js.map +1 -0
  11. package/dist/actions/discoverServices.d.ts +3 -0
  12. package/dist/actions/discoverServices.d.ts.map +1 -0
  13. package/dist/actions/discoverServices.js +63 -0
  14. package/dist/actions/discoverServices.js.map +1 -0
  15. package/dist/actions/index.d.ts +6 -0
  16. package/dist/actions/index.d.ts.map +1 -0
  17. package/dist/actions/index.js +6 -0
  18. package/dist/actions/index.js.map +1 -0
  19. package/dist/actions/payForService.d.ts +3 -0
  20. package/dist/actions/payForService.d.ts.map +1 -0
  21. package/dist/actions/payForService.js +115 -0
  22. package/dist/actions/payForService.js.map +1 -0
  23. package/dist/actions/runSwarmAgent.d.ts +7 -0
  24. package/dist/actions/runSwarmAgent.d.ts.map +1 -0
  25. package/dist/actions/runSwarmAgent.js +131 -0
  26. package/dist/actions/runSwarmAgent.js.map +1 -0
  27. package/dist/client/index.d.ts +512 -0
  28. package/dist/client/index.d.ts.map +1 -0
  29. package/dist/client/index.js +469 -0
  30. package/dist/client/index.js.map +1 -0
  31. package/dist/evaluators/paymentEvaluator.d.ts +7 -0
  32. package/dist/evaluators/paymentEvaluator.d.ts.map +1 -0
  33. package/dist/evaluators/paymentEvaluator.js +104 -0
  34. package/dist/evaluators/paymentEvaluator.js.map +1 -0
  35. package/dist/index.d.ts +29 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +60 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/marketing/index.d.ts +7 -0
  40. package/dist/marketing/index.d.ts.map +1 -0
  41. package/dist/marketing/index.js +7 -0
  42. package/dist/marketing/index.js.map +1 -0
  43. package/dist/marketing/milestoneAgent.d.ts +54 -0
  44. package/dist/marketing/milestoneAgent.d.ts.map +1 -0
  45. package/dist/marketing/milestoneAgent.js +121 -0
  46. package/dist/marketing/milestoneAgent.js.map +1 -0
  47. package/dist/marketing/tweetTemplates.d.ts +32 -0
  48. package/dist/marketing/tweetTemplates.d.ts.map +1 -0
  49. package/dist/marketing/tweetTemplates.js +60 -0
  50. package/dist/marketing/tweetTemplates.js.map +1 -0
  51. package/dist/marketing/xMonitor.d.ts +51 -0
  52. package/dist/marketing/xMonitor.d.ts.map +1 -0
  53. package/dist/marketing/xMonitor.js +141 -0
  54. package/dist/marketing/xMonitor.js.map +1 -0
  55. package/dist/providers/x402Provider.d.ts +7 -0
  56. package/dist/providers/x402Provider.d.ts.map +1 -0
  57. package/dist/providers/x402Provider.js +72 -0
  58. package/dist/providers/x402Provider.js.map +1 -0
  59. package/dist/providers/x402ServerProvider.d.ts +7 -0
  60. package/dist/providers/x402ServerProvider.d.ts.map +1 -0
  61. package/dist/providers/x402ServerProvider.js +48 -0
  62. package/dist/providers/x402ServerProvider.js.map +1 -0
  63. package/dist/routes/advancedRoutes.d.ts +5 -0
  64. package/dist/routes/advancedRoutes.d.ts.map +1 -0
  65. package/dist/routes/advancedRoutes.js +869 -0
  66. package/dist/routes/advancedRoutes.js.map +1 -0
  67. package/dist/routes/batchRoutes.d.ts +13 -0
  68. package/dist/routes/batchRoutes.d.ts.map +1 -0
  69. package/dist/routes/batchRoutes.js +496 -0
  70. package/dist/routes/batchRoutes.js.map +1 -0
  71. package/dist/routes/codeAuditRoutes.d.ts +6 -0
  72. package/dist/routes/codeAuditRoutes.d.ts.map +1 -0
  73. package/dist/routes/codeAuditRoutes.js +415 -0
  74. package/dist/routes/codeAuditRoutes.js.map +1 -0
  75. package/dist/routes/contentRoutes.d.ts +5 -0
  76. package/dist/routes/contentRoutes.d.ts.map +1 -0
  77. package/dist/routes/contentRoutes.js +370 -0
  78. package/dist/routes/contentRoutes.js.map +1 -0
  79. package/dist/routes/cryptoAnalysisRoutes.d.ts +5 -0
  80. package/dist/routes/cryptoAnalysisRoutes.d.ts.map +1 -0
  81. package/dist/routes/cryptoAnalysisRoutes.js +641 -0
  82. package/dist/routes/cryptoAnalysisRoutes.js.map +1 -0
  83. package/dist/routes/cryptoRoutes.d.ts +5 -0
  84. package/dist/routes/cryptoRoutes.d.ts.map +1 -0
  85. package/dist/routes/cryptoRoutes.js +1225 -0
  86. package/dist/routes/cryptoRoutes.js.map +1 -0
  87. package/dist/routes/heliusDataRoutes.d.ts +14 -0
  88. package/dist/routes/heliusDataRoutes.d.ts.map +1 -0
  89. package/dist/routes/heliusDataRoutes.js +388 -0
  90. package/dist/routes/heliusDataRoutes.js.map +1 -0
  91. package/dist/routes/taskRoutes.d.ts +5 -0
  92. package/dist/routes/taskRoutes.d.ts.map +1 -0
  93. package/dist/routes/taskRoutes.js +574 -0
  94. package/dist/routes/taskRoutes.js.map +1 -0
  95. package/dist/routes/tradingRoutes.d.ts +5 -0
  96. package/dist/routes/tradingRoutes.d.ts.map +1 -0
  97. package/dist/routes/tradingRoutes.js +500 -0
  98. package/dist/routes/tradingRoutes.js.map +1 -0
  99. package/dist/routes/walletAnalyzerRoutes.d.ts +12 -0
  100. package/dist/routes/walletAnalyzerRoutes.d.ts.map +1 -0
  101. package/dist/routes/walletAnalyzerRoutes.js +316 -0
  102. package/dist/routes/walletAnalyzerRoutes.js.map +1 -0
  103. package/dist/routes/x402Routes.d.ts +9 -0
  104. package/dist/routes/x402Routes.d.ts.map +1 -0
  105. package/dist/routes/x402Routes.js +474 -0
  106. package/dist/routes/x402Routes.js.map +1 -0
  107. package/dist/schemas/budgetState.d.ts +250 -0
  108. package/dist/schemas/budgetState.d.ts.map +1 -0
  109. package/dist/schemas/budgetState.js +20 -0
  110. package/dist/schemas/budgetState.js.map +1 -0
  111. package/dist/schemas/endpointScores.d.ts +182 -0
  112. package/dist/schemas/endpointScores.d.ts.map +1 -0
  113. package/dist/schemas/endpointScores.js +17 -0
  114. package/dist/schemas/endpointScores.js.map +1 -0
  115. package/dist/schemas/index.d.ts +4 -0
  116. package/dist/schemas/index.d.ts.map +1 -0
  117. package/dist/schemas/index.js +4 -0
  118. package/dist/schemas/index.js.map +1 -0
  119. package/dist/schemas/paymentHistory.d.ts +284 -0
  120. package/dist/schemas/paymentHistory.d.ts.map +1 -0
  121. package/dist/schemas/paymentHistory.js +24 -0
  122. package/dist/schemas/paymentHistory.js.map +1 -0
  123. package/dist/server/index.d.ts +3 -0
  124. package/dist/server/index.d.ts.map +1 -0
  125. package/dist/server/index.js +3 -0
  126. package/dist/server/index.js.map +1 -0
  127. package/dist/server/x402Gate.d.ts +56 -0
  128. package/dist/server/x402Gate.d.ts.map +1 -0
  129. package/dist/server/x402Gate.js +240 -0
  130. package/dist/server/x402Gate.js.map +1 -0
  131. package/dist/server/x402ServerService.d.ts +30 -0
  132. package/dist/server/x402ServerService.d.ts.map +1 -0
  133. package/dist/server/x402ServerService.js +79 -0
  134. package/dist/server/x402ServerService.js.map +1 -0
  135. package/dist/services/paymentMemoryService.d.ts +73 -0
  136. package/dist/services/paymentMemoryService.d.ts.map +1 -0
  137. package/dist/services/paymentMemoryService.js +247 -0
  138. package/dist/services/paymentMemoryService.js.map +1 -0
  139. package/dist/services/swarmsService.d.ts +66 -0
  140. package/dist/services/swarmsService.d.ts.map +1 -0
  141. package/dist/services/swarmsService.js +102 -0
  142. package/dist/services/swarmsService.js.map +1 -0
  143. package/dist/services/x402WalletService.d.ts +57 -0
  144. package/dist/services/x402WalletService.d.ts.map +1 -0
  145. package/dist/services/x402WalletService.js +258 -0
  146. package/dist/services/x402WalletService.js.map +1 -0
  147. package/dist/templates/index.d.ts +24 -0
  148. package/dist/templates/index.d.ts.map +1 -0
  149. package/dist/templates/index.js +51 -0
  150. package/dist/templates/index.js.map +1 -0
  151. package/dist/templates/swarmTemplates.d.ts +22 -0
  152. package/dist/templates/swarmTemplates.d.ts.map +1 -0
  153. package/dist/templates/swarmTemplates.js +225 -0
  154. package/dist/templates/swarmTemplates.js.map +1 -0
  155. package/dist/types.d.ts +197 -0
  156. package/dist/types.d.ts.map +1 -0
  157. package/dist/types.js +2 -0
  158. package/dist/types.js.map +1 -0
  159. package/dist/utils/cache.d.ts +17 -0
  160. package/dist/utils/cache.d.ts.map +1 -0
  161. package/dist/utils/cache.js +32 -0
  162. package/dist/utils/cache.js.map +1 -0
  163. package/dist/utils/llm.d.ts +16 -0
  164. package/dist/utils/llm.d.ts.map +1 -0
  165. package/dist/utils/llm.js +32 -0
  166. package/dist/utils/llm.js.map +1 -0
  167. package/dist/utils/reportStore.d.ts +45 -0
  168. package/dist/utils/reportStore.d.ts.map +1 -0
  169. package/dist/utils/reportStore.js +164 -0
  170. package/dist/utils/reportStore.js.map +1 -0
  171. package/dist/utils/taskQueue.d.ts +54 -0
  172. package/dist/utils/taskQueue.d.ts.map +1 -0
  173. package/dist/utils/taskQueue.js +124 -0
  174. package/dist/utils/taskQueue.js.map +1 -0
  175. package/package.json +69 -0
@@ -0,0 +1,469 @@
1
+ /**
2
+ * x402-swarms Client SDK
3
+ *
4
+ * Dead-simple one-liner access to all x402-swarms platform endpoints.
5
+ * Handles x402 micropayments automatically — no protocol knowledge required.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { createClient } from "@elizaos/plugin-x402-swarms/client";
10
+ *
11
+ * const client = createClient({
12
+ * walletPrivateKey: process.env.SOLANA_PRIVATE_KEY,
13
+ * });
14
+ *
15
+ * const report = await client.research("State of Solana DeFi in 2026");
16
+ * const analysis = await client.analyze("Bitcoin ETF impact on altcoins");
17
+ * const wallet = await client.analyzeWallet("So11...address");
18
+ * ```
19
+ *
20
+ * @module
21
+ */
22
+ import { wrapFetch } from "@dexterai/x402/client";
23
+ // ── Client Error ─────────────────────────────────────────────────────
24
+ /** Error thrown when an x402-swarms API call fails. */
25
+ export class X402SwarmsError extends Error {
26
+ /** HTTP status code from the server. */
27
+ status;
28
+ /** Raw response body (may contain `error` field). */
29
+ body;
30
+ constructor(message, status, body) {
31
+ super(message);
32
+ this.name = "X402SwarmsError";
33
+ this.status = status;
34
+ this.body = body;
35
+ }
36
+ }
37
+ // ── Client ───────────────────────────────────────────────────────────
38
+ const DEFAULT_BASE_URL = "https://x402-swarms-production.up.railway.app";
39
+ /**
40
+ * x402-swarms client SDK.
41
+ *
42
+ * Wraps every HTTP call with Dexter's `wrapFetch` so x402 payments
43
+ * are handled automatically. Each method maps 1:1 to a platform endpoint.
44
+ */
45
+ export class X402SwarmsClient {
46
+ x402Fetch;
47
+ baseUrl;
48
+ constructor(config) {
49
+ this.baseUrl = (config.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, "");
50
+ const fetchOpts = {
51
+ verbose: false,
52
+ };
53
+ if (config.walletPrivateKey) {
54
+ fetchOpts.walletPrivateKey = config.walletPrivateKey;
55
+ }
56
+ if (config.evmPrivateKey) {
57
+ fetchOpts.evmPrivateKey = config.evmPrivateKey;
58
+ }
59
+ if (config.maxAmountAtomic) {
60
+ fetchOpts.maxAmountAtomic = config.maxAmountAtomic;
61
+ }
62
+ if (config.preferredNetwork) {
63
+ fetchOpts.preferredNetwork = config.preferredNetwork;
64
+ }
65
+ this.x402Fetch = wrapFetch(fetch, fetchOpts);
66
+ }
67
+ // ── Private helpers ──────────────────────────────────────────────
68
+ /** POST JSON and return parsed response. */
69
+ async post(path, body) {
70
+ const res = await this.x402Fetch(`${this.baseUrl}${path}`, {
71
+ method: "POST",
72
+ headers: { "Content-Type": "application/json" },
73
+ body: JSON.stringify(body),
74
+ });
75
+ const data = await res.json();
76
+ if (!res.ok) {
77
+ const msg = typeof data === "object" && data !== null && "error" in data
78
+ ? String(data.error)
79
+ : `HTTP ${res.status}`;
80
+ throw new X402SwarmsError(msg, res.status, data);
81
+ }
82
+ return data;
83
+ }
84
+ /** GET and return parsed response. */
85
+ async get(path) {
86
+ const res = await this.x402Fetch(`${this.baseUrl}${path}`);
87
+ const data = await res.json();
88
+ if (!res.ok) {
89
+ const msg = typeof data === "object" && data !== null && "error" in data
90
+ ? String(data.error)
91
+ : `HTTP ${res.status}`;
92
+ throw new X402SwarmsError(msg, res.status, data);
93
+ }
94
+ return data;
95
+ }
96
+ // ── Paid endpoints ───────────────────────────────────────────────
97
+ /**
98
+ * Multi-agent research pipeline ($0.05).
99
+ *
100
+ * Spawns Researcher, FactChecker, and Writer agents to produce
101
+ * a verified report on any topic.
102
+ *
103
+ * @param query - The topic to research.
104
+ * @param depth - Research depth: "quick" | "standard" | "deep". Defaults to "standard".
105
+ * @returns Verified research report with payment receipt.
106
+ *
107
+ * @example
108
+ * ```ts
109
+ * const report = await client.research("Solana validator economics in 2026");
110
+ * console.log(report.result);
111
+ * ```
112
+ */
113
+ async research(query, depth) {
114
+ return this.post("/x402/research", {
115
+ query,
116
+ ...(depth != null && { depth }),
117
+ });
118
+ }
119
+ /**
120
+ * Multi-perspective analysis panel ($0.03).
121
+ *
122
+ * Technical, Economic, and Risk experts synthesize an assessment
123
+ * of the provided text.
124
+ *
125
+ * @param text - The text or topic to analyze.
126
+ * @param type - Analysis type: "comprehensive" | "technical" | "economic" | "risk". Defaults to "comprehensive".
127
+ * @returns Multi-perspective analysis with payment receipt.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * const analysis = await client.analyze("Impact of spot Bitcoin ETFs on altcoin markets");
132
+ * console.log(analysis.result);
133
+ * ```
134
+ */
135
+ async analyze(text, type) {
136
+ return this.post("/x402/analyze", {
137
+ text,
138
+ ...(type != null && { type }),
139
+ });
140
+ }
141
+ /**
142
+ * Single AI agent execution ($0.02).
143
+ *
144
+ * Run a single agent with a custom task, model, and system prompt.
145
+ *
146
+ * @param task - The task for the agent to complete.
147
+ * @param options - Optional agent configuration.
148
+ * @param options.model - LLM model name (e.g. "gpt-4o-mini", "gpt-4o"). Defaults to "gpt-4o-mini".
149
+ * @param options.systemPrompt - Custom system prompt for the agent.
150
+ * @param options.agentName - Custom agent name. Defaults to "x402-agent".
151
+ * @returns Agent output with payment receipt.
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * const result = await client.runAgent("Summarize the top 5 DeFi protocols by TVL");
156
+ * console.log(result.result);
157
+ * ```
158
+ */
159
+ async runAgent(task, options) {
160
+ return this.post("/x402/agent", {
161
+ task,
162
+ ...(options?.model != null && { model: options.model }),
163
+ ...(options?.systemPrompt != null && { systemPrompt: options.systemPrompt }),
164
+ ...(options?.agentName != null && { agentName: options.agentName }),
165
+ });
166
+ }
167
+ /**
168
+ * Solana wallet analyzer ($0.01).
169
+ *
170
+ * Returns SOL balance, token holdings with USD values, and recent activity
171
+ * for any Solana wallet.
172
+ *
173
+ * @param address - Solana wallet address (base58, 32-44 chars).
174
+ * @returns Wallet analysis with payment receipt.
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * const wallet = await client.analyzeWallet("So11111111111111111111111111111112");
179
+ * console.log(`SOL balance: ${wallet.solBalance}`);
180
+ * console.log(`Tokens held: ${wallet.tokenCount}`);
181
+ * ```
182
+ */
183
+ async analyzeWallet(address) {
184
+ return this.post("/x402/wallet-analyzer", {
185
+ address,
186
+ });
187
+ }
188
+ // ── General-purpose task endpoints ────────────────────────────────
189
+ /**
190
+ * AI text summarization ($0.01).
191
+ *
192
+ * @param text - The text to summarize.
193
+ * @param maxLength - Maximum summary length in words. Defaults to 200.
194
+ * @returns Summary with word count and payment receipt.
195
+ *
196
+ * @example
197
+ * ```ts
198
+ * const result = await client.summarize("Long article text here...", 100);
199
+ * console.log(result.summary);
200
+ * ```
201
+ */
202
+ async summarize(text, maxLength) {
203
+ return this.post("/x402/summarize", {
204
+ text,
205
+ ...(maxLength != null && { maxLength }),
206
+ });
207
+ }
208
+ /**
209
+ * AI text translation ($0.02).
210
+ *
211
+ * Auto-detects source language and translates to the target language.
212
+ *
213
+ * @param text - The text to translate.
214
+ * @param targetLanguage - Target language name (e.g. "Spanish", "Japanese", "French").
215
+ * @returns Translation with detected source language and payment receipt.
216
+ *
217
+ * @example
218
+ * ```ts
219
+ * const result = await client.translate("Hello, world!", "Spanish");
220
+ * console.log(result.translation); // "Hola, mundo!"
221
+ * ```
222
+ */
223
+ async translate(text, targetLanguage) {
224
+ return this.post("/x402/translate", {
225
+ text,
226
+ targetLanguage,
227
+ });
228
+ }
229
+ /**
230
+ * Multi-agent code review ($0.03).
231
+ *
232
+ * Runs SecurityAuditor, PerformanceReviewer, and StyleChecker agents
233
+ * in parallel on the provided code.
234
+ *
235
+ * @param code - The code to review.
236
+ * @param language - Programming language hint (e.g. "TypeScript", "Solidity"). Auto-detected if omitted.
237
+ * @returns Security, performance, and style findings with payment receipt.
238
+ *
239
+ * @example
240
+ * ```ts
241
+ * const review = await client.codeReview("function add(a, b) { return a + b; }", "JavaScript");
242
+ * console.log(review.rawOutput);
243
+ * ```
244
+ */
245
+ async codeReview(code, language) {
246
+ return this.post("/x402/code-review", {
247
+ code,
248
+ ...(language != null && { language }),
249
+ });
250
+ }
251
+ /**
252
+ * Multi-agent content writing ($0.03).
253
+ *
254
+ * Runs a ResearchPipeline (Researcher + FactChecker + Writer) to produce
255
+ * well-researched content on any topic.
256
+ *
257
+ * @param topic - The topic to write about.
258
+ * @param options - Optional style and length settings.
259
+ * @param options.style - Writing style (e.g. "professional", "casual", "academic"). Defaults to "professional".
260
+ * @param options.length - Content length: "short" | "medium" | "long". Defaults to "medium".
261
+ * @returns Written content with word count and payment receipt.
262
+ *
263
+ * @example
264
+ * ```ts
265
+ * const article = await client.write("Zero-knowledge proofs explained", { style: "casual", length: "short" });
266
+ * console.log(article.content);
267
+ * ```
268
+ */
269
+ async write(topic, options) {
270
+ return this.post("/x402/write", {
271
+ topic,
272
+ ...(options?.style != null && { style: options.style }),
273
+ ...(options?.length != null && { length: options.length }),
274
+ });
275
+ }
276
+ /**
277
+ * Multi-agent debate ($0.03).
278
+ *
279
+ * Runs Proponent, Opponent, and Judge agents to debate a proposition
280
+ * and deliver a verdict with confidence.
281
+ *
282
+ * @param proposition - The statement or question to debate.
283
+ * @returns Pro/con arguments, verdict, and confidence with payment receipt.
284
+ *
285
+ * @example
286
+ * ```ts
287
+ * const result = await client.debate("Should companies adopt a 4-day work week?");
288
+ * console.log(result.rawOutput);
289
+ * ```
290
+ */
291
+ async debate(proposition) {
292
+ return this.post("/x402/debate", { proposition });
293
+ }
294
+ /**
295
+ * Structured data extraction ($0.01).
296
+ *
297
+ * Extracts specified fields from unstructured text using AI.
298
+ *
299
+ * @param text - The unstructured text to extract data from.
300
+ * @param fields - Array of field names to extract (e.g. ["name", "email", "company"]).
301
+ * @returns Extracted key-value pairs and payment receipt.
302
+ *
303
+ * @example
304
+ * ```ts
305
+ * const result = await client.extract(
306
+ * "Contact John Smith at john@example.com, he works at Acme Corp.",
307
+ * ["name", "email", "company"]
308
+ * );
309
+ * console.log(result.extracted); // { name: "John Smith", email: "john@example.com", company: "Acme Corp." }
310
+ * ```
311
+ */
312
+ async extract(text, fields) {
313
+ return this.post("/x402/extract", { text, fields });
314
+ }
315
+ /**
316
+ * AI sentiment analysis ($0.01).
317
+ *
318
+ * Analyzes the sentiment of the given text and returns a classification
319
+ * with confidence score and reasoning.
320
+ *
321
+ * @param text - The text to analyze sentiment for.
322
+ * @returns Sentiment classification, confidence (0-1), reasoning, and payment receipt.
323
+ *
324
+ * @example
325
+ * ```ts
326
+ * const result = await client.sentiment("I absolutely love this product!");
327
+ * console.log(result.sentiment); // "positive"
328
+ * console.log(result.confidence); // 0.95
329
+ * ```
330
+ */
331
+ async sentiment(text) {
332
+ return this.post("/x402/sentiment", { text });
333
+ }
334
+ // ── Crypto-native endpoints ─────────────────────────────────────
335
+ /**
336
+ * Multi-agent smart contract pre-audit ($0.50).
337
+ *
338
+ * Runs SecurityAuditor, EconomicAttacker, GasOptimizer, and AuditReporter agents
339
+ * concurrently to produce a structured risk report.
340
+ *
341
+ * @param code - The smart contract source code to audit.
342
+ * @param language - Contract language: "solidity" | "rust" | "anchor". Defaults to "solidity".
343
+ * @returns Audit report with risk score, categorized findings, and payment receipt.
344
+ *
345
+ * @example
346
+ * ```ts
347
+ * const audit = await client.contractAudit("pragma solidity ^0.8.0; ...", "solidity");
348
+ * console.log(`Risk score: ${audit.riskScore}/100`);
349
+ * ```
350
+ */
351
+ async contractAudit(code, language) {
352
+ return this.post("/x402/contract-audit", {
353
+ code,
354
+ ...(language != null && { language }),
355
+ });
356
+ }
357
+ /**
358
+ * Multi-agent token risk assessment ($0.05).
359
+ *
360
+ * Runs ContractScanner, TokenomicsAnalyzer, and RiskVerdict agents
361
+ * sequentially to score a token as SAFE/CAUTION/DANGER.
362
+ *
363
+ * @param mint - Token mint/contract address.
364
+ * @param chain - Blockchain: "solana" | "evm". Defaults to "solana".
365
+ * @returns Risk verdict with score, findings, and payment receipt.
366
+ *
367
+ * @example
368
+ * ```ts
369
+ * const risk = await client.tokenRisk("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
370
+ * console.log(`Verdict: ${risk.verdict}`);
371
+ * ```
372
+ */
373
+ async tokenRisk(mint, chain) {
374
+ return this.post("/x402/token-risk", {
375
+ mint,
376
+ ...(chain != null && { chain }),
377
+ });
378
+ }
379
+ /**
380
+ * Multi-agent DAO proposal analysis ($0.10).
381
+ *
382
+ * Runs EconomicAnalyst, TechnicalReviewer, RiskAssessor, and VoteSummarizer
383
+ * agents via MixtureOfAgents to produce a voting recommendation.
384
+ *
385
+ * @param proposal - The DAO proposal text to analyze.
386
+ * @param daoName - Optional DAO name for context.
387
+ * @returns Voting recommendation with confidence, analysis breakdown, and payment receipt.
388
+ *
389
+ * @example
390
+ * ```ts
391
+ * const dao = await client.daoAnalyze("Increase staking rewards by 5%", "Jito");
392
+ * console.log(`Recommendation: ${dao.recommendation} (${dao.confidence}% confidence)`);
393
+ * ```
394
+ */
395
+ async daoAnalyze(proposal, daoName) {
396
+ return this.post("/x402/dao-analyze", {
397
+ proposal,
398
+ ...(daoName != null && { daoName }),
399
+ });
400
+ }
401
+ // ── Free endpoints ───────────────────────────────────────────────
402
+ /**
403
+ * List all available endpoints with pricing (free).
404
+ *
405
+ * @returns Array of service catalog entries.
406
+ *
407
+ * @example
408
+ * ```ts
409
+ * const services = await client.getCatalog();
410
+ * services.forEach(s => console.log(`${s.name}: $${s.priceUsd}`));
411
+ * ```
412
+ */
413
+ async getCatalog() {
414
+ return this.get("/x402/catalog");
415
+ }
416
+ /**
417
+ * Platform health check with revenue stats (free).
418
+ *
419
+ * @returns Health status, receive address, network, and revenue info.
420
+ *
421
+ * @example
422
+ * ```ts
423
+ * const health = await client.getHealth();
424
+ * console.log(`Status: ${health.status}, Revenue: $${health.totalRevenue}`);
425
+ * ```
426
+ */
427
+ async getHealth() {
428
+ return this.get("/x402/health");
429
+ }
430
+ /**
431
+ * Wallet analyzer health check (free).
432
+ *
433
+ * @returns Wallet analyzer status and configuration.
434
+ *
435
+ * @example
436
+ * ```ts
437
+ * const health = await client.getWalletAnalyzerHealth();
438
+ * console.log(`Helius configured: ${health.heliusConfigured}`);
439
+ * ```
440
+ */
441
+ async getWalletAnalyzerHealth() {
442
+ return this.get("/x402/wallet-analyzer/health");
443
+ }
444
+ }
445
+ // ── Factory ──────────────────────────────────────────────────────────
446
+ /**
447
+ * Create an x402-swarms client.
448
+ *
449
+ * Convenience factory — identical to `new X402SwarmsClient(config)`.
450
+ *
451
+ * @param config - Client configuration (wallet key + optional base URL).
452
+ * @returns Configured client instance.
453
+ *
454
+ * @example
455
+ * ```ts
456
+ * import { createClient } from "@elizaos/plugin-x402-swarms/client";
457
+ *
458
+ * const client = createClient({
459
+ * walletPrivateKey: process.env.SOLANA_PRIVATE_KEY,
460
+ * });
461
+ *
462
+ * // One-liner research
463
+ * const report = await client.research("Zero-knowledge rollups comparison");
464
+ * ```
465
+ */
466
+ export function createClient(config) {
467
+ return new X402SwarmsClient(config);
468
+ }
469
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Evaluator } from "@elizaos/core";
2
+ /**
3
+ * Evaluates conversations for payment-related patterns and monitors
4
+ * spending against budget via Dexter SDK.
5
+ */
6
+ export declare const paymentEvaluator: Evaluator;
7
+ //# sourceMappingURL=paymentEvaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentEvaluator.d.ts","sourceRoot":"","sources":["../../src/evaluators/paymentEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,eAAe,CAAC;AAIvB;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAoK9B,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { ModelType, } from "@elizaos/core";
2
+ /**
3
+ * Evaluates conversations for payment-related patterns and monitors
4
+ * spending against budget via Dexter SDK.
5
+ */
6
+ export const paymentEvaluator = {
7
+ name: "PAYMENT_EVALUATOR",
8
+ description: "Tracks x402 payment patterns and budget usage after each interaction",
9
+ similes: ["X402_TRACKER", "SPEND_MONITOR"],
10
+ alwaysRun: false,
11
+ validate: async (runtime, _message, _state) => {
12
+ const walletService = runtime.getService("X402_WALLET");
13
+ return !!walletService;
14
+ },
15
+ handler: async (runtime, _message, _state, _options, _callback) => {
16
+ const walletService = runtime.getService("X402_WALLET");
17
+ if (!walletService)
18
+ return { success: true };
19
+ const budgetAccount = walletService.getBudgetAccount();
20
+ if (!budgetAccount)
21
+ return { success: true };
22
+ const remaining = budgetAccount.remainingAmount;
23
+ const spent = budgetAccount.spentAmount;
24
+ const total = remaining + spent;
25
+ const payments = budgetAccount.payments;
26
+ const hourlySpend = walletService.getHourlySpend();
27
+ // Warn if approaching budget exhaustion (>80% spent)
28
+ if (total > 0 && spent > total * 0.8) {
29
+ runtime.logger.warn({ spent, remaining, total, payments }, "[PaymentEvaluator] Approaching budget limit (>80% spent)");
30
+ }
31
+ // Warn if hourly spend is high
32
+ const config = walletService.getConfig();
33
+ const perHourLimit = config.maxAutoPayUsd * 100;
34
+ if (hourlySpend > perHourLimit * 0.8) {
35
+ runtime.logger.warn({ hourlySpend, perHourLimit }, "[PaymentEvaluator] Approaching hourly spend limit");
36
+ }
37
+ // Log session summary every 10 payments
38
+ if (payments > 0 && payments % 10 === 0) {
39
+ runtime.logger.info({
40
+ totalPayments: payments,
41
+ totalSpentUsd: spent,
42
+ remaining,
43
+ avgCostUsd: spent / payments,
44
+ hourlySpend,
45
+ }, "[PaymentEvaluator] Payment session summary");
46
+ }
47
+ // LLM-based quality scoring for recent payments
48
+ try {
49
+ const paymentMemoryService = runtime.getService("PAYMENT_MEMORY");
50
+ if (paymentMemoryService) {
51
+ const unscored = paymentMemoryService.getUnscoredPayments(3);
52
+ for (const payment of unscored) {
53
+ try {
54
+ const scoringPrompt = `Rate this API response quality from 1 to 5.
55
+ Endpoint: ${payment.endpoint}
56
+ Status: ${payment.responseStatus}
57
+ Response time: ${payment.responseTimeMs}ms
58
+ Response preview: ${payment.responsePreview.slice(0, 200)}
59
+
60
+ Return ONLY valid JSON: { "score": <number 1-5>, "reason": "<brief explanation>" }`;
61
+ const result = await runtime.useModel(ModelType.TEXT_SMALL, {
62
+ prompt: scoringPrompt,
63
+ });
64
+ const resultStr = typeof result === "string" ? result : String(result);
65
+ // Extract JSON from the response (handle markdown code blocks)
66
+ const jsonMatch = resultStr.match(/\{[\s\S]*?\}/);
67
+ if (jsonMatch) {
68
+ const parsed = JSON.parse(jsonMatch[0]);
69
+ const rawScore = Math.round(parsed.score);
70
+ if (Number.isNaN(rawScore)) {
71
+ runtime.logger.debug({ endpoint: payment.endpoint, rawScore: parsed.score }, "[PaymentEvaluator] LLM returned non-numeric score, skipping");
72
+ continue;
73
+ }
74
+ const score = Math.max(1, Math.min(5, rawScore));
75
+ const reason = parsed.reason ?? "No reason provided";
76
+ await paymentMemoryService.scorePayment(payment.recordId, score, reason);
77
+ const isError = payment.responseStatus >= 400 ||
78
+ payment.responseStatus === 0;
79
+ // Extract amountUsd from the history record if available
80
+ const agentId = runtime.agentId ?? "unknown";
81
+ await paymentMemoryService.updateEndpointScore(agentId, payment.domain, 0, // amountUsd not available on UnscoredPayment
82
+ payment.responseTimeMs, score, isError);
83
+ runtime.logger.debug({ endpoint: payment.endpoint, score, reason }, "[PaymentEvaluator] Scored payment quality");
84
+ }
85
+ }
86
+ catch (scoreErr) {
87
+ runtime.logger.debug({
88
+ error: scoreErr instanceof Error
89
+ ? scoreErr.message
90
+ : String(scoreErr),
91
+ endpoint: payment.endpoint,
92
+ }, "[PaymentEvaluator] Failed to score individual payment");
93
+ }
94
+ }
95
+ }
96
+ }
97
+ catch (err) {
98
+ runtime.logger.debug({ error: err instanceof Error ? err.message : String(err) }, "[PaymentEvaluator] Quality scoring pass failed");
99
+ }
100
+ return { success: true };
101
+ },
102
+ examples: [],
103
+ };
104
+ //# sourceMappingURL=paymentEvaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paymentEvaluator.js","sourceRoot":"","sources":["../../src/evaluators/paymentEvaluator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Plugin } from "@elizaos/core";
2
+ export { payForService, discoverServices, delegateToSwarm, runSwarmAgent, delegateToSwarmWithPayment } from "./actions/index.js";
3
+ export { x402Provider } from "./providers/x402Provider.js";
4
+ export { x402ServerProvider } from "./providers/x402ServerProvider.js";
5
+ export { paymentEvaluator } from "./evaluators/paymentEvaluator.js";
6
+ export { X402WalletService } from "./services/x402WalletService.js";
7
+ export { SwarmsService } from "./services/swarmsService.js";
8
+ export { PaymentMemoryService } from "./services/paymentMemoryService.js";
9
+ export { X402ServerService, x402Gate } from "./server/index.js";
10
+ export { x402Routes } from "./routes/x402Routes.js";
11
+ export { taskRoutes, TASK_CATALOG } from "./routes/taskRoutes.js";
12
+ export { walletAnalyzerRoutes, WALLET_REPORT_CATALOG } from "./routes/walletAnalyzerRoutes.js";
13
+ export { heliusDataRoutes } from "./routes/heliusDataRoutes.js";
14
+ export { tradingRoutes, TRADING_CATALOG } from "./routes/tradingRoutes.js";
15
+ export { cryptoRoutes, CRYPTO_CATALOG } from "./routes/cryptoRoutes.js";
16
+ export { batchRoutes, BATCH_CATALOG } from "./routes/batchRoutes.js";
17
+ export { contentRoutes, CONTENT_CATALOG } from "./routes/contentRoutes.js";
18
+ export { codeAuditRoutes, CODE_AUDIT_CATALOG } from "./routes/codeAuditRoutes.js";
19
+ export { cryptoAnalysisRoutes, CRYPTO_ANALYSIS_CATALOG } from "./routes/cryptoAnalysisRoutes.js";
20
+ export { advancedRoutes, ADVANCED_CATALOG } from "./routes/advancedRoutes.js";
21
+ export { TTLCache } from "./utils/cache.js";
22
+ export { callOpenAI } from "./utils/llm.js";
23
+ export * from "./types.js";
24
+ export { X402SwarmsClient, createClient, X402SwarmsError } from "./client/index.js";
25
+ export type { X402SwarmsClientConfig, ResearchResponse, AnalyzeResponse, AgentResponse, WalletAnalysisResponse, CatalogEntry, HealthResponse, WalletAnalyzerHealthResponse, PaymentInfo, TokenHolding, SummarizeResponse, TranslateResponse, CodeReviewResponse, WriteResponse, DebateResponse, ExtractResponse, SentimentResponse, ContractAuditResponse, TokenRiskResponse, DaoAnalyzeResponse, } from "./client/index.js";
26
+ export { SWARM_TEMPLATES, findMatchingTemplate, registerSwarmTemplate, } from "./templates/index.js";
27
+ export declare const x402SwarmsPlugin: Plugin;
28
+ export default x402SwarmsPlugin;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AA0B5C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACjI,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpF,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,4BAA4B,EAC5B,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,gBAAgB,EAAE,MAU9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}