clodds 1.5.1 → 1.5.3

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 (627) 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/acp.js +12 -12
  8. package/dist/agents/handlers/acp.js.map +1 -1
  9. package/dist/agents/handlers/agentbets.js +1 -1
  10. package/dist/agents/handlers/agentbets.js.map +1 -1
  11. package/dist/agents/handlers/arbitrage.js +3 -3
  12. package/dist/agents/handlers/binance.js +3 -3
  13. package/dist/agents/handlers/bybit.js +3 -3
  14. package/dist/agents/handlers/manifold.js +8 -8
  15. package/dist/agents/handlers/manifold.js.map +1 -1
  16. package/dist/agents/handlers/markets.js +2 -2
  17. package/dist/agents/handlers/markets.js.map +1 -1
  18. package/dist/agents/handlers/opinion.js +6 -6
  19. package/dist/agents/handlers/paper-trading.js +3 -3
  20. package/dist/agents/handlers/paper-trading.js.map +1 -1
  21. package/dist/agents/handlers/polymarket.js +5 -5
  22. package/dist/agents/handlers/predictfun.js +10 -8
  23. package/dist/agents/handlers/predictfun.js.map +1 -1
  24. package/dist/agents/handlers/solana.js +16 -16
  25. package/dist/agents/handlers/solana.js.map +1 -1
  26. package/dist/agents/handlers/virtuals.js +2 -2
  27. package/dist/agents/handlers/wallets.js +8 -8
  28. package/dist/agents/index.js +5 -1
  29. package/dist/agents/index.js.map +1 -1
  30. package/dist/alerts/index.js +14 -7
  31. package/dist/alerts/index.js.map +1 -1
  32. package/dist/alerts/realtime.js +8 -0
  33. package/dist/alerts/realtime.js.map +1 -1
  34. package/dist/api/apikeys.js +1 -1
  35. package/dist/api/compute/code.js +4 -1
  36. package/dist/api/compute/code.js.map +1 -1
  37. package/dist/api/compute/data.js +8 -2
  38. package/dist/api/compute/data.js.map +1 -1
  39. package/dist/api/compute/gateway.js +14 -9
  40. package/dist/api/compute/gateway.js.map +1 -1
  41. package/dist/api/compute/llm.js +22 -14
  42. package/dist/api/compute/llm.js.map +1 -1
  43. package/dist/api/compute/storage.js +6 -2
  44. package/dist/api/compute/storage.js.map +1 -1
  45. package/dist/api/compute/trade.js +10 -7
  46. package/dist/api/compute/trade.js.map +1 -1
  47. package/dist/api/compute/web.js +5 -0
  48. package/dist/api/compute/web.js.map +1 -1
  49. package/dist/api/fees.js +5 -1
  50. package/dist/api/fees.js.map +1 -1
  51. package/dist/api/gateway.js +42 -8
  52. package/dist/api/gateway.js.map +1 -1
  53. package/dist/api/jobs.js +15 -6
  54. package/dist/api/jobs.js.map +1 -1
  55. package/dist/api/middleware.js +12 -3
  56. package/dist/api/middleware.js.map +1 -1
  57. package/dist/api/sdk.js +1 -1
  58. package/dist/api/server.js +19 -10
  59. package/dist/api/server.js.map +1 -1
  60. package/dist/arbitrage/index.js +23 -6
  61. package/dist/arbitrage/index.js.map +1 -1
  62. package/dist/auth/copilot.js +3 -3
  63. package/dist/auth/copilot.js.map +1 -1
  64. package/dist/auth/google.js +6 -2
  65. package/dist/auth/google.js.map +1 -1
  66. package/dist/auth/oauth.js +18 -11
  67. package/dist/auth/oauth.js.map +1 -1
  68. package/dist/auth/qwen.js +4 -4
  69. package/dist/auth/qwen.js.map +1 -1
  70. package/dist/auto-reply/index.js +18 -4
  71. package/dist/auto-reply/index.js.map +1 -1
  72. package/dist/automation/cron.js +10 -3
  73. package/dist/automation/cron.js.map +1 -1
  74. package/dist/automation/webhooks.js +13 -2
  75. package/dist/automation/webhooks.js.map +1 -1
  76. package/dist/bankr/client.js +3 -3
  77. package/dist/base/provider.js +16 -2
  78. package/dist/base/provider.js.map +1 -1
  79. package/dist/bin/worker.js +4 -4
  80. package/dist/bin/worker.js.map +1 -1
  81. package/dist/bittensor/chutes.js +1 -1
  82. package/dist/bittensor/chutes.js.map +1 -1
  83. package/dist/bittensor/python-runner.js +5 -1
  84. package/dist/bittensor/python-runner.js.map +1 -1
  85. package/dist/bittensor/server.js +8 -8
  86. package/dist/bittensor/server.js.map +1 -1
  87. package/dist/bittensor/service.js +1 -1
  88. package/dist/bittensor/service.js.map +1 -1
  89. package/dist/browser/index.js +40 -16
  90. package/dist/browser/index.js.map +1 -1
  91. package/dist/cache/index.d.ts +2 -0
  92. package/dist/cache/index.js +30 -5
  93. package/dist/cache/index.js.map +1 -1
  94. package/dist/canvas/index.js +56 -27
  95. package/dist/canvas/index.js.map +1 -1
  96. package/dist/channels/googlechat/index.js +3 -0
  97. package/dist/channels/googlechat/index.js.map +1 -1
  98. package/dist/channels/imessage/index.js +10 -2
  99. package/dist/channels/imessage/index.js.map +1 -1
  100. package/dist/channels/index.js +7 -2
  101. package/dist/channels/index.js.map +1 -1
  102. package/dist/channels/line/index.d.ts +1 -1
  103. package/dist/channels/line/index.js +4 -2
  104. package/dist/channels/line/index.js.map +1 -1
  105. package/dist/channels/mattermost/index.js +8 -2
  106. package/dist/channels/mattermost/index.js.map +1 -1
  107. package/dist/channels/nostr/index.js +10 -2
  108. package/dist/channels/nostr/index.js.map +1 -1
  109. package/dist/channels/teams/index.js +20 -3
  110. package/dist/channels/teams/index.js.map +1 -1
  111. package/dist/channels/telegram/index.js +21 -4
  112. package/dist/channels/telegram/index.js.map +1 -1
  113. package/dist/channels/tlon/index.js +6 -1
  114. package/dist/channels/tlon/index.js.map +1 -1
  115. package/dist/channels/twitch/index.js +3 -2
  116. package/dist/channels/twitch/index.js.map +1 -1
  117. package/dist/channels/voice/index.js +16 -0
  118. package/dist/channels/voice/index.js.map +1 -1
  119. package/dist/channels/webchat/index.js +6 -1
  120. package/dist/channels/webchat/index.js.map +1 -1
  121. package/dist/channels/zalo/index.js +4 -2
  122. package/dist/channels/zalo/index.js.map +1 -1
  123. package/dist/cli/commands/doctor.js +2 -2
  124. package/dist/cli/commands/doctor.js.map +1 -1
  125. package/dist/cli/commands/index.js +57 -26
  126. package/dist/cli/commands/index.js.map +1 -1
  127. package/dist/cli/commands/onboard.js +12 -11
  128. package/dist/cli/commands/onboard.js.map +1 -1
  129. package/dist/cli/commands/skills.js +1 -1
  130. package/dist/cli/index.js +2 -2
  131. package/dist/cli/index.js.map +1 -1
  132. package/dist/cli/secure.js +11 -5
  133. package/dist/cli/secure.js.map +1 -1
  134. package/dist/commands/registry.js +17 -9
  135. package/dist/commands/registry.js.map +1 -1
  136. package/dist/config/index.js +42 -32
  137. package/dist/config/index.js.map +1 -1
  138. package/dist/credentials/index.js +7 -6
  139. package/dist/credentials/index.js.map +1 -1
  140. package/dist/cron/index.js +15 -1
  141. package/dist/cron/index.js.map +1 -1
  142. package/dist/daemon/index.js +7 -7
  143. package/dist/daemon/index.js.map +1 -1
  144. package/dist/db/index.d.ts +12 -4
  145. package/dist/db/index.js +11 -8
  146. package/dist/db/index.js.map +1 -1
  147. package/dist/docker/index.d.ts +0 -11
  148. package/dist/docker/index.js +46 -60
  149. package/dist/docker/index.js.map +1 -1
  150. package/dist/doctor/index.js +16 -7
  151. package/dist/doctor/index.js.map +1 -1
  152. package/dist/embeddings/index.js +42 -8
  153. package/dist/embeddings/index.js.map +1 -1
  154. package/dist/evm/contracts.js +17 -1
  155. package/dist/evm/contracts.js.map +1 -1
  156. package/dist/evm/odos.js +8 -2
  157. package/dist/evm/odos.js.map +1 -1
  158. package/dist/evm/oneinch.js +15 -7
  159. package/dist/evm/oneinch.js.map +1 -1
  160. package/dist/evm/pancakeswap.js +5 -2
  161. package/dist/evm/pancakeswap.js.map +1 -1
  162. package/dist/evm/transfers.js +59 -13
  163. package/dist/evm/transfers.js.map +1 -1
  164. package/dist/evm/uniswap.js +5 -2
  165. package/dist/evm/uniswap.js.map +1 -1
  166. package/dist/evm/virtuals.js +29 -2
  167. package/dist/evm/virtuals.js.map +1 -1
  168. package/dist/exchanges/binance-futures/index.js +24 -21
  169. package/dist/exchanges/binance-futures/index.js.map +1 -1
  170. package/dist/exchanges/bybit/index.js +17 -14
  171. package/dist/exchanges/bybit/index.js.map +1 -1
  172. package/dist/exchanges/hyperliquid/index.js +28 -20
  173. package/dist/exchanges/hyperliquid/index.js.map +1 -1
  174. package/dist/exchanges/lighter/index.js +4 -4
  175. package/dist/exchanges/mexc/index.js +15 -15
  176. package/dist/exchanges/mexc/index.js.map +1 -1
  177. package/dist/exchanges/opinion/index.js +7 -7
  178. package/dist/exchanges/opinion/index.js.map +1 -1
  179. package/dist/exchanges/predictfun/index.js +1 -1
  180. package/dist/execution/index.js +93 -87
  181. package/dist/execution/index.js.map +1 -1
  182. package/dist/extensions/copilot-proxy/index.js +13 -7
  183. package/dist/extensions/copilot-proxy/index.js.map +1 -1
  184. package/dist/extensions/diagnostics-otel/index.js +12 -1
  185. package/dist/extensions/diagnostics-otel/index.js.map +1 -1
  186. package/dist/extensions/google-auth/index.js +4 -1
  187. package/dist/extensions/google-auth/index.js.map +1 -1
  188. package/dist/extensions/llm-task/index.js +28 -10
  189. package/dist/extensions/llm-task/index.js.map +1 -1
  190. package/dist/extensions/lobster/index.js +27 -8
  191. package/dist/extensions/lobster/index.js.map +1 -1
  192. package/dist/extensions/memory-lancedb/index.js +16 -6
  193. package/dist/extensions/memory-lancedb/index.js.map +1 -1
  194. package/dist/extensions/open-prose/index.js +1 -1
  195. package/dist/extensions/task-runner/index.js +14 -5
  196. package/dist/extensions/task-runner/index.js.map +1 -1
  197. package/dist/farcaster/client.js +7 -7
  198. package/dist/feeds/agentbets/index.d.ts +1 -1
  199. package/dist/feeds/betfair/index.js +12 -6
  200. package/dist/feeds/betfair/index.js.map +1 -1
  201. package/dist/feeds/crypto/index.js +38 -30
  202. package/dist/feeds/crypto/index.js.map +1 -1
  203. package/dist/feeds/crypto/whale-tracker.js +12 -2
  204. package/dist/feeds/crypto/whale-tracker.js.map +1 -1
  205. package/dist/feeds/drift/trading.js +4 -4
  206. package/dist/feeds/external/index.js +3 -0
  207. package/dist/feeds/external/index.js.map +1 -1
  208. package/dist/feeds/fred/index.js.map +1 -1
  209. package/dist/feeds/hedgehog/index.js +10 -2
  210. package/dist/feeds/hedgehog/index.js.map +1 -1
  211. package/dist/feeds/manifold/index.js +1 -1
  212. package/dist/feeds/metaculus/index.js +2 -2
  213. package/dist/feeds/opinion/index.js +2 -2
  214. package/dist/feeds/polymarket/index.js +7 -1
  215. package/dist/feeds/polymarket/index.js.map +1 -1
  216. package/dist/feeds/polymarket/whale-tracker.js.map +1 -1
  217. package/dist/feeds/predictfun/index.js +2 -2
  218. package/dist/feeds/smarkets/index.js +12 -6
  219. package/dist/feeds/smarkets/index.js.map +1 -1
  220. package/dist/gateway/alerts-routes.js +10 -10
  221. package/dist/gateway/alerts-routes.js.map +1 -1
  222. package/dist/gateway/alt-data-routes.js +3 -3
  223. package/dist/gateway/alt-data-routes.js.map +1 -1
  224. package/dist/gateway/api-routes.js +3 -3
  225. package/dist/gateway/api-routes.js.map +1 -1
  226. package/dist/gateway/audit-routes.js +2 -2
  227. package/dist/gateway/audit-routes.js.map +1 -1
  228. package/dist/gateway/bracket-routes.js +5 -5
  229. package/dist/gateway/bracket-routes.js.map +1 -1
  230. package/dist/gateway/copy-trading-routes.js +11 -11
  231. package/dist/gateway/copy-trading-routes.js.map +1 -1
  232. package/dist/gateway/cron-routes.js +7 -7
  233. package/dist/gateway/cron-routes.js.map +1 -1
  234. package/dist/gateway/dca-routes.js +6 -6
  235. package/dist/gateway/dca-routes.js.map +1 -1
  236. package/dist/gateway/embeddings-routes.js +5 -5
  237. package/dist/gateway/embeddings-routes.js.map +1 -1
  238. package/dist/gateway/feeds-routes.d.ts +8 -7
  239. package/dist/gateway/feeds-routes.js +10 -10
  240. package/dist/gateway/feeds-routes.js.map +1 -1
  241. package/dist/gateway/index.js +30 -8
  242. package/dist/gateway/index.js.map +1 -1
  243. package/dist/gateway/monitoring-routes.js +3 -3
  244. package/dist/gateway/monitoring-routes.js.map +1 -1
  245. package/dist/gateway/opportunity-routes.js +14 -14
  246. package/dist/gateway/opportunity-routes.js.map +1 -1
  247. package/dist/gateway/payments-routes.js +4 -4
  248. package/dist/gateway/payments-routes.js.map +1 -1
  249. package/dist/gateway/percolator-routes.js +5 -5
  250. package/dist/gateway/percolator-routes.js.map +1 -1
  251. package/dist/gateway/queue-routes.js +2 -2
  252. package/dist/gateway/queue-routes.js.map +1 -1
  253. package/dist/gateway/risk-routes.js +6 -6
  254. package/dist/gateway/risk-routes.js.map +1 -1
  255. package/dist/gateway/routing-routes.js +4 -4
  256. package/dist/gateway/routing-routes.js.map +1 -1
  257. package/dist/gateway/server.js +2 -2
  258. package/dist/gateway/server.js.map +1 -1
  259. package/dist/gateway/shield-routes.js +4 -4
  260. package/dist/gateway/shield-routes.js.map +1 -1
  261. package/dist/gateway/trigger-routes.js +6 -6
  262. package/dist/gateway/trigger-routes.js.map +1 -1
  263. package/dist/gateway/twap-routes.js +6 -6
  264. package/dist/gateway/twap-routes.js.map +1 -1
  265. package/dist/gateway/webhooks-routes.js +6 -6
  266. package/dist/gateway/webhooks-routes.js.map +1 -1
  267. package/dist/gateway/whale-routes.js +13 -13
  268. package/dist/gateway/whale-routes.js.map +1 -1
  269. package/dist/history/index.js +8 -4
  270. package/dist/history/index.js.map +1 -1
  271. package/dist/hooks/index.js +15 -6
  272. package/dist/hooks/index.js.map +1 -1
  273. package/dist/i18n/index.js +2 -1
  274. package/dist/i18n/index.js.map +1 -1
  275. package/dist/identity/erc8004.js +13 -3
  276. package/dist/identity/erc8004.js.map +1 -1
  277. package/dist/index.js +24 -7
  278. package/dist/index.js.map +1 -1
  279. package/dist/infra/index.d.ts +1 -1
  280. package/dist/infra/index.js +39 -26
  281. package/dist/infra/index.js.map +1 -1
  282. package/dist/ledger/hooks.js +26 -18
  283. package/dist/ledger/hooks.js.map +1 -1
  284. package/dist/ledger/storage.js +23 -13
  285. package/dist/ledger/storage.js.map +1 -1
  286. package/dist/link-understanding/index.js +30 -5
  287. package/dist/link-understanding/index.js.map +1 -1
  288. package/dist/logging/index.js +31 -4
  289. package/dist/logging/index.js.map +1 -1
  290. package/dist/macos/index.d.ts +1 -1
  291. package/dist/macos/index.js +43 -41
  292. package/dist/macos/index.js.map +1 -1
  293. package/dist/markdown/index.js +25 -8
  294. package/dist/markdown/index.js.map +1 -1
  295. package/dist/market-index/index.js +8 -6
  296. package/dist/market-index/index.js.map +1 -1
  297. package/dist/mcp/index.js +68 -11
  298. package/dist/mcp/index.js.map +1 -1
  299. package/dist/mcp/server.js +21 -3
  300. package/dist/mcp/server.js.map +1 -1
  301. package/dist/media/index.js +17 -15
  302. package/dist/media/index.js.map +1 -1
  303. package/dist/memory/context.js +17 -9
  304. package/dist/memory/context.js.map +1 -1
  305. package/dist/memory/index.js +6 -5
  306. package/dist/memory/index.js.map +1 -1
  307. package/dist/ml-pipeline/collector.js +14 -3
  308. package/dist/ml-pipeline/collector.js.map +1 -1
  309. package/dist/ml-pipeline/trainer.js +1 -1
  310. package/dist/ml-pipeline/trainer.js.map +1 -1
  311. package/dist/monitoring/health.js +15 -3
  312. package/dist/monitoring/health.js.map +1 -1
  313. package/dist/monitoring/index.js +2 -1
  314. package/dist/monitoring/index.js.map +1 -1
  315. package/dist/monitoring/metrics.js +2 -2
  316. package/dist/nodes/index.js +43 -28
  317. package/dist/nodes/index.js.map +1 -1
  318. package/dist/opportunity/analytics.js +7 -5
  319. package/dist/opportunity/analytics.js.map +1 -1
  320. package/dist/opportunity/combinatorial.js +4 -1
  321. package/dist/opportunity/combinatorial.js.map +1 -1
  322. package/dist/opportunity/correlation.js +19 -10
  323. package/dist/opportunity/correlation.js.map +1 -1
  324. package/dist/opportunity/executor.js +14 -5
  325. package/dist/opportunity/executor.js.map +1 -1
  326. package/dist/opportunity/risk.js +3 -1
  327. package/dist/opportunity/risk.js.map +1 -1
  328. package/dist/opportunity/scoring.js +3 -1
  329. package/dist/opportunity/scoring.js.map +1 -1
  330. package/dist/pairing/index.js +8 -4
  331. package/dist/pairing/index.js.map +1 -1
  332. package/dist/payments/x402/evm.js +4 -4
  333. package/dist/payments/x402/index.js +27 -8
  334. package/dist/payments/x402/index.js.map +1 -1
  335. package/dist/payments/x402/solana.js +3 -3
  336. package/dist/percolator/feed.js +1 -1
  337. package/dist/percolator/feed.js.map +1 -1
  338. package/dist/permissions/index.d.ts +2 -0
  339. package/dist/permissions/index.js +23 -13
  340. package/dist/permissions/index.js.map +1 -1
  341. package/dist/plugins/index.d.ts +3 -1
  342. package/dist/plugins/index.js +18 -6
  343. package/dist/plugins/index.js.map +1 -1
  344. package/dist/portfolio/index.js +17 -16
  345. package/dist/portfolio/index.js.map +1 -1
  346. package/dist/presence/index.js +17 -5
  347. package/dist/presence/index.js.map +1 -1
  348. package/dist/process/index.js +40 -14
  349. package/dist/process/index.js.map +1 -1
  350. package/dist/providers/discovery.js +34 -28
  351. package/dist/providers/discovery.js.map +1 -1
  352. package/dist/providers/health.js +7 -4
  353. package/dist/providers/health.js.map +1 -1
  354. package/dist/providers/index.js +36 -33
  355. package/dist/providers/index.js.map +1 -1
  356. package/dist/queue/index.js +1 -1
  357. package/dist/queue/jobs/worker.js +13 -2
  358. package/dist/queue/jobs/worker.js.map +1 -1
  359. package/dist/remote/index.d.ts +0 -5
  360. package/dist/remote/index.js +41 -9
  361. package/dist/remote/index.js.map +1 -1
  362. package/dist/risk/circuit-breaker.js +13 -5
  363. package/dist/risk/circuit-breaker.js.map +1 -1
  364. package/dist/risk/engine.js +2 -2
  365. package/dist/risk/volatility.js +1 -1
  366. package/dist/risk/volatility.js.map +1 -1
  367. package/dist/routing/index.js +5 -2
  368. package/dist/routing/index.js.map +1 -1
  369. package/dist/search/index.js +7 -5
  370. package/dist/search/index.js.map +1 -1
  371. package/dist/security/address-checker.js +40 -19
  372. package/dist/security/address-checker.js.map +1 -1
  373. package/dist/security/code-scanner.js +7 -5
  374. package/dist/security/code-scanner.js.map +1 -1
  375. package/dist/security/index.d.ts +3 -0
  376. package/dist/security/index.js +19 -7
  377. package/dist/security/index.js.map +1 -1
  378. package/dist/security/tx-validator.js +2 -2
  379. package/dist/security/tx-validator.js.map +1 -1
  380. package/dist/services/feature-engineering/rolling-window.d.ts +7 -0
  381. package/dist/services/feature-engineering/rolling-window.js +23 -0
  382. package/dist/services/feature-engineering/rolling-window.js.map +1 -1
  383. package/dist/services/feature-engineering/thresholds.js +2 -2
  384. package/dist/services/feature-engineering/thresholds.js.map +1 -1
  385. package/dist/services/tick-recorder/index.js +13 -1
  386. package/dist/services/tick-recorder/index.js.map +1 -1
  387. package/dist/services/tick-recorder/queries.js +11 -7
  388. package/dist/services/tick-recorder/queries.js.map +1 -1
  389. package/dist/services/tick-streamer/index.js +6 -2
  390. package/dist/services/tick-streamer/index.js.map +1 -1
  391. package/dist/session/index.d.ts +1 -1
  392. package/dist/session/index.js +31 -6
  393. package/dist/session/index.js.map +1 -1
  394. package/dist/sessions/index.js +76 -52
  395. package/dist/sessions/index.js.map +1 -1
  396. package/dist/signal-router/router.js +8 -1
  397. package/dist/signal-router/router.js.map +1 -1
  398. package/dist/skills/bundled/acp/index.js +2 -2
  399. package/dist/skills/bundled/acp/index.js.map +1 -1
  400. package/dist/skills/bundled/agentbets/index.js.map +1 -1
  401. package/dist/skills/bundled/ai-strategy/index.js +11 -6
  402. package/dist/skills/bundled/ai-strategy/index.js.map +1 -1
  403. package/dist/skills/bundled/analytics/index.js +7 -7
  404. package/dist/skills/bundled/analytics/index.js.map +1 -1
  405. package/dist/skills/bundled/auto-reply/SKILL.md +19 -16
  406. package/dist/skills/bundled/auto-reply/index.js +10 -5
  407. package/dist/skills/bundled/auto-reply/index.js.map +1 -1
  408. package/dist/skills/bundled/automation/SKILL.md +33 -215
  409. package/dist/skills/bundled/backtest/SKILL.md +2 -1
  410. package/dist/skills/bundled/backtest/index.js +2 -2
  411. package/dist/skills/bundled/backtest/index.js.map +1 -1
  412. package/dist/skills/bundled/bags/index.js +18 -7
  413. package/dist/skills/bundled/bags/index.js.map +1 -1
  414. package/dist/skills/bundled/betfair/index.js +25 -13
  415. package/dist/skills/bundled/betfair/index.js.map +1 -1
  416. package/dist/skills/bundled/binance-futures/index.js +14 -3
  417. package/dist/skills/bundled/binance-futures/index.js.map +1 -1
  418. package/dist/skills/bundled/botchan/index.js +4 -2
  419. package/dist/skills/bundled/botchan/index.js.map +1 -1
  420. package/dist/skills/bundled/bybit-futures/index.js +10 -2
  421. package/dist/skills/bundled/bybit-futures/index.js.map +1 -1
  422. package/dist/skills/bundled/clanker/index.js +13 -7
  423. package/dist/skills/bundled/clanker/index.js.map +1 -1
  424. package/dist/skills/bundled/copy-trading/index.js +3 -3
  425. package/dist/skills/bundled/copy-trading/index.js.map +1 -1
  426. package/dist/skills/bundled/copy-trading-solana/index.js +13 -12
  427. package/dist/skills/bundled/copy-trading-solana/index.js.map +1 -1
  428. package/dist/skills/bundled/credentials/SKILL.md +2 -1
  429. package/dist/skills/bundled/crypto-hft/index.js +3 -2
  430. package/dist/skills/bundled/crypto-hft/index.js.map +1 -1
  431. package/dist/skills/bundled/drift/index.js +16 -11
  432. package/dist/skills/bundled/drift/index.js.map +1 -1
  433. package/dist/skills/bundled/drift-sdk/index.js +12 -4
  434. package/dist/skills/bundled/drift-sdk/index.js.map +1 -1
  435. package/dist/skills/bundled/edge/SKILL.md +6 -3
  436. package/dist/skills/bundled/execution/index.js +17 -12
  437. package/dist/skills/bundled/execution/index.js.map +1 -1
  438. package/dist/skills/bundled/features/index.js +1 -1
  439. package/dist/skills/bundled/features/index.js.map +1 -1
  440. package/dist/skills/bundled/harden/index.js +1 -1
  441. package/dist/skills/bundled/harden/index.js.map +1 -1
  442. package/dist/skills/bundled/hyperliquid/index.js +45 -13
  443. package/dist/skills/bundled/hyperliquid/index.js.map +1 -1
  444. package/dist/skills/bundled/jupiter/index.js +32 -11
  445. package/dist/skills/bundled/jupiter/index.js.map +1 -1
  446. package/dist/skills/bundled/kamino/index.js +4 -4
  447. package/dist/skills/bundled/lighter/index.js +28 -10
  448. package/dist/skills/bundled/lighter/index.js.map +1 -1
  449. package/dist/skills/bundled/marginfi/index.js +26 -14
  450. package/dist/skills/bundled/marginfi/index.js.map +1 -1
  451. package/dist/skills/bundled/meteora/index.js +17 -9
  452. package/dist/skills/bundled/meteora/index.js.map +1 -1
  453. package/dist/skills/bundled/meteora-dbc/index.js +13 -13
  454. package/dist/skills/bundled/meteora-dbc/index.js.map +1 -1
  455. package/dist/skills/bundled/mexc-futures/index.js +10 -2
  456. package/dist/skills/bundled/mexc-futures/index.js.map +1 -1
  457. package/dist/skills/bundled/opinion/index.js +7 -1
  458. package/dist/skills/bundled/opinion/index.js.map +1 -1
  459. package/dist/skills/bundled/orca/index.js +10 -2
  460. package/dist/skills/bundled/orca/index.js.map +1 -1
  461. package/dist/skills/bundled/percolator/index.js +2 -2
  462. package/dist/skills/bundled/percolator/index.js.map +1 -1
  463. package/dist/skills/bundled/portfolio/index.js +3 -3
  464. package/dist/skills/bundled/portfolio/index.js.map +1 -1
  465. package/dist/skills/bundled/predictfun/index.js +2 -2
  466. package/dist/skills/bundled/processes/index.js +1 -1
  467. package/dist/skills/bundled/processes/index.js.map +1 -1
  468. package/dist/skills/bundled/pump-swarm/index.js +21 -17
  469. package/dist/skills/bundled/pump-swarm/index.js.map +1 -1
  470. package/dist/skills/bundled/pumpfun/index.js +12 -6
  471. package/dist/skills/bundled/pumpfun/index.js.map +1 -1
  472. package/dist/skills/bundled/raydium/index.js +14 -3
  473. package/dist/skills/bundled/raydium/index.js.map +1 -1
  474. package/dist/skills/bundled/risk/index.js +1 -1
  475. package/dist/skills/bundled/sandbox/SKILL.md +29 -240
  476. package/dist/skills/bundled/signals/index.js +20 -9
  477. package/dist/skills/bundled/signals/index.js.map +1 -1
  478. package/dist/skills/bundled/smarkets/index.js +5 -5
  479. package/dist/skills/bundled/smarkets/index.js.map +1 -1
  480. package/dist/skills/bundled/solend/index.js +28 -16
  481. package/dist/skills/bundled/solend/index.js.map +1 -1
  482. package/dist/skills/bundled/ticks/index.js +9 -4
  483. package/dist/skills/bundled/ticks/index.js.map +1 -1
  484. package/dist/skills/bundled/trading-futures/index.js +7 -4
  485. package/dist/skills/bundled/trading-futures/index.js.map +1 -1
  486. package/dist/skills/bundled/trading-kalshi/SKILL.md +65 -586
  487. package/dist/skills/bundled/trading-kalshi/index.js +14 -7
  488. package/dist/skills/bundled/trading-kalshi/index.js.map +1 -1
  489. package/dist/skills/bundled/trading-manifold/index.js +2 -2
  490. package/dist/skills/bundled/trading-polymarket/index.js +1 -1
  491. package/dist/skills/bundled/trading-polymarket/index.js.map +1 -1
  492. package/dist/skills/bundled/trading-solana/index.js +2 -2
  493. package/dist/skills/bundled/trading-system/index.js +2 -2
  494. package/dist/skills/bundled/trading-system/index.js.map +1 -1
  495. package/dist/skills/bundled/usage/SKILL.md +8 -18
  496. package/dist/skills/bundled/verify/index.js +2 -2
  497. package/dist/skills/bundled/verify/index.js.map +1 -1
  498. package/dist/skills/bundled/weather/index.js +20 -9
  499. package/dist/skills/bundled/weather/index.js.map +1 -1
  500. package/dist/skills/bundled/webhooks/SKILL.md +31 -279
  501. package/dist/skills/bundled/whale-tracking/SKILL.md +24 -22
  502. package/dist/skills/bundled/whale-tracking/index.js +16 -8
  503. package/dist/skills/bundled/whale-tracking/index.js.map +1 -1
  504. package/dist/skills/index.js +62 -9
  505. package/dist/skills/index.js.map +1 -1
  506. package/dist/skills/loader.js +30 -4
  507. package/dist/skills/loader.js.map +1 -1
  508. package/dist/solana/copytrade.d.ts +1 -0
  509. package/dist/solana/copytrade.js +13 -9
  510. package/dist/solana/copytrade.js.map +1 -1
  511. package/dist/solana/drift.js +3 -3
  512. package/dist/solana/drift.js.map +1 -1
  513. package/dist/solana/meteora-dbc.d.ts +2 -2
  514. package/dist/solana/pump-swarm.js +18 -12
  515. package/dist/solana/pump-swarm.js.map +1 -1
  516. package/dist/solana/pumpapi.js +4 -0
  517. package/dist/solana/pumpapi.js.map +1 -1
  518. package/dist/solana/raydium.js +50 -14
  519. package/dist/solana/raydium.js.map +1 -1
  520. package/dist/solana/swarm-ai-builder.js +28 -28
  521. package/dist/solana/swarm-ai-builder.js.map +1 -1
  522. package/dist/solana/swarm-arbitrage.js +6 -4
  523. package/dist/solana/swarm-arbitrage.js.map +1 -1
  524. package/dist/solana/swarm-builders.js +6 -3
  525. package/dist/solana/swarm-builders.js.map +1 -1
  526. package/dist/solana/swarm-copytrade.d.ts +1 -0
  527. package/dist/solana/swarm-copytrade.js +8 -7
  528. package/dist/solana/swarm-copytrade.js.map +1 -1
  529. package/dist/solana/swarm-presets.js +3 -3
  530. package/dist/solana/swarm-presets.js.map +1 -1
  531. package/dist/solana/swarm-signals.js +8 -6
  532. package/dist/solana/swarm-signals.js.map +1 -1
  533. package/dist/solana/swarm-strategies.js +8 -8
  534. package/dist/solana/wallet.js +12 -3
  535. package/dist/solana/wallet.js.map +1 -1
  536. package/dist/strategies/crypto-hft/index.js +2 -0
  537. package/dist/strategies/crypto-hft/index.js.map +1 -1
  538. package/dist/strategies/crypto-hft/positions.js +11 -3
  539. package/dist/strategies/crypto-hft/positions.js.map +1 -1
  540. package/dist/strategies/crypto-hft/presets.js +2 -1
  541. package/dist/strategies/crypto-hft/presets.js.map +1 -1
  542. package/dist/strategies/crypto-hft/strategies.js +4 -3
  543. package/dist/strategies/crypto-hft/strategies.js.map +1 -1
  544. package/dist/strategies/hft-divergence/detector.js +5 -1
  545. package/dist/strategies/hft-divergence/detector.js.map +1 -1
  546. package/dist/strategies/hft-divergence/position-manager.js +13 -1
  547. package/dist/strategies/hft-divergence/position-manager.js.map +1 -1
  548. package/dist/strategies/hft-divergence/strategy.js +3 -1
  549. package/dist/strategies/hft-divergence/strategy.js.map +1 -1
  550. package/dist/streaming/index.js +21 -5
  551. package/dist/streaming/index.js.map +1 -1
  552. package/dist/tailscale/index.d.ts +0 -17
  553. package/dist/tailscale/index.js +20 -39
  554. package/dist/tailscale/index.js.map +1 -1
  555. package/dist/telemetry/index.d.ts +1 -0
  556. package/dist/telemetry/index.js +49 -6
  557. package/dist/telemetry/index.js.map +1 -1
  558. package/dist/terminal/index.js +4 -5
  559. package/dist/terminal/index.js.map +1 -1
  560. package/dist/tools/canvas.js +32 -8
  561. package/dist/tools/canvas.js.map +1 -1
  562. package/dist/tools/exec.js +38 -5
  563. package/dist/tools/exec.js.map +1 -1
  564. package/dist/tools/image.js +19 -0
  565. package/dist/tools/image.js.map +1 -1
  566. package/dist/tools/sql.js +4 -1
  567. package/dist/tools/sql.js.map +1 -1
  568. package/dist/tools/transcription.js +13 -0
  569. package/dist/tools/transcription.js.map +1 -1
  570. package/dist/tools/web-fetch.js +14 -0
  571. package/dist/tools/web-fetch.js.map +1 -1
  572. package/dist/tools/web-search.js +14 -0
  573. package/dist/tools/web-search.js.map +1 -1
  574. package/dist/trading/backtest.js +3 -3
  575. package/dist/trading/backtest.js.map +1 -1
  576. package/dist/trading/bots/index.d.ts +9 -1
  577. package/dist/trading/bots/index.js +6 -2
  578. package/dist/trading/bots/index.js.map +1 -1
  579. package/dist/trading/copy-trading.js +6 -1
  580. package/dist/trading/copy-trading.js.map +1 -1
  581. package/dist/trading/devtools.js +2 -2
  582. package/dist/trading/devtools.js.map +1 -1
  583. package/dist/trading/futures/index.js +37 -34
  584. package/dist/trading/futures/index.js.map +1 -1
  585. package/dist/trading/index.js +1 -1
  586. package/dist/trading/index.js.map +1 -1
  587. package/dist/trading/logger.js +27 -20
  588. package/dist/trading/logger.js.map +1 -1
  589. package/dist/trading/ml-signals.js +9 -3
  590. package/dist/trading/ml-signals.js.map +1 -1
  591. package/dist/trading/safety.d.ts +2 -0
  592. package/dist/trading/safety.js +12 -2
  593. package/dist/trading/safety.js.map +1 -1
  594. package/dist/trading/stream.js +1 -1
  595. package/dist/trading/stream.js.map +1 -1
  596. package/dist/trading/tracking.d.ts +1 -1
  597. package/dist/trading/tracking.js.map +1 -1
  598. package/dist/utils/config.js +12 -8
  599. package/dist/utils/config.js.map +1 -1
  600. package/dist/utils/http.js +15 -1
  601. package/dist/utils/http.js.map +1 -1
  602. package/dist/utils/kelly.js +14 -5
  603. package/dist/utils/kelly.js.map +1 -1
  604. package/dist/utils/production.js +1 -1
  605. package/dist/utils/production.js.map +1 -1
  606. package/dist/utils/rate-limiter.js +25 -10
  607. package/dist/utils/rate-limiter.js.map +1 -1
  608. package/dist/voice/index.d.ts +5 -1
  609. package/dist/voice/index.js +65 -25
  610. package/dist/voice/index.js.map +1 -1
  611. package/dist/weather/edge.js +4 -2
  612. package/dist/weather/edge.js.map +1 -1
  613. package/dist/weather/markets.d.ts +1 -0
  614. package/dist/weather/markets.js +17 -8
  615. package/dist/weather/markets.js.map +1 -1
  616. package/dist/weather/noaa.d.ts +2 -0
  617. package/dist/weather/noaa.js +22 -5
  618. package/dist/weather/noaa.js.map +1 -1
  619. package/dist/web/index.d.ts +3 -0
  620. package/dist/web/index.js +60 -12
  621. package/dist/web/index.js.map +1 -1
  622. package/dist/wizard/index.js +13 -14
  623. package/dist/wizard/index.js.map +1 -1
  624. package/dist/workspace/index.d.ts +0 -2
  625. package/dist/workspace/index.js +45 -19
  626. package/dist/workspace/index.js.map +1 -1
  627. package/package.json +1 -1
