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
@@ -51,6 +51,7 @@ function createX402Client(config = {}) {
51
51
  const defaultNetwork = config.network || 'base';
52
52
  const autoApproveLimit = config.autoApproveLimit ?? 1.0; // $1 default
53
53
  const dryRun = config.dryRun ?? false;
54
+ const MAX_PAYMENT_HISTORY = 1000;
54
55
  const paymentHistory = [];
55
56
  // EVM wallet
56
57
  let evmWallet = null;
@@ -67,13 +68,13 @@ function createX402Client(config = {}) {
67
68
  // Convert USD to token amount
68
69
  function usdToTokenAmount(usd, network) {
69
70
  const decimals = USDC_DECIMALS[network];
70
- const amount = Math.ceil(usd * Math.pow(10, decimals));
71
+ const amount = Math.round(usd * Math.pow(10, decimals));
71
72
  return amount.toString();
72
73
  }
73
74
  // Parse token amount to USD
74
75
  function tokenAmountToUsd(amount, network) {
75
76
  const decimals = USDC_DECIMALS[network];
76
- return parseInt(amount, 10) / Math.pow(10, decimals);
77
+ return Number(amount) / Math.pow(10, decimals);
77
78
  }
78
79
  // Sign EVM payment using proper EIP-712
79
80
  async function signEvmPaymentLocal(option) {
@@ -109,7 +110,7 @@ function createX402Client(config = {}) {
109
110
  // Check if we can auto-approve
110
111
  const cheapestOption = paymentDetails.accepts
111
112
  .filter((o) => o.asset === 'USDC')
112
- .sort((a, b) => parseInt(a.maxAmountRequired) - parseInt(b.maxAmountRequired))[0];
113
+ .sort((a, b) => parseInt(a.maxAmountRequired, 10) - parseInt(b.maxAmountRequired, 10))[0];
113
114
  if (!cheapestOption) {
114
115
  logger_1.logger.error('x402: No USDC payment option available');
115
116
  return initialResponse;
@@ -133,6 +134,9 @@ function createX402Client(config = {}) {
133
134
  amount: cheapestOption.maxAmountRequired,
134
135
  asset: 'USDC',
135
136
  });
137
+ if (paymentHistory.length > MAX_PAYMENT_HISTORY) {
138
+ paymentHistory.splice(0, paymentHistory.length - MAX_PAYMENT_HISTORY);
139
+ }
136
140
  return initialResponse;
137
141
  }
138
142
  // Retry with payment header
@@ -152,6 +156,9 @@ function createX402Client(config = {}) {
152
156
  amount: cheapestOption.maxAmountRequired,
153
157
  asset: 'USDC',
154
158
  });
159
+ if (paymentHistory.length > MAX_PAYMENT_HISTORY) {
160
+ paymentHistory.splice(0, paymentHistory.length - MAX_PAYMENT_HISTORY);
161
+ }
155
162
  emitter.emit('payment_success', { url, amount: usdAmount, payload });
156
163
  }
157
164
  else {
@@ -160,6 +167,9 @@ function createX402Client(config = {}) {
160
167
  success: false,
161
168
  error: `HTTP ${paidResponse.status}`,
162
169
  });
170
+ if (paymentHistory.length > MAX_PAYMENT_HISTORY) {
171
+ paymentHistory.splice(0, paymentHistory.length - MAX_PAYMENT_HISTORY);
172
+ }
163
173
  emitter.emit('payment_failed', { url, status: paidResponse.status });
164
174
  }
165
175
  return paidResponse;
