clodds 1.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 (1719) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +468 -0
  3. package/dist/acp/agreement.d.ts +110 -0
  4. package/dist/acp/agreement.js +514 -0
  5. package/dist/acp/agreement.js.map +1 -0
  6. package/dist/acp/discovery.d.ts +84 -0
  7. package/dist/acp/discovery.js +332 -0
  8. package/dist/acp/discovery.js.map +1 -0
  9. package/dist/acp/escrow.d.ts +139 -0
  10. package/dist/acp/escrow.js +880 -0
  11. package/dist/acp/escrow.js.map +1 -0
  12. package/dist/acp/identity.d.ts +135 -0
  13. package/dist/acp/identity.js +716 -0
  14. package/dist/acp/identity.js.map +1 -0
  15. package/dist/acp/index.d.ts +205 -0
  16. package/dist/acp/index.js +583 -0
  17. package/dist/acp/index.js.map +1 -0
  18. package/dist/acp/persistence.d.ts +59 -0
  19. package/dist/acp/persistence.js +590 -0
  20. package/dist/acp/persistence.js.map +1 -0
  21. package/dist/acp/predictions.d.ts +89 -0
  22. package/dist/acp/predictions.js +417 -0
  23. package/dist/acp/predictions.js.map +1 -0
  24. package/dist/acp/registry.d.ts +143 -0
  25. package/dist/acp/registry.js +584 -0
  26. package/dist/acp/registry.js.map +1 -0
  27. package/dist/agents/handlers/acp.d.ts +12 -0
  28. package/dist/agents/handlers/acp.js +987 -0
  29. package/dist/agents/handlers/acp.js.map +1 -0
  30. package/dist/agents/handlers/agentbets.d.ts +8 -0
  31. package/dist/agents/handlers/agentbets.js +63 -0
  32. package/dist/agents/handlers/agentbets.js.map +1 -0
  33. package/dist/agents/handlers/arbitrage.d.ts +16 -0
  34. package/dist/agents/handlers/arbitrage.js +187 -0
  35. package/dist/agents/handlers/arbitrage.js.map +1 -0
  36. package/dist/agents/handlers/betfair.d.ts +11 -0
  37. package/dist/agents/handlers/betfair.js +214 -0
  38. package/dist/agents/handlers/betfair.js.map +1 -0
  39. package/dist/agents/handlers/binance.d.ts +9 -0
  40. package/dist/agents/handlers/binance.js +227 -0
  41. package/dist/agents/handlers/binance.js.map +1 -0
  42. package/dist/agents/handlers/bittensor.d.ts +10 -0
  43. package/dist/agents/handlers/bittensor.js +90 -0
  44. package/dist/agents/handlers/bittensor.js.map +1 -0
  45. package/dist/agents/handlers/bybit.d.ts +9 -0
  46. package/dist/agents/handlers/bybit.js +226 -0
  47. package/dist/agents/handlers/bybit.js.map +1 -0
  48. package/dist/agents/handlers/credentials.d.ts +8 -0
  49. package/dist/agents/handlers/credentials.js +103 -0
  50. package/dist/agents/handlers/credentials.js.map +1 -0
  51. package/dist/agents/handlers/hyperliquid.d.ts +9 -0
  52. package/dist/agents/handlers/hyperliquid.js +326 -0
  53. package/dist/agents/handlers/hyperliquid.js.map +1 -0
  54. package/dist/agents/handlers/index.d.ts +82 -0
  55. package/dist/agents/handlers/index.js +143 -0
  56. package/dist/agents/handlers/index.js.map +1 -0
  57. package/dist/agents/handlers/kalshi.d.ts +10 -0
  58. package/dist/agents/handlers/kalshi.js +1377 -0
  59. package/dist/agents/handlers/kalshi.js.map +1 -0
  60. package/dist/agents/handlers/manifold.d.ts +9 -0
  61. package/dist/agents/handlers/manifold.js +1001 -0
  62. package/dist/agents/handlers/manifold.js.map +1 -0
  63. package/dist/agents/handlers/markets.d.ts +8 -0
  64. package/dist/agents/handlers/markets.js +321 -0
  65. package/dist/agents/handlers/markets.js.map +1 -0
  66. package/dist/agents/handlers/opinion.d.ts +11 -0
  67. package/dist/agents/handlers/opinion.js +374 -0
  68. package/dist/agents/handlers/opinion.js.map +1 -0
  69. package/dist/agents/handlers/paper-trading.d.ts +8 -0
  70. package/dist/agents/handlers/paper-trading.js +124 -0
  71. package/dist/agents/handlers/paper-trading.js.map +1 -0
  72. package/dist/agents/handlers/polymarket.d.ts +17 -0
  73. package/dist/agents/handlers/polymarket.js +455 -0
  74. package/dist/agents/handlers/polymarket.js.map +1 -0
  75. package/dist/agents/handlers/predictfun.d.ts +9 -0
  76. package/dist/agents/handlers/predictfun.js +488 -0
  77. package/dist/agents/handlers/predictfun.js.map +1 -0
  78. package/dist/agents/handlers/smarkets.d.ts +11 -0
  79. package/dist/agents/handlers/smarkets.js +205 -0
  80. package/dist/agents/handlers/smarkets.js.map +1 -0
  81. package/dist/agents/handlers/solana.d.ts +14 -0
  82. package/dist/agents/handlers/solana.js +1530 -0
  83. package/dist/agents/handlers/solana.js.map +1 -0
  84. package/dist/agents/handlers/types.d.ts +58 -0
  85. package/dist/agents/handlers/types.js +34 -0
  86. package/dist/agents/handlers/types.js.map +1 -0
  87. package/dist/agents/handlers/virtuals.d.ts +11 -0
  88. package/dist/agents/handlers/virtuals.js +135 -0
  89. package/dist/agents/handlers/virtuals.js.map +1 -0
  90. package/dist/agents/handlers/wallets.d.ts +9 -0
  91. package/dist/agents/handlers/wallets.js +222 -0
  92. package/dist/agents/handlers/wallets.js.map +1 -0
  93. package/dist/agents/index.d.ts +79 -0
  94. package/dist/agents/index.js +16690 -0
  95. package/dist/agents/index.js.map +1 -0
  96. package/dist/agents/subagents.d.ts +219 -0
  97. package/dist/agents/subagents.js +736 -0
  98. package/dist/agents/subagents.js.map +1 -0
  99. package/dist/alerts/index.d.ts +110 -0
  100. package/dist/alerts/index.js +421 -0
  101. package/dist/alerts/index.js.map +1 -0
  102. package/dist/alerts/realtime.d.ts +114 -0
  103. package/dist/alerts/realtime.js +262 -0
  104. package/dist/alerts/realtime.js.map +1 -0
  105. package/dist/api/apikeys.d.ts +74 -0
  106. package/dist/api/apikeys.js +319 -0
  107. package/dist/api/apikeys.js.map +1 -0
  108. package/dist/api/compute/code.d.ts +28 -0
  109. package/dist/api/compute/code.js +257 -0
  110. package/dist/api/compute/code.js.map +1 -0
  111. package/dist/api/compute/data.d.ts +72 -0
  112. package/dist/api/compute/data.js +264 -0
  113. package/dist/api/compute/data.js.map +1 -0
  114. package/dist/api/compute/gateway.d.ts +185 -0
  115. package/dist/api/compute/gateway.js +958 -0
  116. package/dist/api/compute/gateway.js.map +1 -0
  117. package/dist/api/compute/index.d.ts +21 -0
  118. package/dist/api/compute/index.js +46 -0
  119. package/dist/api/compute/index.js.map +1 -0
  120. package/dist/api/compute/llm.d.ts +64 -0
  121. package/dist/api/compute/llm.js +602 -0
  122. package/dist/api/compute/llm.js.map +1 -0
  123. package/dist/api/compute/persistence.d.ts +77 -0
  124. package/dist/api/compute/persistence.js +251 -0
  125. package/dist/api/compute/persistence.js.map +1 -0
  126. package/dist/api/compute/storage.d.ts +48 -0
  127. package/dist/api/compute/storage.js +283 -0
  128. package/dist/api/compute/storage.js.map +1 -0
  129. package/dist/api/compute/trade.d.ts +69 -0
  130. package/dist/api/compute/trade.js +460 -0
  131. package/dist/api/compute/trade.js.map +1 -0
  132. package/dist/api/compute/types.d.ts +271 -0
  133. package/dist/api/compute/types.js +87 -0
  134. package/dist/api/compute/types.js.map +1 -0
  135. package/dist/api/compute/web.d.ts +29 -0
  136. package/dist/api/compute/web.js +255 -0
  137. package/dist/api/compute/web.js.map +1 -0
  138. package/dist/api/custody.d.ts +48 -0
  139. package/dist/api/custody.js +272 -0
  140. package/dist/api/custody.js.map +1 -0
  141. package/dist/api/fees.d.ts +91 -0
  142. package/dist/api/fees.js +155 -0
  143. package/dist/api/fees.js.map +1 -0
  144. package/dist/api/gateway.d.ts +40 -0
  145. package/dist/api/gateway.js +569 -0
  146. package/dist/api/gateway.js.map +1 -0
  147. package/dist/api/index.d.ts +29 -0
  148. package/dist/api/index.js +55 -0
  149. package/dist/api/index.js.map +1 -0
  150. package/dist/api/jobs.d.ts +59 -0
  151. package/dist/api/jobs.js +362 -0
  152. package/dist/api/jobs.js.map +1 -0
  153. package/dist/api/middleware.d.ts +60 -0
  154. package/dist/api/middleware.js +315 -0
  155. package/dist/api/middleware.js.map +1 -0
  156. package/dist/api/prompt.d.ts +44 -0
  157. package/dist/api/prompt.js +345 -0
  158. package/dist/api/prompt.js.map +1 -0
  159. package/dist/api/sdk.d.ts +258 -0
  160. package/dist/api/sdk.js +341 -0
  161. package/dist/api/sdk.js.map +1 -0
  162. package/dist/api/server.d.ts +17 -0
  163. package/dist/api/server.js +852 -0
  164. package/dist/api/server.js.map +1 -0
  165. package/dist/api/types.d.ts +307 -0
  166. package/dist/api/types.js +64 -0
  167. package/dist/api/types.js.map +1 -0
  168. package/dist/arbitrage/index.d.ts +124 -0
  169. package/dist/arbitrage/index.js +482 -0
  170. package/dist/arbitrage/index.js.map +1 -0
  171. package/dist/auth/copilot.d.ts +87 -0
  172. package/dist/auth/copilot.js +328 -0
  173. package/dist/auth/copilot.js.map +1 -0
  174. package/dist/auth/google.d.ts +121 -0
  175. package/dist/auth/google.js +479 -0
  176. package/dist/auth/google.js.map +1 -0
  177. package/dist/auth/index.d.ts +8 -0
  178. package/dist/auth/index.js +25 -0
  179. package/dist/auth/index.js.map +1 -0
  180. package/dist/auth/oauth.d.ts +94 -0
  181. package/dist/auth/oauth.js +502 -0
  182. package/dist/auth/oauth.js.map +1 -0
  183. package/dist/auth/qwen.d.ts +110 -0
  184. package/dist/auth/qwen.js +351 -0
  185. package/dist/auth/qwen.js.map +1 -0
  186. package/dist/auto-reply/index.d.ts +143 -0
  187. package/dist/auto-reply/index.js +391 -0
  188. package/dist/auto-reply/index.js.map +1 -0
  189. package/dist/automation/cron.d.ts +66 -0
  190. package/dist/automation/cron.js +226 -0
  191. package/dist/automation/cron.js.map +1 -0
  192. package/dist/automation/heartbeats.d.ts +63 -0
  193. package/dist/automation/heartbeats.js +144 -0
  194. package/dist/automation/heartbeats.js.map +1 -0
  195. package/dist/automation/index.d.ts +9 -0
  196. package/dist/automation/index.js +15 -0
  197. package/dist/automation/index.js.map +1 -0
  198. package/dist/automation/webhooks.d.ts +60 -0
  199. package/dist/automation/webhooks.js +225 -0
  200. package/dist/automation/webhooks.js.map +1 -0
  201. package/dist/bankr/client.d.ts +86 -0
  202. package/dist/bankr/client.js +177 -0
  203. package/dist/bankr/client.js.map +1 -0
  204. package/dist/bankr/index.d.ts +6 -0
  205. package/dist/bankr/index.js +23 -0
  206. package/dist/bankr/index.js.map +1 -0
  207. package/dist/base/index.d.ts +6 -0
  208. package/dist/base/index.js +23 -0
  209. package/dist/base/index.js.map +1 -0
  210. package/dist/base/provider.d.ts +27 -0
  211. package/dist/base/provider.js +128 -0
  212. package/dist/base/provider.js.map +1 -0
  213. package/dist/bin/worker.d.ts +31 -0
  214. package/dist/bin/worker.js +127 -0
  215. package/dist/bin/worker.js.map +1 -0
  216. package/dist/bittensor/chutes.d.ts +14 -0
  217. package/dist/bittensor/chutes.js +141 -0
  218. package/dist/bittensor/chutes.js.map +1 -0
  219. package/dist/bittensor/index.d.ts +7 -0
  220. package/dist/bittensor/index.js +13 -0
  221. package/dist/bittensor/index.js.map +1 -0
  222. package/dist/bittensor/persistence.d.ts +8 -0
  223. package/dist/bittensor/persistence.js +188 -0
  224. package/dist/bittensor/persistence.js.map +1 -0
  225. package/dist/bittensor/plugin.d.ts +30 -0
  226. package/dist/bittensor/plugin.js +134 -0
  227. package/dist/bittensor/plugin.js.map +1 -0
  228. package/dist/bittensor/python-runner.d.ts +7 -0
  229. package/dist/bittensor/python-runner.js +83 -0
  230. package/dist/bittensor/python-runner.js.map +1 -0
  231. package/dist/bittensor/server.d.ts +7 -0
  232. package/dist/bittensor/server.js +110 -0
  233. package/dist/bittensor/server.js.map +1 -0
  234. package/dist/bittensor/service.d.ts +7 -0
  235. package/dist/bittensor/service.js +291 -0
  236. package/dist/bittensor/service.js.map +1 -0
  237. package/dist/bittensor/tool.d.ts +45 -0
  238. package/dist/bittensor/tool.js +147 -0
  239. package/dist/bittensor/tool.js.map +1 -0
  240. package/dist/bittensor/types.d.ts +188 -0
  241. package/dist/bittensor/types.js +6 -0
  242. package/dist/bittensor/types.js.map +1 -0
  243. package/dist/bittensor/wallet.d.ts +18 -0
  244. package/dist/bittensor/wallet.js +192 -0
  245. package/dist/bittensor/wallet.js.map +1 -0
  246. package/dist/bridge/wormhole.d.ts +239 -0
  247. package/dist/bridge/wormhole.js +404 -0
  248. package/dist/bridge/wormhole.js.map +1 -0
  249. package/dist/browser/index.d.ts +67 -0
  250. package/dist/browser/index.js +458 -0
  251. package/dist/browser/index.js.map +1 -0
  252. package/dist/cache/index.d.ts +105 -0
  253. package/dist/cache/index.js +306 -0
  254. package/dist/cache/index.js.map +1 -0
  255. package/dist/canvas/index.d.ts +66 -0
  256. package/dist/canvas/index.js +391 -0
  257. package/dist/canvas/index.js.map +1 -0
  258. package/dist/channels/base-adapter.d.ts +126 -0
  259. package/dist/channels/base-adapter.js +416 -0
  260. package/dist/channels/base-adapter.js.map +1 -0
  261. package/dist/channels/bluebubbles/index.d.ts +23 -0
  262. package/dist/channels/bluebubbles/index.js +182 -0
  263. package/dist/channels/bluebubbles/index.js.map +1 -0
  264. package/dist/channels/discord/index.d.ts +25 -0
  265. package/dist/channels/discord/index.js +419 -0
  266. package/dist/channels/discord/index.js.map +1 -0
  267. package/dist/channels/googlechat/index.d.ts +35 -0
  268. package/dist/channels/googlechat/index.js +223 -0
  269. package/dist/channels/googlechat/index.js.map +1 -0
  270. package/dist/channels/imessage/index.d.ts +28 -0
  271. package/dist/channels/imessage/index.js +340 -0
  272. package/dist/channels/imessage/index.js.map +1 -0
  273. package/dist/channels/index.d.ts +58 -0
  274. package/dist/channels/index.js +382 -0
  275. package/dist/channels/index.js.map +1 -0
  276. package/dist/channels/line/index.d.ts +307 -0
  277. package/dist/channels/line/index.js +760 -0
  278. package/dist/channels/line/index.js.map +1 -0
  279. package/dist/channels/matrix/index.d.ts +35 -0
  280. package/dist/channels/matrix/index.js +328 -0
  281. package/dist/channels/matrix/index.js.map +1 -0
  282. package/dist/channels/mattermost/index.d.ts +25 -0
  283. package/dist/channels/mattermost/index.js +239 -0
  284. package/dist/channels/mattermost/index.js.map +1 -0
  285. package/dist/channels/nextcloud-talk/index.d.ts +25 -0
  286. package/dist/channels/nextcloud-talk/index.js +175 -0
  287. package/dist/channels/nextcloud-talk/index.js.map +1 -0
  288. package/dist/channels/nostr/index.d.ts +21 -0
  289. package/dist/channels/nostr/index.js +278 -0
  290. package/dist/channels/nostr/index.js.map +1 -0
  291. package/dist/channels/signal/index.d.ts +33 -0
  292. package/dist/channels/signal/index.js +333 -0
  293. package/dist/channels/signal/index.js.map +1 -0
  294. package/dist/channels/slack/index.d.ts +26 -0
  295. package/dist/channels/slack/index.js +266 -0
  296. package/dist/channels/slack/index.js.map +1 -0
  297. package/dist/channels/teams/index.d.ts +42 -0
  298. package/dist/channels/teams/index.js +312 -0
  299. package/dist/channels/teams/index.js.map +1 -0
  300. package/dist/channels/telegram/index.d.ts +9 -0
  301. package/dist/channels/telegram/index.js +761 -0
  302. package/dist/channels/telegram/index.js.map +1 -0
  303. package/dist/channels/tlon/index.d.ts +25 -0
  304. package/dist/channels/tlon/index.js +236 -0
  305. package/dist/channels/tlon/index.js.map +1 -0
  306. package/dist/channels/twitch/index.d.ts +25 -0
  307. package/dist/channels/twitch/index.js +182 -0
  308. package/dist/channels/twitch/index.js.map +1 -0
  309. package/dist/channels/voice/index.d.ts +31 -0
  310. package/dist/channels/voice/index.js +208 -0
  311. package/dist/channels/voice/index.js.map +1 -0
  312. package/dist/channels/webchat/index.d.ts +29 -0
  313. package/dist/channels/webchat/index.js +366 -0
  314. package/dist/channels/webchat/index.js.map +1 -0
  315. package/dist/channels/whatsapp/index.d.ts +72 -0
  316. package/dist/channels/whatsapp/index.js +767 -0
  317. package/dist/channels/whatsapp/index.js.map +1 -0
  318. package/dist/channels/zalo/index.d.ts +45 -0
  319. package/dist/channels/zalo/index.js +285 -0
  320. package/dist/channels/zalo/index.js.map +1 -0
  321. package/dist/cli/commands/doctor.d.ts +23 -0
  322. package/dist/cli/commands/doctor.js +649 -0
  323. package/dist/cli/commands/doctor.js.map +1 -0
  324. package/dist/cli/commands/gateway.d.ts +6 -0
  325. package/dist/cli/commands/gateway.js +32 -0
  326. package/dist/cli/commands/gateway.js.map +1 -0
  327. package/dist/cli/commands/index.d.ts +31 -0
  328. package/dist/cli/commands/index.js +3743 -0
  329. package/dist/cli/commands/index.js.map +1 -0
  330. package/dist/cli/commands/onboard.d.ts +4 -0
  331. package/dist/cli/commands/onboard.js +334 -0
  332. package/dist/cli/commands/onboard.js.map +1 -0
  333. package/dist/cli/commands/repl.d.ts +11 -0
  334. package/dist/cli/commands/repl.js +185 -0
  335. package/dist/cli/commands/repl.js.map +1 -0
  336. package/dist/cli/commands/skills.d.ts +29 -0
  337. package/dist/cli/commands/skills.js +297 -0
  338. package/dist/cli/commands/skills.js.map +1 -0
  339. package/dist/cli/index.d.ts +12 -0
  340. package/dist/cli/index.js +449 -0
  341. package/dist/cli/index.js.map +1 -0
  342. package/dist/cli/secure.d.ts +14 -0
  343. package/dist/cli/secure.js +626 -0
  344. package/dist/cli/secure.js.map +1 -0
  345. package/dist/commands/index.d.ts +61 -0
  346. package/dist/commands/index.js +290 -0
  347. package/dist/commands/index.js.map +1 -0
  348. package/dist/commands/registry.d.ts +69 -0
  349. package/dist/commands/registry.js +3142 -0
  350. package/dist/commands/registry.js.map +1 -0
  351. package/dist/config/index.d.ts +465 -0
  352. package/dist/config/index.js +1451 -0
  353. package/dist/config/index.js.map +1 -0
  354. package/dist/credentials/index.d.ts +51 -0
  355. package/dist/credentials/index.js +270 -0
  356. package/dist/credentials/index.js.map +1 -0
  357. package/dist/cron/index.d.ts +151 -0
  358. package/dist/cron/index.js +1283 -0
  359. package/dist/cron/index.js.map +1 -0
  360. package/dist/cron/types.d.ts +102 -0
  361. package/dist/cron/types.js +6 -0
  362. package/dist/cron/types.js.map +1 -0
  363. package/dist/daemon/index.d.ts +23 -0
  364. package/dist/daemon/index.js +159 -0
  365. package/dist/daemon/index.js.map +1 -0
  366. package/dist/db/index.d.ts +825 -0
  367. package/dist/db/index.js +3382 -0
  368. package/dist/db/index.js.map +1 -0
  369. package/dist/db/migrations.d.ts +70 -0
  370. package/dist/db/migrations.js +1373 -0
  371. package/dist/db/migrations.js.map +1 -0
  372. package/dist/docker/index.d.ts +188 -0
  373. package/dist/docker/index.js +571 -0
  374. package/dist/docker/index.js.map +1 -0
  375. package/dist/doctor/index.d.ts +47 -0
  376. package/dist/doctor/index.js +379 -0
  377. package/dist/doctor/index.js.map +1 -0
  378. package/dist/embeddings/index.d.ts +65 -0
  379. package/dist/embeddings/index.js +399 -0
  380. package/dist/embeddings/index.js.map +1 -0
  381. package/dist/evm/contracts.d.ts +112 -0
  382. package/dist/evm/contracts.js +332 -0
  383. package/dist/evm/contracts.js.map +1 -0
  384. package/dist/evm/index.d.ts +21 -0
  385. package/dist/evm/index.js +45 -0
  386. package/dist/evm/index.js.map +1 -0
  387. package/dist/evm/multichain.d.ts +87 -0
  388. package/dist/evm/multichain.js +308 -0
  389. package/dist/evm/multichain.js.map +1 -0
  390. package/dist/evm/odos.d.ts +62 -0
  391. package/dist/evm/odos.js +261 -0
  392. package/dist/evm/odos.js.map +1 -0
  393. package/dist/evm/oneinch.d.ts +55 -0
  394. package/dist/evm/oneinch.js +324 -0
  395. package/dist/evm/oneinch.js.map +1 -0
  396. package/dist/evm/transfers.d.ts +83 -0
  397. package/dist/evm/transfers.js +393 -0
  398. package/dist/evm/transfers.js.map +1 -0
  399. package/dist/evm/uniswap.d.ts +56 -0
  400. package/dist/evm/uniswap.js +307 -0
  401. package/dist/evm/uniswap.js.map +1 -0
  402. package/dist/evm/virtuals.d.ts +220 -0
  403. package/dist/evm/virtuals.js +735 -0
  404. package/dist/evm/virtuals.js.map +1 -0
  405. package/dist/evm/wallet.d.ts +96 -0
  406. package/dist/evm/wallet.js +258 -0
  407. package/dist/evm/wallet.js.map +1 -0
  408. package/dist/exchanges/binance-futures/index.d.ts +83 -0
  409. package/dist/exchanges/binance-futures/index.js +394 -0
  410. package/dist/exchanges/binance-futures/index.js.map +1 -0
  411. package/dist/exchanges/bybit/index.d.ts +78 -0
  412. package/dist/exchanges/bybit/index.js +379 -0
  413. package/dist/exchanges/bybit/index.js.map +1 -0
  414. package/dist/exchanges/hyperliquid/index.d.ts +594 -0
  415. package/dist/exchanges/hyperliquid/index.js +1101 -0
  416. package/dist/exchanges/hyperliquid/index.js.map +1 -0
  417. package/dist/exchanges/mexc/index.d.ts +80 -0
  418. package/dist/exchanges/mexc/index.js +389 -0
  419. package/dist/exchanges/mexc/index.js.map +1 -0
  420. package/dist/exchanges/opinion/index.d.ts +128 -0
  421. package/dist/exchanges/opinion/index.js +443 -0
  422. package/dist/exchanges/opinion/index.js.map +1 -0
  423. package/dist/exchanges/predictfun/index.d.ts +107 -0
  424. package/dist/exchanges/predictfun/index.js +398 -0
  425. package/dist/exchanges/predictfun/index.js.map +1 -0
  426. package/dist/execution/auto-redeem.d.ts +55 -0
  427. package/dist/execution/auto-redeem.js +324 -0
  428. package/dist/execution/auto-redeem.js.map +1 -0
  429. package/dist/execution/bracket-orders.d.ts +84 -0
  430. package/dist/execution/bracket-orders.js +387 -0
  431. package/dist/execution/bracket-orders.js.map +1 -0
  432. package/dist/execution/circuit-breaker.d.ts +87 -0
  433. package/dist/execution/circuit-breaker.js +274 -0
  434. package/dist/execution/circuit-breaker.js.map +1 -0
  435. package/dist/execution/dca-persistence.d.ts +47 -0
  436. package/dist/execution/dca-persistence.js +159 -0
  437. package/dist/execution/dca-persistence.js.map +1 -0
  438. package/dist/execution/dca.d.ts +60 -0
  439. package/dist/execution/dca.js +273 -0
  440. package/dist/execution/dca.js.map +1 -0
  441. package/dist/execution/futures.d.ts +162 -0
  442. package/dist/execution/futures.js +1336 -0
  443. package/dist/execution/futures.js.map +1 -0
  444. package/dist/execution/index.d.ts +346 -0
  445. package/dist/execution/index.js +2532 -0
  446. package/dist/execution/index.js.map +1 -0
  447. package/dist/execution/mev-protection.d.ts +150 -0
  448. package/dist/execution/mev-protection.js +377 -0
  449. package/dist/execution/mev-protection.js.map +1 -0
  450. package/dist/execution/order-persistence.d.ts +81 -0
  451. package/dist/execution/order-persistence.js +350 -0
  452. package/dist/execution/order-persistence.js.map +1 -0
  453. package/dist/execution/position-manager.d.ts +142 -0
  454. package/dist/execution/position-manager.js +404 -0
  455. package/dist/execution/position-manager.js.map +1 -0
  456. package/dist/execution/smart-router.d.ts +90 -0
  457. package/dist/execution/smart-router.js +323 -0
  458. package/dist/execution/smart-router.js.map +1 -0
  459. package/dist/execution/trigger-orders.d.ts +81 -0
  460. package/dist/execution/trigger-orders.js +266 -0
  461. package/dist/execution/trigger-orders.js.map +1 -0
  462. package/dist/execution/twap.d.ts +87 -0
  463. package/dist/execution/twap.js +405 -0
  464. package/dist/execution/twap.js.map +1 -0
  465. package/dist/extensions/copilot-proxy/index.d.ts +49 -0
  466. package/dist/extensions/copilot-proxy/index.js +204 -0
  467. package/dist/extensions/copilot-proxy/index.js.map +1 -0
  468. package/dist/extensions/diagnostics-otel/index.d.ts +54 -0
  469. package/dist/extensions/diagnostics-otel/index.js +290 -0
  470. package/dist/extensions/diagnostics-otel/index.js.map +1 -0
  471. package/dist/extensions/google-auth/index.d.ts +71 -0
  472. package/dist/extensions/google-auth/index.js +350 -0
  473. package/dist/extensions/google-auth/index.js.map +1 -0
  474. package/dist/extensions/index.d.ts +11 -0
  475. package/dist/extensions/index.js +29 -0
  476. package/dist/extensions/index.js.map +1 -0
  477. package/dist/extensions/llm-task/index.d.ts +80 -0
  478. package/dist/extensions/llm-task/index.js +248 -0
  479. package/dist/extensions/llm-task/index.js.map +1 -0
  480. package/dist/extensions/lobster/index.d.ts +69 -0
  481. package/dist/extensions/lobster/index.js +178 -0
  482. package/dist/extensions/lobster/index.js.map +1 -0
  483. package/dist/extensions/memory-lancedb/index.d.ts +62 -0
  484. package/dist/extensions/memory-lancedb/index.js +343 -0
  485. package/dist/extensions/memory-lancedb/index.js.map +1 -0
  486. package/dist/extensions/open-prose/index.d.ts +82 -0
  487. package/dist/extensions/open-prose/index.js +565 -0
  488. package/dist/extensions/open-prose/index.js.map +1 -0
  489. package/dist/extensions/qwen-portal/index.d.ts +48 -0
  490. package/dist/extensions/qwen-portal/index.js +161 -0
  491. package/dist/extensions/qwen-portal/index.js.map +1 -0
  492. package/dist/extensions/task-runner/index.d.ts +121 -0
  493. package/dist/extensions/task-runner/index.js +640 -0
  494. package/dist/extensions/task-runner/index.js.map +1 -0
  495. package/dist/farcaster/client.d.ts +101 -0
  496. package/dist/farcaster/client.js +282 -0
  497. package/dist/farcaster/client.js.map +1 -0
  498. package/dist/farcaster/index.d.ts +4 -0
  499. package/dist/farcaster/index.js +21 -0
  500. package/dist/farcaster/index.js.map +1 -0
  501. package/dist/feeds/acled/index.d.ts +86 -0
  502. package/dist/feeds/acled/index.js +215 -0
  503. package/dist/feeds/acled/index.js.map +1 -0
  504. package/dist/feeds/agentbets/index.d.ts +17 -0
  505. package/dist/feeds/agentbets/index.js +137 -0
  506. package/dist/feeds/agentbets/index.js.map +1 -0
  507. package/dist/feeds/betfair/index.d.ts +132 -0
  508. package/dist/feeds/betfair/index.js +640 -0
  509. package/dist/feeds/betfair/index.js.map +1 -0
  510. package/dist/feeds/crypto/index.d.ts +101 -0
  511. package/dist/feeds/crypto/index.js +506 -0
  512. package/dist/feeds/crypto/index.js.map +1 -0
  513. package/dist/feeds/crypto/whale-tracker.d.ts +138 -0
  514. package/dist/feeds/crypto/whale-tracker.js +685 -0
  515. package/dist/feeds/crypto/whale-tracker.js.map +1 -0
  516. package/dist/feeds/descriptors.d.ts +14 -0
  517. package/dist/feeds/descriptors.js +582 -0
  518. package/dist/feeds/descriptors.js.map +1 -0
  519. package/dist/feeds/drift/index.d.ts +23 -0
  520. package/dist/feeds/drift/index.js +182 -0
  521. package/dist/feeds/drift/index.js.map +1 -0
  522. package/dist/feeds/drift/trading.d.ts +75 -0
  523. package/dist/feeds/drift/trading.js +457 -0
  524. package/dist/feeds/drift/trading.js.map +1 -0
  525. package/dist/feeds/external/index.d.ts +48 -0
  526. package/dist/feeds/external/index.js +575 -0
  527. package/dist/feeds/external/index.js.map +1 -0
  528. package/dist/feeds/fred/index.d.ts +134 -0
  529. package/dist/feeds/fred/index.js +263 -0
  530. package/dist/feeds/fred/index.js.map +1 -0
  531. package/dist/feeds/freshness.d.ts +79 -0
  532. package/dist/feeds/freshness.js +259 -0
  533. package/dist/feeds/freshness.js.map +1 -0
  534. package/dist/feeds/hedgehog/index.d.ts +24 -0
  535. package/dist/feeds/hedgehog/index.js +589 -0
  536. package/dist/feeds/hedgehog/index.js.map +1 -0
  537. package/dist/feeds/hedgehog/types.d.ts +215 -0
  538. package/dist/feeds/hedgehog/types.js +7 -0
  539. package/dist/feeds/hedgehog/types.js.map +1 -0
  540. package/dist/feeds/index.d.ts +38 -0
  541. package/dist/feeds/index.js +469 -0
  542. package/dist/feeds/index.js.map +1 -0
  543. package/dist/feeds/kalshi/index.d.ts +116 -0
  544. package/dist/feeds/kalshi/index.js +970 -0
  545. package/dist/feeds/kalshi/index.js.map +1 -0
  546. package/dist/feeds/manifold/index.d.ts +15 -0
  547. package/dist/feeds/manifold/index.js +269 -0
  548. package/dist/feeds/manifold/index.js.map +1 -0
  549. package/dist/feeds/metaculus/index.d.ts +22 -0
  550. package/dist/feeds/metaculus/index.js +149 -0
  551. package/dist/feeds/metaculus/index.js.map +1 -0
  552. package/dist/feeds/news/index.d.ts +20 -0
  553. package/dist/feeds/news/index.js +308 -0
  554. package/dist/feeds/news/index.js.map +1 -0
  555. package/dist/feeds/opinion/index.d.ts +31 -0
  556. package/dist/feeds/opinion/index.js +389 -0
  557. package/dist/feeds/opinion/index.js.map +1 -0
  558. package/dist/feeds/polymarket/index.d.ts +21 -0
  559. package/dist/feeds/polymarket/index.js +501 -0
  560. package/dist/feeds/polymarket/index.js.map +1 -0
  561. package/dist/feeds/polymarket/rtds.d.ts +40 -0
  562. package/dist/feeds/polymarket/rtds.js +159 -0
  563. package/dist/feeds/polymarket/rtds.js.map +1 -0
  564. package/dist/feeds/polymarket/user-ws.d.ts +64 -0
  565. package/dist/feeds/polymarket/user-ws.js +230 -0
  566. package/dist/feeds/polymarket/user-ws.js.map +1 -0
  567. package/dist/feeds/polymarket/whale-tracker.d.ts +152 -0
  568. package/dist/feeds/polymarket/whale-tracker.js +709 -0
  569. package/dist/feeds/polymarket/whale-tracker.js.map +1 -0
  570. package/dist/feeds/predictfun/index.d.ts +24 -0
  571. package/dist/feeds/predictfun/index.js +234 -0
  572. package/dist/feeds/predictfun/index.js.map +1 -0
  573. package/dist/feeds/predictit/index.d.ts +14 -0
  574. package/dist/feeds/predictit/index.js +88 -0
  575. package/dist/feeds/predictit/index.js.map +1 -0
  576. package/dist/feeds/registry.d.ts +148 -0
  577. package/dist/feeds/registry.js +197 -0
  578. package/dist/feeds/registry.js.map +1 -0
  579. package/dist/feeds/smarkets/index.d.ts +76 -0
  580. package/dist/feeds/smarkets/index.js +415 -0
  581. package/dist/feeds/smarkets/index.js.map +1 -0
  582. package/dist/feeds/virtuals/index.d.ts +92 -0
  583. package/dist/feeds/virtuals/index.js +341 -0
  584. package/dist/feeds/virtuals/index.js.map +1 -0
  585. package/dist/feeds/weather-nws/index.d.ts +73 -0
  586. package/dist/feeds/weather-nws/index.js +162 -0
  587. package/dist/feeds/weather-nws/index.js.map +1 -0
  588. package/dist/feeds/weather-openmeteo/index.d.ts +80 -0
  589. package/dist/feeds/weather-openmeteo/index.js +197 -0
  590. package/dist/feeds/weather-openmeteo/index.js.map +1 -0
  591. package/dist/gateway/alerts-routes.d.ts +15 -0
  592. package/dist/gateway/alerts-routes.js +188 -0
  593. package/dist/gateway/alerts-routes.js.map +1 -0
  594. package/dist/gateway/alt-data-routes.d.ts +15 -0
  595. package/dist/gateway/alt-data-routes.js +67 -0
  596. package/dist/gateway/alt-data-routes.js.map +1 -0
  597. package/dist/gateway/api-routes.d.ts +39 -0
  598. package/dist/gateway/api-routes.js +1028 -0
  599. package/dist/gateway/api-routes.js.map +1 -0
  600. package/dist/gateway/audit-routes.d.ts +8 -0
  601. package/dist/gateway/audit-routes.js +61 -0
  602. package/dist/gateway/audit-routes.js.map +1 -0
  603. package/dist/gateway/bracket-routes.d.ts +12 -0
  604. package/dist/gateway/bracket-routes.js +122 -0
  605. package/dist/gateway/bracket-routes.js.map +1 -0
  606. package/dist/gateway/control-ui.d.ts +45 -0
  607. package/dist/gateway/control-ui.js +301 -0
  608. package/dist/gateway/control-ui.js.map +1 -0
  609. package/dist/gateway/copy-trading-routes.d.ts +12 -0
  610. package/dist/gateway/copy-trading-routes.js +159 -0
  611. package/dist/gateway/copy-trading-routes.js.map +1 -0
  612. package/dist/gateway/cron-routes.d.ts +14 -0
  613. package/dist/gateway/cron-routes.js +132 -0
  614. package/dist/gateway/cron-routes.js.map +1 -0
  615. package/dist/gateway/dca-routes.d.ts +8 -0
  616. package/dist/gateway/dca-routes.js +179 -0
  617. package/dist/gateway/dca-routes.js.map +1 -0
  618. package/dist/gateway/embeddings-routes.d.ts +12 -0
  619. package/dist/gateway/embeddings-routes.js +102 -0
  620. package/dist/gateway/embeddings-routes.js.map +1 -0
  621. package/dist/gateway/feeds-routes.d.ts +34 -0
  622. package/dist/gateway/feeds-routes.js +167 -0
  623. package/dist/gateway/feeds-routes.js.map +1 -0
  624. package/dist/gateway/index.d.ts +100 -0
  625. package/dist/gateway/index.js +2321 -0
  626. package/dist/gateway/index.js.map +1 -0
  627. package/dist/gateway/monitoring-routes.d.ts +12 -0
  628. package/dist/gateway/monitoring-routes.js +73 -0
  629. package/dist/gateway/monitoring-routes.js.map +1 -0
  630. package/dist/gateway/opportunity-routes.d.ts +12 -0
  631. package/dist/gateway/opportunity-routes.js +238 -0
  632. package/dist/gateway/opportunity-routes.js.map +1 -0
  633. package/dist/gateway/payments-routes.d.ts +14 -0
  634. package/dist/gateway/payments-routes.js +82 -0
  635. package/dist/gateway/payments-routes.js.map +1 -0
  636. package/dist/gateway/percolator-routes.d.ts +16 -0
  637. package/dist/gateway/percolator-routes.js +139 -0
  638. package/dist/gateway/percolator-routes.js.map +1 -0
  639. package/dist/gateway/queue-routes.d.ts +12 -0
  640. package/dist/gateway/queue-routes.js +47 -0
  641. package/dist/gateway/queue-routes.js.map +1 -0
  642. package/dist/gateway/risk-routes.d.ts +12 -0
  643. package/dist/gateway/risk-routes.js +119 -0
  644. package/dist/gateway/risk-routes.js.map +1 -0
  645. package/dist/gateway/routing-routes.d.ts +12 -0
  646. package/dist/gateway/routing-routes.js +86 -0
  647. package/dist/gateway/routing-routes.js.map +1 -0
  648. package/dist/gateway/server.d.ts +215 -0
  649. package/dist/gateway/server.js +2287 -0
  650. package/dist/gateway/server.js.map +1 -0
  651. package/dist/gateway/shield-routes.d.ts +8 -0
  652. package/dist/gateway/shield-routes.js +88 -0
  653. package/dist/gateway/shield-routes.js.map +1 -0
  654. package/dist/gateway/signal-bus.d.ts +51 -0
  655. package/dist/gateway/signal-bus.js +64 -0
  656. package/dist/gateway/signal-bus.js.map +1 -0
  657. package/dist/gateway/trigger-routes.d.ts +12 -0
  658. package/dist/gateway/trigger-routes.js +127 -0
  659. package/dist/gateway/trigger-routes.js.map +1 -0
  660. package/dist/gateway/twap-routes.d.ts +12 -0
  661. package/dist/gateway/twap-routes.js +142 -0
  662. package/dist/gateway/twap-routes.js.map +1 -0
  663. package/dist/gateway/webhooks-routes.d.ts +31 -0
  664. package/dist/gateway/webhooks-routes.js +107 -0
  665. package/dist/gateway/webhooks-routes.js.map +1 -0
  666. package/dist/gateway/whale-routes.d.ts +12 -0
  667. package/dist/gateway/whale-routes.js +204 -0
  668. package/dist/gateway/whale-routes.js.map +1 -0
  669. package/dist/history/index.d.ts +81 -0
  670. package/dist/history/index.js +362 -0
  671. package/dist/history/index.js.map +1 -0
  672. package/dist/hooks/index.d.ts +279 -0
  673. package/dist/hooks/index.js +739 -0
  674. package/dist/hooks/index.js.map +1 -0
  675. package/dist/i18n/index.d.ts +65 -0
  676. package/dist/i18n/index.js +183 -0
  677. package/dist/i18n/index.js.map +1 -0
  678. package/dist/identity/erc8004.d.ts +104 -0
  679. package/dist/identity/erc8004.js +493 -0
  680. package/dist/identity/erc8004.js.map +1 -0
  681. package/dist/identity/index.d.ts +1 -0
  682. package/dist/identity/index.js +18 -0
  683. package/dist/identity/index.js.map +1 -0
  684. package/dist/index.d.ts +7 -0
  685. package/dist/index.js +240 -0
  686. package/dist/index.js.map +1 -0
  687. package/dist/infra/index.d.ts +133 -0
  688. package/dist/infra/index.js +481 -0
  689. package/dist/infra/index.js.map +1 -0
  690. package/dist/infra/retry.d.ts +132 -0
  691. package/dist/infra/retry.js +450 -0
  692. package/dist/infra/retry.js.map +1 -0
  693. package/dist/ledger/anchor.d.ts +45 -0
  694. package/dist/ledger/anchor.js +271 -0
  695. package/dist/ledger/anchor.js.map +1 -0
  696. package/dist/ledger/hash.d.ts +26 -0
  697. package/dist/ledger/hash.js +69 -0
  698. package/dist/ledger/hash.js.map +1 -0
  699. package/dist/ledger/hooks.d.ts +107 -0
  700. package/dist/ledger/hooks.js +314 -0
  701. package/dist/ledger/hooks.js.map +1 -0
  702. package/dist/ledger/index.d.ts +67 -0
  703. package/dist/ledger/index.js +221 -0
  704. package/dist/ledger/index.js.map +1 -0
  705. package/dist/ledger/storage.d.ts +57 -0
  706. package/dist/ledger/storage.js +368 -0
  707. package/dist/ledger/storage.js.map +1 -0
  708. package/dist/ledger/types.d.ts +138 -0
  709. package/dist/ledger/types.js +16 -0
  710. package/dist/ledger/types.js.map +1 -0
  711. package/dist/link-understanding/index.d.ts +61 -0
  712. package/dist/link-understanding/index.js +320 -0
  713. package/dist/link-understanding/index.js.map +1 -0
  714. package/dist/logging/index.d.ts +50 -0
  715. package/dist/logging/index.js +255 -0
  716. package/dist/logging/index.js.map +1 -0
  717. package/dist/macos/index.d.ts +143 -0
  718. package/dist/macos/index.js +587 -0
  719. package/dist/macos/index.js.map +1 -0
  720. package/dist/markdown/index.d.ts +43 -0
  721. package/dist/markdown/index.js +305 -0
  722. package/dist/markdown/index.js.map +1 -0
  723. package/dist/market-index/index.d.ts +51 -0
  724. package/dist/market-index/index.js +553 -0
  725. package/dist/market-index/index.js.map +1 -0
  726. package/dist/mcp/index.d.ts +263 -0
  727. package/dist/mcp/index.js +940 -0
  728. package/dist/mcp/index.js.map +1 -0
  729. package/dist/mcp/installer.d.ts +11 -0
  730. package/dist/mcp/installer.js +128 -0
  731. package/dist/mcp/installer.js.map +1 -0
  732. package/dist/mcp/server.d.ts +7 -0
  733. package/dist/mcp/server.js +172 -0
  734. package/dist/mcp/server.js.map +1 -0
  735. package/dist/media/index.d.ts +119 -0
  736. package/dist/media/index.js +740 -0
  737. package/dist/media/index.js.map +1 -0
  738. package/dist/memory/context.d.ts +189 -0
  739. package/dist/memory/context.js +541 -0
  740. package/dist/memory/context.js.map +1 -0
  741. package/dist/memory/index.d.ts +74 -0
  742. package/dist/memory/index.js +352 -0
  743. package/dist/memory/index.js.map +1 -0
  744. package/dist/memory/summarizer.d.ts +10 -0
  745. package/dist/memory/summarizer.js +51 -0
  746. package/dist/memory/summarizer.js.map +1 -0
  747. package/dist/memory/tokenizer.d.ts +4 -0
  748. package/dist/memory/tokenizer.js +61 -0
  749. package/dist/memory/tokenizer.js.map +1 -0
  750. package/dist/messages/unified.d.ts +7 -0
  751. package/dist/messages/unified.js +77 -0
  752. package/dist/messages/unified.js.map +1 -0
  753. package/dist/ml-pipeline/collector.d.ts +23 -0
  754. package/dist/ml-pipeline/collector.js +176 -0
  755. package/dist/ml-pipeline/collector.js.map +1 -0
  756. package/dist/ml-pipeline/index.d.ts +21 -0
  757. package/dist/ml-pipeline/index.js +72 -0
  758. package/dist/ml-pipeline/index.js.map +1 -0
  759. package/dist/ml-pipeline/trainer.d.ts +32 -0
  760. package/dist/ml-pipeline/trainer.js +228 -0
  761. package/dist/ml-pipeline/trainer.js.map +1 -0
  762. package/dist/ml-pipeline/types.d.ts +51 -0
  763. package/dist/ml-pipeline/types.js +23 -0
  764. package/dist/ml-pipeline/types.js.map +1 -0
  765. package/dist/models/adaptive.d.ts +11 -0
  766. package/dist/models/adaptive.js +64 -0
  767. package/dist/models/adaptive.js.map +1 -0
  768. package/dist/models/failover.d.ts +51 -0
  769. package/dist/models/failover.js +151 -0
  770. package/dist/models/failover.js.map +1 -0
  771. package/dist/models/index.d.ts +7 -0
  772. package/dist/models/index.js +13 -0
  773. package/dist/models/index.js.map +1 -0
  774. package/dist/monitoring/alerts.d.ts +185 -0
  775. package/dist/monitoring/alerts.js +565 -0
  776. package/dist/monitoring/alerts.js.map +1 -0
  777. package/dist/monitoring/health.d.ts +151 -0
  778. package/dist/monitoring/health.js +423 -0
  779. package/dist/monitoring/health.js.map +1 -0
  780. package/dist/monitoring/index.d.ts +25 -0
  781. package/dist/monitoring/index.js +258 -0
  782. package/dist/monitoring/index.js.map +1 -0
  783. package/dist/monitoring/metrics.d.ts +147 -0
  784. package/dist/monitoring/metrics.js +519 -0
  785. package/dist/monitoring/metrics.js.map +1 -0
  786. package/dist/nodes/index.d.ts +81 -0
  787. package/dist/nodes/index.js +475 -0
  788. package/dist/nodes/index.js.map +1 -0
  789. package/dist/opportunity/analytics.d.ts +221 -0
  790. package/dist/opportunity/analytics.js +678 -0
  791. package/dist/opportunity/analytics.js.map +1 -0
  792. package/dist/opportunity/combinatorial.d.ts +147 -0
  793. package/dist/opportunity/combinatorial.js +765 -0
  794. package/dist/opportunity/combinatorial.js.map +1 -0
  795. package/dist/opportunity/correlation.d.ts +107 -0
  796. package/dist/opportunity/correlation.js +410 -0
  797. package/dist/opportunity/correlation.js.map +1 -0
  798. package/dist/opportunity/executor.d.ts +108 -0
  799. package/dist/opportunity/executor.js +356 -0
  800. package/dist/opportunity/executor.js.map +1 -0
  801. package/dist/opportunity/index.d.ts +285 -0
  802. package/dist/opportunity/index.js +839 -0
  803. package/dist/opportunity/index.js.map +1 -0
  804. package/dist/opportunity/links.d.ts +87 -0
  805. package/dist/opportunity/links.js +344 -0
  806. package/dist/opportunity/links.js.map +1 -0
  807. package/dist/opportunity/matching.d.ts +101 -0
  808. package/dist/opportunity/matching.js +551 -0
  809. package/dist/opportunity/matching.js.map +1 -0
  810. package/dist/opportunity/outcomes.d.ts +74 -0
  811. package/dist/opportunity/outcomes.js +321 -0
  812. package/dist/opportunity/outcomes.js.map +1 -0
  813. package/dist/opportunity/risk.d.ts +128 -0
  814. package/dist/opportunity/risk.js +381 -0
  815. package/dist/opportunity/risk.js.map +1 -0
  816. package/dist/opportunity/scoring.d.ts +151 -0
  817. package/dist/opportunity/scoring.js +421 -0
  818. package/dist/opportunity/scoring.js.map +1 -0
  819. package/dist/pairing/index.d.ts +108 -0
  820. package/dist/pairing/index.js +431 -0
  821. package/dist/pairing/index.js.map +1 -0
  822. package/dist/payments/index.d.ts +12 -0
  823. package/dist/payments/index.js +34 -0
  824. package/dist/payments/index.js.map +1 -0
  825. package/dist/payments/x402/evm.d.ts +53 -0
  826. package/dist/payments/x402/evm.js +282 -0
  827. package/dist/payments/x402/evm.js.map +1 -0
  828. package/dist/payments/x402/index.d.ts +158 -0
  829. package/dist/payments/x402/index.js +531 -0
  830. package/dist/payments/x402/index.js.map +1 -0
  831. package/dist/payments/x402/solana.d.ts +51 -0
  832. package/dist/payments/x402/solana.js +397 -0
  833. package/dist/payments/x402/solana.js.map +1 -0
  834. package/dist/percolator/accounts.d.ts +21 -0
  835. package/dist/percolator/accounts.js +76 -0
  836. package/dist/percolator/accounts.js.map +1 -0
  837. package/dist/percolator/encode.d.ts +14 -0
  838. package/dist/percolator/encode.js +90 -0
  839. package/dist/percolator/encode.js.map +1 -0
  840. package/dist/percolator/execution.d.ts +29 -0
  841. package/dist/percolator/execution.js +239 -0
  842. package/dist/percolator/execution.js.map +1 -0
  843. package/dist/percolator/feed.d.ts +15 -0
  844. package/dist/percolator/feed.js +160 -0
  845. package/dist/percolator/feed.js.map +1 -0
  846. package/dist/percolator/index.d.ts +20 -0
  847. package/dist/percolator/index.js +24 -0
  848. package/dist/percolator/index.js.map +1 -0
  849. package/dist/percolator/instructions.d.ts +29 -0
  850. package/dist/percolator/instructions.js +52 -0
  851. package/dist/percolator/instructions.js.map +1 -0
  852. package/dist/percolator/keeper.d.ts +11 -0
  853. package/dist/percolator/keeper.js +83 -0
  854. package/dist/percolator/keeper.js.map +1 -0
  855. package/dist/percolator/pda.d.ts +15 -0
  856. package/dist/percolator/pda.js +26 -0
  857. package/dist/percolator/pda.js.map +1 -0
  858. package/dist/percolator/slab.d.ts +122 -0
  859. package/dist/percolator/slab.js +325 -0
  860. package/dist/percolator/slab.js.map +1 -0
  861. package/dist/percolator/tx.d.ts +27 -0
  862. package/dist/percolator/tx.js +77 -0
  863. package/dist/percolator/tx.js.map +1 -0
  864. package/dist/percolator/types.d.ts +51 -0
  865. package/dist/percolator/types.js +9 -0
  866. package/dist/percolator/types.js.map +1 -0
  867. package/dist/permissions/index.d.ts +262 -0
  868. package/dist/permissions/index.js +929 -0
  869. package/dist/permissions/index.js.map +1 -0
  870. package/dist/plugins/index.d.ts +158 -0
  871. package/dist/plugins/index.js +444 -0
  872. package/dist/plugins/index.js.map +1 -0
  873. package/dist/portfolio/index.d.ts +170 -0
  874. package/dist/portfolio/index.js +970 -0
  875. package/dist/portfolio/index.js.map +1 -0
  876. package/dist/presence/index.d.ts +34 -0
  877. package/dist/presence/index.js +124 -0
  878. package/dist/presence/index.js.map +1 -0
  879. package/dist/process/index.d.ts +82 -0
  880. package/dist/process/index.js +402 -0
  881. package/dist/process/index.js.map +1 -0
  882. package/dist/providers/discovery.d.ts +209 -0
  883. package/dist/providers/discovery.js +751 -0
  884. package/dist/providers/discovery.js.map +1 -0
  885. package/dist/providers/health.d.ts +27 -0
  886. package/dist/providers/health.js +80 -0
  887. package/dist/providers/health.js.map +1 -0
  888. package/dist/providers/index.d.ts +154 -0
  889. package/dist/providers/index.js +897 -0
  890. package/dist/providers/index.js.map +1 -0
  891. package/dist/queue/index.d.ts +36 -0
  892. package/dist/queue/index.js +146 -0
  893. package/dist/queue/index.js.map +1 -0
  894. package/dist/queue/jobs/index.d.ts +11 -0
  895. package/dist/queue/jobs/index.js +32 -0
  896. package/dist/queue/jobs/index.js.map +1 -0
  897. package/dist/queue/jobs/producer.d.ts +43 -0
  898. package/dist/queue/jobs/producer.js +233 -0
  899. package/dist/queue/jobs/producer.js.map +1 -0
  900. package/dist/queue/jobs/types.d.ts +128 -0
  901. package/dist/queue/jobs/types.js +14 -0
  902. package/dist/queue/jobs/types.js.map +1 -0
  903. package/dist/queue/jobs/worker.d.ts +22 -0
  904. package/dist/queue/jobs/worker.js +220 -0
  905. package/dist/queue/jobs/worker.js.map +1 -0
  906. package/dist/remote/index.d.ts +136 -0
  907. package/dist/remote/index.js +456 -0
  908. package/dist/remote/index.js.map +1 -0
  909. package/dist/risk/circuit-breaker.d.ts +99 -0
  910. package/dist/risk/circuit-breaker.js +300 -0
  911. package/dist/risk/circuit-breaker.js.map +1 -0
  912. package/dist/risk/dashboard.d.ts +69 -0
  913. package/dist/risk/dashboard.js +127 -0
  914. package/dist/risk/dashboard.js.map +1 -0
  915. package/dist/risk/engine.d.ts +128 -0
  916. package/dist/risk/engine.js +311 -0
  917. package/dist/risk/engine.js.map +1 -0
  918. package/dist/risk/index.d.ts +10 -0
  919. package/dist/risk/index.js +38 -0
  920. package/dist/risk/index.js.map +1 -0
  921. package/dist/risk/stress.d.ts +70 -0
  922. package/dist/risk/stress.js +215 -0
  923. package/dist/risk/stress.js.map +1 -0
  924. package/dist/risk/var.d.ts +72 -0
  925. package/dist/risk/var.js +173 -0
  926. package/dist/risk/var.js.map +1 -0
  927. package/dist/risk/volatility.d.ts +61 -0
  928. package/dist/risk/volatility.js +132 -0
  929. package/dist/risk/volatility.js.map +1 -0
  930. package/dist/routing/index.d.ts +116 -0
  931. package/dist/routing/index.js +371 -0
  932. package/dist/routing/index.js.map +1 -0
  933. package/dist/search/index.d.ts +30 -0
  934. package/dist/search/index.js +129 -0
  935. package/dist/search/index.js.map +1 -0
  936. package/dist/security/address-checker.d.ts +6 -0
  937. package/dist/security/address-checker.js +213 -0
  938. package/dist/security/address-checker.js.map +1 -0
  939. package/dist/security/code-scanner.d.ts +3 -0
  940. package/dist/security/code-scanner.js +190 -0
  941. package/dist/security/code-scanner.js.map +1 -0
  942. package/dist/security/index.d.ts +176 -0
  943. package/dist/security/index.js +498 -0
  944. package/dist/security/index.js.map +1 -0
  945. package/dist/security/sanitizer.d.ts +2 -0
  946. package/dist/security/sanitizer.js +135 -0
  947. package/dist/security/sanitizer.js.map +1 -0
  948. package/dist/security/scam-db.d.ts +5 -0
  949. package/dist/security/scam-db.js +116 -0
  950. package/dist/security/scam-db.js.map +1 -0
  951. package/dist/security/shield.d.ts +12 -0
  952. package/dist/security/shield.js +80 -0
  953. package/dist/security/shield.js.map +1 -0
  954. package/dist/security/tx-validator.d.ts +5 -0
  955. package/dist/security/tx-validator.js +115 -0
  956. package/dist/security/tx-validator.js.map +1 -0
  957. package/dist/security/types.d.ts +84 -0
  958. package/dist/security/types.js +6 -0
  959. package/dist/security/types.js.map +1 -0
  960. package/dist/services/alt-data/feeds/fear-greed.d.ts +14 -0
  961. package/dist/services/alt-data/feeds/fear-greed.js +81 -0
  962. package/dist/services/alt-data/feeds/fear-greed.js.map +1 -0
  963. package/dist/services/alt-data/feeds/funding-rates.d.ts +13 -0
  964. package/dist/services/alt-data/feeds/funding-rates.js +90 -0
  965. package/dist/services/alt-data/feeds/funding-rates.js.map +1 -0
  966. package/dist/services/alt-data/feeds/reddit.d.ts +13 -0
  967. package/dist/services/alt-data/feeds/reddit.js +112 -0
  968. package/dist/services/alt-data/feeds/reddit.js.map +1 -0
  969. package/dist/services/alt-data/index.d.ts +31 -0
  970. package/dist/services/alt-data/index.js +278 -0
  971. package/dist/services/alt-data/index.js.map +1 -0
  972. package/dist/services/alt-data/market-matcher.d.ts +29 -0
  973. package/dist/services/alt-data/market-matcher.js +157 -0
  974. package/dist/services/alt-data/market-matcher.js.map +1 -0
  975. package/dist/services/alt-data/sentiment.d.ts +11 -0
  976. package/dist/services/alt-data/sentiment.js +277 -0
  977. package/dist/services/alt-data/sentiment.js.map +1 -0
  978. package/dist/services/alt-data/types.d.ts +86 -0
  979. package/dist/services/alt-data/types.js +9 -0
  980. package/dist/services/alt-data/types.js.map +1 -0
  981. package/dist/services/feature-engineering/accessor.d.ts +19 -0
  982. package/dist/services/feature-engineering/accessor.js +31 -0
  983. package/dist/services/feature-engineering/accessor.js.map +1 -0
  984. package/dist/services/feature-engineering/index.d.ts +15 -0
  985. package/dist/services/feature-engineering/index.js +345 -0
  986. package/dist/services/feature-engineering/index.js.map +1 -0
  987. package/dist/services/feature-engineering/indicators.d.ts +90 -0
  988. package/dist/services/feature-engineering/indicators.js +254 -0
  989. package/dist/services/feature-engineering/indicators.js.map +1 -0
  990. package/dist/services/feature-engineering/rolling-window.d.ts +89 -0
  991. package/dist/services/feature-engineering/rolling-window.js +173 -0
  992. package/dist/services/feature-engineering/rolling-window.js.map +1 -0
  993. package/dist/services/feature-engineering/thresholds.d.ts +137 -0
  994. package/dist/services/feature-engineering/thresholds.js +280 -0
  995. package/dist/services/feature-engineering/thresholds.js.map +1 -0
  996. package/dist/services/feature-engineering/types.d.ts +138 -0
  997. package/dist/services/feature-engineering/types.js +6 -0
  998. package/dist/services/feature-engineering/types.js.map +1 -0
  999. package/dist/services/tick-recorder/index.d.ts +12 -0
  1000. package/dist/services/tick-recorder/index.js +200 -0
  1001. package/dist/services/tick-recorder/index.js.map +1 -0
  1002. package/dist/services/tick-recorder/queries.d.ts +46 -0
  1003. package/dist/services/tick-recorder/queries.js +291 -0
  1004. package/dist/services/tick-recorder/queries.js.map +1 -0
  1005. package/dist/services/tick-recorder/schema.d.ts +27 -0
  1006. package/dist/services/tick-recorder/schema.js +185 -0
  1007. package/dist/services/tick-recorder/schema.js.map +1 -0
  1008. package/dist/services/tick-recorder/timescale.d.ts +27 -0
  1009. package/dist/services/tick-recorder/timescale.js +105 -0
  1010. package/dist/services/tick-recorder/timescale.js.map +1 -0
  1011. package/dist/services/tick-recorder/types.d.ts +113 -0
  1012. package/dist/services/tick-recorder/types.js +7 -0
  1013. package/dist/services/tick-recorder/types.js.map +1 -0
  1014. package/dist/services/tick-streamer/index.d.ts +12 -0
  1015. package/dist/services/tick-streamer/index.js +317 -0
  1016. package/dist/services/tick-streamer/index.js.map +1 -0
  1017. package/dist/services/tick-streamer/types.d.ts +134 -0
  1018. package/dist/services/tick-streamer/types.js +6 -0
  1019. package/dist/services/tick-streamer/types.js.map +1 -0
  1020. package/dist/session/index.d.ts +147 -0
  1021. package/dist/session/index.js +429 -0
  1022. package/dist/session/index.js.map +1 -0
  1023. package/dist/sessions/index.d.ts +69 -0
  1024. package/dist/sessions/index.js +447 -0
  1025. package/dist/sessions/index.js.map +1 -0
  1026. package/dist/signal-router/index.d.ts +2 -0
  1027. package/dist/signal-router/index.js +6 -0
  1028. package/dist/signal-router/index.js.map +1 -0
  1029. package/dist/signal-router/router.d.ts +25 -0
  1030. package/dist/signal-router/router.js +391 -0
  1031. package/dist/signal-router/router.js.map +1 -0
  1032. package/dist/signal-router/types.d.ts +64 -0
  1033. package/dist/signal-router/types.js +9 -0
  1034. package/dist/signal-router/types.js.map +1 -0
  1035. package/dist/skills/bundled/acp/index.d.ts +25 -0
  1036. package/dist/skills/bundled/acp/index.js +472 -0
  1037. package/dist/skills/bundled/acp/index.js.map +1 -0
  1038. package/dist/skills/bundled/agentbets/index.d.ts +15 -0
  1039. package/dist/skills/bundled/agentbets/index.js +168 -0
  1040. package/dist/skills/bundled/agentbets/index.js.map +1 -0
  1041. package/dist/skills/bundled/ai-strategy/index.d.ts +21 -0
  1042. package/dist/skills/bundled/ai-strategy/index.js +647 -0
  1043. package/dist/skills/bundled/ai-strategy/index.js.map +1 -0
  1044. package/dist/skills/bundled/alerts/index.d.ts +20 -0
  1045. package/dist/skills/bundled/alerts/index.js +249 -0
  1046. package/dist/skills/bundled/alerts/index.js.map +1 -0
  1047. package/dist/skills/bundled/analytics/index.d.ts +17 -0
  1048. package/dist/skills/bundled/analytics/index.js +112 -0
  1049. package/dist/skills/bundled/analytics/index.js.map +1 -0
  1050. package/dist/skills/bundled/arbitrage/index.d.ts +24 -0
  1051. package/dist/skills/bundled/arbitrage/index.js +253 -0
  1052. package/dist/skills/bundled/arbitrage/index.js.map +1 -0
  1053. package/dist/skills/bundled/auto-reply/index.d.ts +18 -0
  1054. package/dist/skills/bundled/auto-reply/index.js +215 -0
  1055. package/dist/skills/bundled/auto-reply/index.js.map +1 -0
  1056. package/dist/skills/bundled/automation/index.d.ts +19 -0
  1057. package/dist/skills/bundled/automation/index.js +160 -0
  1058. package/dist/skills/bundled/automation/index.js.map +1 -0
  1059. package/dist/skills/bundled/backtest/index.d.ts +18 -0
  1060. package/dist/skills/bundled/backtest/index.js +250 -0
  1061. package/dist/skills/bundled/backtest/index.js.map +1 -0
  1062. package/dist/skills/bundled/bags/index.d.ts +49 -0
  1063. package/dist/skills/bundled/bags/index.js +1069 -0
  1064. package/dist/skills/bundled/bags/index.js.map +1 -0
  1065. package/dist/skills/bundled/bankr/index.d.ts +161 -0
  1066. package/dist/skills/bundled/bankr/index.js +271 -0
  1067. package/dist/skills/bundled/bankr/index.js.map +1 -0
  1068. package/dist/skills/bundled/betfair/index.d.ts +24 -0
  1069. package/dist/skills/bundled/betfair/index.js +511 -0
  1070. package/dist/skills/bundled/betfair/index.js.map +1 -0
  1071. package/dist/skills/bundled/binance-futures/index.d.ts +15 -0
  1072. package/dist/skills/bundled/binance-futures/index.js +485 -0
  1073. package/dist/skills/bundled/binance-futures/index.js.map +1 -0
  1074. package/dist/skills/bundled/botchan/index.d.ts +130 -0
  1075. package/dist/skills/bundled/botchan/index.js +427 -0
  1076. package/dist/skills/bundled/botchan/index.js.map +1 -0
  1077. package/dist/skills/bundled/bridge/index.d.ts +17 -0
  1078. package/dist/skills/bundled/bridge/index.js +297 -0
  1079. package/dist/skills/bundled/bridge/index.js.map +1 -0
  1080. package/dist/skills/bundled/bybit-futures/index.d.ts +15 -0
  1081. package/dist/skills/bundled/bybit-futures/index.js +380 -0
  1082. package/dist/skills/bundled/bybit-futures/index.js.map +1 -0
  1083. package/dist/skills/bundled/clanker/index.d.ts +236 -0
  1084. package/dist/skills/bundled/clanker/index.js +759 -0
  1085. package/dist/skills/bundled/clanker/index.js.map +1 -0
  1086. package/dist/skills/bundled/copy-trading/index.d.ts +20 -0
  1087. package/dist/skills/bundled/copy-trading/index.js +213 -0
  1088. package/dist/skills/bundled/copy-trading/index.js.map +1 -0
  1089. package/dist/skills/bundled/copy-trading-solana/index.d.ts +21 -0
  1090. package/dist/skills/bundled/copy-trading-solana/index.js +421 -0
  1091. package/dist/skills/bundled/copy-trading-solana/index.js.map +1 -0
  1092. package/dist/skills/bundled/credentials/index.d.ts +17 -0
  1093. package/dist/skills/bundled/credentials/index.js +137 -0
  1094. package/dist/skills/bundled/credentials/index.js.map +1 -0
  1095. package/dist/skills/bundled/crypto-hft/index.d.ts +26 -0
  1096. package/dist/skills/bundled/crypto-hft/index.js +361 -0
  1097. package/dist/skills/bundled/crypto-hft/index.js.map +1 -0
  1098. package/dist/skills/bundled/dca/index.d.ts +26 -0
  1099. package/dist/skills/bundled/dca/index.js +1342 -0
  1100. package/dist/skills/bundled/dca/index.js.map +1 -0
  1101. package/dist/skills/bundled/divergence/index.d.ts +19 -0
  1102. package/dist/skills/bundled/divergence/index.js +272 -0
  1103. package/dist/skills/bundled/divergence/index.js.map +1 -0
  1104. package/dist/skills/bundled/doctor/index.d.ts +18 -0
  1105. package/dist/skills/bundled/doctor/index.js +78 -0
  1106. package/dist/skills/bundled/doctor/index.js.map +1 -0
  1107. package/dist/skills/bundled/drift/index.d.ts +13 -0
  1108. package/dist/skills/bundled/drift/index.js +378 -0
  1109. package/dist/skills/bundled/drift/index.js.map +1 -0
  1110. package/dist/skills/bundled/drift-sdk/index.d.ts +17 -0
  1111. package/dist/skills/bundled/drift-sdk/index.js +501 -0
  1112. package/dist/skills/bundled/drift-sdk/index.js.map +1 -0
  1113. package/dist/skills/bundled/edge/index.d.ts +16 -0
  1114. package/dist/skills/bundled/edge/index.js +91 -0
  1115. package/dist/skills/bundled/edge/index.js.map +1 -0
  1116. package/dist/skills/bundled/embeddings/index.d.ts +19 -0
  1117. package/dist/skills/bundled/embeddings/index.js +215 -0
  1118. package/dist/skills/bundled/embeddings/index.js.map +1 -0
  1119. package/dist/skills/bundled/endaoment/index.d.ts +105 -0
  1120. package/dist/skills/bundled/endaoment/index.js +285 -0
  1121. package/dist/skills/bundled/endaoment/index.js.map +1 -0
  1122. package/dist/skills/bundled/ens/index.d.ts +151 -0
  1123. package/dist/skills/bundled/ens/index.js +278 -0
  1124. package/dist/skills/bundled/ens/index.js.map +1 -0
  1125. package/dist/skills/bundled/erc8004/index.d.ts +123 -0
  1126. package/dist/skills/bundled/erc8004/index.js +301 -0
  1127. package/dist/skills/bundled/erc8004/index.js.map +1 -0
  1128. package/dist/skills/bundled/execution/index.d.ts +18 -0
  1129. package/dist/skills/bundled/execution/index.js +358 -0
  1130. package/dist/skills/bundled/execution/index.js.map +1 -0
  1131. package/dist/skills/bundled/farcaster/index.d.ts +121 -0
  1132. package/dist/skills/bundled/farcaster/index.js +314 -0
  1133. package/dist/skills/bundled/farcaster/index.js.map +1 -0
  1134. package/dist/skills/bundled/features/index.d.ts +17 -0
  1135. package/dist/skills/bundled/features/index.js +305 -0
  1136. package/dist/skills/bundled/features/index.js.map +1 -0
  1137. package/dist/skills/bundled/feeds/index.d.ts +26 -0
  1138. package/dist/skills/bundled/feeds/index.js +462 -0
  1139. package/dist/skills/bundled/feeds/index.js.map +1 -0
  1140. package/dist/skills/bundled/harden/index.d.ts +55 -0
  1141. package/dist/skills/bundled/harden/index.js +510 -0
  1142. package/dist/skills/bundled/harden/index.js.map +1 -0
  1143. package/dist/skills/bundled/history/index.d.ts +21 -0
  1144. package/dist/skills/bundled/history/index.js +195 -0
  1145. package/dist/skills/bundled/history/index.js.map +1 -0
  1146. package/dist/skills/bundled/hyperliquid/index.d.ts +19 -0
  1147. package/dist/skills/bundled/hyperliquid/index.js +1280 -0
  1148. package/dist/skills/bundled/hyperliquid/index.js.map +1 -0
  1149. package/dist/skills/bundled/identity/index.d.ts +17 -0
  1150. package/dist/skills/bundled/identity/index.js +223 -0
  1151. package/dist/skills/bundled/identity/index.js.map +1 -0
  1152. package/dist/skills/bundled/integrations/index.d.ts +17 -0
  1153. package/dist/skills/bundled/integrations/index.js +138 -0
  1154. package/dist/skills/bundled/integrations/index.js.map +1 -0
  1155. package/dist/skills/bundled/jupiter/index.d.ts +41 -0
  1156. package/dist/skills/bundled/jupiter/index.js +872 -0
  1157. package/dist/skills/bundled/jupiter/index.js.map +1 -0
  1158. package/dist/skills/bundled/kamino/index.d.ts +33 -0
  1159. package/dist/skills/bundled/kamino/index.js +578 -0
  1160. package/dist/skills/bundled/kamino/index.js.map +1 -0
  1161. package/dist/skills/bundled/ledger/index.d.ts +14 -0
  1162. package/dist/skills/bundled/ledger/index.js +186 -0
  1163. package/dist/skills/bundled/ledger/index.js.map +1 -0
  1164. package/dist/skills/bundled/market-index/index.d.ts +18 -0
  1165. package/dist/skills/bundled/market-index/index.js +182 -0
  1166. package/dist/skills/bundled/market-index/index.js.map +1 -0
  1167. package/dist/skills/bundled/markets/index.d.ts +16 -0
  1168. package/dist/skills/bundled/markets/index.js +95 -0
  1169. package/dist/skills/bundled/markets/index.js.map +1 -0
  1170. package/dist/skills/bundled/mcp/index.d.ts +19 -0
  1171. package/dist/skills/bundled/mcp/index.js +212 -0
  1172. package/dist/skills/bundled/mcp/index.js.map +1 -0
  1173. package/dist/skills/bundled/memory/index.d.ts +20 -0
  1174. package/dist/skills/bundled/memory/index.js +210 -0
  1175. package/dist/skills/bundled/memory/index.js.map +1 -0
  1176. package/dist/skills/bundled/metaculus/index.d.ts +17 -0
  1177. package/dist/skills/bundled/metaculus/index.js +168 -0
  1178. package/dist/skills/bundled/metaculus/index.js.map +1 -0
  1179. package/dist/skills/bundled/meteora/index.d.ts +39 -0
  1180. package/dist/skills/bundled/meteora/index.js +837 -0
  1181. package/dist/skills/bundled/meteora/index.js.map +1 -0
  1182. package/dist/skills/bundled/meteora-dbc/index.d.ts +33 -0
  1183. package/dist/skills/bundled/meteora-dbc/index.js +993 -0
  1184. package/dist/skills/bundled/meteora-dbc/index.js.map +1 -0
  1185. package/dist/skills/bundled/metrics/index.d.ts +18 -0
  1186. package/dist/skills/bundled/metrics/index.js +91 -0
  1187. package/dist/skills/bundled/metrics/index.js.map +1 -0
  1188. package/dist/skills/bundled/mev/index.d.ts +17 -0
  1189. package/dist/skills/bundled/mev/index.js +108 -0
  1190. package/dist/skills/bundled/mev/index.js.map +1 -0
  1191. package/dist/skills/bundled/mexc-futures/index.d.ts +16 -0
  1192. package/dist/skills/bundled/mexc-futures/index.js +389 -0
  1193. package/dist/skills/bundled/mexc-futures/index.js.map +1 -0
  1194. package/dist/skills/bundled/mm/index.d.ts +18 -0
  1195. package/dist/skills/bundled/mm/index.js +315 -0
  1196. package/dist/skills/bundled/mm/index.js.map +1 -0
  1197. package/dist/skills/bundled/monitoring/index.d.ts +18 -0
  1198. package/dist/skills/bundled/monitoring/index.js +146 -0
  1199. package/dist/skills/bundled/monitoring/index.js.map +1 -0
  1200. package/dist/skills/bundled/news/index.d.ts +17 -0
  1201. package/dist/skills/bundled/news/index.js +161 -0
  1202. package/dist/skills/bundled/news/index.js.map +1 -0
  1203. package/dist/skills/bundled/onchainkit/index.d.ts +92 -0
  1204. package/dist/skills/bundled/onchainkit/index.js +429 -0
  1205. package/dist/skills/bundled/onchainkit/index.js.map +1 -0
  1206. package/dist/skills/bundled/opinion/index.d.ts +12 -0
  1207. package/dist/skills/bundled/opinion/index.js +429 -0
  1208. package/dist/skills/bundled/opinion/index.js.map +1 -0
  1209. package/dist/skills/bundled/opportunity/index.d.ts +25 -0
  1210. package/dist/skills/bundled/opportunity/index.js +289 -0
  1211. package/dist/skills/bundled/opportunity/index.js.map +1 -0
  1212. package/dist/skills/bundled/orca/index.d.ts +12 -0
  1213. package/dist/skills/bundled/orca/index.js +663 -0
  1214. package/dist/skills/bundled/orca/index.js.map +1 -0
  1215. package/dist/skills/bundled/pairing/index.d.ts +24 -0
  1216. package/dist/skills/bundled/pairing/index.js +228 -0
  1217. package/dist/skills/bundled/pairing/index.js.map +1 -0
  1218. package/dist/skills/bundled/percolator/index.d.ts +20 -0
  1219. package/dist/skills/bundled/percolator/index.js +229 -0
  1220. package/dist/skills/bundled/percolator/index.js.map +1 -0
  1221. package/dist/skills/bundled/permissions/index.d.ts +21 -0
  1222. package/dist/skills/bundled/permissions/index.js +204 -0
  1223. package/dist/skills/bundled/permissions/index.js.map +1 -0
  1224. package/dist/skills/bundled/plugins/index.d.ts +20 -0
  1225. package/dist/skills/bundled/plugins/index.js +209 -0
  1226. package/dist/skills/bundled/plugins/index.js.map +1 -0
  1227. package/dist/skills/bundled/portfolio/index.d.ts +20 -0
  1228. package/dist/skills/bundled/portfolio/index.js +367 -0
  1229. package/dist/skills/bundled/portfolio/index.js.map +1 -0
  1230. package/dist/skills/bundled/portfolio-sync/index.d.ts +17 -0
  1231. package/dist/skills/bundled/portfolio-sync/index.js +116 -0
  1232. package/dist/skills/bundled/portfolio-sync/index.js.map +1 -0
  1233. package/dist/skills/bundled/positions/index.d.ts +18 -0
  1234. package/dist/skills/bundled/positions/index.js +161 -0
  1235. package/dist/skills/bundled/positions/index.js.map +1 -0
  1236. package/dist/skills/bundled/predictfun/index.d.ts +13 -0
  1237. package/dist/skills/bundled/predictfun/index.js +612 -0
  1238. package/dist/skills/bundled/predictfun/index.js.map +1 -0
  1239. package/dist/skills/bundled/predictit/index.d.ts +16 -0
  1240. package/dist/skills/bundled/predictit/index.js +138 -0
  1241. package/dist/skills/bundled/predictit/index.js.map +1 -0
  1242. package/dist/skills/bundled/presence/index.d.ts +18 -0
  1243. package/dist/skills/bundled/presence/index.js +151 -0
  1244. package/dist/skills/bundled/presence/index.js.map +1 -0
  1245. package/dist/skills/bundled/processes/index.d.ts +17 -0
  1246. package/dist/skills/bundled/processes/index.js +121 -0
  1247. package/dist/skills/bundled/processes/index.js.map +1 -0
  1248. package/dist/skills/bundled/pump-swarm/index.d.ts +16 -0
  1249. package/dist/skills/bundled/pump-swarm/index.js +2235 -0
  1250. package/dist/skills/bundled/pump-swarm/index.js.map +1 -0
  1251. package/dist/skills/bundled/pumpfun/index.d.ts +47 -0
  1252. package/dist/skills/bundled/pumpfun/index.js +1400 -0
  1253. package/dist/skills/bundled/pumpfun/index.js.map +1 -0
  1254. package/dist/skills/bundled/qmd/index.d.ts +18 -0
  1255. package/dist/skills/bundled/qmd/index.js +116 -0
  1256. package/dist/skills/bundled/qmd/index.js.map +1 -0
  1257. package/dist/skills/bundled/qrcoin/index.d.ts +92 -0
  1258. package/dist/skills/bundled/qrcoin/index.js +328 -0
  1259. package/dist/skills/bundled/qrcoin/index.js.map +1 -0
  1260. package/dist/skills/bundled/raydium/index.d.ts +35 -0
  1261. package/dist/skills/bundled/raydium/index.js +695 -0
  1262. package/dist/skills/bundled/raydium/index.js.map +1 -0
  1263. package/dist/skills/bundled/remote/index.d.ts +19 -0
  1264. package/dist/skills/bundled/remote/index.js +186 -0
  1265. package/dist/skills/bundled/remote/index.js.map +1 -0
  1266. package/dist/skills/bundled/research/index.d.ts +17 -0
  1267. package/dist/skills/bundled/research/index.js +185 -0
  1268. package/dist/skills/bundled/research/index.js.map +1 -0
  1269. package/dist/skills/bundled/risk/index.d.ts +31 -0
  1270. package/dist/skills/bundled/risk/index.js +379 -0
  1271. package/dist/skills/bundled/risk/index.js.map +1 -0
  1272. package/dist/skills/bundled/router/index.d.ts +17 -0
  1273. package/dist/skills/bundled/router/index.js +160 -0
  1274. package/dist/skills/bundled/router/index.js.map +1 -0
  1275. package/dist/skills/bundled/routing/index.d.ts +23 -0
  1276. package/dist/skills/bundled/routing/index.js +257 -0
  1277. package/dist/skills/bundled/routing/index.js.map +1 -0
  1278. package/dist/skills/bundled/sandbox/index.d.ts +18 -0
  1279. package/dist/skills/bundled/sandbox/index.js +119 -0
  1280. package/dist/skills/bundled/sandbox/index.js.map +1 -0
  1281. package/dist/skills/bundled/search-config/index.d.ts +18 -0
  1282. package/dist/skills/bundled/search-config/index.js +170 -0
  1283. package/dist/skills/bundled/search-config/index.js.map +1 -0
  1284. package/dist/skills/bundled/sessions/index.d.ts +29 -0
  1285. package/dist/skills/bundled/sessions/index.js +193 -0
  1286. package/dist/skills/bundled/sessions/index.js.map +1 -0
  1287. package/dist/skills/bundled/shield/index.d.ts +22 -0
  1288. package/dist/skills/bundled/shield/index.js +245 -0
  1289. package/dist/skills/bundled/shield/index.js.map +1 -0
  1290. package/dist/skills/bundled/signals/index.d.ts +24 -0
  1291. package/dist/skills/bundled/signals/index.js +776 -0
  1292. package/dist/skills/bundled/signals/index.js.map +1 -0
  1293. package/dist/skills/bundled/sizing/index.d.ts +16 -0
  1294. package/dist/skills/bundled/sizing/index.js +168 -0
  1295. package/dist/skills/bundled/sizing/index.js.map +1 -0
  1296. package/dist/skills/bundled/slippage/index.d.ts +16 -0
  1297. package/dist/skills/bundled/slippage/index.js +111 -0
  1298. package/dist/skills/bundled/slippage/index.js.map +1 -0
  1299. package/dist/skills/bundled/smarkets/index.d.ts +23 -0
  1300. package/dist/skills/bundled/smarkets/index.js +473 -0
  1301. package/dist/skills/bundled/smarkets/index.js.map +1 -0
  1302. package/dist/skills/bundled/strategy/index.d.ts +18 -0
  1303. package/dist/skills/bundled/strategy/index.js +168 -0
  1304. package/dist/skills/bundled/strategy/index.js.map +1 -0
  1305. package/dist/skills/bundled/streaming/index.d.ts +19 -0
  1306. package/dist/skills/bundled/streaming/index.js +147 -0
  1307. package/dist/skills/bundled/streaming/index.js.map +1 -0
  1308. package/dist/skills/bundled/tailscale/index.d.ts +18 -0
  1309. package/dist/skills/bundled/tailscale/index.js +173 -0
  1310. package/dist/skills/bundled/tailscale/index.js.map +1 -0
  1311. package/dist/skills/bundled/ticks/index.d.ts +17 -0
  1312. package/dist/skills/bundled/ticks/index.js +287 -0
  1313. package/dist/skills/bundled/ticks/index.js.map +1 -0
  1314. package/dist/skills/bundled/token-security/index.d.ts +19 -0
  1315. package/dist/skills/bundled/token-security/index.js +138 -0
  1316. package/dist/skills/bundled/token-security/index.js.map +1 -0
  1317. package/dist/skills/bundled/trading-evm/index.d.ts +19 -0
  1318. package/dist/skills/bundled/trading-evm/index.js +302 -0
  1319. package/dist/skills/bundled/trading-evm/index.js.map +1 -0
  1320. package/dist/skills/bundled/trading-futures/index.d.ts +14 -0
  1321. package/dist/skills/bundled/trading-futures/index.js +874 -0
  1322. package/dist/skills/bundled/trading-futures/index.js.map +1 -0
  1323. package/dist/skills/bundled/trading-kalshi/index.d.ts +36 -0
  1324. package/dist/skills/bundled/trading-kalshi/index.js +1199 -0
  1325. package/dist/skills/bundled/trading-kalshi/index.js.map +1 -0
  1326. package/dist/skills/bundled/trading-manifold/index.d.ts +23 -0
  1327. package/dist/skills/bundled/trading-manifold/index.js +391 -0
  1328. package/dist/skills/bundled/trading-manifold/index.js.map +1 -0
  1329. package/dist/skills/bundled/trading-polymarket/index.d.ts +27 -0
  1330. package/dist/skills/bundled/trading-polymarket/index.js +1321 -0
  1331. package/dist/skills/bundled/trading-polymarket/index.js.map +1 -0
  1332. package/dist/skills/bundled/trading-solana/index.d.ts +19 -0
  1333. package/dist/skills/bundled/trading-solana/index.js +383 -0
  1334. package/dist/skills/bundled/trading-solana/index.js.map +1 -0
  1335. package/dist/skills/bundled/trading-system/index.d.ts +22 -0
  1336. package/dist/skills/bundled/trading-system/index.js +355 -0
  1337. package/dist/skills/bundled/trading-system/index.js.map +1 -0
  1338. package/dist/skills/bundled/triggers/index.d.ts +18 -0
  1339. package/dist/skills/bundled/triggers/index.js +172 -0
  1340. package/dist/skills/bundled/triggers/index.js.map +1 -0
  1341. package/dist/skills/bundled/tts/index.d.ts +16 -0
  1342. package/dist/skills/bundled/tts/index.js +150 -0
  1343. package/dist/skills/bundled/tts/index.js.map +1 -0
  1344. package/dist/skills/bundled/tweet-ideas/index.d.ts +20 -0
  1345. package/dist/skills/bundled/tweet-ideas/index.js +470 -0
  1346. package/dist/skills/bundled/tweet-ideas/index.js.map +1 -0
  1347. package/dist/skills/bundled/usage/index.d.ts +17 -0
  1348. package/dist/skills/bundled/usage/index.js +145 -0
  1349. package/dist/skills/bundled/usage/index.js.map +1 -0
  1350. package/dist/skills/bundled/veil/index.d.ts +79 -0
  1351. package/dist/skills/bundled/veil/index.js +322 -0
  1352. package/dist/skills/bundled/veil/index.js.map +1 -0
  1353. package/dist/skills/bundled/verify/index.d.ts +20 -0
  1354. package/dist/skills/bundled/verify/index.js +157 -0
  1355. package/dist/skills/bundled/verify/index.js.map +1 -0
  1356. package/dist/skills/bundled/virtuals/index.d.ts +20 -0
  1357. package/dist/skills/bundled/virtuals/index.js +255 -0
  1358. package/dist/skills/bundled/virtuals/index.js.map +1 -0
  1359. package/dist/skills/bundled/voice/index.d.ts +18 -0
  1360. package/dist/skills/bundled/voice/index.js +190 -0
  1361. package/dist/skills/bundled/voice/index.js.map +1 -0
  1362. package/dist/skills/bundled/weather/index.d.ts +20 -0
  1363. package/dist/skills/bundled/weather/index.js +475 -0
  1364. package/dist/skills/bundled/weather/index.js.map +1 -0
  1365. package/dist/skills/bundled/webhooks/index.d.ts +18 -0
  1366. package/dist/skills/bundled/webhooks/index.js +136 -0
  1367. package/dist/skills/bundled/webhooks/index.js.map +1 -0
  1368. package/dist/skills/bundled/whale-tracking/index.d.ts +18 -0
  1369. package/dist/skills/bundled/whale-tracking/index.js +441 -0
  1370. package/dist/skills/bundled/whale-tracking/index.js.map +1 -0
  1371. package/dist/skills/bundled/yoink/index.d.ts +78 -0
  1372. package/dist/skills/bundled/yoink/index.js +236 -0
  1373. package/dist/skills/bundled/yoink/index.js.map +1 -0
  1374. package/dist/skills/executor.d.ts +117 -0
  1375. package/dist/skills/executor.js +469 -0
  1376. package/dist/skills/executor.js.map +1 -0
  1377. package/dist/skills/frontmatter.d.ts +69 -0
  1378. package/dist/skills/frontmatter.js +187 -0
  1379. package/dist/skills/frontmatter.js.map +1 -0
  1380. package/dist/skills/index.d.ts +150 -0
  1381. package/dist/skills/index.js +531 -0
  1382. package/dist/skills/index.js.map +1 -0
  1383. package/dist/skills/loader.d.ts +48 -0
  1384. package/dist/skills/loader.js +594 -0
  1385. package/dist/skills/loader.js.map +1 -0
  1386. package/dist/skills/registry.d.ts +94 -0
  1387. package/dist/skills/registry.js +308 -0
  1388. package/dist/skills/registry.js.map +1 -0
  1389. package/dist/solana/copytrade.d.ts +116 -0
  1390. package/dist/solana/copytrade.js +493 -0
  1391. package/dist/solana/copytrade.js.map +1 -0
  1392. package/dist/solana/drift.d.ts +154 -0
  1393. package/dist/solana/drift.js +599 -0
  1394. package/dist/solana/drift.js.map +1 -0
  1395. package/dist/solana/jupiter.d.ts +283 -0
  1396. package/dist/solana/jupiter.js +553 -0
  1397. package/dist/solana/jupiter.js.map +1 -0
  1398. package/dist/solana/kamino.d.ts +206 -0
  1399. package/dist/solana/kamino.js +546 -0
  1400. package/dist/solana/kamino.js.map +1 -0
  1401. package/dist/solana/meteora-dbc.d.ts +430 -0
  1402. package/dist/solana/meteora-dbc.js +1105 -0
  1403. package/dist/solana/meteora-dbc.js.map +1 -0
  1404. package/dist/solana/meteora.d.ts +232 -0
  1405. package/dist/solana/meteora.js +682 -0
  1406. package/dist/solana/meteora.js.map +1 -0
  1407. package/dist/solana/orca.d.ts +163 -0
  1408. package/dist/solana/orca.js +378 -0
  1409. package/dist/solana/orca.js.map +1 -0
  1410. package/dist/solana/pools.d.ts +26 -0
  1411. package/dist/solana/pools.js +96 -0
  1412. package/dist/solana/pools.js.map +1 -0
  1413. package/dist/solana/pump-swarm.d.ts +349 -0
  1414. package/dist/solana/pump-swarm.js +1663 -0
  1415. package/dist/solana/pump-swarm.js.map +1 -0
  1416. package/dist/solana/pumpapi.d.ts +196 -0
  1417. package/dist/solana/pumpapi.js +462 -0
  1418. package/dist/solana/pumpapi.js.map +1 -0
  1419. package/dist/solana/raydium.d.ts +170 -0
  1420. package/dist/solana/raydium.js +673 -0
  1421. package/dist/solana/raydium.js.map +1 -0
  1422. package/dist/solana/swarm-ai-builder.d.ts +97 -0
  1423. package/dist/solana/swarm-ai-builder.js +571 -0
  1424. package/dist/solana/swarm-ai-builder.js.map +1 -0
  1425. package/dist/solana/swarm-arbitrage.d.ts +111 -0
  1426. package/dist/solana/swarm-arbitrage.js +437 -0
  1427. package/dist/solana/swarm-arbitrage.js.map +1 -0
  1428. package/dist/solana/swarm-builders.d.ts +71 -0
  1429. package/dist/solana/swarm-builders.js +402 -0
  1430. package/dist/solana/swarm-builders.js.map +1 -0
  1431. package/dist/solana/swarm-copytrade.d.ts +103 -0
  1432. package/dist/solana/swarm-copytrade.js +420 -0
  1433. package/dist/solana/swarm-copytrade.js.map +1 -0
  1434. package/dist/solana/swarm-presets.d.ts +49 -0
  1435. package/dist/solana/swarm-presets.js +282 -0
  1436. package/dist/solana/swarm-presets.js.map +1 -0
  1437. package/dist/solana/swarm-signals.d.ts +128 -0
  1438. package/dist/solana/swarm-signals.js +529 -0
  1439. package/dist/solana/swarm-signals.js.map +1 -0
  1440. package/dist/solana/swarm-strategies.d.ts +230 -0
  1441. package/dist/solana/swarm-strategies.js +611 -0
  1442. package/dist/solana/swarm-strategies.js.map +1 -0
  1443. package/dist/solana/tokenlist.d.ts +10 -0
  1444. package/dist/solana/tokenlist.js +54 -0
  1445. package/dist/solana/tokenlist.js.map +1 -0
  1446. package/dist/solana/wallet.d.ts +12 -0
  1447. package/dist/solana/wallet.js +90 -0
  1448. package/dist/solana/wallet.js.map +1 -0
  1449. package/dist/strategies/crypto-hft/index.d.ts +46 -0
  1450. package/dist/strategies/crypto-hft/index.js +469 -0
  1451. package/dist/strategies/crypto-hft/index.js.map +1 -0
  1452. package/dist/strategies/crypto-hft/market-scanner.d.ts +26 -0
  1453. package/dist/strategies/crypto-hft/market-scanner.js +177 -0
  1454. package/dist/strategies/crypto-hft/market-scanner.js.map +1 -0
  1455. package/dist/strategies/crypto-hft/orderbook.d.ts +37 -0
  1456. package/dist/strategies/crypto-hft/orderbook.js +184 -0
  1457. package/dist/strategies/crypto-hft/orderbook.js.map +1 -0
  1458. package/dist/strategies/crypto-hft/positions.d.ts +49 -0
  1459. package/dist/strategies/crypto-hft/positions.js +376 -0
  1460. package/dist/strategies/crypto-hft/positions.js.map +1 -0
  1461. package/dist/strategies/crypto-hft/presets.d.ts +11 -0
  1462. package/dist/strategies/crypto-hft/presets.js +164 -0
  1463. package/dist/strategies/crypto-hft/presets.js.map +1 -0
  1464. package/dist/strategies/crypto-hft/strategies.d.ts +96 -0
  1465. package/dist/strategies/crypto-hft/strategies.js +330 -0
  1466. package/dist/strategies/crypto-hft/strategies.js.map +1 -0
  1467. package/dist/strategies/crypto-hft/types.d.ts +196 -0
  1468. package/dist/strategies/crypto-hft/types.js +32 -0
  1469. package/dist/strategies/crypto-hft/types.js.map +1 -0
  1470. package/dist/strategies/hft-divergence/detector.d.ts +29 -0
  1471. package/dist/strategies/hft-divergence/detector.js +182 -0
  1472. package/dist/strategies/hft-divergence/detector.js.map +1 -0
  1473. package/dist/strategies/hft-divergence/index.d.ts +12 -0
  1474. package/dist/strategies/hft-divergence/index.js +19 -0
  1475. package/dist/strategies/hft-divergence/index.js.map +1 -0
  1476. package/dist/strategies/hft-divergence/market-rotator.d.ts +17 -0
  1477. package/dist/strategies/hft-divergence/market-rotator.js +128 -0
  1478. package/dist/strategies/hft-divergence/market-rotator.js.map +1 -0
  1479. package/dist/strategies/hft-divergence/position-manager.d.ts +35 -0
  1480. package/dist/strategies/hft-divergence/position-manager.js +188 -0
  1481. package/dist/strategies/hft-divergence/position-manager.js.map +1 -0
  1482. package/dist/strategies/hft-divergence/strategy.d.ts +31 -0
  1483. package/dist/strategies/hft-divergence/strategy.js +295 -0
  1484. package/dist/strategies/hft-divergence/strategy.js.map +1 -0
  1485. package/dist/strategies/hft-divergence/types.d.ts +114 -0
  1486. package/dist/strategies/hft-divergence/types.js +10 -0
  1487. package/dist/strategies/hft-divergence/types.js.map +1 -0
  1488. package/dist/streaming/index.d.ts +70 -0
  1489. package/dist/streaming/index.js +296 -0
  1490. package/dist/streaming/index.js.map +1 -0
  1491. package/dist/tailscale/index.d.ts +139 -0
  1492. package/dist/tailscale/index.js +345 -0
  1493. package/dist/tailscale/index.js.map +1 -0
  1494. package/dist/telemetry/index.d.ts +143 -0
  1495. package/dist/telemetry/index.js +535 -0
  1496. package/dist/telemetry/index.js.map +1 -0
  1497. package/dist/terminal/index.d.ts +121 -0
  1498. package/dist/terminal/index.js +548 -0
  1499. package/dist/terminal/index.js.map +1 -0
  1500. package/dist/token-security/index.d.ts +36 -0
  1501. package/dist/token-security/index.js +253 -0
  1502. package/dist/token-security/index.js.map +1 -0
  1503. package/dist/tools/browser.d.ts +128 -0
  1504. package/dist/tools/browser.js +459 -0
  1505. package/dist/tools/browser.js.map +1 -0
  1506. package/dist/tools/canvas.d.ts +93 -0
  1507. package/dist/tools/canvas.js +349 -0
  1508. package/dist/tools/canvas.js.map +1 -0
  1509. package/dist/tools/docker.d.ts +59 -0
  1510. package/dist/tools/docker.js +191 -0
  1511. package/dist/tools/docker.js.map +1 -0
  1512. package/dist/tools/email.d.ts +25 -0
  1513. package/dist/tools/email.js +131 -0
  1514. package/dist/tools/email.js.map +1 -0
  1515. package/dist/tools/exec.d.ts +81 -0
  1516. package/dist/tools/exec.js +373 -0
  1517. package/dist/tools/exec.js.map +1 -0
  1518. package/dist/tools/files.d.ts +46 -0
  1519. package/dist/tools/files.js +185 -0
  1520. package/dist/tools/files.js.map +1 -0
  1521. package/dist/tools/git.d.ts +29 -0
  1522. package/dist/tools/git.js +105 -0
  1523. package/dist/tools/git.js.map +1 -0
  1524. package/dist/tools/image.d.ts +57 -0
  1525. package/dist/tools/image.js +308 -0
  1526. package/dist/tools/image.js.map +1 -0
  1527. package/dist/tools/index.d.ts +39 -0
  1528. package/dist/tools/index.js +46 -0
  1529. package/dist/tools/index.js.map +1 -0
  1530. package/dist/tools/message.d.ts +99 -0
  1531. package/dist/tools/message.js +200 -0
  1532. package/dist/tools/message.js.map +1 -0
  1533. package/dist/tools/nodes.d.ts +134 -0
  1534. package/dist/tools/nodes.js +357 -0
  1535. package/dist/tools/nodes.js.map +1 -0
  1536. package/dist/tools/sessions.d.ts +60 -0
  1537. package/dist/tools/sessions.js +119 -0
  1538. package/dist/tools/sessions.js.map +1 -0
  1539. package/dist/tools/shell-history.d.ts +17 -0
  1540. package/dist/tools/shell-history.js +118 -0
  1541. package/dist/tools/shell-history.js.map +1 -0
  1542. package/dist/tools/sms.d.ts +18 -0
  1543. package/dist/tools/sms.js +66 -0
  1544. package/dist/tools/sms.js.map +1 -0
  1545. package/dist/tools/sql.d.ts +19 -0
  1546. package/dist/tools/sql.js +91 -0
  1547. package/dist/tools/sql.js.map +1 -0
  1548. package/dist/tools/transcription.d.ts +13 -0
  1549. package/dist/tools/transcription.js +99 -0
  1550. package/dist/tools/transcription.js.map +1 -0
  1551. package/dist/tools/web-fetch.d.ts +69 -0
  1552. package/dist/tools/web-fetch.js +251 -0
  1553. package/dist/tools/web-fetch.js.map +1 -0
  1554. package/dist/tools/web-search.d.ts +58 -0
  1555. package/dist/tools/web-search.js +204 -0
  1556. package/dist/tools/web-search.js.map +1 -0
  1557. package/dist/tools/webhooks.d.ts +74 -0
  1558. package/dist/tools/webhooks.js +165 -0
  1559. package/dist/tools/webhooks.js.map +1 -0
  1560. package/dist/trading/accounts.d.ts +167 -0
  1561. package/dist/trading/accounts.js +394 -0
  1562. package/dist/trading/accounts.js.map +1 -0
  1563. package/dist/trading/adapters/index.d.ts +27 -0
  1564. package/dist/trading/adapters/index.js +165 -0
  1565. package/dist/trading/adapters/index.js.map +1 -0
  1566. package/dist/trading/backtest.d.ts +161 -0
  1567. package/dist/trading/backtest.js +665 -0
  1568. package/dist/trading/backtest.js.map +1 -0
  1569. package/dist/trading/bots/index.d.ts +196 -0
  1570. package/dist/trading/bots/index.js +688 -0
  1571. package/dist/trading/bots/index.js.map +1 -0
  1572. package/dist/trading/bridge.d.ts +33 -0
  1573. package/dist/trading/bridge.js +121 -0
  1574. package/dist/trading/bridge.js.map +1 -0
  1575. package/dist/trading/builder.d.ts +102 -0
  1576. package/dist/trading/builder.js +430 -0
  1577. package/dist/trading/builder.js.map +1 -0
  1578. package/dist/trading/copy-trading.d.ts +125 -0
  1579. package/dist/trading/copy-trading.js +611 -0
  1580. package/dist/trading/copy-trading.js.map +1 -0
  1581. package/dist/trading/devtools.d.ts +172 -0
  1582. package/dist/trading/devtools.js +425 -0
  1583. package/dist/trading/devtools.js.map +1 -0
  1584. package/dist/trading/futures/index.d.ts +981 -0
  1585. package/dist/trading/futures/index.js +4011 -0
  1586. package/dist/trading/futures/index.js.map +1 -0
  1587. package/dist/trading/index.d.ts +102 -0
  1588. package/dist/trading/index.js +310 -0
  1589. package/dist/trading/index.js.map +1 -0
  1590. package/dist/trading/kelly.d.ts +137 -0
  1591. package/dist/trading/kelly.js +328 -0
  1592. package/dist/trading/kelly.js.map +1 -0
  1593. package/dist/trading/logger.d.ts +163 -0
  1594. package/dist/trading/logger.js +424 -0
  1595. package/dist/trading/logger.js.map +1 -0
  1596. package/dist/trading/market-making/engine.d.ts +44 -0
  1597. package/dist/trading/market-making/engine.js +165 -0
  1598. package/dist/trading/market-making/engine.js.map +1 -0
  1599. package/dist/trading/market-making/index.d.ts +10 -0
  1600. package/dist/trading/market-making/index.js +29 -0
  1601. package/dist/trading/market-making/index.js.map +1 -0
  1602. package/dist/trading/market-making/strategy.d.ts +25 -0
  1603. package/dist/trading/market-making/strategy.js +250 -0
  1604. package/dist/trading/market-making/strategy.js.map +1 -0
  1605. package/dist/trading/market-making/types.d.ts +92 -0
  1606. package/dist/trading/market-making/types.js +6 -0
  1607. package/dist/trading/market-making/types.js.map +1 -0
  1608. package/dist/trading/ml-signals.d.ts +175 -0
  1609. package/dist/trading/ml-signals.js +548 -0
  1610. package/dist/trading/ml-signals.js.map +1 -0
  1611. package/dist/trading/orchestrator.d.ts +59 -0
  1612. package/dist/trading/orchestrator.js +199 -0
  1613. package/dist/trading/orchestrator.js.map +1 -0
  1614. package/dist/trading/position-bridge.d.ts +41 -0
  1615. package/dist/trading/position-bridge.js +178 -0
  1616. package/dist/trading/position-bridge.js.map +1 -0
  1617. package/dist/trading/resilience.d.ts +81 -0
  1618. package/dist/trading/resilience.js +257 -0
  1619. package/dist/trading/resilience.js.map +1 -0
  1620. package/dist/trading/risk.d.ts +18 -0
  1621. package/dist/trading/risk.js +91 -0
  1622. package/dist/trading/risk.js.map +1 -0
  1623. package/dist/trading/safety.d.ts +114 -0
  1624. package/dist/trading/safety.js +372 -0
  1625. package/dist/trading/safety.js.map +1 -0
  1626. package/dist/trading/secrets.d.ts +48 -0
  1627. package/dist/trading/secrets.js +243 -0
  1628. package/dist/trading/secrets.js.map +1 -0
  1629. package/dist/trading/state.d.ts +88 -0
  1630. package/dist/trading/state.js +221 -0
  1631. package/dist/trading/state.js.map +1 -0
  1632. package/dist/trading/stream.d.ts +121 -0
  1633. package/dist/trading/stream.js +396 -0
  1634. package/dist/trading/stream.js.map +1 -0
  1635. package/dist/trading/tracking.d.ts +136 -0
  1636. package/dist/trading/tracking.js +512 -0
  1637. package/dist/trading/tracking.js.map +1 -0
  1638. package/dist/tts/index.d.ts +28 -0
  1639. package/dist/tts/index.js +64 -0
  1640. package/dist/tts/index.js.map +1 -0
  1641. package/dist/tui/index.d.ts +159 -0
  1642. package/dist/tui/index.js +580 -0
  1643. package/dist/tui/index.js.map +1 -0
  1644. package/dist/types.d.ts +1373 -0
  1645. package/dist/types.js +7 -0
  1646. package/dist/types.js.map +1 -0
  1647. package/dist/usage/index.d.ts +57 -0
  1648. package/dist/usage/index.js +191 -0
  1649. package/dist/usage/index.js.map +1 -0
  1650. package/dist/utils/attachments.d.ts +12 -0
  1651. package/dist/utils/attachments.js +104 -0
  1652. package/dist/utils/attachments.js.map +1 -0
  1653. package/dist/utils/config.d.ts +14 -0
  1654. package/dist/utils/config.js +474 -0
  1655. package/dist/utils/config.js.map +1 -0
  1656. package/dist/utils/http.d.ts +22 -0
  1657. package/dist/utils/http.js +191 -0
  1658. package/dist/utils/http.js.map +1 -0
  1659. package/dist/utils/id.d.ts +21 -0
  1660. package/dist/utils/id.js +41 -0
  1661. package/dist/utils/id.js.map +1 -0
  1662. package/dist/utils/json-utils.d.ts +201 -0
  1663. package/dist/utils/json-utils.js +151 -0
  1664. package/dist/utils/json-utils.js.map +1 -0
  1665. package/dist/utils/kalshi-auth.d.ts +10 -0
  1666. package/dist/utils/kalshi-auth.js +48 -0
  1667. package/dist/utils/kalshi-auth.js.map +1 -0
  1668. package/dist/utils/kelly.d.ts +153 -0
  1669. package/dist/utils/kelly.js +322 -0
  1670. package/dist/utils/kelly.js.map +1 -0
  1671. package/dist/utils/logger.d.ts +7 -0
  1672. package/dist/utils/logger.js +26 -0
  1673. package/dist/utils/logger.js.map +1 -0
  1674. package/dist/utils/opinion-auth.d.ts +17 -0
  1675. package/dist/utils/opinion-auth.js +25 -0
  1676. package/dist/utils/opinion-auth.js.map +1 -0
  1677. package/dist/utils/polymarket-auth.d.ts +11 -0
  1678. package/dist/utils/polymarket-auth.js +32 -0
  1679. package/dist/utils/polymarket-auth.js.map +1 -0
  1680. package/dist/utils/polymarket-order-signer.d.ts +118 -0
  1681. package/dist/utils/polymarket-order-signer.js +329 -0
  1682. package/dist/utils/polymarket-order-signer.js.map +1 -0
  1683. package/dist/utils/polymarket-setup.d.ts +70 -0
  1684. package/dist/utils/polymarket-setup.js +288 -0
  1685. package/dist/utils/polymarket-setup.js.map +1 -0
  1686. package/dist/utils/production.d.ts +112 -0
  1687. package/dist/utils/production.js +294 -0
  1688. package/dist/utils/production.js.map +1 -0
  1689. package/dist/utils/rate-limiter.d.ts +77 -0
  1690. package/dist/utils/rate-limiter.js +271 -0
  1691. package/dist/utils/rate-limiter.js.map +1 -0
  1692. package/dist/utils/webhook-security.d.ts +63 -0
  1693. package/dist/utils/webhook-security.js +183 -0
  1694. package/dist/utils/webhook-security.js.map +1 -0
  1695. package/dist/voice/index.d.ts +125 -0
  1696. package/dist/voice/index.js +557 -0
  1697. package/dist/voice/index.js.map +1 -0
  1698. package/dist/weather/edge.d.ts +70 -0
  1699. package/dist/weather/edge.js +281 -0
  1700. package/dist/weather/edge.js.map +1 -0
  1701. package/dist/weather/index.d.ts +6 -0
  1702. package/dist/weather/index.js +23 -0
  1703. package/dist/weather/index.js.map +1 -0
  1704. package/dist/weather/markets.d.ts +84 -0
  1705. package/dist/weather/markets.js +320 -0
  1706. package/dist/weather/markets.js.map +1 -0
  1707. package/dist/weather/noaa.d.ts +113 -0
  1708. package/dist/weather/noaa.js +287 -0
  1709. package/dist/weather/noaa.js.map +1 -0
  1710. package/dist/web/index.d.ts +112 -0
  1711. package/dist/web/index.js +639 -0
  1712. package/dist/web/index.js.map +1 -0
  1713. package/dist/wizard/index.d.ts +27 -0
  1714. package/dist/wizard/index.js +186 -0
  1715. package/dist/wizard/index.js.map +1 -0
  1716. package/dist/workspace/index.d.ts +73 -0
  1717. package/dist/workspace/index.js +403 -0
  1718. package/dist/workspace/index.js.map +1 -0
  1719. package/package.json +168 -0
