@blockrun/clawrouter 0.12.94 → 0.12.96

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 (282) hide show
  1. package/dist/auth.d.ts +82 -0
  2. package/dist/auth.d.ts.map +1 -0
  3. package/dist/auth.js +388 -0
  4. package/dist/auth.js.map +1 -0
  5. package/dist/balance.d.ts +97 -0
  6. package/dist/balance.d.ts.map +1 -0
  7. package/dist/balance.js +157 -0
  8. package/dist/balance.js.map +1 -0
  9. package/dist/cli.d.ts +15 -0
  10. package/dist/cli.d.ts.map +1 -0
  11. package/dist/cli.js +256 -54991
  12. package/dist/cli.js.map +1 -1
  13. package/dist/compression/codebook.d.ts +24 -0
  14. package/dist/compression/codebook.d.ts.map +1 -0
  15. package/dist/compression/codebook.js +119 -0
  16. package/dist/compression/codebook.js.map +1 -0
  17. package/dist/compression/index.d.ts +33 -0
  18. package/dist/compression/index.d.ts.map +1 -0
  19. package/dist/compression/index.js +246 -0
  20. package/dist/compression/index.js.map +1 -0
  21. package/dist/compression/layers/deduplication.d.ts +28 -0
  22. package/dist/compression/layers/deduplication.d.ts.map +1 -0
  23. package/dist/compression/layers/deduplication.js +101 -0
  24. package/dist/compression/layers/deduplication.js.map +1 -0
  25. package/dist/compression/layers/dictionary.d.ts +21 -0
  26. package/dist/compression/layers/dictionary.d.ts.map +1 -0
  27. package/dist/compression/layers/dictionary.js +73 -0
  28. package/dist/compression/layers/dictionary.js.map +1 -0
  29. package/dist/compression/layers/dynamic-codebook.d.ts +26 -0
  30. package/dist/compression/layers/dynamic-codebook.d.ts.map +1 -0
  31. package/dist/compression/layers/dynamic-codebook.js +149 -0
  32. package/dist/compression/layers/dynamic-codebook.js.map +1 -0
  33. package/dist/compression/layers/json-compact.d.ts +23 -0
  34. package/dist/compression/layers/json-compact.d.ts.map +1 -0
  35. package/dist/compression/layers/json-compact.js +79 -0
  36. package/dist/compression/layers/json-compact.js.map +1 -0
  37. package/dist/compression/layers/observation.d.ts +21 -0
  38. package/dist/compression/layers/observation.d.ts.map +1 -0
  39. package/dist/compression/layers/observation.js +130 -0
  40. package/dist/compression/layers/observation.js.map +1 -0
  41. package/dist/compression/layers/paths.d.ts +24 -0
  42. package/dist/compression/layers/paths.d.ts.map +1 -0
  43. package/dist/compression/layers/paths.js +110 -0
  44. package/dist/compression/layers/paths.js.map +1 -0
  45. package/dist/compression/layers/whitespace.d.ts +27 -0
  46. package/dist/compression/layers/whitespace.d.ts.map +1 -0
  47. package/dist/compression/layers/whitespace.js +60 -0
  48. package/dist/compression/layers/whitespace.js.map +1 -0
  49. package/dist/compression/types.d.ts +84 -0
  50. package/dist/compression/types.d.ts.map +1 -0
  51. package/dist/compression/types.js +27 -0
  52. package/dist/compression/types.js.map +1 -0
  53. package/dist/config.d.ts +12 -0
  54. package/dist/config.d.ts.map +1 -0
  55. package/dist/config.js +22 -0
  56. package/dist/config.js.map +1 -0
  57. package/dist/dedup.d.ts +34 -0
  58. package/dist/dedup.d.ts.map +1 -0
  59. package/dist/dedup.js +150 -0
  60. package/dist/dedup.js.map +1 -0
  61. package/dist/doctor.d.ts +8 -0
  62. package/dist/doctor.d.ts.map +1 -0
  63. package/dist/doctor.js +375 -0
  64. package/dist/doctor.js.map +1 -0
  65. package/dist/error-classification.test.d.ts +2 -0
  66. package/dist/error-classification.test.d.ts.map +1 -0
  67. package/dist/error-classification.test.js +59 -0
  68. package/dist/error-classification.test.js.map +1 -0
  69. package/dist/errors.d.ts +54 -0
  70. package/dist/errors.d.ts.map +1 -0
  71. package/dist/errors.js +85 -0
  72. package/dist/errors.js.map +1 -0
  73. package/dist/exclude-models.d.ts +28 -0
  74. package/dist/exclude-models.d.ts.map +1 -0
  75. package/dist/exclude-models.integration.test.d.ts +2 -0
  76. package/dist/exclude-models.integration.test.d.ts.map +1 -0
  77. package/dist/exclude-models.integration.test.js +46 -0
  78. package/dist/exclude-models.integration.test.js.map +1 -0
  79. package/dist/exclude-models.js +70 -0
  80. package/dist/exclude-models.js.map +1 -0
  81. package/dist/exclude-models.test.d.ts +5 -0
  82. package/dist/exclude-models.test.d.ts.map +1 -0
  83. package/dist/exclude-models.test.js +95 -0
  84. package/dist/exclude-models.test.js.map +1 -0
  85. package/dist/fs-read.d.ts +11 -0
  86. package/dist/fs-read.d.ts.map +1 -0
  87. package/dist/fs-read.js +47 -0
  88. package/dist/fs-read.js.map +1 -0
  89. package/dist/index.d.ts +34 -1368
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +1071 -56191
  92. package/dist/index.js.map +1 -1
  93. package/dist/journal.d.ts +67 -0
  94. package/dist/journal.d.ts.map +1 -0
  95. package/dist/journal.js +184 -0
  96. package/dist/journal.js.map +1 -0
  97. package/dist/journal.test.d.ts +2 -0
  98. package/dist/journal.test.d.ts.map +1 -0
  99. package/dist/journal.test.js +201 -0
  100. package/dist/journal.test.js.map +1 -0
  101. package/dist/logger.d.ts +33 -0
  102. package/dist/logger.d.ts.map +1 -0
  103. package/dist/logger.js +35 -0
  104. package/dist/logger.js.map +1 -0
  105. package/dist/models.d.ts +107 -0
  106. package/dist/models.d.ts.map +1 -0
  107. package/dist/models.js +941 -0
  108. package/dist/models.js.map +1 -0
  109. package/dist/models.test.d.ts +2 -0
  110. package/dist/models.test.d.ts.map +1 -0
  111. package/dist/models.test.js +38 -0
  112. package/dist/models.test.js.map +1 -0
  113. package/dist/partners/index.d.ts +8 -0
  114. package/dist/partners/index.d.ts.map +1 -0
  115. package/dist/partners/index.js +6 -0
  116. package/dist/partners/index.js.map +1 -0
  117. package/dist/partners/registry.d.ts +51 -0
  118. package/dist/partners/registry.d.ts.map +1 -0
  119. package/dist/partners/registry.js +256 -0
  120. package/dist/partners/registry.js.map +1 -0
  121. package/dist/partners/tools.d.ts +24 -0
  122. package/dist/partners/tools.d.ts.map +1 -0
  123. package/dist/partners/tools.js +97 -0
  124. package/dist/partners/tools.js.map +1 -0
  125. package/dist/payment-preauth.d.ts +17 -0
  126. package/dist/payment-preauth.d.ts.map +1 -0
  127. package/dist/payment-preauth.js +102 -0
  128. package/dist/payment-preauth.js.map +1 -0
  129. package/dist/provider.d.ts +19 -0
  130. package/dist/provider.d.ts.map +1 -0
  131. package/dist/provider.js +45 -0
  132. package/dist/provider.js.map +1 -0
  133. package/dist/proxy.d.ts +210 -0
  134. package/dist/proxy.d.ts.map +1 -0
  135. package/dist/proxy.debrand.test.d.ts +2 -0
  136. package/dist/proxy.debrand.test.d.ts.map +1 -0
  137. package/dist/proxy.debrand.test.js +101 -0
  138. package/dist/proxy.debrand.test.js.map +1 -0
  139. package/dist/proxy.degraded-response.test.d.ts +2 -0
  140. package/dist/proxy.degraded-response.test.d.ts.map +1 -0
  141. package/dist/proxy.degraded-response.test.js +105 -0
  142. package/dist/proxy.degraded-response.test.js.map +1 -0
  143. package/dist/proxy.image-download.test.d.ts +2 -0
  144. package/dist/proxy.image-download.test.d.ts.map +1 -0
  145. package/dist/proxy.image-download.test.js +92 -0
  146. package/dist/proxy.image-download.test.js.map +1 -0
  147. package/dist/proxy.js +3810 -0
  148. package/dist/proxy.js.map +1 -0
  149. package/dist/proxy.models-endpoint.test.d.ts +2 -0
  150. package/dist/proxy.models-endpoint.test.d.ts.map +1 -0
  151. package/dist/proxy.models-endpoint.test.js +19 -0
  152. package/dist/proxy.models-endpoint.test.js.map +1 -0
  153. package/dist/proxy.multiturn-thinking.test.d.ts +2 -0
  154. package/dist/proxy.multiturn-thinking.test.d.ts.map +1 -0
  155. package/dist/proxy.multiturn-thinking.test.js +82 -0
  156. package/dist/proxy.multiturn-thinking.test.js.map +1 -0
  157. package/dist/proxy.payment-chain-reuse.test.d.ts +2 -0
  158. package/dist/proxy.payment-chain-reuse.test.d.ts.map +1 -0
  159. package/dist/proxy.payment-chain-reuse.test.js +30 -0
  160. package/dist/proxy.payment-chain-reuse.test.js.map +1 -0
  161. package/dist/proxy.solana-resilience.test.d.ts +12 -0
  162. package/dist/proxy.solana-resilience.test.d.ts.map +1 -0
  163. package/dist/proxy.solana-resilience.test.js +39 -0
  164. package/dist/proxy.solana-resilience.test.js.map +1 -0
  165. package/dist/report.d.ts +6 -0
  166. package/dist/report.d.ts.map +1 -0
  167. package/dist/report.js +44 -0
  168. package/dist/report.js.map +1 -0
  169. package/dist/response-cache.advanced.test.d.ts +2 -0
  170. package/dist/response-cache.advanced.test.d.ts.map +1 -0
  171. package/dist/response-cache.advanced.test.js +566 -0
  172. package/dist/response-cache.advanced.test.js.map +1 -0
  173. package/dist/response-cache.d.ts +85 -0
  174. package/dist/response-cache.d.ts.map +1 -0
  175. package/dist/response-cache.edge-cases.test.d.ts +2 -0
  176. package/dist/response-cache.edge-cases.test.d.ts.map +1 -0
  177. package/dist/response-cache.edge-cases.test.js +488 -0
  178. package/dist/response-cache.edge-cases.test.js.map +1 -0
  179. package/dist/response-cache.extreme.test.d.ts +2 -0
  180. package/dist/response-cache.extreme.test.d.ts.map +1 -0
  181. package/dist/response-cache.extreme.test.js +561 -0
  182. package/dist/response-cache.extreme.test.js.map +1 -0
  183. package/dist/response-cache.js +240 -0
  184. package/dist/response-cache.js.map +1 -0
  185. package/dist/response-cache.test.d.ts +2 -0
  186. package/dist/response-cache.test.d.ts.map +1 -0
  187. package/dist/response-cache.test.js +242 -0
  188. package/dist/response-cache.test.js.map +1 -0
  189. package/dist/retry.d.ts +42 -0
  190. package/dist/retry.d.ts.map +1 -0
  191. package/dist/retry.js +99 -0
  192. package/dist/retry.js.map +1 -0
  193. package/dist/router/config.d.ts +11 -0
  194. package/dist/router/config.d.ts.map +1 -0
  195. package/dist/router/config.js +1215 -0
  196. package/dist/router/config.js.map +1 -0
  197. package/dist/router/index.d.ts +18 -0
  198. package/dist/router/index.d.ts.map +1 -0
  199. package/dist/router/index.js +19 -0
  200. package/dist/router/index.js.map +1 -0
  201. package/dist/router/llm-classifier.d.ts +29 -0
  202. package/dist/router/llm-classifier.d.ts.map +1 -0
  203. package/dist/router/llm-classifier.js +99 -0
  204. package/dist/router/llm-classifier.js.map +1 -0
  205. package/dist/router/rules.d.ts +12 -0
  206. package/dist/router/rules.d.ts.map +1 -0
  207. package/dist/router/rules.js +202 -0
  208. package/dist/router/rules.js.map +1 -0
  209. package/dist/router/selector.d.ts +58 -0
  210. package/dist/router/selector.d.ts.map +1 -0
  211. package/dist/router/selector.js +165 -0
  212. package/dist/router/selector.js.map +1 -0
  213. package/dist/router/selector.test.d.ts +2 -0
  214. package/dist/router/selector.test.d.ts.map +1 -0
  215. package/dist/router/selector.test.js +67 -0
  216. package/dist/router/selector.test.js.map +1 -0
  217. package/dist/router/strategy.d.ts +19 -0
  218. package/dist/router/strategy.d.ts.map +1 -0
  219. package/dist/router/strategy.js +138 -0
  220. package/dist/router/strategy.js.map +1 -0
  221. package/dist/router/strategy.test.d.ts +2 -0
  222. package/dist/router/strategy.test.d.ts.map +1 -0
  223. package/dist/router/strategy.test.js +131 -0
  224. package/dist/router/strategy.test.js.map +1 -0
  225. package/dist/router/types.d.ts +127 -0
  226. package/dist/router/types.d.ts.map +1 -0
  227. package/dist/router/types.js +11 -0
  228. package/dist/router/types.js.map +1 -0
  229. package/dist/session.d.ts +124 -0
  230. package/dist/session.d.ts.map +1 -0
  231. package/dist/session.js +256 -0
  232. package/dist/session.js.map +1 -0
  233. package/dist/session.test.d.ts +2 -0
  234. package/dist/session.test.d.ts.map +1 -0
  235. package/dist/session.test.js +163 -0
  236. package/dist/session.test.js.map +1 -0
  237. package/dist/solana-balance.d.ts +48 -0
  238. package/dist/solana-balance.d.ts.map +1 -0
  239. package/dist/solana-balance.js +142 -0
  240. package/dist/solana-balance.js.map +1 -0
  241. package/dist/spend-control.d.ts +112 -0
  242. package/dist/spend-control.d.ts.map +1 -0
  243. package/dist/spend-control.js +278 -0
  244. package/dist/spend-control.js.map +1 -0
  245. package/dist/spend-control.test.d.ts +5 -0
  246. package/dist/spend-control.test.d.ts.map +1 -0
  247. package/dist/spend-control.test.js +210 -0
  248. package/dist/spend-control.test.js.map +1 -0
  249. package/dist/stats.d.ts +64 -0
  250. package/dist/stats.d.ts.map +1 -0
  251. package/dist/stats.js +295 -0
  252. package/dist/stats.js.map +1 -0
  253. package/dist/types.d.ts +150 -0
  254. package/dist/types.d.ts.map +1 -0
  255. package/dist/types.js +9 -0
  256. package/dist/types.js.map +1 -0
  257. package/dist/update-hint.test.d.ts +9 -0
  258. package/dist/update-hint.test.d.ts.map +1 -0
  259. package/dist/update-hint.test.js +156 -0
  260. package/dist/update-hint.test.js.map +1 -0
  261. package/dist/updater.d.ts +10 -0
  262. package/dist/updater.d.ts.map +1 -0
  263. package/dist/updater.js +55 -0
  264. package/dist/updater.js.map +1 -0
  265. package/dist/version.d.ts +3 -0
  266. package/dist/version.d.ts.map +1 -0
  267. package/dist/version.js +16 -0
  268. package/dist/version.js.map +1 -0
  269. package/dist/wallet.d.ts +52 -0
  270. package/dist/wallet.d.ts.map +1 -0
  271. package/dist/wallet.js +93 -0
  272. package/dist/wallet.js.map +1 -0
  273. package/dist/wallet.test.d.ts +6 -0
  274. package/dist/wallet.test.d.ts.map +1 -0
  275. package/dist/wallet.test.js +117 -0
  276. package/dist/wallet.test.js.map +1 -0
  277. package/dist/x402-sdk.test.d.ts +6 -0
  278. package/dist/x402-sdk.test.d.ts.map +1 -0
  279. package/dist/x402-sdk.test.js +161 -0
  280. package/dist/x402-sdk.test.js.map +1 -0
  281. package/package.json +2 -2
  282. package/scripts/e2e-multiturn.mjs +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=models.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.test.d.ts","sourceRoot":"","sources":["../src/models.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { resolveModelAlias } from "./models.js";
