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,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 };
|