@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,72 @@
1
+ /**
2
+ * Injects x402 payment context into the agent's LLM prompt.
3
+ * Lets the agent know its wallet status, spending history, budget, and access pass.
4
+ */
5
+ export const x402Provider = {
6
+ name: "X402_PAYMENT_CONTEXT",
7
+ description: "Provides x402 payment wallet status, Dexter budget, and spending context to the agent",
8
+ get: async (runtime, _message, _state) => {
9
+ const walletService = runtime.getService("X402_WALLET");
10
+ if (!walletService) {
11
+ return { text: "[x402] Payment service not initialized." };
12
+ }
13
+ const config = walletService.getConfig();
14
+ const budgetAccount = walletService.getBudgetAccount();
15
+ const history = walletService.getPaymentHistory();
16
+ const recentPayments = history.slice(-3).map((p) => ` - $${p.amount.toFixed(4)} -> ${p.domain} on ${p.network}`);
17
+ const accessPassLine = config.accessPassTier
18
+ ? `Access pass: ${config.accessPassTier} tier (auto-renew enabled)`
19
+ : "Access pass: not configured";
20
+ // Build spending history and endpoint value sections from PaymentMemoryService
21
+ let spendingSection = "";
22
+ const memoryService = runtime.getService("PAYMENT_MEMORY");
23
+ if (memoryService) {
24
+ const stats24h = memoryService.getSpendingStats("24h");
25
+ const stats7d = memoryService.getSpendingStats("7d");
26
+ const stats30d = memoryService.getSpendingStats("30d");
27
+ if (stats24h.totalCalls > 0 || stats7d.totalCalls > 0 || stats30d.totalCalls > 0) {
28
+ spendingSection += `\nSpending History:
29
+ Last 24h: $${stats24h.totalSpent.toFixed(2)} across ${stats24h.totalCalls} calls
30
+ Last 7d: $${stats7d.totalSpent.toFixed(2)} across ${stats7d.totalCalls} calls
31
+ Last 30d: $${stats30d.totalSpent.toFixed(2)} across ${stats30d.totalCalls} calls`;
32
+ }
33
+ const scores = memoryService.getEndpointScoreSummary();
34
+ const scoredEndpoints = scores.filter((s) => s.avgQuality > 0);
35
+ if (scoredEndpoints.length > 0) {
36
+ // Best value: highest quality/cost ratio (already sorted best-first)
37
+ const bestValue = scoredEndpoints.slice(0, 3);
38
+ spendingSection += `\n\nBest Value Endpoints:`;
39
+ bestValue.forEach((ep, i) => {
40
+ spendingSection += `\n ${i + 1}. ${ep.domain} — $${ep.avgCostPerCall.toFixed(2)}/call, quality ${ep.avgQuality.toFixed(1)}/5 (${ep.totalCalls} calls)`;
41
+ });
42
+ // Worst value: lowest ratio (reverse of sorted)
43
+ const worstValue = scoredEndpoints.slice(-3).reverse();
44
+ // Only show if distinct from best value endpoints
45
+ const bestDomains = new Set(bestValue.map((e) => e.domain));
46
+ const uniqueWorst = worstValue.filter((e) => !bestDomains.has(e.domain));
47
+ if (uniqueWorst.length > 0) {
48
+ spendingSection += `\n\nAvoid (Low Value):`;
49
+ uniqueWorst.forEach((ep, i) => {
50
+ spendingSection += `\n ${i + 1}. ${ep.domain} — $${ep.avgCostPerCall.toFixed(2)}/call, quality ${ep.avgQuality.toFixed(1)}/5 (${ep.totalCalls} calls)`;
51
+ });
52
+ }
53
+ }
54
+ }
55
+ return {
56
+ text: `[x402 Wallet Context — Dexter SDK]
57
+ Network: ${config.networkId}
58
+ Auto-pay limit: $${config.maxAutoPayUsd} per request
59
+ Budget remaining: ${budgetAccount?.remaining ?? "not configured"}
60
+ Total spent this session: $${(budgetAccount?.spentAmount ?? 0).toFixed(4)}
61
+ Payments made: ${budgetAccount?.payments ?? 0}
62
+ Hourly spend: $${(walletService.getHourlySpend()).toFixed(4)}
63
+ ${accessPassLine}
64
+ Recent payments (last 3):
65
+ ${recentPayments.length > 0 ? recentPayments.join("\n") : " None yet"}
66
+ ${spendingSection}
67
+ You can pay for x402-protected APIs autonomously up to $${config.maxAutoPayUsd} per call.
68
+ Use DISCOVER_X402_SERVICES to find available services on OpenDexter, PAY_FOR_X402_SERVICE to access paid endpoints, DELEGATE_TO_SWARM for complex tasks, or DELEGATE_TO_SWARM_WITH_PAYMENT for tasks that need paid external data fed into swarm analysis.`,
69
+ };
70
+ },
71
+ };
72
+ //# sourceMappingURL=x402Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402Provider.js","sourceRoot":"","sources":["../../src/providers/x402Provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type Provider } from "@elizaos/core";
2
+ /**
3
+ * Injects sell-side x402 revenue context into the agent's LLM prompt.
4
+ * Active only when X402_RECEIVE_ADDRESS is configured and X402ServerService is running.
5
+ */
6
+ export declare const x402ServerProvider: Provider;
7
+ //# sourceMappingURL=x402ServerProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402ServerProvider.d.ts","sourceRoot":"","sources":["../../src/providers/x402ServerProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EAKd,MAAM,eAAe,CAAC;AAevB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAiDhC,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Sell-side endpoint catalog used for the LLM context.
3
+ * Kept in sync with x402Routes definitions.
4
+ */
5
+ const SELL_SIDE_ENDPOINTS = [
6
+ { path: "POST /x402/research", price: "$0.05", desc: "Run a ResearchPipeline swarm" },
7
+ { path: "POST /x402/analyze", price: "$0.03", desc: "Run an AnalysisPanel swarm" },
8
+ { path: "POST /x402/agent", price: "$0.02", desc: "Single agent run" },
9
+ { path: "GET /x402/catalog", price: "FREE", desc: "List all paid endpoints" },
10
+ { path: "GET /x402/health", price: "FREE", desc: "Service status" },
11
+ ];
12
+ /**
13
+ * Injects sell-side x402 revenue context into the agent's LLM prompt.
14
+ * Active only when X402_RECEIVE_ADDRESS is configured and X402ServerService is running.
15
+ */
16
+ export const x402ServerProvider = {
17
+ name: "X402_SERVER_CONTEXT",
18
+ description: "Provides x402 sell-side context: revenue earned, settlements, and available paid endpoints",
19
+ get: async (runtime, _message, _state) => {
20
+ const serverService = runtime.getService("X402_SERVER");
21
+ if (!serverService?.isAvailable()) {
22
+ return { text: "[x402 Server] Not configured." };
23
+ }
24
+ const receiveAddress = serverService.getReceiveAddress();
25
+ const network = serverService.getNetwork();
26
+ const totalRevenue = serverService.getTotalRevenueUsd();
27
+ const settlementCount = serverService.getSettlementCount();
28
+ const history = serverService.getRevenueHistory();
29
+ const recentPayments = history.slice(-3).map((r) => ` - $${r.amountUsd.toFixed(4)} from ${r.payer || "unknown"} for ${r.endpoint} (tx: ${r.txHash.slice(0, 12)}...)`);
30
+ const endpointList = SELL_SIDE_ENDPOINTS.map((e) => ` - ${e.path} — ${e.price} — ${e.desc}`).join("\n");
31
+ return {
32
+ text: `[x402 Server Context — Sell Side]
33
+ Receive address: ${receiveAddress}
34
+ Network: ${network}
35
+ Total revenue: $${totalRevenue.toFixed(4)}
36
+ Settlements: ${settlementCount}
37
+
38
+ Recent incoming payments (last 3):
39
+ ${recentPayments.length > 0 ? recentPayments.join("\n") : " None yet"}
40
+
41
+ Available sell-side endpoints:
42
+ ${endpointList}
43
+
44
+ You are accepting x402 payments for agent services. Clients pay USDC to access your endpoints above.`,
45
+ };
46
+ },
47
+ };
48
+ //# sourceMappingURL=x402ServerProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402ServerProvider.js","sourceRoot":"","sources":["../../src/providers/x402ServerProvider.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,MAAM,mBAAmB,GAAG;IAC1B,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,8BAA8B,EAAE;IACrF,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE;IAClF,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACtE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAC9E,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;CACrE,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAa;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,4FAA4F;IAE9F,GAAG,EAAE,KAAK,EACR,OAAsB,EACtB,QAAgB,EAChB,MAAc,EACW,EAAE;QAC3B,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CACtC,aAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAC;QACxD,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAElD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,EAAE,EAAE,CACJ,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,SAAS,QAAQ,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CACpH,CAAC;QAEF,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,EAAE,CAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,IAAI,EAAE;mBACO,cAAc;WACtB,OAAO;kBACA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;eAC1B,eAAe;;;EAG5B,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY;;;EAGpE,YAAY;;qGAEuF;SAChG,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Route } from "@elizaos/core";
2
+ import type { X402ServiceEndpoint } from "../types.js";
3
+ export declare const ADVANCED_CATALOG: X402ServiceEndpoint[];
4
+ export declare const advancedRoutes: Route[];
5
+ //# sourceMappingURL=advancedRoutes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/advancedRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAiKvD,eAAO,MAAM,gBAAgB,EAAE,mBAAmB,EAiCjD,CAAC;AAIF,eAAO,MAAM,cAAc,EAAE,KAAK,EA0xBjC,CAAC"}