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,89 @@
1
+ import { HyperliquidError } from "../errors.js";
2
+ /** Signing-path decimal arithmetic. No conversion of financial values to Number. */
3
+ export function decimal(value) {
4
+ if (typeof value !== "string" || value.length > 80 || value.trim() !== value || !/^(0|[1-9]\d*)(\.\d+)?$/.test(value))
5
+ throw new HyperliquidError("Use a positive plain decimal string.");
6
+ const [whole = "", fraction = ""] = value.split(".");
7
+ const trimmed = fraction.replace(/0+$/, "");
8
+ const units = BigInt(whole + trimmed);
9
+ if (units <= 0n)
10
+ throw new HyperliquidError("Order prices and sizes must be greater than zero.");
11
+ return { units, scale: trimmed.length, text: trimmed ? `${whole}.${trimmed}` : whole };
12
+ }
13
+ export function compare(left, right) {
14
+ const a = decimal(left), b = decimal(right);
15
+ const x = a.units * 10n ** BigInt(b.scale), y = b.units * 10n ** BigInt(a.scale);
16
+ return x === y ? 0 : x < y ? -1 : 1;
17
+ }
18
+ export function precisionRules(sizeDecimals) {
19
+ if (!Number.isInteger(sizeDecimals) || sizeDecimals < 0 || sizeDecimals > 6)
20
+ throw new HyperliquidError("Exchange size precision unavailable or unsupported", 502);
21
+ return { sizeDecimals, sizeStep: format(1n, sizeDecimals), priceMaxDecimals: 6 - sizeDecimals, priceMaxSignificantFigures: 5, integerPricesAllowed: true, minOpeningNotional: "10" };
22
+ }
23
+ export function size(value, decimals) {
24
+ const parsed = decimal(value);
25
+ if (parsed.scale > decimals)
26
+ throw new HyperliquidError(`Size exceeds exchange precision: received ${JSON.stringify(value)}; at most ${decimals} decimal places (size step ${format(1n, decimals)}). Choose a valid base-asset size within the requested budget; do not automatically increase it.`);
27
+ return parsed.text;
28
+ }
29
+ export function price(value, sizeDecimals) {
30
+ const parsed = decimal(value);
31
+ // Integers are always permitted. Fractional perp prices have <=5 significant
32
+ // figures and <=(6 - szDecimals) decimal places, per Hyperliquid's tick rules.
33
+ if (parsed.scale && (parsed.scale > 6 - sizeDecimals || parsed.units.toString().length > 5)) {
34
+ throw new HyperliquidError(`Price exceeds exchange tick/significant-figure precision: received ${JSON.stringify(value)}; fractional perpetual prices allow at most ${6 - sizeDecimals} decimal places AND 5 significant figures. Positive integer prices are exempt from both precision limits. Choose an explicit valid price consistent with the requested levels.`);
35
+ }
36
+ return parsed.text;
37
+ }
38
+ export function format(units, scale) {
39
+ const padded = units.toString().padStart(scale + 1, "0");
40
+ return scale ? `${padded.slice(0, -scale)}.${padded.slice(-scale)}` : padded;
41
+ }
42
+ /** Exact notional comparison; never round financial authority through Number. */
43
+ export function notionalWithin(qty, px, cap) {
44
+ const a = decimal(qty), b = decimal(px), c = decimal(cap);
45
+ return a.units * b.units * 10n ** BigInt(c.scale) <= c.units * 10n ** BigInt(a.scale + b.scale);
46
+ }
47
+ export function notionalAtLeast(qty, px, minimum) {
48
+ const a = decimal(qty), b = decimal(px), c = decimal(minimum);
49
+ return a.units * b.units * 10n ** BigInt(c.scale) >= c.units * 10n ** BigInt(a.scale + b.scale);
50
+ }
51
+ /** Exact product, with no rounding below a risk cap. */
52
+ export function notional(qty, px) {
53
+ const a = decimal(qty), b = decimal(px);
54
+ return format(a.units * b.units, a.scale + b.scale);
55
+ }
56
+ /** Exact sum of plain decimal strings. */
57
+ export function sumDecimals(values) {
58
+ const parsed = values.map(decimal);
59
+ const scale = Math.max(0, ...parsed.map((value) => value.scale));
60
+ const total = parsed.reduce((sum, value) => sum + value.units * 10n ** BigInt(scale - value.scale), 0n);
61
+ return format(total, scale);
62
+ }
63
+ /** Exact position size/sign; exchange positions may contain zero or a minus sign. */
64
+ export function positionSize(value) {
65
+ if (typeof value !== "string" || value.trim() !== value || !/^-?(0|[1-9][0-9]*)(\.[0-9]+)?$/.test(value))
66
+ throw new HyperliquidError("Invalid exchange position size");
67
+ if (!/[1-9]/.test(value))
68
+ return { side: "flat", size: "0" };
69
+ return { side: value.startsWith("-") ? "short" : "long", size: decimal(value.replace(/^-/, "")).text };
70
+ }
71
+ /** Guarded IOC price: 0.5% for entries, 10% for market triggers, rounded inward. */
72
+ export function guardPrice(reference, buy, sizeDecimals, bps = 50) {
73
+ const parsed = decimal(reference);
74
+ const numerator = parsed.units * BigInt(10_000 + (buy ? bps : -bps));
75
+ const denominator = 10n ** BigInt(parsed.scale) * 10000n;
76
+ const whole = numerator / denominator;
77
+ let magnitude = whole ? whole.toString().length - 1 : -1;
78
+ if (!whole) {
79
+ let scaled = numerator * 10n;
80
+ while (scaled < denominator) {
81
+ magnitude--;
82
+ scaled *= 10n;
83
+ }
84
+ }
85
+ const scale = Math.max(0, Math.min(6 - sizeDecimals, 4 - magnitude));
86
+ const scaledNumerator = numerator * 10n ** BigInt(scale);
87
+ const rounded = (scaledNumerator + (buy ? 0n : denominator - 1n)) / denominator;
88
+ return price(format(rounded, scale), sizeDecimals);
89
+ }
@@ -0,0 +1,74 @@
1
+ import { liveView } from "./order-prepare.js";
2
+ import { compare, decimal } from "./order-math.js";
3
+ function record(value) { return value !== null && typeof value === "object" && !Array.isArray(value) ? value : undefined; }
4
+ export function unknownViews(views, message) {
5
+ return views.map((view) => ({ ...view, commandStatus: "unknown", orderStatus: "unknown", source: "transport", updatedAt: Date.now(), error: message }));
6
+ }
7
+ /** SDK throws for mixed-success batches; decode its raw response item by item. */
8
+ export function responseViews(kind, response, views) {
9
+ const root = record(response);
10
+ if (root?.status === "err" && typeof root.response === "string") {
11
+ if (/nonce|duplicate|already/i.test(root.response))
12
+ return unknownViews(views, "Exchange reported a duplicate identity or nonce; reconcile before any new attempt.");
13
+ return views.map((view) => ({ ...view, commandStatus: "rejected", orderStatus: kind === "submit" ? "rejected" : view.orderStatus, error: root.response.slice(0, 1000), updatedAt: Date.now(), source: "exchange_response" }));
14
+ }
15
+ const body = record(root?.response);
16
+ const statuses = record(body?.data)?.statuses;
17
+ if (root?.status !== "ok" || body?.type !== (kind === "submit" ? "order" : "cancel") || !Array.isArray(statuses) || statuses.length !== views.length)
18
+ return unknownViews(views, "Exchange response shape/count is uncertain. Reconcile; do not resubmit.");
19
+ return views.map((view, index) => {
20
+ const item = statuses[index];
21
+ const result = { ...view, updatedAt: Date.now(), source: "exchange_response" };
22
+ if (kind === "cancel" && item === "success")
23
+ return { ...result, commandStatus: "accepted", orderStatus: "canceled", error: null };
24
+ const status = record(item);
25
+ if (typeof status?.error === "string") {
26
+ if (kind === "submit" && /duplicate|cloid/i.test(status.error))
27
+ return unknownViews([view], "Duplicate client order ID response; reconcile before retrying.")[0];
28
+ return { ...result, commandStatus: "rejected", orderStatus: kind === "submit" ? "rejected" : view.orderStatus, error: status.error.slice(0, 1000) };
29
+ }
30
+ if (kind === "submit") {
31
+ if (item === "waitingForFill" || item === "waitingForTrigger")
32
+ return { ...result, commandStatus: "accepted", orderStatus: item, error: null };
33
+ const resting = record(status?.resting), filled = record(status?.filled);
34
+ const oid = resting?.oid ?? filled?.oid;
35
+ if (typeof oid === "number" && Number.isSafeInteger(oid) && oid > 0 && (resting || filled)) {
36
+ if (filled) {
37
+ try {
38
+ decimal(filled.totalSz);
39
+ decimal(filled.avgPx);
40
+ if (view.size && compare(filled.totalSz, view.size) > 0)
41
+ throw new Error("Overfilled receipt");
42
+ }
43
+ catch {
44
+ return unknownViews([view], "Malformed fill receipt; reconciliation required.")[0];
45
+ }
46
+ }
47
+ const responseCloid = resting?.cloid ?? filled?.cloid;
48
+ if (responseCloid && responseCloid !== view.cloid)
49
+ return unknownViews([view], "Exchange receipt client order ID did not match intent.")[0];
50
+ return { ...result, commandStatus: "accepted", orderStatus: filled ? "filled" : "open", exchangeOid: String(oid),
51
+ filledSize: filled ? filled.totalSz : null, averageFillPrice: filled ? filled.avgPx : null, error: null };
52
+ }
53
+ }
54
+ return unknownViews([view], "Unrecognized per-order outcome; reconciliation required.")[0];
55
+ });
56
+ }
57
+ /** A targeted not-found result never manufactures a rejection or cancellation. */
58
+ export function reconciledView(view, response) {
59
+ if (response.status !== "order")
60
+ return { ...view, updatedAt: Date.now(), error: "Order not found in venue lookup; absence is not proof of rejection, fill, or cancellation." };
61
+ const report = response.order;
62
+ const remote = liveView(report.order, report.status, report.statusTimestamp);
63
+ if (remote.symbol !== view.symbol || (view.exchangeOid && remote.exchangeOid !== view.exchangeOid) || (view.cloid && remote.cloid && view.cloid !== remote.cloid)) {
64
+ return { ...view, updatedAt: Date.now(), error: "Exchange order identity did not match the recorded intent." };
65
+ }
66
+ if (view.venueTimestamp !== null && report.statusTimestamp < view.venueTimestamp)
67
+ return view;
68
+ // A pending cancel is not confirmed by seeing an order still open/triggered.
69
+ const terminal = !["open", "triggered"].includes(report.status);
70
+ return { ...view, exchangeOid: remote.exchangeOid, orderStatus: report.status, venueTimestamp: report.statusTimestamp,
71
+ commandStatus: view.kind === "cancel" && !terminal && view.commandStatus === "unknown" ? "unknown"
72
+ : view.commandStatus === "rejected" ? "rejected" : "reconciled",
73
+ updatedAt: Date.now(), source: "reconciliation", error: null };
74
+ }
@@ -0,0 +1,109 @@
1
+ import { randomBytes, randomUUID } from "node:crypto";
2
+ import { HyperliquidError } from "../errors.js";
3
+ import { compare, guardPrice, price, size } from "./order-math.js";
4
+ export function newView(requestId, symbol, kind) {
5
+ return { id: randomUUID(), requestId, symbol, side: "", kind, size: null, price: null, triggerPrice: null, reduceOnly: false, cloid: null, exchangeOid: null,
6
+ commandStatus: "not_sent", orderStatus: "not_sent", filledSize: null, averageFillPrice: null, updatedAt: Date.now(), venueTimestamp: null, source: "intent", error: null };
7
+ }
8
+ export function liveView(order, status = "open", timestamp = null) {
9
+ if (!Number.isSafeInteger(order.oid) || order.oid <= 0)
10
+ throw new HyperliquidError("Exchange returned an unsafe order ID.", 502);
11
+ return { ...newView("", order.coin, order.orderType), id: String(order.oid), requestId: null,
12
+ side: order.side === "B" ? "buy" : "sell", size: order.origSz ?? order.sz, price: order.limitPx, triggerPrice: order.isTrigger ? order.triggerPx : null,
13
+ reduceOnly: order.reduceOnly, cloid: order.cloid ?? null, exchangeOid: String(order.oid), commandStatus: "reconciled", orderStatus: status,
14
+ updatedAt: Date.now(), venueTimestamp: timestamp, source: "exchange" };
15
+ }
16
+ export function isPerpetual(coin) { return !coin.startsWith("@") && !coin.includes("/") && !coin.includes(":") && !coin.startsWith("+") && !/^o\d+$/.test(coin); }
17
+ export function exchangeOid(oid) {
18
+ if (typeof oid !== "string" || !/^[1-9]\d{0,15}$/.test(oid))
19
+ throw new HyperliquidError("Use an exchange order ID as a decimal string.");
20
+ const number = Number(oid);
21
+ if (!Number.isSafeInteger(number))
22
+ throw new HyperliquidError("Exchange order ID exceeds safe integer range.");
23
+ return number;
24
+ }
25
+ export async function instruments(info, signal) {
26
+ const meta = await info.meta({ dex: "" }, signal);
27
+ return new Map(meta.universe.map((entry, asset) => [entry.name, { ...entry, asset }]));
28
+ }
29
+ export function instrument(meta, symbol) {
30
+ const entry = meta.get(symbol);
31
+ if (!entry || !isPerpetual(symbol) || entry.isDelisted || !Number.isInteger(entry.szDecimals) || entry.szDecimals < 0 || entry.szDecimals > 6)
32
+ throw new HyperliquidError(`Unknown, delisted, or unsupported main-DEX perpetual: ${symbol}`);
33
+ return entry;
34
+ }
35
+ export async function prepareSubmit(info, requestId, inputs, builder, signal) {
36
+ const meta = await instruments(info, signal);
37
+ const mids = inputs.some((input) => input.order_type === "market") ? await info.allMids({ dex: "" }, signal) : {};
38
+ return inputs.map((input) => {
39
+ const entry = instrument(meta, input.symbol);
40
+ const buy = input.side === "buy";
41
+ if (!["buy", "sell"].includes(input.side))
42
+ throw new HyperliquidError("Invalid order side.");
43
+ const amount = size(input.size, entry.szDecimals);
44
+ const attached = [...(input.take_profits ?? []), ...(input.stop_losses ?? [])];
45
+ if ((input.take_profits?.length ?? 0) > 1 || (input.stop_losses?.length ?? 0) > 1)
46
+ throw new HyperliquidError("Native parent TP/SL supports one take-profit and one stop-loss per entry.");
47
+ if (input.reduce_only && attached.length)
48
+ throw new HyperliquidError("Attach TP/SL only to an opening entry; use standalone reduce-only triggers to protect an existing position.");
49
+ const orders = [], items = [];
50
+ const add = (kind, side, qty, px, reduce, type, trigger = null) => {
51
+ const cloid = `0x${randomBytes(16).toString("hex")}`;
52
+ orders.push({ a: entry.asset, b: side, p: px, s: qty, r: reduce, t: type, c: cloid });
53
+ items.push({ ...newView(requestId, input.symbol, kind), side: side ? "buy" : "sell", size: qty, price: px, triggerPrice: trigger, reduceOnly: reduce, cloid });
54
+ };
55
+ if (input.order_type === "limit" || input.order_type === "market") {
56
+ if (input.trigger_price !== undefined)
57
+ throw new HyperliquidError("Use trigger_price only for standalone triggers.");
58
+ if (input.order_type === "market" && (input.price !== undefined || input.time_in_force !== undefined))
59
+ throw new HyperliquidError("Market entries use a 0.5% guarded IOC; omit price/time_in_force.");
60
+ const px = input.order_type === "market" ? guardPrice(mids[input.symbol] ?? "", buy, entry.szDecimals) : price(input.price ?? "", entry.szDecimals);
61
+ const tif = input.order_type === "market" ? "Ioc" : input.time_in_force === "ioc" ? "Ioc" : input.time_in_force === "alo" ? "Alo" : "Gtc";
62
+ add(input.order_type, buy, amount, px, input.reduce_only ?? false, { limit: { tif } });
63
+ const trigger = (leg, kind) => {
64
+ const triggerPx = price(leg.trigger_price, entry.szDecimals);
65
+ const qty = size(leg.size ?? amount, entry.szDecimals);
66
+ if (compare(qty, amount) > 0)
67
+ throw new HyperliquidError("Attached trigger size cannot exceed entry size.");
68
+ const direction = compare(triggerPx, px);
69
+ if ((kind === "tp" ? buy ? direction <= 0 : direction >= 0 : buy ? direction >= 0 : direction <= 0))
70
+ throw new HyperliquidError("Attached TP/SL trigger is on the wrong side of the entry price.");
71
+ if (kind === "sl" && leg.limit_price !== undefined)
72
+ throw new HyperliquidError("Attached stop-loss is market-on-trigger; omit limit_price.");
73
+ const isMarket = leg.limit_price === undefined;
74
+ const limitPx = isMarket ? guardPrice(triggerPx, !buy, entry.szDecimals, 1000) : price(leg.limit_price, entry.szDecimals);
75
+ add(kind === "tp" ? "take_profit" : "stop_loss", !buy, qty, limitPx, true, { trigger: { triggerPx, isMarket, tpsl: kind } }, triggerPx);
76
+ };
77
+ for (const leg of input.take_profits ?? [])
78
+ trigger(leg, "tp");
79
+ for (const leg of input.stop_losses ?? [])
80
+ trigger(leg, "sl");
81
+ }
82
+ else if (input.order_type === "take_profit" || input.order_type === "stop_loss") {
83
+ if (attached.length || input.time_in_force !== undefined || input.reduce_only === false)
84
+ throw new HyperliquidError("Standalone TP/SL must be reduce-only, without attached legs or time_in_force.");
85
+ const triggerPx = price(input.trigger_price ?? "", entry.szDecimals);
86
+ const isMarket = input.price === undefined;
87
+ const px = isMarket ? guardPrice(triggerPx, buy, entry.szDecimals, 1000) : price(input.price, entry.szDecimals);
88
+ add(input.order_type, buy, amount, px, true, { trigger: { triggerPx, isMarket, tpsl: input.order_type === "take_profit" ? "tp" : "sl" } }, triggerPx);
89
+ }
90
+ else
91
+ throw new HyperliquidError("Unsupported order_type.");
92
+ return { payload: { kind: "submit", orders, grouping: attached.length ? "normalTpsl" : "na", builder }, items };
93
+ });
94
+ }
95
+ /** Reject numeric money before Durable's permissive schema coercion can stringify it. */
96
+ export function assertStringAmounts(value) {
97
+ if (Array.isArray(value)) {
98
+ for (const item of value)
99
+ assertStringAmounts(item);
100
+ return;
101
+ }
102
+ if (!value || typeof value !== "object")
103
+ return;
104
+ for (const [key, item] of Object.entries(value)) {
105
+ if (["size", "price", "trigger_price", "limit_price", "take_profit_price", "stop_loss_price", "oid"].includes(key) && typeof item !== "string")
106
+ throw new HyperliquidError(`${key} must be an exact decimal string, not a JSON number.`);
107
+ assertStringAmounts(item);
108
+ }
109
+ }