@@ -0,0 +1,1321 @@
1
+ "use strict";
2
+ /**
3
+ * Trading Polymarket CLI Skill
4
+ *
5
+ * Wired to:
6
+ * - src/feeds/polymarket (createPolymarketFeed - WebSocket, market search, orderbook)
7
+ * - src/execution (createExecutionService - CLOB order placement/cancellation)
8
+ *
9
+ * Commands:
10
+ * /poly search <query> - Search markets
11
+ * /poly market <condition-id> - Market details
12
+ * /poly book <token-id> - View orderbook
13
+ * /poly buy <token-id> <size> [price] - Buy shares
14
+ * /poly sell <token-id> <size> [price] - Sell shares
15
+ * /poly positions - View open orders
16
+ * /poly orders - View open orders
17
+ * /poly cancel <order-id|all> - Cancel orders
18
+ * /poly balance - USDC balance
19
+ * /poly whales - Whale activity monitoring
20
+ */
21
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ var desc = Object.getOwnPropertyDescriptor(m, k);
24
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
25
+ desc = { enumerable: true, get: function() { return m[k]; } };
26
+ }
27
+ Object.defineProperty(o, k2, desc);
28
+ }) : (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ o[k2] = m[k];
31
+ }));
32
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
33
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
34
+ }) : function(o, v) {
35
+ o["default"] = v;
36
+ });
37
+ var __importStar = (this && this.__importStar) || (function () {
38
+ var ownKeys = function(o) {
39
+ ownKeys = Object.getOwnPropertyNames || function (o) {
40
+ var ar = [];
41
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
42
+ return ar;
43
+ };
44
+ return ownKeys(o);
45
+ };
46
+ return function (mod) {
47
+ if (mod && mod.__esModule) return mod;
48
+ var result = {};
49
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
50
+ __setModuleDefault(result, mod);
51
+ return result;
52
+ };
53
+ })();
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ const logger_1 = require("../../../utils/logger");
56
+ // =============================================================================
57
+ // HELPERS
58
+ // =============================================================================
59
+ function formatNumber(n, decimals = 2) {
60
+ if (Math.abs(n) >= 1e9)
61
+ return (n / 1e9).toFixed(decimals) + 'B';
62
+ if (Math.abs(n) >= 1e6)
63
+ return (n / 1e6).toFixed(decimals) + 'M';
64
+ if (Math.abs(n) >= 1e3)
65
+ return (n / 1e3).toFixed(decimals) + 'K';
66
+ return n.toFixed(decimals);
67
+ }
68
+ let feedInstance = null;
69
+ let execInstance = null;
70
+ async function getCircuitBreaker() {
71
+ const { getGlobalCircuitBreaker } = await Promise.resolve().then(() => __importStar(require('../../../execution/circuit-breaker')));
72
+ return getGlobalCircuitBreaker();
73
+ }
74
+ // Advanced order state
75
+ const activeTwaps = new Map();
76
+ const activeBrackets = new Map();
77
+ let triggerManager = null;
78
+ let autoRedeemer = null;
79
+ let nextOrderId = 1;
80
+ async function getFeed() {
81
+ if (!feedInstance) {
82
+ const { createPolymarketFeed } = await Promise.resolve().then(() => __importStar(require('../../../feeds/polymarket')));
83
+ feedInstance = await createPolymarketFeed();
84
+ }
85
+ return feedInstance;
86
+ }
87
+ function getExecution() {
88
+ if (!execInstance) {
89
+ const apiKey = process.env.POLY_API_KEY;
90
+ const apiSecret = process.env.POLY_API_SECRET;
91
+ const passphrase = process.env.POLY_API_PASSPHRASE;
92
+ const funderAddress = process.env.POLY_FUNDER_ADDRESS || '';
93
+ if (!apiKey || !apiSecret || !passphrase)
94
+ return null;
95
+ try {
96
+ const { createExecutionService } = require('../../../execution');
97
+ execInstance = createExecutionService({
98
+ polymarket: {
99
+ address: funderAddress,
100
+ apiKey,
101
+ apiSecret,
102
+ apiPassphrase: passphrase,
103
+ privateKey: process.env.POLY_PRIVATE_KEY,
104
+ funderAddress,
105
+ signatureType: process.env.POLY_SIGNATURE_TYPE ? Number(process.env.POLY_SIGNATURE_TYPE) : undefined,
106
+ },
107
+ dryRun: process.env.DRY_RUN === 'true',
108
+ });
109
+ }
110
+ catch {
111
+ return null;
112
+ }
113
+ }
114
+ return execInstance;
115
+ }
116
+ // =============================================================================
117
+ // HELP TEXT
118
+ // =============================================================================
119
+ function helpText() {
120
+ return [
121
+ '**Polymarket Trading Commands**',
122
+ '',
123
+ '**Market Data:**',
124
+ ' /poly search <query> - Search markets',
125
+ ' /poly market <condition-id> - Market details',
126
+ ' /poly book <token-id> - View orderbook',
127
+ '',
128
+ '**Trading:**',
129
+ ' /poly buy <token-id> <size> <price> - Buy shares (limit)',
130
+ ' /poly sell <token-id> <size> <price> - Sell shares (limit)',
131
+ ' /poly orders - Open orders',
132
+ ' /poly cancel <order-id> - Cancel order',
133
+ ' /poly cancel all - Cancel all orders',
134
+ ' /poly trades [limit] - Recent trade history',
135
+ ' /poly balance - USDC + positions',
136
+ '',
137
+ '**Advanced Orders:**',
138
+ ' /poly redeem - Redeem all resolved positions',
139
+ ' /poly redeem <cond-id> <token-id> - Redeem specific position',
140
+ ' /poly twap <buy|sell> <token> <total> <price> [slices] [interval-sec]',
141
+ ' /poly twap status - Active TWAP progress',
142
+ ' /poly twap cancel <id> - Cancel a TWAP',
143
+ ' /poly bracket <token> <size> <tp> <sl> - TP + SL bracket',
144
+ ' /poly bracket status - Active brackets',
145
+ ' /poly bracket cancel <id> - Cancel a bracket',
146
+ ' /poly trigger buy <token> <size> <price> [limit] - Buy when price drops',
147
+ ' /poly trigger sell <token> <size> <price> [limit] - Sell when price rises',
148
+ ' /poly trigger cancel <id> - Cancel a trigger',
149
+ ' /poly triggers - List active triggers',
150
+ '',
151
+ '**Cross-Platform:**',
152
+ ' /poly route <token> <buy|sell> <size> - Compare prices across platforms',
153
+ '',
154
+ '**Real-Time Fills:**',
155
+ ' /poly fills - Connect fills WebSocket',
156
+ ' /poly fills status - Show connection + recent fills',
157
+ ' /poly fills stop - Disconnect fills WebSocket',
158
+ ' /poly fills clear - Clear tracked fills',
159
+ '',
160
+ '**Order Heartbeat:**',
161
+ ' /poly heartbeat - Start heartbeat (keeps orders alive)',
162
+ ' /poly heartbeat status - Check heartbeat status',
163
+ ' /poly heartbeat stop - Stop heartbeat (orders cancelled in 10s)',
164
+ '',
165
+ '**Account & Settlements:**',
166
+ ' /poly settlements - View pending settlements from resolved markets',
167
+ ' /poly allowance - Check USDC approval status',
168
+ ' /poly orderbooks <token1> [token2] ... - Batch fetch orderbooks',
169
+ '',
170
+ '**Env vars:** POLY_API_KEY, POLY_API_SECRET, POLY_API_PASSPHRASE',
171
+ ' Optional: POLY_PRIVATE_KEY, POLY_FUNDER_ADDRESS',
172
+ '',
173
+ '**Examples:**',
174
+ ' /poly search bitcoin',
175
+ ' /poly buy 1234567890 100 0.65',
176
+ ' /poly sell 1234567890 50 0.70',
177
+ ' /poly book 1234567890',
178
+ ].join('\n');
179
+ }
180
+ // =============================================================================
181
+ // MARKET DATA HANDLERS
182
+ // =============================================================================
183
+ async function handleSearch(query) {
184
+ if (!query)
185
+ return 'Usage: /poly search <query>';
186
+ try {
187
+ const feed = await getFeed();
188
+ const markets = await feed.searchMarkets(query);
189
+ if (markets.length === 0) {
190
+ return `No Polymarket markets found for "${query}"`;
191
+ }
192
+ const lines = ['**Polymarket Markets**', ''];
193
+ for (const m of markets.slice(0, 15)) {
194
+ lines.push(` [${m.id}] ${m.question}`);
195
+ const outcomeStrs = m.outcomes.slice(0, 4).map(o => {
196
+ const tokenSuffix = o.tokenId ? ` (${o.tokenId.slice(0, 8)}...)` : '';
197
+ return `${o.name}: ${(o.price * 100).toFixed(0)}c${tokenSuffix}`;
198
+ });
199
+ lines.push(` ${outcomeStrs.join(' | ')} | Vol: $${formatNumber(m.volume24h)}`);
200
+ }
201
+ if (markets.length > 15) {
202
+ lines.push('', `...and ${markets.length - 15} more`);
203
+ }
204
+ return lines.join('\n');
205
+ }
206
+ catch (error) {
207
+ const message = error instanceof Error ? error.message : String(error);
208
+ return `Error searching: ${message}`;
209
+ }
210
+ }
211
+ async function handleMarket(marketId) {
212
+ if (!marketId)
213
+ return 'Usage: /poly market <condition-id>';
214
+ try {
215
+ const feed = await getFeed();
216
+ const market = await feed.getMarket('polymarket', marketId);
217
+ if (!market) {
218
+ return `Market ${marketId} not found`;
219
+ }
220
+ const lines = [
221
+ `**${market.question}**`,
222
+ '',
223
+ `Condition ID: ${market.id}`,
224
+ `Slug: ${market.slug}`,
225
+ `Platform: Polymarket`,
226
+ market.description ? `Description: ${typeof market.description === 'string' ? market.description.slice(0, 200) : ''}` : '',
227
+ '',
228
+ '**Outcomes:**',
229
+ ];
230
+ for (const o of market.outcomes) {
231
+ const tokenId = o.tokenId || o.id;
232
+ lines.push(` ${o.name}: ${(o.price * 100).toFixed(1)}c`);
233
+ lines.push(` Token: ${tokenId}`);
234
+ }
235
+ lines.push('', `Volume: $${formatNumber(market.volume24h)}`, `Liquidity: $${formatNumber(market.liquidity)}`, market.endDate ? `End Date: ${market.endDate.toLocaleDateString()}` : '', `Resolved: ${market.resolved ? 'Yes' : 'No'}`, '', `URL: ${market.url}`);
236
+ return lines.filter(l => l !== '').join('\n');
237
+ }
238
+ catch (error) {
239
+ const message = error instanceof Error ? error.message : String(error);
240
+ return `Error: ${message}`;
241
+ }
242
+ }
243
+ async function handleOrderbook(tokenId) {
244
+ if (!tokenId)
245
+ return 'Usage: /poly book <token-id>';
246
+ try {
247
+ const feed = await getFeed();
248
+ const orderbook = await feed.getOrderbook('polymarket', tokenId);
249
+ if (!orderbook) {
250
+ return `No orderbook found for token ${tokenId}`;
251
+ }
252
+ const lines = [
253
+ `**Orderbook: ${tokenId.slice(0, 20)}...**`,
254
+ '',
255
+ `Mid: ${(orderbook.midPrice * 100).toFixed(1)}c | Spread: ${(orderbook.spread * 100).toFixed(2)}c`,
256
+ '',
257
+ '**Bids:**',
258
+ ];
259
+ for (const [price, size] of orderbook.bids.slice(0, 5)) {
260
+ lines.push(` ${(price * 100).toFixed(1)}c - ${formatNumber(size)} shares`);
261
+ }
262
+ lines.push('', '**Asks:**');
263
+ for (const [price, size] of orderbook.asks.slice(0, 5)) {
264
+ lines.push(` ${(price * 100).toFixed(1)}c - ${formatNumber(size)} shares`);
265
+ }
266
+ // Also show imbalance if enough data
267
+ if (orderbook.bids.length > 0 && orderbook.asks.length > 0) {
268
+ try {
269
+ const { calculateOrderbookImbalance } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
270
+ const imbalance = calculateOrderbookImbalance({
271
+ bids: orderbook.bids,
272
+ asks: orderbook.asks,
273
+ midPrice: orderbook.midPrice,
274
+ });
275
+ lines.push('', '**Imbalance:**', ` Signal: ${imbalance.signal.toUpperCase()} (${(imbalance.confidence * 100).toFixed(0)}% confidence)`, ` Bid/Ask Ratio: ${imbalance.bidAskRatio.toFixed(2)}`, ` Score: ${imbalance.imbalanceScore.toFixed(3)}`);
276
+ }
277
+ catch {
278
+ // Imbalance calculation not available, skip
279
+ }
280
+ }
281
+ return lines.join('\n');
282
+ }
283
+ catch (error) {
284
+ const message = error instanceof Error ? error.message : String(error);
285
+ return `Error: ${message}`;
286
+ }
287
+ }
288
+ // =============================================================================
289
+ // TRADING HANDLERS
290
+ // =============================================================================
291
+ async function handleBuy(tokenId, sizeStr, priceStr) {
292
+ const exec = getExecution();
293
+ if (!exec) {
294
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to trade on Polymarket.';
295
+ }
296
+ if (!tokenId || !sizeStr) {
297
+ return 'Usage: /poly buy <token-id> <size> <price>\nExample: /poly buy 1234567890 100 0.65';
298
+ }
299
+ const size = parseFloat(sizeStr);
300
+ if (isNaN(size) || size <= 0) {
301
+ return 'Invalid size. Must be a positive number.';
302
+ }
303
+ // Circuit breaker pre-check
304
+ const cb = await getCircuitBreaker();
305
+ if (!cb.canTrade()) {
306
+ const state = cb.getState();
307
+ return `**Trade blocked** — Circuit breaker tripped: ${state.tripReason || 'unknown'}\nUse \`/risk reset\` to re-arm.`;
308
+ }
309
+ // If no price, try to use market price with slippage protection
310
+ if (!priceStr) {
311
+ try {
312
+ const result = await exec.protectedBuy({
313
+ platform: 'polymarket',
314
+ marketId: tokenId,
315
+ tokenId,
316
+ price: 0.99, // Will be adjusted by protectedBuy
317
+ size,
318
+ });
319
+ cb.recordTrade({
320
+ pnlUsd: 0,
321
+ success: result.success,
322
+ sizeUsd: size * 0.50,
323
+ error: result.error,
324
+ });
325
+ if (result.success) {
326
+ return `BUY ${size} shares (market order, slippage-protected) (Order: ${result.orderId})`;
327
+ }
328
+ return `Order failed: ${result.error}`;
329
+ }
330
+ catch (error) {
331
+ const message = error instanceof Error ? error.message : String(error);
332
+ return `Error: ${message}`;
333
+ }
334
+ }
335
+ const price = parseFloat(priceStr);
336
+ if (isNaN(price) || price < 0.01 || price > 0.99) {
337
+ return 'Invalid price. Must be between 0.01 and 0.99 (e.g., 0.65 for 65c).';
338
+ }
339
+ try {
340
+ // Auto-detect neg_risk for crypto markets
341
+ let negRisk;
342
+ try {
343
+ const { checkPolymarketNegRisk } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
344
+ negRisk = await checkPolymarketNegRisk(tokenId);
345
+ }
346
+ catch {
347
+ // Neg risk check not critical, proceed without
348
+ }
349
+ const result = await exec.buyLimit({
350
+ platform: 'polymarket',
351
+ marketId: tokenId,
352
+ tokenId,
353
+ price,
354
+ size,
355
+ negRisk,
356
+ });
357
+ cb.recordTrade({
358
+ pnlUsd: 0,
359
+ success: result.success,
360
+ sizeUsd: size * price,
361
+ error: result.error,
362
+ });
363
+ if (result.success) {
364
+ try {
365
+ const { getGlobalPositionManager } = await Promise.resolve().then(() => __importStar(require('../../../execution/position-manager')));
366
+ const pm = getGlobalPositionManager();
367
+ pm.updatePosition({
368
+ platform: 'polymarket',
369
+ marketId: tokenId,
370
+ tokenId,
371
+ outcomeName: 'Yes',
372
+ side: 'long',
373
+ size,
374
+ entryPrice: result.avgFillPrice || price,
375
+ currentPrice: result.avgFillPrice || price,
376
+ openedAt: new Date(),
377
+ });
378
+ }
379
+ catch { /* position tracking non-critical */ }
380
+ return [
381
+ `BUY ${size} shares @ ${(price * 100).toFixed(0)}c`,
382
+ `Token: ${tokenId.slice(0, 20)}...`,
383
+ `Order: ${result.orderId}`,
384
+ result.transactionHash ? `Tx: ${result.transactionHash}` : '',
385
+ negRisk ? '(neg-risk market)' : '',
386
+ ].filter(Boolean).join('\n');
387
+ }
388
+ return `Order failed: ${result.error}`;
389
+ }
390
+ catch (error) {
391
+ const message = error instanceof Error ? error.message : String(error);
392
+ return `Error: ${message}`;
393
+ }
394
+ }
395
+ async function handleSell(tokenId, sizeStr, priceStr) {
396
+ const exec = getExecution();
397
+ if (!exec) {
398
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to trade on Polymarket.';
399
+ }
400
+ if (!tokenId || !sizeStr) {
401
+ return 'Usage: /poly sell <token-id> <size> <price>\nExample: /poly sell 1234567890 50 0.70';
402
+ }
403
+ const size = parseFloat(sizeStr);
404
+ if (isNaN(size) || size <= 0) {
405
+ return 'Invalid size. Must be a positive number.';
406
+ }
407
+ // Circuit breaker pre-check
408
+ const cb = await getCircuitBreaker();
409
+ if (!cb.canTrade()) {
410
+ const state = cb.getState();
411
+ return `**Trade blocked** — Circuit breaker tripped: ${state.tripReason || 'unknown'}\nUse \`/risk reset\` to re-arm.`;
412
+ }
413
+ if (!priceStr) {
414
+ try {
415
+ const result = await exec.protectedSell({
416
+ platform: 'polymarket',
417
+ marketId: tokenId,
418
+ tokenId,
419
+ price: 0.01, // Will be adjusted by protectedSell
420
+ size,
421
+ });
422
+ cb.recordTrade({
423
+ pnlUsd: 0,
424
+ success: result.success,
425
+ sizeUsd: size * 0.50,
426
+ error: result.error,
427
+ });
428
+ if (result.success) {
429
+ return `SELL ${size} shares (market order, slippage-protected) (Order: ${result.orderId})`;
430
+ }
431
+ return `Order failed: ${result.error}`;
432
+ }
433
+ catch (error) {
434
+ const message = error instanceof Error ? error.message : String(error);
435
+ return `Error: ${message}`;
436
+ }
437
+ }
438
+ const price = parseFloat(priceStr);
439
+ if (isNaN(price) || price < 0.01 || price > 0.99) {
440
+ return 'Invalid price. Must be between 0.01 and 0.99.';
441
+ }
442
+ try {
443
+ let negRisk;
444
+ try {
445
+ const { checkPolymarketNegRisk } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
446
+ negRisk = await checkPolymarketNegRisk(tokenId);
447
+ }
448
+ catch {
449
+ // Neg risk check not critical
450
+ }
451
+ const result = await exec.sellLimit({
452
+ platform: 'polymarket',
453
+ marketId: tokenId,
454
+ tokenId,
455
+ price,
456
+ size,
457
+ negRisk,
458
+ });
459
+ cb.recordTrade({
460
+ pnlUsd: 0,
461
+ success: result.success,
462
+ sizeUsd: size * price,
463
+ error: result.error,
464
+ });
465
+ if (result.success) {
466
+ try {
467
+ const { getGlobalPositionManager } = await Promise.resolve().then(() => __importStar(require('../../../execution/position-manager')));
468
+ const pm = getGlobalPositionManager();
469
+ const existing = pm.getPositionsByPlatform('polymarket')
470
+ .find(p => p.tokenId === tokenId && p.status === 'open');
471
+ if (existing) {
472
+ pm.closePosition(existing.id, result.avgFillPrice || price, 'manual');
473
+ }
474
+ }
475
+ catch { /* position tracking non-critical */ }
476
+ return [
477
+ `SELL ${size} shares @ ${(price * 100).toFixed(0)}c`,
478
+ `Token: ${tokenId.slice(0, 20)}...`,
479
+ `Order: ${result.orderId}`,
480
+ result.transactionHash ? `Tx: ${result.transactionHash}` : '',
481
+ negRisk ? '(neg-risk market)' : '',
482
+ ].filter(Boolean).join('\n');
483
+ }
484
+ return `Order failed: ${result.error}`;
485
+ }
486
+ catch (error) {
487
+ const message = error instanceof Error ? error.message : String(error);
488
+ return `Error: ${message}`;
489
+ }
490
+ }
491
+ async function handleOrders() {
492
+ const exec = getExecution();
493
+ if (!exec) {
494
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to view orders.';
495
+ }
496
+ try {
497
+ const orders = await exec.getOpenOrders('polymarket');
498
+ if (orders.length === 0) {
499
+ return 'No open Polymarket orders';
500
+ }
501
+ const lines = ['**Polymarket Open Orders**', ''];
502
+ for (const o of orders) {
503
+ const tokenDisplay = o.tokenId ? o.tokenId.slice(0, 12) + '...' : o.marketId;
504
+ lines.push(` [${o.orderId.slice(0, 10)}...] ${o.side.toUpperCase()} @ ${(o.price * 100).toFixed(0)}c x ${o.remainingSize}/${o.originalSize}`);
505
+ lines.push(` Token: ${tokenDisplay} | Filled: ${o.filledSize}`);
506
+ }
507
+ return lines.join('\n');
508
+ }
509
+ catch (error) {
510
+ const message = error instanceof Error ? error.message : String(error);
511
+ return `Error: ${message}`;
512
+ }
513
+ }
514
+ async function handleCancel(orderId) {
515
+ const exec = getExecution();
516
+ if (!exec) {
517
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to cancel orders.';
518
+ }
519
+ if (!orderId) {
520
+ return 'Usage: /poly cancel <order-id|all>';
521
+ }
522
+ try {
523
+ if (orderId.toLowerCase() === 'all') {
524
+ const count = await exec.cancelAllOrders('polymarket');
525
+ return `Cancelled ${count} Polymarket order(s)`;
526
+ }
527
+ const success = await exec.cancelOrder('polymarket', orderId);
528
+ return success ? `Order ${orderId} cancelled` : `Failed to cancel order ${orderId}`;
529
+ }
530
+ catch (error) {
531
+ const message = error instanceof Error ? error.message : String(error);
532
+ return `Error: ${message}`;
533
+ }
534
+ }
535
+ async function handleBalance() {
536
+ const funderAddress = process.env.POLY_FUNDER_ADDRESS;
537
+ if (!funderAddress) {
538
+ return 'Set POLY_FUNDER_ADDRESS to check USDC balance.';
539
+ }
540
+ try {
541
+ // Try CLOB API first
542
+ const { getPolymarketBalance, getPolymarketPositions } = await Promise.resolve().then(() => __importStar(require('../../../execution/index')));
543
+ const apiKey = process.env.POLY_API_KEY;
544
+ const apiSecret = process.env.POLY_API_SECRET;
545
+ const apiPassphrase = process.env.POLY_API_PASSPHRASE;
546
+ if (apiKey && apiSecret && apiPassphrase) {
547
+ const auth = { apiKey, apiSecret, apiPassphrase, address: funderAddress };
548
+ const [balanceData, positions] = await Promise.all([
549
+ getPolymarketBalance(auth, funderAddress),
550
+ getPolymarketPositions(auth, funderAddress),
551
+ ]);
552
+ let output = [
553
+ '**Polymarket Balance**',
554
+ '',
555
+ `Wallet: ${funderAddress.slice(0, 6)}...${funderAddress.slice(-4)}`,
556
+ `USDC: $${formatNumber(balanceData.balance)}`,
557
+ `Allowance: $${formatNumber(balanceData.allowance)}`,
558
+ ];
559
+ if (positions.length > 0) {
560
+ output.push('', '**Positions:**');
561
+ let totalValue = 0;
562
+ let totalPnl = 0;
563
+ for (const p of positions.slice(0, 10)) {
564
+ const value = p.size * p.currentPrice;
565
+ totalValue += value;
566
+ totalPnl += p.unrealizedPnl;
567
+ const pnlStr = p.unrealizedPnl >= 0 ? `+$${p.unrealizedPnl.toFixed(2)}` : `-$${Math.abs(p.unrealizedPnl).toFixed(2)}`;
568
+ output.push(` ${p.tokenId.slice(0, 10)}... ${p.size.toFixed(0)} @ ${(p.currentPrice * 100).toFixed(0)}c = $${value.toFixed(2)} (${pnlStr})`);
569
+ }
570
+ if (positions.length > 10) {
571
+ output.push(` ... and ${positions.length - 10} more`);
572
+ }
573
+ output.push('', `**Total Position Value:** $${formatNumber(totalValue)}`);
574
+ output.push(`**Unrealized PnL:** ${totalPnl >= 0 ? '+' : ''}$${formatNumber(totalPnl)}`);
575
+ }
576
+ return output.join('\n');
577
+ }
578
+ // Fallback: Query USDC balance on Polygon via public RPC
579
+ const USDC_CONTRACT = '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174'; // USDC on Polygon
580
+ const balanceData = `0x70a08231000000000000000000000000${funderAddress.slice(2).toLowerCase()}`;
581
+ const response = await fetch('https://polygon-rpc.com/', {
582
+ method: 'POST',
583
+ headers: { 'Content-Type': 'application/json' },
584
+ body: JSON.stringify({
585
+ jsonrpc: '2.0',
586
+ method: 'eth_call',
587
+ params: [{ to: USDC_CONTRACT, data: balanceData }, 'latest'],
588
+ id: 1,
589
+ }),
590
+ });
591
+ const result = await response.json();
592
+ const rawBalance = parseInt(result.result || '0x0', 16);
593
+ const balance = rawBalance / 1e6; // USDC has 6 decimals
594
+ return [
595
+ '**Polymarket Balance**',
596
+ '',
597
+ `Wallet: ${funderAddress.slice(0, 6)}...${funderAddress.slice(-4)}`,
598
+ `USDC: $${formatNumber(balance)}`,
599
+ '',
600
+ '_Set POLY_API_KEY, POLY_API_SECRET, POLY_API_PASSPHRASE to see positions_',
601
+ ].join('\n');
602
+ }
603
+ catch (error) {
604
+ const message = error instanceof Error ? error.message : String(error);
605
+ return `Error fetching balance: ${message}`;
606
+ }
607
+ }
608
+ async function handleWhales() {
609
+ try {
610
+ // Use the whale tracker module if available
611
+ const { createWhaleTracker } = await Promise.resolve().then(() => __importStar(require('../../../feeds/polymarket/whale-tracker')));
612
+ const tracker = createWhaleTracker();
613
+ // Start the tracker to collect trades
614
+ if (!tracker.isRunning()) {
615
+ await tracker.start();
616
+ }
617
+ // Get recent whale trades
618
+ const trades = tracker.getRecentTrades(10);
619
+ if (!trades || trades.length === 0) {
620
+ // Fall back to top whales
621
+ const topWhales = tracker.getTopWhales(5);
622
+ if (topWhales.length === 0) {
623
+ return 'No whale activity detected yet. The tracker is now running and will collect data.';
624
+ }
625
+ const lines = ['**Top Whales**', ''];
626
+ for (const w of topWhales) {
627
+ lines.push(` ${w.address.slice(0, 10)}... | $${formatNumber(w.totalValue)} | WR: ${(w.winRate * 100).toFixed(0)}%`);
628
+ lines.push(` Positions: ${w.positions.length} | Last active: ${w.lastActive.toLocaleTimeString()}`);
629
+ }
630
+ return lines.join('\n');
631
+ }
632
+ const lines = ['**Recent Whale Trades**', ''];
633
+ for (const t of trades) {
634
+ lines.push(` ${t.side.toUpperCase()} $${formatNumber(t.usdValue)} @ ${(t.price * 100).toFixed(0)}c`);
635
+ lines.push(` ${t.outcome} on ${t.marketQuestion || t.marketId.slice(0, 20) + '...'}`);
636
+ lines.push(` Maker: ${t.maker.slice(0, 10)}... | ${new Date(t.timestamp).toLocaleTimeString()}`);
637
+ }
638
+ return lines.join('\n');
639
+ }
640
+ catch {
641
+ return 'Whale tracking not available. The whale-tracker module may not be configured.';
642
+ }
643
+ }
644
+ // =============================================================================
645
+ // ADVANCED ORDER HANDLERS
646
+ // =============================================================================
647
+ let autoRedeemerStarted = false;
648
+ async function ensureAutoRedeemer() {
649
+ const privateKey = process.env.POLY_PRIVATE_KEY;
650
+ const funderAddress = process.env.POLY_FUNDER_ADDRESS;
651
+ const apiKey = process.env.POLY_API_KEY;
652
+ const apiSecret = process.env.POLY_API_SECRET;
653
+ const passphrase = process.env.POLY_API_PASSPHRASE;
654
+ if (!privateKey || !funderAddress || !apiKey || !apiSecret || !passphrase) {
655
+ return 'Set POLY_PRIVATE_KEY, POLY_FUNDER_ADDRESS, POLY_API_KEY, POLY_API_SECRET, POLY_API_PASSPHRASE to redeem.';
656
+ }
657
+ if (!autoRedeemer) {
658
+ const { createAutoRedeemer } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
659
+ autoRedeemer = createAutoRedeemer({
660
+ polymarketAuth: { address: funderAddress, apiKey, apiSecret, apiPassphrase: passphrase },
661
+ privateKey,
662
+ funderAddress,
663
+ pollIntervalMs: parseInt(process.env.POLY_REDEEM_INTERVAL_MS || '60000', 10),
664
+ dryRun: process.env.DRY_RUN === 'true',
665
+ });
666
+ // Set up event listeners for logging
667
+ autoRedeemer.on('redemption_success', (result) => {
668
+ logger_1.logger.info({ conditionId: result.conditionId, usdc: result.usdcRedeemed }, 'Auto-redemption successful');
669
+ });
670
+ autoRedeemer.on('redemption_failed', (result) => {
671
+ logger_1.logger.warn({ conditionId: result.conditionId, error: result.error }, 'Auto-redemption failed');
672
+ });
673
+ autoRedeemer.on('position_expired', (data) => {
674
+ logger_1.logger.info({ conditionId: data.conditionId, outcome: data.outcome }, 'Position expired (losing side)');
675
+ });
676
+ }
677
+ return null;
678
+ }
679
+ async function handleRedeem(subCmd, arg2) {
680
+ // Subcommands: start, stop, status, pending, or conditionId/tokenId for manual redeem
681
+ if (subCmd === 'start') {
682
+ const error = await ensureAutoRedeemer();
683
+ if (error)
684
+ return error;
685
+ if (autoRedeemerStarted) {
686
+ return 'Auto-redeemer already running. Use `/poly redeem status` to check.';
687
+ }
688
+ autoRedeemer.start();
689
+ autoRedeemerStarted = true;
690
+ const interval = parseInt(process.env.POLY_REDEEM_INTERVAL_MS || '60000', 10) / 1000;
691
+ return `**Auto-redeemer started**\n\nPolling every ${interval}s for resolved positions.\nUse \`/poly redeem stop\` to stop.`;
692
+ }
693
+ if (subCmd === 'stop') {
694
+ if (!autoRedeemer || !autoRedeemerStarted) {
695
+ return 'Auto-redeemer is not running.';
696
+ }
697
+ autoRedeemer.stop();
698
+ autoRedeemerStarted = false;
699
+ return 'Auto-redeemer stopped.';
700
+ }
701
+ if (subCmd === 'status') {
702
+ const error = await ensureAutoRedeemer();
703
+ if (error)
704
+ return error;
705
+ const pending = autoRedeemer.getPendingRedemptions();
706
+ const lines = [
707
+ '**Auto-Redeemer Status**',
708
+ '',
709
+ `Running: ${autoRedeemerStarted ? 'Yes' : 'No'}`,
710
+ `Pending redemptions: ${pending.length}`,
711
+ ];
712
+ if (pending.length > 0) {
713
+ lines.push('', '**Pending:**');
714
+ for (const p of pending) {
715
+ lines.push(` ${p.conditionId.slice(0, 12)}... | ${p.shares} shares | ${p.outcome || 'unknown'}`);
716
+ if (p.marketQuestion)
717
+ lines.push(` ${p.marketQuestion.slice(0, 60)}...`);
718
+ }
719
+ }
720
+ return lines.join('\n');
721
+ }
722
+ if (subCmd === 'pending') {
723
+ const error = await ensureAutoRedeemer();
724
+ if (error)
725
+ return error;
726
+ const pending = autoRedeemer.getPendingRedemptions();
727
+ if (pending.length === 0)
728
+ return 'No pending redemptions.';
729
+ const lines = ['**Pending Redemptions**', ''];
730
+ for (const p of pending) {
731
+ lines.push(` Condition: ${p.conditionId}`);
732
+ lines.push(` Token: ${p.tokenId}`);
733
+ lines.push(` Shares: ${p.shares}`);
734
+ if (p.outcome)
735
+ lines.push(` Outcome: ${p.outcome}`);
736
+ if (p.marketQuestion)
737
+ lines.push(` Market: ${p.marketQuestion}`);
738
+ lines.push('');
739
+ }
740
+ return lines.join('\n');
741
+ }
742
+ // Manual redeem: /poly redeem [conditionId] [tokenId] or /poly redeem (all)
743
+ const error = await ensureAutoRedeemer();
744
+ if (error)
745
+ return error;
746
+ try {
747
+ // If both provided, redeem specific position
748
+ if (subCmd && arg2) {
749
+ const result = await autoRedeemer.redeemPosition(subCmd, arg2);
750
+ if (result.success) {
751
+ return [
752
+ '**Redemption Successful**',
753
+ '',
754
+ `Condition: ${result.conditionId}`,
755
+ `Token: ${result.tokenId}`,
756
+ `Shares: ${result.shares}`,
757
+ `USDC: $${result.usdcRedeemed.toFixed(2)}`,
758
+ result.txHash ? `Tx: ${result.txHash}` : '',
759
+ ].filter(Boolean).join('\n');
760
+ }
761
+ return `Redemption failed: ${result.error}`;
762
+ }
763
+ // Otherwise, redeem all resolved positions
764
+ const results = await autoRedeemer.redeemAll();
765
+ if (results.length === 0) {
766
+ return 'No resolved positions to redeem.';
767
+ }
768
+ const lines = ['**Redemption Results**', ''];
769
+ for (const r of results) {
770
+ const status = r.success ? 'OK' : 'FAIL';
771
+ lines.push(` [${status}] ${r.conditionId.slice(0, 12)}... | ${r.shares} shares | $${r.usdcRedeemed.toFixed(2)} USDC`);
772
+ if (r.txHash)
773
+ lines.push(` Tx: ${r.txHash}`);
774
+ if (r.error)
775
+ lines.push(` Error: ${r.error}`);
776
+ }
777
+ const successes = results.filter(r => r.success);
778
+ const totalUsdc = successes.reduce((s, r) => s + r.usdcRedeemed, 0);
779
+ lines.push('', `Total: ${successes.length}/${results.length} redeemed, $${totalUsdc.toFixed(2)} USDC`);
780
+ return lines.join('\n');
781
+ }
782
+ catch (err) {
783
+ const message = err instanceof Error ? err.message : String(err);
784
+ return `Error: ${message}`;
785
+ }
786
+ }
787
+ async function handleTwap(subCmdOrSide, tokenIdOrId, totalStr, priceStr, slicesStr, intervalStr) {
788
+ // Sub-commands: status, cancel
789
+ if (subCmdOrSide === 'status') {
790
+ if (activeTwaps.size === 0)
791
+ return 'No active TWAP orders.';
792
+ const lines = ['**Active TWAP Orders**', ''];
793
+ for (const [id, twap] of activeTwaps) {
794
+ const p = twap.getProgress();
795
+ const pct = p.totalSize > 0 ? ((p.filledSize / p.totalSize) * 100).toFixed(0) : '0';
796
+ lines.push(` [${id}] ${pct}% filled | ${p.filledSize}/${p.totalSize} | ${p.slicesCompleted}/${p.slicesTotal} slices | avg ${(p.avgFillPrice * 100).toFixed(1)}c | ${p.status}`);
797
+ }
798
+ return lines.join('\n');
799
+ }
800
+ if (subCmdOrSide === 'cancel') {
801
+ if (!tokenIdOrId)
802
+ return 'Usage: /poly twap cancel <id>';
803
+ const twap = activeTwaps.get(tokenIdOrId);
804
+ if (!twap)
805
+ return `TWAP order ${tokenIdOrId} not found. Active: ${[...activeTwaps.keys()].join(', ') || 'none'}`;
806
+ await twap.cancel();
807
+ activeTwaps.delete(tokenIdOrId);
808
+ return `TWAP ${tokenIdOrId} cancelled.`;
809
+ }
810
+ // Create new TWAP: twap <buy|sell> <token> <total> <price> [slices] [interval-sec]
811
+ const side = subCmdOrSide?.toLowerCase();
812
+ if (side !== 'buy' && side !== 'sell') {
813
+ return 'Usage: /poly twap <buy|sell> <token> <total> <price> [slices] [interval-sec]\n /poly twap status\n /poly twap cancel <id>';
814
+ }
815
+ const exec = getExecution();
816
+ if (!exec) {
817
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to trade.';
818
+ }
819
+ const tokenId = tokenIdOrId;
820
+ if (!tokenId || !totalStr || !priceStr) {
821
+ return 'Usage: /poly twap <buy|sell> <token> <total> <price> [slices] [interval-sec]';
822
+ }
823
+ const totalSize = parseFloat(totalStr);
824
+ const price = parseFloat(priceStr);
825
+ const slices = slicesStr ? parseInt(slicesStr, 10) : 5;
826
+ const intervalSec = intervalStr ? parseInt(intervalStr, 10) : 30;
827
+ if (isNaN(totalSize) || totalSize <= 0)
828
+ return 'Invalid total size.';
829
+ if (isNaN(price) || price < 0.01 || price > 0.99)
830
+ return 'Invalid price (0.01-0.99).';
831
+ if (isNaN(slices) || slices < 1)
832
+ return 'Invalid slices count.';
833
+ if (isNaN(intervalSec) || intervalSec < 1)
834
+ return 'Invalid interval.';
835
+ try {
836
+ let negRisk;
837
+ try {
838
+ const { checkPolymarketNegRisk } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
839
+ negRisk = await checkPolymarketNegRisk(tokenId);
840
+ }
841
+ catch { /* non-critical */ }
842
+ const { createTwapOrder } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
843
+ const id = `twap_${nextOrderId++}`;
844
+ const sliceSize = totalSize / slices;
845
+ const twap = createTwapOrder(exec, { platform: 'polymarket', marketId: tokenId, tokenId, side: side, price, negRisk }, { totalSize, sliceSize, intervalMs: intervalSec * 1000 });
846
+ activeTwaps.set(id, twap);
847
+ twap.on('completed', () => { activeTwaps.delete(id); });
848
+ twap.on('cancelled', () => { activeTwaps.delete(id); });
849
+ twap.start();
850
+ return `TWAP started: ${side.toUpperCase()} ${totalSize} shares @ ${(price * 100).toFixed(0)}c in ${slices} slices every ${intervalSec}s (ID: ${id})`;
851
+ }
852
+ catch (error) {
853
+ const message = error instanceof Error ? error.message : String(error);
854
+ return `Error: ${message}`;
855
+ }
856
+ }
857
+ async function handleBracket(subCmdOrToken, sizeStrOrId, tpPriceStr, slPriceStr) {
858
+ // Sub-commands: status, cancel
859
+ if (subCmdOrToken === 'status') {
860
+ if (activeBrackets.size === 0)
861
+ return 'No active bracket orders.';
862
+ const lines = ['**Active Bracket Orders**', ''];
863
+ for (const [id, bracket] of activeBrackets) {
864
+ const s = bracket.getStatus();
865
+ lines.push(` [${id}] TP: ${s.takeProfitOrderId?.slice(0, 10) || '—'}... | SL: ${s.stopLossOrderId?.slice(0, 10) || '—'}... | ${s.status}`);
866
+ if (s.filledSide)
867
+ lines.push(` Filled: ${s.filledSide} @ ${s.fillPrice ? (s.fillPrice * 100).toFixed(1) + 'c' : '—'}`);
868
+ }
869
+ return lines.join('\n');
870
+ }
871
+ if (subCmdOrToken === 'cancel') {
872
+ if (!sizeStrOrId)
873
+ return 'Usage: /poly bracket cancel <id>';
874
+ const bracket = activeBrackets.get(sizeStrOrId);
875
+ if (!bracket)
876
+ return `Bracket ${sizeStrOrId} not found. Active: ${[...activeBrackets.keys()].join(', ') || 'none'}`;
877
+ await bracket.cancel();
878
+ activeBrackets.delete(sizeStrOrId);
879
+ return `Bracket ${sizeStrOrId} cancelled.`;
880
+ }
881
+ // Create new bracket: bracket <token> <size> <tp> <sl>
882
+ const exec = getExecution();
883
+ if (!exec) {
884
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to trade.';
885
+ }
886
+ const tokenId = subCmdOrToken;
887
+ if (!tokenId || !sizeStrOrId || !tpPriceStr || !slPriceStr) {
888
+ return 'Usage: /poly bracket <token> <size> <tp-price> <sl-price>\n /poly bracket status\n /poly bracket cancel <id>';
889
+ }
890
+ const size = parseFloat(sizeStrOrId);
891
+ const tpPrice = parseFloat(tpPriceStr);
892
+ const slPrice = parseFloat(slPriceStr);
893
+ if (isNaN(size) || size <= 0)
894
+ return 'Invalid size.';
895
+ if (isNaN(tpPrice) || tpPrice < 0.01 || tpPrice > 0.99)
896
+ return 'Invalid take-profit price (0.01-0.99).';
897
+ if (isNaN(slPrice) || slPrice < 0.01 || slPrice > 0.99)
898
+ return 'Invalid stop-loss price (0.01-0.99).';
899
+ try {
900
+ let negRisk;
901
+ try {
902
+ const { checkPolymarketNegRisk } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
903
+ negRisk = await checkPolymarketNegRisk(tokenId);
904
+ }
905
+ catch { /* non-critical */ }
906
+ const { createBracketOrder } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
907
+ const id = `bracket_${nextOrderId++}`;
908
+ const bracket = createBracketOrder(exec, {
909
+ platform: 'polymarket',
910
+ marketId: tokenId,
911
+ tokenId,
912
+ size,
913
+ side: 'long',
914
+ takeProfitPrice: tpPrice,
915
+ stopLossPrice: slPrice,
916
+ negRisk,
917
+ });
918
+ activeBrackets.set(id, bracket);
919
+ bracket.on('take_profit_hit', () => { activeBrackets.delete(id); });
920
+ bracket.on('stop_loss_hit', () => { activeBrackets.delete(id); });
921
+ bracket.on('cancelled', () => { activeBrackets.delete(id); });
922
+ await bracket.start();
923
+ return `Bracket set: TP @ ${(tpPrice * 100).toFixed(0)}c / SL @ ${(slPrice * 100).toFixed(0)}c for ${size} shares (ID: ${id})`;
924
+ }
925
+ catch (error) {
926
+ const message = error instanceof Error ? error.message : String(error);
927
+ return `Error: ${message}`;
928
+ }
929
+ }
930
+ async function handleTrigger(subCmd, args) {
931
+ // List triggers
932
+ if (subCmd === 'list' || !subCmd) {
933
+ if (!triggerManager)
934
+ return 'No trigger orders. Use /poly trigger buy or /poly trigger sell to create one.';
935
+ const triggers = triggerManager.getTriggers();
936
+ if (triggers.length === 0)
937
+ return 'No trigger orders.';
938
+ const lines = ['**Trigger Orders**', ''];
939
+ for (const t of triggers) {
940
+ const cond = t.config.condition;
941
+ const condStr = cond.type === 'price_below' ? `<= ${(cond.price * 100).toFixed(0)}c`
942
+ : cond.type === 'price_above' ? `>= ${(cond.price * 100).toFixed(0)}c`
943
+ : cond.type === 'price_cross' ? `cross ${(cond.price * 100).toFixed(0)}c ${cond.direction}`
944
+ : `spread < ${cond.maxSpread}`;
945
+ const { order } = t.config;
946
+ lines.push(` [${t.id}] ${order.side.toUpperCase()} ${order.size} when ${condStr} | ${t.status}`);
947
+ lines.push(` Token: ${(t.config.tokenId || t.config.marketId).slice(0, 20)}...`);
948
+ if (t.triggeredAt)
949
+ lines.push(` Triggered: ${t.triggeredAt.toLocaleTimeString()}`);
950
+ }
951
+ return lines.join('\n');
952
+ }
953
+ // Cancel trigger
954
+ if (subCmd === 'cancel') {
955
+ if (!args[0])
956
+ return 'Usage: /poly trigger cancel <trigger-id>';
957
+ if (!triggerManager)
958
+ return 'No active trigger manager.';
959
+ triggerManager.cancelTrigger(args[0]);
960
+ return `Trigger ${args[0]} cancelled.`;
961
+ }
962
+ // Create trigger: buy/sell <token> <size> <trigger-price> [limit-price]
963
+ const side = subCmd.toLowerCase();
964
+ if (side !== 'buy' && side !== 'sell') {
965
+ return [
966
+ 'Usage:',
967
+ ' /poly trigger buy <token> <size> <trigger-price> [limit-price]',
968
+ ' /poly trigger sell <token> <size> <trigger-price> [limit-price]',
969
+ ' /poly trigger cancel <trigger-id>',
970
+ ' /poly triggers (or /poly trigger list)',
971
+ ].join('\n');
972
+ }
973
+ const exec = getExecution();
974
+ if (!exec) {
975
+ return 'Set POLY_API_KEY, POLY_API_SECRET, and POLY_API_PASSPHRASE to trade.';
976
+ }
977
+ const [tokenId, sizeStr, triggerPriceStr, limitPriceStr] = args;
978
+ if (!tokenId || !sizeStr || !triggerPriceStr) {
979
+ return `Usage: /poly trigger ${side} <token> <size> <trigger-price> [limit-price]`;
980
+ }
981
+ const size = parseFloat(sizeStr);
982
+ const triggerPrice = parseFloat(triggerPriceStr);
983
+ const limitPrice = limitPriceStr ? parseFloat(limitPriceStr) : undefined;
984
+ if (isNaN(size) || size <= 0)
985
+ return 'Invalid size.';
986
+ if (isNaN(triggerPrice) || triggerPrice < 0.01 || triggerPrice > 0.99)
987
+ return 'Invalid trigger price (0.01-0.99).';
988
+ if (limitPrice !== undefined && (isNaN(limitPrice) || limitPrice < 0.01 || limitPrice > 0.99))
989
+ return 'Invalid limit price (0.01-0.99).';
990
+ try {
991
+ if (!triggerManager) {
992
+ const feed = await getFeed();
993
+ const { createTriggerOrderManager } = await Promise.resolve().then(() => __importStar(require('../../../execution')));
994
+ triggerManager = createTriggerOrderManager(exec, feed);
995
+ triggerManager.start();
996
+ }
997
+ const conditionType = side === 'buy' ? 'price_below' : 'price_above';
998
+ const triggerId = triggerManager.addTrigger({
999
+ platform: 'polymarket',
1000
+ marketId: tokenId,
1001
+ tokenId,
1002
+ condition: { type: conditionType, price: triggerPrice },
1003
+ order: {
1004
+ side: side,
1005
+ size,
1006
+ price: limitPrice,
1007
+ },
1008
+ });
1009
+ const condDesc = side === 'buy'
1010
+ ? `price <= ${(triggerPrice * 100).toFixed(0)}c`
1011
+ : `price >= ${(triggerPrice * 100).toFixed(0)}c`;
1012
+ const limitDesc = limitPrice ? ` @ ${(limitPrice * 100).toFixed(0)}c limit` : ' (market)';
1013
+ return `Trigger set: ${side.toUpperCase()} ${size} shares when ${condDesc}${limitDesc} (ID: ${triggerId})`;
1014
+ }
1015
+ catch (error) {
1016
+ const message = error instanceof Error ? error.message : String(error);
1017
+ return `Error: ${message}`;
1018
+ }
1019
+ }
1020
+ // =============================================================================
1021
+ // MAIN HANDLER
1022
+ // =============================================================================
1023
+ async function execute(args) {
1024
+ const parts = args.trim().split(/\s+/);
1025
+ const cmd = parts[0]?.toLowerCase() || 'help';
1026
+ try {
1027
+ switch (cmd) {
1028
+ case 'search':
1029
+ case 's':
1030
+ return handleSearch(parts.slice(1).join(' '));
1031
+ case 'market':
1032
+ case 'm':
1033
+ return handleMarket(parts[1]);
1034
+ case 'book':
1035
+ case 'orderbook':
1036
+ case 'ob':
1037
+ return handleOrderbook(parts[1]);
1038
+ case 'buy':
1039
+ case 'b':
1040
+ return handleBuy(parts[1], parts[2], parts[3]);
1041
+ case 'sell':
1042
+ return handleSell(parts[1], parts[2], parts[3]);
1043
+ case 'positions':
1044
+ case 'pos':
1045
+ case 'orders':
1046
+ case 'o':
1047
+ return handleOrders();
1048
+ case 'cancel':
1049
+ return handleCancel(parts[1]);
1050
+ case 'balance':
1051
+ case 'bal':
1052
+ return handleBalance();
1053
+ case 'whales':
1054
+ case 'whale':
1055
+ return handleWhales();
1056
+ case 'redeem':
1057
+ return handleRedeem(parts[1], parts[2]);
1058
+ case 'twap':
1059
+ return handleTwap(parts[1], parts[2], parts[3], parts[4], parts[5], parts[6]);
1060
+ case 'bracket':
1061
+ return handleBracket(parts[1], parts[2], parts[3], parts[4]);
1062
+ case 'trigger':
1063
+ return handleTrigger(parts[1], parts.slice(2));
1064
+ case 'triggers':
1065
+ return handleTrigger('list', []);
1066
+ case 'route':
1067
+ case 'compare': {
1068
+ if (!parts[1] || !parts[2] || !parts[3]) {
1069
+ return 'Usage: /poly route <token-id> <buy|sell> <size>';
1070
+ }
1071
+ const routeMarketId = parts[1];
1072
+ const routeSide = parts[2];
1073
+ const routeSize = parseFloat(parts[3]);
1074
+ if (routeSide !== 'buy' && routeSide !== 'sell')
1075
+ return 'Side must be buy or sell.';
1076
+ if (isNaN(routeSize) || routeSize <= 0)
1077
+ return 'Invalid size.';
1078
+ try {
1079
+ const { createSmartRouter } = await Promise.resolve().then(() => __importStar(require('../../../execution/smart-router')));
1080
+ const { createFeedManager } = await Promise.resolve().then(() => __importStar(require('../../../feeds/index')));
1081
+ const feeds = await createFeedManager({
1082
+ polymarket: { enabled: true },
1083
+ kalshi: { enabled: true },
1084
+ manifold: { enabled: false },
1085
+ metaculus: { enabled: false },
1086
+ drift: { enabled: false },
1087
+ news: { enabled: false },
1088
+ });
1089
+ const router = createSmartRouter(feeds, { mode: 'balanced' });
1090
+ const routeResult = await router.findBestRoute({ marketId: routeMarketId, side: routeSide, size: routeSize });
1091
+ let output = `**Route: ${routeSide.toUpperCase()} ${routeSize} on ${routeMarketId.slice(0, 20)}...**\n\n`;
1092
+ output += `Best: ${routeResult.bestRoute.platform} @ ${(routeResult.bestRoute.netPrice * 100).toFixed(1)}c\n`;
1093
+ output += `Fees: $${routeResult.bestRoute.estimatedFees.toFixed(4)}\n`;
1094
+ output += `Slippage: ${routeResult.bestRoute.slippage.toFixed(2)}%\n\n`;
1095
+ if (routeResult.allRoutes.length > 1) {
1096
+ output += `**All Platforms:**\n`;
1097
+ for (const r of routeResult.allRoutes) {
1098
+ output += ` ${r.platform}: ${(r.netPrice * 100).toFixed(1)}c (fees: $${r.estimatedFees.toFixed(4)})\n`;
1099
+ }
1100
+ }
1101
+ output += `\n${routeResult.recommendation}`;
1102
+ return output;
1103
+ }
1104
+ catch (error) {
1105
+ const message = error instanceof Error ? error.message : String(error);
1106
+ return `Route error: ${message}`;
1107
+ }
1108
+ }
1109
+ case 'circuit': {
1110
+ const cb = await getCircuitBreaker();
1111
+ const state = cb.getState();
1112
+ return `**Circuit Breaker**\n\n` +
1113
+ `Status: ${state.isTripped ? 'TRIPPED' : 'Armed'}\n` +
1114
+ `Session PnL: $${state.sessionPnL.toFixed(2)}\n` +
1115
+ `Daily trades: ${state.dailyTrades}\n` +
1116
+ `Consecutive losses: ${state.consecutiveLosses}\n` +
1117
+ `Error rate: ${(state.errorRate * 100).toFixed(0)}%\n` +
1118
+ (state.tripReason ? `Trip reason: ${state.tripReason}\n` : '') +
1119
+ `\nUse \`/risk trip\` / \`/risk reset\` to manually control.`;
1120
+ }
1121
+ case 'fills': {
1122
+ // /poly fills [status|stop|clear]
1123
+ const subcommand = parts[1]?.toLowerCase();
1124
+ const exec = getExecution();
1125
+ if (!exec) {
1126
+ return 'Polymarket trading not configured. Set env vars and restart.';
1127
+ }
1128
+ if (subcommand === 'status') {
1129
+ const connected = exec.isFillsWebSocketConnected();
1130
+ const fills = exec.getTrackedFills();
1131
+ const recentFills = fills.slice(-5);
1132
+ let output = `**Fills WebSocket Status**\n`;
1133
+ output += `Connection: ${connected ? 'Connected' : 'Disconnected'}\n`;
1134
+ output += `Tracked fills: ${fills.length}\n\n`;
1135
+ if (recentFills.length > 0) {
1136
+ output += `**Recent Fills:**\n`;
1137
+ for (const fill of recentFills) {
1138
+ output += `- ${fill.orderId.slice(0, 8)}... ${fill.side.toUpperCase()} ${fill.size}@${fill.price} [${fill.status}]`;
1139
+ if (fill.transactionHash) {
1140
+ output += ` tx:${fill.transactionHash.slice(0, 10)}...`;
1141
+ }
1142
+ output += '\n';
1143
+ }
1144
+ }
1145
+ return output;
1146
+ }
1147
+ if (subcommand === 'stop') {
1148
+ exec.disconnectFillsWebSocket();
1149
+ return 'Fills WebSocket disconnected.';
1150
+ }
1151
+ if (subcommand === 'clear') {
1152
+ const cleared = exec.clearOldFills(0); // Clear all
1153
+ return `Cleared ${cleared} tracked fills.`;
1154
+ }
1155
+ // Default: connect and show status
1156
+ try {
1157
+ await exec.connectFillsWebSocket();
1158
+ // Set up fill logging if not already
1159
+ let listenersSetUp = false;
1160
+ if (!listenersSetUp) {
1161
+ exec.onFill((fill) => {
1162
+ logger_1.logger.info({ fill }, `FILL: ${fill.side.toUpperCase()} ${fill.size}@${fill.price} [${fill.status}]`);
1163
+ });
1164
+ listenersSetUp = true;
1165
+ }
1166
+ return `Fills WebSocket connected!\n\n` +
1167
+ `Real-time fill notifications are now active.\n` +
1168
+ `Fill events will be logged as orders are matched, mined, and confirmed.\n\n` +
1169
+ `Commands:\n` +
1170
+ `- \`/poly fills status\` - Show connection status and recent fills\n` +
1171
+ `- \`/poly fills stop\` - Disconnect WebSocket\n` +
1172
+ `- \`/poly fills clear\` - Clear tracked fills`;
1173
+ }
1174
+ catch (err) {
1175
+ return `Failed to connect fills WebSocket: ${err instanceof Error ? err.message : String(err)}`;
1176
+ }
1177
+ }
1178
+ case 'trades':
1179
+ case 'history': {
1180
+ // /poly trades [limit]
1181
+ const limit = parseInt(parts[1]) || 20;
1182
+ const apiKey = process.env.POLY_API_KEY;
1183
+ const apiSecret = process.env.POLY_API_SECRET;
1184
+ const apiPassphrase = process.env.POLY_API_PASSPHRASE;
1185
+ if (!apiKey || !apiSecret || !apiPassphrase) {
1186
+ return 'Set POLY_API_KEY, POLY_API_SECRET, POLY_API_PASSPHRASE to view trades.';
1187
+ }
1188
+ try {
1189
+ const { getPolymarketTrades } = await Promise.resolve().then(() => __importStar(require('../../../execution/index')));
1190
+ const auth = { apiKey, apiSecret, apiPassphrase, address: process.env.POLY_FUNDER_ADDRESS || '' };
1191
+ const trades = await getPolymarketTrades(auth, limit);
1192
+ if (trades.length === 0) {
1193
+ return 'No recent trades found.';
1194
+ }
1195
+ let output = `**Recent Trades (${trades.length})**\n\n`;
1196
+ for (const t of trades) {
1197
+ const time = t.timestamp.toLocaleTimeString();
1198
+ output += `${time} ${t.side} ${t.size.toFixed(0)}@${(t.price * 100).toFixed(0)}c`;
1199
+ if (t.transactionHash) {
1200
+ output += ` [${t.transactionHash.slice(0, 8)}...]`;
1201
+ }
1202
+ output += '\n';
1203
+ }
1204
+ return output;
1205
+ }
1206
+ catch (error) {
1207
+ return `Error fetching trades: ${error instanceof Error ? error.message : String(error)}`;
1208
+ }
1209
+ }
1210
+ case 'heartbeat':
1211
+ case 'hb': {
1212
+ // /poly heartbeat [start|stop|status]
1213
+ const subcommand = parts[1]?.toLowerCase() || 'start';
1214
+ const exec = getExecution();
1215
+ if (!exec) {
1216
+ return 'Polymarket trading not configured. Set env vars and restart.';
1217
+ }
1218
+ if (subcommand === 'status') {
1219
+ const active = exec.isHeartbeatActive();
1220
+ return `**Heartbeat Status**\n` +
1221
+ `Active: ${active ? 'Yes - orders will stay alive' : 'No - orders may be cancelled after 10s'}\n\n` +
1222
+ `Commands:\n` +
1223
+ `- \`/poly heartbeat start\` - Start heartbeat\n` +
1224
+ `- \`/poly heartbeat stop\` - Stop heartbeat`;
1225
+ }
1226
+ if (subcommand === 'stop') {
1227
+ exec.stopHeartbeat();
1228
+ return 'Heartbeat stopped. Open orders will be cancelled within 10 seconds.';
1229
+ }
1230
+ // Default: start
1231
+ try {
1232
+ const hbId = await exec.startHeartbeat();
1233
+ return `Heartbeat started!\n\n` +
1234
+ `ID: ${hbId}\n` +
1235
+ `Your orders will now stay alive. Heartbeat is sent automatically every 8 seconds.\n\n` +
1236
+ `**Important:** Run \`/poly heartbeat stop\` when done trading, or orders will persist.`;
1237
+ }
1238
+ catch (err) {
1239
+ return `Failed to start heartbeat: ${err instanceof Error ? err.message : String(err)}`;
1240
+ }
1241
+ }
1242
+ case 'settlements':
1243
+ case 'settle': {
1244
+ // /poly settlements - Show pending settlements for resolved markets
1245
+ const exec = getExecution();
1246
+ if (!exec) {
1247
+ return 'Polymarket trading not configured. Set env vars and restart.';
1248
+ }
1249
+ const settlements = await exec.getPendingSettlements();
1250
+ if (settlements.length === 0) {
1251
+ return '**No Pending Settlements**\n\nYou have no claimable settlements from resolved markets.';
1252
+ }
1253
+ let output = '**Pending Settlements**\n\n';
1254
+ let totalClaimable = 0;
1255
+ for (const s of settlements) {
1256
+ output += `• ${s.outcome.toUpperCase()} @ ${s.marketId.slice(0, 12)}...\n`;
1257
+ output += ` Size: ${s.size.toFixed(2)} | Claimable: $${s.claimable.toFixed(2)}\n`;
1258
+ totalClaimable += s.claimable;
1259
+ }
1260
+ output += `\n**Total Claimable: $${totalClaimable.toFixed(2)}**`;
1261
+ output += '\n\n_Use Polymarket UI to claim settlements._';
1262
+ return output;
1263
+ }
1264
+ case 'allowance':
1265
+ case 'approval': {
1266
+ // /poly allowance - Check USDC approval status for trading
1267
+ const exec = getExecution();
1268
+ if (!exec) {
1269
+ return 'Polymarket trading not configured. Set env vars and restart.';
1270
+ }
1271
+ const allowance = await exec.getUSDCAllowance();
1272
+ const isApproved = allowance > 1000000; // > $1M effectively unlimited
1273
+ return '**USDC Allowance Status**\n\n' +
1274
+ `Current Allowance: ${isApproved ? '✅ Unlimited' : `$${allowance.toFixed(2)}`}\n` +
1275
+ (isApproved
1276
+ ? 'Your wallet is approved for trading.'
1277
+ : 'You may need to approve USDC spending via the Polymarket UI before trading.');
1278
+ }
1279
+ case 'orderbooks':
1280
+ case 'obs': {
1281
+ // /poly orderbooks <tokenId1> [tokenId2] ... - Batch fetch orderbooks
1282
+ const tokenIds = parts.slice(1).filter(t => t.length > 10);
1283
+ if (tokenIds.length === 0) {
1284
+ return 'Usage: `/poly orderbooks <tokenId1> [tokenId2] ...`\n\nFetch orderbooks for multiple tokens in one call.';
1285
+ }
1286
+ const exec = getExecution();
1287
+ if (!exec) {
1288
+ return 'Polymarket trading not configured. Set env vars and restart.';
1289
+ }
1290
+ const orderbooks = await exec.getOrderbooksBatch(tokenIds);
1291
+ let output = `**Orderbooks (${orderbooks.size} tokens)**\n\n`;
1292
+ for (const [tokenId, ob] of orderbooks) {
1293
+ if (!ob) {
1294
+ output += `• ${tokenId.slice(0, 12)}...: _Failed to fetch_\n`;
1295
+ continue;
1296
+ }
1297
+ const bestBid = ob.bids[0]?.[0] || 0;
1298
+ const bestAsk = ob.asks[0]?.[0] || 1;
1299
+ const spread = ((bestAsk - bestBid) * 100).toFixed(1);
1300
+ output += `• ${tokenId.slice(0, 12)}...: Bid ${bestBid.toFixed(2)} / Ask ${bestAsk.toFixed(2)} (${spread}% spread)\n`;
1301
+ }
1302
+ return output;
1303
+ }
1304
+ case 'help':
1305
+ default:
1306
+ return helpText();
1307
+ }
1308
+ }
1309
+ catch (error) {
1310
+ const message = error instanceof Error ? error.message : String(error);
1311
+ logger_1.logger.error({ error: message, args }, 'Polymarket command failed');
1312
+ return `Error: ${message}`;
1313
+ }
1314
+ }
1315
+ exports.default = {
1316
+ name: 'trading-polymarket',
1317
+ description: 'Polymarket trading - CLOB orders, positions, orderbooks',
1318
+ commands: ['/poly', '/trading-polymarket'],
1319
+ handle: execute,
1320
+ };
1321
+ //# sourceMappingURL=index.js.map