3
+ describe("resolveModelAlias", () => {
4
+ it("maps Claude aliases to newest 4.6 versions", () => {
5
+ // Use newest versions (4.6) with full provider prefix
6
+ expect(resolveModelAlias("claude")).toBe("anthropic/claude-sonnet-4.6");
7
+ expect(resolveModelAlias("sonnet")).toBe("anthropic/claude-sonnet-4.6");
8
+ expect(resolveModelAlias("opus")).toBe("anthropic/claude-opus-4.6");
9
+ expect(resolveModelAlias("haiku")).toBe("anthropic/claude-haiku-4.5");
10
+ });
11
+ it("resolves aliases even when sent with blockrun/ prefix", () => {
12
+ expect(resolveModelAlias("blockrun/claude")).toBe("anthropic/claude-sonnet-4.6");
13
+ expect(resolveModelAlias("blockrun/sonnet-4.6")).toBe("anthropic/claude-sonnet-4.6");
14
+ expect(resolveModelAlias("blockrun/opus")).toBe("anthropic/claude-opus-4.6");
15
+ });
16
+ it("maps legacy Claude IDs to 4.6", () => {
17
+ expect(resolveModelAlias("anthropic/claude-sonnet-4")).toBe("anthropic/claude-sonnet-4.6");
18
+ expect(resolveModelAlias("anthropic/claude-opus-4")).toBe("anthropic/claude-opus-4.6");
19
+ expect(resolveModelAlias("anthropic/claude-opus-4.5")).toBe("anthropic/claude-opus-4.6");
20
+ });
21
+ it("strips openai/ prefix from virtual routing profiles (issue #78)", () => {
22
+ // OpenClaw sends virtual profiles as "openai/eco", "openai/auto", etc.
23
+ expect(resolveModelAlias("openai/eco")).toBe("eco");
24
+ expect(resolveModelAlias("openai/free")).toBe("free/nemotron-ultra-253b"); // "free" is now an alias, not a virtual profile
25
+ expect(resolveModelAlias("openai/auto")).toBe("auto");
26
+ expect(resolveModelAlias("openai/premium")).toBe("premium");
27
+ });
28
+ it("strips openai/ prefix from aliases", () => {
29
+ expect(resolveModelAlias("openai/claude")).toBe("anthropic/claude-sonnet-4.6");
30
+ expect(resolveModelAlias("openai/sonnet")).toBe("anthropic/claude-sonnet-4.6");
31
+ });
32
+ it("redirects delisted grok-code-fast-1 IDs to deepseek", () => {
33
+ expect(resolveModelAlias("xai/grok-code-fast-1")).toBe("deepseek/deepseek-chat");
34
+ expect(resolveModelAlias("blockrun/xai/grok-code-fast-1")).toBe("deepseek/deepseek-chat");
35
+ expect(resolveModelAlias("grok-code-fast-1")).toBe("deepseek/deepseek-chat");
36
+ });
37
+ });
38
+ //# sourceMappingURL=models.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.test.js","sourceRoot":"","sources":["../src/models.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,sDAAsD;QACtD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACxE,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACxE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACpE,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACjF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACrF,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC3F,MAAM,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACvF,MAAM,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,uEAAuE;QACvE,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,gDAAgD;QAC3H,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC/E,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjF,MAAM,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1F,MAAM,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Partner API Integration — barrel export
3
+ */
4
+ export { PARTNER_SERVICES, getPartnerService } from "./registry.js";
5
+ export type { PartnerServiceDefinition, PartnerServiceParam } from "./registry.js";
6
+ export { buildPartnerTools } from "./tools.js";
7
+ export type { PartnerToolDefinition } from "./tools.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/partners/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Partner API Integration — barrel export
3
+ */
4
+ export { PARTNER_SERVICES, getPartnerService } from "./registry.js";
5
+ export { buildPartnerTools } from "./tools.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/partners/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Partner Service Registry
3
+ *
4
+ * Defines available partner APIs that can be called through ClawRouter's proxy.
5
+ * Partners provide specialized data (Twitter/X, etc.) via x402 micropayments.
6
+ * The same wallet used for LLM calls pays for partner API calls — zero extra setup.
7
+ */
8
+ export type PartnerServiceParam = {
9
+ name: string;
10
+ type: "string" | "string[]" | "number";
11
+ description: string;
12
+ required: boolean;
13
+ };
14
+ export type PartnerServiceDefinition = {
15
+ /** Unique service ID used in tool names: blockrun_{id} */
16
+ id: string;
17
+ /** Human-readable name */
18
+ name: string;
19
+ /** Partner providing this service */
20
+ partner: string;
21
+ /** Short description for tool listing */
22
+ description: string;
23
+ /** Proxy path (relative to /v1) */
24
+ proxyPath: string;
25
+ /** HTTP method */
26
+ method: "GET" | "POST";
27
+ /** Parameters for the tool's JSON Schema */
28
+ params: PartnerServiceParam[];
29
+ /** Pricing info for display */
30
+ pricing: {
31
+ perUnit: string;
32
+ unit: string;
33
+ minimum: string;
34
+ maximum: string;
35
+ };
36
+ /** Example usage for help text */
37
+ example: {
38
+ input: Record<string, unknown>;
39
+ description: string;
40
+ };
41
+ };
42
+ /**
43
+ * All registered partner services.
44
+ * New partners are added here — the rest of the system picks them up automatically.
45
+ */
46
+ export declare const PARTNER_SERVICES: PartnerServiceDefinition[];
47
+ /**
48
+ * Get a partner service by ID.
49
+ */
50
+ export declare function getPartnerService(id: string): PartnerServiceDefinition | undefined;
51
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/partners/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,4CAA4C;IAC5C,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,+BAA+B;IAC/B,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kCAAkC;IAClC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,wBAAwB,EAwPtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAElF"}
@@ -0,0 +1,256 @@
1
+ /**
2
+ * Partner Service Registry
3
+ *
4
+ * Defines available partner APIs that can be called through ClawRouter's proxy.
5
+ * Partners provide specialized data (Twitter/X, etc.) via x402 micropayments.
6
+ * The same wallet used for LLM calls pays for partner API calls — zero extra setup.
7
+ */
8
+ /**
9
+ * All registered partner services.
10
+ * New partners are added here — the rest of the system picks them up automatically.
11
+ */
12
+ export const PARTNER_SERVICES = [
13
+ {
14
+ id: "x_users_lookup",
15
+ name: "Twitter/X User Lookup",
16
+ partner: "AttentionVC",
17
+ description: "Look up real-time Twitter/X user profiles by username. " +
18
+ "Call this ONLY when the user explicitly asks to look up, check, or get information about a specific Twitter/X user's profile (follower count, bio, verification status, etc.). " +
19
+ "Do NOT call this for messages that merely contain x.com or twitter.com URLs — only invoke when the user is asking for profile information about a specific account. " +
20
+ "Returns: follower count, verification badge, bio, location, join date. " +
21
+ "Accepts up to 100 usernames per request (without @ prefix).",
22
+ proxyPath: "/x/users/lookup",
23
+ method: "POST",
24
+ params: [
25
+ {
26
+ name: "usernames",
27
+ type: "string[]",
28
+ description: 'Array of Twitter/X usernames to look up (without @ prefix). Example: ["elonmusk", "naval"]',
29
+ required: true,
30
+ },
31
+ ],
32
+ pricing: {
33
+ perUnit: "$0.001",
34
+ unit: "user",
35
+ minimum: "$0.01 (10 users)",
36
+ maximum: "$0.10 (100 users)",
37
+ },
38
+ example: {
39
+ input: { usernames: ["elonmusk", "naval", "balaboris"] },
40
+ description: "Look up 3 Twitter/X user profiles",
41
+ },
42
+ },
43
+ // ---------------------------------------------------------------------------
44
+ // Predexon — Prediction Market Data
45
+ // ---------------------------------------------------------------------------
46
+ {
47
+ id: "predexon_events",
48
+ name: "Polymarket Events",
49
+ partner: "Predexon",
50
+ description: "Get live Polymarket prediction market events with current odds, volume, and liquidity. " +
51
+ "Call this for ANY request about prediction markets, Polymarket markets, current odds, " +
52
+ "what people are betting on, or market sentiment. " +
53
+ "Do NOT use browser or web scraping — this returns structured real-time data directly. " +
54
+ "Returns: event title, YES/NO prices (implied probability), volume, liquidity, end date.",
55
+ proxyPath: "/pm/polymarket/events",
56
+ method: "GET",
57
+ params: [
58
+ {
59
+ name: "limit",
60
+ type: "number",
61
+ description: "Number of events to return (default: 20, max: 100)",
62
+ required: false,
63
+ },
64
+ {
65
+ name: "tag",
66
+ type: "string",
67
+ description: "Filter by category: crypto, politics, sports, science, economics, etc.",
68
+ required: false,
69
+ },
70
+ ],
71
+ pricing: { perUnit: "$0.001", unit: "request", minimum: "$0.001", maximum: "$0.001" },
72
+ example: {
73
+ input: { limit: 20 },
74
+ description: "Get top 20 live Polymarket events",
75
+ },
76
+ },
77
+ {
78
+ id: "predexon_leaderboard",
79
+ name: "Polymarket Leaderboard",
80
+ partner: "Predexon",
81
+ description: "Get the Polymarket leaderboard of top traders ranked by profit. " +
82
+ "Call this for ANY request about top Polymarket traders, whale wallets, best performers, " +
83
+ "richest traders, or who is making the most money on Polymarket. " +
84
+ "Do NOT use browser or web scraping — this returns structured data directly. " +
85
+ "Returns: wallet address/username, total profit, total volume, win rate.",
86
+ proxyPath: "/pm/polymarket/leaderboard",
87
+ method: "GET",
88
+ params: [
89
+ {
90
+ name: "limit",
91
+ type: "number",
92
+ description: "Number of wallets to return (default: 20, max: 100)",
93
+ required: false,
94
+ },
95
+ ],
96
+ pricing: { perUnit: "$0.001", unit: "request", minimum: "$0.001", maximum: "$0.001" },
97
+ example: {
98
+ input: { limit: 20 },
99
+ description: "Get top 20 Polymarket whale wallets by profit",
100
+ },
101
+ },
102
+ {
103
+ id: "predexon_markets",
104
+ name: "Polymarket Markets Search",
105
+ partner: "Predexon",
106
+ description: "Search and filter Polymarket markets. Use this to find a market by keyword and get its conditionId " +
107
+ "for follow-up calls (smart money, top holders, etc.). " +
108
+ "Returns: question, conditionId, YES/NO prices, volume.",
109
+ proxyPath: "/pm/polymarket/markets",
110
+ method: "GET",
111
+ params: [
112
+ {
113
+ name: "search",
114
+ type: "string",
115
+ description: "Keyword to search for (e.g. 'bitcoin', 'election', 'fed rate')",
116
+ required: false,
117
+ },
118
+ {
119
+ name: "limit",
120
+ type: "number",
121
+ description: "Number of markets to return (default: 20)",
122
+ required: false,
123
+ },
124
+ ],
125
+ pricing: { perUnit: "$0.001", unit: "request", minimum: "$0.001", maximum: "$0.001" },
126
+ example: {
127
+ input: { search: "bitcoin", limit: 10 },
128
+ description: "Search for Bitcoin-related prediction markets",
129
+ },
130
+ },
131
+ {
132
+ id: "predexon_smart_money",
133
+ name: "Polymarket Smart Money",
134
+ partner: "Predexon",
135
+ description: "See how high-performing wallets are positioned on a specific Polymarket market. " +
136
+ "Use this after finding a market's conditionId via predexon_markets or predexon_events. " +
137
+ "Returns: wallet addresses, their YES/NO positions, size, P&L, win rate.",
138
+ proxyPath: "/pm/polymarket/market/:condition_id/smart-money",
139
+ method: "GET",
140
+ params: [
141
+ {
142
+ name: "condition_id",
143
+ type: "string",
144
+ description: "The market's conditionId (get this from predexon_markets or predexon_events)",
145
+ required: true,
146
+ },
147
+ {
148
+ name: "limit",
149
+ type: "number",
150
+ description: "Number of positions to return (default: 20)",
151
+ required: false,
152
+ },
153
+ ],
154
+ pricing: { perUnit: "$0.005", unit: "request", minimum: "$0.005", maximum: "$0.005" },
155
+ example: {
156
+ input: { condition_id: "0xabc123...", limit: 10 },
157
+ description: "See smart money positioning on a specific market",
158
+ },
159
+ },
160
+ {
161
+ id: "predexon_smart_activity",
162
+ name: "Polymarket Smart Activity",
163
+ partner: "Predexon",
164
+ description: "Discover which Polymarket markets high-performing wallets are currently active in. " +
165
+ "Use this to find where smart money is flowing right now. " +
166
+ "Returns: market titles, smart money volume, number of smart wallets active.",
167
+ proxyPath: "/pm/polymarket/markets/smart-activity",
168
+ method: "GET",
169
+ params: [
170
+ {
171
+ name: "limit",
172
+ type: "number",
173
+ description: "Number of markets to return (default: 20)",
174
+ required: false,
175
+ },
176
+ ],
177
+ pricing: { perUnit: "$0.005", unit: "request", minimum: "$0.005", maximum: "$0.005" },
178
+ example: {
179
+ input: { limit: 10 },
180
+ description: "Find markets where smart money is most active",
181
+ },
182
+ },
183
+ {
184
+ id: "predexon_wallet",
185
+ name: "Polymarket Wallet Profile",
186
+ partner: "Predexon",
187
+ description: "Get a complete profile for a Polymarket wallet address: profit, volume, win rate, markets traded, open positions. " +
188
+ "Use this when the user asks to analyze or look up a specific wallet address.",
189
+ proxyPath: "/pm/polymarket/wallet/:wallet",
190
+ method: "GET",
191
+ params: [
192
+ {
193
+ name: "wallet",
194
+ type: "string",
195
+ description: "Ethereum wallet address (0x...)",
196
+ required: true,
197
+ },
198
+ ],
199
+ pricing: { perUnit: "$0.005", unit: "request", minimum: "$0.005", maximum: "$0.005" },
200
+ example: {
201
+ input: { wallet: "0x1234...abcd" },
202
+ description: "Get complete profile for a Polymarket wallet",
203
+ },
204
+ },
205
+ {
206
+ id: "predexon_wallet_pnl",
207
+ name: "Polymarket Wallet P&L",
208
+ partner: "Predexon",
209
+ description: "Get P&L history and realized profit/loss time series for a Polymarket wallet. " +
210
+ "Use this when the user wants to see how a wallet has performed over time.",
211
+ proxyPath: "/pm/polymarket/wallet/pnl/:wallet",
212
+ method: "GET",
213
+ params: [
214
+ {
215
+ name: "wallet",
216
+ type: "string",
217
+ description: "Ethereum wallet address (0x...)",
218
+ required: true,
219
+ },
220
+ ],
221
+ pricing: { perUnit: "$0.005", unit: "request", minimum: "$0.005", maximum: "$0.005" },
222
+ example: {
223
+ input: { wallet: "0x1234...abcd" },
224
+ description: "Get P&L history for a Polymarket wallet",
225
+ },
226
+ },
227
+ {
228
+ id: "predexon_matching_markets",
229
+ name: "Cross-Market Matching (Polymarket vs Kalshi)",
230
+ partner: "Predexon",
231
+ description: "Find equivalent markets across Polymarket and Kalshi to compare odds and spot arbitrage. " +
232
+ "Use this when the user wants to compare prediction market prices across platforms.",
233
+ proxyPath: "/pm/matching-markets",
234
+ method: "GET",
235
+ params: [
236
+ {
237
+ name: "limit",
238
+ type: "number",
239
+ description: "Number of matched pairs to return (default: 20)",
240
+ required: false,
241
+ },
242
+ ],
243
+ pricing: { perUnit: "$0.005", unit: "request", minimum: "$0.005", maximum: "$0.005" },
244
+ example: {
245
+ input: { limit: 10 },
246
+ description: "Compare equivalent markets on Polymarket vs Kalshi",
247
+ },
248
+ },
249
+ ];
250
+ /**
251
+ * Get a partner service by ID.
252
+ */
253
+ export function getPartnerService(id) {
254
+ return PARTNER_SERVICES.find((s) => s.id === id);
255
+ }
256
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/partners/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Partner Tool Builder
3
+ *
4
+ * Converts partner service definitions into OpenClaw tool definitions.
5
+ * Each tool's execute() calls through the local proxy which handles
6
+ * x402 payment transparently using the same wallet.
7
+ */
8
+ /** OpenClaw tool definition shape (duck-typed) */
9
+ export type PartnerToolDefinition = {
10
+ name: string;
11
+ description: string;
12
+ parameters: {
13
+ type: "object";
14
+ properties: Record<string, unknown>;
15
+ required: string[];
16
+ };
17
+ execute: (toolCallId: string, params: Record<string, unknown>) => Promise<unknown>;
18
+ };
19
+ /**
20
+ * Build OpenClaw tool definitions for all registered partner services.
21
+ * @param proxyBaseUrl - Local proxy base URL (e.g., "http://127.0.0.1:8402")
22
+ */
23
+ export declare function buildPartnerTools(proxyBaseUrl: string): PartnerToolDefinition[];
24
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/partners/tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,kDAAkD;AAClD,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF,CAAC;AA6FF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,EAAE,CAE/E"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Partner Tool Builder
3
+ *
4
+ * Converts partner service definitions into OpenClaw tool definitions.
5
+ * Each tool's execute() calls through the local proxy which handles
6
+ * x402 payment transparently using the same wallet.
7
+ */
8
+ import { PARTNER_SERVICES } from "./registry.js";
9
+ /**
10
+ * Build a single partner tool from a service definition.
11
+ */
12
+ function buildTool(service, proxyBaseUrl) {
13
+ // Build JSON Schema properties from service params
14
+ const properties = {};
15
+ const required = [];
16
+ for (const param of service.params) {
17
+ const prop = {
18
+ description: param.description,
19
+ };
20
+ if (param.type === "string[]") {
21
+ prop.type = "array";
22
+ prop.items = { type: "string" };
23
+ }
24
+ else {
25
+ prop.type = param.type;
26
+ }
27
+ properties[param.name] = prop;
28
+ if (param.required) {
29
+ required.push(param.name);
30
+ }
31
+ }
32
+ return {
33
+ name: `blockrun_${service.id}`,
34
+ description: [
35
+ service.description,
36
+ "",
37
+ `Partner: ${service.partner}`,
38
+ `Pricing: ${service.pricing.perUnit} per ${service.pricing.unit} (min: ${service.pricing.minimum}, max: ${service.pricing.maximum})`,
39
+ ].join("\n"),
40
+ parameters: {
41
+ type: "object",
42
+ properties,
43
+ required,
44
+ },
45
+ execute: async (_toolCallId, params) => {
46
+ // Build URL: substitute :pathParam placeholders, remaining params become query string (GET) or body (POST)
47
+ let path = `/v1${service.proxyPath}`;
48
+ const leftoverParams = {};
49
+ for (const [key, value] of Object.entries(params)) {
50
+ if (value === undefined || value === null)
51
+ continue;
52
+ const placeholder = `:${key}`;
53
+ if (path.includes(placeholder)) {
54
+ path = path.replace(placeholder, encodeURIComponent(String(value)));
55
+ }
56
+ else {
57
+ leftoverParams[key] = value;
58
+ }
59
+ }
60
+ let url = `${proxyBaseUrl}${path}`;
61
+ if (service.method === "GET" && Object.keys(leftoverParams).length > 0) {
62
+ const qs = new URLSearchParams();
63
+ for (const [key, value] of Object.entries(leftoverParams)) {
64
+ qs.set(key, Array.isArray(value) ? value.join(",") : String(value));
65
+ }
66
+ url += `?${qs.toString()}`;
67
+ }
68
+ const response = await fetch(url, {
69
+ method: service.method,
70
+ headers: { "Content-Type": "application/json" },
71
+ body: service.method === "POST" ? JSON.stringify(params) : undefined,
72
+ });
73
+ if (!response.ok) {
74
+ const errText = await response.text().catch(() => "");
75
+ throw new Error(`Partner API error (${response.status}): ${errText || response.statusText}`);
76
+ }
77
+ const data = await response.json();
78
+ return {
79
+ content: [
80
+ {
81
+ type: "text",
82
+ text: JSON.stringify(data, null, 2),
83
+ },
84
+ ],
85
+ details: data,
86
+ };
87
+ },
88
+ };
89
+ }
90
+ /**
91
+ * Build OpenClaw tool definitions for all registered partner services.
92
+ * @param proxyBaseUrl - Local proxy base URL (e.g., "http://127.0.0.1:8402")
93
+ */
94
+ export function buildPartnerTools(proxyBaseUrl) {
95
+ return PARTNER_SERVICES.map((service) => buildTool(service, proxyBaseUrl));
96
+ }
97
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/partners/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Payment Pre-Auth Cache
3
+ *
4
+ * Wraps the @x402/fetch SDK with pre-authorization caching.
5
+ * After the first 402 response, caches payment requirements per endpoint.
6
+ * On subsequent requests, pre-signs payment and attaches it to the first
7
+ * request, skipping the 402 round trip (~200ms savings per request).
8
+ *
9
+ * Falls back to normal 402 flow if pre-signed payment is rejected.
10
+ */
11
+ import type { x402Client } from "@x402/fetch";
12
+ type FetchFn = (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>;
13
+ export declare function createPayFetchWithPreAuth(baseFetch: FetchFn, client: x402Client, ttlMs?: number, options?: {
14
+ skipPreAuth?: boolean;
15
+ }): FetchFn;
16
+ export {};
17
+ //# sourceMappingURL=payment-preauth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-preauth.d.ts","sourceRoot":"","sources":["../src/payment-preauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAY9C,KAAK,OAAO,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEnF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,SAAiB,EACtB,OAAO,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAClC,OAAO,CA+FT"}