clodds 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/dist/acp/identity.js +21 -13
  2. package/dist/acp/identity.js.map +1 -1
  3. package/dist/acp/persistence.js +9 -7
  4. package/dist/acp/persistence.js.map +1 -1
  5. package/dist/acp/registry.js +7 -3
  6. package/dist/acp/registry.js.map +1 -1
  7. package/dist/agents/handlers/agentbets.js.map +1 -1
  8. package/dist/agents/handlers/paper-trading.js +1 -1
  9. package/dist/agents/handlers/paper-trading.js.map +1 -1
  10. package/dist/agents/handlers/predictfun.js +4 -2
  11. package/dist/agents/handlers/predictfun.js.map +1 -1
  12. package/dist/agents/index.js +5 -1
  13. package/dist/agents/index.js.map +1 -1
  14. package/dist/alerts/index.js +5 -5
  15. package/dist/alerts/index.js.map +1 -1
  16. package/dist/alerts/realtime.js +8 -0
  17. package/dist/alerts/realtime.js.map +1 -1
  18. package/dist/api/apikeys.js +1 -1
  19. package/dist/api/compute/code.js +4 -1
  20. package/dist/api/compute/code.js.map +1 -1
  21. package/dist/api/compute/data.js +8 -2
  22. package/dist/api/compute/data.js.map +1 -1
  23. package/dist/api/compute/gateway.js +14 -9
  24. package/dist/api/compute/gateway.js.map +1 -1
  25. package/dist/api/compute/llm.js +14 -10
  26. package/dist/api/compute/llm.js.map +1 -1
  27. package/dist/api/compute/storage.js +6 -2
  28. package/dist/api/compute/storage.js.map +1 -1
  29. package/dist/api/compute/trade.js +6 -5
  30. package/dist/api/compute/trade.js.map +1 -1
  31. package/dist/api/compute/web.js +5 -0
  32. package/dist/api/compute/web.js.map +1 -1
  33. package/dist/api/fees.js +5 -1
  34. package/dist/api/fees.js.map +1 -1
  35. package/dist/api/gateway.js +35 -7
  36. package/dist/api/gateway.js.map +1 -1
  37. package/dist/api/jobs.js +15 -6
  38. package/dist/api/jobs.js.map +1 -1
  39. package/dist/api/middleware.js +12 -3
  40. package/dist/api/middleware.js.map +1 -1
  41. package/dist/api/sdk.js +1 -1
  42. package/dist/api/server.js +16 -7
  43. package/dist/api/server.js.map +1 -1
  44. package/dist/arbitrage/index.js +14 -4
  45. package/dist/arbitrage/index.js.map +1 -1
  46. package/dist/auth/copilot.js +3 -3
  47. package/dist/auth/copilot.js.map +1 -1
  48. package/dist/auth/google.js +6 -2
  49. package/dist/auth/google.js.map +1 -1
  50. package/dist/auth/oauth.js +18 -11
  51. package/dist/auth/oauth.js.map +1 -1
  52. package/dist/auth/qwen.js +4 -4
  53. package/dist/auth/qwen.js.map +1 -1
  54. package/dist/auto-reply/index.js +18 -4
  55. package/dist/auto-reply/index.js.map +1 -1
  56. package/dist/automation/cron.js +10 -3
  57. package/dist/automation/cron.js.map +1 -1
  58. package/dist/automation/webhooks.js +13 -2
  59. package/dist/automation/webhooks.js.map +1 -1
  60. package/dist/bankr/client.js +3 -3
  61. package/dist/base/provider.js +16 -2
  62. package/dist/base/provider.js.map +1 -1
  63. package/dist/bin/worker.js +4 -4
  64. package/dist/bin/worker.js.map +1 -1
  65. package/dist/bittensor/chutes.js +1 -1
  66. package/dist/bittensor/chutes.js.map +1 -1
  67. package/dist/bittensor/python-runner.js +5 -1
  68. package/dist/bittensor/python-runner.js.map +1 -1
  69. package/dist/bittensor/service.js +1 -1
  70. package/dist/bittensor/service.js.map +1 -1
  71. package/dist/browser/index.js +40 -16
  72. package/dist/browser/index.js.map +1 -1
  73. package/dist/cache/index.d.ts +2 -0
  74. package/dist/cache/index.js +30 -5
  75. package/dist/cache/index.js.map +1 -1
  76. package/dist/canvas/index.js +56 -27
  77. package/dist/canvas/index.js.map +1 -1
  78. package/dist/channels/googlechat/index.js +3 -0
  79. package/dist/channels/googlechat/index.js.map +1 -1
  80. package/dist/channels/imessage/index.js +6 -0
  81. package/dist/channels/imessage/index.js.map +1 -1
  82. package/dist/channels/index.js +7 -2
  83. package/dist/channels/index.js.map +1 -1
  84. package/dist/channels/line/index.d.ts +1 -1
  85. package/dist/channels/line/index.js +4 -2
  86. package/dist/channels/line/index.js.map +1 -1
  87. package/dist/channels/mattermost/index.js +5 -0
  88. package/dist/channels/mattermost/index.js.map +1 -1
  89. package/dist/channels/nostr/index.js +10 -2
  90. package/dist/channels/nostr/index.js.map +1 -1
  91. package/dist/channels/teams/index.js +20 -3
  92. package/dist/channels/teams/index.js.map +1 -1
  93. package/dist/channels/telegram/index.js +20 -3
  94. package/dist/channels/telegram/index.js.map +1 -1
  95. package/dist/channels/tlon/index.js +6 -1
  96. package/dist/channels/tlon/index.js.map +1 -1
  97. package/dist/channels/voice/index.js +16 -0
  98. package/dist/channels/voice/index.js.map +1 -1
  99. package/dist/channels/webchat/index.js +6 -1
  100. package/dist/channels/webchat/index.js.map +1 -1
  101. package/dist/channels/zalo/index.js +4 -2
  102. package/dist/channels/zalo/index.js.map +1 -1
  103. package/dist/cli/commands/doctor.js +2 -2
  104. package/dist/cli/commands/doctor.js.map +1 -1
  105. package/dist/cli/commands/index.js +54 -24
  106. package/dist/cli/commands/index.js.map +1 -1
  107. package/dist/cli/commands/onboard.js +12 -11
  108. package/dist/cli/commands/onboard.js.map +1 -1
  109. package/dist/cli/commands/skills.js +1 -1
  110. package/dist/cli/index.js +2 -2
  111. package/dist/cli/index.js.map +1 -1
  112. package/dist/cli/secure.js +11 -5
  113. package/dist/cli/secure.js.map +1 -1
  114. package/dist/commands/registry.js +17 -9
  115. package/dist/commands/registry.js.map +1 -1
  116. package/dist/config/index.js +42 -32
  117. package/dist/config/index.js.map +1 -1
  118. package/dist/credentials/index.js +7 -6
  119. package/dist/credentials/index.js.map +1 -1
  120. package/dist/cron/index.js +15 -1
  121. package/dist/cron/index.js.map +1 -1
  122. package/dist/db/index.d.ts +12 -4
  123. package/dist/db/index.js +8 -6
  124. package/dist/db/index.js.map +1 -1
  125. package/dist/docker/index.d.ts +0 -10
  126. package/dist/docker/index.js +52 -57
  127. package/dist/docker/index.js.map +1 -1
  128. package/dist/doctor/index.js +16 -7
  129. package/dist/doctor/index.js.map +1 -1
  130. package/dist/embeddings/index.js +42 -8
  131. package/dist/embeddings/index.js.map +1 -1
  132. package/dist/evm/contracts.js +8 -1
  133. package/dist/evm/contracts.js.map +1 -1
  134. package/dist/evm/odos.js +1 -1
  135. package/dist/evm/odos.js.map +1 -1
  136. package/dist/evm/oneinch.js +7 -4
  137. package/dist/evm/oneinch.js.map +1 -1
  138. package/dist/evm/pancakeswap.js +1 -1
  139. package/dist/evm/pancakeswap.js.map +1 -1
  140. package/dist/evm/transfers.js +10 -5
  141. package/dist/evm/transfers.js.map +1 -1
  142. package/dist/evm/uniswap.js +1 -1
  143. package/dist/evm/uniswap.js.map +1 -1
  144. package/dist/evm/virtuals.js +7 -2
  145. package/dist/evm/virtuals.js.map +1 -1
  146. package/dist/exchanges/binance-futures/index.js +24 -21
  147. package/dist/exchanges/binance-futures/index.js.map +1 -1
  148. package/dist/exchanges/bybit/index.js +17 -14
  149. package/dist/exchanges/bybit/index.js.map +1 -1
  150. package/dist/exchanges/hyperliquid/index.js +28 -20
  151. package/dist/exchanges/hyperliquid/index.js.map +1 -1
  152. package/dist/exchanges/lighter/index.js +4 -4
  153. package/dist/exchanges/mexc/index.js +15 -15
  154. package/dist/exchanges/mexc/index.js.map +1 -1
  155. package/dist/exchanges/opinion/index.js +7 -7
  156. package/dist/exchanges/opinion/index.js.map +1 -1
  157. package/dist/exchanges/predictfun/index.js +1 -1
  158. package/dist/execution/index.js +93 -87
  159. package/dist/execution/index.js.map +1 -1
  160. package/dist/extensions/copilot-proxy/index.js +13 -7
  161. package/dist/extensions/copilot-proxy/index.js.map +1 -1
  162. package/dist/extensions/diagnostics-otel/index.js +8 -0
  163. package/dist/extensions/diagnostics-otel/index.js.map +1 -1
  164. package/dist/extensions/google-auth/index.js +4 -1
  165. package/dist/extensions/google-auth/index.js.map +1 -1
  166. package/dist/extensions/llm-task/index.js +28 -10
  167. package/dist/extensions/llm-task/index.js.map +1 -1
  168. package/dist/extensions/lobster/index.js +27 -8
  169. package/dist/extensions/lobster/index.js.map +1 -1
  170. package/dist/extensions/memory-lancedb/index.js +16 -6
  171. package/dist/extensions/memory-lancedb/index.js.map +1 -1
  172. package/dist/extensions/open-prose/index.js +1 -1
  173. package/dist/extensions/task-runner/index.js +12 -5
  174. package/dist/extensions/task-runner/index.js.map +1 -1
  175. package/dist/farcaster/client.js +7 -7
  176. package/dist/feeds/agentbets/index.d.ts +1 -1
  177. package/dist/feeds/betfair/index.js +12 -6
  178. package/dist/feeds/betfair/index.js.map +1 -1
  179. package/dist/feeds/crypto/index.js +38 -30
  180. package/dist/feeds/crypto/index.js.map +1 -1
  181. package/dist/feeds/drift/trading.js +4 -4
  182. package/dist/feeds/external/index.js +3 -0
  183. package/dist/feeds/external/index.js.map +1 -1
  184. package/dist/feeds/fred/index.js.map +1 -1
  185. package/dist/feeds/hedgehog/index.js +10 -2
  186. package/dist/feeds/hedgehog/index.js.map +1 -1
  187. package/dist/feeds/manifold/index.js +1 -1
  188. package/dist/feeds/metaculus/index.js +2 -2
  189. package/dist/feeds/opinion/index.js +2 -2
  190. package/dist/feeds/polymarket/index.js +7 -1
  191. package/dist/feeds/polymarket/index.js.map +1 -1
  192. package/dist/feeds/polymarket/whale-tracker.js.map +1 -1
  193. package/dist/feeds/predictfun/index.js +2 -2
  194. package/dist/feeds/smarkets/index.js +12 -6
  195. package/dist/feeds/smarkets/index.js.map +1 -1
  196. package/dist/gateway/feeds-routes.d.ts +8 -7
  197. package/dist/gateway/feeds-routes.js.map +1 -1
  198. package/dist/gateway/index.js +28 -6
  199. package/dist/gateway/index.js.map +1 -1
  200. package/dist/history/index.js +8 -4
  201. package/dist/history/index.js.map +1 -1
  202. package/dist/hooks/index.js +14 -5
  203. package/dist/hooks/index.js.map +1 -1
  204. package/dist/i18n/index.js +2 -1
  205. package/dist/i18n/index.js.map +1 -1
  206. package/dist/identity/erc8004.js +13 -3
  207. package/dist/identity/erc8004.js.map +1 -1
  208. package/dist/index.js +3 -3
  209. package/dist/index.js.map +1 -1
  210. package/dist/infra/index.d.ts +1 -1
  211. package/dist/infra/index.js +39 -26
  212. package/dist/infra/index.js.map +1 -1
  213. package/dist/ledger/hooks.js +26 -18
  214. package/dist/ledger/hooks.js.map +1 -1
  215. package/dist/ledger/storage.js +23 -13
  216. package/dist/ledger/storage.js.map +1 -1
  217. package/dist/link-understanding/index.js +26 -2
  218. package/dist/link-understanding/index.js.map +1 -1
  219. package/dist/logging/index.js +31 -4
  220. package/dist/logging/index.js.map +1 -1
  221. package/dist/macos/index.d.ts +1 -1
  222. package/dist/macos/index.js +41 -36
  223. package/dist/macos/index.js.map +1 -1
  224. package/dist/markdown/index.js +25 -8
  225. package/dist/markdown/index.js.map +1 -1
  226. package/dist/market-index/index.js +8 -6
  227. package/dist/market-index/index.js.map +1 -1
  228. package/dist/mcp/index.js +67 -10
  229. package/dist/mcp/index.js.map +1 -1
  230. package/dist/mcp/server.js +21 -3
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/media/index.js +17 -15
  233. package/dist/media/index.js.map +1 -1
  234. package/dist/memory/context.js +17 -9
  235. package/dist/memory/context.js.map +1 -1
  236. package/dist/memory/index.js +6 -5
  237. package/dist/memory/index.js.map +1 -1
  238. package/dist/ml-pipeline/collector.js +14 -3
  239. package/dist/ml-pipeline/collector.js.map +1 -1
  240. package/dist/ml-pipeline/trainer.js +1 -1
  241. package/dist/ml-pipeline/trainer.js.map +1 -1
  242. package/dist/monitoring/health.js +15 -3
  243. package/dist/monitoring/health.js.map +1 -1
  244. package/dist/monitoring/metrics.js +2 -2
  245. package/dist/nodes/index.js +40 -25
  246. package/dist/nodes/index.js.map +1 -1
  247. package/dist/opportunity/combinatorial.js +4 -1
  248. package/dist/opportunity/combinatorial.js.map +1 -1
  249. package/dist/opportunity/correlation.js +2 -2
  250. package/dist/opportunity/executor.js +14 -5
  251. package/dist/opportunity/executor.js.map +1 -1
  252. package/dist/opportunity/risk.js +3 -1
  253. package/dist/opportunity/risk.js.map +1 -1
  254. package/dist/opportunity/scoring.js +3 -1
  255. package/dist/opportunity/scoring.js.map +1 -1
  256. package/dist/pairing/index.js +8 -4
  257. package/dist/pairing/index.js.map +1 -1
  258. package/dist/payments/x402/evm.js +4 -4
  259. package/dist/payments/x402/index.js +26 -7
  260. package/dist/payments/x402/index.js.map +1 -1
  261. package/dist/payments/x402/solana.js +3 -3
  262. package/dist/percolator/feed.js +1 -1
  263. package/dist/percolator/feed.js.map +1 -1
  264. package/dist/permissions/index.d.ts +2 -0
  265. package/dist/permissions/index.js +22 -12
  266. package/dist/permissions/index.js.map +1 -1
  267. package/dist/plugins/index.d.ts +3 -1
  268. package/dist/plugins/index.js +18 -6
  269. package/dist/plugins/index.js.map +1 -1
  270. package/dist/portfolio/index.js +16 -15
  271. package/dist/portfolio/index.js.map +1 -1
  272. package/dist/presence/index.js +17 -5
  273. package/dist/presence/index.js.map +1 -1
  274. package/dist/process/index.js +40 -14
  275. package/dist/process/index.js.map +1 -1
  276. package/dist/providers/discovery.js +34 -28
  277. package/dist/providers/discovery.js.map +1 -1
  278. package/dist/providers/health.js +7 -4
  279. package/dist/providers/health.js.map +1 -1
  280. package/dist/providers/index.js +36 -33
  281. package/dist/providers/index.js.map +1 -1
  282. package/dist/queue/index.js +1 -1
  283. package/dist/remote/index.d.ts +0 -5
  284. package/dist/remote/index.js +41 -9
  285. package/dist/remote/index.js.map +1 -1
  286. package/dist/risk/circuit-breaker.js +13 -5
  287. package/dist/risk/circuit-breaker.js.map +1 -1
  288. package/dist/risk/engine.js +2 -2
  289. package/dist/risk/volatility.js +1 -1
  290. package/dist/risk/volatility.js.map +1 -1
  291. package/dist/routing/index.js +5 -2
  292. package/dist/routing/index.js.map +1 -1
  293. package/dist/search/index.js +7 -5
  294. package/dist/search/index.js.map +1 -1
  295. package/dist/security/address-checker.js +40 -19
  296. package/dist/security/address-checker.js.map +1 -1
  297. package/dist/security/code-scanner.js +7 -5
  298. package/dist/security/code-scanner.js.map +1 -1
  299. package/dist/security/index.d.ts +3 -0
  300. package/dist/security/index.js +19 -7
  301. package/dist/security/index.js.map +1 -1
  302. package/dist/security/tx-validator.js +2 -2
  303. package/dist/security/tx-validator.js.map +1 -1
  304. package/dist/services/feature-engineering/rolling-window.d.ts +7 -0
  305. package/dist/services/feature-engineering/rolling-window.js +23 -0
  306. package/dist/services/feature-engineering/rolling-window.js.map +1 -1
  307. package/dist/services/feature-engineering/thresholds.js +2 -2
  308. package/dist/services/feature-engineering/thresholds.js.map +1 -1
  309. package/dist/services/tick-recorder/index.js +13 -1
  310. package/dist/services/tick-recorder/index.js.map +1 -1
  311. package/dist/services/tick-recorder/queries.js +11 -7
  312. package/dist/services/tick-recorder/queries.js.map +1 -1
  313. package/dist/services/tick-streamer/index.js +6 -2
  314. package/dist/services/tick-streamer/index.js.map +1 -1
  315. package/dist/session/index.d.ts +1 -1
  316. package/dist/session/index.js +31 -6
  317. package/dist/session/index.js.map +1 -1
  318. package/dist/sessions/index.js +76 -52
  319. package/dist/sessions/index.js.map +1 -1
  320. package/dist/signal-router/router.js +8 -1
  321. package/dist/signal-router/router.js.map +1 -1
  322. package/dist/skills/bundled/agentbets/index.js.map +1 -1
  323. package/dist/skills/bundled/auto-reply/SKILL.md +19 -16
  324. package/dist/skills/bundled/automation/SKILL.md +33 -215
  325. package/dist/skills/bundled/backtest/SKILL.md +2 -1
  326. package/dist/skills/bundled/credentials/SKILL.md +2 -1
  327. package/dist/skills/bundled/edge/SKILL.md +6 -3
  328. package/dist/skills/bundled/sandbox/SKILL.md +29 -240
  329. package/dist/skills/bundled/trading-kalshi/SKILL.md +65 -586
  330. package/dist/skills/bundled/usage/SKILL.md +8 -18
  331. package/dist/skills/bundled/webhooks/SKILL.md +31 -279
  332. package/dist/skills/bundled/whale-tracking/SKILL.md +24 -22
  333. package/dist/solana/copytrade.js +5 -5
  334. package/dist/solana/drift.js +2 -2
  335. package/dist/solana/drift.js.map +1 -1
  336. package/dist/solana/meteora-dbc.d.ts +2 -2
  337. package/dist/solana/pumpapi.js +4 -0
  338. package/dist/solana/pumpapi.js.map +1 -1
  339. package/dist/solana/raydium.js +46 -10
  340. package/dist/solana/raydium.js.map +1 -1
  341. package/dist/solana/swarm-copytrade.js +2 -2
  342. package/dist/solana/wallet.js +12 -3
  343. package/dist/solana/wallet.js.map +1 -1
  344. package/dist/strategies/crypto-hft/index.js +2 -0
  345. package/dist/strategies/crypto-hft/index.js.map +1 -1
  346. package/dist/strategies/crypto-hft/positions.js +11 -3
  347. package/dist/strategies/crypto-hft/positions.js.map +1 -1
  348. package/dist/strategies/crypto-hft/presets.js +2 -1
  349. package/dist/strategies/crypto-hft/presets.js.map +1 -1
  350. package/dist/strategies/crypto-hft/strategies.js +4 -3
  351. package/dist/strategies/crypto-hft/strategies.js.map +1 -1
  352. package/dist/strategies/hft-divergence/detector.js +5 -1
  353. package/dist/strategies/hft-divergence/detector.js.map +1 -1
  354. package/dist/strategies/hft-divergence/position-manager.js +13 -1
  355. package/dist/strategies/hft-divergence/position-manager.js.map +1 -1
  356. package/dist/strategies/hft-divergence/strategy.js +3 -1
  357. package/dist/strategies/hft-divergence/strategy.js.map +1 -1
  358. package/dist/streaming/index.js +21 -5
  359. package/dist/streaming/index.js.map +1 -1
  360. package/dist/tailscale/index.d.ts +0 -4
  361. package/dist/tailscale/index.js +5 -8
  362. package/dist/tailscale/index.js.map +1 -1
  363. package/dist/telemetry/index.d.ts +1 -0
  364. package/dist/telemetry/index.js +49 -6
  365. package/dist/telemetry/index.js.map +1 -1
  366. package/dist/tools/canvas.js +32 -8
  367. package/dist/tools/canvas.js.map +1 -1
  368. package/dist/tools/exec.js +32 -2
  369. package/dist/tools/exec.js.map +1 -1
  370. package/dist/tools/image.js +19 -0
  371. package/dist/tools/image.js.map +1 -1
  372. package/dist/tools/sql.js +4 -1
  373. package/dist/tools/sql.js.map +1 -1
  374. package/dist/tools/transcription.js +13 -0
  375. package/dist/tools/transcription.js.map +1 -1
  376. package/dist/tools/web-fetch.js +14 -0
  377. package/dist/tools/web-fetch.js.map +1 -1
  378. package/dist/tools/web-search.js +14 -0
  379. package/dist/tools/web-search.js.map +1 -1
  380. package/dist/trading/backtest.js +3 -3
  381. package/dist/trading/backtest.js.map +1 -1
  382. package/dist/trading/bots/index.d.ts +9 -1
  383. package/dist/trading/bots/index.js +4 -0
  384. package/dist/trading/bots/index.js.map +1 -1
  385. package/dist/trading/devtools.js +1 -1
  386. package/dist/trading/devtools.js.map +1 -1
  387. package/dist/trading/futures/index.js +5 -5
  388. package/dist/trading/index.js +1 -1
  389. package/dist/trading/index.js.map +1 -1
  390. package/dist/trading/logger.js +27 -20
  391. package/dist/trading/logger.js.map +1 -1
  392. package/dist/trading/safety.d.ts +2 -0
  393. package/dist/trading/safety.js +12 -2
  394. package/dist/trading/safety.js.map +1 -1
  395. package/dist/trading/stream.js +1 -1
  396. package/dist/trading/stream.js.map +1 -1
  397. package/dist/trading/tracking.d.ts +1 -1
  398. package/dist/trading/tracking.js.map +1 -1
  399. package/dist/utils/config.js +4 -3
  400. package/dist/utils/config.js.map +1 -1
  401. package/dist/utils/http.js +15 -1
  402. package/dist/utils/http.js.map +1 -1
  403. package/dist/utils/kelly.js +14 -5
  404. package/dist/utils/kelly.js.map +1 -1
  405. package/dist/utils/rate-limiter.js +25 -10
  406. package/dist/utils/rate-limiter.js.map +1 -1
  407. package/dist/voice/index.d.ts +5 -1
  408. package/dist/voice/index.js +65 -25
  409. package/dist/voice/index.js.map +1 -1
  410. package/dist/weather/edge.js +4 -2
  411. package/dist/weather/edge.js.map +1 -1
  412. package/dist/weather/markets.d.ts +1 -0
  413. package/dist/weather/markets.js +17 -8
  414. package/dist/weather/markets.js.map +1 -1
  415. package/dist/weather/noaa.d.ts +2 -0
  416. package/dist/weather/noaa.js +22 -5
  417. package/dist/weather/noaa.js.map +1 -1
  418. package/dist/web/index.d.ts +3 -0
  419. package/dist/web/index.js +60 -12
  420. package/dist/web/index.js.map +1 -1
  421. package/dist/wizard/index.js +13 -14
  422. package/dist/wizard/index.js.map +1 -1
  423. package/package.json +1 -1
