hypervibes 0.0.0-stage → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/.build/client/assets/_authenticated-C87LKvH0.js +1 -0
  2. package/.build/client/assets/_authenticated.account-D-nTh_fC.js +1 -0
  3. package/.build/client/assets/_authenticated.agents-HwcveLyB.js +1 -0
  4. package/.build/client/assets/_authenticated.agents._agentId-DuE8Lv62.js +1 -0
  5. package/.build/client/assets/_authenticated.agents._agentId.chart-Bb_XkvQx.js +4 -0
  6. package/.build/client/assets/_authenticated.agents._agentId.chat-ClMMKw_N.js +1 -0
  7. package/.build/client/assets/_authenticated.agents._agentId.index-DNJwBwn9.js +1 -0
  8. package/.build/client/assets/_authenticated.agents._agentId.indicators-BmVjLtRI.js +1 -0
  9. package/.build/client/assets/_authenticated.agents._agentId.indicators_._indicatorId-CMqaaFQf.js +2 -0
  10. package/.build/client/assets/_authenticated.agents._agentId.indicators_._indicatorId-DtgkoNV5.js +6 -0
  11. package/.build/client/assets/_authenticated.agents._agentId.memories-O-4f6a4G.js +1 -0
  12. package/.build/client/assets/_authenticated.agents._agentId.memories_._memoryRef-BUPtUcj3.js +1 -0
  13. package/.build/client/assets/_authenticated.agents._agentId.notifications-2lyhXCSk.js +1 -0
  14. package/.build/client/assets/_authenticated.agents._agentId.notifications_._notificationId-Da3ZVT4v.js +1 -0
  15. package/.build/client/assets/_authenticated.agents._agentId.settings-C5cWHoYw.js +1 -0
  16. package/.build/client/assets/_authenticated.agents._agentId.sub-agents-HwcveLyB.js +1 -0
  17. package/.build/client/assets/_authenticated.agents._agentId.sub-agents._subagentId-CZ4MeRy4.js +1 -0
  18. package/.build/client/assets/_authenticated.agents._agentId.sub-agents._subagentId_.runs._runId-dVbo5kMU.js +3 -0
  19. package/.build/client/assets/_authenticated.agents._agentId.sub-agents.index-DeWTOYJD.js +1 -0
  20. package/.build/client/assets/_authenticated.agents._agentId.sub-agents.new-D02TflCE.js +37 -0
  21. package/.build/client/assets/_authenticated.agents._agentId.transactions-D3a8Glgj.js +1 -0
  22. package/.build/client/assets/_authenticated.agents.index-CEqeDEgP.js +1 -0
  23. package/.build/client/assets/_authenticated.agents.new-DLRWK5Uk.js +1 -0
  24. package/.build/client/assets/_authenticated.providers-D0iPLXra.js +1 -0
  25. package/.build/client/assets/agent-chat-page-C5eYFgxw.js +1 -0
  26. package/.build/client/assets/agent-enablement-control-CUzOp9ce.js +1 -0
  27. package/.build/client/assets/agent-events-DC8eDZf3.js +1 -0
  28. package/.build/client/assets/agent-input-aolvZ47U.js +1 -0
  29. package/.build/client/assets/agent-notifications-page-B0mr-Zz8.js +1 -0
  30. package/.build/client/assets/agent-queries-CNMBImun.js +1 -0
  31. package/.build/client/assets/app-DjmsvbUC.css +2 -0
  32. package/.build/client/assets/artifact-content-COO4VTSZ.js +1 -0
  33. package/.build/client/assets/auth-client-K13li9H1.js +3 -0
  34. package/.build/client/assets/call-DxlGie4_.js +31 -0
  35. package/.build/client/assets/ccip-BgPlVPYP.js +1 -0
  36. package/.build/client/assets/chart-contracts-Cr5SFCbE.js +1 -0
  37. package/.build/client/assets/chart-queries-Bpvrgd0-.js +1 -0
  38. package/.build/client/assets/chat-bubble-CAJkT-vL.js +1 -0
  39. package/.build/client/assets/config-dialog-C9x9gKW9.js +1 -0
  40. package/.build/client/assets/contracts-HhAL7Tt7.js +1 -0
  41. package/.build/client/assets/createServerFn-DfZIp2Fu.js +3 -0
  42. package/.build/client/assets/custom-BeqXuIIS.js +5 -0
  43. package/.build/client/assets/decimal-B0DEG-1V.js +1 -0
  44. package/.build/client/assets/esm-BTb2nBdW.js +1 -0
  45. package/.build/client/assets/identicon-Lb9pS4O1.js +1 -0
  46. package/.build/client/assets/index-B4hvjMmI.js +10 -0
  47. package/.build/client/assets/indicator-input-fields-CtmrfVfS.js +1 -0
  48. package/.build/client/assets/indicator-queries-CzZ6u1Mh.js +1 -0
  49. package/.build/client/assets/indicator-renderer-CfccsIt2.js +1 -0
  50. package/.build/client/assets/instrument-label-BZYlWXR5.js +1 -0
  51. package/.build/client/assets/instrument-picker-DLPpryOm.js +1 -0
  52. package/.build/client/assets/journal-decimal-DBvd_Ibi.js +1 -0
  53. package/.build/client/assets/jsx-runtime-CIazjfqY.js +1 -0
  54. package/.build/client/assets/lazyRouteComponent-CJgUa7_r.js +1 -0
  55. package/.build/client/assets/lightweight-charts.production-BiBiFZSH.js +1 -0
  56. package/.build/client/assets/login-MNgYxCOY.js +3 -0
  57. package/.build/client/assets/memory-badge-BbN-DJQi.js +1 -0
  58. package/.build/client/assets/memory-contracts-Doi_Q1XJ.js +1 -0
  59. package/.build/client/assets/memory-queries-BttL580R.js +1 -0
  60. package/.build/client/assets/model-picker-YCQNNmyw.js +1 -0
  61. package/.build/client/assets/notification-queries-B12DG3aS.js +1 -0
  62. package/.build/client/assets/preload-helper-Czpn1I53.js +1 -0
  63. package/.build/client/assets/provider-logo-Ddb77aBD.js +1 -0
  64. package/.build/client/assets/provider-queries-DxPwhDOU.js +1 -0
  65. package/.build/client/assets/query-nvK_95Jo.js +1 -0
  66. package/.build/client/assets/random-uuid-DJR3ygJS.js +1 -0
  67. package/.build/client/assets/react-dom-C6bOPxes.js +1 -0
  68. package/.build/client/assets/risk-queries-D_6PHwus.js +1 -0
  69. package/.build/client/assets/run-subagent-dialog-B4yQe9T9.js +1 -0
  70. package/.build/client/assets/secp256k1-BbZnIgDP.js +1 -0
  71. package/.build/client/assets/setup-checklist-CUW-K484.js +1 -0
  72. package/.build/client/assets/sha2-hT-Q4pur.js +1 -0
  73. package/.build/client/assets/subagent-enabled-toggle-Bk5wfScg.js +1 -0
  74. package/.build/client/assets/subagent-input-TQke90I1.js +1 -0
  75. package/.build/client/assets/subagent-mutations-DfsDbmFu.js +1 -0
  76. package/.build/client/assets/subagent-queries-DVv5JCfs.js +1 -0
  77. package/.build/client/assets/subagent-run-history-D55Uh5VK.js +1 -0
  78. package/.build/client/assets/toggle-timestamp-B50FTPmA.js +1 -0
  79. package/.build/client/assets/useBaseQuery-Bxruo_mV.js +1 -0
  80. package/.build/client/assets/useMutation-DrF53EQG.js +1 -0
  81. package/.build/client/assets/useQuery-BMSU16jY.js +1 -0
  82. package/.build/client/assets/useRouter-c0I1aURm.js +1 -0
  83. package/.build/client/assets/useSelector-ERD9RroG.js +2 -0
  84. package/.build/client/assets/useSuspenseQuery-vODFwDb8.js +1 -0
  85. package/.build/client/assets/utils-Bpv4vmSW.js +1 -0
  86. package/.build/client/assets/worker-triggers-DtXyn40O.js +1 -0
  87. package/.build/server/assets/_authenticated-Bch0_2QH.js +264 -0
  88. package/.build/server/assets/_authenticated-DGV5cZYE.js +22 -0
  89. package/.build/server/assets/_authenticated.account-6qu6oQ1y.js +685 -0
  90. package/.build/server/assets/_authenticated.agents-DYDnQxli.js +5 -0
  91. package/.build/server/assets/_authenticated.agents._agentId-4HvB3mhd.js +17 -0
  92. package/.build/server/assets/_authenticated.agents._agentId-Cl608F1T.js +260 -0
  93. package/.build/server/assets/_authenticated.agents._agentId-G2jAHjma.js +15 -0
  94. package/.build/server/assets/_authenticated.agents._agentId.chart-BIA8wy73.js +2644 -0
  95. package/.build/server/assets/_authenticated.agents._agentId.chart-D4aj8Qy9.js +22 -0
  96. package/.build/server/assets/_authenticated.agents._agentId.chat-ClsVle4g.js +13 -0
  97. package/.build/server/assets/_authenticated.agents._agentId.chat-JV3FDsTp.js +18 -0
  98. package/.build/server/assets/_authenticated.agents._agentId.index-Ct4kbu2f.js +1044 -0
  99. package/.build/server/assets/_authenticated.agents._agentId.index-DJgrupvW.js +18 -0
  100. package/.build/server/assets/_authenticated.agents._agentId.indicators-DrKd0aP5.js +184 -0
  101. package/.build/server/assets/_authenticated.agents._agentId.indicators-wiVaY8fW.js +18 -0
  102. package/.build/server/assets/_authenticated.agents._agentId.indicators_._indicatorId-C4Ox2R-a.js +25 -0
  103. package/.build/server/assets/_authenticated.agents._agentId.indicators_._indicatorId-D8Q0hCW0.js +489 -0
  104. package/.build/server/assets/_authenticated.agents._agentId.memories-BUTyVLYy.js +42 -0
  105. package/.build/server/assets/_authenticated.agents._agentId.memories-E8-nSEMT.js +362 -0
  106. package/.build/server/assets/_authenticated.agents._agentId.memories_._memoryRef-C-SC6wzq.js +14 -0
  107. package/.build/server/assets/_authenticated.agents._agentId.memories_._memoryRef-ZCrdrc8C.js +490 -0
  108. package/.build/server/assets/_authenticated.agents._agentId.notifications-DQeQqTzh.js +14 -0
  109. package/.build/server/assets/_authenticated.agents._agentId.notifications-DlFyYyHh.js +16 -0
  110. package/.build/server/assets/_authenticated.agents._agentId.notifications_._notificationId-B0RosY_R.js +15 -0
  111. package/.build/server/assets/_authenticated.agents._agentId.notifications_._notificationId-C1NikQ9e.js +13 -0
  112. package/.build/server/assets/_authenticated.agents._agentId.settings-DDwjT3Ui.js +42 -0
  113. package/.build/server/assets/_authenticated.agents._agentId.settings-PEzEvOfo.js +751 -0
  114. package/.build/server/assets/_authenticated.agents._agentId.sub-agents-z34-J3Tu.js +5 -0
  115. package/.build/server/assets/_authenticated.agents._agentId.sub-agents._subagentId-D-6TOi1U.js +1371 -0
  116. package/.build/server/assets/_authenticated.agents._agentId.sub-agents._subagentId-DipzVdnr.js +13 -0
  117. package/.build/server/assets/_authenticated.agents._agentId.sub-agents._subagentId_.runs._runId-BZR3VLV7.js +610 -0
  118. package/.build/server/assets/_authenticated.agents._agentId.sub-agents._subagentId_.runs._runId-DsYJKfGm.js +12 -0
  119. package/.build/server/assets/_authenticated.agents._agentId.sub-agents.index-BF8Cuzcr.js +231 -0
  120. package/.build/server/assets/_authenticated.agents._agentId.sub-agents.index-D2x0qCnt.js +12 -0
  121. package/.build/server/assets/_authenticated.agents._agentId.sub-agents.new-CYm_vuDD.js +13 -0
  122. package/.build/server/assets/_authenticated.agents._agentId.sub-agents.new-CiVShIka.js +497 -0
  123. package/.build/server/assets/_authenticated.agents._agentId.transactions-BC_XfGqw.js +95 -0
  124. package/.build/server/assets/_authenticated.agents._agentId.transactions-WtBW3xmh.js +495 -0
  125. package/.build/server/assets/_authenticated.agents.index-C8zmu8T8.js +78 -0
  126. package/.build/server/assets/_authenticated.agents.new-Bt-tBR47.js +302 -0
  127. package/.build/server/assets/_authenticated.providers-C0pb-ujV.js +672 -0
  128. package/.build/server/assets/_tanstack-start-manifest_v-Baw5u9sk.js +354 -0
  129. package/.build/server/assets/account-XvMwzRXh.js +66 -0
  130. package/.build/server/assets/account-queries-AJJVkLAV.js +32 -0
  131. package/.build/server/assets/agent-chat-page-DChiz8KQ.js +686 -0
  132. package/.build/server/assets/agent-enablement-control-C90f0uIb.js +143 -0
  133. package/.build/server/assets/agent-events-DK9Yz5__.js +217 -0
  134. package/.build/server/assets/agent-notifications-page-BdyKAyds.js +276 -0
  135. package/.build/server/assets/agent-queries-Cmx8RiUx.js +51 -0
  136. package/.build/server/assets/agents-CZq-0mna.js +106 -0
  137. package/.build/server/assets/agents-CfjmtW7A.js +278 -0
  138. package/.build/server/assets/artifact-content-B6uHmPz7.js +35 -0
  139. package/.build/server/assets/artifacts-HtLwHs8q.js +42 -0
  140. package/.build/server/assets/auth-DTikZAVz.js +12 -0
  141. package/.build/server/assets/auth-client-Vb3O0v7P.js +1897 -0
  142. package/.build/server/assets/auth-user-DkLo8ojH.js +108 -0
  143. package/.build/server/assets/chart-queries-Bc3AfsEb.js +109 -0
  144. package/.build/server/assets/charts-C4dKuwTJ.js +130 -0
  145. package/.build/server/assets/chat-bubble-ik3itVbx.js +109 -0
  146. package/.build/server/assets/config-dialog-9gSAjwwT.js +55 -0
  147. package/.build/server/assets/contracts-CG-nZuYJ.js +155 -0
  148. package/.build/server/assets/createServerRpc-DNqhdU4z.js +12 -0
  149. package/.build/server/assets/decimal-BthtZ77w.js +97 -0
  150. package/.build/server/assets/empty-plugin-adapters-MOWBbCMw.js +5 -0
  151. package/.build/server/assets/errors-DaZqUftX.js +151 -0
  152. package/.build/server/assets/gateway-CHkruO_a.js +193 -0
  153. package/.build/server/assets/identicon-CyawcVnx.js +41 -0
  154. package/.build/server/assets/indicator-input-fields-bzuhIh6t.js +75 -0
  155. package/.build/server/assets/indicator-queries-4dY1-LXx.js +171 -0
  156. package/.build/server/assets/indicator-renderer-B2muPS-8.js +395 -0
  157. package/.build/server/assets/indicators-ENxAHN42.js +192 -0
  158. package/.build/server/assets/insight-contracts-B5rmUDfO.js +14 -0
  159. package/.build/server/assets/instrument-label-C-tTGGsD.js +40 -0
  160. package/.build/server/assets/instrument-picker-CRroLwVq.js +381 -0
  161. package/.build/server/assets/journal-9aE-um9f.js +107 -0
  162. package/.build/server/assets/journal-decimal-Bh9EL029.js +66 -0
  163. package/.build/server/assets/login-BsEFUvTX.js +125 -0
  164. package/.build/server/assets/memories-2WF2fW1G.js +100 -0
  165. package/.build/server/assets/memory-badge-DVYLTtRR.js +53 -0
  166. package/.build/server/assets/memory-contracts-DQGN2IKV.js +22 -0
  167. package/.build/server/assets/memory-queries--4RbPRrk.js +92 -0
  168. package/.build/server/assets/model-picker-CA1uYb--.js +225 -0
  169. package/.build/server/assets/notification-queries-0CJUkBt9.js +52 -0
  170. package/.build/server/assets/notifications-Cn7BiCyw.js +72 -0
  171. package/.build/server/assets/provider-logo-BRdbOr9I.js +32 -0
  172. package/.build/server/assets/provider-queries-BaZWLw8J.js +78 -0
  173. package/.build/server/assets/providers-CyoN_jgW.js +89 -0
  174. package/.build/server/assets/risk-Bqrb6hKQ.js +34 -0
  175. package/.build/server/assets/risk-queries-JQpByHT2.js +18 -0
  176. package/.build/server/assets/router-Hkr5TH_I.js +419 -0
  177. package/.build/server/assets/run-subagent-dialog-C7iUOZa-.js +59 -0
  178. package/.build/server/assets/setup-DqMlwgNr.js +30 -0
  179. package/.build/server/assets/setup-checklist-BICTmBo2.js +60 -0
  180. package/.build/server/assets/start-C-GPoWRt.js +4 -0
  181. package/.build/server/assets/subagent-enabled-toggle-Djte00oo.js +22 -0
  182. package/.build/server/assets/subagent-input-BHQKs2cW.js +57 -0
  183. package/.build/server/assets/subagent-mutations-dUo3B_SG.js +32 -0
  184. package/.build/server/assets/subagent-queries-sAwBjFxC.js +146 -0
  185. package/.build/server/assets/subagent-run-history-C_xmucO-.js +186 -0
  186. package/.build/server/assets/subagents-CIoilC66.js +180 -0
  187. package/.build/server/assets/toggle-timestamp-CToUVn67.js +28 -0
  188. package/.build/server/assets/trading-contracts-zWq1Hxnb.js +26 -0
  189. package/.build/server/assets/validation-BX-krL0i.js +33 -0
  190. package/.build/server/assets/worker-triggers-CJF5HWzR.js +51 -0
  191. package/.build/server/server.js +7501 -0
  192. package/LICENSE +661 -0
  193. package/README.md +145 -2
  194. package/bin/hypervibes.js +24 -0
  195. package/dist/agents/agent-enablement.js +10 -0
  196. package/dist/agents/agent-input.js +38 -0
  197. package/dist/agents/agent-service.js +1004 -0
  198. package/dist/agents/cancel-task-scope.js +52 -0
  199. package/dist/agents/candle-intervals.js +1 -0
  200. package/dist/agents/default-subagents.js +36 -0
  201. package/dist/agents/execution-context-contracts.js +1 -0
  202. package/dist/agents/execution-context.js +206 -0
  203. package/dist/agents/execution-warnings.js +33 -0
  204. package/dist/agents/orchestrator-insights.js +14 -0
  205. package/dist/agents/run-inspection.js +99 -0
  206. package/dist/agents/subagent-dashboard.js +1 -0
  207. package/dist/agents/subagent-extension.js +156 -0
  208. package/dist/agents/subagent-history.js +5 -0
  209. package/dist/agents/subagent-input.js +73 -0
  210. package/dist/agents/subagent-service.js +1177 -0
  211. package/dist/agents/subagent-templates.js +20 -0
  212. package/dist/agents/template-manifest.js +34 -0
  213. package/dist/agents/templates/basic-analysis.json +40 -0
  214. package/dist/agents/templates/basic-review.json +48 -0
  215. package/dist/agents/templates/basic-trading.json +45 -0
  216. package/dist/agents/templates/indicator-developer.json +16 -0
  217. package/dist/agents/time-guidance.js +29 -0
  218. package/dist/agents/worker-events.js +18 -0
  219. package/dist/agents/worker-inbox.js +28 -0
  220. package/dist/agents/worker-triggers.js +23 -0
  221. package/dist/auth-options.js +98 -0
  222. package/dist/auth-user.js +15 -0
  223. package/dist/auth.js +28 -0
  224. package/dist/cache/svg-logo-cache.js +155 -0
  225. package/dist/canonical.js +13 -0
  226. package/dist/charts/chart-service.js +236 -0
  227. package/dist/charts/contracts.js +118 -0
  228. package/dist/charts/durable-extension.js +27 -0
  229. package/dist/charts/trading-contracts.js +14 -0
  230. package/dist/config.js +85 -0
  231. package/dist/db/agent-schema.js +26 -0
  232. package/dist/db/auth-schema.js +122 -0
  233. package/dist/db/database.js +31 -0
  234. package/dist/db/exchange-schema.js +23 -0
  235. package/dist/db/gateway-schema.js +24 -0
  236. package/dist/db/indicator-schema.js +19 -0
  237. package/dist/db/migrations/20261015221717_auth/migration.sql +62 -0
  238. package/dist/db/migrations/20261015231224_agents/migration.sql +35 -0
  239. package/dist/db/migrations/20261016040641_provider_connections/migration.sql +19 -0
  240. package/dist/db/migrations/20261016061831_trade_journal/migration.sql +48 -0
  241. package/dist/db/migrations/20261016080320_order_execution/migration.sql +62 -0
  242. package/dist/db/migrations/20261016181110_subagents/migration.sql +51 -0
  243. package/dist/db/migrations/20261017222959_research_artifacts/migration.sql +37 -0
  244. package/dist/db/migrations/20261018061531_memories_and_insights/migration.sql +162 -0
  245. package/dist/db/migrations/20261020091156_worker_event_inbox/migration.sql +54 -0
  246. package/dist/db/migrations/20261021051229_chart_workspace/migration.sql +33 -0
  247. package/dist/db/migrations/20261021222116_gateways/migration.sql +15 -0
  248. package/dist/db/migrations/20261022015813_pine_indicators/migration.sql +43 -0
  249. package/dist/db/migrations/20261022101559_notifications/migration.sql +51 -0
  250. package/dist/db/migrations.js +12 -0
  251. package/dist/db/order-provenance-schema.js +17 -0
  252. package/dist/db/order-schema.js +32 -0
  253. package/dist/db/profile-lock.js +12 -0
  254. package/dist/db/provider-schema.js +16 -0
  255. package/dist/db/shared-database.js +128 -0
  256. package/dist/db/subagent-schema.js +79 -0
  257. package/dist/gateway/bridge-service.js +223 -0
  258. package/dist/gateway/gateway-store.js +77 -0
  259. package/dist/gateway/handlers.js +122 -0
  260. package/dist/gateway/telegram/connector.js +115 -0
  261. package/dist/gateway/telegram/transport.js +96 -0
  262. package/dist/hyperliquid/account-info.js +117 -0
  263. package/dist/hyperliquid/account-status.js +64 -0
  264. package/dist/hyperliquid/agent-dashboard.js +56 -0
  265. package/dist/hyperliquid/chart-contracts.js +9 -0
  266. package/dist/hyperliquid/constants.js +25 -0
  267. package/dist/hyperliquid/crypto.js +29 -0
  268. package/dist/hyperliquid/currency-logo.js +7 -0
  269. package/dist/hyperliquid/decimal.js +98 -0
  270. package/dist/hyperliquid/durable-extension.js +39 -0
  271. package/dist/hyperliquid/errors.js +8 -0
  272. package/dist/hyperliquid/exchange.js +118 -0
  273. package/dist/hyperliquid/journal-decimal.js +48 -0
  274. package/dist/hyperliquid/journal-model.js +167 -0
  275. package/dist/hyperliquid/journal-service.js +648 -0
  276. package/dist/hyperliquid/live-dashboard.js +245 -0
  277. package/dist/hyperliquid/logo-cache.js +27 -0
  278. package/dist/hyperliquid/market-charts.js +242 -0
  279. package/dist/hyperliquid/market-snapshot.js +45 -0
  280. package/dist/hyperliquid/orders/order-contracts.js +42 -0
  281. package/dist/hyperliquid/orders/order-math.js +89 -0
  282. package/dist/hyperliquid/orders/order-outcomes.js +74 -0
  283. package/dist/hyperliquid/orders/order-prepare.js +109 -0
  284. package/dist/hyperliquid/orders/order-service.js +432 -0
  285. package/dist/hyperliquid/orders/order-store.js +134 -0
  286. package/dist/hyperliquid/orders/order-tools.js +40 -0
  287. package/dist/hyperliquid/orders/protection.js +35 -0
  288. package/dist/hyperliquid/orders/risk-settings.js +44 -0
  289. package/dist/hyperliquid/orders/trade-admission.js +117 -0
  290. package/dist/hyperliquid/orders/trade-planning.js +60 -0
  291. package/dist/hyperliquid/service.js +529 -0
  292. package/dist/hyperliquid/shared-feeds.js +40 -0
  293. package/dist/hyperliquid/signing.js +89 -0
  294. package/dist/indicators/builtin-catalog.js +59 -0
  295. package/dist/indicators/builtins/adx.pine +22 -0
  296. package/dist/indicators/builtins/atr.pine +11 -0
  297. package/dist/indicators/builtins/bollinger.pine +10 -0
  298. package/dist/indicators/builtins/ema.pine +5 -0
  299. package/dist/indicators/builtins/macd.pine +18 -0
  300. package/dist/indicators/builtins/rsi.pine +18 -0
  301. package/dist/indicators/builtins/sma.pine +5 -0
  302. package/dist/indicators/candle-window.js +36 -0
  303. package/dist/indicators/chart-contracts.js +64 -0
  304. package/dist/indicators/contracts.js +14 -0
  305. package/dist/indicators/durable-extension.js +32 -0
  306. package/dist/indicators/indicator-service.js +300 -0
  307. package/dist/indicators/indicator-store.js +137 -0
  308. package/dist/indicators/normalize.js +149 -0
  309. package/dist/indicators/result-schema.js +79 -0
  310. package/dist/indicators/runtime-wrapper.js +52 -0
  311. package/dist/indicators/runtime.js +201 -0
  312. package/dist/indicators/validation.js +124 -0
  313. package/dist/indicators/worker-queue.js +48 -0
  314. package/dist/initialize-config.js +160 -0
  315. package/dist/main.js +59 -0
  316. package/dist/memory/decision-audit.js +47 -0
  317. package/dist/memory/durable-extension.js +40 -0
  318. package/dist/memory/execution-audit.js +83 -0
  319. package/dist/memory/insight-contracts.js +33 -0
  320. package/dist/memory/insight-service.js +117 -0
  321. package/dist/memory/memory-contracts.js +113 -0
  322. package/dist/memory/memory-service.js +179 -0
  323. package/dist/memory/operations.js +46 -0
  324. package/dist/memory/tool-schemas.js +44 -0
  325. package/dist/memory/validation.js +42 -0
  326. package/dist/notifications/contracts.js +1 -0
  327. package/dist/notifications/delivery.js +11 -0
  328. package/dist/notifications/durable-extension.js +20 -0
  329. package/dist/notifications/notification-service.js +324 -0
  330. package/dist/providers/credential-store.js +86 -0
  331. package/dist/providers/ollama-cloud.js +148 -0
  332. package/dist/providers/provider-logo-url.js +18 -0
  333. package/dist/providers/provider-logo.js +31 -0
  334. package/dist/providers/provider-service.js +295 -0
  335. package/dist/research/artifacts.js +151 -0
  336. package/dist/research/call-queue.js +43 -0
  337. package/dist/research/contracts.js +37 -0
  338. package/dist/research/evidence.js +43 -0
  339. package/dist/research/journal.js +30 -0
  340. package/dist/research/research-service.js +191 -0
  341. package/dist/research/tool-activity.js +49 -0
  342. package/dist/research/tool-response.js +25 -0
  343. package/dist/runtime.js +145 -0
  344. package/dist/web/agent-events.js +418 -0
  345. package/dist/web/app.js +206 -0
  346. package/dist/web/artifact-downloads.js +23 -0
  347. package/dist/web/middleware.js +25 -0
  348. package/dist/web/random-uuid.js +14 -0
  349. package/dist/web/start.js +56 -0
  350. package/package.json +93 -3
  351. package/scripts/check-node.mjs +24 -0
  352. package/static/android-chrome-192x192.png +0 -0
  353. package/static/android-chrome-512x512.png +0 -0
  354. package/static/apple-touch-icon.png +0 -0
  355. package/static/favicon-16x16.png +0 -0
  356. package/static/favicon-32x32.png +0 -0
  357. package/static/favicon.ico +0 -0
  358. package/static/github.svg +3 -0
  359. package/static/hypervibes.png +0 -0
  360. package/static/logo.png +0 -0
  361. package/static/site.webmanifest +1 -0
  362. package/static/telegram.svg +1 -0
