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