@@ -60,7 +60,9 @@ async function createZaloChannel(config, callbacks, pairing) {
60
60
  if (!config.secretKey)
61
61
  return true; // Skip verification if no secret
62
62
  const hash = crypto.createHmac('sha256', config.secretKey).update(body).digest('hex');
63
- return hash === signature;
63
+ if (hash.length !== signature.length)
64
+ return false;
65
+ return crypto.timingSafeEqual(Buffer.from(hash), Buffer.from(signature));
64
66
  }
65
67
  async function sendTextMessage(userId, text) {
66
68
  try {
@@ -149,7 +151,7 @@ async function createZaloChannel(config, callbacks, pairing) {
149
151
  chatType: 'dm',
150
152
  text,
151
153
  attachments: attachments.length > 0 ? attachments : undefined,
152
- timestamp: new Date(parseInt(event.timestamp)),
154
+ timestamp: new Date(parseInt(event.timestamp) || Date.now()),
153
155
  };
154
156
  logger_1.logger.info({ userId }, 'Received Zalo message');
155
157
  await callbacks.onMessage(incomingMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/zalo/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/channels/zalo/index.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ async function runDoctor() {
56
56
  const config = await (0, config_1.loadConfig)();
57
57
  // 1. Node version check
58
58
  const nodeVersion = process.version;
59
- const majorVersion = parseInt(nodeVersion.slice(1).split('.')[0], 10);
59
+ const majorVersion = parseInt(nodeVersion.slice(1).split('.')[0], 10) || 0;
60
60
  if (majorVersion >= 22) {
61
61
  results.push({
62
62
  name: 'Node.js version',
@@ -497,7 +497,7 @@ async function runDoctor() {
497
497
  }
498
498
  }
499
499
  // 8. Port availability check
500
- const port = config.gateway?.port || 18789;
500
+ const port = config.gateway?.port ?? 18789;
501
501
  try {
502
502
  const net = await Promise.resolve().then(() => __importStar(require('net')));
503
503
  const available = await new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -249,6 +249,10 @@ function createSessionCommands(program) {
249
249
  console.log('Cleared all sessions');
250
250
  }
251
251
  else if (sessionId) {
252
+ if (sessionId.includes('..') || sessionId.includes('/') || sessionId.includes('\\')) {
253
+ console.log('Invalid session ID');
254
+ return;
255
+ }
252
256
  const sessionPath = (0, path_1.join)(sessionsDir, `${sessionId}.json`);
253
257
  if ((0, fs_1.existsSync)(sessionPath)) {
254
258
  const { unlinkSync } = require('fs');
@@ -289,6 +293,8 @@ function createCronCommands(program) {
289
293
  if (!ms || ms <= 0)
290
294
  return 'every ?';
291
295
  const mins = Math.round(ms / 60000);
296
+ if (mins <= 0)
297
+ return 'every <1m';
292
298
  return mins >= 60 ? `every ${Math.round(mins / 60)}h` : `every ${mins}m`;
293
299
  }
294
300
  if (schedule.kind === 'cron') {
@@ -802,7 +808,7 @@ function createMemoryCommands(program) {
802
808
  .option('-l, --limit <n>', 'Limit results', '50')
803
809
  .action(async (userId, options) => {
804
810
  await withDb((db) => {
805
- const limit = parseInt(options.limit || '50', 10);
811
+ const limit = parseInt(options.limit ?? '50', 10) || 50;
806
812
  let query = 'SELECT * FROM user_memory WHERE userId = ?';
807
813
  const params = [userId];
808
814
  if (options.channel) {
@@ -871,7 +877,7 @@ function createMemoryCommands(program) {
871
877
  const countBefore = db.query('SELECT COUNT(*) as count FROM user_memory WHERE userId = ?', [userId]);
872
878
  db.run(query, params);
873
879
  const countAfter = db.query('SELECT COUNT(*) as count FROM user_memory WHERE userId = ?', [userId]);
874
- const deleted = (countBefore[0]?.count || 0) - (countAfter[0]?.count || 0);
880
+ const deleted = (countBefore[0]?.count ?? 0) - (countAfter[0]?.count ?? 0);
875
881
  console.log(`Cleared ${deleted} memories for ${userId}`);
876
882
  }
877
883
  catch (e) {
@@ -895,7 +901,8 @@ function createMemoryCommands(program) {
895
901
  query += ' ORDER BY type, key';
896
902
  try {
897
903
  const rows = db.query(query, params);
898
- const output = options.output || `${userId}-memories.json`;
904
+ const rawOutput = options.output ?? `${userId}-memories.json`;
905
+ const output = rawOutput.replace(/\.\./g, '_');
899
906
  if (rows.length === 0) {
900
907
  console.log(`No memories to export for ${userId}`);
901
908
  return;
@@ -915,7 +922,8 @@ function createMemoryCommands(program) {
915
922
  .action(async (userId, query, options) => {
916
923
  await withDb((db) => {
917
924
  let sql = 'SELECT * FROM user_memory WHERE userId = ? AND (key LIKE ? OR value LIKE ?)';
918
- const searchPattern = `%${query}%`;
925
+ const escapedQuery = query.replace(/[%_\\]/g, '\\$&');
926
+ const searchPattern = `%${escapedQuery}%`;
919
927
  const params = [userId, searchPattern, searchPattern];
920
928
  if (options.channel) {
921
929
  sql += ' AND channel = ?';
@@ -983,6 +991,10 @@ function createHookCommands(program) {
983
991
  }
984
992
  const stats = (0, fs_1.statSync)(resolved);
985
993
  const hookName = resolved.split('/').filter(Boolean).pop();
994
+ if (!hookName || hookName === '..' || hookName === '.' || hookName.includes('/') || hookName.includes('\\')) {
995
+ console.error('Invalid hook name derived from path');
996
+ return;
997
+ }
986
998
  const destDir = (0, path_1.join)(hooksDir, hookName);
987
999
  if (!(0, fs_1.existsSync)(destDir)) {
988
1000
  (0, fs_1.mkdirSync)(destDir, { recursive: true });
@@ -1001,6 +1013,10 @@ function createHookCommands(program) {
1001
1013
  .command('uninstall <name>')
1002
1014
  .description('Uninstall a hook')
1003
1015
  .action(async (name) => {
1016
+ if (name.includes('..') || name.includes('/') || name.includes('\\')) {
1017
+ console.log('Invalid hook name');
1018
+ return;
1019
+ }
1004
1020
  const hooksDir = (0, hooks_1.getHooksDir)();
1005
1021
  const target = (0, path_1.join)(hooksDir, name);
1006
1022
  if (!(0, fs_1.existsSync)(target)) {
@@ -1015,6 +1031,10 @@ function createHookCommands(program) {
1015
1031
  .command('enable <name>')
1016
1032
  .description('Enable a hook')
1017
1033
  .action(async (name) => {
1034
+ if (name.includes('..') || name.includes('/') || name.includes('\\')) {
1035
+ console.log('Invalid hook name');
1036
+ return;
1037
+ }
1018
1038
  const hooksDir = (0, hooks_1.getHooksDir)();
1019
1039
  const target = (0, path_1.join)(hooksDir, name);
1020
1040
  if (!(0, fs_1.existsSync)(target)) {
@@ -1028,6 +1048,10 @@ function createHookCommands(program) {
1028
1048
  .command('disable <name>')
1029
1049
  .description('Disable a hook')
1030
1050
  .action(async (name) => {
1051
+ if (name.includes('..') || name.includes('/') || name.includes('\\')) {
1052
+ console.log('Invalid hook name');
1053
+ return;
1054
+ }
1031
1055
  const hooksDir = (0, hooks_1.getHooksDir)();
1032
1056
  const target = (0, path_1.join)(hooksDir, name);
1033
1057
  if (!(0, fs_1.existsSync)(target)) {
@@ -1299,7 +1323,7 @@ function createMcpCommands(program) {
1299
1323
  console.log(` Command: ${serverConfig.command} ${(serverConfig.args || []).join(' ')}`);
1300
1324
  // Try to spawn the process and check if it starts
1301
1325
  const { spawn } = require('child_process');
1302
- const timeout = parseInt(options.timeout || '5000', 10);
1326
+ const timeout = parseInt(options.timeout ?? '5000', 10) || 5000;
1303
1327
  try {
1304
1328
  const proc = spawn(serverConfig.command, serverConfig.args || [], {
1305
1329
  env: { ...process.env, ...serverConfig.env },
@@ -1307,31 +1331,34 @@ function createMcpCommands(program) {
1307
1331
  });
1308
1332
  let output = '';
1309
1333
  let errorOutput = '';
1334
+ const MAX_OUTPUT = 4096;
1310
1335
  proc.stdout.on('data', (data) => {
1311
- output += data.toString();
1336
+ if (output.length < MAX_OUTPUT)
1337
+ output += data.toString().slice(0, MAX_OUTPUT - output.length);
1312
1338
  });
1313
1339
  proc.stderr.on('data', (data) => {
1314
- errorOutput += data.toString();
1340
+ if (errorOutput.length < MAX_OUTPUT)
1341
+ errorOutput += data.toString().slice(0, MAX_OUTPUT - errorOutput.length);
1315
1342
  });
1343
+ let startTimer;
1344
+ let timeoutTimer;
1316
1345
  const result = await Promise.race([
1317
1346
  new Promise((resolve) => {
1318
- // If process emits any data or stays alive for a bit, consider it started
1319
- setTimeout(() => resolve('started'), 1000);
1320
- }),
1321
- new Promise((_, reject) => {
1322
- proc.on('error', (err) => reject(err));
1347
+ startTimer = setTimeout(() => resolve('started'), 1000);
1323
1348
  }),
1324
1349
  new Promise((resolve) => {
1350
+ proc.on('error', () => resolve('error'));
1325
1351
  proc.on('exit', (code) => {
1326
1352
  if (code !== 0)
1327
1353
  resolve('exited');
1328
1354
  });
1329
1355
  }),
1330
1356
  new Promise((resolve) => {
1331
- setTimeout(() => resolve('timeout'), timeout);
1357
+ timeoutTimer = setTimeout(() => resolve('timeout'), timeout);
1332
1358
  }),
1333
1359
  ]);
1334
- // Kill the process after test
1360
+ clearTimeout(startTimer);
1361
+ clearTimeout(timeoutTimer);
1335
1362
  proc.kill();
1336
1363
  if (result === 'started' || result === 'timeout') {
1337
1364
  console.log(`\n✅ MCP server "${name}" started successfully`);
@@ -1596,7 +1623,7 @@ function createUsageCommands(program) {
1596
1623
  .option('-d, --days <days>', 'Number of days', '7')
1597
1624
  .action(async (options) => {
1598
1625
  await withDb((db) => {
1599
- const days = parseInt(options.days || '7', 10);
1626
+ const days = parseInt(options.days ?? '7', 10) || 7;
1600
1627
  const since = new Date();
1601
1628
  since.setDate(since.getDate() - days);
1602
1629
  const sinceStr = since.toISOString();
@@ -1636,7 +1663,7 @@ function createUsageCommands(program) {
1636
1663
  .option('-d, --days <days>', 'Number of days', '7')
1637
1664
  .action(async (options) => {
1638
1665
  await withDb((db) => {
1639
- const days = parseInt(options.days || '7', 10);
1666
+ const days = parseInt(options.days ?? '7', 10) || 7;
1640
1667
  const since = new Date();
1641
1668
  since.setDate(since.getDate() - days);
1642
1669
  const sinceStr = since.toISOString();
@@ -1679,8 +1706,8 @@ function createUsageCommands(program) {
1679
1706
  .option('-l, --limit <n>', 'Limit results', '20')
1680
1707
  .action(async (options) => {
1681
1708
  await withDb((db) => {
1682
- const days = parseInt(options.days || '7', 10);
1683
- const limit = parseInt(options.limit || '20', 10);
1709
+ const days = parseInt(options.days ?? '7', 10) || 7;
1710
+ const limit = parseInt(options.limit ?? '20', 10) || 20;
1684
1711
  const since = new Date();
1685
1712
  since.setDate(since.getDate() - days);
1686
1713
  const sinceStr = since.toISOString();
@@ -1725,7 +1752,7 @@ function createUsageCommands(program) {
1725
1752
  .option('--csv', 'Export as CSV instead of JSON')
1726
1753
  .action(async (options) => {
1727
1754
  await withDb((db) => {
1728
- const days = parseInt(options.days || '30', 10);
1755
+ const days = parseInt(options.days ?? '30', 10) || 30;
1729
1756
  const since = new Date();
1730
1757
  since.setDate(since.getDate() - days);
1731
1758
  const sinceStr = since.toISOString();
@@ -1751,9 +1778,12 @@ function createUsageCommands(program) {
1751
1778
  headers.join(','),
1752
1779
  ...rows.map(row => headers.map(h => {
1753
1780
  const val = row[h];
1754
- if (typeof val === 'string' && val.includes(','))
1755
- return `"${val}"`;
1756
- return val;
1781
+ if (val == null)
1782
+ return '';
1783
+ const str = String(val);
1784
+ if (str.includes(',') || str.includes('"') || str.includes('\n'))
1785
+ return `"${str.replace(/"/g, '""')}"`;
1786
+ return str;
1757
1787
  }).join(','))
1758
1788
  ].join('\n');
1759
1789
  (0, fs_1.writeFileSync)(output, csvContent);
@@ -2390,7 +2420,7 @@ function createLedgerCommands(program) {
2390
2420
  storage.init();
2391
2421
  const uid = userId || 'default';
2392
2422
  const records = storage.list(uid, {
2393
- limit: parseInt(options?.limit || '20', 10),
2423
+ limit: parseInt(options?.limit ?? '20', 10) || 20,
2394
2424
  category: options?.category,
2395
2425
  decision: options?.decision,
2396
2426
  platform: options?.platform,
@@ -2473,7 +2503,7 @@ function createLedgerCommands(program) {
2473
2503
  .option('-d, --days <n>', 'Retention days', '90')
2474
2504
  .option('-y, --yes', 'Skip confirmation')
2475
2505
  .action(async (options) => {
2476
- const days = parseInt(options.days || '90', 10);
2506
+ const days = parseInt(options.days ?? '90', 10) || 90;
2477
2507
  if (!options.yes) {
2478
2508
  console.log(`\n⚠️ This will delete decisions older than ${days} days.`);
2479
2509
  console.log('Run with --yes to confirm\n');