@@ -0,0 +1,108 @@
1
+ import { and, defineRelationsPart, eq, sql } from "drizzle-orm";
2
+ import { index, integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
3
+ //#region src/db/auth-schema.ts
4
+ var hvUsers = sqliteTable("hv_users", {
5
+ id: text("id").primaryKey(),
6
+ name: text("name").notNull(),
7
+ email: text("email").notNull().unique(),
8
+ emailVerified: integer("email_verified", { mode: "boolean" }).default(false).notNull(),
9
+ image: text("image"),
10
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
11
+ updatedAt: integer("updated_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
12
+ });
13
+ var hvSessions = sqliteTable("hv_sessions", {
14
+ id: text("id").primaryKey(),
15
+ expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(),
16
+ token: text("token").notNull().unique(),
17
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
18
+ updatedAt: integer("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull(),
19
+ ipAddress: text("ip_address"),
20
+ userAgent: text("user_agent"),
21
+ userId: text("user_id").notNull().references(() => hvUsers.id, { onDelete: "cascade" })
22
+ }, (table) => [index("hvSessions_userId_idx").on(table.userId)]);
23
+ var hvAuthAccounts = sqliteTable("hv_auth_accounts", {
24
+ id: text("id").primaryKey(),
25
+ accountId: text("account_id").notNull(),
26
+ providerId: text("provider_id").notNull(),
27
+ userId: text("user_id").notNull().references(() => hvUsers.id, { onDelete: "cascade" }),
28
+ accessToken: text("access_token"),
29
+ refreshToken: text("refresh_token"),
30
+ idToken: text("id_token"),
31
+ accessTokenExpiresAt: integer("access_token_expires_at", { mode: "timestamp_ms" }),
32
+ refreshTokenExpiresAt: integer("refresh_token_expires_at", { mode: "timestamp_ms" }),
33
+ scope: text("scope"),
34
+ password: text("password"),
35
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
36
+ updatedAt: integer("updated_at", { mode: "timestamp_ms" }).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
37
+ }, (table) => [index("hvAuthAccounts_userId_idx").on(table.userId)]);
38
+ var hvAuthVerifications = sqliteTable("hv_auth_verifications", {
39
+ id: text("id").primaryKey(),
40
+ identifier: text("identifier").notNull(),
41
+ value: text("value").notNull(),
42
+ expiresAt: integer("expires_at", { mode: "timestamp_ms" }).notNull(),
43
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).notNull(),
44
+ updatedAt: integer("updated_at", { mode: "timestamp_ms" }).default(sql`(cast(unixepoch('subsecond') * 1000 as integer))`).$onUpdate(() => /* @__PURE__ */ new Date()).notNull()
45
+ }, (table) => [index("hvAuthVerifications_identifier_idx").on(table.identifier)]);
46
+ var hvWalletAddresses = sqliteTable("hv_wallet_addresses", {
47
+ id: text("id").primaryKey(),
48
+ userId: text("user_id").notNull().references(() => hvUsers.id, { onDelete: "cascade" }),
49
+ address: text("address").notNull(),
50
+ chainId: integer("chain_id").notNull(),
51
+ isPrimary: integer("is_primary", { mode: "boolean" }).default(false),
52
+ createdAt: integer("created_at", { mode: "timestamp_ms" }).notNull()
53
+ }, (table) => [index("hvWalletAddresses_userId_idx").on(table.userId)]);
54
+ defineRelationsPart({
55
+ hvUsers,
56
+ hvSessions,
57
+ hvAuthAccounts,
58
+ hvAuthVerifications,
59
+ hvWalletAddresses
60
+ }, (r) => ({
61
+ hvUsers: {
62
+ hvSessions: r.many.hvSessions({
63
+ from: r.hvUsers.id,
64
+ to: r.hvSessions.userId
65
+ }),
66
+ hvAuthAccounts: r.many.hvAuthAccounts({
67
+ from: r.hvUsers.id,
68
+ to: r.hvAuthAccounts.userId
69
+ }),
70
+ hvWalletAddresses: r.many.hvWalletAddresses({
71
+ from: r.hvUsers.id,
72
+ to: r.hvWalletAddresses.userId
73
+ })
74
+ },
75
+ hvSessions: { hvUsers: r.one.hvUsers({
76
+ from: r.hvSessions.userId,
77
+ to: r.hvUsers.id
78
+ }) },
79
+ hvAuthAccounts: { hvUsers: r.one.hvUsers({
80
+ from: r.hvAuthAccounts.userId,
81
+ to: r.hvUsers.id
82
+ }) },
83
+ hvWalletAddresses: { hvUsers: r.one.hvUsers({
84
+ from: r.hvWalletAddresses.userId,
85
+ to: r.hvUsers.id
86
+ }) }
87
+ }));
88
+ //#endregion
89
+ //#region src/auth-user.ts
90
+ /** Public identity and expiry only; never expose Better Auth's session token. */
91
+ async function currentUserSession(runtime, headers) {
92
+ const session = await runtime.auth.api.getSession({ headers });
93
+ if (!session) return null;
94
+ const wallet = await runtime.db.select({ address: hvWalletAddresses.address }).from(hvWalletAddresses).where(and(eq(hvWalletAddresses.userId, session.user.id), eq(hvWalletAddresses.chainId, 1))).get();
95
+ return wallet ? {
96
+ user: {
97
+ id: session.user.id,
98
+ walletAddress: wallet.address
99
+ },
100
+ expiresAt: session.session.expiresAt
101
+ } : null;
102
+ }
103
+ /** Returns only public identity, never Better Auth's bearer session token. */
104
+ async function currentUser(runtime, headers) {
105
+ return (await currentUserSession(runtime, headers))?.user ?? null;
106
+ }
107
+ //#endregion
108
+ export { hvUsers as n, currentUser as t };
@@ -0,0 +1,109 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { C as createSsrRpc, u as field } from "./agents-CZq-0mna.js";
3
+ import { c as requestId, t as HyperliquidError } from "./errors-DaZqUftX.js";
4
+ import { t as chartFillRange } from "./trading-contracts-zWq1Hxnb.js";
5
+ import { a as record, o as revision } from "./contracts-CG-nZuYJ.js";
6
+ import { infiniteQueryOptions, queryOptions } from "@tanstack/react-query";
7
+ //#region src/web/charts.ts
8
+ var getChartInstruments = createServerFn({ method: "GET" }).validator((data) => ({ id: field(data, "id") })).handler(createSsrRpc("55a97eae2320dd74071499ecd6931c16d5c930ecdd8106791b37cc1c04bca49b"));
9
+ var getChartLayouts = createServerFn({ method: "GET" }).validator((data) => ({ id: field(data, "id") })).handler(createSsrRpc("92cb4767445e7d783bdb328f2225f7f7127379fed35ad86179f8a677e64168b0"));
10
+ var createChartLayout = createServerFn({ method: "POST" }).validator((data) => {
11
+ const row = record(data);
12
+ return {
13
+ id: field(data, "id"),
14
+ layoutId: requestId(field(data, "layoutId")),
15
+ settings: row.settings,
16
+ sourceId: row.sourceId === void 0 ? void 0 : requestId(field(data, "sourceId"))
17
+ };
18
+ }).handler(createSsrRpc("9054d3124202dedc44c747de0d90aaf8c60372b61ebb9aeca8c672eae86a9f56"));
19
+ var changeChartLayout = createServerFn({ method: "POST" }).validator((data) => {
20
+ const row = record(data);
21
+ return {
22
+ id: field(data, "id"),
23
+ layoutId: requestId(field(data, "layoutId")),
24
+ revision: revision(row.revision),
25
+ requestId: requestId(field(data, "requestId")),
26
+ action: field(data, "action"),
27
+ edit: row.edit
28
+ };
29
+ }).handler(createSsrRpc("8dc7cef94001987c3c1db8f7ec8c86bf58dca97eba165e58308694b5fc038880"));
30
+ var deleteChartLayout = createServerFn({ method: "POST" }).validator((data) => ({
31
+ id: field(data, "id"),
32
+ layoutId: requestId(field(data, "layoutId")),
33
+ revision: revision(record(data).revision)
34
+ })).handler(createSsrRpc("ccfb841b924c26544c8236eb7e77ace2bfca5fbdb0dc6f0b4d994d06e16c45a6"));
35
+ var getChartFills = createServerFn({ method: "GET" }).validator((data) => ({
36
+ id: field(data, "id"),
37
+ coin: field(data, "coin"),
38
+ ...chartFillRange(record(data))
39
+ })).handler(createSsrRpc("5a974d22e376f08d3b79084558ffa700efcdee66a2ba38030196424c035c9950"));
40
+ var getChartHistory = createServerFn({ method: "GET" }).validator((data) => {
41
+ const before = typeof data === "object" && data !== null && "before" in data ? data.before : void 0;
42
+ if (before !== void 0 && (typeof before !== "number" || !Number.isSafeInteger(before) || before <= 0)) throw new HyperliquidError("Invalid history cursor");
43
+ return {
44
+ id: field(data, "id"),
45
+ coin: field(data, "coin"),
46
+ interval: field(data, "interval"),
47
+ before
48
+ };
49
+ }).handler(createSsrRpc("498f52bb1f963270d6dc379d9615a462e1f1080bc0c5d7f9b1eee81bc2689bd3"));
50
+ //#endregion
51
+ //#region src/web/chart-queries.ts
52
+ var chartInstrumentsQueryOptions = (id) => queryOptions({
53
+ queryKey: ["chart-instruments", id],
54
+ queryFn: () => getChartInstruments({ data: { id } })
55
+ });
56
+ var chartLayoutsQueryOptions = (id) => queryOptions({
57
+ queryKey: ["chart-layouts", id],
58
+ queryFn: () => getChartLayouts({ data: { id } }),
59
+ staleTime: Infinity,
60
+ refetchOnMount: false,
61
+ refetchOnReconnect: false
62
+ });
63
+ var chartHistoryQueryOptions = (id, coin, interval, before) => queryOptions({
64
+ queryKey: [
65
+ "chart-history",
66
+ id,
67
+ coin,
68
+ interval,
69
+ before ?? null
70
+ ],
71
+ queryFn: ({ signal }) => getChartHistory({
72
+ data: {
73
+ id,
74
+ coin,
75
+ interval,
76
+ ...before === void 0 ? {} : { before }
77
+ },
78
+ signal
79
+ }),
80
+ staleTime: before === void 0 ? 0 : 3e4,
81
+ gcTime: 6e4
82
+ });
83
+ var chartFillsQueryOptions = (id, coin, from, to) => infiniteQueryOptions({
84
+ queryKey: [
85
+ "chart-fills",
86
+ id,
87
+ coin,
88
+ from,
89
+ to
90
+ ],
91
+ queryFn: ({ pageParam, signal }) => getChartFills({
92
+ data: {
93
+ id,
94
+ coin,
95
+ from,
96
+ to,
97
+ ...pageParam ? { cursor: pageParam } : {}
98
+ },
99
+ signal
100
+ }),
101
+ initialPageParam: void 0,
102
+ getNextPageParam: (page) => page.nextCursor ?? void 0,
103
+ staleTime: 5e3,
104
+ gcTime: 6e4,
105
+ refetchInterval: 5e3,
106
+ retry: 1
107
+ });
108
+ //#endregion
109
+ export { changeChartLayout as a, chartLayoutsQueryOptions as i, chartHistoryQueryOptions as n, createChartLayout as o, chartInstrumentsQueryOptions as r, deleteChartLayout as s, chartFillsQueryOptions as t };
@@ -0,0 +1,130 @@
1
+ import { a as getRequestHeaders, t as createServerFn } from "../server.js";
2
+ import { n as agentUser, t as agentOperation, u as field } from "./agents-CZq-0mna.js";
3
+ import { c as requestId, t as HyperliquidError } from "./errors-DaZqUftX.js";
4
+ import { t as chartFillRange } from "./trading-contracts-zWq1Hxnb.js";
5
+ import { a as record, o as revision } from "./contracts-CG-nZuYJ.js";
6
+ import { t as createServerRpc } from "./createServerRpc-DNqhdU4z.js";
7
+ //#region src/web/charts.ts?tss-serverfn-split
8
+ var getChartInstruments_createServerFn_handler = createServerRpc({
9
+ id: "55a97eae2320dd74071499ecd6931c16d5c930ecdd8106791b37cc1c04bca49b",
10
+ name: "getChartInstruments",
11
+ filename: "src/web/charts.ts"
12
+ }, (opts) => getChartInstruments.__executeServer(opts));
13
+ var getChartInstruments = createServerFn({ method: "GET" }).validator((data) => ({ id: field(data, "id") })).handler(getChartInstruments_createServerFn_handler, async ({ context, data }) => {
14
+ const user = await agentUser(context.runtime, getRequestHeaders());
15
+ return agentOperation(async () => {
16
+ await context.runtime.agents.owned(user.id, data.id);
17
+ return context.runtime.hyperliquid.charts.instruments();
18
+ });
19
+ });
20
+ var getChartLayouts_createServerFn_handler = createServerRpc({
21
+ id: "92cb4767445e7d783bdb328f2225f7f7127379fed35ad86179f8a677e64168b0",
22
+ name: "getChartLayouts",
23
+ filename: "src/web/charts.ts"
24
+ }, (opts) => getChartLayouts.__executeServer(opts));
25
+ var getChartLayouts = createServerFn({ method: "GET" }).validator((data) => ({ id: field(data, "id") })).handler(getChartLayouts_createServerFn_handler, async ({ context, data }) => {
26
+ const user = await agentUser(context.runtime, getRequestHeaders());
27
+ return agentOperation(async () => {
28
+ await context.runtime.agents.owned(user.id, data.id);
29
+ return context.runtime.agents.charts.list(data.id);
30
+ });
31
+ });
32
+ var createChartLayout_createServerFn_handler = createServerRpc({
33
+ id: "9054d3124202dedc44c747de0d90aaf8c60372b61ebb9aeca8c672eae86a9f56",
34
+ name: "createChartLayout",
35
+ filename: "src/web/charts.ts"
36
+ }, (opts) => createChartLayout.__executeServer(opts));
37
+ var createChartLayout = createServerFn({ method: "POST" }).validator((data) => {
38
+ const row = record(data);
39
+ return {
40
+ id: field(data, "id"),
41
+ layoutId: requestId(field(data, "layoutId")),
42
+ settings: row.settings,
43
+ sourceId: row.sourceId === void 0 ? void 0 : requestId(field(data, "sourceId"))
44
+ };
45
+ }).handler(createChartLayout_createServerFn_handler, async ({ context, data }) => {
46
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
47
+ return agentOperation(async () => {
48
+ await context.runtime.agents.owned(user.id, data.id);
49
+ return context.runtime.agents.charts.create(data.id, data.layoutId, data.settings, data.sourceId);
50
+ });
51
+ });
52
+ var changeChartLayout_createServerFn_handler = createServerRpc({
53
+ id: "8dc7cef94001987c3c1db8f7ec8c86bf58dca97eba165e58308694b5fc038880",
54
+ name: "changeChartLayout",
55
+ filename: "src/web/charts.ts"
56
+ }, (opts) => changeChartLayout.__executeServer(opts));
57
+ var changeChartLayout = createServerFn({ method: "POST" }).validator((data) => {
58
+ const row = record(data);
59
+ return {
60
+ id: field(data, "id"),
61
+ layoutId: requestId(field(data, "layoutId")),
62
+ revision: revision(row.revision),
63
+ requestId: requestId(field(data, "requestId")),
64
+ action: field(data, "action"),
65
+ edit: row.edit
66
+ };
67
+ }).handler(changeChartLayout_createServerFn_handler, async ({ context, data }) => {
68
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
69
+ return agentOperation(async () => {
70
+ await context.runtime.agents.owned(user.id, data.id);
71
+ const charts = context.runtime.agents.charts;
72
+ if (data.action === "edit") return charts.edit(data.id, data.layoutId, data.revision, data.edit, `user:${data.requestId}`);
73
+ if (data.action === "undo" || data.action === "redo") return charts.undo(data.id, data.layoutId, data.revision, `user:${data.requestId}`, data.action === "redo");
74
+ throw new HyperliquidError("Invalid chart action");
75
+ });
76
+ });
77
+ var deleteChartLayout_createServerFn_handler = createServerRpc({
78
+ id: "ccfb841b924c26544c8236eb7e77ace2bfca5fbdb0dc6f0b4d994d06e16c45a6",
79
+ name: "deleteChartLayout",
80
+ filename: "src/web/charts.ts"
81
+ }, (opts) => deleteChartLayout.__executeServer(opts));
82
+ var deleteChartLayout = createServerFn({ method: "POST" }).validator((data) => ({
83
+ id: field(data, "id"),
84
+ layoutId: requestId(field(data, "layoutId")),
85
+ revision: revision(record(data).revision)
86
+ })).handler(deleteChartLayout_createServerFn_handler, async ({ context, data }) => {
87
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
88
+ return agentOperation(async () => {
89
+ await context.runtime.agents.owned(user.id, data.id);
90
+ await context.runtime.agents.charts.delete(data.id, data.layoutId, data.revision);
91
+ });
92
+ });
93
+ var getChartFills_createServerFn_handler = createServerRpc({
94
+ id: "5a974d22e376f08d3b79084558ffa700efcdee66a2ba38030196424c035c9950",
95
+ name: "getChartFills",
96
+ filename: "src/web/charts.ts"
97
+ }, (opts) => getChartFills.__executeServer(opts));
98
+ var getChartFills = createServerFn({ method: "GET" }).validator((data) => ({
99
+ id: field(data, "id"),
100
+ coin: field(data, "coin"),
101
+ ...chartFillRange(record(data))
102
+ })).handler(getChartFills_createServerFn_handler, async ({ context, data }) => {
103
+ const user = await agentUser(context.runtime, getRequestHeaders());
104
+ return agentOperation(() => context.runtime.hyperliquid.chartFills(user.id, data.id, data.coin, data));
105
+ });
106
+ var getChartHistory_createServerFn_handler = createServerRpc({
107
+ id: "498f52bb1f963270d6dc379d9615a462e1f1080bc0c5d7f9b1eee81bc2689bd3",
108
+ name: "getChartHistory",
109
+ filename: "src/web/charts.ts"
110
+ }, (opts) => getChartHistory.__executeServer(opts));
111
+ var getChartHistory = createServerFn({ method: "GET" }).validator((data) => {
112
+ const before = typeof data === "object" && data !== null && "before" in data ? data.before : void 0;
113
+ if (before !== void 0 && (typeof before !== "number" || !Number.isSafeInteger(before) || before <= 0)) throw new HyperliquidError("Invalid history cursor");
114
+ return {
115
+ id: field(data, "id"),
116
+ coin: field(data, "coin"),
117
+ interval: field(data, "interval"),
118
+ before
119
+ };
120
+ }).handler(getChartHistory_createServerFn_handler, async ({ context, data }) => {
121
+ const user = await agentUser(context.runtime, getRequestHeaders());
122
+ return agentOperation(async () => {
123
+ await context.runtime.agents.owned(user.id, data.id);
124
+ const charts = context.runtime.hyperliquid.charts;
125
+ const selection = await charts.selection(data.coin, data.interval);
126
+ return charts.history(selection, data.before);
127
+ });
128
+ });
129
+ //#endregion
130
+ export { changeChartLayout_createServerFn_handler, createChartLayout_createServerFn_handler, deleteChartLayout_createServerFn_handler, getChartFills_createServerFn_handler, getChartHistory_createServerFn_handler, getChartInstruments_createServerFn_handler, getChartLayouts_createServerFn_handler };
@@ -0,0 +1,109 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ //#region src/components/tool-activity.tsx
3
+ function ToolCall({ tool }) {
4
+ return /* @__PURE__ */ jsxs("details", {
5
+ className: "mr-8 rounded-lg border border-zinc-800 px-3 py-2 text-xs",
6
+ children: [/* @__PURE__ */ jsxs("summary", {
7
+ className: `cursor-pointer ${tool.status === "error" ? "text-red-300" : "text-zinc-400"}`,
8
+ children: [
9
+ /* @__PURE__ */ jsx("span", {
10
+ className: "font-medium",
11
+ children: tool.name
12
+ }),
13
+ " · ",
14
+ tool.status,
15
+ tool.durationMs !== void 0 && ` · ${tool.durationMs}ms`
16
+ ]
17
+ }), /* @__PURE__ */ jsxs("div", {
18
+ className: "mt-3 space-y-2 border-t border-zinc-800 pt-3",
19
+ children: [
20
+ tool.arguments && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
21
+ className: "text-zinc-500",
22
+ children: "Arguments"
23
+ }), /* @__PURE__ */ jsx("pre", {
24
+ className: "whitespace-pre-wrap break-words text-zinc-400",
25
+ children: tool.arguments
26
+ })] }),
27
+ tool.error && /* @__PURE__ */ jsx("p", {
28
+ className: "whitespace-pre-wrap break-words text-red-300",
29
+ children: tool.error
30
+ }),
31
+ tool.output && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
32
+ className: "text-zinc-500",
33
+ children: "Result"
34
+ }), /* @__PURE__ */ jsx("pre", {
35
+ className: "whitespace-pre-wrap break-words text-zinc-400",
36
+ children: tool.output
37
+ })] })
38
+ ]
39
+ })]
40
+ });
41
+ }
42
+ function CodeExecution({ tool, calls }) {
43
+ const active = [
44
+ "running",
45
+ "pending",
46
+ "queued"
47
+ ].includes(tool.status);
48
+ const label = tool.status === "done" ? "Script completed" : tool.status === "error" ? "Script failed" : tool.status === "running" ? "Running script…" : tool.status === "pending" || tool.status === "queued" ? "Script queued" : `Script ${tool.status}`;
49
+ return /* @__PURE__ */ jsxs("section", {
50
+ "aria-label": "Code execution",
51
+ className: "space-y-3 rounded-xl border border-violet-900/60 bg-violet-950/10 p-3 text-xs",
52
+ children: [
53
+ /* @__PURE__ */ jsxs("header", {
54
+ className: "flex flex-wrap items-center justify-between gap-2",
55
+ children: [/* @__PURE__ */ jsxs("h4", {
56
+ className: "font-medium text-violet-200",
57
+ children: ["Code execution ", /* @__PURE__ */ jsx("span", {
58
+ className: "font-normal text-zinc-500",
59
+ children: "· codemode"
60
+ })]
61
+ }), /* @__PURE__ */ jsxs("span", {
62
+ className: tool.status === "error" ? "text-red-300" : active ? "text-violet-300" : "text-zinc-400",
63
+ children: [
64
+ active && /* @__PURE__ */ jsx("span", {
65
+ "aria-hidden": "true",
66
+ className: "mr-1 inline-block h-2 w-2 animate-pulse rounded-full bg-violet-400"
67
+ }),
68
+ label,
69
+ tool.durationMs !== void 0 && ` · ${tool.durationMs}ms`
70
+ ]
71
+ })]
72
+ }),
73
+ /* @__PURE__ */ jsxs("details", { children: [/* @__PURE__ */ jsx("summary", {
74
+ className: "cursor-pointer text-zinc-400",
75
+ children: "Script and output"
76
+ }), /* @__PURE__ */ jsxs("div", {
77
+ className: "mt-2 space-y-2",
78
+ children: [
79
+ tool.arguments && /* @__PURE__ */ jsx("pre", {
80
+ className: "whitespace-pre-wrap break-words text-zinc-400",
81
+ children: tool.arguments
82
+ }),
83
+ tool.error && /* @__PURE__ */ jsx("p", {
84
+ className: "whitespace-pre-wrap break-words text-red-300",
85
+ children: tool.error
86
+ }),
87
+ tool.output && /* @__PURE__ */ jsx("pre", {
88
+ className: "whitespace-pre-wrap break-words text-zinc-400",
89
+ children: tool.output
90
+ })
91
+ ]
92
+ })] }),
93
+ calls.length > 0 && /* @__PURE__ */ jsx("div", {
94
+ className: "space-y-2 border-l border-violet-900/60 pl-3",
95
+ children: calls.map((call) => /* @__PURE__ */ jsx(ToolCall, { tool: call }, call.id))
96
+ })
97
+ ]
98
+ });
99
+ }
100
+ //#endregion
101
+ //#region src/components/chat-bubble.tsx
102
+ function ChatBubble({ role, children }) {
103
+ return /* @__PURE__ */ jsx("article", {
104
+ className: `space-y-3 rounded-xl p-4 ${role === "user" ? "ml-8 bg-violet-950/40" : role === "assistant" ? "mr-8 bg-zinc-900" : "border border-zinc-800"}`,
105
+ children
106
+ });
107
+ }
108
+ //#endregion
109
+ export { CodeExecution as n, ToolCall as r, ChatBubble as t };
@@ -0,0 +1,55 @@
1
+ import { useEffect, useId, useRef } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { createPortal } from "react-dom";
4
+ //#region src/components/config-dialog.tsx
5
+ var configInput = "block w-full rounded-xl border border-zinc-700 bg-zinc-950 p-3 text-sm text-white";
6
+ var configButton = "cursor-pointer rounded-full border border-zinc-700 px-4 py-2 text-sm text-zinc-200 hover:bg-zinc-800 disabled:cursor-not-allowed disabled:opacity-50";
7
+ function ConfigDialog({ title, onCancel, onApply, children, applyDisabled = false, applyLabel = "Apply" }) {
8
+ const ref = useRef(null);
9
+ const titleId = useId();
10
+ const formId = useId();
11
+ useEffect(() => {
12
+ const dialog = ref.current;
13
+ dialog.showModal();
14
+ return () => dialog.close();
15
+ }, []);
16
+ return createPortal(/* @__PURE__ */ jsxs("dialog", {
17
+ ref,
18
+ "aria-labelledby": titleId,
19
+ onCancel: (event) => {
20
+ event.preventDefault();
21
+ onCancel();
22
+ },
23
+ className: "m-auto flex max-h-[calc(100dvh-2rem)] w-[calc(100%_-_2rem)] max-w-3xl flex-col rounded-2xl border border-zinc-800 bg-[#0d0d10] text-zinc-200 shadow-2xl backdrop:bg-black/70 backdrop:backdrop-blur-sm",
24
+ children: [/* @__PURE__ */ jsxs("form", {
25
+ id: formId,
26
+ onSubmit: (event) => {
27
+ event.preventDefault();
28
+ event.stopPropagation();
29
+ onApply();
30
+ },
31
+ className: "flex min-h-0 flex-col gap-5 overflow-y-auto px-6 pt-6",
32
+ children: [/* @__PURE__ */ jsx("h3", {
33
+ id: titleId,
34
+ className: "shrink-0 text-lg font-semibold text-white",
35
+ children: title
36
+ }), children]
37
+ }), /* @__PURE__ */ jsxs("footer", {
38
+ className: "flex shrink-0 justify-end gap-3 border-t border-zinc-800 p-6 pt-4",
39
+ children: [/* @__PURE__ */ jsx("button", {
40
+ type: "button",
41
+ onClick: onCancel,
42
+ className: configButton,
43
+ children: "Cancel"
44
+ }), /* @__PURE__ */ jsx("button", {
45
+ type: "submit",
46
+ form: formId,
47
+ disabled: applyDisabled,
48
+ className: `${configButton} bg-violet-600 hover:bg-violet-500`,
49
+ children: applyLabel
50
+ })]
51
+ })]
52
+ }), document.body);
53
+ }
54
+ //#endregion
55
+ export { configButton as n, configInput as r, ConfigDialog as t };
@@ -0,0 +1,155 @@
1
+ import { c as requestId, o as AgentError } from "./errors-DaZqUftX.js";
2
+ //#region src/web/random-uuid.ts
3
+ /** Create a UUID without requiring a secure browser context. No work runs on import. */
4
+ function randomUuid() {
5
+ const crypto = globalThis.crypto;
6
+ if (typeof crypto?.randomUUID === "function") return crypto.randomUUID();
7
+ if (typeof crypto?.getRandomValues !== "function") throw new Error("Web Crypto is unavailable. Cannot generate a secure UUID.");
8
+ const bytes = crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16));
9
+ bytes[6] = bytes[6] & 15 | 64;
10
+ bytes[8] = bytes[8] & 63 | 128;
11
+ const hex = Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
12
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
13
+ }
14
+ //#endregion
15
+ //#region src/hyperliquid/chart-contracts.ts
16
+ var chartIntervals = [
17
+ "1m",
18
+ "5m",
19
+ "15m",
20
+ "1h",
21
+ "4h",
22
+ "1d"
23
+ ];
24
+ var intervalMillis = {
25
+ "1m": 6e4,
26
+ "5m": 3e5,
27
+ "15m": 9e5,
28
+ "1h": 36e5,
29
+ "4h": 144e5,
30
+ "1d": 864e5
31
+ };
32
+ function isChartInterval(value) {
33
+ return chartIntervals.some((interval) => interval === value);
34
+ }
35
+ function mergeChartCandles(previous, incoming) {
36
+ const values = new Map(previous.map((candle) => [candle.time, candle]));
37
+ for (const candle of incoming) values.set(candle.time, candle);
38
+ return [...values.values()].sort((a, b) => a.time - b.time);
39
+ }
40
+ //#endregion
41
+ //#region src/charts/contracts.ts
42
+ var drawingKinds = [
43
+ "horizontal",
44
+ "horizontal-ray",
45
+ "vertical",
46
+ "trend",
47
+ "ray",
48
+ "extended",
49
+ "rectangle",
50
+ "text",
51
+ "callout",
52
+ "arrow"
53
+ ];
54
+ var chartToolNames = [
55
+ "get_chart_snapshot",
56
+ "get_chart_layout",
57
+ "edit_chart_annotations"
58
+ ];
59
+ var fail = (label) => {
60
+ throw new AgentError(`Invalid chart ${label}`);
61
+ };
62
+ function record(value) {
63
+ if (!value || typeof value !== "object" || Array.isArray(value)) return fail("object");
64
+ return value;
65
+ }
66
+ function text(value, max, empty = true) {
67
+ if (typeof value !== "string" || value.length > max || !empty && !value.trim()) return fail("text");
68
+ return value;
69
+ }
70
+ function number(value, min, max) {
71
+ if (typeof value !== "number" || !Number.isFinite(value) || value < min || value > max) return fail("number");
72
+ return value;
73
+ }
74
+ function revision(value) {
75
+ const result = number(value, 0, Number.MAX_SAFE_INTEGER - 1);
76
+ if (!Number.isInteger(result)) return fail("revision");
77
+ return result;
78
+ }
79
+ function bool(value) {
80
+ return typeof value === "boolean" ? value : fail("boolean");
81
+ }
82
+ function chartCoin(value) {
83
+ const coin = text(value, 32, false);
84
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(coin)) return fail("instrument");
85
+ return coin;
86
+ }
87
+ function interval(value) {
88
+ return typeof value === "string" && isChartInterval(value) ? value : fail("timeframe");
89
+ }
90
+ function list(value, max, parse) {
91
+ if (!Array.isArray(value) || value.length > max) return fail("list");
92
+ return value.map(parse);
93
+ }
94
+ function point(value) {
95
+ const p = record(value);
96
+ return {
97
+ time: number(p.time, 0, 3250368e4),
98
+ price: number(p.price, 1e-12, 0x38d7ea4c68000)
99
+ };
100
+ }
101
+ function drawing(value) {
102
+ const d = record(value);
103
+ const kind = drawingKinds.find((kind) => kind === d.kind) ?? fail("drawing type");
104
+ const points = list(d.points, 2, point);
105
+ if (points.length !== ([
106
+ "horizontal",
107
+ "horizontal-ray",
108
+ "vertical",
109
+ "text"
110
+ ].includes(kind) ? 1 : 2)) return fail("anchor count");
111
+ if (points.length === 2 && points[0].time === points[1].time && !["arrow", "callout"].includes(kind)) return fail("anchors (use different times)");
112
+ const color = d.color;
113
+ if (typeof color !== "string" || !/^#[0-9a-f]{6}$/i.test(color)) return fail("color");
114
+ return {
115
+ id: requestId(text(d.id, 36)),
116
+ coin: chartCoin(d.coin),
117
+ kind,
118
+ name: text(d.name, 100, false),
119
+ points,
120
+ text: text(d.text, 1e3),
121
+ color,
122
+ width: number(d.width, 1, 5),
123
+ dashed: bool(d.dashed),
124
+ fillOpacity: number(d.fillOpacity, 0, .6),
125
+ locked: bool(d.locked),
126
+ hidden: bool(d.hidden),
127
+ intervals: [...new Set(list(d.intervals, chartIntervals.length, interval))],
128
+ group: text(d.group, 80),
129
+ author: d.author === "agent" ? "agent" : d.author === "user" ? "user" : fail("author")
130
+ };
131
+ }
132
+ function newDrawing(kind, coin, points, id = randomUuid()) {
133
+ return {
134
+ id,
135
+ coin,
136
+ kind,
137
+ points,
138
+ name: kind.replaceAll("-", " "),
139
+ text: "",
140
+ color: "#a78bfa",
141
+ width: 2,
142
+ dashed: false,
143
+ fillOpacity: .15,
144
+ locked: false,
145
+ hidden: false,
146
+ intervals: [],
147
+ group: "",
148
+ author: "user"
149
+ };
150
+ }
151
+ function visibleDrawing(d, document) {
152
+ return !document.hideDrawings && !d.hidden && d.coin === document.coin && (!d.intervals.length || d.intervals.includes(document.interval));
153
+ }
154
+ //#endregion
155
+ export { record as a, chartIntervals as c, mergeChartCandles as d, randomUuid as f, newDrawing as i, intervalMillis as l, drawing as n, revision as o, drawingKinds as r, visibleDrawing as s, chartToolNames as t, isChartInterval as u };
@@ -0,0 +1,12 @@
1
+ import { n as TSS_SERVER_FUNCTION } from "../server.js";
2
+ //#region node_modules/.pnpm/@tanstack+start-server-core@1.169.43/node_modules/@tanstack/start-server-core/dist/esm/createServerRpc.js
3
+ var createServerRpc = (serverFnMeta, splitImportFn) => {
4
+ const url = "/_serverFn/" + serverFnMeta.id;
5
+ return Object.assign(splitImportFn, {
6
+ url,
7
+ serverFnMeta,
8
+ [TSS_SERVER_FUNCTION]: true
9
+ });
10
+ };
11
+ //#endregion
12
+ export { createServerRpc as t };