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,685 @@
1
+ import { a as agentsQueryOptions, o as invalidateAgentCollection } from "./agent-queries-Cmx8RiUx.js";
2
+ import { a as providerSettingsQueryOptions } from "./provider-queries-BaZWLw8J.js";
3
+ import { a as setupApiWallet, i as cancelBuilderFee, n as approveApiWallet, r as approveBuilderFee, t as accountQueryOptions } from "./account-queries-AJJVkLAV.js";
4
+ import { a as moneyParts, i as formatMoneyText } from "./decimal-BthtZ77w.js";
5
+ import { t as Identicon } from "./identicon-CyawcVnx.js";
6
+ import { t as SetupChecklist } from "./setup-checklist-BICTmBo2.js";
7
+ import { useRef, useState } from "react";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ import { useMutation, useQueryClient, useSuspenseQuery } from "@tanstack/react-query";
10
+ import { createWalletClient, custom } from "viem";
11
+ //#region src/hyperliquid/constants.ts
12
+ /** Mainnet-only Hyperliquid constants shared by server code and templates. */
13
+ /** The only builder fee recipient the server accepts and submits. */
14
+ var BUILDER_RECIPIENT = "0x2ebba955c61116e1c249efb1e39d25cb4a79ea05";
15
+ //#endregion
16
+ //#region src/web/wallet-action.ts
17
+ /**
18
+ * Browser-side helpers for signing Hyperliquid actions with the user's main
19
+ * wallet. The private key never leaves the wallet; the server validates and
20
+ * relays the signed action.
21
+ */
22
+ var CHAIN_ID = 42161;
23
+ var CHAIN_HEX = "0xa4b1";
24
+ async function selectSignatureChain(provider) {
25
+ try {
26
+ await provider.request({
27
+ method: "wallet_switchEthereumChain",
28
+ params: [{ chainId: CHAIN_HEX }]
29
+ });
30
+ } catch (reason) {
31
+ if (!(typeof reason === "object" && reason !== null && "code" in reason && reason.code === 4902)) throw new Error("Switch your wallet to Arbitrum Mainnet to sign Hyperliquid approvals.", { cause: reason });
32
+ await provider.request({
33
+ method: "wallet_addEthereumChain",
34
+ params: [{
35
+ chainId: CHAIN_HEX,
36
+ chainName: "Arbitrum One",
37
+ nativeCurrency: {
38
+ name: "Ether",
39
+ symbol: "ETH",
40
+ decimals: 18
41
+ },
42
+ rpcUrls: ["https://arb1.arbitrum.io/rpc"],
43
+ blockExplorerUrls: ["https://arbiscan.io"]
44
+ }]
45
+ });
46
+ await provider.request({
47
+ method: "wallet_switchEthereumChain",
48
+ params: [{ chainId: CHAIN_HEX }]
49
+ });
50
+ }
51
+ }
52
+ async function signWalletAction({ provider }, primaryType, types, action) {
53
+ if (!provider) throw new Error("No Ethereum wallet found. Open this page in a browser with a wallet extension.");
54
+ const client = createWalletClient({ transport: custom(provider) });
55
+ await selectSignatureChain(provider);
56
+ const [account] = await client.requestAddresses();
57
+ if (!account) throw new Error("No wallet account selected.");
58
+ return {
59
+ action,
60
+ signature: await client.signTypedData({
61
+ account,
62
+ domain: {
63
+ name: "HyperliquidSignTransaction",
64
+ version: "1",
65
+ chainId: CHAIN_ID,
66
+ verifyingContract: "0x0000000000000000000000000000000000000000"
67
+ },
68
+ types,
69
+ primaryType,
70
+ message: action
71
+ })
72
+ };
73
+ }
74
+ function actionBase() {
75
+ return {
76
+ hyperliquidChain: "Mainnet",
77
+ signatureChainId: CHAIN_HEX,
78
+ nonce: Date.now()
79
+ };
80
+ }
81
+ function walletProvider() {
82
+ return globalThis.window?.ethereum;
83
+ }
84
+ var approveAgentTypes = { "HyperliquidTransaction:ApproveAgent": [
85
+ {
86
+ name: "hyperliquidChain",
87
+ type: "string"
88
+ },
89
+ {
90
+ name: "agentAddress",
91
+ type: "address"
92
+ },
93
+ {
94
+ name: "agentName",
95
+ type: "string"
96
+ },
97
+ {
98
+ name: "nonce",
99
+ type: "uint64"
100
+ }
101
+ ] };
102
+ var approveBuilderFeeTypes = { "HyperliquidTransaction:ApproveBuilderFee": [
103
+ {
104
+ name: "hyperliquidChain",
105
+ type: "string"
106
+ },
107
+ {
108
+ name: "maxFeeRate",
109
+ type: "string"
110
+ },
111
+ {
112
+ name: "builder",
113
+ type: "address"
114
+ },
115
+ {
116
+ name: "nonce",
117
+ type: "uint64"
118
+ }
119
+ ] };
120
+ //#endregion
121
+ //#region src/components/account-page.tsx
122
+ function ExternalLinkIcon() {
123
+ return /* @__PURE__ */ jsx("svg", {
124
+ xmlns: "http://www.w3.org/2000/svg",
125
+ fill: "none",
126
+ viewBox: "0 0 24 24",
127
+ strokeWidth: "1.5",
128
+ stroke: "currentColor",
129
+ className: "h-4 w-4",
130
+ "aria-hidden": "true",
131
+ children: /* @__PURE__ */ jsx("path", {
132
+ strokeLinecap: "round",
133
+ strokeLinejoin: "round",
134
+ d: "M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"
135
+ })
136
+ });
137
+ }
138
+ function expiryClass(expiresAt) {
139
+ if (!expiresAt) return "text-zinc-400";
140
+ const days = (expiresAt - Date.now()) / 864e5;
141
+ if (days >= 150) return "text-emerald-400";
142
+ if (days < 30) return "text-amber-400";
143
+ return "text-zinc-400";
144
+ }
145
+ function Balance({ balance }) {
146
+ if (!balance) return /* @__PURE__ */ jsx("span", {
147
+ className: "text-amber-300",
148
+ children: "Unavailable"
149
+ });
150
+ const { whole, decimals } = moneyParts(formatMoneyText(balance));
151
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
152
+ /* @__PURE__ */ jsx("span", {
153
+ className: /^0(\.0+)?$/.test(balance) ? "text-zinc-500" : "text-zinc-200",
154
+ children: whole
155
+ }),
156
+ decimals && /* @__PURE__ */ jsxs("span", {
157
+ className: "text-zinc-500",
158
+ children: [".", decimals]
159
+ }),
160
+ /* @__PURE__ */ jsx("span", {
161
+ className: "text-zinc-500",
162
+ children: " USDC"
163
+ })
164
+ ] });
165
+ }
166
+ function AccountPage({ view, actions, setup }) {
167
+ const client = useQueryClient();
168
+ const [signerProgress, setSignerStatus] = useState("");
169
+ const [importing, setImporting] = useState(false);
170
+ const [importedKey, setImportedKey] = useState("");
171
+ const [feeBps, setFeeBps] = useState(view.builderFee.feeBps);
172
+ const [feeProgress, setFeeStatus] = useState("");
173
+ const signerInFlight = useRef(false);
174
+ const feeInFlight = useRef(false);
175
+ const signer = useMutation({
176
+ mutationFn: async ({ source, force }) => {
177
+ let address = view.apiWallet?.address ?? null;
178
+ if (force || !address) {
179
+ setSignerStatus(force ? "Re-generating trading signer…" : "Generating trading signer…");
180
+ address = await actions.setupApiWallet(source, source === "import" ? importedKey : "");
181
+ setImportedKey("");
182
+ }
183
+ setSignerStatus("Awaiting wallet signature…");
184
+ const signed = await signWalletAction({ provider: walletProvider() }, "HyperliquidTransaction:ApproveAgent", approveAgentTypes, {
185
+ type: "approveAgent",
186
+ ...actionBase(),
187
+ agentAddress: address,
188
+ agentName: "HyperVibes"
189
+ });
190
+ setSignerStatus("Approving trading signer…");
191
+ await actions.approveApiWallet(signed);
192
+ setSignerStatus("");
193
+ },
194
+ onSettled: () => invalidateAgentCollection(client)
195
+ });
196
+ const fee = useMutation({
197
+ mutationFn: async (revoke) => {
198
+ const clamped = Math.min(Math.max(Math.round(feeBps), 1), 10);
199
+ const maxFeeRate = revoke ? "0.00%" : `${(clamped / 100).toFixed(2)}%`;
200
+ setFeeStatus("Awaiting wallet signature…");
201
+ const signed = await signWalletAction({ provider: walletProvider() }, "HyperliquidTransaction:ApproveBuilderFee", approveBuilderFeeTypes, {
202
+ type: "approveBuilderFee",
203
+ ...actionBase(),
204
+ maxFeeRate,
205
+ builder: BUILDER_RECIPIENT
206
+ });
207
+ if (revoke) await actions.cancelBuilderFee(signed);
208
+ else await actions.approveBuilderFee(signed, clamped);
209
+ setFeeStatus("");
210
+ },
211
+ onSettled: () => invalidateAgentCollection(client)
212
+ });
213
+ const signerPending = signer.isPending;
214
+ const signerStatus = signer.error?.message ?? signerProgress;
215
+ const feePending = fee.isPending;
216
+ const feeStatus = fee.error?.message ?? feeProgress;
217
+ async function generateAndApprove(source, force) {
218
+ if (signerInFlight.current) return;
219
+ signerInFlight.current = true;
220
+ try {
221
+ await signer.mutateAsync({
222
+ source,
223
+ force
224
+ });
225
+ } catch {} finally {
226
+ signerInFlight.current = false;
227
+ }
228
+ }
229
+ async function submitBuilderFee(revoke) {
230
+ if (feeInFlight.current) return;
231
+ feeInFlight.current = true;
232
+ try {
233
+ await fee.mutateAsync(revoke);
234
+ } catch {} finally {
235
+ feeInFlight.current = false;
236
+ }
237
+ }
238
+ const apiWallet = view.apiWallet;
239
+ return /* @__PURE__ */ jsxs("div", {
240
+ className: "mx-auto max-w-3xl space-y-4",
241
+ children: [
242
+ /* @__PURE__ */ jsx("header", {
243
+ className: "flex items-start justify-between gap-4",
244
+ children: /* @__PURE__ */ jsxs("h1", {
245
+ className: "flex min-w-0 items-center gap-3 text-2xl font-semibold text-white sm:text-3xl",
246
+ children: [
247
+ /* @__PURE__ */ jsx(Identicon, {
248
+ address: view.walletAddress,
249
+ className: "h-8 w-8 shrink-0 rounded-full"
250
+ }),
251
+ /* @__PURE__ */ jsx("span", {
252
+ className: "min-w-0 break-all font-mono text-lg sm:text-3xl",
253
+ children: view.walletAddress
254
+ }),
255
+ /* @__PURE__ */ jsx("a", {
256
+ href: `https://arbiscan.io/address/${view.walletAddress}`,
257
+ target: "_blank",
258
+ rel: "noopener noreferrer",
259
+ title: "View on Arbiscan",
260
+ "aria-label": "View on Arbiscan",
261
+ className: "inline-flex h-6 w-6 shrink-0 cursor-pointer items-center justify-center rounded text-zinc-400 hover:text-zinc-200",
262
+ children: /* @__PURE__ */ jsx(ExternalLinkIcon, {})
263
+ })
264
+ ]
265
+ })
266
+ }),
267
+ /* @__PURE__ */ jsx(SetupChecklist, {
268
+ agentCount: setup.agentCount,
269
+ state: {
270
+ providerConnected: setup.providerConnected,
271
+ apiKeyApproved: view.apiWallet?.state === "approved",
272
+ builderFeeApproved: view.builderFee.approved
273
+ }
274
+ }),
275
+ view.accountModeMessage && /* @__PURE__ */ jsx("p", {
276
+ role: "status",
277
+ className: `rounded-2xl border px-4 py-3 text-sm ${view.accountMode === "unregistered" ? "border-violet-900/70 bg-violet-950/20 text-zinc-300" : "border-amber-800/70 bg-amber-950/30 text-amber-200"}`,
278
+ children: view.accountModeMessage
279
+ }),
280
+ !view.encryptionConfigured && /* @__PURE__ */ jsx("p", {
281
+ role: "status",
282
+ className: "rounded-2xl border border-amber-800/70 bg-amber-950/30 px-4 py-3 text-sm text-amber-200",
283
+ children: "Trading signer storage is not configured on the server. Set AGENTS_ENCRYPTION_KEY to enable API keys."
284
+ }),
285
+ view.accountMode === "unregistered" ? /* @__PURE__ */ jsxs("section", {
286
+ className: "rounded-2xl border border-violet-900/70 bg-violet-950/20 p-6 sm:p-8",
287
+ children: [
288
+ /* @__PURE__ */ jsx("p", {
289
+ className: "text-sm font-medium uppercase tracking-[0.18em] text-violet-300",
290
+ children: "Hyperliquid setup"
291
+ }),
292
+ /* @__PURE__ */ jsx("h2", {
293
+ className: "mt-3 text-2xl font-semibold text-white",
294
+ children: "Enable trading on Hyperliquid"
295
+ }),
296
+ /* @__PURE__ */ jsxs("p", {
297
+ className: "mt-3 max-w-2xl text-sm leading-6 text-zinc-300",
298
+ children: [
299
+ "Open Hyperliquid with this same wallet, then choose ",
300
+ /* @__PURE__ */ jsx("span", {
301
+ className: "font-medium text-white",
302
+ children: "Enable Trading"
303
+ }),
304
+ " and sign its gas-less transaction. Complete the first deposit Hyperliquid requests to activate the new account, then return here and refresh the page to set up your trading signer, builder-fee approval, and agents."
305
+ ]
306
+ }),
307
+ /* @__PURE__ */ jsxs("a", {
308
+ href: "https://app.hyperliquid.xyz/trade",
309
+ target: "_blank",
310
+ rel: "noopener noreferrer",
311
+ className: "mt-6 inline-flex cursor-pointer items-center gap-2 rounded-full bg-violet-600 px-5 py-2.5 text-sm font-medium text-white hover:bg-violet-500",
312
+ children: ["Open Hyperliquid", /* @__PURE__ */ jsx(ExternalLinkIcon, {})]
313
+ })
314
+ ]
315
+ }) : /* @__PURE__ */ jsxs("div", {
316
+ className: "grid gap-3 sm:grid-cols-2",
317
+ children: [/* @__PURE__ */ jsxs("section", {
318
+ className: "flex flex-col rounded-2xl border border-zinc-800 bg-[#0d0d10] p-6",
319
+ children: [
320
+ /* @__PURE__ */ jsxs("div", {
321
+ className: "flex items-start justify-between gap-3",
322
+ children: [/* @__PURE__ */ jsxs("h2", {
323
+ className: "flex items-center gap-2 text-lg font-medium text-white",
324
+ children: ["Hyperliquid API Key", /* @__PURE__ */ jsx("a", {
325
+ href: "https://app.hyperliquid.xyz/API",
326
+ target: "_blank",
327
+ rel: "noopener noreferrer",
328
+ title: "Open Hyperliquid API page",
329
+ "aria-label": "Open Hyperliquid API page",
330
+ className: "inline-flex h-4 w-4 cursor-pointer items-center justify-center rounded text-zinc-400 hover:text-zinc-200",
331
+ children: /* @__PURE__ */ jsx(ExternalLinkIcon, {})
332
+ })]
333
+ }), apiWallet?.state === "approved" ? /* @__PURE__ */ jsxs("span", {
334
+ className: "flex items-center gap-2",
335
+ children: [apiWallet.expiresAt && /* @__PURE__ */ jsxs("span", {
336
+ className: `shrink-0 text-sm ${expiryClass(apiWallet.expiresAt)}`,
337
+ children: ["Expires ", new Date(apiWallet.expiresAt).toLocaleDateString()]
338
+ }), /* @__PURE__ */ jsx("span", {
339
+ title: "API key is approved",
340
+ "aria-label": "API key is approved",
341
+ className: "inline-flex h-6 w-6 shrink-0 items-center justify-center text-emerald-400",
342
+ children: /* @__PURE__ */ jsx("svg", {
343
+ xmlns: "http://www.w3.org/2000/svg",
344
+ fill: "none",
345
+ viewBox: "0 0 24 24",
346
+ strokeWidth: "1.5",
347
+ stroke: "currentColor",
348
+ className: "h-5 w-5",
349
+ "aria-hidden": "true",
350
+ children: /* @__PURE__ */ jsx("path", {
351
+ strokeLinecap: "round",
352
+ strokeLinejoin: "round",
353
+ d: "m4.5 12.75 6 6 9-13.5"
354
+ })
355
+ })
356
+ })]
357
+ }) : /* @__PURE__ */ jsxs("span", {
358
+ className: "inline-flex items-center gap-1.5 text-sm font-medium text-amber-400",
359
+ children: [/* @__PURE__ */ jsx("svg", {
360
+ xmlns: "http://www.w3.org/2000/svg",
361
+ fill: "none",
362
+ viewBox: "0 0 24 24",
363
+ strokeWidth: "1.5",
364
+ stroke: "currentColor",
365
+ className: "h-5 w-5",
366
+ "aria-hidden": "true",
367
+ children: /* @__PURE__ */ jsx("path", {
368
+ strokeLinecap: "round",
369
+ strokeLinejoin: "round",
370
+ d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"
371
+ })
372
+ }), "Required"]
373
+ })]
374
+ }),
375
+ apiWallet && (apiWallet.state === "approved" || apiWallet.showExpired) && apiWallet.address && /* @__PURE__ */ jsxs("div", {
376
+ className: "mt-3 space-y-1",
377
+ children: [/* @__PURE__ */ jsx("p", {
378
+ className: "break-all font-mono text-base text-zinc-200",
379
+ children: apiWallet.address
380
+ }), apiWallet.showExpired && /* @__PURE__ */ jsx("p", {
381
+ className: "text-sm font-semibold text-red-400",
382
+ children: "Expired"
383
+ })]
384
+ }),
385
+ apiWallet?.state === "approval-required" && apiWallet.address && /* @__PURE__ */ jsxs("p", {
386
+ className: "mt-3 break-all font-mono text-sm text-zinc-400",
387
+ children: [apiWallet.address, " — approval required"]
388
+ }),
389
+ /* @__PURE__ */ jsx("p", {
390
+ "aria-live": "polite",
391
+ className: "mt-3 text-sm text-zinc-400",
392
+ children: signerStatus
393
+ }),
394
+ /* @__PURE__ */ jsx("div", {
395
+ className: "mt-auto space-y-3 pt-4",
396
+ children: !apiWallet || apiWallet.state !== "approved" ? /* @__PURE__ */ jsxs("div", {
397
+ className: "flex items-center gap-4",
398
+ children: [
399
+ importing && /* @__PURE__ */ jsx("input", {
400
+ type: "password",
401
+ autoComplete: "off",
402
+ placeholder: "Private key",
403
+ value: importedKey,
404
+ onChange: (event) => setImportedKey(event.target.value),
405
+ className: "w-full rounded-lg border border-zinc-700 bg-zinc-900 px-3 py-2 text-white",
406
+ "aria-label": "Private key"
407
+ }),
408
+ apiWallet?.state === "approval-required" ? /* @__PURE__ */ jsx("button", {
409
+ type: "button",
410
+ disabled: signerPending,
411
+ onClick: () => {
412
+ generateAndApprove("generate", false);
413
+ },
414
+ className: "cursor-pointer rounded-full bg-violet-600 px-5 py-2 text-sm font-medium text-white hover:bg-violet-500 disabled:cursor-wait disabled:opacity-50",
415
+ children: signerPending ? "Working…" : "Approve API Key"
416
+ }) : /* @__PURE__ */ jsx("button", {
417
+ type: "button",
418
+ disabled: signerPending || importing && !importedKey.trim(),
419
+ onClick: () => {
420
+ generateAndApprove(importing ? "import" : "generate", false);
421
+ },
422
+ className: "cursor-pointer rounded-full bg-violet-600 px-5 py-2 text-sm font-medium text-white hover:bg-violet-500 disabled:cursor-wait disabled:opacity-50",
423
+ children: signerPending ? "Working…" : importing ? "Import API Key" : "Generate API Key"
424
+ }),
425
+ /* @__PURE__ */ jsx("button", {
426
+ type: "button",
427
+ "aria-expanded": importing,
428
+ onClick: () => {
429
+ setImporting(!importing);
430
+ setImportedKey("");
431
+ },
432
+ className: "cursor-pointer text-sm text-zinc-400 underline hover:text-zinc-200",
433
+ children: importing ? "Generate a new API key" : "Import existing API key"
434
+ })
435
+ ]
436
+ }) : /* @__PURE__ */ jsx("button", {
437
+ type: "button",
438
+ disabled: signerPending,
439
+ onClick: () => {
440
+ generateAndApprove("generate", true);
441
+ },
442
+ className: "cursor-pointer rounded-full border border-violet-500 px-5 py-2 text-sm font-medium text-violet-300 hover:border-violet-400 hover:bg-violet-950/30 disabled:cursor-wait disabled:opacity-50",
443
+ children: signerPending ? "Working…" : "Re-generate API key"
444
+ })
445
+ })
446
+ ]
447
+ }), /* @__PURE__ */ jsxs("section", {
448
+ className: "flex flex-col rounded-2xl border border-zinc-800 bg-[#0d0d10] p-6",
449
+ children: [
450
+ /* @__PURE__ */ jsxs("div", {
451
+ className: "flex items-start justify-between gap-3",
452
+ children: [/* @__PURE__ */ jsxs("h2", {
453
+ className: "flex items-center gap-2 text-lg font-medium text-white",
454
+ children: ["Builder fee approval", /* @__PURE__ */ jsx("a", {
455
+ href: "https://app.hyperliquid.xyz/builderCodes",
456
+ target: "_blank",
457
+ rel: "noopener noreferrer",
458
+ title: "Open Hyperliquid builder codes page",
459
+ "aria-label": "Open Hyperliquid builder codes page",
460
+ className: "inline-flex h-4 w-4 cursor-pointer items-center justify-center rounded text-zinc-400 hover:text-zinc-200",
461
+ children: /* @__PURE__ */ jsx(ExternalLinkIcon, {})
462
+ })]
463
+ }), view.builderFee.approved ? /* @__PURE__ */ jsx("span", {
464
+ title: "Builder fee is approved",
465
+ "aria-label": "Builder fee is approved",
466
+ className: "inline-flex h-6 w-6 shrink-0 items-center justify-center text-emerald-400",
467
+ children: /* @__PURE__ */ jsx("svg", {
468
+ xmlns: "http://www.w3.org/2000/svg",
469
+ fill: "none",
470
+ viewBox: "0 0 24 24",
471
+ strokeWidth: "1.5",
472
+ stroke: "currentColor",
473
+ className: "h-5 w-5",
474
+ "aria-hidden": "true",
475
+ children: /* @__PURE__ */ jsx("path", {
476
+ strokeLinecap: "round",
477
+ strokeLinejoin: "round",
478
+ d: "m4.5 12.75 6 6 9-13.5"
479
+ })
480
+ })
481
+ }) : /* @__PURE__ */ jsxs("span", {
482
+ className: "inline-flex items-center gap-1.5 text-sm font-medium text-amber-400",
483
+ children: [/* @__PURE__ */ jsx("svg", {
484
+ xmlns: "http://www.w3.org/2000/svg",
485
+ fill: "none",
486
+ viewBox: "0 0 24 24",
487
+ strokeWidth: "1.5",
488
+ stroke: "currentColor",
489
+ className: "h-5 w-5",
490
+ "aria-hidden": "true",
491
+ children: /* @__PURE__ */ jsx("path", {
492
+ strokeLinecap: "round",
493
+ strokeLinejoin: "round",
494
+ d: "M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"
495
+ })
496
+ }), "Required"]
497
+ })]
498
+ }),
499
+ /* @__PURE__ */ jsxs("div", {
500
+ className: "mt-6 flex items-center gap-3",
501
+ children: [
502
+ /* @__PURE__ */ jsx("label", {
503
+ className: "sr-only",
504
+ htmlFor: "builder-fee-input",
505
+ children: "Builder fee percent"
506
+ }),
507
+ /* @__PURE__ */ jsx("input", {
508
+ id: "builder-fee-input",
509
+ type: "number",
510
+ min: "0.01",
511
+ max: "0.1",
512
+ step: "0.01",
513
+ value: (feeBps / 100).toFixed(2),
514
+ onChange: (event) => {
515
+ const parsed = Number(event.target.value);
516
+ if (Number.isFinite(parsed)) setFeeBps(Math.round(parsed * 100));
517
+ },
518
+ className: "w-20 shrink-0 rounded-lg border border-zinc-700 bg-zinc-900 px-2 py-1 text-right text-sm font-medium text-zinc-300 [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"
519
+ }),
520
+ /* @__PURE__ */ jsx("span", {
521
+ "aria-hidden": "true",
522
+ className: "w-6 shrink-0 text-left text-sm text-zinc-300",
523
+ children: "%"
524
+ }),
525
+ /* @__PURE__ */ jsx("label", {
526
+ className: "sr-only",
527
+ htmlFor: "builder-fee-range",
528
+ children: "Builder fee basis points"
529
+ }),
530
+ /* @__PURE__ */ jsx("input", {
531
+ id: "builder-fee-range",
532
+ type: "range",
533
+ min: "1",
534
+ max: "10",
535
+ value: feeBps,
536
+ onChange: (event) => setFeeBps(Number(event.target.value)),
537
+ className: "flex-1 cursor-pointer"
538
+ })
539
+ ]
540
+ }),
541
+ /* @__PURE__ */ jsx("p", {
542
+ "aria-live": "polite",
543
+ className: "mt-3 text-sm text-zinc-400",
544
+ children: feeStatus
545
+ }),
546
+ /* @__PURE__ */ jsxs("div", {
547
+ className: "mt-auto flex items-center gap-3 pt-4",
548
+ children: [/* @__PURE__ */ jsx("button", {
549
+ type: "button",
550
+ disabled: feePending,
551
+ onClick: () => {
552
+ submitBuilderFee(false);
553
+ },
554
+ className: "cursor-pointer rounded-full bg-violet-600 px-5 py-2 text-sm font-medium text-white hover:bg-violet-500 disabled:cursor-wait disabled:opacity-50",
555
+ children: feePending ? "Working…" : view.builderFee.approved ? "Change approval" : "Approve"
556
+ }), view.builderFee.approved && /* @__PURE__ */ jsx("button", {
557
+ type: "button",
558
+ disabled: feePending,
559
+ onClick: () => {
560
+ submitBuilderFee(true);
561
+ },
562
+ className: "cursor-pointer rounded-full border border-zinc-600 px-5 py-2 text-sm font-medium text-zinc-300 hover:border-zinc-500 hover:bg-zinc-800/50 disabled:cursor-wait disabled:opacity-50",
563
+ children: "Cancel Approval"
564
+ })]
565
+ })
566
+ ]
567
+ })]
568
+ }),
569
+ /* @__PURE__ */ jsxs("section", {
570
+ className: "rounded-2xl border border-zinc-800 bg-[#0d0d10] p-6",
571
+ children: [
572
+ /* @__PURE__ */ jsx("h2", {
573
+ className: "text-lg font-medium text-white",
574
+ children: "Accounts"
575
+ }),
576
+ view.lookupError && /* @__PURE__ */ jsx("p", {
577
+ className: "mt-2 text-sm text-amber-300",
578
+ children: view.lookupError
579
+ }),
580
+ /* @__PURE__ */ jsx("div", {
581
+ className: "mt-4 overflow-x-auto sm:overflow-visible",
582
+ children: /* @__PURE__ */ jsxs("table", {
583
+ className: "w-full min-w-[42rem] text-left text-sm",
584
+ children: [/* @__PURE__ */ jsx("thead", {
585
+ className: "border-b border-zinc-800 text-zinc-500",
586
+ children: /* @__PURE__ */ jsxs("tr", { children: [
587
+ /* @__PURE__ */ jsx("th", {
588
+ className: "px-3 py-3 font-medium",
589
+ children: "Name"
590
+ }),
591
+ /* @__PURE__ */ jsx("th", {
592
+ className: "px-3 py-3 font-medium",
593
+ children: "Address"
594
+ }),
595
+ /* @__PURE__ */ jsx("th", {
596
+ className: "px-3 py-3 font-medium",
597
+ children: "Agent"
598
+ }),
599
+ /* @__PURE__ */ jsx("th", {
600
+ className: "px-3 py-3 text-right font-medium",
601
+ children: "Balance"
602
+ })
603
+ ] })
604
+ }), /* @__PURE__ */ jsxs("tbody", {
605
+ className: "divide-y divide-zinc-800",
606
+ children: [view.accounts.map((account) => /* @__PURE__ */ jsxs("tr", { children: [
607
+ /* @__PURE__ */ jsx("td", {
608
+ className: "px-3 py-3 text-white",
609
+ children: account.name
610
+ }),
611
+ /* @__PURE__ */ jsx("td", {
612
+ className: "break-all px-3 py-3 font-mono text-xs text-zinc-400",
613
+ children: account.address
614
+ }),
615
+ /* @__PURE__ */ jsx("td", {
616
+ className: "px-3 py-3",
617
+ children: account.agentId ? /* @__PURE__ */ jsx("a", {
618
+ href: `/agents/${account.agentId}`,
619
+ className: "cursor-pointer text-violet-300 underline",
620
+ children: account.agentName
621
+ }) : /* @__PURE__ */ jsx("span", {
622
+ className: "text-zinc-500",
623
+ children: "—"
624
+ })
625
+ }),
626
+ /* @__PURE__ */ jsx("td", {
627
+ className: "px-3 py-3 text-right",
628
+ children: /* @__PURE__ */ jsx(Balance, { balance: account.balance })
629
+ })
630
+ ] }, account.address)), view.totalBalance !== null && /* @__PURE__ */ jsxs("tr", {
631
+ className: "font-bold",
632
+ children: [
633
+ /* @__PURE__ */ jsx("td", {}),
634
+ /* @__PURE__ */ jsx("td", {}),
635
+ /* @__PURE__ */ jsx("td", {
636
+ className: "px-3 py-3",
637
+ children: "Total"
638
+ }),
639
+ /* @__PURE__ */ jsx("td", {
640
+ className: "px-3 py-3 text-right",
641
+ children: /* @__PURE__ */ jsx(Balance, { balance: view.totalBalance })
642
+ })
643
+ ]
644
+ })]
645
+ })]
646
+ })
647
+ })
648
+ ]
649
+ })
650
+ ]
651
+ });
652
+ }
653
+ //#endregion
654
+ //#region src/routes/_authenticated.account.tsx?tsr-split=component
655
+ function AccountRoute() {
656
+ const { data: view, error } = useSuspenseQuery(accountQueryOptions());
657
+ const { data: agents } = useSuspenseQuery(agentsQueryOptions());
658
+ const { data: providers } = useSuspenseQuery(providerSettingsQueryOptions());
659
+ const setup = {
660
+ agentCount: agents.length,
661
+ providerConnected: providers.providers.some((provider) => provider.connected)
662
+ };
663
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [error && /* @__PURE__ */ jsx("p", {
664
+ role: "alert",
665
+ className: "mb-4 text-sm text-red-300",
666
+ children: error.message
667
+ }), /* @__PURE__ */ jsx(AccountPage, {
668
+ view,
669
+ setup,
670
+ actions: {
671
+ setupApiWallet: (source, privateKey) => setupApiWallet({ data: {
672
+ source,
673
+ privateKey
674
+ } }),
675
+ approveApiWallet: (request) => approveApiWallet({ data: request }),
676
+ approveBuilderFee: (request, feeBps) => approveBuilderFee({ data: {
677
+ ...request,
678
+ feeBps
679
+ } }),
680
+ cancelBuilderFee: (request) => cancelBuilderFee({ data: request })
681
+ }
682
+ })] });
683
+ }
684
+ //#endregion
685
+ export { AccountRoute as component };
@@ -0,0 +1,5 @@
1
+ import { Outlet } from "@tanstack/react-router";
2
+ //#region src/routes/_authenticated.agents.tsx?tsr-split=component
3
+ var SplitComponent = Outlet;
4
+ //#endregion
5
+ export { SplitComponent as component };