@@ -272,8 +272,8 @@ function calculateCost(model, inputTokens, outputTokens) {
272
272
  const metadata = KNOWN_MODELS[model];
273
273
  if (!metadata)
274
274
  return 0;
275
- const inputCost = (inputTokens / 1000) * (metadata.inputCostPer1k || 0);
276
- const outputCost = (outputTokens / 1000) * (metadata.outputCostPer1k || 0);
275
+ const inputCost = (inputTokens / 1000) * (metadata.inputCostPer1k ?? 0);
276
+ const outputCost = (outputTokens / 1000) * (metadata.outputCostPer1k ?? 0);
277
277
  return inputCost + outputCost;
278
278
  }
279
279
  // =============================================================================
@@ -301,7 +301,7 @@ class GroqProvider {
301
301
  body: JSON.stringify({
302
302
  model: options.model || this.defaultModel,
303
303
  messages,
304
- max_tokens: options.maxTokens || 4096,
304
+ max_tokens: options.maxTokens ?? 4096,
305
305
  temperature: options.temperature,
306
306
  top_p: options.topP,
307
307
  stop: options.stopSequences,
@@ -312,12 +312,12 @@ class GroqProvider {
312
312
  }
313
313
  const data = await response.json();
314
314
  return {
315
- content: data.choices[0]?.message?.content || '',
315
+ content: data.choices[0]?.message?.content ?? '',
316
316
  model: data.model,
317
317
  usage: {
318
- inputTokens: data.usage?.prompt_tokens || 0,
319
- outputTokens: data.usage?.completion_tokens || 0,
320
- totalTokens: data.usage?.total_tokens || 0,
318
+ inputTokens: data.usage?.prompt_tokens ?? 0,
319
+ outputTokens: data.usage?.completion_tokens ?? 0,
320
+ totalTokens: data.usage?.total_tokens ?? 0,
321
321
  },
322
322
  finishReason: data.choices[0]?.finish_reason === 'stop' ? 'end_turn' : 'max_tokens',
323
323
  latency: Date.now() - startTime,
@@ -333,7 +333,7 @@ class GroqProvider {
333
333
  body: JSON.stringify({
334
334
  model: options.model || this.defaultModel,
335
335
  messages,
336
- max_tokens: options.maxTokens || 4096,
336
+ max_tokens: options.maxTokens ?? 4096,
337
337
  temperature: options.temperature,
338
338
  stream: true,
339
339
  }),
@@ -352,7 +352,7 @@ class GroqProvider {
352
352
  break;
353
353
  buffer += decoder.decode(value, { stream: true });
354
354
  const lines = buffer.split('\n');
355
- buffer = lines.pop() || '';
355
+ buffer = lines.pop() ?? '';
356
356
  for (const line of lines) {
357
357
  if (line.startsWith('data: ')) {
358
358
  const data = line.slice(6);
@@ -367,7 +367,9 @@ class GroqProvider {
367
367
  yield { content, done: false };
368
368
  }
369
369
  }
370
- catch { }
370
+ catch (err) {
371
+ logger_1.logger.debug({ error: err }, 'Failed to parse Groq SSE chunk');
372
+ }
371
373
  }
372
374
  }
373
375
  }
@@ -411,7 +413,7 @@ class TogetherProvider {
411
413
  body: JSON.stringify({
412
414
  model: options.model || this.defaultModel,
413
415
  messages,
414
- max_tokens: options.maxTokens || 4096,
416
+ max_tokens: options.maxTokens ?? 4096,
415
417
  temperature: options.temperature,
416
418
  top_p: options.topP,
417
419
  stop: options.stopSequences,
@@ -422,12 +424,12 @@ class TogetherProvider {
422
424
  }
423
425
  const data = await response.json();
424
426
  return {
425
- content: data.choices[0]?.message?.content || '',
427
+ content: data.choices[0]?.message?.content ?? '',
426
428
  model: data.model,
427
429
  usage: {
428
- inputTokens: data.usage?.prompt_tokens || 0,
429
- outputTokens: data.usage?.completion_tokens || 0,
430
- totalTokens: data.usage?.total_tokens || 0,
430
+ inputTokens: data.usage?.prompt_tokens ?? 0,
431
+ outputTokens: data.usage?.completion_tokens ?? 0,
432
+ totalTokens: data.usage?.total_tokens ?? 0,
431
433
  },
432
434
  finishReason: data.choices[0]?.finish_reason === 'stop' ? 'end_turn' : 'max_tokens',
433
435
  latency: Date.now() - startTime,
@@ -443,7 +445,7 @@ class TogetherProvider {
443
445
  body: JSON.stringify({
444
446
  model: options.model || this.defaultModel,
445
447
  messages,
446
- max_tokens: options.maxTokens || 4096,
448
+ max_tokens: options.maxTokens ?? 4096,
447
449
  temperature: options.temperature,
448
450
  stream: true,
449
451
  }),
@@ -462,7 +464,7 @@ class TogetherProvider {
462
464
  break;
463
465
  buffer += decoder.decode(value, { stream: true });
464
466
  const lines = buffer.split('\n');
465
- buffer = lines.pop() || '';
467
+ buffer = lines.pop() ?? '';
466
468
  for (const line of lines) {
467
469
  if (line.startsWith('data: ')) {
468
470
  const data = line.slice(6);
@@ -477,7 +479,9 @@ class TogetherProvider {
477
479
  yield { content, done: false };
478
480
  }
479
481
  }
480
- catch { }
482
+ catch (err) {
483
+ logger_1.logger.debug({ error: err }, 'Failed to parse Together SSE chunk');
484
+ }
481
485
  }
482
486
  }
483
487
  }
@@ -527,7 +531,7 @@ class FireworksProvider {
527
531
  body: JSON.stringify({
528
532
  model: options.model || this.defaultModel,
529
533
  messages,
530
- max_tokens: options.maxTokens || 4096,
534
+ max_tokens: options.maxTokens ?? 4096,
531
535
  temperature: options.temperature,
532
536
  top_p: options.topP,
533
537
  stop: options.stopSequences,
@@ -538,12 +542,12 @@ class FireworksProvider {
538
542
  }
539
543
  const data = await response.json();
540
544
  return {
541
- content: data.choices[0]?.message?.content || '',
545
+ content: data.choices[0]?.message?.content ?? '',
542
546
  model: data.model,
543
547
  usage: {
544
- inputTokens: data.usage?.prompt_tokens || 0,
545
- outputTokens: data.usage?.completion_tokens || 0,
546
- totalTokens: data.usage?.total_tokens || 0,
548
+ inputTokens: data.usage?.prompt_tokens ?? 0,
549
+ outputTokens: data.usage?.completion_tokens ?? 0,
550
+ totalTokens: data.usage?.total_tokens ?? 0,
547
551
  },
548
552
  finishReason: data.choices[0]?.finish_reason === 'stop' ? 'end_turn' : 'max_tokens',
549
553
  latency: Date.now() - startTime,
@@ -559,7 +563,7 @@ class FireworksProvider {
559
563
  body: JSON.stringify({
560
564
  model: options.model || this.defaultModel,
561
565
  messages,
562
- max_tokens: options.maxTokens || 4096,
566
+ max_tokens: options.maxTokens ?? 4096,
563
567
  temperature: options.temperature,
564
568
  top_p: options.topP,
565
569
  stop: options.stopSequences,
@@ -580,7 +584,7 @@ class FireworksProvider {
580
584
  break;
581
585
  buffer += decoder.decode(value, { stream: true });
582
586
  const lines = buffer.split('\n');
583
- buffer = lines.pop() || '';
587
+ buffer = lines.pop() ?? '';
584
588
  for (const line of lines) {
585
589
  if (!line.startsWith('data: '))
586
590
  continue;
@@ -598,8 +602,8 @@ class FireworksProvider {
598
602
  yield { content, done: false };
599
603
  }
600
604
  }
601
- catch {
602
- // Ignore malformed streaming chunks.
605
+ catch (err) {
606
+ logger_1.logger.debug({ error: err }, 'Failed to parse Fireworks SSE chunk');
603
607
  }
604
608
  }
605
609
  }
@@ -725,7 +729,9 @@ async function runDiagnostics(providers) {
725
729
  try {
726
730
  info.models = await provider.listModels();
727
731
  }
728
- catch { }
732
+ catch (err) {
733
+ logger_1.logger.debug({ provider: name, error: err }, 'Failed to list models during diagnostics');
734
+ }
729
735
  }
730
736
  }
731
737
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/providers/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/providers/discovery.ts"],"names":[],"mappings":"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"}
@@ -7,8 +7,8 @@ exports.createProviderHealthMonitor = createProviderHealthMonitor;
7
7
  const events_1 = require("events");
8
8
  const logger_1 = require("../utils/logger");
9
9
  const DEFAULT_CONFIG = {
10
- intervalMs: Number(process.env.CLODDS_PROVIDER_HEALTH_INTERVAL_MS || 30_000),
11
- failureWarnThreshold: Number(process.env.CLODDS_PROVIDER_HEALTH_WARN_AFTER || 3),
10
+ intervalMs: Number(process.env.CLODDS_PROVIDER_HEALTH_INTERVAL_MS) || 30_000,
11
+ failureWarnThreshold: Number(process.env.CLODDS_PROVIDER_HEALTH_WARN_AFTER) || 3,
12
12
  };
13
13
  function now() {
14
14
  return Date.now();
@@ -23,13 +23,13 @@ function createProviderHealthMonitor(providers, configInput = {}) {
23
23
  const availability = await providers.checkAvailability();
24
24
  for (const [provider, available] of Object.entries(availability)) {
25
25
  const prev = statuses.get(provider);
26
- const consecutiveFailures = available ? 0 : (prev?.consecutiveFailures || 0) + 1;
26
+ const consecutiveFailures = available ? 0 : (prev?.consecutiveFailures ?? 0) + 1;
27
27
  const next = {
28
28
  provider,
29
29
  available,
30
30
  lastCheckedAt: checkedAt,
31
31
  consecutiveFailures,
32
- lastError: available ? undefined : prev?.lastError || 'Unavailable',
32
+ lastError: available ? undefined : prev?.lastError ?? 'Unavailable',
33
33
  };
34
34
  statuses.set(provider, next);
35
35
  if (!available && consecutiveFailures >= config.failureWarnThreshold) {
@@ -60,6 +60,8 @@ function createProviderHealthMonitor(providers, configInput = {}) {
60
60
  logger_1.logger.warn({ error }, 'Provider health check failed');
61
61
  });
62
62
  }, config.intervalMs);
63
+ if (timer.unref)
64
+ timer.unref();
63
65
  logger_1.logger.info({ intervalMs: config.intervalMs }, 'Provider health monitor started');
64
66
  },
65
67
  stop() {
@@ -68,6 +70,7 @@ function createProviderHealthMonitor(providers, configInput = {}) {
68
70
  clearInterval(timer);
69
71
  timer = null;
70
72
  }
73
+ monitor.removeAllListeners();
71
74
  logger_1.logger.info('Provider health monitor stopped');
72
75
  },
73
76
  isRunning() {
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/providers/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/providers/health.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,8 @@ class GeminiProvider {
31
31
  this.apiKey = apiKey;
32
32
  }
33
33
  endpoint(model, method) {
34
- const cleanModel = model.startsWith('models/') ? model : `models/${model}`;
34
+ const sanitized = model.replace(/[^a-zA-Z0-9._\-/]/g, '');
35
+ const cleanModel = sanitized.startsWith('models/') ? sanitized : `models/${sanitized}`;
35
36
  return `${this.baseUrl}/${cleanModel}:${method}?key=${this.apiKey}`;
36
37
  }
37
38
  toGeminiMessages(messages) {
@@ -72,15 +73,15 @@ class GeminiProvider {
72
73
  throw new Error(`Gemini error: ${response.status}`);
73
74
  }
74
75
  const data = await response.json();
75
- const content = data.candidates?.[0]?.content?.parts?.map(p => p.text || '').join('') || '';
76
+ const content = data.candidates?.[0]?.content?.parts?.map(p => p.text ?? '').join('') ?? '';
76
77
  const finish = data.candidates?.[0]?.finishReason;
77
78
  return {
78
79
  content,
79
80
  model: data.modelVersion || model,
80
81
  usage: {
81
- inputTokens: data.usageMetadata?.promptTokenCount || 0,
82
- outputTokens: data.usageMetadata?.candidatesTokenCount || 0,
83
- totalTokens: data.usageMetadata?.totalTokenCount || 0,
82
+ inputTokens: data.usageMetadata?.promptTokenCount ?? 0,
83
+ outputTokens: data.usageMetadata?.candidatesTokenCount ?? 0,
84
+ totalTokens: data.usageMetadata?.totalTokenCount ?? 0,
84
85
  },
85
86
  finishReason: finish === 'STOP' ? 'end_turn' : 'end_turn',
86
87
  latency: Date.now() - startTime,
@@ -116,20 +117,20 @@ class GeminiProvider {
116
117
  buffer += decoder.decode(value, { stream: true });
117
118
  // Gemini streaming responses are JSON lines.
118
119
  const lines = buffer.split('\n');
119
- buffer = lines.pop() || '';
120
+ buffer = lines.pop() ?? '';
120
121
  for (const line of lines) {
121
122
  const trimmed = line.trim();
122
123
  if (!trimmed)
123
124
  continue;
124
125
  try {
125
126
  const event = JSON.parse(trimmed);
126
- const content = event.candidates?.[0]?.content?.parts?.map(p => p.text || '').join('') || '';
127
+ const content = event.candidates?.[0]?.content?.parts?.map(p => p.text ?? '').join('') ?? '';
127
128
  if (content) {
128
129
  yield { content, done: false };
129
130
  }
130
131
  }
131
- catch {
132
- // Ignore malformed chunks.
132
+ catch (err) {
133
+ logger_1.logger.debug({ error: err }, 'Failed to parse Gemini stream chunk');
133
134
  }
134
135
  }
135
136
  }
@@ -196,7 +197,7 @@ class AnthropicProvider {
196
197
  const conversationMessages = messages.filter(m => m.role !== 'system');
197
198
  const body = {
198
199
  model: options.model || this.config.defaultModel,
199
- max_tokens: options.maxTokens || 4096,
200
+ max_tokens: options.maxTokens ?? 4096,
200
201
  temperature: options.temperature,
201
202
  top_p: options.topP,
202
203
  stop_sequences: options.stopSequences,
@@ -208,12 +209,12 @@ class AnthropicProvider {
208
209
  };
209
210
  const response = await this.request('/v1/messages', body);
210
211
  return {
211
- content: response.content[0]?.text || '',
212
+ content: response.content[0]?.text ?? '',
212
213
  model: response.model,
213
214
  usage: {
214
- inputTokens: response.usage?.input_tokens || 0,
215
- outputTokens: response.usage?.output_tokens || 0,
216
- totalTokens: (response.usage?.input_tokens || 0) + (response.usage?.output_tokens || 0),
215
+ inputTokens: response.usage?.input_tokens ?? 0,
216
+ outputTokens: response.usage?.output_tokens ?? 0,
217
+ totalTokens: (response.usage?.input_tokens ?? 0) + (response.usage?.output_tokens ?? 0),
217
218
  },
218
219
  finishReason: response.stop_reason === 'end_turn' ? 'end_turn' :
219
220
  response.stop_reason === 'max_tokens' ? 'max_tokens' : 'end_turn',
@@ -225,7 +226,7 @@ class AnthropicProvider {
225
226
  const conversationMessages = messages.filter(m => m.role !== 'system');
226
227
  const body = {
227
228
  model: options.model || this.config.defaultModel,
228
- max_tokens: options.maxTokens || 4096,
229
+ max_tokens: options.maxTokens ?? 4096,
229
230
  temperature: options.temperature,
230
231
  top_p: options.topP,
231
232
  stop_sequences: options.stopSequences,
@@ -259,7 +260,7 @@ class AnthropicProvider {
259
260
  break;
260
261
  buffer += decoder.decode(value, { stream: true });
261
262
  const lines = buffer.split('\n');
262
- buffer = lines.pop() || '';
263
+ buffer = lines.pop() ?? '';
263
264
  for (const line of lines) {
264
265
  if (line.startsWith('data: ')) {
265
266
  const data = line.slice(6);
@@ -331,7 +332,8 @@ class AnthropicProvider {
331
332
  // Rate limit
332
333
  if (statusCode === 429) {
333
334
  const retryAfter = response.headers.get('retry-after');
334
- throw new retry_1.RateLimitError(`Anthropic rate limited: ${statusCode} - ${errorText}`, statusCode, retryAfter ? parseInt(retryAfter, 10) * 1000 : undefined);
335
+ const parsedRetry = retryAfter ? parseInt(retryAfter, 10) : NaN;
336
+ throw new retry_1.RateLimitError(`Anthropic rate limited: ${statusCode} - ${errorText}`, statusCode, !isNaN(parsedRetry) ? parsedRetry * 1000 : undefined);
335
337
  }
336
338
  // Server errors are transient
337
339
  if (statusCode >= 500) {
@@ -381,7 +383,7 @@ class OpenAIProvider {
381
383
  const startTime = Date.now();
382
384
  const body = {
383
385
  model: options.model || this.config.defaultModel,
384
- max_tokens: options.maxTokens || 4096,
386
+ max_tokens: options.maxTokens ?? 4096,
385
387
  temperature: options.temperature,
386
388
  top_p: options.topP,
387
389
  stop: options.stopSequences,
@@ -392,12 +394,12 @@ class OpenAIProvider {
392
394
  };
393
395
  const response = await this.request('/v1/chat/completions', body);
394
396
  return {
395
- content: response.choices[0]?.message?.content || '',
397
+ content: response.choices[0]?.message?.content ?? '',
396
398
  model: response.model,
397
399
  usage: {
398
- inputTokens: response.usage?.prompt_tokens || 0,
399
- outputTokens: response.usage?.completion_tokens || 0,
400
- totalTokens: response.usage?.total_tokens || 0,
400
+ inputTokens: response.usage?.prompt_tokens ?? 0,
401
+ outputTokens: response.usage?.completion_tokens ?? 0,
402
+ totalTokens: response.usage?.total_tokens ?? 0,
401
403
  },
402
404
  finishReason: response.choices[0]?.finish_reason === 'stop' ? 'end_turn' :
403
405
  response.choices[0]?.finish_reason === 'length' ? 'max_tokens' : 'end_turn',
@@ -407,7 +409,7 @@ class OpenAIProvider {
407
409
  async *stream(messages, options = {}) {
408
410
  const body = {
409
411
  model: options.model || this.config.defaultModel,
410
- max_tokens: options.maxTokens || 4096,
412
+ max_tokens: options.maxTokens ?? 4096,
411
413
  temperature: options.temperature,
412
414
  top_p: options.topP,
413
415
  stop: options.stopSequences,
@@ -439,7 +441,7 @@ class OpenAIProvider {
439
441
  break;
440
442
  buffer += decoder.decode(value, { stream: true });
441
443
  const lines = buffer.split('\n');
442
- buffer = lines.pop() || '';
444
+ buffer = lines.pop() ?? '';
443
445
  for (const line of lines) {
444
446
  if (line.startsWith('data: ')) {
445
447
  const data = line.slice(6);
@@ -501,7 +503,8 @@ class OpenAIProvider {
501
503
  // Rate limit
502
504
  if (statusCode === 429) {
503
505
  const retryAfter = response.headers.get('retry-after');
504
- throw new retry_1.RateLimitError(`OpenAI rate limited: ${statusCode} - ${errorText}`, statusCode, retryAfter ? parseInt(retryAfter, 10) * 1000 : undefined);
506
+ const parsedRetry = retryAfter ? parseInt(retryAfter, 10) : NaN;
507
+ throw new retry_1.RateLimitError(`OpenAI rate limited: ${statusCode} - ${errorText}`, statusCode, !isNaN(parsedRetry) ? parsedRetry * 1000 : undefined);
505
508
  }
506
509
  // Server errors are transient
507
510
  if (statusCode >= 500) {
@@ -570,12 +573,12 @@ class OllamaProvider {
570
573
  }
571
574
  const data = await response.json();
572
575
  return {
573
- content: data.message?.content || '',
576
+ content: data.message?.content ?? '',
574
577
  model: data.model,
575
578
  usage: {
576
- inputTokens: data.prompt_eval_count || 0,
577
- outputTokens: data.eval_count || 0,
578
- totalTokens: (data.prompt_eval_count || 0) + (data.eval_count || 0),
579
+ inputTokens: data.prompt_eval_count ?? 0,
580
+ outputTokens: data.eval_count ?? 0,
581
+ totalTokens: (data.prompt_eval_count ?? 0) + (data.eval_count ?? 0),
579
582
  },
580
583
  finishReason: data.done_reason === 'stop' ? 'end_turn' : 'max_tokens',
581
584
  latency: Date.now() - startTime,
@@ -615,7 +618,7 @@ class OllamaProvider {
615
618
  break;
616
619
  buffer += decoder.decode(value, { stream: true });
617
620
  const lines = buffer.split('\n');
618
- buffer = lines.pop() || '';
621
+ buffer = lines.pop() ?? '';
619
622
  for (const line of lines) {
620
623
  if (!line.trim())
621
624
  continue;
@@ -668,9 +671,9 @@ class ProviderManager extends events_1.EventEmitter {
668
671
  fallbackChain = [];
669
672
  circuits = new Map();
670
673
  circuitConfig = {
671
- failureThreshold: Number(process.env.CLODDS_PROVIDER_CB_FAILURE_THRESHOLD || 3),
672
- cooldownMs: Number(process.env.CLODDS_PROVIDER_CB_COOLDOWN_MS || 60_000),
673
- successResetThreshold: Number(process.env.CLODDS_PROVIDER_CB_SUCCESS_RESET || 2),
674
+ failureThreshold: Number(process.env.CLODDS_PROVIDER_CB_FAILURE_THRESHOLD) || 3,
675
+ cooldownMs: Number(process.env.CLODDS_PROVIDER_CB_COOLDOWN_MS) || 60_000,
676
+ successResetThreshold: Number(process.env.CLODDS_PROVIDER_CB_SUCCESS_RESET) || 2,
674
677
  };
675
678
  getCircuit(provider) {
676
679
  let state = this.circuits.get(provider);