@continuumdao/continuum-node-sdk 1.3.41 → 1.3.43
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/dist/agent-host-catalog.json +900 -132
- package/dist/browser.d.ts +11 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +9 -0
- package/dist/browser.js.map +1 -0
- package/dist/config/mpa-wallet.d.ts +346 -29
- package/dist/config/mpa-wallet.d.ts.map +1 -1
- package/dist/config/mpa-wallet.js +201 -19
- package/dist/config/mpa-wallet.js.map +1 -1
- package/dist/core/agent/agent-chart-data-access.d.ts +1 -1
- package/dist/core/agent/agent-chart-data-access.d.ts.map +1 -1
- package/dist/core/agent/agent-chart-data-access.js +24 -1
- package/dist/core/agent/agent-chart-data-access.js.map +1 -1
- package/dist/core/agent/cron-jobs.d.ts.map +1 -1
- package/dist/core/agent/cron-jobs.js +9 -0
- package/dist/core/agent/cron-jobs.js.map +1 -1
- package/dist/core/agent/discord-guilds-config.d.ts +39 -0
- package/dist/core/agent/discord-guilds-config.d.ts.map +1 -0
- package/dist/core/agent/discord-guilds-config.js +213 -0
- package/dist/core/agent/discord-guilds-config.js.map +1 -0
- package/dist/core/agent/discord-rest-client.d.ts +75 -0
- package/dist/core/agent/discord-rest-client.d.ts.map +1 -0
- package/dist/core/agent/discord-rest-client.js +183 -0
- package/dist/core/agent/discord-rest-client.js.map +1 -0
- package/dist/core/agent/discord-search.d.ts +16 -0
- package/dist/core/agent/discord-search.d.ts.map +1 -0
- package/dist/core/agent/discord-search.js +292 -0
- package/dist/core/agent/discord-search.js.map +1 -0
- package/dist/core/agent/mcp-servers.d.ts +4 -4
- package/dist/core/agent/mcp-servers.d.ts.map +1 -1
- package/dist/core/agent/mcp-servers.js +55 -12
- package/dist/core/agent/mcp-servers.js.map +1 -1
- package/dist/core/agent/reddit-search.d.ts +13 -0
- package/dist/core/agent/reddit-search.d.ts.map +1 -0
- package/dist/core/agent/reddit-search.js +244 -0
- package/dist/core/agent/reddit-search.js.map +1 -0
- package/dist/core/agent/skills.d.ts +7 -1
- package/dist/core/agent/skills.d.ts.map +1 -1
- package/dist/core/agent/skills.js +69 -2
- package/dist/core/agent/skills.js.map +1 -1
- package/dist/core/agent/social-search-config.d.ts +76 -0
- package/dist/core/agent/social-search-config.d.ts.map +1 -0
- package/dist/core/agent/social-search-config.js +501 -0
- package/dist/core/agent/social-search-config.js.map +1 -0
- package/dist/core/agent/telegram-channels-config.d.ts +24 -0
- package/dist/core/agent/telegram-channels-config.d.ts.map +1 -0
- package/dist/core/agent/telegram-channels-config.js +146 -0
- package/dist/core/agent/telegram-channels-config.js.map +1 -0
- package/dist/core/agent/telegram-search-auth.d.ts +21 -0
- package/dist/core/agent/telegram-search-auth.d.ts.map +1 -0
- package/dist/core/agent/telegram-search-auth.js +85 -0
- package/dist/core/agent/telegram-search-auth.js.map +1 -0
- package/dist/core/agent/telegram-search.d.ts +12 -0
- package/dist/core/agent/telegram-search.d.ts.map +1 -0
- package/dist/core/agent/telegram-search.js +173 -0
- package/dist/core/agent/telegram-search.js.map +1 -0
- package/dist/core/agent/telegram.d.ts +15 -0
- package/dist/core/agent/telegram.d.ts.map +1 -0
- package/dist/core/agent/telegram.js +72 -0
- package/dist/core/agent/telegram.js.map +1 -0
- package/dist/core/agent/ticker-extract.d.ts +15 -0
- package/dist/core/agent/ticker-extract.d.ts.map +1 -0
- package/dist/core/agent/ticker-extract.js +124 -0
- package/dist/core/agent/ticker-extract.js.map +1 -0
- package/dist/core/agent/user-folder-path.d.ts +19 -0
- package/dist/core/agent/user-folder-path.d.ts.map +1 -0
- package/dist/core/agent/user-folder-path.js +59 -0
- package/dist/core/agent/user-folder-path.js.map +1 -0
- package/dist/core/agent/user-folder-schemas.d.ts +41 -0
- package/dist/core/agent/user-folder-schemas.d.ts.map +1 -0
- package/dist/core/agent/user-folder-schemas.js +67 -0
- package/dist/core/agent/user-folder-schemas.js.map +1 -0
- package/dist/core/agent/user-folder.d.ts.map +1 -1
- package/dist/core/agent/user-folder.js +18 -14
- package/dist/core/agent/user-folder.js.map +1 -1
- package/dist/core/business-latest/fetch.d.ts +9 -0
- package/dist/core/business-latest/fetch.d.ts.map +1 -0
- package/dist/core/business-latest/fetch.js +138 -0
- package/dist/core/business-latest/fetch.js.map +1 -0
- package/dist/core/business-latest/index.d.ts +5 -0
- package/dist/core/business-latest/index.d.ts.map +1 -0
- package/dist/core/business-latest/index.js +5 -0
- package/dist/core/business-latest/index.js.map +1 -0
- package/dist/core/business-latest/parse-rss.d.ts +10 -0
- package/dist/core/business-latest/parse-rss.d.ts.map +1 -0
- package/dist/core/business-latest/parse-rss.js +84 -0
- package/dist/core/business-latest/parse-rss.js.map +1 -0
- package/dist/core/business-latest/schemas.d.ts +115 -0
- package/dist/core/business-latest/schemas.d.ts.map +1 -0
- package/dist/core/business-latest/schemas.js +61 -0
- package/dist/core/business-latest/schemas.js.map +1 -0
- package/dist/core/business-latest/sources.d.ts +19 -0
- package/dist/core/business-latest/sources.d.ts.map +1 -0
- package/dist/core/business-latest/sources.js +65 -0
- package/dist/core/business-latest/sources.js.map +1 -0
- package/dist/core/chart/alpaca-bars-envelope.d.ts +13 -0
- package/dist/core/chart/alpaca-bars-envelope.d.ts.map +1 -0
- package/dist/core/chart/alpaca-bars-envelope.js +65 -0
- package/dist/core/chart/alpaca-bars-envelope.js.map +1 -0
- package/dist/core/chart/analysis/trade-setups/chart-data-purpose.d.ts.map +1 -1
- package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js +32 -0
- package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js.map +1 -1
- package/dist/core/chart/chart-data-validation.d.ts.map +1 -1
- package/dist/core/chart/chart-data-validation.js +32 -6
- package/dist/core/chart/chart-data-validation.js.map +1 -1
- package/dist/core/chart/fetch-metadata.d.ts +4 -1
- package/dist/core/chart/fetch-metadata.d.ts.map +1 -1
- package/dist/core/chart/fetch-metadata.js +88 -2
- package/dist/core/chart/fetch-metadata.js.map +1 -1
- package/dist/core/chart/fetch-result.d.ts.map +1 -1
- package/dist/core/chart/fetch-result.js +32 -1
- package/dist/core/chart/fetch-result.js.map +1 -1
- package/dist/core/chart/index.d.ts +2 -1
- package/dist/core/chart/index.d.ts.map +1 -1
- package/dist/core/chart/index.js +2 -1
- package/dist/core/chart/index.js.map +1 -1
- package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
- package/dist/core/chart/live/binding-extract.js +82 -1
- package/dist/core/chart/live/binding-extract.js.map +1 -1
- package/dist/core/chart/live/fetch-tick.d.ts +3 -0
- package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
- package/dist/core/chart/live/fetch-tick.js +146 -1
- package/dist/core/chart/live/fetch-tick.js.map +1 -1
- package/dist/core/chart/live/index.d.ts +2 -2
- package/dist/core/chart/live/index.d.ts.map +1 -1
- package/dist/core/chart/live/index.js +2 -2
- package/dist/core/chart/live/index.js.map +1 -1
- package/dist/core/chart/live/interval.d.ts.map +1 -1
- package/dist/core/chart/live/interval.js +9 -0
- package/dist/core/chart/live/interval.js.map +1 -1
- package/dist/core/chart/live/schemas.d.ts +2 -0
- package/dist/core/chart/live/schemas.d.ts.map +1 -1
- package/dist/core/chart/live/schemas.js +2 -0
- package/dist/core/chart/live/schemas.js.map +1 -1
- package/dist/core/chart/markdown-ohlcv-table.d.ts +11 -0
- package/dist/core/chart/markdown-ohlcv-table.d.ts.map +1 -0
- package/dist/core/chart/markdown-ohlcv-table.js +153 -0
- package/dist/core/chart/markdown-ohlcv-table.js.map +1 -0
- package/dist/core/chart/ohlcv-integrity.d.ts +7 -4
- package/dist/core/chart/ohlcv-integrity.d.ts.map +1 -1
- package/dist/core/chart/ohlcv-integrity.js +34 -10
- package/dist/core/chart/ohlcv-integrity.js.map +1 -1
- package/dist/core/chart/ohlcv-session-store.d.ts +2 -1
- package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
- package/dist/core/chart/ohlcv-session-store.js +36 -7
- package/dist/core/chart/ohlcv-session-store.js.map +1 -1
- package/dist/core/chart/ohlcv-sources.d.ts +157 -0
- package/dist/core/chart/ohlcv-sources.d.ts.map +1 -0
- package/dist/core/chart/ohlcv-sources.js +206 -0
- package/dist/core/chart/ohlcv-sources.js.map +1 -0
- package/dist/core/chart/point-normalize.d.ts.map +1 -1
- package/dist/core/chart/point-normalize.js +11 -0
- package/dist/core/chart/point-normalize.js.map +1 -1
- package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
- package/dist/core/chart/prepare-from-rows.js +3 -0
- package/dist/core/chart/prepare-from-rows.js.map +1 -1
- package/dist/core/coinmarketcap/mcp-server-choice.d.ts.map +1 -1
- package/dist/core/coinmarketcap/mcp-server-choice.js +5 -2
- package/dist/core/coinmarketcap/mcp-server-choice.js.map +1 -1
- package/dist/core/coinmarketcap/schemas.d.ts +17 -17
- package/dist/core/keygen-read.d.ts +8 -0
- package/dist/core/keygen-read.d.ts.map +1 -1
- package/dist/core/keygen-read.js +26 -0
- package/dist/core/keygen-read.js.map +1 -1
- package/dist/core/keygen.d.ts +1 -8
- package/dist/core/keygen.d.ts.map +1 -1
- package/dist/core/keygen.js +2 -27
- package/dist/core/keygen.js.map +1 -1
- package/dist/core/management-signer.d.ts +3 -1
- package/dist/core/management-signer.d.ts.map +1 -1
- package/dist/core/management-signer.js +4 -4
- package/dist/core/management-signer.js.map +1 -1
- package/dist/core/mpc/address-kind.d.ts +5 -0
- package/dist/core/mpc/address-kind.d.ts.map +1 -0
- package/dist/core/mpc/address-kind.js +38 -0
- package/dist/core/mpc/address-kind.js.map +1 -0
- package/dist/core/mpc/address-kind.test.d.ts +2 -0
- package/dist/core/mpc/address-kind.test.d.ts.map +1 -0
- package/dist/core/mpc/address-kind.test.js +21 -0
- package/dist/core/mpc/address-kind.test.js.map +1 -0
- package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/broadcast-sign-result.js +61 -55
- package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
- package/dist/core/mpc/compose-eip712-request.d.ts +6 -0
- package/dist/core/mpc/compose-eip712-request.d.ts.map +1 -0
- package/dist/core/mpc/compose-eip712-request.js +40 -0
- package/dist/core/mpc/compose-eip712-request.js.map +1 -0
- package/dist/core/mpc/context.js +1 -1
- package/dist/core/mpc/context.js.map +1 -1
- package/dist/core/mpc/eip712-sign-request.d.ts +17 -1
- package/dist/core/mpc/eip712-sign-request.d.ts.map +1 -1
- package/dist/core/mpc/eip712-sign-request.js +114 -23
- package/dist/core/mpc/eip712-sign-request.js.map +1 -1
- package/dist/core/mpc/forge-dry-run-build.js +1 -1
- package/dist/core/mpc/forge-dry-run-build.js.map +1 -1
- package/dist/core/mpc/gas-preflight-mpa.d.ts +8 -0
- package/dist/core/mpc/gas-preflight-mpa.d.ts.map +1 -0
- package/dist/core/mpc/gas-preflight-mpa.js +21 -0
- package/dist/core/mpc/gas-preflight-mpa.js.map +1 -0
- package/dist/core/mpc/gas-preflight.d.ts +0 -5
- package/dist/core/mpc/gas-preflight.d.ts.map +1 -1
- package/dist/core/mpc/gas-preflight.js +0 -19
- package/dist/core/mpc/gas-preflight.js.map +1 -1
- package/dist/core/mpc/mpa-authority-vectm-browser.d.ts +48 -0
- package/dist/core/mpc/mpa-authority-vectm-browser.d.ts.map +1 -0
- package/dist/core/mpc/mpa-authority-vectm-browser.js +210 -0
- package/dist/core/mpc/mpa-authority-vectm-browser.js.map +1 -0
- package/dist/core/mpc/mpa-authority-vectm-read.d.ts +3314 -0
- package/dist/core/mpc/mpa-authority-vectm-read.d.ts.map +1 -0
- package/dist/core/mpc/mpa-authority-vectm-read.js +221 -0
- package/dist/core/mpc/mpa-authority-vectm-read.js.map +1 -0
- package/dist/core/mpc/mpa-authority-vectm.d.ts +63 -0
- package/dist/core/mpc/mpa-authority-vectm.d.ts.map +1 -0
- package/dist/core/mpc/mpa-authority-vectm.js +331 -0
- package/dist/core/mpc/mpa-authority-vectm.js.map +1 -0
- package/dist/core/mpc/mpa-billing-actions.d.ts +13 -35
- package/dist/core/mpc/mpa-billing-actions.d.ts.map +1 -1
- package/dist/core/mpc/mpa-billing-actions.js +154 -207
- package/dist/core/mpc/mpa-billing-actions.js.map +1 -1
- package/dist/core/mpc/mpa-billing-helpers.d.ts +16 -1
- package/dist/core/mpc/mpa-billing-helpers.d.ts.map +1 -1
- package/dist/core/mpc/mpa-billing-helpers.js +33 -9
- package/dist/core/mpc/mpa-billing-helpers.js.map +1 -1
- package/dist/core/mpc/mpa-billing-ops.d.ts +0 -11
- package/dist/core/mpc/mpa-billing-ops.d.ts.map +1 -1
- package/dist/core/mpc/mpa-billing-ops.js +41 -207
- package/dist/core/mpc/mpa-billing-ops.js.map +1 -1
- package/dist/core/mpc/mpa-fee-status.d.ts +7 -42
- package/dist/core/mpc/mpa-fee-status.d.ts.map +1 -1
- package/dist/core/mpc/mpa-fee-status.js +174 -229
- package/dist/core/mpc/mpa-fee-status.js.map +1 -1
- package/dist/core/mpc/mpa-payment-tokens.d.ts +38 -0
- package/dist/core/mpc/mpa-payment-tokens.d.ts.map +1 -0
- package/dist/core/mpc/mpa-payment-tokens.js +135 -0
- package/dist/core/mpc/mpa-payment-tokens.js.map +1 -0
- package/dist/core/mpc/mpa-top-up.d.ts.map +1 -1
- package/dist/core/mpc/mpa-top-up.js +16 -125
- package/dist/core/mpc/mpa-top-up.js.map +1 -1
- package/dist/core/mpc/register-keygen.d.ts.map +1 -1
- package/dist/core/mpc/register-keygen.js +133 -14
- package/dist/core/mpc/register-keygen.js.map +1 -1
- package/dist/core/mpc/schemas.d.ts +118 -0
- package/dist/core/mpc/schemas.d.ts.map +1 -1
- package/dist/core/mpc/schemas.js +106 -2
- package/dist/core/mpc/schemas.js.map +1 -1
- package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
- package/dist/core/mpc/trigger-sign-result.js +12 -7
- package/dist/core/mpc/trigger-sign-result.js.map +1 -1
- package/dist/core/node-config.d.ts +31 -0
- package/dist/core/node-config.d.ts.map +1 -0
- package/dist/core/node-config.js +238 -0
- package/dist/core/node-config.js.map +1 -0
- package/dist/core/node-database/binary.d.ts +12 -0
- package/dist/core/node-database/binary.d.ts.map +1 -0
- package/dist/core/node-database/binary.js +32 -0
- package/dist/core/node-database/binary.js.map +1 -0
- package/dist/core/node-database/database-backup.d.ts +13 -0
- package/dist/core/node-database/database-backup.d.ts.map +1 -0
- package/dist/core/node-database/database-backup.js +236 -0
- package/dist/core/node-database/database-backup.js.map +1 -0
- package/dist/core/node-database/maintenance-quiescence.d.ts +17 -0
- package/dist/core/node-database/maintenance-quiescence.d.ts.map +1 -0
- package/dist/core/node-database/maintenance-quiescence.js +42 -0
- package/dist/core/node-database/maintenance-quiescence.js.map +1 -0
- package/dist/core/node-database/management-key-files.d.ts +11 -0
- package/dist/core/node-database/management-key-files.d.ts.map +1 -0
- package/dist/core/node-database/management-key-files.js +166 -0
- package/dist/core/node-database/management-key-files.js.map +1 -0
- package/dist/core/node-database/schemas.d.ts +187 -0
- package/dist/core/node-database/schemas.d.ts.map +1 -0
- package/dist/core/node-database/schemas.js +212 -0
- package/dist/core/node-database/schemas.js.map +1 -0
- package/dist/core/node-database/signed-post.d.ts +21 -0
- package/dist/core/node-database/signed-post.d.ts.map +1 -0
- package/dist/core/node-database/signed-post.js +138 -0
- package/dist/core/node-database/signed-post.js.map +1 -0
- package/dist/core/node-database/transport.d.ts +5 -0
- package/dist/core/node-database/transport.d.ts.map +1 -0
- package/dist/core/node-database/transport.js +20 -0
- package/dist/core/node-database/transport.js.map +1 -0
- package/dist/core/registry/networks-read.d.ts +14 -0
- package/dist/core/registry/networks-read.d.ts.map +1 -0
- package/dist/core/registry/networks-read.js +117 -0
- package/dist/core/registry/networks-read.js.map +1 -0
- package/dist/core/registry/networks.d.ts +2 -8
- package/dist/core/registry/networks.d.ts.map +1 -1
- package/dist/core/registry/networks.js +3 -113
- package/dist/core/registry/networks.js.map +1 -1
- package/dist/core/rss/parse-rss.d.ts +10 -0
- package/dist/core/rss/parse-rss.d.ts.map +1 -0
- package/dist/core/rss/parse-rss.js +84 -0
- package/dist/core/rss/parse-rss.js.map +1 -0
- package/dist/core/vpn/schemas.d.ts +8 -8
- package/dist/core/vpn/schemas.js +6 -6
- package/dist/core/vpn/schemas.js.map +1 -1
- package/dist/core/vpn/vpn-files.d.ts.map +1 -1
- package/dist/core/vpn/vpn-files.js +4 -3
- package/dist/core/vpn/vpn-files.js.map +1 -1
- package/dist/core/vpn/vpn-parse.d.ts +6 -9
- package/dist/core/vpn/vpn-parse.d.ts.map +1 -1
- package/dist/core/vpn/vpn-parse.js +8 -12
- package/dist/core/vpn/vpn-parse.js.map +1 -1
- package/dist/core/world-affairs/fetch.d.ts +9 -0
- package/dist/core/world-affairs/fetch.d.ts.map +1 -0
- package/dist/core/world-affairs/fetch.js +142 -0
- package/dist/core/world-affairs/fetch.js.map +1 -0
- package/dist/core/world-affairs/index.d.ts +4 -0
- package/dist/core/world-affairs/index.d.ts.map +1 -0
- package/dist/core/world-affairs/index.js +4 -0
- package/dist/core/world-affairs/index.js.map +1 -0
- package/dist/core/world-affairs/schemas.d.ts +136 -0
- package/dist/core/world-affairs/schemas.d.ts.map +1 -0
- package/dist/core/world-affairs/schemas.js +66 -0
- package/dist/core/world-affairs/schemas.js.map +1 -0
- package/dist/core/world-affairs/sources.d.ts +20 -0
- package/dist/core/world-affairs/sources.d.ts.map +1 -0
- package/dist/core/world-affairs/sources.js +81 -0
- package/dist/core/world-affairs/sources.js.map +1 -0
- package/dist/evm/encode-calldata.d.ts +2 -0
- package/dist/evm/encode-calldata.d.ts.map +1 -1
- package/dist/evm/encode-calldata.js +64 -3
- package/dist/evm/encode-calldata.js.map +1 -1
- package/dist/evm/forge-dry-run-paths.d.ts +2 -2
- package/dist/evm/forge-dry-run-paths.d.ts.map +1 -1
- package/dist/evm/forge-dry-run-paths.js +3 -1
- package/dist/evm/forge-dry-run-paths.js.map +1 -1
- package/dist/evm/join-multisign.d.ts.map +1 -1
- package/dist/evm/join-multisign.js +4 -0
- package/dist/evm/join-multisign.js.map +1 -1
- package/dist/evm/proposal-body.d.ts +19 -0
- package/dist/evm/proposal-body.d.ts.map +1 -0
- package/dist/evm/proposal-body.js +274 -0
- package/dist/evm/proposal-body.js.map +1 -0
- package/dist/evm/proposal-builder.d.ts +4 -9
- package/dist/evm/proposal-builder.d.ts.map +1 -1
- package/dist/evm/proposal-builder.js +9 -265
- package/dist/evm/proposal-builder.js.map +1 -1
- package/dist/index.d.ts +23 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -6
- package/dist/index.js.map +1 -1
- package/dist/mcp/agent-cron-jobs.js +2 -2
- package/dist/mcp/agent-cron-jobs.js.map +1 -1
- package/dist/mcp/agent-discord-search.d.ts +4 -0
- package/dist/mcp/agent-discord-search.d.ts.map +1 -0
- package/dist/mcp/agent-discord-search.js +16 -0
- package/dist/mcp/agent-discord-search.js.map +1 -0
- package/dist/mcp/agent-host-catalog.d.ts +14 -1
- package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
- package/dist/mcp/agent-host-catalog.js +25 -6
- package/dist/mcp/agent-host-catalog.js.map +1 -1
- package/dist/mcp/agent-input-coerce.d.ts.map +1 -1
- package/dist/mcp/agent-input-coerce.js +1 -0
- package/dist/mcp/agent-input-coerce.js.map +1 -1
- package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
- package/dist/mcp/agent-mcp-servers.js +5 -5
- package/dist/mcp/agent-mcp-servers.js.map +1 -1
- package/dist/mcp/agent-reddit-search.d.ts +4 -0
- package/dist/mcp/agent-reddit-search.d.ts.map +1 -0
- package/dist/mcp/agent-reddit-search.js +21 -0
- package/dist/mcp/agent-reddit-search.js.map +1 -0
- package/dist/mcp/agent-skills.d.ts.map +1 -1
- package/dist/mcp/agent-skills.js +9 -3
- package/dist/mcp/agent-skills.js.map +1 -1
- package/dist/mcp/agent-telegram-search.d.ts +4 -0
- package/dist/mcp/agent-telegram-search.d.ts.map +1 -0
- package/dist/mcp/agent-telegram-search.js +16 -0
- package/dist/mcp/agent-telegram-search.js.map +1 -0
- package/dist/mcp/agent-telegram.d.ts +4 -0
- package/dist/mcp/agent-telegram.d.ts.map +1 -0
- package/dist/mcp/agent-telegram.js +20 -0
- package/dist/mcp/agent-telegram.js.map +1 -0
- package/dist/mcp/business-latest/register.d.ts +5 -0
- package/dist/mcp/business-latest/register.d.ts.map +1 -0
- package/dist/mcp/business-latest/register.js +41 -0
- package/dist/mcp/business-latest/register.js.map +1 -0
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +3 -0
- package/dist/mcp/chart.js.map +1 -1
- package/dist/mcp/deferred/discovery-tools.d.ts +5 -0
- package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
- package/dist/mcp/deferred/discovery-tools.js +69 -25
- package/dist/mcp/deferred/discovery-tools.js.map +1 -1
- package/dist/mcp/deferred/optional-endpoint-groups.d.ts +2 -2
- package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -1
- package/dist/mcp/deferred/optional-endpoint-groups.js +13 -1
- package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -1
- package/dist/mcp/deferred/tool-group-map.d.ts +3 -2
- package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
- package/dist/mcp/deferred/tool-group-map.js +738 -42
- package/dist/mcp/deferred/tool-group-map.js.map +1 -1
- package/dist/mcp/defi/discovery.js +6 -6
- package/dist/mcp/defi/discovery.js.map +1 -1
- package/dist/mcp/docs/search-index.json +921 -83
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mpc-gas-docs.d.ts +2 -0
- package/dist/mcp/mpc-gas-docs.d.ts.map +1 -1
- package/dist/mcp/mpc-gas-docs.js +2 -0
- package/dist/mcp/mpc-gas-docs.js.map +1 -1
- package/dist/mcp/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +70 -33
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/node-config.d.ts +4 -0
- package/dist/mcp/node-config.d.ts.map +1 -0
- package/dist/mcp/node-config.js +34 -0
- package/dist/mcp/node-config.js.map +1 -0
- package/dist/mcp/node-database.d.ts +4 -0
- package/dist/mcp/node-database.d.ts.map +1 -0
- package/dist/mcp/node-database.js +74 -0
- package/dist/mcp/node-database.js.map +1 -0
- package/dist/mcp/ohlcv-sources.d.ts +5 -0
- package/dist/mcp/ohlcv-sources.d.ts.map +1 -0
- package/dist/mcp/ohlcv-sources.js +54 -0
- package/dist/mcp/ohlcv-sources.js.map +1 -0
- package/dist/mcp/register.d.ts +5 -0
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +26 -0
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/resources/agent-cron-jobs.md +3 -1
- package/dist/mcp/resources/agent-mcp-servers.md +99 -1
- package/dist/mcp/resources/agent-skills.md +10 -6
- package/dist/mcp/resources/agent-social-search.md +78 -0
- package/dist/mcp/resources/agent-telegram-search.md +24 -0
- package/dist/mcp/resources/agent-telegram.md +18 -0
- package/dist/mcp/resources/agent-webhooks.md +2 -0
- package/dist/mcp/resources/business-latest.md +26 -0
- package/dist/mcp/resources/chart-analysis.md +4 -0
- package/dist/mcp/resources/chart.md +16 -4
- package/dist/mcp/resources/discord-guilds.yaml +46 -0
- package/dist/mcp/resources/management-signer.md +2 -1
- package/dist/mcp/resources/mpc.md +37 -30
- package/dist/mcp/resources/node-config.md +142 -0
- package/dist/mcp/resources/node-database.md +64 -0
- package/dist/mcp/resources/overview.md +13 -0
- package/dist/mcp/resources/social-search.yaml +79 -0
- package/dist/mcp/resources/telegram-channels.yaml +47 -0
- package/dist/mcp/resources/user-folder.md +44 -0
- package/dist/mcp/resources/vpn.md +10 -8
- package/dist/mcp/resources/world-affairs.md +28 -0
- package/dist/mcp/server/http-transport.d.ts +3 -0
- package/dist/mcp/server/http-transport.d.ts.map +1 -1
- package/dist/mcp/server/http-transport.js +3 -2
- package/dist/mcp/server/http-transport.js.map +1 -1
- package/dist/mcp/server/index.js +8 -1
- package/dist/mcp/server/index.js.map +1 -1
- package/dist/mcp/server/telegram-search-internal.d.ts +3 -0
- package/dist/mcp/server/telegram-search-internal.d.ts.map +1 -0
- package/dist/mcp/server/telegram-search-internal.js +54 -0
- package/dist/mcp/server/telegram-search-internal.js.map +1 -0
- package/dist/mcp/user-folder.d.ts +4 -0
- package/dist/mcp/user-folder.d.ts.map +1 -0
- package/dist/mcp/user-folder.js +32 -0
- package/dist/mcp/user-folder.js.map +1 -0
- package/dist/mcp/vpn.js +7 -7
- package/dist/mcp/vpn.js.map +1 -1
- package/dist/mcp/world-affairs/register.d.ts +5 -0
- package/dist/mcp/world-affairs/register.d.ts.map +1 -0
- package/dist/mcp/world-affairs/register.js +41 -0
- package/dist/mcp/world-affairs/register.js.map +1 -0
- package/dist/schemas/extended.d.ts +600 -1
- package/dist/schemas/extended.d.ts.map +1 -1
- package/dist/schemas/extended.js +355 -1
- package/dist/schemas/extended.js.map +1 -1
- package/package.json +9 -3
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { promises as fs } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { tickerDetectionFromYaml } from './ticker-extract.js';
|
|
5
|
+
const DEFAULTS = {
|
|
6
|
+
maxResults: 50,
|
|
7
|
+
maxMessagesPerChannel: 500,
|
|
8
|
+
};
|
|
9
|
+
function packageRootFromModule(moduleUrl) {
|
|
10
|
+
return path.resolve(path.dirname(fileURLToPath(moduleUrl)), '../../..');
|
|
11
|
+
}
|
|
12
|
+
export function resolveTelegramChannelsYamlPath(moduleUrl) {
|
|
13
|
+
return path.join(packageRootFromModule(moduleUrl), 'dist', 'mcp', 'resources', 'telegram-channels.yaml');
|
|
14
|
+
}
|
|
15
|
+
/** Minimal YAML parser for telegram-channels.yaml (no external deps). */
|
|
16
|
+
export function parseTelegramChannelsYaml(text) {
|
|
17
|
+
const lines = text.split(/\r?\n/);
|
|
18
|
+
let section = '';
|
|
19
|
+
const defaults = {};
|
|
20
|
+
const tickers = [];
|
|
21
|
+
const exclude = [];
|
|
22
|
+
const channels = [];
|
|
23
|
+
const detection = { exclude };
|
|
24
|
+
let currentChannel = null;
|
|
25
|
+
const setDetection = (key, raw) => {
|
|
26
|
+
if (key === 'min_length' || key === 'max_length') {
|
|
27
|
+
detection[key] = Number(raw);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (key === 'include_bare_caps') {
|
|
31
|
+
detection[key] = raw === 'true';
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
for (const line of lines) {
|
|
35
|
+
const trimmed = line.trim();
|
|
36
|
+
if (!trimmed || trimmed.startsWith('#')) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (trimmed === 'defaults:') {
|
|
40
|
+
section = 'defaults';
|
|
41
|
+
currentChannel = null;
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (trimmed === 'tickers:') {
|
|
45
|
+
section = 'tickers';
|
|
46
|
+
currentChannel = null;
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (trimmed === 'ticker_detection:') {
|
|
50
|
+
section = 'ticker_detection';
|
|
51
|
+
currentChannel = null;
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (trimmed === 'channels:') {
|
|
55
|
+
section = 'channels';
|
|
56
|
+
currentChannel = null;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (trimmed === 'exclude:') {
|
|
60
|
+
section = 'exclude';
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const listMatch = trimmed.match(/^- (.+)$/);
|
|
64
|
+
if (listMatch) {
|
|
65
|
+
const value = listMatch[1].trim();
|
|
66
|
+
if (section === 'tickers') {
|
|
67
|
+
tickers.push(value);
|
|
68
|
+
}
|
|
69
|
+
else if (section === 'exclude') {
|
|
70
|
+
exclude.push(value);
|
|
71
|
+
}
|
|
72
|
+
else if (section === 'channels') {
|
|
73
|
+
if (value.startsWith('username:')) {
|
|
74
|
+
currentChannel = { username: value.slice('username:'.length).trim() };
|
|
75
|
+
channels.push(currentChannel);
|
|
76
|
+
}
|
|
77
|
+
else if (currentChannel && value.startsWith('category:')) {
|
|
78
|
+
currentChannel.category = value.slice('category:'.length).trim();
|
|
79
|
+
}
|
|
80
|
+
else if (currentChannel && value.startsWith('notes:')) {
|
|
81
|
+
currentChannel.notes = value.slice('notes:'.length).trim();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
const kv = trimmed.match(/^([a-z_]+):\s*(.*)$/);
|
|
87
|
+
if (!kv) {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const key = kv[1];
|
|
91
|
+
const value = kv[2].trim();
|
|
92
|
+
if (section === 'defaults') {
|
|
93
|
+
if (key === 'max_results') {
|
|
94
|
+
defaults.maxResults = Number(value);
|
|
95
|
+
}
|
|
96
|
+
else if (key === 'max_messages_per_channel') {
|
|
97
|
+
defaults.maxMessagesPerChannel = Number(value);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else if (section === 'ticker_detection') {
|
|
101
|
+
setDetection(key, value);
|
|
102
|
+
}
|
|
103
|
+
else if (section === 'channels' && key === 'username') {
|
|
104
|
+
currentChannel = { username: value };
|
|
105
|
+
channels.push(currentChannel);
|
|
106
|
+
}
|
|
107
|
+
else if (currentChannel && section === 'channels') {
|
|
108
|
+
if (key === 'category') {
|
|
109
|
+
currentChannel.category = value;
|
|
110
|
+
}
|
|
111
|
+
else if (key === 'notes') {
|
|
112
|
+
currentChannel.notes = value;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
detection.exclude = exclude;
|
|
117
|
+
return {
|
|
118
|
+
defaults: {
|
|
119
|
+
maxResults: defaults.maxResults ?? DEFAULTS.maxResults,
|
|
120
|
+
maxMessagesPerChannel: defaults.maxMessagesPerChannel ?? DEFAULTS.maxMessagesPerChannel,
|
|
121
|
+
},
|
|
122
|
+
tickers,
|
|
123
|
+
tickerDetection: tickerDetectionFromYaml(detection),
|
|
124
|
+
channels,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
let cachedConfig = null;
|
|
128
|
+
export async function loadTelegramChannelsConfig(moduleUrl) {
|
|
129
|
+
if (cachedConfig) {
|
|
130
|
+
return cachedConfig;
|
|
131
|
+
}
|
|
132
|
+
const filePath = resolveTelegramChannelsYamlPath(moduleUrl);
|
|
133
|
+
const text = await fs.readFile(filePath, 'utf8');
|
|
134
|
+
cachedConfig = parseTelegramChannelsYaml(text);
|
|
135
|
+
return cachedConfig;
|
|
136
|
+
}
|
|
137
|
+
export function channelUsernames(config) {
|
|
138
|
+
return config.channels
|
|
139
|
+
.map((c) => c.username.trim().replace(/^@/, ''))
|
|
140
|
+
.filter(Boolean);
|
|
141
|
+
}
|
|
142
|
+
/** Reset cached config (tests). */
|
|
143
|
+
export function resetTelegramChannelsConfigCache() {
|
|
144
|
+
cachedConfig = null;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=telegram-channels-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-channels-config.js","sourceRoot":"","sources":["../../../src/core/agent/telegram-channels-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SdkResult } from '../result.js';
|
|
2
|
+
export declare const TELEGRAM_SEARCH_DEFAULT_SESSION_PATH = "/app/user_folder/data/telegram/continuum_search";
|
|
3
|
+
export type TelegramAuthScriptResult = {
|
|
4
|
+
ok?: boolean;
|
|
5
|
+
already_authorized?: boolean;
|
|
6
|
+
phone_code_hash?: string;
|
|
7
|
+
needs_password?: boolean;
|
|
8
|
+
authorized?: boolean;
|
|
9
|
+
username?: string;
|
|
10
|
+
user_id?: number;
|
|
11
|
+
first_name?: string;
|
|
12
|
+
error?: string;
|
|
13
|
+
message?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function ensureTelegramSessionDir(sessionPath: string): SdkResult<string>;
|
|
16
|
+
export declare function runTelegramAuthScript(payload: Record<string, unknown>, credentials: {
|
|
17
|
+
apiId: string;
|
|
18
|
+
apiHash: string;
|
|
19
|
+
sessionPath: string;
|
|
20
|
+
}): Promise<SdkResult<TelegramAuthScriptResult>>;
|
|
21
|
+
//# sourceMappingURL=telegram-search-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-search-auth.d.ts","sourceRoot":"","sources":["../../../src/core/agent/telegram-search-auth.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,eAAO,MAAM,oCAAoC,oDACC,CAAC;AAgBnD,MAAM,MAAM,wBAAwB,GAAG;IACtC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAoDF,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAS/E;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,WAAW,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAChE,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAa9C"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { TELEGRAM_SEARCH_ENV } from './telegram-search.js';
|
|
6
|
+
export const TELEGRAM_SEARCH_DEFAULT_SESSION_PATH = '/app/user_folder/data/telegram/continuum_search';
|
|
7
|
+
const moduleUrl = import.meta.url;
|
|
8
|
+
function packageRoot() {
|
|
9
|
+
return path.resolve(path.dirname(fileURLToPath(moduleUrl)), '../../..');
|
|
10
|
+
}
|
|
11
|
+
function scriptDir() {
|
|
12
|
+
return path.join(packageRoot(), 'scripts', 'telegram-search');
|
|
13
|
+
}
|
|
14
|
+
function resolvePythonExecutable() {
|
|
15
|
+
return process.env[TELEGRAM_SEARCH_ENV.python]?.trim() || 'python3';
|
|
16
|
+
}
|
|
17
|
+
function runAuthScript(payload, env) {
|
|
18
|
+
return new Promise((resolve) => {
|
|
19
|
+
const scriptPath = path.join(scriptDir(), 'auth_telegram.py');
|
|
20
|
+
const python = resolvePythonExecutable();
|
|
21
|
+
const child = spawn(python, [scriptPath], {
|
|
22
|
+
env: { ...process.env, ...env },
|
|
23
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
24
|
+
});
|
|
25
|
+
let stdout = '';
|
|
26
|
+
let stderr = '';
|
|
27
|
+
child.stdout.setEncoding('utf8');
|
|
28
|
+
child.stderr.setEncoding('utf8');
|
|
29
|
+
child.stdout.on('data', (chunk) => {
|
|
30
|
+
stdout += chunk;
|
|
31
|
+
});
|
|
32
|
+
child.stderr.on('data', (chunk) => {
|
|
33
|
+
stderr += chunk;
|
|
34
|
+
});
|
|
35
|
+
child.on('error', (err) => {
|
|
36
|
+
resolve({
|
|
37
|
+
ok: false,
|
|
38
|
+
reason: `Failed to start ${python} for Telegram auth: ${err.message}`,
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
child.on('close', (code) => {
|
|
42
|
+
if (code !== 0) {
|
|
43
|
+
const detail = stderr.trim() || stdout.trim() || `exit ${code}`;
|
|
44
|
+
resolve({ ok: false, reason: `Telegram auth script failed: ${detail}` });
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const parsed = JSON.parse(stdout || '{}');
|
|
49
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
50
|
+
resolve({ ok: false, reason: 'Telegram auth returned invalid JSON.' });
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
resolve({ ok: true, data: parsed });
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
resolve({ ok: false, reason: 'Telegram auth returned invalid JSON.' });
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
child.stdin.write(JSON.stringify(payload));
|
|
60
|
+
child.stdin.end();
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
export function ensureTelegramSessionDir(sessionPath) {
|
|
64
|
+
const dir = path.dirname(sessionPath);
|
|
65
|
+
try {
|
|
66
|
+
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
67
|
+
return { ok: true, data: sessionPath };
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
71
|
+
return { ok: false, reason: `Failed to create session directory ${dir}: ${msg}` };
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export async function runTelegramAuthScript(payload, credentials) {
|
|
75
|
+
const dir = ensureTelegramSessionDir(credentials.sessionPath);
|
|
76
|
+
if (!dir.ok) {
|
|
77
|
+
return dir;
|
|
78
|
+
}
|
|
79
|
+
return runAuthScript({ ...payload, session_path: credentials.sessionPath }, {
|
|
80
|
+
TELEGRAM_API_ID: credentials.apiId,
|
|
81
|
+
TELEGRAM_API_HASH: credentials.apiHash,
|
|
82
|
+
TELEGRAM_SESSION_PATH: credentials.sessionPath,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=telegram-search-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-search-auth.js","sourceRoot":"","sources":["../../../src/core/agent/telegram-search-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { NodeSdkConfig } from '../../config/schema.js';
|
|
2
|
+
import type { SdkResult } from '../result.js';
|
|
3
|
+
import type { SearchTelegramMessagesInput, SearchTelegramMessagesResult, SearchTelegramTickersInput, SearchTelegramTickersResult } from '../../schemas/extended.js';
|
|
4
|
+
export declare const TELEGRAM_SEARCH_ENV: {
|
|
5
|
+
readonly apiId: "TELEGRAM_API_ID";
|
|
6
|
+
readonly apiHash: "TELEGRAM_API_HASH";
|
|
7
|
+
readonly sessionPath: "TELEGRAM_SESSION_PATH";
|
|
8
|
+
readonly python: "TELEGRAM_SEARCH_PYTHON";
|
|
9
|
+
};
|
|
10
|
+
export declare function searchTelegramMessages(config: NodeSdkConfig, input: SearchTelegramMessagesInput): Promise<SdkResult<SearchTelegramMessagesResult>>;
|
|
11
|
+
export declare function searchTelegramTickers(config: NodeSdkConfig, input: SearchTelegramTickersInput): Promise<SdkResult<SearchTelegramTickersResult>>;
|
|
12
|
+
//# sourceMappingURL=telegram-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-search.d.ts","sourceRoot":"","sources":["../../../src/core/agent/telegram-search.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAQ5C,OAAO,KAAK,EACX,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAsIX,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,2BAA2B,GAChC,OAAO,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,CA+BlD;AAED,wBAAsB,qBAAqB,CAC1C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,0BAA0B,GAC/B,OAAO,CAAC,SAAS,CAAC,2BAA2B,CAAC,CAAC,CAmCjD"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { getEnvironmentVariable } from './environment-variables.js';
|
|
5
|
+
import { channelUsernames, loadSocialSearchConfig, } from './social-search-config.js';
|
|
6
|
+
import { tickerDetectionForPython } from './ticker-extract.js';
|
|
7
|
+
export const TELEGRAM_SEARCH_ENV = {
|
|
8
|
+
apiId: 'TELEGRAM_API_ID',
|
|
9
|
+
apiHash: 'TELEGRAM_API_HASH',
|
|
10
|
+
sessionPath: 'TELEGRAM_SESSION_PATH',
|
|
11
|
+
python: 'TELEGRAM_SEARCH_PYTHON',
|
|
12
|
+
};
|
|
13
|
+
const moduleUrl = import.meta.url;
|
|
14
|
+
function packageRoot() {
|
|
15
|
+
return path.resolve(path.dirname(fileURLToPath(moduleUrl)), '../../..');
|
|
16
|
+
}
|
|
17
|
+
function scriptDir() {
|
|
18
|
+
return path.join(packageRoot(), 'scripts', 'telegram-search');
|
|
19
|
+
}
|
|
20
|
+
function resolvePythonExecutable() {
|
|
21
|
+
return process.env[TELEGRAM_SEARCH_ENV.python]?.trim() || 'python3';
|
|
22
|
+
}
|
|
23
|
+
async function readEnvCredential(config, name) {
|
|
24
|
+
const fromProcess = process.env[name]?.trim();
|
|
25
|
+
if (fromProcess) {
|
|
26
|
+
return { ok: true, data: fromProcess };
|
|
27
|
+
}
|
|
28
|
+
const row = await getEnvironmentVariable(config, { name });
|
|
29
|
+
if (!row.ok) {
|
|
30
|
+
return {
|
|
31
|
+
ok: false,
|
|
32
|
+
reason: `Missing ${name}. Set Node Variable or process env for Telethon search.`,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const value = row.data.value.trim();
|
|
36
|
+
if (!value) {
|
|
37
|
+
return { ok: false, reason: `${name} is empty.` };
|
|
38
|
+
}
|
|
39
|
+
return { ok: true, data: value };
|
|
40
|
+
}
|
|
41
|
+
async function telethonEnv(config) {
|
|
42
|
+
const apiId = await readEnvCredential(config, TELEGRAM_SEARCH_ENV.apiId);
|
|
43
|
+
if (!apiId.ok) {
|
|
44
|
+
return apiId;
|
|
45
|
+
}
|
|
46
|
+
const apiHash = await readEnvCredential(config, TELEGRAM_SEARCH_ENV.apiHash);
|
|
47
|
+
if (!apiHash.ok) {
|
|
48
|
+
return apiHash;
|
|
49
|
+
}
|
|
50
|
+
const sessionPath = await readEnvCredential(config, TELEGRAM_SEARCH_ENV.sessionPath);
|
|
51
|
+
if (!sessionPath.ok) {
|
|
52
|
+
return sessionPath;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
ok: true,
|
|
56
|
+
data: {
|
|
57
|
+
TELEGRAM_API_ID: apiId.data,
|
|
58
|
+
TELEGRAM_API_HASH: apiHash.data,
|
|
59
|
+
TELEGRAM_SESSION_PATH: sessionPath.data,
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function runPythonScript(scriptName, payload, env) {
|
|
64
|
+
return new Promise((resolve) => {
|
|
65
|
+
const scriptPath = path.join(scriptDir(), scriptName);
|
|
66
|
+
const python = resolvePythonExecutable();
|
|
67
|
+
const child = spawn(python, [scriptPath], {
|
|
68
|
+
env: { ...process.env, ...env },
|
|
69
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
70
|
+
});
|
|
71
|
+
let stdout = '';
|
|
72
|
+
let stderr = '';
|
|
73
|
+
child.stdout.setEncoding('utf8');
|
|
74
|
+
child.stderr.setEncoding('utf8');
|
|
75
|
+
child.stdout.on('data', (chunk) => {
|
|
76
|
+
stdout += chunk;
|
|
77
|
+
});
|
|
78
|
+
child.stderr.on('data', (chunk) => {
|
|
79
|
+
stderr += chunk;
|
|
80
|
+
});
|
|
81
|
+
child.on('error', (err) => {
|
|
82
|
+
resolve({
|
|
83
|
+
ok: false,
|
|
84
|
+
reason: `Failed to start ${python} for Telegram search: ${err.message}`,
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
child.on('close', (code) => {
|
|
88
|
+
if (code !== 0) {
|
|
89
|
+
const detail = stderr.trim() || stdout.trim() || `exit ${code}`;
|
|
90
|
+
resolve({
|
|
91
|
+
ok: false,
|
|
92
|
+
reason: `Telegram search script failed: ${detail}`,
|
|
93
|
+
});
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
const parsed = JSON.parse(stdout || '[]');
|
|
98
|
+
if (!Array.isArray(parsed)) {
|
|
99
|
+
resolve({ ok: false, reason: 'Telegram search returned non-array JSON.' });
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
resolve({ ok: true, data: parsed });
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
resolve({ ok: false, reason: 'Telegram search returned invalid JSON.' });
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
child.stdin.write(JSON.stringify(payload));
|
|
109
|
+
child.stdin.end();
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function resolveChannels(inputChannels, cfg) {
|
|
113
|
+
if (inputChannels && inputChannels.length > 0) {
|
|
114
|
+
return inputChannels.map((c) => c.trim().replace(/^@/, '')).filter(Boolean);
|
|
115
|
+
}
|
|
116
|
+
return channelUsernames(cfg);
|
|
117
|
+
}
|
|
118
|
+
function sortByPostedAtDesc(rows) {
|
|
119
|
+
return [...rows].sort((a, b) => (b.posted_at ?? '').localeCompare(a.posted_at ?? ''));
|
|
120
|
+
}
|
|
121
|
+
export async function searchTelegramMessages(config, input) {
|
|
122
|
+
const yamlConfig = await loadSocialSearchConfig(moduleUrl);
|
|
123
|
+
const channels = resolveChannels(input.channels, yamlConfig);
|
|
124
|
+
if (channels.length === 0) {
|
|
125
|
+
return { ok: false, reason: 'No Telegram channels configured or provided.' };
|
|
126
|
+
}
|
|
127
|
+
const env = await telethonEnv(config);
|
|
128
|
+
if (!env.ok) {
|
|
129
|
+
return env;
|
|
130
|
+
}
|
|
131
|
+
const payload = {
|
|
132
|
+
query: input.query,
|
|
133
|
+
channels,
|
|
134
|
+
max_results: input.maxResults ?? yamlConfig.defaults.maxResults,
|
|
135
|
+
max_messages_per_channel: input.maxMessagesPerChannel ?? yamlConfig.telegram.maxMessagesPerChannel,
|
|
136
|
+
regex: input.regex ?? false,
|
|
137
|
+
...(input.since ? { since: input.since } : {}),
|
|
138
|
+
};
|
|
139
|
+
const ran = await runPythonScript('search_public_channels.py', payload, env.data);
|
|
140
|
+
if (!ran.ok) {
|
|
141
|
+
return ran;
|
|
142
|
+
}
|
|
143
|
+
const messages = sortByPostedAtDesc(ran.data)
|
|
144
|
+
.slice(0, payload.max_results);
|
|
145
|
+
return { ok: true, data: { messages } };
|
|
146
|
+
}
|
|
147
|
+
export async function searchTelegramTickers(config, input) {
|
|
148
|
+
const yamlConfig = await loadSocialSearchConfig(moduleUrl);
|
|
149
|
+
const channels = resolveChannels(input.channels, yamlConfig);
|
|
150
|
+
if (channels.length === 0) {
|
|
151
|
+
return { ok: false, reason: 'No Telegram channels configured or provided.' };
|
|
152
|
+
}
|
|
153
|
+
const env = await telethonEnv(config);
|
|
154
|
+
if (!env.ok) {
|
|
155
|
+
return env;
|
|
156
|
+
}
|
|
157
|
+
const tickers = input.tickers !== undefined ? input.tickers : yamlConfig.tickers;
|
|
158
|
+
const payload = {
|
|
159
|
+
channels,
|
|
160
|
+
tickers,
|
|
161
|
+
ticker_detection: tickerDetectionForPython(yamlConfig.tickerDetection),
|
|
162
|
+
max_results: input.maxResults ?? yamlConfig.defaults.maxResults,
|
|
163
|
+
max_messages_per_channel: input.maxMessagesPerChannel ?? yamlConfig.telegram.maxMessagesPerChannel,
|
|
164
|
+
...(input.since ? { since: input.since } : {}),
|
|
165
|
+
};
|
|
166
|
+
const ran = await runPythonScript('scan_tickers.py', payload, env.data);
|
|
167
|
+
if (!ran.ok) {
|
|
168
|
+
return ran;
|
|
169
|
+
}
|
|
170
|
+
const messages = sortByPostedAtDesc(ran.data).slice(0, payload.max_results);
|
|
171
|
+
return { ok: true, data: { messages } };
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=telegram-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-search.js","sourceRoot":"","sources":["../../../src/core/agent/telegram-search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { NodeSdkConfig } from '../../config/schema.js';
|
|
2
|
+
import { SendTelegramMessageInputSchema, SendTelegramMessageResultSchema, type ManagementSigningMethod } from '../../schemas/extended.js';
|
|
3
|
+
import type { SdkResult } from '../result.js';
|
|
4
|
+
import { toSelectedSigner, type BuiltManagementPostRequest } from '../management-signer.js';
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
export type SendTelegramMessageInput = z.infer<typeof SendTelegramMessageInputSchema>;
|
|
7
|
+
export type SendTelegramMessageResult = z.infer<typeof SendTelegramMessageResultSchema>;
|
|
8
|
+
export declare function buildSendTelegramMessage(config: NodeSdkConfig, input: SendTelegramMessageInput, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
|
|
9
|
+
/** POST /sendTelegramMessage — push text to the stored operator Telegram chat. */
|
|
10
|
+
export declare function sendTelegramMessage(config: NodeSdkConfig, input: SendTelegramMessageInput, signing?: ManagementSigningMethod): Promise<SdkResult<{
|
|
11
|
+
result: SendTelegramMessageResult;
|
|
12
|
+
selectedSigningKey?: ReturnType<typeof toSelectedSigner>;
|
|
13
|
+
signingMessage: string;
|
|
14
|
+
}>>;
|
|
15
|
+
//# sourceMappingURL=telegram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../../src/core/agent/telegram.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAGN,8BAA8B,EAC9B,+BAA+B,EAC/B,KAAK,uBAAuB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAGN,gBAAgB,EAChB,KAAK,0BAA0B,EAC/B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAOtB,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,8BAA8B,CACrC,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,+BAA+B,CACtC,CAAC;AAEF,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAqChD;AAED,kFAAkF;AAClF,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CACT,SAAS,CAAC;IACT,MAAM,EAAE,yBAAyB,CAAC;IAClC,kBAAkB,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC,CACF,CAuCA"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { managementPost } from '../../api/management-api.js';
|
|
2
|
+
import { AGENT_TELEGRAM_API_PATHS, DEFAULT_MANAGEMENT_SIGNING, SendTelegramMessageInputSchema, SendTelegramMessageResultSchema, } from '../../schemas/extended.js';
|
|
3
|
+
import { buildManagementPostRequest, managementSign, toSelectedSigner, } from '../management-signer.js';
|
|
4
|
+
import { validateWebhookName, normalizeWebhookName } from './webhooks.js';
|
|
5
|
+
import { normalizeAgentEnvironmentVariableName, validateAgentEnvironmentVariableName, } from './environment-variables.js';
|
|
6
|
+
export async function buildSendTelegramMessage(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
7
|
+
const parsed = SendTelegramMessageInputSchema.safeParse(input);
|
|
8
|
+
if (!parsed.success) {
|
|
9
|
+
return { ok: false, reason: 'Invalid send Telegram message input.' };
|
|
10
|
+
}
|
|
11
|
+
let webhookName;
|
|
12
|
+
if (parsed.data.webhookName) {
|
|
13
|
+
const nameErr = validateWebhookName(parsed.data.webhookName);
|
|
14
|
+
if (nameErr) {
|
|
15
|
+
return { ok: false, reason: nameErr };
|
|
16
|
+
}
|
|
17
|
+
webhookName = normalizeWebhookName(parsed.data.webhookName);
|
|
18
|
+
}
|
|
19
|
+
let chatIdEnvVar;
|
|
20
|
+
if (parsed.data.chatIdEnvVar) {
|
|
21
|
+
const envErr = validateAgentEnvironmentVariableName(parsed.data.chatIdEnvVar);
|
|
22
|
+
if (envErr) {
|
|
23
|
+
return { ok: false, reason: envErr };
|
|
24
|
+
}
|
|
25
|
+
chatIdEnvVar = normalizeAgentEnvironmentVariableName(parsed.data.chatIdEnvVar);
|
|
26
|
+
}
|
|
27
|
+
return buildManagementPostRequest(config, {
|
|
28
|
+
path: AGENT_TELEGRAM_API_PATHS.sendMessage,
|
|
29
|
+
buildRequestFields: () => ({
|
|
30
|
+
text: parsed.data.text,
|
|
31
|
+
...(webhookName ? { webhookName } : {}),
|
|
32
|
+
...(chatIdEnvVar ? { chatIdEnvVar } : {}),
|
|
33
|
+
}),
|
|
34
|
+
}, signing);
|
|
35
|
+
}
|
|
36
|
+
/** POST /sendTelegramMessage — push text to the stored operator Telegram chat. */
|
|
37
|
+
export async function sendTelegramMessage(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
38
|
+
const built = await buildSendTelegramMessage(config, input, signing);
|
|
39
|
+
if (!built.ok) {
|
|
40
|
+
return built;
|
|
41
|
+
}
|
|
42
|
+
const signed = await managementSign(config, signing, built.data.unsignedBody);
|
|
43
|
+
if (!signed.ok) {
|
|
44
|
+
return signed;
|
|
45
|
+
}
|
|
46
|
+
const posted = await managementPost(config, built.data.path, signed.data);
|
|
47
|
+
if (!posted.ok) {
|
|
48
|
+
return posted;
|
|
49
|
+
}
|
|
50
|
+
const data = posted.data && typeof posted.data === 'object' && !Array.isArray(posted.data)
|
|
51
|
+
? posted.data
|
|
52
|
+
: {};
|
|
53
|
+
const parsed = SendTelegramMessageResultSchema.safeParse({
|
|
54
|
+
sent: data.sent ?? data.Sent,
|
|
55
|
+
chatId: Number(data.chatId ?? data.ChatID ?? data.ChatId),
|
|
56
|
+
chunks: Number(data.chunks ?? data.Chunks),
|
|
57
|
+
});
|
|
58
|
+
if (!parsed.success) {
|
|
59
|
+
return { ok: false, reason: 'Send Telegram message response failed validation.' };
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
ok: true,
|
|
63
|
+
data: {
|
|
64
|
+
result: parsed.data,
|
|
65
|
+
selectedSigningKey: built.data.selectedSigningKey
|
|
66
|
+
? toSelectedSigner(built.data.selectedSigningKey)
|
|
67
|
+
: undefined,
|
|
68
|
+
signingMessage: built.data.canonicalJson,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=telegram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../src/core/agent/telegram.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Token/ticker extraction — mirrors scripts/telegram-search/ticker_extract.py */
|
|
2
|
+
export declare const DEFAULT_TICKER_EXCLUDE: Set<string>;
|
|
3
|
+
export type TickerDetectionConfig = {
|
|
4
|
+
minLength: number;
|
|
5
|
+
maxLength: number;
|
|
6
|
+
includeBareCaps: boolean;
|
|
7
|
+
exclude: Set<string>;
|
|
8
|
+
};
|
|
9
|
+
export declare const DEFAULT_TICKER_DETECTION: TickerDetectionConfig;
|
|
10
|
+
export declare function normalizeTicker(raw: string): string;
|
|
11
|
+
export declare function extractTickers(text: string, config?: TickerDetectionConfig): string[];
|
|
12
|
+
export declare function findTickersInMessage(text: string, allowlist: string[] | null, config?: TickerDetectionConfig): string[];
|
|
13
|
+
export declare function tickerDetectionFromYaml(raw: Record<string, unknown> | undefined): TickerDetectionConfig;
|
|
14
|
+
export declare function tickerDetectionForPython(config: TickerDetectionConfig): Record<string, unknown>;
|
|
15
|
+
//# sourceMappingURL=ticker-extract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticker-extract.d.ts","sourceRoot":"","sources":["../../../src/core/agent/ticker-extract.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,eAAO,MAAM,sBAAsB,aA6BjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,qBAKtC,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAQD,wBAAgB,cAAc,CAC7B,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,qBAAgD,GACtD,MAAM,EAAE,CAkCV;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAC1B,MAAM,GAAE,qBAAgD,GACtD,MAAM,EAAE,CAsBV;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,qBAAqB,CAevG;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAO/F"}
|