clodds 1.5.1 → 1.5.2

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 (423) hide show
  1. package/dist/acp/identity.js +21 -13
  2. package/dist/acp/identity.js.map +1 -1
  3. package/dist/acp/persistence.js +9 -7
  4. package/dist/acp/persistence.js.map +1 -1
  5. package/dist/acp/registry.js +7 -3
  6. package/dist/acp/registry.js.map +1 -1
  7. package/dist/agents/handlers/agentbets.js.map +1 -1
  8. package/dist/agents/handlers/paper-trading.js +1 -1
  9. package/dist/agents/handlers/paper-trading.js.map +1 -1
  10. package/dist/agents/handlers/predictfun.js +4 -2
  11. package/dist/agents/handlers/predictfun.js.map +1 -1
  12. package/dist/agents/index.js +5 -1
  13. package/dist/agents/index.js.map +1 -1
  14. package/dist/alerts/index.js +5 -5
  15. package/dist/alerts/index.js.map +1 -1
  16. package/dist/alerts/realtime.js +8 -0
  17. package/dist/alerts/realtime.js.map +1 -1
  18. package/dist/api/apikeys.js +1 -1
  19. package/dist/api/compute/code.js +4 -1
  20. package/dist/api/compute/code.js.map +1 -1
  21. package/dist/api/compute/data.js +8 -2
  22. package/dist/api/compute/data.js.map +1 -1
  23. package/dist/api/compute/gateway.js +14 -9
  24. package/dist/api/compute/gateway.js.map +1 -1
  25. package/dist/api/compute/llm.js +14 -10
  26. package/dist/api/compute/llm.js.map +1 -1
  27. package/dist/api/compute/storage.js +6 -2
  28. package/dist/api/compute/storage.js.map +1 -1
  29. package/dist/api/compute/trade.js +6 -5
  30. package/dist/api/compute/trade.js.map +1 -1
  31. package/dist/api/compute/web.js +5 -0
  32. package/dist/api/compute/web.js.map +1 -1
  33. package/dist/api/fees.js +5 -1
  34. package/dist/api/fees.js.map +1 -1
  35. package/dist/api/gateway.js +35 -7
  36. package/dist/api/gateway.js.map +1 -1
  37. package/dist/api/jobs.js +15 -6
  38. package/dist/api/jobs.js.map +1 -1
  39. package/dist/api/middleware.js +12 -3
  40. package/dist/api/middleware.js.map +1 -1
  41. package/dist/api/sdk.js +1 -1
  42. package/dist/api/server.js +16 -7
  43. package/dist/api/server.js.map +1 -1
  44. package/dist/arbitrage/index.js +14 -4
  45. package/dist/arbitrage/index.js.map +1 -1
  46. package/dist/auth/copilot.js +3 -3
  47. package/dist/auth/copilot.js.map +1 -1
  48. package/dist/auth/google.js +6 -2
  49. package/dist/auth/google.js.map +1 -1
  50. package/dist/auth/oauth.js +18 -11
  51. package/dist/auth/oauth.js.map +1 -1
  52. package/dist/auth/qwen.js +4 -4
  53. package/dist/auth/qwen.js.map +1 -1
  54. package/dist/auto-reply/index.js +18 -4
  55. package/dist/auto-reply/index.js.map +1 -1
  56. package/dist/automation/cron.js +10 -3
  57. package/dist/automation/cron.js.map +1 -1
  58. package/dist/automation/webhooks.js +13 -2
  59. package/dist/automation/webhooks.js.map +1 -1
  60. package/dist/bankr/client.js +3 -3
  61. package/dist/base/provider.js +16 -2
  62. package/dist/base/provider.js.map +1 -1
  63. package/dist/bin/worker.js +4 -4
  64. package/dist/bin/worker.js.map +1 -1
  65. package/dist/bittensor/chutes.js +1 -1
  66. package/dist/bittensor/chutes.js.map +1 -1
  67. package/dist/bittensor/python-runner.js +5 -1
  68. package/dist/bittensor/python-runner.js.map +1 -1
  69. package/dist/bittensor/service.js +1 -1
  70. package/dist/bittensor/service.js.map +1 -1
  71. package/dist/browser/index.js +40 -16
  72. package/dist/browser/index.js.map +1 -1
  73. package/dist/cache/index.d.ts +2 -0
  74. package/dist/cache/index.js +30 -5
  75. package/dist/cache/index.js.map +1 -1
  76. package/dist/canvas/index.js +56 -27
  77. package/dist/canvas/index.js.map +1 -1
  78. package/dist/channels/googlechat/index.js +3 -0
  79. package/dist/channels/googlechat/index.js.map +1 -1
  80. package/dist/channels/imessage/index.js +6 -0
  81. package/dist/channels/imessage/index.js.map +1 -1
  82. package/dist/channels/index.js +7 -2
  83. package/dist/channels/index.js.map +1 -1
  84. package/dist/channels/line/index.d.ts +1 -1
  85. package/dist/channels/line/index.js +4 -2
  86. package/dist/channels/line/index.js.map +1 -1
  87. package/dist/channels/mattermost/index.js +5 -0
  88. package/dist/channels/mattermost/index.js.map +1 -1
  89. package/dist/channels/nostr/index.js +10 -2
  90. package/dist/channels/nostr/index.js.map +1 -1
  91. package/dist/channels/teams/index.js +20 -3
  92. package/dist/channels/teams/index.js.map +1 -1
  93. package/dist/channels/telegram/index.js +20 -3
  94. package/dist/channels/telegram/index.js.map +1 -1
  95. package/dist/channels/tlon/index.js +6 -1
  96. package/dist/channels/tlon/index.js.map +1 -1
  97. package/dist/channels/voice/index.js +16 -0
  98. package/dist/channels/voice/index.js.map +1 -1
  99. package/dist/channels/webchat/index.js +6 -1
  100. package/dist/channels/webchat/index.js.map +1 -1
  101. package/dist/channels/zalo/index.js +4 -2
  102. package/dist/channels/zalo/index.js.map +1 -1
  103. package/dist/cli/commands/doctor.js +2 -2
  104. package/dist/cli/commands/doctor.js.map +1 -1
  105. package/dist/cli/commands/index.js +54 -24
  106. package/dist/cli/commands/index.js.map +1 -1
  107. package/dist/cli/commands/onboard.js +12 -11
  108. package/dist/cli/commands/onboard.js.map +1 -1
  109. package/dist/cli/commands/skills.js +1 -1
  110. package/dist/cli/index.js +2 -2
  111. package/dist/cli/index.js.map +1 -1
  112. package/dist/cli/secure.js +11 -5
  113. package/dist/cli/secure.js.map +1 -1
  114. package/dist/commands/registry.js +17 -9
  115. package/dist/commands/registry.js.map +1 -1
  116. package/dist/config/index.js +42 -32
  117. package/dist/config/index.js.map +1 -1
  118. package/dist/credentials/index.js +7 -6
  119. package/dist/credentials/index.js.map +1 -1
  120. package/dist/cron/index.js +15 -1
  121. package/dist/cron/index.js.map +1 -1
  122. package/dist/db/index.d.ts +12 -4
  123. package/dist/db/index.js +8 -6
  124. package/dist/db/index.js.map +1 -1
  125. package/dist/docker/index.d.ts +0 -10
  126. package/dist/docker/index.js +52 -57
  127. package/dist/docker/index.js.map +1 -1
  128. package/dist/doctor/index.js +16 -7
  129. package/dist/doctor/index.js.map +1 -1
  130. package/dist/embeddings/index.js +42 -8
  131. package/dist/embeddings/index.js.map +1 -1
  132. package/dist/evm/contracts.js +8 -1
  133. package/dist/evm/contracts.js.map +1 -1
  134. package/dist/evm/odos.js +1 -1
  135. package/dist/evm/odos.js.map +1 -1
  136. package/dist/evm/oneinch.js +7 -4
  137. package/dist/evm/oneinch.js.map +1 -1
  138. package/dist/evm/pancakeswap.js +1 -1
  139. package/dist/evm/pancakeswap.js.map +1 -1
  140. package/dist/evm/transfers.js +10 -5
  141. package/dist/evm/transfers.js.map +1 -1
  142. package/dist/evm/uniswap.js +1 -1
  143. package/dist/evm/uniswap.js.map +1 -1
  144. package/dist/evm/virtuals.js +7 -2
  145. package/dist/evm/virtuals.js.map +1 -1
  146. package/dist/exchanges/binance-futures/index.js +24 -21
  147. package/dist/exchanges/binance-futures/index.js.map +1 -1
  148. package/dist/exchanges/bybit/index.js +17 -14
  149. package/dist/exchanges/bybit/index.js.map +1 -1
  150. package/dist/exchanges/hyperliquid/index.js +28 -20
  151. package/dist/exchanges/hyperliquid/index.js.map +1 -1
  152. package/dist/exchanges/lighter/index.js +4 -4
  153. package/dist/exchanges/mexc/index.js +15 -15
  154. package/dist/exchanges/mexc/index.js.map +1 -1
  155. package/dist/exchanges/opinion/index.js +7 -7
  156. package/dist/exchanges/opinion/index.js.map +1 -1
  157. package/dist/exchanges/predictfun/index.js +1 -1
  158. package/dist/execution/index.js +93 -87
  159. package/dist/execution/index.js.map +1 -1
  160. package/dist/extensions/copilot-proxy/index.js +13 -7
  161. package/dist/extensions/copilot-proxy/index.js.map +1 -1
  162. package/dist/extensions/diagnostics-otel/index.js +8 -0
  163. package/dist/extensions/diagnostics-otel/index.js.map +1 -1
  164. package/dist/extensions/google-auth/index.js +4 -1
  165. package/dist/extensions/google-auth/index.js.map +1 -1
  166. package/dist/extensions/llm-task/index.js +28 -10
  167. package/dist/extensions/llm-task/index.js.map +1 -1
  168. package/dist/extensions/lobster/index.js +27 -8
  169. package/dist/extensions/lobster/index.js.map +1 -1
  170. package/dist/extensions/memory-lancedb/index.js +16 -6
  171. package/dist/extensions/memory-lancedb/index.js.map +1 -1
  172. package/dist/extensions/open-prose/index.js +1 -1
  173. package/dist/extensions/task-runner/index.js +12 -5
  174. package/dist/extensions/task-runner/index.js.map +1 -1
  175. package/dist/farcaster/client.js +7 -7
  176. package/dist/feeds/agentbets/index.d.ts +1 -1
  177. package/dist/feeds/betfair/index.js +12 -6
  178. package/dist/feeds/betfair/index.js.map +1 -1
  179. package/dist/feeds/crypto/index.js +38 -30
  180. package/dist/feeds/crypto/index.js.map +1 -1
  181. package/dist/feeds/drift/trading.js +4 -4
  182. package/dist/feeds/external/index.js +3 -0
  183. package/dist/feeds/external/index.js.map +1 -1
  184. package/dist/feeds/fred/index.js.map +1 -1
  185. package/dist/feeds/hedgehog/index.js +10 -2
  186. package/dist/feeds/hedgehog/index.js.map +1 -1
  187. package/dist/feeds/manifold/index.js +1 -1
  188. package/dist/feeds/metaculus/index.js +2 -2
  189. package/dist/feeds/opinion/index.js +2 -2
  190. package/dist/feeds/polymarket/index.js +7 -1
  191. package/dist/feeds/polymarket/index.js.map +1 -1
  192. package/dist/feeds/polymarket/whale-tracker.js.map +1 -1
  193. package/dist/feeds/predictfun/index.js +2 -2
  194. package/dist/feeds/smarkets/index.js +12 -6
  195. package/dist/feeds/smarkets/index.js.map +1 -1
  196. package/dist/gateway/feeds-routes.d.ts +8 -7
  197. package/dist/gateway/feeds-routes.js.map +1 -1
  198. package/dist/gateway/index.js +28 -6
  199. package/dist/gateway/index.js.map +1 -1
  200. package/dist/history/index.js +8 -4
  201. package/dist/history/index.js.map +1 -1
  202. package/dist/hooks/index.js +14 -5
  203. package/dist/hooks/index.js.map +1 -1
  204. package/dist/i18n/index.js +2 -1
  205. package/dist/i18n/index.js.map +1 -1
  206. package/dist/identity/erc8004.js +13 -3
  207. package/dist/identity/erc8004.js.map +1 -1
  208. package/dist/index.js +3 -3
  209. package/dist/index.js.map +1 -1
  210. package/dist/infra/index.d.ts +1 -1
  211. package/dist/infra/index.js +39 -26
  212. package/dist/infra/index.js.map +1 -1
  213. package/dist/ledger/hooks.js +26 -18
  214. package/dist/ledger/hooks.js.map +1 -1
  215. package/dist/ledger/storage.js +23 -13
  216. package/dist/ledger/storage.js.map +1 -1
  217. package/dist/link-understanding/index.js +26 -2
  218. package/dist/link-understanding/index.js.map +1 -1
  219. package/dist/logging/index.js +31 -4
  220. package/dist/logging/index.js.map +1 -1
  221. package/dist/macos/index.d.ts +1 -1
  222. package/dist/macos/index.js +41 -36
  223. package/dist/macos/index.js.map +1 -1
  224. package/dist/markdown/index.js +25 -8
  225. package/dist/markdown/index.js.map +1 -1
  226. package/dist/market-index/index.js +8 -6
  227. package/dist/market-index/index.js.map +1 -1
  228. package/dist/mcp/index.js +67 -10
  229. package/dist/mcp/index.js.map +1 -1
  230. package/dist/mcp/server.js +21 -3
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/media/index.js +17 -15
  233. package/dist/media/index.js.map +1 -1
  234. package/dist/memory/context.js +17 -9
  235. package/dist/memory/context.js.map +1 -1
  236. package/dist/memory/index.js +6 -5
  237. package/dist/memory/index.js.map +1 -1
  238. package/dist/ml-pipeline/collector.js +14 -3
  239. package/dist/ml-pipeline/collector.js.map +1 -1
  240. package/dist/ml-pipeline/trainer.js +1 -1
  241. package/dist/ml-pipeline/trainer.js.map +1 -1
  242. package/dist/monitoring/health.js +15 -3
  243. package/dist/monitoring/health.js.map +1 -1
  244. package/dist/monitoring/metrics.js +2 -2
  245. package/dist/nodes/index.js +40 -25
  246. package/dist/nodes/index.js.map +1 -1
  247. package/dist/opportunity/combinatorial.js +4 -1
  248. package/dist/opportunity/combinatorial.js.map +1 -1
  249. package/dist/opportunity/correlation.js +2 -2
  250. package/dist/opportunity/executor.js +14 -5
  251. package/dist/opportunity/executor.js.map +1 -1
  252. package/dist/opportunity/risk.js +3 -1
  253. package/dist/opportunity/risk.js.map +1 -1
  254. package/dist/opportunity/scoring.js +3 -1
  255. package/dist/opportunity/scoring.js.map +1 -1
  256. package/dist/pairing/index.js +8 -4
  257. package/dist/pairing/index.js.map +1 -1
  258. package/dist/payments/x402/evm.js +4 -4
  259. package/dist/payments/x402/index.js +26 -7
  260. package/dist/payments/x402/index.js.map +1 -1
  261. package/dist/payments/x402/solana.js +3 -3
  262. package/dist/percolator/feed.js +1 -1
  263. package/dist/percolator/feed.js.map +1 -1
  264. package/dist/permissions/index.d.ts +2 -0
  265. package/dist/permissions/index.js +22 -12
  266. package/dist/permissions/index.js.map +1 -1
  267. package/dist/plugins/index.d.ts +3 -1
  268. package/dist/plugins/index.js +18 -6
  269. package/dist/plugins/index.js.map +1 -1
  270. package/dist/portfolio/index.js +16 -15
  271. package/dist/portfolio/index.js.map +1 -1
  272. package/dist/presence/index.js +17 -5
  273. package/dist/presence/index.js.map +1 -1
  274. package/dist/process/index.js +40 -14
  275. package/dist/process/index.js.map +1 -1
  276. package/dist/providers/discovery.js +34 -28
  277. package/dist/providers/discovery.js.map +1 -1
  278. package/dist/providers/health.js +7 -4
  279. package/dist/providers/health.js.map +1 -1
  280. package/dist/providers/index.js +36 -33
  281. package/dist/providers/index.js.map +1 -1
  282. package/dist/queue/index.js +1 -1
  283. package/dist/remote/index.d.ts +0 -5
  284. package/dist/remote/index.js +41 -9
  285. package/dist/remote/index.js.map +1 -1
  286. package/dist/risk/circuit-breaker.js +13 -5
  287. package/dist/risk/circuit-breaker.js.map +1 -1
  288. package/dist/risk/engine.js +2 -2
  289. package/dist/risk/volatility.js +1 -1
  290. package/dist/risk/volatility.js.map +1 -1
  291. package/dist/routing/index.js +5 -2
  292. package/dist/routing/index.js.map +1 -1
  293. package/dist/search/index.js +7 -5
  294. package/dist/search/index.js.map +1 -1
  295. package/dist/security/address-checker.js +40 -19
  296. package/dist/security/address-checker.js.map +1 -1
  297. package/dist/security/code-scanner.js +7 -5
  298. package/dist/security/code-scanner.js.map +1 -1
  299. package/dist/security/index.d.ts +3 -0
  300. package/dist/security/index.js +19 -7
  301. package/dist/security/index.js.map +1 -1
  302. package/dist/security/tx-validator.js +2 -2
  303. package/dist/security/tx-validator.js.map +1 -1
  304. package/dist/services/feature-engineering/rolling-window.d.ts +7 -0
  305. package/dist/services/feature-engineering/rolling-window.js +23 -0
  306. package/dist/services/feature-engineering/rolling-window.js.map +1 -1
  307. package/dist/services/feature-engineering/thresholds.js +2 -2
  308. package/dist/services/feature-engineering/thresholds.js.map +1 -1
  309. package/dist/services/tick-recorder/index.js +13 -1
  310. package/dist/services/tick-recorder/index.js.map +1 -1
  311. package/dist/services/tick-recorder/queries.js +11 -7
  312. package/dist/services/tick-recorder/queries.js.map +1 -1
  313. package/dist/services/tick-streamer/index.js +6 -2
  314. package/dist/services/tick-streamer/index.js.map +1 -1
  315. package/dist/session/index.d.ts +1 -1
  316. package/dist/session/index.js +31 -6
  317. package/dist/session/index.js.map +1 -1
  318. package/dist/sessions/index.js +76 -52
  319. package/dist/sessions/index.js.map +1 -1
  320. package/dist/signal-router/router.js +8 -1
  321. package/dist/signal-router/router.js.map +1 -1
  322. package/dist/skills/bundled/agentbets/index.js.map +1 -1
  323. package/dist/skills/bundled/auto-reply/SKILL.md +19 -16
  324. package/dist/skills/bundled/automation/SKILL.md +33 -215
  325. package/dist/skills/bundled/backtest/SKILL.md +2 -1
  326. package/dist/skills/bundled/credentials/SKILL.md +2 -1
  327. package/dist/skills/bundled/edge/SKILL.md +6 -3
  328. package/dist/skills/bundled/sandbox/SKILL.md +29 -240
  329. package/dist/skills/bundled/trading-kalshi/SKILL.md +65 -586
  330. package/dist/skills/bundled/usage/SKILL.md +8 -18
  331. package/dist/skills/bundled/webhooks/SKILL.md +31 -279
  332. package/dist/skills/bundled/whale-tracking/SKILL.md +24 -22
  333. package/dist/solana/copytrade.js +5 -5
  334. package/dist/solana/drift.js +2 -2
  335. package/dist/solana/drift.js.map +1 -1
  336. package/dist/solana/meteora-dbc.d.ts +2 -2
  337. package/dist/solana/pumpapi.js +4 -0
  338. package/dist/solana/pumpapi.js.map +1 -1
  339. package/dist/solana/raydium.js +46 -10
  340. package/dist/solana/raydium.js.map +1 -1
  341. package/dist/solana/swarm-copytrade.js +2 -2
  342. package/dist/solana/wallet.js +12 -3
  343. package/dist/solana/wallet.js.map +1 -1
  344. package/dist/strategies/crypto-hft/index.js +2 -0
  345. package/dist/strategies/crypto-hft/index.js.map +1 -1
  346. package/dist/strategies/crypto-hft/positions.js +11 -3
  347. package/dist/strategies/crypto-hft/positions.js.map +1 -1
  348. package/dist/strategies/crypto-hft/presets.js +2 -1
  349. package/dist/strategies/crypto-hft/presets.js.map +1 -1
  350. package/dist/strategies/crypto-hft/strategies.js +4 -3
  351. package/dist/strategies/crypto-hft/strategies.js.map +1 -1
  352. package/dist/strategies/hft-divergence/detector.js +5 -1
  353. package/dist/strategies/hft-divergence/detector.js.map +1 -1
  354. package/dist/strategies/hft-divergence/position-manager.js +13 -1
  355. package/dist/strategies/hft-divergence/position-manager.js.map +1 -1
  356. package/dist/strategies/hft-divergence/strategy.js +3 -1
  357. package/dist/strategies/hft-divergence/strategy.js.map +1 -1
  358. package/dist/streaming/index.js +21 -5
  359. package/dist/streaming/index.js.map +1 -1
  360. package/dist/tailscale/index.d.ts +0 -4
  361. package/dist/tailscale/index.js +5 -8
  362. package/dist/tailscale/index.js.map +1 -1
  363. package/dist/telemetry/index.d.ts +1 -0
  364. package/dist/telemetry/index.js +49 -6
  365. package/dist/telemetry/index.js.map +1 -1
  366. package/dist/tools/canvas.js +32 -8
  367. package/dist/tools/canvas.js.map +1 -1
  368. package/dist/tools/exec.js +32 -2
  369. package/dist/tools/exec.js.map +1 -1
  370. package/dist/tools/image.js +19 -0
  371. package/dist/tools/image.js.map +1 -1
  372. package/dist/tools/sql.js +4 -1
  373. package/dist/tools/sql.js.map +1 -1
  374. package/dist/tools/transcription.js +13 -0
  375. package/dist/tools/transcription.js.map +1 -1
  376. package/dist/tools/web-fetch.js +14 -0
  377. package/dist/tools/web-fetch.js.map +1 -1
  378. package/dist/tools/web-search.js +14 -0
  379. package/dist/tools/web-search.js.map +1 -1
  380. package/dist/trading/backtest.js +3 -3
  381. package/dist/trading/backtest.js.map +1 -1
  382. package/dist/trading/bots/index.d.ts +9 -1
  383. package/dist/trading/bots/index.js +4 -0
  384. package/dist/trading/bots/index.js.map +1 -1
  385. package/dist/trading/devtools.js +1 -1
  386. package/dist/trading/devtools.js.map +1 -1
  387. package/dist/trading/futures/index.js +5 -5
  388. package/dist/trading/index.js +1 -1
  389. package/dist/trading/index.js.map +1 -1
  390. package/dist/trading/logger.js +27 -20
  391. package/dist/trading/logger.js.map +1 -1
  392. package/dist/trading/safety.d.ts +2 -0
  393. package/dist/trading/safety.js +12 -2
  394. package/dist/trading/safety.js.map +1 -1
  395. package/dist/trading/stream.js +1 -1
  396. package/dist/trading/stream.js.map +1 -1
  397. package/dist/trading/tracking.d.ts +1 -1
  398. package/dist/trading/tracking.js.map +1 -1
  399. package/dist/utils/config.js +4 -3
  400. package/dist/utils/config.js.map +1 -1
  401. package/dist/utils/http.js +15 -1
  402. package/dist/utils/http.js.map +1 -1
  403. package/dist/utils/kelly.js +14 -5
  404. package/dist/utils/kelly.js.map +1 -1
  405. package/dist/utils/rate-limiter.js +25 -10
  406. package/dist/utils/rate-limiter.js.map +1 -1
  407. package/dist/voice/index.d.ts +5 -1
  408. package/dist/voice/index.js +65 -25
  409. package/dist/voice/index.js.map +1 -1
  410. package/dist/weather/edge.js +4 -2
  411. package/dist/weather/edge.js.map +1 -1
  412. package/dist/weather/markets.d.ts +1 -0
  413. package/dist/weather/markets.js +17 -8
  414. package/dist/weather/markets.js.map +1 -1
  415. package/dist/weather/noaa.d.ts +2 -0
  416. package/dist/weather/noaa.js +22 -5
  417. package/dist/weather/noaa.js.map +1 -1
  418. package/dist/web/index.d.ts +3 -0
  419. package/dist/web/index.js +60 -12
  420. package/dist/web/index.js.map +1 -1
  421. package/dist/wizard/index.js +13 -14
  422. package/dist/wizard/index.js.map +1 -1
  423. package/package.json +1 -1
