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,225 @@
1
+ import { n as configButton, r as configInput, t as ConfigDialog } from "./config-dialog-9gSAjwwT.js";
2
+ import { t as ProviderLogo } from "./provider-logo-BRdbOr9I.js";
3
+ import { useRef, useState } from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/model-picker.tsx
6
+ var modelKey = (model) => JSON.stringify([model.provider, model.modelId]);
7
+ /** Cost as a bare number string, e.g. "3" or "0.0015". */
8
+ var costLabel = (value) => `${`${Number(value.toFixed(4))}`.replace(/\.0+$/, "")}`;
9
+ /** Currency-style amount with at least two decimals and no symbol, e.g. "3.00". */
10
+ var costCurrency = (value) => {
11
+ const bare = costLabel(value);
12
+ const [whole, decimals = ""] = bare.split(".");
13
+ return decimals.length >= 2 ? bare : `${whole}.${(decimals + "00").slice(0, 2)}`;
14
+ };
15
+ var usd = (value) => `$${costLabel(value)}`;
16
+ /** Context window as a compact "200K" / "1M" token count. */
17
+ function choiceContextTokens(choice) {
18
+ if (choice.contextWindow >= 1e6) return `${choice.contextWindow / 1e6}M`;
19
+ if (choice.contextWindow >= 1e3) return `${Math.round(choice.contextWindow / 1e3)}K`;
20
+ return `${choice.contextWindow}`;
21
+ }
22
+ function choiceContext(choice) {
23
+ return `${choiceContextTokens(choice)} ctx`;
24
+ }
25
+ function choiceMetadata(choice) {
26
+ const parts = [choiceContext(choice)];
27
+ if (choice.reasoning) parts.push("reasoning");
28
+ parts.push(`${usd(choice.inputCost)}/${usd(choice.outputCost)}`);
29
+ return parts.join(" · ");
30
+ }
31
+ function ModelPicker({ choices, value, onChange, thinkingLevel, disabled = false }) {
32
+ const [open, setOpen] = useState(false);
33
+ const selected = choices.find((choice) => modelKey(choice) === value);
34
+ return /* @__PURE__ */ jsxs("div", {
35
+ className: "space-y-2 text-sm text-zinc-300",
36
+ children: [/* @__PURE__ */ jsxs("button", {
37
+ type: "button",
38
+ disabled,
39
+ onClick: () => setOpen(true),
40
+ "aria-haspopup": "dialog",
41
+ "aria-label": "Choose model",
42
+ className: `${configButton} flex w-full items-center justify-between gap-4 rounded-xl text-left`,
43
+ children: [/* @__PURE__ */ jsxs("span", {
44
+ className: "flex min-w-0 items-center gap-2",
45
+ children: [selected && /* @__PURE__ */ jsx(ProviderLogo, {
46
+ provider: selected.provider,
47
+ className: "h-8 w-8 shrink-0 rounded-lg border border-zinc-800 bg-white p-1"
48
+ }), selected ? /* @__PURE__ */ jsxs("span", {
49
+ className: "min-w-0 truncate",
50
+ children: [selected.name, /* @__PURE__ */ jsxs("span", {
51
+ className: "block text-xs text-zinc-500",
52
+ children: [
53
+ selected.providerName || selected.provider,
54
+ " / ",
55
+ selected.modelId,
56
+ thinkingLevel !== void 0 && /* @__PURE__ */ jsxs("span", {
57
+ className: "text-zinc-400",
58
+ children: [" · Thinking: ", thinkingLevel || "Default"]
59
+ })
60
+ ]
61
+ })]
62
+ }) : "Select a model…"]
63
+ }), /* @__PURE__ */ jsx("span", { children: "Choose model" })]
64
+ }), open && /* @__PURE__ */ jsx(ModelDialog, {
65
+ choices,
66
+ value,
67
+ thinkingLevel,
68
+ onCancel: () => setOpen(false),
69
+ onApply: async (next, thinking) => {
70
+ await onChange(next, thinking);
71
+ setOpen(false);
72
+ }
73
+ })]
74
+ });
75
+ }
76
+ /** Reusable model dialog for hosts that render their own trigger. */
77
+ function ModelDialog({ choices, value, thinkingLevel, onCancel, onApply }) {
78
+ const [draft, setDraft] = useState(value);
79
+ const [thinking, setThinking] = useState(thinkingLevel ?? "");
80
+ const [saving, setSaving] = useState(false);
81
+ const [error, setError] = useState("");
82
+ const inFlight = useRef(false);
83
+ async function apply() {
84
+ if (inFlight.current) return;
85
+ inFlight.current = true;
86
+ setSaving(true);
87
+ setError("");
88
+ try {
89
+ await onApply(draft, thinking);
90
+ } catch (cause) {
91
+ setError(cause instanceof Error ? cause.message : "Unable to save model. Please retry.");
92
+ } finally {
93
+ inFlight.current = false;
94
+ setSaving(false);
95
+ }
96
+ }
97
+ const selected = choices.find((choice) => modelKey(choice) === draft);
98
+ const [search, setSearch] = useState("");
99
+ const [provider, setProvider] = useState("");
100
+ const matches = choices.filter((choice) => `${choice.provider} ${choice.name} ${choice.modelId}`.toLowerCase().includes(search.trim().toLowerCase()));
101
+ const providers = [...new Set(matches.map((choice) => choice.provider))].map((id) => ({
102
+ id,
103
+ name: matches.find((choice) => choice.provider === id).providerName || id
104
+ }));
105
+ const visible = matches.filter((choice) => !provider || choice.provider === provider);
106
+ return /* @__PURE__ */ jsxs(ConfigDialog, {
107
+ title: "Select model",
108
+ onCancel: () => {
109
+ if (!inFlight.current) onCancel();
110
+ },
111
+ onApply: () => {
112
+ apply();
113
+ },
114
+ applyDisabled: saving || !choices.some((choice) => modelKey(choice) === draft),
115
+ children: [
116
+ /* @__PURE__ */ jsxs("fieldset", {
117
+ disabled: saving,
118
+ className: "space-y-5 disabled:opacity-60",
119
+ children: [
120
+ /* @__PURE__ */ jsxs("label", {
121
+ className: "block space-y-2 text-sm",
122
+ children: ["Search providers and models", /* @__PURE__ */ jsx("input", {
123
+ autoFocus: true,
124
+ type: "search",
125
+ value: search,
126
+ onChange: (event) => {
127
+ setSearch(event.target.value);
128
+ setProvider("");
129
+ },
130
+ className: configInput,
131
+ placeholder: "Provider, model name or ID"
132
+ })]
133
+ }),
134
+ /* @__PURE__ */ jsxs("div", {
135
+ className: "grid gap-4 sm:grid-cols-[12rem_minmax(0,1fr)]",
136
+ children: [/* @__PURE__ */ jsxs("div", {
137
+ className: "space-y-2",
138
+ children: [/* @__PURE__ */ jsx("nav", {
139
+ "aria-label": "Model providers",
140
+ className: "flex max-h-40 flex-wrap content-start gap-2 overflow-y-auto sm:max-h-80 sm:flex-col",
141
+ children: [{
142
+ id: "",
143
+ name: ""
144
+ }, ...providers].map((entry) => /* @__PURE__ */ jsxs("button", {
145
+ type: "button",
146
+ "aria-pressed": provider === entry.id,
147
+ onClick: () => setProvider(entry.id),
148
+ className: `${configButton} flex items-center gap-2 rounded-lg text-left aria-pressed:border-violet-500 aria-pressed:bg-violet-950`,
149
+ children: [entry.id ? /* @__PURE__ */ jsx(ProviderLogo, {
150
+ provider: entry.id,
151
+ className: "h-5 w-5 shrink-0 rounded-sm bg-white p-0.5"
152
+ }) : null, entry.name || "All providers"]
153
+ }, entry.id))
154
+ }), /* @__PURE__ */ jsx("a", {
155
+ href: "/providers",
156
+ className: "block cursor-pointer text-xs text-violet-300 hover:underline",
157
+ children: "Manage Providers"
158
+ })]
159
+ }), /* @__PURE__ */ jsxs("div", {
160
+ className: "h-[28rem] space-y-2 overflow-y-auto",
161
+ role: "group",
162
+ "aria-label": "Models",
163
+ children: [visible.map((choice) => /* @__PURE__ */ jsxs("label", {
164
+ className: "flex cursor-pointer items-center gap-3 rounded-xl border border-zinc-800 p-3 hover:bg-zinc-900 has-checked:border-violet-500 has-checked:bg-violet-950/40 has-focus-visible:ring-2 has-focus-visible:ring-violet-400",
165
+ children: [
166
+ /* @__PURE__ */ jsx("input", {
167
+ type: "radio",
168
+ name: "model",
169
+ checked: draft === modelKey(choice),
170
+ onChange: () => {
171
+ setDraft(modelKey(choice));
172
+ setThinking("");
173
+ },
174
+ className: "h-0 w-0 cursor-pointer"
175
+ }),
176
+ /* @__PURE__ */ jsx(ProviderLogo, {
177
+ provider: choice.provider,
178
+ className: "h-9 w-9 shrink-0 rounded-lg border border-zinc-800 bg-white p-1"
179
+ }),
180
+ /* @__PURE__ */ jsxs("span", {
181
+ className: "min-w-0 break-words text-sm",
182
+ children: [choice.name, /* @__PURE__ */ jsxs("span", {
183
+ className: "block text-xs text-zinc-500",
184
+ children: [choice.modelId, /* @__PURE__ */ jsxs("span", {
185
+ className: "text-zinc-600",
186
+ children: [" · ", choiceMetadata(choice)]
187
+ })]
188
+ })]
189
+ })
190
+ ]
191
+ }, modelKey(choice))), !visible.length && /* @__PURE__ */ jsx("p", {
192
+ className: "text-sm text-zinc-400",
193
+ children: "No matching models. Connect a provider or try another search."
194
+ })]
195
+ })]
196
+ }),
197
+ thinkingLevel !== void 0 && Boolean(selected?.thinkingLevels.some((level) => level !== "off")) && /* @__PURE__ */ jsxs("label", {
198
+ className: "block space-y-2 text-sm",
199
+ children: ["Thinking level", /* @__PURE__ */ jsxs("select", {
200
+ value: thinking,
201
+ onChange: (event) => setThinking(event.target.value),
202
+ className: `block w-full rounded-xl border border-zinc-700 bg-zinc-950 p-3 text-sm text-white cursor-pointer`,
203
+ children: [/* @__PURE__ */ jsx("option", {
204
+ value: "",
205
+ children: "Default"
206
+ }), selected?.thinkingLevels.filter((level) => level !== "off").map((level) => /* @__PURE__ */ jsx("option", { children: level }, level))]
207
+ })]
208
+ })
209
+ ]
210
+ }),
211
+ saving && /* @__PURE__ */ jsx("p", {
212
+ role: "status",
213
+ className: "text-sm text-zinc-400",
214
+ children: "Saving…"
215
+ }),
216
+ error && /* @__PURE__ */ jsx("p", {
217
+ role: "alert",
218
+ className: "text-sm text-red-300",
219
+ children: error
220
+ })
221
+ ]
222
+ });
223
+ }
224
+ //#endregion
225
+ export { modelKey as a, costCurrency as i, ModelPicker as n, choiceContextTokens as r, ModelDialog as t };
@@ -0,0 +1,52 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { C as createSsrRpc, _ as optionalNumber, r as booleanField, u as field } from "./agents-CZq-0mna.js";
3
+ import { queryOptions } from "@tanstack/react-query";
4
+ //#region src/web/notifications.ts
5
+ var listNotifications = createServerFn({ method: "GET" }).validator((data) => ({
6
+ agentId: field(data, "agentId"),
7
+ page: optionalNumber(data, "page") ?? 1
8
+ })).handler(createSsrRpc("12f05d318fcc06074993979e3d48843ce2790f83b44b2d79027e47f3d8e5b98d"));
9
+ var getNotification = createServerFn({ method: "GET" }).validator((data) => ({
10
+ agentId: field(data, "agentId"),
11
+ id: field(data, "id")
12
+ })).handler(createSsrRpc("b0c6667f109f44fb02262a52d2b6b184703a620298f14f0e4da0d1a750349495"));
13
+ var getNotificationSettings = createServerFn({ method: "GET" }).validator((data) => ({ agentId: field(data, "agentId") })).handler(createSsrRpc("0fd9b8aa4bfcdf8803a3a3af558bbbc0e0f009e53830f9958509b691e444588a"));
14
+ var saveNotificationSettings = createServerFn({ method: "POST" }).validator((data) => ({
15
+ agentId: field(data, "agentId"),
16
+ enabled: booleanField(data, "enabled"),
17
+ submissions: booleanField(data, "submissions"),
18
+ fills: booleanField(data, "fills")
19
+ })).handler(createSsrRpc("24c37868847f15bf8e55b1197ee885a7f051dd48adf37c675a88705962cca27a"));
20
+ //#endregion
21
+ //#region src/web/notification-queries.ts
22
+ var notificationKeys = { all: (agentId) => ["notifications", agentId] };
23
+ var notificationsQueryOptions = (agentId, page) => queryOptions({
24
+ queryKey: [
25
+ ...notificationKeys.all(agentId),
26
+ "list",
27
+ page
28
+ ],
29
+ queryFn: () => listNotifications({ data: {
30
+ agentId,
31
+ page
32
+ } }),
33
+ staleTime: 0
34
+ });
35
+ var notificationQueryOptions = (agentId, id) => queryOptions({
36
+ queryKey: [
37
+ ...notificationKeys.all(agentId),
38
+ "detail",
39
+ id
40
+ ],
41
+ queryFn: () => getNotification({ data: {
42
+ agentId,
43
+ id
44
+ } }),
45
+ staleTime: 0
46
+ });
47
+ var notificationSettingsQueryOptions = (agentId) => queryOptions({
48
+ queryKey: ["notification-settings", agentId],
49
+ queryFn: () => getNotificationSettings({ data: { agentId } })
50
+ });
51
+ //#endregion
52
+ export { saveNotificationSettings as a, notificationsQueryOptions as i, notificationQueryOptions as n, notificationSettingsQueryOptions as r, notificationKeys as t };
@@ -0,0 +1,72 @@
1
+ import { a as getRequestHeaders, t as createServerFn } from "../server.js";
2
+ import { _ as optionalNumber, n as agentUser, r as booleanField, t as agentOperation, u as field } from "./agents-CZq-0mna.js";
3
+ import { s as isAgentError } from "./errors-DaZqUftX.js";
4
+ import { t as createServerRpc } from "./createServerRpc-DNqhdU4z.js";
5
+ import { notFound } from "@tanstack/react-router";
6
+ //#region src/web/notifications.ts?tss-serverfn-split
7
+ var listNotifications_createServerFn_handler = createServerRpc({
8
+ id: "12f05d318fcc06074993979e3d48843ce2790f83b44b2d79027e47f3d8e5b98d",
9
+ name: "listNotifications",
10
+ filename: "src/web/notifications.ts"
11
+ }, (opts) => listNotifications.__executeServer(opts));
12
+ var listNotifications = createServerFn({ method: "GET" }).validator((data) => ({
13
+ agentId: field(data, "agentId"),
14
+ page: optionalNumber(data, "page") ?? 1
15
+ })).handler(listNotifications_createServerFn_handler, async ({ context, data }) => {
16
+ const user = await agentUser(context.runtime, getRequestHeaders());
17
+ return agentOperation(async () => {
18
+ await context.runtime.agents.owned(user.id, data.agentId, true);
19
+ return context.runtime.notifications.list(data.agentId, data.page);
20
+ });
21
+ });
22
+ var getNotification_createServerFn_handler = createServerRpc({
23
+ id: "b0c6667f109f44fb02262a52d2b6b184703a620298f14f0e4da0d1a750349495",
24
+ name: "getNotification",
25
+ filename: "src/web/notifications.ts"
26
+ }, (opts) => getNotification.__executeServer(opts));
27
+ var getNotification = createServerFn({ method: "GET" }).validator((data) => ({
28
+ agentId: field(data, "agentId"),
29
+ id: field(data, "id")
30
+ })).handler(getNotification_createServerFn_handler, async ({ context, data }) => {
31
+ const user = await agentUser(context.runtime, getRequestHeaders());
32
+ return agentOperation(async () => {
33
+ await context.runtime.agents.owned(user.id, data.agentId, true);
34
+ try {
35
+ return await context.runtime.notifications.get(data.agentId, data.id);
36
+ } catch (error) {
37
+ if (isAgentError(error) && error.status === 404) throw notFound();
38
+ throw error;
39
+ }
40
+ });
41
+ });
42
+ var getNotificationSettings_createServerFn_handler = createServerRpc({
43
+ id: "0fd9b8aa4bfcdf8803a3a3af558bbbc0e0f009e53830f9958509b691e444588a",
44
+ name: "getNotificationSettings",
45
+ filename: "src/web/notifications.ts"
46
+ }, (opts) => getNotificationSettings.__executeServer(opts));
47
+ var getNotificationSettings = createServerFn({ method: "GET" }).validator((data) => ({ agentId: field(data, "agentId") })).handler(getNotificationSettings_createServerFn_handler, async ({ context, data }) => {
48
+ const user = await agentUser(context.runtime, getRequestHeaders());
49
+ return agentOperation(async () => {
50
+ await context.runtime.agents.owned(user.id, data.agentId, true);
51
+ return context.runtime.notifications.getSettings(data.agentId);
52
+ });
53
+ });
54
+ var saveNotificationSettings_createServerFn_handler = createServerRpc({
55
+ id: "24c37868847f15bf8e55b1197ee885a7f051dd48adf37c675a88705962cca27a",
56
+ name: "saveNotificationSettings",
57
+ filename: "src/web/notifications.ts"
58
+ }, (opts) => saveNotificationSettings.__executeServer(opts));
59
+ var saveNotificationSettings = createServerFn({ method: "POST" }).validator((data) => ({
60
+ agentId: field(data, "agentId"),
61
+ enabled: booleanField(data, "enabled"),
62
+ submissions: booleanField(data, "submissions"),
63
+ fills: booleanField(data, "fills")
64
+ })).handler(saveNotificationSettings_createServerFn_handler, async ({ context, data }) => {
65
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
66
+ return agentOperation(async () => {
67
+ await context.runtime.agents.owned(user.id, data.agentId);
68
+ return context.runtime.notifications.saveSettings(data.agentId, data);
69
+ });
70
+ });
71
+ //#endregion
72
+ export { getNotificationSettings_createServerFn_handler, getNotification_createServerFn_handler, listNotifications_createServerFn_handler, saveNotificationSettings_createServerFn_handler };
@@ -0,0 +1,32 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ //#region src/providers/provider-logo-url.ts
3
+ /** Provider ids are URL path segments into /model-catalog/logos and upstream models.dev. */
4
+ function isProviderSlug(provider) {
5
+ return provider.length <= 64 && /^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(provider);
6
+ }
7
+ /** Provider ids that don't match their models.dev logo slug get remapped here. */
8
+ var logoSlugAliases = {
9
+ "openai-codex": "openai",
10
+ "ollama-cloud": "ollama"
11
+ };
12
+ function providerLogoSlug(provider) {
13
+ return isProviderSlug(provider) ? logoSlugAliases[provider] ?? provider : null;
14
+ }
15
+ function providerLogoUrl(provider) {
16
+ const slug = providerLogoSlug(provider);
17
+ return slug ? `/model-catalog/logos/${encodeURIComponent(slug)}.svg` : null;
18
+ }
19
+ //#endregion
20
+ //#region src/components/provider-logo.tsx
21
+ function ProviderLogo({ provider, className }) {
22
+ const url = providerLogoUrl(provider);
23
+ if (!url) return null;
24
+ return /* @__PURE__ */ jsx("img", {
25
+ src: url,
26
+ alt: `${provider} logo`,
27
+ loading: "lazy",
28
+ className
29
+ });
30
+ }
31
+ //#endregion
32
+ export { ProviderLogo as t };
@@ -0,0 +1,78 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { C as createSsrRpc, u as field } from "./agents-CZq-0mna.js";
3
+ import { mutationOptions, queryOptions } from "@tanstack/react-query";
4
+ //#region src/web/providers.ts
5
+ var getProviderSettings = createServerFn({ method: "GET" }).handler(createSsrRpc("6848ccccf8a0a5e58f83f52eba668899a889f1a796e0d7aec708bb0a161f88b3"));
6
+ var getModelChoices = createServerFn({ method: "GET" }).handler(createSsrRpc("aef74e3a5c119b7cff87b22a996aecff26f72ff64a8bf0518f2f7dda551d941c"));
7
+ var getLoginDestination = createServerFn({ method: "GET" }).handler(createSsrRpc("faa65776448dd34180fbeb85ba9bafcece6703b3a3cd33365c64e702e652bf55"));
8
+ var beginProviderLogin = createServerFn({ method: "POST" }).validator((data) => ({
9
+ providerId: field(data, "providerId"),
10
+ type: field(data, "type")
11
+ })).handler(createSsrRpc("36599f921fa90440f1e7786cea474e14d70c8c1d298fc7ae6c19f1111b251008"));
12
+ var answerProviderLogin = createServerFn({ method: "POST" }).validator((data) => ({
13
+ id: field(data, "id"),
14
+ promptId: field(data, "promptId"),
15
+ value: field(data, "value")
16
+ })).handler(createSsrRpc("c9a193be6034dbc49f5ed053a1c78e799f9f3481085680682f81e56343edf42a"));
17
+ var cancelProviderLogin = createServerFn({ method: "POST" }).validator((data) => ({ id: field(data, "id") })).handler(createSsrRpc("1e3f7f40165985478f9ed593be706dc4b12dbaee4c630f050f91af9debd15bdf"));
18
+ var disconnectProvider = createServerFn({ method: "POST" }).validator((data) => ({ providerId: field(data, "providerId") })).handler(createSsrRpc("13303b2c25dae5298847c1f7b79e2cfc35ef61f0526074bc4a147077b933861d"));
19
+ var refreshProviderModels = createServerFn({ method: "POST" }).handler(createSsrRpc("b6821b5fc3b8873bd44dc939fc13edf7f1e6e89de431143692273d57eed0897f"));
20
+ //#endregion
21
+ //#region src/web/setup.ts
22
+ var getSetupState = createServerFn({ method: "GET" }).handler(createSsrRpc("14543234208f6b9a5b48e3fb8497199f1896e387c68af5028c0d1ab678ec3b88"));
23
+ //#endregion
24
+ //#region src/web/provider-queries.ts
25
+ var loginDestinationQueryOptions = () => queryOptions({
26
+ queryKey: ["login-destination"],
27
+ queryFn: () => getLoginDestination(),
28
+ staleTime: 0,
29
+ gcTime: 0
30
+ });
31
+ var providerSettingsQueryOptions = () => queryOptions({
32
+ queryKey: ["providers", "settings"],
33
+ queryFn: () => getProviderSettings()
34
+ });
35
+ var modelChoicesQueryOptions = () => queryOptions({
36
+ queryKey: ["providers", "models"],
37
+ queryFn: () => getModelChoices()
38
+ });
39
+ var setupQueryOptions = () => queryOptions({
40
+ queryKey: ["setup"],
41
+ queryFn: () => getSetupState()
42
+ });
43
+ async function invalidateProviderQueries(client) {
44
+ await Promise.all([client.invalidateQueries({ queryKey: ["providers"] }), client.invalidateQueries({ queryKey: setupQueryOptions().queryKey })]);
45
+ }
46
+ /** One mutation owns this page's pending/error state; login progress still uses SSE. */
47
+ var providerMutationOptions = (client) => mutationOptions({
48
+ mutationFn: async (operation) => {
49
+ switch (operation.type) {
50
+ case "begin": return beginProviderLogin({ data: {
51
+ providerId: operation.providerId,
52
+ type: operation.authType
53
+ } });
54
+ case "answer":
55
+ await answerProviderLogin({ data: {
56
+ id: operation.id,
57
+ promptId: operation.promptId,
58
+ value: operation.value
59
+ } });
60
+ return;
61
+ case "cancel":
62
+ await cancelProviderLogin({ data: { id: operation.id } });
63
+ return;
64
+ case "disconnect":
65
+ await disconnectProvider({ data: { providerId: operation.providerId } });
66
+ return;
67
+ case "refresh":
68
+ await refreshProviderModels();
69
+ return;
70
+ }
71
+ },
72
+ onSettled: async (login, _error, operation) => {
73
+ if (operation.type === "answer" || operation.type === "begin" && login?.state === "pending") return;
74
+ await invalidateProviderQueries(client);
75
+ }
76
+ });
77
+ //#endregion
78
+ export { providerSettingsQueryOptions as a, providerMutationOptions as i, loginDestinationQueryOptions as n, setupQueryOptions as o, modelChoicesQueryOptions as r, getLoginDestination as s, invalidateProviderQueries as t };
@@ -0,0 +1,89 @@
1
+ import { a as getRequestHeaders, t as createServerFn } from "../server.js";
2
+ import { n as agentUser, t as agentOperation, u as field } from "./agents-CZq-0mna.js";
3
+ import { o as AgentError } from "./errors-DaZqUftX.js";
4
+ import { t as createServerRpc } from "./createServerRpc-DNqhdU4z.js";
5
+ //#region src/web/providers.ts?tss-serverfn-split
6
+ var getProviderSettings_createServerFn_handler = createServerRpc({
7
+ id: "6848ccccf8a0a5e58f83f52eba668899a889f1a796e0d7aec708bb0a161f88b3",
8
+ name: "getProviderSettings",
9
+ filename: "src/web/providers.ts"
10
+ }, (opts) => getProviderSettings.__executeServer(opts));
11
+ var getProviderSettings = createServerFn({ method: "GET" }).handler(getProviderSettings_createServerFn_handler, async ({ context }) => {
12
+ const user = await agentUser(context.runtime, getRequestHeaders());
13
+ return agentOperation(() => context.runtime.providers.settings(user.id));
14
+ });
15
+ var getModelChoices_createServerFn_handler = createServerRpc({
16
+ id: "aef74e3a5c119b7cff87b22a996aecff26f72ff64a8bf0518f2f7dda551d941c",
17
+ name: "getModelChoices",
18
+ filename: "src/web/providers.ts"
19
+ }, (opts) => getModelChoices.__executeServer(opts));
20
+ var getModelChoices = createServerFn({ method: "GET" }).handler(getModelChoices_createServerFn_handler, async ({ context }) => {
21
+ const user = await agentUser(context.runtime, getRequestHeaders());
22
+ return agentOperation(() => context.runtime.providers.choices(user.id));
23
+ });
24
+ var getLoginDestination_createServerFn_handler = createServerRpc({
25
+ id: "faa65776448dd34180fbeb85ba9bafcece6703b3a3cd33365c64e702e652bf55",
26
+ name: "getLoginDestination",
27
+ filename: "src/web/providers.ts"
28
+ }, (opts) => getLoginDestination.__executeServer(opts));
29
+ var getLoginDestination = createServerFn({ method: "GET" }).handler(getLoginDestination_createServerFn_handler, async ({ context }) => {
30
+ const user = await agentUser(context.runtime, getRequestHeaders());
31
+ return agentOperation(async () => (await context.runtime.providers.choices(user.id)).length ? "/agents" : "/providers");
32
+ });
33
+ var beginProviderLogin_createServerFn_handler = createServerRpc({
34
+ id: "36599f921fa90440f1e7786cea474e14d70c8c1d298fc7ae6c19f1111b251008",
35
+ name: "beginProviderLogin",
36
+ filename: "src/web/providers.ts"
37
+ }, (opts) => beginProviderLogin.__executeServer(opts));
38
+ var beginProviderLogin = createServerFn({ method: "POST" }).validator((data) => ({
39
+ providerId: field(data, "providerId"),
40
+ type: field(data, "type")
41
+ })).handler(beginProviderLogin_createServerFn_handler, async ({ context, data }) => {
42
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
43
+ return agentOperation(() => {
44
+ if (data.type !== "api_key" && data.type !== "oauth") throw new AgentError("Invalid authentication method.");
45
+ return context.runtime.providers.begin(user.id, data.providerId, data.type);
46
+ });
47
+ });
48
+ var answerProviderLogin_createServerFn_handler = createServerRpc({
49
+ id: "c9a193be6034dbc49f5ed053a1c78e799f9f3481085680682f81e56343edf42a",
50
+ name: "answerProviderLogin",
51
+ filename: "src/web/providers.ts"
52
+ }, (opts) => answerProviderLogin.__executeServer(opts));
53
+ var answerProviderLogin = createServerFn({ method: "POST" }).validator((data) => ({
54
+ id: field(data, "id"),
55
+ promptId: field(data, "promptId"),
56
+ value: field(data, "value")
57
+ })).handler(answerProviderLogin_createServerFn_handler, async ({ context, data }) => {
58
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
59
+ return agentOperation(async () => context.runtime.providers.answer(user.id, data.id, data.promptId, data.value));
60
+ });
61
+ var cancelProviderLogin_createServerFn_handler = createServerRpc({
62
+ id: "1e3f7f40165985478f9ed593be706dc4b12dbaee4c630f050f91af9debd15bdf",
63
+ name: "cancelProviderLogin",
64
+ filename: "src/web/providers.ts"
65
+ }, (opts) => cancelProviderLogin.__executeServer(opts));
66
+ var cancelProviderLogin = createServerFn({ method: "POST" }).validator((data) => ({ id: field(data, "id") })).handler(cancelProviderLogin_createServerFn_handler, async ({ context, data }) => {
67
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
68
+ return agentOperation(() => context.runtime.providers.cancel(user.id, data.id));
69
+ });
70
+ var disconnectProvider_createServerFn_handler = createServerRpc({
71
+ id: "13303b2c25dae5298847c1f7b79e2cfc35ef61f0526074bc4a147077b933861d",
72
+ name: "disconnectProvider",
73
+ filename: "src/web/providers.ts"
74
+ }, (opts) => disconnectProvider.__executeServer(opts));
75
+ var disconnectProvider = createServerFn({ method: "POST" }).validator((data) => ({ providerId: field(data, "providerId") })).handler(disconnectProvider_createServerFn_handler, async ({ context, data }) => {
76
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
77
+ return agentOperation(() => context.runtime.providers.disconnect(user.id, data.providerId));
78
+ });
79
+ var refreshProviderModels_createServerFn_handler = createServerRpc({
80
+ id: "b6821b5fc3b8873bd44dc939fc13edf7f1e6e89de431143692273d57eed0897f",
81
+ name: "refreshProviderModels",
82
+ filename: "src/web/providers.ts"
83
+ }, (opts) => refreshProviderModels.__executeServer(opts));
84
+ var refreshProviderModels = createServerFn({ method: "POST" }).handler(refreshProviderModels_createServerFn_handler, async ({ context }) => {
85
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
86
+ return agentOperation(() => context.runtime.providers.refresh(user.id));
87
+ });
88
+ //#endregion
89
+ export { answerProviderLogin_createServerFn_handler, beginProviderLogin_createServerFn_handler, cancelProviderLogin_createServerFn_handler, disconnectProvider_createServerFn_handler, getLoginDestination_createServerFn_handler, getModelChoices_createServerFn_handler, getProviderSettings_createServerFn_handler, refreshProviderModels_createServerFn_handler };
@@ -0,0 +1,34 @@
1
+ import { a as getRequestHeaders, t as createServerFn } from "../server.js";
2
+ import { n as agentUser, t as agentOperation, u as field } from "./agents-CZq-0mna.js";
3
+ import { t as createServerRpc } from "./createServerRpc-DNqhdU4z.js";
4
+ //#region src/web/risk.ts?tss-serverfn-split
5
+ /** Risk management settings are the only host-enforced trading rules. */
6
+ var getRiskSettings_createServerFn_handler = createServerRpc({
7
+ id: "44d386d81a8cbec64fee270844f6a6480eb26aa1b641914c804107180aebbebb",
8
+ name: "getRiskSettings",
9
+ filename: "src/web/risk.ts"
10
+ }, (opts) => getRiskSettings.__executeServer(opts));
11
+ var getRiskSettings = createServerFn({ method: "GET" }).validator((data) => ({ agentId: field(data, "agentId") })).handler(getRiskSettings_createServerFn_handler, async ({ context, data }) => {
12
+ const user = await agentUser(context.runtime, getRequestHeaders());
13
+ return agentOperation(async () => {
14
+ await context.runtime.agents.owned(user.id, data.agentId, true);
15
+ return context.runtime.agents.risk.get(data.agentId);
16
+ });
17
+ });
18
+ var saveRiskSettings_createServerFn_handler = createServerRpc({
19
+ id: "b4538a3793f16de5563d4f35d256fa1963184ab1856ec5f5d1b6e78d92a21ddd",
20
+ name: "saveRiskSettings",
21
+ filename: "src/web/risk.ts"
22
+ }, (opts) => saveRiskSettings.__executeServer(opts));
23
+ var saveRiskSettings = createServerFn({ method: "POST" }).validator((data) => ({
24
+ agentId: field(data, "agentId"),
25
+ settings: data && typeof data === "object" ? Reflect.get(data, "settings") : void 0
26
+ })).handler(saveRiskSettings_createServerFn_handler, async ({ context, data }) => {
27
+ const user = await agentUser(context.runtime, getRequestHeaders(), true);
28
+ return agentOperation(async () => {
29
+ await context.runtime.agents.owned(user.id, data.agentId);
30
+ return context.runtime.agents.risk.save(data.agentId, data.settings);
31
+ });
32
+ });
33
+ //#endregion
34
+ export { getRiskSettings_createServerFn_handler, saveRiskSettings_createServerFn_handler };
@@ -0,0 +1,18 @@
1
+ import { t as createServerFn } from "../server.js";
2
+ import { C as createSsrRpc, u as field } from "./agents-CZq-0mna.js";
3
+ import { queryOptions } from "@tanstack/react-query";
4
+ //#region src/web/risk.ts
5
+ /** Risk management settings are the only host-enforced trading rules. */
6
+ var getRiskSettings = createServerFn({ method: "GET" }).validator((data) => ({ agentId: field(data, "agentId") })).handler(createSsrRpc("44d386d81a8cbec64fee270844f6a6480eb26aa1b641914c804107180aebbebb"));
7
+ var saveRiskSettings = createServerFn({ method: "POST" }).validator((data) => ({
8
+ agentId: field(data, "agentId"),
9
+ settings: data && typeof data === "object" ? Reflect.get(data, "settings") : void 0
10
+ })).handler(createSsrRpc("b4538a3793f16de5563d4f35d256fa1963184ab1856ec5f5d1b6e78d92a21ddd"));
11
+ //#endregion
12
+ //#region src/web/risk-queries.ts
13
+ var riskQueryOptions = (agentId) => queryOptions({
14
+ queryKey: ["risk", agentId],
15
+ queryFn: () => getRiskSettings({ data: { agentId } })
16
+ });
17
+ //#endregion
18
+ export { saveRiskSettings as n, riskQueryOptions as t };