@@ -338,7 +348,7 @@ function createX402Server(serverConfig, endpoints) {
338
348
  // Convert USD price to payment details
339
349
  function createPaymentDetails(endpoint, config) {
340
350
  const decimals = USDC_DECIMALS[serverConfig.network];
341
- const amount = Math.ceil(config.priceUsd * Math.pow(10, decimals)).toString();
351
+ const amount = Math.round(config.priceUsd * Math.pow(10, decimals)).toString();
342
352
  return {
343
353
  accepts: [{
344
354
  scheme: 'exact',
@@ -365,7 +375,8 @@ function createX402Server(serverConfig, endpoints) {
365
375
  const result = await response.json();
366
376
  return result.valid && result.settled !== false;
367
377
  }
368
- catch {
378
+ catch (err) {
379
+ logger_1.logger.error({ err }, 'x402: Server payment verification error');
369
380
  return false;
370
381
  }
371
382
  }
@@ -395,8 +406,13 @@ function createX402Server(serverConfig, endpoints) {
395
406
  res.end?.(JSON.stringify({ error: 'Payment Required', details }));
396
407
  return;
397
408
  }
398
- // Parse and verify payment
399
409
  try {
410
+ if (typeof paymentHeader !== 'string' || paymentHeader.length > 10000) {
411
+ res.status?.(400) || (res.statusCode = 400);
412
+ res.json?.({ error: 'Payment header too large' }) ||
413
+ res.end?.(JSON.stringify({ error: 'Payment header too large' }));
414
+ return;
415
+ }
400
416
  const payload = JSON.parse(Buffer.from(paymentHeader, 'base64').toString());
401
417
  // Custom validation if provided
402
418
  if (endpointConfig.validate) {
@@ -416,10 +432,13 @@ function createX402Server(serverConfig, endpoints) {
416
432
  res.end?.(JSON.stringify({ error: 'Payment verification failed' }));
417
433
  return;
418
434
  }
419
- // Track stats
420
435
  stats.totalPayments++;
421
436
  stats.totalRevenue += endpointConfig.priceUsd;
422
437
  if (!stats.byEndpoint[path]) {
438
+ const endpointKeys = Object.keys(stats.byEndpoint);
439
+ if (endpointKeys.length >= 10000) {
440
+ delete stats.byEndpoint[endpointKeys[0]];
441
+ }
423
442
  stats.byEndpoint[path] = { count: 0, revenue: 0 };
424
443
  }
425
444
  stats.byEndpoint[path].count++;
@@ -495,7 +514,7 @@ function createX402AxiosInterceptor(config) {
495
514
  */
496
515
  function formatX402Amount(amount, network) {
497
516
  const decimals = USDC_DECIMALS[network];
498
- const value = parseInt(amount, 10) / Math.pow(10, decimals);
517
+ const value = Number(amount) / Math.pow(10, decimals);
499
518
  return `$${value.toFixed(2)} USDC`;
500
519
  }
501
520
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/payments/x402/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/payments/x402/index.ts"],"names":[],"mappings":"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"}
@@ -214,7 +214,7 @@ async function signSolanaPayment(wallet, option) {
214
214
  payTo: option.payTo,
215
215
  nonce,
216
216
  timestamp,
217
- validUntil: option.validUntil || timestamp + 300,
217
+ validUntil: option.validUntil ?? timestamp + 300,
218
218
  });
219
219
  const messageBytes = new TextEncoder().encode(message);
220
220
  const messageHash = (0, crypto_1.createHash)('sha256').update(messageBytes).digest();
@@ -256,7 +256,7 @@ async function verifySolanaPayment(payload) {
256
256
  payTo: payload.paymentOption.payTo,
257
257
  nonce: payload.nonce,
258
258
  timestamp: payload.timestamp,
259
- validUntil: payload.paymentOption.validUntil || payload.timestamp + 300,
259
+ validUntil: payload.paymentOption.validUntil ?? payload.timestamp + 300,
260
260
  });
261
261
  const messageBytes = new TextEncoder().encode(message);
262
262
  const messageHash = (0, crypto_1.createHash)('sha256').update(messageBytes).digest();
@@ -287,7 +287,7 @@ function verifySolanaPaymentSync(payload) {
287
287
  payTo: payload.paymentOption.payTo,
288
288
  nonce: payload.nonce,
289
289
  timestamp: payload.timestamp,
290
- validUntil: payload.paymentOption.validUntil || payload.timestamp + 300,
290
+ validUntil: payload.paymentOption.validUntil ?? payload.timestamp + 300,
291
291
  });
292
292
  const messageBytes = new TextEncoder().encode(message);
293
293
  const messageHash = (0, crypto_1.createHash)('sha256').update(messageBytes).digest();
@@ -58,7 +58,7 @@ function createPercolatorFeed(config) {
58
58
  bestAsk = { lpIndex: idx, price: askPriceE6, priceUsd: Number(askPriceE6) / 1_000_000 };
59
59
  }
60
60
  }
61
- const spreadBps = bestBid && bestAsk
61
+ const spreadBps = bestBid && bestAsk && oraclePriceE6 > 0n
62
62
  ? Number((bestAsk.price - bestBid.price) * 10000n / oraclePriceE6)
63
63
  : 0;
64
64
  const state = {
@@ -1 +1 @@
1
- {"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/percolator/feed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed.js","sourceRoot":"","sources":["../../src/percolator/feed.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAiBH,oDAgKC;AA/KD,mCAAsC;AACtC,6CAAwD;AACxD,kDAA4C;AAE5C,yCAA6C;AAC7C,uCAA0H;AAU1H,SAAgB,oBAAoB,CAAC,MAAwB;IAC3D,MAAM,IAAI,GAAG,IAAI,qBAAY,EAAoB,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,0BAAe,CAAC;IAC9E,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,MAAM,CAAC;IAE/B,IAAI,UAAU,GAAsB,IAAI,CAAC;IACzC,IAAI,UAAU,GAAqB,IAAI,CAAC;IACxC,IAAI,KAAK,GAA0C,IAAI,CAAC;IACxD,IAAI,SAAS,GAAiC,IAAI,CAAC;IACnD,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,KAAK,UAAU,IAAI;QACjB,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU;YAAE,OAAO;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC9B,IAAA,mBAAS,EAAC,UAAU,EAAE,UAAU,CAAC;gBACjC,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;aAC5G,CAAC,CAAC;YACH,YAAY,GAAG,IAAI,CAAC;YAEpB,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,IAAI,CAAC,CAAC;YAEjC,yEAAyE;YACzE,MAAM,aAAa,GAAG,SAAS,CAAC,gBAAgB,GAAG,EAAE;gBACnD,CAAC,CAAC,SAAS,CAAC,gBAAgB;gBAC5B,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC;YACnC,MAAM,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;YAEzD,+CAA+C;YAC/C,MAAM,WAAW,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAqC,IAAI,CAAC;YACrD,IAAI,OAAO,GAAqC,IAAI,CAAC;YAErD,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,WAAW,EAAE,CAAC;gBAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,EAAE;oBAAE,SAAS;gBAC9C,IAAI,OAAO,CAAC,OAAO,KAAK,EAAE;oBAAE,SAAS;gBAErC,8CAA8C;gBAC9C,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;gBAC9E,MAAM,UAAU,GAAG,aAAa,GAAG,CAAC,aAAa,GAAG,eAAe,GAAG,MAAM,CAAC,CAAC;gBAE9E,IAAI,CAAC,OAAO,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC3C,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC;gBAC1F,CAAC;gBACD,IAAI,CAAC,OAAO,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC3C,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC;gBAC1F,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,IAAI,OAAO,IAAI,aAAa,GAAG,EAAE;gBACxD,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,aAAa,CAAC;gBAClE,CAAC,CAAC,CAAC,CAAC;YAEN,MAAM,KAAK,GAA0B;gBACnC,WAAW,EAAE,aAAa;gBAC1B,cAAc;gBACd,cAAc,EAAE,CAAC;gBACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;gBAC3C,WAAW,EAAE,MAAM,CAAC,yBAAyB;gBAC7C,OAAO;gBACP,OAAO;gBACP,SAAS;gBACT,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC;YAEF,SAAS,GAAG,KAAK,CAAC;YAElB,8BAA8B;YAC9B,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;gBACjC,SAAS,GAAG,cAAc,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBACjB,QAAQ,EAAE,YAAqB;oBAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;oBAC/B,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,cAAc;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,uBAAuB;YACvB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,QAAQ,EAAE,YAAqB;oBAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;oBAC/B,SAAS,EAAE,MAAM;oBACjB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAA4B;oBACvF,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,CAA4B;oBACvF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,UAAU,GAAG,IAAI,oBAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjD,UAAU,GAAG,IAAI,mBAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE/C,kBAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM,CAAC,WAAW;YACxB,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,YAAY;SACrB,EAAE,4BAA4B,CAAC,CAAC;QAEjC,eAAe;QACf,MAAM,IAAI,EAAE,CAAC;QAEb,gBAAgB;QAChB,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;QACrB,IAAI,KAAK,EAAE,CAAC;YACV,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,UAAU,GAAG,IAAI,CAAC;QAClB,SAAS,GAAG,IAAI,CAAC;QACjB,YAAY,GAAG,IAAI,CAAC;QACpB,SAAS,GAAG,IAAI,CAAC;QACjB,kBAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAEtC,IAAI,CAAC,YAAY,GAAG,CAAC,KAAiB,EAAwB,EAAE;QAC9D,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAA,0BAAgB,EAAC,YAAY,CAAC,CAAC;QACnD,OAAO,WAAW;aACf,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACtB,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAW,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC;YACpD,IAAI,OAAO,CAAC,YAAY,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC9C,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1B,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC,CAAC;IACR,CAAC,CAAC;IAEF,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAEhC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -139,7 +139,9 @@ export declare class ExecApprovalsManager extends EventEmitter {
139
139
  private pendingPath;
140
140
  private decisionsPath;
141
141
  private pendingApprovals;
142
+ private decisionPoller;
142
143
  constructor(configPath?: string);
144
+ destroy(): void;
143
145
  private loadConfig;
144
146
  private refreshConfig;
145
147
  private saveConfig;
@@ -222,8 +222,10 @@ function matchesAllowlistPattern(command, fullCommand, entry) {
222
222
  return regex.test(command) || regex.test(fullCommand);
223
223
  case 'regex':
224
224
  try {
225
+ if (entry.pattern.length > 200)
226
+ return false;
225
227
  const re = new RegExp(entry.pattern);
226
- return re.test(command) || re.test(fullCommand);
228
+ return re.test(command.slice(0, 10000)) || re.test(fullCommand.slice(0, 10000));
227
229
  }
228
230
  catch {
229
231
  return false;
@@ -236,14 +238,12 @@ function matchesAllowlistPattern(command, fullCommand, entry) {
236
238
  * Validate a path is within the sandbox
237
239
  */
238
240
  function assertSandboxPath(path, config) {
241
+ if (path.includes('\0')) {
242
+ throw new Error(`Null byte in path: ${path}`);
243
+ }
239
244
  const normalizedPath = (0, path_1.normalize)((0, path_1.resolve)(path));
240
245
  const normalizedRoot = (0, path_1.normalize)((0, path_1.resolve)(config.root));
241
- // Check for path traversal
242
- if (normalizedPath.includes('..')) {
243
- throw new Error(`Path traversal detected: ${path}`);
244
- }
245
- // Check path is within root
246
- if (!normalizedPath.startsWith(normalizedRoot)) {
246
+ if (!normalizedPath.startsWith(normalizedRoot + '/') && normalizedPath !== normalizedRoot) {
247
247
  throw new Error(`Path escapes sandbox: ${path}`);
248
248
  }
249
249
  // Check for symlinks if not allowed
@@ -252,7 +252,7 @@ function assertSandboxPath(path, config) {
252
252
  const stats = (0, fs_1.lstatSync)(path);
253
253
  if (stats.isSymbolicLink()) {
254
254
  const realPath = (0, fs_1.realpathSync)(path);
255
- if (!realPath.startsWith(normalizedRoot)) {
255
+ if (!realPath.startsWith(normalizedRoot + '/') && realPath !== normalizedRoot) {
256
256
  throw new Error(`Symlink escapes sandbox: ${path} -> ${realPath}`);
257
257
  }
258
258
  }
@@ -281,6 +281,7 @@ class ExecApprovalsManager extends events_1.EventEmitter {
281
281
  pendingPath;
282
282
  decisionsPath;
283
283
  pendingApprovals = new Map();
284
+ decisionPoller = null;
284
285
  constructor(configPath) {
285
286
  super();
286
287
  this.configPath = configPath || (0, path_1.join)((0, os_1.homedir)(), '.clodds', 'exec-approvals.json');
@@ -307,10 +308,18 @@ class ExecApprovalsManager extends events_1.EventEmitter {
307
308
  status: 'pending',
308
309
  });
309
310
  }
310
- const decisionPoller = setInterval(() => {
311
+ this.decisionPoller = setInterval(() => {
311
312
  this.applyDecisionsFromDisk();
312
313
  }, 1000);
313
- decisionPoller.unref?.();
314
+ this.decisionPoller.unref?.();
315
+ }
316
+ destroy() {
317
+ if (this.decisionPoller) {
318
+ clearInterval(this.decisionPoller);
319
+ this.decisionPoller = null;
320
+ }
321
+ this.pendingApprovals.clear();
322
+ this.removeAllListeners();
314
323
  }
315
324
  loadConfig() {
316
325
  try {
@@ -530,7 +539,8 @@ class ExecApprovalsManager extends events_1.EventEmitter {
530
539
  pattern,
531
540
  type,
532
541
  addedAt: Date.now(),
533
- ...options,
542
+ description: options.description,
543
+ addedBy: options.addedBy,
534
544
  };
535
545
  this.config.agents[agentId].allowlist.push(entry);
536
546
  this.saveConfig();
@@ -620,7 +630,7 @@ class ExecApprovalsManager extends events_1.EventEmitter {
620
630
  }
621
631
  createApprovalRequest(agentId, command, args, fullCommand, sessionId, requester, awaitingDecision = false) {
622
632
  const security = this.getSecurityConfig(agentId);
623
- const timeout = security.approvalTimeout || DEFAULT_APPROVAL_TIMEOUT;
633
+ const timeout = security.approvalTimeout ?? DEFAULT_APPROVAL_TIMEOUT;
624
634
  const request = {
625
635
  id: (0, crypto_1.randomUUID)(),
626
636
  command,
@@ -658,7 +668,7 @@ class ExecApprovalsManager extends events_1.EventEmitter {
658
668
  const request = this.createApprovalRequest(agentId, command, args, fullCommand, sessionId, requester, true);
659
669
  // Wait for decision or timeout
660
670
  const security = this.getSecurityConfig(agentId);
661
- const timeout = security.approvalTimeout || DEFAULT_APPROVAL_TIMEOUT;
671
+ const timeout = security.approvalTimeout ?? DEFAULT_APPROVAL_TIMEOUT;
662
672
  return new Promise((resolve) => {
663
673
  const timer = setTimeout(() => {
664
674
  if (request.status === 'pending') {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/permissions/index.ts"],"names":[],"mappings":"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"}
@@ -118,7 +118,7 @@ export interface PluginService {
118
118
  /** Register a plugin */
119
119
  register(plugin: Plugin): void;
120
120
  /** Unregister a plugin */
121
- unregister(pluginId: string): void;
121
+ unregister(pluginId: string): Promise<void>;
122
122
  /** Enable a plugin */
123
123
  enable(pluginId: string): Promise<void>;
124
124
  /** Disable a plugin */
@@ -145,6 +145,8 @@ export interface PluginService {
145
145
  tick(): Promise<void>;
146
146
  /** Load plugins from directory */
147
147
  loadFromDirectory(dir?: string): Promise<number>;
148
+ /** Stop the plugin service and clear timers */
149
+ destroy(): void;
148
150
  /** Subscribe to events */
149
151
  on<K extends keyof PluginServiceEvents>(event: K, fn: PluginServiceEvents[K]): void;
150
152
  off<K extends keyof PluginServiceEvents>(event: K, fn: PluginServiceEvents[K]): void;
@@ -108,7 +108,8 @@ function createPluginService() {
108
108
  return registered.settings;
109
109
  },
110
110
  setSettings(settings) {
111
- registered.settings = { ...registered.settings, ...settings };
111
+ const safe = Object.fromEntries(Object.entries(settings).filter(([k]) => k !== '__proto__' && k !== 'constructor' && k !== 'prototype'));
112
+ registered.settings = { ...registered.settings, ...safe };
112
113
  allSettings[pluginId] = registered.settings;
113
114
  saveAllSettings(allSettings);
114
115
  },
@@ -133,6 +134,8 @@ function createPluginService() {
133
134
  return registered.storage[key] ?? null;
134
135
  },
135
136
  set(key, value) {
137
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype')
138
+ return;
136
139
  registered.storage[key] = value;
137
140
  (0, fs_1.writeFileSync)(storageFile, JSON.stringify(registered.storage, null, 2));
138
141
  },
@@ -173,12 +176,12 @@ function createPluginService() {
173
176
  });
174
177
  logger_1.logger.info({ pluginId: plugin.meta.id, name: plugin.meta.name }, 'Plugin registered');
175
178
  },
176
- unregister(pluginId) {
179
+ async unregister(pluginId) {
177
180
  const registered = plugins.get(pluginId);
178
181
  if (!registered)
179
182
  return;
180
183
  if (registered.state === 'enabled') {
181
- this.disable(pluginId);
184
+ await this.disable(pluginId);
182
185
  }
183
186
  plugins.delete(pluginId);
184
187
  logger_1.logger.info({ pluginId }, 'Plugin unregistered');
@@ -325,6 +328,8 @@ function createPluginService() {
325
328
  for (const file of files) {
326
329
  if (!file.endsWith('.js') && !file.endsWith('.mjs'))
327
330
  continue;
331
+ if (file.includes('..') || file.includes('/') || file.includes('\\'))
332
+ continue;
328
333
  try {
329
334
  const pluginPath = (0, path_1.join)(dir, file);
330
335
  const module = await Promise.resolve(`${pluginPath}`).then(s => __importStar(require(s)));
@@ -345,6 +350,13 @@ function createPluginService() {
345
350
  }
346
351
  return count;
347
352
  },
353
+ destroy() {
354
+ if (tickInterval) {
355
+ clearInterval(tickInterval);
356
+ tickInterval = null;
357
+ }
358
+ emitter.removeAllListeners();
359
+ },
348
360
  on(event, fn) {
349
361
  emitter.on(event, fn);
350
362
  },
@@ -387,12 +399,12 @@ exports.counterPlugin = {
387
399
  onEnable(ctx) {
388
400
  ctx.onMessage((msg) => {
389
401
  const counts = ctx.storage.get('counts') || {};
390
- counts[msg.userId] = (counts[msg.userId] || 0) + 1;
402
+ counts[msg.userId] = (counts[msg.userId] ?? 0) + 1;
391
403
  ctx.storage.set('counts', counts);
392
404
  });
393
405
  ctx.registerCommand('mycount', (_, cmdCtx) => {
394
406
  const counts = ctx.storage.get('counts') || {};
395
- const count = counts[cmdCtx.userId] || 0;
407
+ const count = counts[cmdCtx.userId] ?? 0;
396
408
  return `You've sent ${count} messages`;
397
409
  }, 'Show your message count');
398
410
  ctx.log.info('Counter plugin enabled');
@@ -411,7 +423,7 @@ exports.reminderPlugin = {
411
423
  if (args.length < 2) {
412
424
  return 'Usage: /remind <minutes> <message>';
413
425
  }
414
- const minutes = parseInt(args[0]);
426
+ const minutes = parseInt(args[0], 10);
415
427
  const message = args.slice(1).join(' ');
416
428
  if (isNaN(minutes) || minutes < 1) {
417
429
  return 'Minutes must be a positive number';