@@ -974,9 +974,11 @@ async function placeKalshiOrder(auth, ticker, side, action, price, count, orderT
974
974
  };
975
975
  }
976
976
  // Calculate slippage from mid price
977
- const slippage = action === 'buy'
978
- ? (avgFillPrice - orderbook.midPrice) / orderbook.midPrice
979
- : (orderbook.midPrice - avgFillPrice) / orderbook.midPrice;
977
+ const slippage = orderbook.midPrice > 0
978
+ ? (action === 'buy'
979
+ ? (avgFillPrice - orderbook.midPrice) / orderbook.midPrice
980
+ : (orderbook.midPrice - avgFillPrice) / orderbook.midPrice)
981
+ : 0;
980
982
  if (slippage > maxSlippage) {
981
983
  return {
982
984
  success: false,
@@ -1844,6 +1846,10 @@ function createExecutionService(config) {
1844
1846
  }
1845
1847
  // ==========================================================================
1846
1848
  function validateOrder(request) {
1849
+ // Guard against NaN/Infinity values that would bypass all checks
1850
+ if (!Number.isFinite(request.price) || !Number.isFinite(request.size)) {
1851
+ return `Invalid order: price=${request.price}, size=${request.size} (must be finite numbers)`;
1852
+ }
1847
1853
  // Circuit breaker check - block orders when tripped
1848
1854
  if (circuitBreaker && !circuitBreaker.canTrade()) {
1849
1855
  const state = circuitBreaker.getState();
@@ -1901,8 +1907,9 @@ function createExecutionService(config) {
1901
1907
  }
1902
1908
  }
1903
1909
  catch (err) {
1904
- // Shield not loaded or RPC failure log but don't block
1905
- logger_1.logger.debug({ err }, 'Security shield check skipped');
1910
+ // Shield failure log at warn level so it's visible; allow trade to proceed
1911
+ // but flag it so operators know security was not verified
1912
+ logger_1.logger.warn({ err }, 'Security shield check failed — trade proceeding without security verification');
1906
1913
  }
1907
1914
  }
1908
1915
  // Dry run mode
@@ -2242,133 +2249,132 @@ function createExecutionService(config) {
2242
2249
  }
2243
2250
  },
2244
2251
  async placeOrdersBatch(orders) {
2245
- const polyOrders = orders.filter(o => o.platform === 'polymarket');
2246
- const kalshiOrders = orders.filter(o => o.platform === 'kalshi');
2247
- const opinionOrders = orders.filter(o => o.platform === 'opinion');
2248
- const predictfunOrders = orders.filter(o => o.platform === 'predictfun');
2249
- const otherOrders = orders.filter(o => o.platform !== 'opinion' && o.platform !== 'polymarket' && o.platform !== 'kalshi' && o.platform !== 'predictfun');
2250
- const results = [];
2252
+ // Track original indices so results are returned in the same order as input
2253
+ const indexedOrders = orders.map((o, i) => ({ order: o, index: i }));
2254
+ const resultsByIndex = new Array(orders.length);
2255
+ const polyIndexed = indexedOrders.filter(o => o.order.platform === 'polymarket');
2256
+ const kalshiIndexed = indexedOrders.filter(o => o.order.platform === 'kalshi');
2257
+ const opinionIndexed = indexedOrders.filter(o => o.order.platform === 'opinion');
2258
+ const predictfunIndexed = indexedOrders.filter(o => o.order.platform === 'predictfun');
2259
+ const otherIndexed = indexedOrders.filter(o => o.order.platform !== 'opinion' && o.order.platform !== 'polymarket' && o.order.platform !== 'kalshi' && o.order.platform !== 'predictfun');
2251
2260
  // Execute Polymarket batch if we have Polymarket orders and config
2252
- if (polyOrders.length > 0 && config.polymarket) {
2261
+ if (polyIndexed.length > 0 && config.polymarket) {
2253
2262
  try {
2254
- const batchInput = polyOrders.map(o => ({
2255
- tokenId: o.tokenId,
2256
- side: o.side,
2257
- price: o.price,
2258
- size: o.size,
2259
- negRisk: o.negRisk,
2260
- postOnly: o.postOnly,
2263
+ const batchInput = polyIndexed.map(o => ({
2264
+ tokenId: o.order.tokenId,
2265
+ side: o.order.side,
2266
+ price: o.order.price,
2267
+ size: o.order.size,
2268
+ negRisk: o.order.negRisk,
2269
+ postOnly: o.order.postOnly,
2261
2270
  }));
2262
2271
  const batchResults = await placePolymarketOrdersBatch(config.polymarket, batchInput);
2263
- results.push(...batchResults);
2272
+ for (let i = 0; i < polyIndexed.length; i++) {
2273
+ resultsByIndex[polyIndexed[i].index] = batchResults[i] ?? { success: false, error: 'Missing batch result' };
2274
+ }
2264
2275
  }
2265
2276
  catch (err) {
2266
- results.push(...polyOrders.map(() => ({
2267
- success: false,
2268
- error: err instanceof Error ? err.message : 'Batch order failed',
2269
- })));
2277
+ for (const o of polyIndexed) {
2278
+ resultsByIndex[o.index] = { success: false, error: err instanceof Error ? err.message : 'Batch order failed' };
2279
+ }
2270
2280
  }
2271
2281
  }
2272
- else if (polyOrders.length > 0) {
2273
- results.push(...polyOrders.map(() => ({
2274
- success: false,
2275
- error: 'Polymarket trading not configured',
2276
- })));
2282
+ else if (polyIndexed.length > 0) {
2283
+ for (const o of polyIndexed) {
2284
+ resultsByIndex[o.index] = { success: false, error: 'Polymarket trading not configured' };
2285
+ }
2277
2286
  }
2278
2287
  // Execute Kalshi batch if we have Kalshi orders and config
2279
- if (kalshiOrders.length > 0 && config.kalshi) {
2288
+ if (kalshiIndexed.length > 0 && config.kalshi) {
2280
2289
  try {
2281
- const batchInput = kalshiOrders.map(o => ({
2282
- ticker: o.marketId,
2283
- side: o.outcome?.toLowerCase() || 'yes',
2284
- action: o.side,
2285
- price: o.price,
2286
- count: o.size,
2290
+ const batchInput = kalshiIndexed.map(o => ({
2291
+ ticker: o.order.marketId,
2292
+ side: o.order.outcome?.toLowerCase() || 'yes',
2293
+ action: o.order.side,
2294
+ price: o.order.price,
2295
+ count: o.order.size,
2287
2296
  }));
2288
2297
  const batchResults = await placeKalshiOrdersBatch(config.kalshi, batchInput);
2289
- results.push(...batchResults);
2298
+ for (let i = 0; i < kalshiIndexed.length; i++) {
2299
+ resultsByIndex[kalshiIndexed[i].index] = batchResults[i] ?? { success: false, error: 'Missing batch result' };
2300
+ }
2290
2301
  }
2291
2302
  catch (err) {
2292
- results.push(...kalshiOrders.map(() => ({
2293
- success: false,
2294
- error: err instanceof Error ? err.message : 'Batch order failed',
2295
- })));
2303
+ for (const o of kalshiIndexed) {
2304
+ resultsByIndex[o.index] = { success: false, error: err instanceof Error ? err.message : 'Batch order failed' };
2305
+ }
2296
2306
  }
2297
2307
  }
2298
- else if (kalshiOrders.length > 0) {
2299
- results.push(...kalshiOrders.map(() => ({
2300
- success: false,
2301
- error: 'Kalshi trading not configured',
2302
- })));
2308
+ else if (kalshiIndexed.length > 0) {
2309
+ for (const o of kalshiIndexed) {
2310
+ resultsByIndex[o.index] = { success: false, error: 'Kalshi trading not configured' };
2311
+ }
2303
2312
  }
2304
2313
  // Execute Opinion batch if we have Opinion orders and config
2305
- if (opinionOrders.length > 0 && config.opinion) {
2314
+ if (opinionIndexed.length > 0 && config.opinion) {
2306
2315
  try {
2307
- const batchInput = opinionOrders.map(o => ({
2308
- marketId: parseInt(o.marketId, 10),
2309
- tokenId: o.tokenId,
2310
- side: o.side.toUpperCase(),
2311
- price: o.price,
2312
- amount: o.size,
2316
+ const batchInput = opinionIndexed.map(o => ({
2317
+ marketId: parseInt(o.order.marketId, 10),
2318
+ tokenId: o.order.tokenId,
2319
+ side: o.order.side.toUpperCase(),
2320
+ price: o.order.price,
2321
+ amount: o.order.size,
2313
2322
  }));
2314
2323
  const batchResults = await placeOpinionOrdersBatch(config.opinion, batchInput);
2315
- results.push(...batchResults.map(r => ({
2316
- success: r.success,
2317
- orderId: r.orderId,
2318
- error: r.error,
2319
- })));
2324
+ for (let i = 0; i < opinionIndexed.length; i++) {
2325
+ const r = batchResults[i];
2326
+ resultsByIndex[opinionIndexed[i].index] = r
2327
+ ? { success: r.success, orderId: r.orderId, error: r.error }
2328
+ : { success: false, error: 'Missing batch result' };
2329
+ }
2320
2330
  }
2321
2331
  catch (err) {
2322
- // All Opinion orders failed
2323
- results.push(...opinionOrders.map(() => ({
2324
- success: false,
2325
- error: err instanceof Error ? err.message : 'Batch order failed',
2326
- })));
2332
+ for (const o of opinionIndexed) {
2333
+ resultsByIndex[o.index] = { success: false, error: err instanceof Error ? err.message : 'Batch order failed' };
2334
+ }
2327
2335
  }
2328
2336
  }
2329
- else if (opinionOrders.length > 0) {
2330
- // No Opinion config
2331
- results.push(...opinionOrders.map(() => ({
2332
- success: false,
2333
- error: 'Opinion trading not configured',
2334
- })));
2337
+ else if (opinionIndexed.length > 0) {
2338
+ for (const o of opinionIndexed) {
2339
+ resultsByIndex[o.index] = { success: false, error: 'Opinion trading not configured' };
2340
+ }
2335
2341
  }
2336
2342
  // Execute PredictFun orders (no native batch API — sequential via SDK with EIP-712 signing)
2337
- if (predictfunOrders.length > 0 && config.predictfun) {
2338
- for (const order of predictfunOrders) {
2343
+ if (predictfunIndexed.length > 0 && config.predictfun) {
2344
+ for (const o of predictfunIndexed) {
2339
2345
  try {
2340
- const result = await placePredictFunOrder(config.predictfun, order.tokenId, order.side, order.price, order.size, order.marketId);
2341
- results.push(result);
2346
+ const result = await placePredictFunOrder(config.predictfun, o.order.tokenId, o.order.side, o.order.price, o.order.size, o.order.marketId);
2347
+ resultsByIndex[o.index] = result;
2342
2348
  }
2343
2349
  catch (err) {
2344
- results.push({
2350
+ resultsByIndex[o.index] = {
2345
2351
  success: false,
2346
2352
  error: err instanceof Error ? err.message : 'Order failed',
2347
- });
2353
+ };
2348
2354
  }
2349
2355
  }
2350
2356
  }
2351
- else if (predictfunOrders.length > 0) {
2352
- results.push(...predictfunOrders.map(() => ({
2353
- success: false,
2354
- error: 'PredictFun trading not configured',
2355
- })));
2357
+ else if (predictfunIndexed.length > 0) {
2358
+ for (const o of predictfunIndexed) {
2359
+ resultsByIndex[o.index] = { success: false, error: 'PredictFun trading not configured' };
2360
+ }
2356
2361
  }
2357
2362
  // Execute other orders individually (fallback)
2358
- for (const order of otherOrders) {
2363
+ for (const o of otherIndexed) {
2359
2364
  try {
2360
- const result = order.side === 'buy'
2361
- ? await this.buyLimit(order)
2362
- : await this.sellLimit(order);
2363
- results.push(result);
2365
+ const result = o.order.side === 'buy'
2366
+ ? await this.buyLimit(o.order)
2367
+ : await this.sellLimit(o.order);
2368
+ resultsByIndex[o.index] = result;
2364
2369
  }
2365
2370
  catch (err) {
2366
- results.push({
2371
+ resultsByIndex[o.index] = {
2367
2372
  success: false,
2368
2373
  error: err instanceof Error ? err.message : 'Order failed',
2369
- });
2374
+ };
2370
2375
  }
2371
2376
  }
2377
+ const results = resultsByIndex;
2372
2378
  return results;
2373
2379
  },
2374
2380
  async cancelOrdersBatch(platform, orderIds) {