@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,124 @@
|
|
|
1
|
+
/** Token/ticker extraction — mirrors scripts/telegram-search/ticker_extract.py */
|
|
2
|
+
export const DEFAULT_TICKER_EXCLUDE = new Set([
|
|
3
|
+
'THE',
|
|
4
|
+
'AND',
|
|
5
|
+
'FOR',
|
|
6
|
+
'NOT',
|
|
7
|
+
'YOU',
|
|
8
|
+
'ALL',
|
|
9
|
+
'NEW',
|
|
10
|
+
'USD',
|
|
11
|
+
'API',
|
|
12
|
+
'CEO',
|
|
13
|
+
'DAO',
|
|
14
|
+
'TVL',
|
|
15
|
+
'APR',
|
|
16
|
+
'APY',
|
|
17
|
+
'EVM',
|
|
18
|
+
'NFT',
|
|
19
|
+
'UTC',
|
|
20
|
+
'GMT',
|
|
21
|
+
'AI',
|
|
22
|
+
'USDT',
|
|
23
|
+
'USDC',
|
|
24
|
+
'FAQ',
|
|
25
|
+
'DM',
|
|
26
|
+
'PM',
|
|
27
|
+
'AM',
|
|
28
|
+
'UK',
|
|
29
|
+
'US',
|
|
30
|
+
'EU',
|
|
31
|
+
]);
|
|
32
|
+
export const DEFAULT_TICKER_DETECTION = {
|
|
33
|
+
minLength: 2,
|
|
34
|
+
maxLength: 10,
|
|
35
|
+
includeBareCaps: true,
|
|
36
|
+
exclude: DEFAULT_TICKER_EXCLUDE,
|
|
37
|
+
};
|
|
38
|
+
export function normalizeTicker(raw) {
|
|
39
|
+
return raw.trim().replace(/^[$#]+/, '').toUpperCase();
|
|
40
|
+
}
|
|
41
|
+
function symbolPattern(minLength, maxLength) {
|
|
42
|
+
const innerMin = Math.max(0, minLength - 1);
|
|
43
|
+
const innerMax = Math.max(0, maxLength - 1);
|
|
44
|
+
return `[A-Za-z][A-Za-z0-9]{${innerMin},${innerMax}}`;
|
|
45
|
+
}
|
|
46
|
+
export function extractTickers(text, config = DEFAULT_TICKER_DETECTION) {
|
|
47
|
+
if (!text) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
const sym = symbolPattern(config.minLength, config.maxLength);
|
|
51
|
+
const found = new Set();
|
|
52
|
+
for (const match of text.matchAll(new RegExp(`\\$(${sym})`, 'g'))) {
|
|
53
|
+
const token = match[1].toUpperCase();
|
|
54
|
+
if (token.length >= config.minLength && token.length <= config.maxLength) {
|
|
55
|
+
found.add(token);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
for (const match of text.matchAll(new RegExp(`#(${sym})`, 'g'))) {
|
|
59
|
+
const token = match[1].toUpperCase();
|
|
60
|
+
if (token.length >= config.minLength && token.length <= config.maxLength) {
|
|
61
|
+
found.add(token);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (config.includeBareCaps) {
|
|
65
|
+
for (const match of text.matchAll(new RegExp(`\\b(${sym})\\b`, 'g'))) {
|
|
66
|
+
const token = match[1].toUpperCase();
|
|
67
|
+
if (config.exclude.has(token)) {
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (token.length >= config.minLength && token.length <= config.maxLength) {
|
|
71
|
+
found.add(token);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return [...found].sort();
|
|
76
|
+
}
|
|
77
|
+
export function findTickersInMessage(text, allowlist, config = DEFAULT_TICKER_DETECTION) {
|
|
78
|
+
if (allowlist && allowlist.length > 0) {
|
|
79
|
+
const matched = new Set();
|
|
80
|
+
for (const raw of allowlist) {
|
|
81
|
+
const sym = normalizeTicker(raw);
|
|
82
|
+
if (!sym || config.exclude.has(sym)) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
const patterns = [`\\$${sym}\\b`, `#${sym}\\b`];
|
|
86
|
+
if (config.includeBareCaps) {
|
|
87
|
+
patterns.push(`\\b${sym}\\b`);
|
|
88
|
+
}
|
|
89
|
+
for (const pattern of patterns) {
|
|
90
|
+
if (new RegExp(pattern, 'i').test(text)) {
|
|
91
|
+
matched.add(sym);
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return [...matched].sort();
|
|
97
|
+
}
|
|
98
|
+
return extractTickers(text, config);
|
|
99
|
+
}
|
|
100
|
+
export function tickerDetectionFromYaml(raw) {
|
|
101
|
+
if (!raw) {
|
|
102
|
+
return DEFAULT_TICKER_DETECTION;
|
|
103
|
+
}
|
|
104
|
+
const excludeRaw = raw.exclude;
|
|
105
|
+
const extraExclude = Array.isArray(excludeRaw)
|
|
106
|
+
? excludeRaw.map((x) => String(x).trim().toUpperCase()).filter(Boolean)
|
|
107
|
+
: [];
|
|
108
|
+
const exclude = new Set([...DEFAULT_TICKER_EXCLUDE, ...extraExclude]);
|
|
109
|
+
return {
|
|
110
|
+
minLength: Number(raw.min_length ?? 2),
|
|
111
|
+
maxLength: Number(raw.max_length ?? 10),
|
|
112
|
+
includeBareCaps: raw.include_bare_caps !== false,
|
|
113
|
+
exclude,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export function tickerDetectionForPython(config) {
|
|
117
|
+
return {
|
|
118
|
+
min_length: config.minLength,
|
|
119
|
+
max_length: config.maxLength,
|
|
120
|
+
include_bare_caps: config.includeBareCaps,
|
|
121
|
+
exclude: [...config.exclude],
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=ticker-extract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ticker-extract.js","sourceRoot":"","sources":["../../../src/core/agent/ticker-extract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** Common writable subtrees under user_folder (node UI + agent guidance). */
|
|
2
|
+
export declare const USER_FOLDER_WRITE_ROOTS: readonly ["evm/", "data/", ".mcp-foundry-workspace/"];
|
|
3
|
+
export type UserFolderPathOptions = {
|
|
4
|
+
/** Allow `.` (list root). Default false. */
|
|
5
|
+
allowDot?: boolean;
|
|
6
|
+
/** Writes must include a subdirectory (not a loose root file). Default false. */
|
|
7
|
+
requireSubtree?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function normalizeUserFolderPath(raw: string): string;
|
|
10
|
+
/** Returns an error message, or null when the path is valid. */
|
|
11
|
+
export declare function userFolderPathError(raw: string, options?: UserFolderPathOptions): string | null;
|
|
12
|
+
export declare function assertUserFolderPath(raw: string, options?: UserFolderPathOptions): {
|
|
13
|
+
ok: true;
|
|
14
|
+
path: string;
|
|
15
|
+
} | {
|
|
16
|
+
ok: false;
|
|
17
|
+
reason: string;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=user-folder-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-folder-path.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder-path.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,uDAI1B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG;IACnC,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW3D;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GACjC,MAAM,GAAG,IAAI,CAuCf;AAED,wBAAgB,oBAAoB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,qBAA0B,GACjC;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAMxD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Common writable subtrees under user_folder (node UI + agent guidance). */
|
|
2
|
+
export const USER_FOLDER_WRITE_ROOTS = [
|
|
3
|
+
'evm/',
|
|
4
|
+
'data/',
|
|
5
|
+
'.mcp-foundry-workspace/',
|
|
6
|
+
];
|
|
7
|
+
export function normalizeUserFolderPath(raw) {
|
|
8
|
+
let path = raw.trim().replace(/\\/g, '/');
|
|
9
|
+
while (path.startsWith('./')) {
|
|
10
|
+
path = path.slice(2);
|
|
11
|
+
}
|
|
12
|
+
path = path.replace(/^\/+/, '');
|
|
13
|
+
path = path.replace(/\/+/g, '/');
|
|
14
|
+
if (path.length > 1) {
|
|
15
|
+
path = path.replace(/\/+$/, '');
|
|
16
|
+
}
|
|
17
|
+
return path;
|
|
18
|
+
}
|
|
19
|
+
/** Returns an error message, or null when the path is valid. */
|
|
20
|
+
export function userFolderPathError(raw, options = {}) {
|
|
21
|
+
const trimmed = raw.trim();
|
|
22
|
+
if (!trimmed) {
|
|
23
|
+
return 'user_folder path is required.';
|
|
24
|
+
}
|
|
25
|
+
if (trimmed.includes('\0')) {
|
|
26
|
+
return 'user_folder path must not contain null bytes.';
|
|
27
|
+
}
|
|
28
|
+
if (/^[a-zA-Z]:/.test(trimmed) || trimmed.startsWith('~')) {
|
|
29
|
+
return 'user_folder path must be relative to user_folder (no drive letters or ~).';
|
|
30
|
+
}
|
|
31
|
+
const path = normalizeUserFolderPath(trimmed);
|
|
32
|
+
if (!path) {
|
|
33
|
+
return 'user_folder path is required.';
|
|
34
|
+
}
|
|
35
|
+
if (path === '.') {
|
|
36
|
+
return options.allowDot ? null : 'user_folder path must name a file or subdirectory.';
|
|
37
|
+
}
|
|
38
|
+
if (path.includes('..')) {
|
|
39
|
+
return 'user_folder path must not contain .. segments.';
|
|
40
|
+
}
|
|
41
|
+
for (const segment of path.split('/')) {
|
|
42
|
+
if (segment === '..') {
|
|
43
|
+
return 'user_folder path must not contain .. segments.';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (options.requireSubtree && !path.includes('/')) {
|
|
47
|
+
return ('writes must target a file inside a subdirectory (e.g. evm/src/Contract.sol, ' +
|
|
48
|
+
'data/out.json), not the user_folder root.');
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
export function assertUserFolderPath(raw, options = {}) {
|
|
53
|
+
const error = userFolderPathError(raw, options);
|
|
54
|
+
if (error) {
|
|
55
|
+
return { ok: false, reason: error };
|
|
56
|
+
}
|
|
57
|
+
return { ok: true, path: normalizeUserFolderPath(raw) };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=user-folder-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-folder-path.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder-path.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,MAAM;IACN,OAAO;IACP,yBAAyB;CAChB,CAAC;AASX,MAAM,UAAU,uBAAuB,CAAC,GAAW;IAClD,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAClC,GAAW,EACX,UAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,+BAA+B,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,+CAA+C,CAAC;IACxD,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,2EAA2E,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,+BAA+B,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD,CAAC;IACvF,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,gDAAgD,CAAC;IACzD,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,gDAAgD,CAAC;QACzD,CAAC;IACF,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,OAAO,CACN,8EAA8E;YAC9E,2CAA2C,CAC3C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,GAAW,EACX,UAAiC,EAAE;IAEnC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,CAAC,GAAG,CAAC,EAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ListUserFolderInputSchema: z.ZodObject<{
|
|
3
|
+
path: z.ZodDefault<z.ZodString>;
|
|
4
|
+
}, z.core.$strict>;
|
|
5
|
+
export declare const GetUserFolderFileInputSchema: z.ZodObject<{
|
|
6
|
+
path: z.ZodString;
|
|
7
|
+
}, z.core.$strict>;
|
|
8
|
+
export declare const WriteUserFolderFileInputSchema: z.ZodObject<{
|
|
9
|
+
path: z.ZodString;
|
|
10
|
+
content: z.ZodString;
|
|
11
|
+
}, z.core.$strict>;
|
|
12
|
+
export declare const UserFolderEntrySchema: z.ZodObject<{
|
|
13
|
+
name: z.ZodString;
|
|
14
|
+
type: z.ZodEnum<{
|
|
15
|
+
file: "file";
|
|
16
|
+
dir: "dir";
|
|
17
|
+
}>;
|
|
18
|
+
size: z.ZodNumber;
|
|
19
|
+
mtime: z.ZodOptional<z.ZodString>;
|
|
20
|
+
}, z.core.$strict>;
|
|
21
|
+
export declare const ListUserFolderOutputSchema: z.ZodObject<{
|
|
22
|
+
path: z.ZodString;
|
|
23
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
24
|
+
name: z.ZodString;
|
|
25
|
+
type: z.ZodEnum<{
|
|
26
|
+
file: "file";
|
|
27
|
+
dir: "dir";
|
|
28
|
+
}>;
|
|
29
|
+
size: z.ZodNumber;
|
|
30
|
+
mtime: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, z.core.$strict>>;
|
|
32
|
+
}, z.core.$strict>;
|
|
33
|
+
export declare const GetUserFolderFileOutputSchema: z.ZodObject<{
|
|
34
|
+
path: z.ZodString;
|
|
35
|
+
content: z.ZodString;
|
|
36
|
+
size: z.ZodNumber;
|
|
37
|
+
}, z.core.$strict>;
|
|
38
|
+
export declare const WriteUserFolderFileOutputSchema: z.ZodObject<{
|
|
39
|
+
path: z.ZodString;
|
|
40
|
+
}, z.core.$strict>;
|
|
41
|
+
//# sourceMappingURL=user-folder-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-folder-schemas.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AA4BtB,eAAO,MAAM,yBAAyB;;kBAI5B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;kBAI/B,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;kBAKjC,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;kBAOxB,CAAC;AAEX,eAAO,MAAM,0BAA0B;;;;;;;;;;;kBAK7B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;kBAMhC,CAAC;AAEX,eAAO,MAAM,+BAA+B;;kBAIlC,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { userFolderPathError } from './user-folder-path.js';
|
|
3
|
+
const userFolderListPath = z
|
|
4
|
+
.string()
|
|
5
|
+
.trim()
|
|
6
|
+
.default('.')
|
|
7
|
+
.superRefine((value, ctx) => {
|
|
8
|
+
const error = userFolderPathError(value, { allowDot: true });
|
|
9
|
+
if (error) {
|
|
10
|
+
ctx.addIssue({ code: 'custom', message: error });
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
const userFolderReadPath = z.string().trim().min(1).superRefine((value, ctx) => {
|
|
14
|
+
const error = userFolderPathError(value);
|
|
15
|
+
if (error) {
|
|
16
|
+
ctx.addIssue({ code: 'custom', message: error });
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const userFolderWritePath = z.string().trim().min(1).superRefine((value, ctx) => {
|
|
20
|
+
const error = userFolderPathError(value, { requireSubtree: true });
|
|
21
|
+
if (error) {
|
|
22
|
+
ctx.addIssue({ code: 'custom', message: error });
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export const ListUserFolderInputSchema = z
|
|
26
|
+
.object({
|
|
27
|
+
path: userFolderListPath,
|
|
28
|
+
})
|
|
29
|
+
.strict();
|
|
30
|
+
export const GetUserFolderFileInputSchema = z
|
|
31
|
+
.object({
|
|
32
|
+
path: userFolderReadPath,
|
|
33
|
+
})
|
|
34
|
+
.strict();
|
|
35
|
+
export const WriteUserFolderFileInputSchema = z
|
|
36
|
+
.object({
|
|
37
|
+
path: userFolderWritePath,
|
|
38
|
+
content: z.string(),
|
|
39
|
+
})
|
|
40
|
+
.strict();
|
|
41
|
+
export const UserFolderEntrySchema = z
|
|
42
|
+
.object({
|
|
43
|
+
name: z.string(),
|
|
44
|
+
type: z.enum(['file', 'dir']),
|
|
45
|
+
size: z.number().int().nonnegative(),
|
|
46
|
+
mtime: z.string().optional(),
|
|
47
|
+
})
|
|
48
|
+
.strict();
|
|
49
|
+
export const ListUserFolderOutputSchema = z
|
|
50
|
+
.object({
|
|
51
|
+
path: z.string(),
|
|
52
|
+
entries: z.array(UserFolderEntrySchema),
|
|
53
|
+
})
|
|
54
|
+
.strict();
|
|
55
|
+
export const GetUserFolderFileOutputSchema = z
|
|
56
|
+
.object({
|
|
57
|
+
path: z.string(),
|
|
58
|
+
content: z.string(),
|
|
59
|
+
size: z.number().int().nonnegative(),
|
|
60
|
+
})
|
|
61
|
+
.strict();
|
|
62
|
+
export const WriteUserFolderFileOutputSchema = z
|
|
63
|
+
.object({
|
|
64
|
+
path: z.string(),
|
|
65
|
+
})
|
|
66
|
+
.strict();
|
|
67
|
+
//# sourceMappingURL=user-folder-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-folder-schemas.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-folder.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"user-folder.d.ts","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"AAKA,OAAO,EAIN,KAAK,uBAAuB,EAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAG5C,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,cAAc,CACnC,MAAM,EAAE,aAAa,EACrB,IAAI,SAAM,GACR,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAC,CAAC,CAAC,CAuChE;AAED,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CAmBnE;AAED,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC,CA6BpC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { buildManagementQueryPath, managementGet, managementPost, } from '../../api/management-api.js';
|
|
2
2
|
import { buildManagementPostRequest, managementSign, DEFAULT_MANAGEMENT_SIGNING, } from '../management-signer.js';
|
|
3
|
+
import { assertUserFolderPath } from './user-folder-path.js';
|
|
3
4
|
export async function listUserFolder(config, path = '.') {
|
|
5
|
+
const validated = assertUserFolderPath(path || '.', { allowDot: true });
|
|
6
|
+
if (!validated.ok)
|
|
7
|
+
return validated;
|
|
4
8
|
const apiPath = buildManagementQueryPath('/listUserFolder', {
|
|
5
|
-
path: path
|
|
9
|
+
path: validated.path,
|
|
6
10
|
});
|
|
7
11
|
const result = await managementGet(config, apiPath);
|
|
8
12
|
if (!result.ok)
|
|
@@ -32,17 +36,18 @@ export async function listUserFolder(config, path = '.') {
|
|
|
32
36
|
return {
|
|
33
37
|
ok: true,
|
|
34
38
|
data: {
|
|
35
|
-
path: String(data.path ?? data.Path ??
|
|
39
|
+
path: String(data.path ?? data.Path ?? validated.path),
|
|
36
40
|
entries,
|
|
37
41
|
},
|
|
38
42
|
};
|
|
39
43
|
}
|
|
40
44
|
export async function getUserFolderFile(config, path) {
|
|
41
|
-
const
|
|
42
|
-
if (!
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
const validated = assertUserFolderPath(path);
|
|
46
|
+
if (!validated.ok)
|
|
47
|
+
return validated;
|
|
48
|
+
const apiPath = buildManagementQueryPath('/getUserFolderFile', {
|
|
49
|
+
path: validated.path,
|
|
50
|
+
});
|
|
46
51
|
const result = await managementGet(config, apiPath);
|
|
47
52
|
if (!result.ok)
|
|
48
53
|
return result;
|
|
@@ -50,20 +55,19 @@ export async function getUserFolderFile(config, path) {
|
|
|
50
55
|
return {
|
|
51
56
|
ok: true,
|
|
52
57
|
data: {
|
|
53
|
-
path: String(data.path ?? data.Path ??
|
|
58
|
+
path: String(data.path ?? data.Path ?? validated.path),
|
|
54
59
|
content: String(data.content ?? data.Content ?? ''),
|
|
55
60
|
size: Number(data.size ?? data.Size ?? 0) || 0,
|
|
56
61
|
},
|
|
57
62
|
};
|
|
58
63
|
}
|
|
59
64
|
export async function writeUserFolderFile(config, path, content, signing = DEFAULT_MANAGEMENT_SIGNING) {
|
|
60
|
-
const
|
|
61
|
-
if (!
|
|
62
|
-
return
|
|
63
|
-
}
|
|
65
|
+
const validated = assertUserFolderPath(path, { requireSubtree: true });
|
|
66
|
+
if (!validated.ok)
|
|
67
|
+
return validated;
|
|
64
68
|
const built = await buildManagementPostRequest(config, {
|
|
65
69
|
path: '/writeUserFolderFile',
|
|
66
|
-
buildRequestFields: () => ({ path:
|
|
70
|
+
buildRequestFields: () => ({ path: validated.path, content }),
|
|
67
71
|
}, signing);
|
|
68
72
|
if (!built.ok)
|
|
69
73
|
return built;
|
|
@@ -76,7 +80,7 @@ export async function writeUserFolderFile(config, path, content, signing = DEFAU
|
|
|
76
80
|
const data = posted.data;
|
|
77
81
|
return {
|
|
78
82
|
ok: true,
|
|
79
|
-
data: { path: String(data.path ?? data.Path ??
|
|
83
|
+
data: { path: String(data.path ?? data.Path ?? validated.path) },
|
|
80
84
|
};
|
|
81
85
|
}
|
|
82
86
|
//# sourceMappingURL=user-folder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-folder.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,wBAAwB,EACxB,aAAa,EACb,cAAc,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,GAE1B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"user-folder.js","sourceRoot":"","sources":["../../../src/core/agent/user-folder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SdkResult } from '../result.js';
|
|
2
|
+
import type { GetBusinessLatestInput, GetBusinessLatestOutput, ListBusinessSourcesOutput, SearchBusinessLatestInput } from './schemas.js';
|
|
3
|
+
export type BusinessLatestFetchDeps = {
|
|
4
|
+
fetchImpl?: typeof fetch;
|
|
5
|
+
};
|
|
6
|
+
export declare function listBusinessSources(): SdkResult<ListBusinessSourcesOutput>;
|
|
7
|
+
export declare function getBusinessLatest(input: GetBusinessLatestInput, deps?: BusinessLatestFetchDeps): Promise<SdkResult<GetBusinessLatestOutput>>;
|
|
8
|
+
export declare function searchBusinessLatest(input: SearchBusinessLatestInput, deps?: BusinessLatestFetchDeps): Promise<SdkResult<GetBusinessLatestOutput>>;
|
|
9
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/core/business-latest/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAEX,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,MAAM,cAAc,CAAC;AAWtB,MAAM,MAAM,uBAAuB,GAAG;IACrC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACzB,CAAC;AAoGF,wBAAgB,mBAAmB,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAW1E;AAED,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,sBAAsB,EAC7B,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAgB7C;AAED,wBAAsB,oBAAoB,CACzC,KAAK,EAAE,yBAAyB,EAChC,IAAI,GAAE,uBAA4B,GAChC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAqB7C"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { parseRssItems } from '../rss/parse-rss.js';
|
|
2
|
+
import { BUSINESS_LATEST_SOURCES, resolveBusinessLatestSources, } from './sources.js';
|
|
3
|
+
const FETCH_TIMEOUT_MS = 15_000;
|
|
4
|
+
const DEFAULT_LIMIT = 8;
|
|
5
|
+
const USER_AGENT = 'ContinuumBusinessLatest/1.0 (+https://github.com/ContinuumDAO/continuum-node-sdk)';
|
|
6
|
+
async function fetchFeedXml(url, fetchImpl) {
|
|
7
|
+
const controller = new AbortController();
|
|
8
|
+
const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
9
|
+
try {
|
|
10
|
+
const resp = await fetchImpl(url, {
|
|
11
|
+
method: 'GET',
|
|
12
|
+
headers: {
|
|
13
|
+
Accept: 'application/rss+xml, application/atom+xml, application/xml, text/xml;q=0.9, */*;q=0.8',
|
|
14
|
+
'User-Agent': USER_AGENT,
|
|
15
|
+
'Cache-Control': 'no-cache',
|
|
16
|
+
},
|
|
17
|
+
signal: controller.signal,
|
|
18
|
+
redirect: 'follow',
|
|
19
|
+
});
|
|
20
|
+
const xml = await resp.text();
|
|
21
|
+
if (!resp.ok) {
|
|
22
|
+
return { ok: false, reason: `HTTP ${resp.status} ${resp.statusText}`.trim() };
|
|
23
|
+
}
|
|
24
|
+
if (!xml.trim()) {
|
|
25
|
+
return { ok: false, reason: 'Empty RSS body' };
|
|
26
|
+
}
|
|
27
|
+
return { ok: true, xml };
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
31
|
+
return { ok: false, reason: message };
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
clearTimeout(timer);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function limitItems(items, limit) {
|
|
38
|
+
return items
|
|
39
|
+
.slice()
|
|
40
|
+
.sort((a, b) => {
|
|
41
|
+
const aMs = a.publishedAt ? Date.parse(a.publishedAt) : Number.NaN;
|
|
42
|
+
const bMs = b.publishedAt ? Date.parse(b.publishedAt) : Number.NaN;
|
|
43
|
+
if (Number.isFinite(aMs) && Number.isFinite(bMs) && aMs !== bMs) {
|
|
44
|
+
return bMs - aMs;
|
|
45
|
+
}
|
|
46
|
+
return 0;
|
|
47
|
+
})
|
|
48
|
+
.slice(0, limit);
|
|
49
|
+
}
|
|
50
|
+
async function loadSources(sources, limit, fetchImpl) {
|
|
51
|
+
const settled = await Promise.all(sources.map(async (source) => {
|
|
52
|
+
const fetched = await fetchFeedXml(source.url, fetchImpl);
|
|
53
|
+
if (!fetched.ok) {
|
|
54
|
+
return {
|
|
55
|
+
feed: {
|
|
56
|
+
sourceId: source.id,
|
|
57
|
+
sourceName: source.displayName,
|
|
58
|
+
ok: false,
|
|
59
|
+
itemCount: 0,
|
|
60
|
+
reason: fetched.reason,
|
|
61
|
+
},
|
|
62
|
+
items: [],
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
const parsed = parseRssItems(fetched.xml).map(item => ({
|
|
66
|
+
sourceId: source.id,
|
|
67
|
+
sourceName: source.displayName,
|
|
68
|
+
title: item.title,
|
|
69
|
+
url: item.url,
|
|
70
|
+
publishedAt: item.publishedAt,
|
|
71
|
+
publishedRaw: item.publishedRaw,
|
|
72
|
+
summary: item.summary,
|
|
73
|
+
}));
|
|
74
|
+
return {
|
|
75
|
+
feed: {
|
|
76
|
+
sourceId: source.id,
|
|
77
|
+
sourceName: source.displayName,
|
|
78
|
+
ok: parsed.length > 0,
|
|
79
|
+
itemCount: parsed.length,
|
|
80
|
+
reason: parsed.length > 0 ? undefined : 'No RSS items parsed',
|
|
81
|
+
},
|
|
82
|
+
items: parsed,
|
|
83
|
+
};
|
|
84
|
+
}));
|
|
85
|
+
return {
|
|
86
|
+
items: limitItems(settled.flatMap(row => row.items), limit),
|
|
87
|
+
feeds: settled.map(row => row.feed),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
export function listBusinessSources() {
|
|
91
|
+
return {
|
|
92
|
+
ok: true,
|
|
93
|
+
data: {
|
|
94
|
+
sources: BUSINESS_LATEST_SOURCES.map(source => ({
|
|
95
|
+
id: source.id,
|
|
96
|
+
displayName: source.displayName,
|
|
97
|
+
url: source.url,
|
|
98
|
+
})),
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
export async function getBusinessLatest(input, deps = {}) {
|
|
103
|
+
const resolved = resolveBusinessLatestSources(input.sourceId);
|
|
104
|
+
if (!resolved.ok) {
|
|
105
|
+
return resolved;
|
|
106
|
+
}
|
|
107
|
+
const limit = input.limit ?? DEFAULT_LIMIT;
|
|
108
|
+
const data = await loadSources(resolved.sources, limit, deps.fetchImpl ?? fetch);
|
|
109
|
+
if (data.feeds.every(feed => !feed.ok) && data.items.length === 0) {
|
|
110
|
+
return {
|
|
111
|
+
ok: false,
|
|
112
|
+
reason: data.feeds
|
|
113
|
+
.map(feed => `${feed.sourceId}: ${feed.reason ?? 'failed'}`)
|
|
114
|
+
.join('; '),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
return { ok: true, data };
|
|
118
|
+
}
|
|
119
|
+
export async function searchBusinessLatest(input, deps = {}) {
|
|
120
|
+
const fetched = await getBusinessLatest({ sourceId: input.sourceId, limit: 25 }, deps);
|
|
121
|
+
if (!fetched.ok) {
|
|
122
|
+
return fetched;
|
|
123
|
+
}
|
|
124
|
+
const needle = input.query.trim().toLowerCase();
|
|
125
|
+
const matched = fetched.data.items.filter(item => {
|
|
126
|
+
const hay = `${item.title} ${item.summary ?? ''} ${item.sourceName}`.toLowerCase();
|
|
127
|
+
return hay.includes(needle);
|
|
128
|
+
});
|
|
129
|
+
const limit = input.limit ?? DEFAULT_LIMIT;
|
|
130
|
+
return {
|
|
131
|
+
ok: true,
|
|
132
|
+
data: {
|
|
133
|
+
items: matched.slice(0, limit),
|
|
134
|
+
feeds: fetched.data.feeds,
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/core/business-latest/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BUSINESS_LATEST_SOURCES, BUSINESS_LATEST_SOURCE_IDS, businessLatestSourceById, isBusinessLatestSourceId, resolveBusinessLatestSources, type BusinessLatestSource, type BusinessLatestSourceId, } from './sources.js';
|
|
2
|
+
export { parseRssItems, type ParsedRssItem } from '../rss/parse-rss.js';
|
|
3
|
+
export { BusinessLatestItemSchema, GetBusinessLatestInputSchema, GetBusinessLatestOutputSchema, ListBusinessSourcesInputSchema, ListBusinessSourcesOutputSchema, SearchBusinessLatestInputSchema, type BusinessLatestItem, type GetBusinessLatestInput, type GetBusinessLatestOutput, type ListBusinessSourcesOutput, type SearchBusinessLatestInput, } from './schemas.js';
|
|
4
|
+
export { getBusinessLatest, listBusinessSources, searchBusinessLatest, type BusinessLatestFetchDeps, } from './fetch.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/business-latest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,aAAa,EAAE,KAAK,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,GAC9B,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,uBAAuB,GAC5B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BUSINESS_LATEST_SOURCES, BUSINESS_LATEST_SOURCE_IDS, businessLatestSourceById, isBusinessLatestSourceId, resolveBusinessLatestSources, } from './sources.js';
|
|
2
|
+
export { parseRssItems } from '../rss/parse-rss.js';
|
|
3
|
+
export { BusinessLatestItemSchema, GetBusinessLatestInputSchema, GetBusinessLatestOutputSchema, ListBusinessSourcesInputSchema, ListBusinessSourcesOutputSchema, SearchBusinessLatestInputSchema, } from './schemas.js';
|
|
4
|
+
export { getBusinessLatest, listBusinessSources, searchBusinessLatest, } from './fetch.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/business-latest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,GAG5B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EACN,wBAAwB,EACxB,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,GAM/B,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GAEpB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type ParsedRssItem = {
|
|
2
|
+
title: string;
|
|
3
|
+
url: string;
|
|
4
|
+
publishedAt?: string;
|
|
5
|
+
publishedRaw?: string;
|
|
6
|
+
summary?: string;
|
|
7
|
+
};
|
|
8
|
+
/** Parse RSS 2.0 `<item>` and Atom `<entry>` blocks. */
|
|
9
|
+
export declare function parseRssItems(xml: string): ParsedRssItem[];
|
|
10
|
+
//# sourceMappingURL=parse-rss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-rss.d.ts","sourceRoot":"","sources":["../../../src/core/business-latest/parse-rss.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAqFF,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,CAM1D"}
|