@oobe-protocol-labs/sap-mcp-server 0.9.16 → 0.9.21
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/.env.example +8 -7
- package/CHANGELOG.md +238 -0
- package/README.md +3 -3
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
- package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
- package/USER_DOCS/05_SKILLS_AND_TOOLS.md +16 -8
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
- package/config.example.json +5 -4
- package/config.schema.json +7 -2
- package/config.secure-example.json +5 -4
- package/dist/adapters/index.d.ts +7 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +7 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/mcp/errors.d.ts +13 -1
- package/dist/adapters/mcp/errors.d.ts.map +1 -1
- package/dist/adapters/mcp/errors.js +13 -1
- package/dist/adapters/mcp/errors.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +7 -1
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +7 -1
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/mcp/prompt-response.d.ts +13 -1
- package/dist/adapters/mcp/prompt-response.d.ts.map +1 -1
- package/dist/adapters/mcp/prompt-response.js +13 -1
- package/dist/adapters/mcp/prompt-response.js.map +1 -1
- package/dist/adapters/mcp/resource-response.d.ts +14 -1
- package/dist/adapters/mcp/resource-response.d.ts.map +1 -1
- package/dist/adapters/mcp/resource-response.js +14 -1
- package/dist/adapters/mcp/resource-response.js.map +1 -1
- package/dist/adapters/mcp/sdk-compat.d.ts +11 -3
- package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -1
- package/dist/adapters/mcp/sdk-compat.js +213 -24
- package/dist/adapters/mcp/sdk-compat.js.map +1 -1
- package/dist/adapters/mcp/tool-response.d.ts +39 -4
- package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
- package/dist/adapters/mcp/tool-response.js +39 -4
- package/dist/adapters/mcp/tool-response.js.map +1 -1
- package/dist/adapters/solana/commitment.d.ts +14 -2
- package/dist/adapters/solana/commitment.d.ts.map +1 -1
- package/dist/adapters/solana/commitment.js +14 -2
- package/dist/adapters/solana/commitment.js.map +1 -1
- package/dist/adapters/solana/connection.d.ts +11 -2
- package/dist/adapters/solana/connection.d.ts.map +1 -1
- package/dist/adapters/solana/connection.js +11 -2
- package/dist/adapters/solana/connection.js.map +1 -1
- package/dist/adapters/solana/index.d.ts +7 -1
- package/dist/adapters/solana/index.d.ts.map +1 -1
- package/dist/adapters/solana/index.js +7 -1
- package/dist/adapters/solana/index.js.map +1 -1
- package/dist/adapters/solana/public-key.d.ts +11 -2
- package/dist/adapters/solana/public-key.d.ts.map +1 -1
- package/dist/adapters/solana/public-key.js +11 -2
- package/dist/adapters/solana/public-key.js.map +1 -1
- package/dist/config/defaults.d.ts +5 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/env.d.ts +4 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +11 -6
- package/dist/config/env.js.map +1 -1
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-client-injection.d.ts.map +1 -1
- package/dist/config/mcp-client-injection.js +97 -1
- package/dist/config/mcp-client-injection.js.map +1 -1
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +5 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/profiles.d.ts +3 -10
- package/dist/config/profiles.d.ts.map +1 -1
- package/dist/config/profiles.js +5 -0
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +5 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/config/secure-config.d.ts +5 -0
- package/dist/config/secure-config.d.ts.map +1 -1
- package/dist/config/secure-config.js +5 -0
- package/dist/config/secure-config.js.map +1 -1
- package/dist/config/setup.d.ts +5 -0
- package/dist/config/setup.d.ts.map +1 -1
- package/dist/config/setup.js +5 -0
- package/dist/config/setup.js.map +1 -1
- package/dist/config-cli.d.ts +3 -13
- package/dist/config-cli.d.ts.map +1 -1
- package/dist/config-cli.js +5 -0
- package/dist/config-cli.js.map +1 -1
- package/dist/core/constants.d.ts +25 -6
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +27 -8
- package/dist/core/constants.js.map +1 -1
- package/dist/core/errors.d.ts +5 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +5 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/guards.d.ts +5 -0
- package/dist/core/guards.d.ts.map +1 -1
- package/dist/core/guards.js +3 -1
- package/dist/core/guards.js.map +1 -1
- package/dist/core/index.d.ts +7 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/result.d.ts +77 -9
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/result.js +68 -9
- package/dist/core/result.js.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +3 -4
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/payments/facilitator-rpc-fallback.d.ts.map +1 -1
- package/dist/payments/facilitator-rpc-fallback.js +95 -0
- package/dist/payments/facilitator-rpc-fallback.js.map +1 -1
- package/dist/payments/hosted-tool-eligibility.d.ts +1 -0
- package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -1
- package/dist/payments/hosted-tool-eligibility.js +1 -0
- package/dist/payments/hosted-tool-eligibility.js.map +1 -1
- package/dist/payments/mcp-session-cache.d.ts +35 -0
- package/dist/payments/mcp-session-cache.d.ts.map +1 -0
- package/dist/payments/mcp-session-cache.js +83 -0
- package/dist/payments/mcp-session-cache.js.map +1 -0
- package/dist/payments/monetization-gate.d.ts +5 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +24 -1
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts +1 -0
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +66 -8
- package/dist/payments/pricing.js.map +1 -1
- package/dist/payments/usage-ledger.d.ts +36 -2
- package/dist/payments/usage-ledger.d.ts.map +1 -1
- package/dist/payments/usage-ledger.js +121 -4
- package/dist/payments/usage-ledger.js.map +1 -1
- package/dist/payments/x402-paid-call.d.ts +50 -0
- package/dist/payments/x402-paid-call.d.ts.map +1 -1
- package/dist/payments/x402-paid-call.js +171 -0
- package/dist/payments/x402-paid-call.js.map +1 -1
- package/dist/policy/default-policies.d.ts +18 -2
- package/dist/policy/default-policies.d.ts.map +1 -1
- package/dist/policy/default-policies.js +18 -2
- package/dist/policy/default-policies.js.map +1 -1
- package/dist/policy/index.d.ts +6 -3
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +6 -3
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/local-policy-engine.d.ts +71 -13
- package/dist/policy/local-policy-engine.d.ts.map +1 -1
- package/dist/policy/local-policy-engine.js +33 -11
- package/dist/policy/local-policy-engine.js.map +1 -1
- package/dist/policy/permission-checks.d.ts +29 -3
- package/dist/policy/permission-checks.d.ts.map +1 -1
- package/dist/policy/permission-checks.js +29 -3
- package/dist/policy/permission-checks.js.map +1 -1
- package/dist/policy/policy-engine.d.ts +22 -2
- package/dist/policy/policy-engine.d.ts.map +1 -1
- package/dist/policy/policy-engine.js +22 -2
- package/dist/policy/policy-engine.js.map +1 -1
- package/dist/policy/policy-types.d.ts +55 -5
- package/dist/policy/policy-types.d.ts.map +1 -1
- package/dist/policy/policy-types.js +8 -1
- package/dist/policy/policy-types.js.map +1 -1
- package/dist/policy/risk-level.d.ts +32 -3
- package/dist/policy/risk-level.d.ts.map +1 -1
- package/dist/policy/risk-level.js +32 -3
- package/dist/policy/risk-level.js.map +1 -1
- package/dist/policy/spending-limits.d.ts +29 -3
- package/dist/policy/spending-limits.d.ts.map +1 -1
- package/dist/policy/spending-limits.js +29 -3
- package/dist/policy/spending-limits.js.map +1 -1
- package/dist/premium/activation-manager.d.ts +43 -0
- package/dist/premium/activation-manager.d.ts.map +1 -0
- package/dist/premium/activation-manager.js +131 -0
- package/dist/premium/activation-manager.js.map +1 -0
- package/dist/premium/builtin-plugins.d.ts +143 -0
- package/dist/premium/builtin-plugins.d.ts.map +1 -0
- package/dist/premium/builtin-plugins.js +394 -0
- package/dist/premium/builtin-plugins.js.map +1 -0
- package/dist/premium/event-store.d.ts +61 -0
- package/dist/premium/event-store.d.ts.map +1 -0
- package/dist/premium/event-store.js +130 -0
- package/dist/premium/event-store.js.map +1 -0
- package/dist/premium/index.d.ts +54 -0
- package/dist/premium/index.d.ts.map +1 -0
- package/dist/premium/index.js +54 -0
- package/dist/premium/index.js.map +1 -0
- package/dist/premium/manifest-builder.d.ts +65 -0
- package/dist/premium/manifest-builder.d.ts.map +1 -0
- package/dist/premium/manifest-builder.js +182 -0
- package/dist/premium/manifest-builder.js.map +1 -0
- package/dist/premium/meme-radar-capabilities.d.ts +38 -0
- package/dist/premium/meme-radar-capabilities.d.ts.map +1 -0
- package/dist/premium/meme-radar-capabilities.js +306 -0
- package/dist/premium/meme-radar-capabilities.js.map +1 -0
- package/dist/premium/metrics.d.ts +27 -0
- package/dist/premium/metrics.d.ts.map +1 -0
- package/dist/premium/metrics.js +65 -0
- package/dist/premium/metrics.js.map +1 -0
- package/dist/premium/plugin-validator.d.ts +39 -0
- package/dist/premium/plugin-validator.d.ts.map +1 -0
- package/dist/premium/plugin-validator.js +325 -0
- package/dist/premium/plugin-validator.js.map +1 -0
- package/dist/premium/private-manifest-loader.d.ts +111 -0
- package/dist/premium/private-manifest-loader.d.ts.map +1 -0
- package/dist/premium/private-manifest-loader.js +285 -0
- package/dist/premium/private-manifest-loader.js.map +1 -0
- package/dist/premium/provider-bridge.d.ts +109 -0
- package/dist/premium/provider-bridge.d.ts.map +1 -0
- package/dist/premium/provider-bridge.js +239 -0
- package/dist/premium/provider-bridge.js.map +1 -0
- package/dist/premium/session-manager.d.ts +125 -0
- package/dist/premium/session-manager.d.ts.map +1 -0
- package/dist/premium/session-manager.js +337 -0
- package/dist/premium/session-manager.js.map +1 -0
- package/dist/premium/stream-broker.d.ts +98 -0
- package/dist/premium/stream-broker.d.ts.map +1 -0
- package/dist/premium/stream-broker.js +199 -0
- package/dist/premium/stream-broker.js.map +1 -0
- package/dist/premium/tech-fundamentals-capabilities.d.ts +37 -0
- package/dist/premium/tech-fundamentals-capabilities.d.ts.map +1 -0
- package/dist/premium/tech-fundamentals-capabilities.js +283 -0
- package/dist/premium/tech-fundamentals-capabilities.js.map +1 -0
- package/dist/premium/trading-capabilities.d.ts +36 -0
- package/dist/premium/trading-capabilities.d.ts.map +1 -0
- package/dist/premium/trading-capabilities.js +205 -0
- package/dist/premium/trading-capabilities.js.map +1 -0
- package/dist/premium/types.d.ts +518 -0
- package/dist/premium/types.d.ts.map +1 -0
- package/dist/premium/types.js +23 -0
- package/dist/premium/types.js.map +1 -0
- package/dist/premium/webhook-engine.d.ts +138 -0
- package/dist/premium/webhook-engine.d.ts.map +1 -0
- package/dist/premium/webhook-engine.js +510 -0
- package/dist/premium/webhook-engine.js.map +1 -0
- package/dist/prompts/context/sap-agent-context.prompt.d.ts +5 -0
- package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -1
- package/dist/prompts/context/sap-agent-context.prompt.js +2 -8
- package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
- package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts +14 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts.map +1 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.js +155 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.js.map +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
- package/dist/prompts/developer/debug-sap-error.prompt.d.ts +5 -0
- package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -1
- package/dist/prompts/developer/debug-sap-error.prompt.js +3 -4
- package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -1
- package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +5 -0
- package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -1
- package/dist/prompts/developer/generate-sap-integration.prompt.js +3 -4
- package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
- package/dist/prompts/developer/index.d.ts +4 -1
- package/dist/prompts/developer/index.d.ts.map +1 -1
- package/dist/prompts/developer/index.js +4 -1
- package/dist/prompts/developer/index.js.map +1 -1
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +5 -0
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -1
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +3 -4
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -1
- package/dist/prompts/execution-proof/index.d.ts +4 -1
- package/dist/prompts/execution-proof/index.d.ts.map +1 -1
- package/dist/prompts/execution-proof/index.js +4 -1
- package/dist/prompts/execution-proof/index.js.map +1 -1
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +5 -0
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -1
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +3 -4
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -1
- package/dist/prompts/index.d.ts +4 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/payments/create-paid-api.prompt.d.ts +5 -0
- package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -1
- package/dist/prompts/payments/create-paid-api.prompt.js +3 -4
- package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +5 -0
- package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.js +3 -4
- package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -1
- package/dist/prompts/payments/index.d.ts +4 -1
- package/dist/prompts/payments/index.d.ts.map +1 -1
- package/dist/prompts/payments/index.js +4 -1
- package/dist/prompts/payments/index.js.map +1 -1
- package/dist/prompts/register-prompts.d.ts +18 -2
- package/dist/prompts/register-prompts.d.ts.map +1 -1
- package/dist/prompts/register-prompts.js +21 -3
- package/dist/prompts/register-prompts.js.map +1 -1
- package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +5 -0
- package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -1
- package/dist/prompts/registry/analyze-sap-agent.prompt.js +3 -4
- package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -1
- package/dist/prompts/registry/index.d.ts +4 -1
- package/dist/prompts/registry/index.d.ts.map +1 -1
- package/dist/prompts/registry/index.js +4 -1
- package/dist/prompts/registry/index.js.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.d.ts +5 -0
- package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.js +3 -4
- package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
- package/dist/remote/premium-memory.d.ts +90 -0
- package/dist/remote/premium-memory.d.ts.map +1 -0
- package/dist/remote/premium-memory.js +161 -0
- package/dist/remote/premium-memory.js.map +1 -0
- package/dist/remote/premium-routes.d.ts +99 -0
- package/dist/remote/premium-routes.d.ts.map +1 -0
- package/dist/remote/premium-routes.js +346 -0
- package/dist/remote/premium-routes.js.map +1 -0
- package/dist/remote/public-home/sections.d.ts.map +1 -1
- package/dist/remote/public-home/sections.js +7 -1
- package/dist/remote/public-home/sections.js.map +1 -1
- package/dist/remote/public-home/types.d.ts +6 -0
- package/dist/remote/public-home/types.d.ts.map +1 -1
- package/dist/remote/server.d.ts +18 -0
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +298 -116
- package/dist/remote/server.js.map +1 -1
- package/dist/remote/tx-relay.d.ts +42 -0
- package/dist/remote/tx-relay.d.ts.map +1 -0
- package/dist/remote/tx-relay.js +118 -0
- package/dist/remote/tx-relay.js.map +1 -0
- package/dist/resources/current/sap-current-config.resource.d.ts +5 -0
- package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
- package/dist/resources/current/sap-current-config.resource.js +2 -5
- package/dist/resources/current/sap-current-config.resource.js.map +1 -1
- package/dist/resources/execution-proof/index.d.ts +5 -0
- package/dist/resources/execution-proof/index.d.ts.map +1 -1
- package/dist/resources/execution-proof/index.js +5 -0
- package/dist/resources/execution-proof/index.js.map +1 -1
- package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +5 -0
- package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -1
- package/dist/resources/execution-proof/sap-execution-record.resource.js +3 -4
- package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -1
- package/dist/resources/index.d.ts +5 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/memory/index.d.ts +5 -0
- package/dist/resources/memory/index.d.ts.map +1 -1
- package/dist/resources/memory/index.js +5 -0
- package/dist/resources/memory/index.js.map +1 -1
- package/dist/resources/memory/sap-memory.resource.d.ts +5 -0
- package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -1
- package/dist/resources/memory/sap-memory.resource.js +3 -4
- package/dist/resources/memory/sap-memory.resource.js.map +1 -1
- package/dist/resources/profile/sap-active-profile.resource.d.ts +5 -0
- package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -1
- package/dist/resources/profile/sap-active-profile.resource.js +2 -5
- package/dist/resources/profile/sap-active-profile.resource.js.map +1 -1
- package/dist/resources/register-resources.d.ts +5 -0
- package/dist/resources/register-resources.d.ts.map +1 -1
- package/dist/resources/register-resources.js +3 -1
- package/dist/resources/register-resources.js.map +1 -1
- package/dist/resources/registry/index.d.ts +5 -0
- package/dist/resources/registry/index.d.ts.map +1 -1
- package/dist/resources/registry/index.js +5 -0
- package/dist/resources/registry/index.js.map +1 -1
- package/dist/resources/registry/sap-agent.resource.d.ts +5 -0
- package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -1
- package/dist/resources/registry/sap-agent.resource.js +3 -4
- package/dist/resources/registry/sap-agent.resource.js.map +1 -1
- package/dist/resources/registry/sap-global-registry.resource.d.ts +18 -4
- package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -1
- package/dist/resources/registry/sap-global-registry.resource.js +18 -4
- package/dist/resources/registry/sap-global-registry.resource.js.map +1 -1
- package/dist/resources/reputation/index.d.ts +4 -1
- package/dist/resources/reputation/index.d.ts.map +1 -1
- package/dist/resources/reputation/index.js +4 -1
- package/dist/resources/reputation/index.js.map +1 -1
- package/dist/resources/reputation/sap-reputation.resource.d.ts +18 -4
- package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -1
- package/dist/resources/reputation/sap-reputation.resource.js +18 -4
- package/dist/resources/reputation/sap-reputation.resource.js.map +1 -1
- package/dist/resources/tool-schema/index.d.ts +4 -1
- package/dist/resources/tool-schema/index.d.ts.map +1 -1
- package/dist/resources/tool-schema/index.js +4 -1
- package/dist/resources/tool-schema/index.js.map +1 -1
- package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +18 -4
- package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -1
- package/dist/resources/tool-schema/sap-tool-schema.resource.js +18 -4
- package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -1
- package/dist/sap/index.d.ts +7 -1
- package/dist/sap/index.d.ts.map +1 -1
- package/dist/sap/index.js +7 -1
- package/dist/sap/index.js.map +1 -1
- package/dist/sap/sap-client-manager.d.ts +80 -13
- package/dist/sap/sap-client-manager.d.ts.map +1 -1
- package/dist/sap/sap-client-manager.js +80 -13
- package/dist/sap/sap-client-manager.js.map +1 -1
- package/dist/sap/sap-errors.d.ts +22 -3
- package/dist/sap/sap-errors.d.ts.map +1 -1
- package/dist/sap/sap-errors.js +22 -3
- package/dist/sap/sap-errors.js.map +1 -1
- package/dist/sap/sap-types.d.ts +75 -6
- package/dist/sap/sap-types.d.ts.map +1 -1
- package/dist/sap/sap-types.js +11 -1
- package/dist/sap/sap-types.js.map +1 -1
- package/dist/schemas/common.schema.d.ts +45 -8
- package/dist/schemas/common.schema.d.ts.map +1 -1
- package/dist/schemas/common.schema.js +45 -8
- package/dist/schemas/common.schema.js.map +1 -1
- package/dist/schemas/developer.schema.d.ts +22 -3
- package/dist/schemas/developer.schema.d.ts.map +1 -1
- package/dist/schemas/developer.schema.js +22 -3
- package/dist/schemas/developer.schema.js.map +1 -1
- package/dist/schemas/execution-proof.schema.d.ts +29 -4
- package/dist/schemas/execution-proof.schema.d.ts.map +1 -1
- package/dist/schemas/execution-proof.schema.js +29 -4
- package/dist/schemas/execution-proof.schema.js.map +1 -1
- package/dist/schemas/identity.schema.d.ts +23 -3
- package/dist/schemas/identity.schema.d.ts.map +1 -1
- package/dist/schemas/identity.schema.js +23 -3
- package/dist/schemas/identity.schema.js.map +1 -1
- package/dist/schemas/index.d.ts +11 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +11 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/memory.schema.d.ts +23 -3
- package/dist/schemas/memory.schema.d.ts.map +1 -1
- package/dist/schemas/memory.schema.js +23 -3
- package/dist/schemas/memory.schema.js.map +1 -1
- package/dist/schemas/payments.schema.d.ts +24 -3
- package/dist/schemas/payments.schema.d.ts.map +1 -1
- package/dist/schemas/payments.schema.js +24 -3
- package/dist/schemas/payments.schema.js.map +1 -1
- package/dist/schemas/registry.schema.d.ts +36 -4
- package/dist/schemas/registry.schema.d.ts.map +1 -1
- package/dist/schemas/registry.schema.js +36 -4
- package/dist/schemas/registry.schema.js.map +1 -1
- package/dist/schemas/reputation.schema.d.ts +22 -3
- package/dist/schemas/reputation.schema.d.ts.map +1 -1
- package/dist/schemas/reputation.schema.js +22 -3
- package/dist/schemas/reputation.schema.js.map +1 -1
- package/dist/schemas/settlement.schema.d.ts +31 -4
- package/dist/schemas/settlement.schema.d.ts.map +1 -1
- package/dist/schemas/settlement.schema.js +31 -4
- package/dist/schemas/settlement.schema.js.map +1 -1
- package/dist/schemas/tool-schema.schema.d.ts +29 -3
- package/dist/schemas/tool-schema.schema.d.ts.map +1 -1
- package/dist/schemas/tool-schema.schema.js +29 -3
- package/dist/schemas/tool-schema.schema.js.map +1 -1
- package/dist/schemas/transaction.schema.d.ts +23 -3
- package/dist/schemas/transaction.schema.d.ts.map +1 -1
- package/dist/schemas/transaction.schema.js +23 -3
- package/dist/schemas/transaction.schema.js.map +1 -1
- package/dist/security/approval-required.d.ts +19 -2
- package/dist/security/approval-required.d.ts.map +1 -1
- package/dist/security/approval-required.js +19 -2
- package/dist/security/approval-required.js.map +1 -1
- package/dist/security/index.d.ts +7 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +7 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/private-key-guard.d.ts +18 -2
- package/dist/security/private-key-guard.d.ts.map +1 -1
- package/dist/security/private-key-guard.js +19 -2
- package/dist/security/private-key-guard.js.map +1 -1
- package/dist/security/prompt-injection-notes.d.ts +10 -1
- package/dist/security/prompt-injection-notes.d.ts.map +1 -1
- package/dist/security/prompt-injection-notes.js +10 -1
- package/dist/security/prompt-injection-notes.js.map +1 -1
- package/dist/security/unsafe-action-guard.d.ts +36 -10
- package/dist/security/unsafe-action-guard.d.ts.map +1 -1
- package/dist/security/unsafe-action-guard.js +67 -15
- package/dist/security/unsafe-action-guard.js.map +1 -1
- package/dist/server/create-server.d.ts +18 -3
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +18 -3
- package/dist/server/create-server.js.map +1 -1
- package/dist/server/index.d.ts +6 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/register-capabilities.d.ts +17 -2
- package/dist/server/register-capabilities.d.ts.map +1 -1
- package/dist/server/register-capabilities.js +17 -2
- package/dist/server/register-capabilities.js.map +1 -1
- package/dist/server/server-metadata.d.ts +35 -1
- package/dist/server/server-metadata.d.ts.map +1 -1
- package/dist/server/server-metadata.js +36 -2
- package/dist/server/server-metadata.js.map +1 -1
- package/dist/session/agent-session.d.ts +35 -4
- package/dist/session/agent-session.d.ts.map +1 -1
- package/dist/session/agent-session.js +35 -4
- package/dist/session/agent-session.js.map +1 -1
- package/dist/session/delegated-session.d.ts +31 -3
- package/dist/session/delegated-session.d.ts.map +1 -1
- package/dist/session/delegated-session.js +31 -3
- package/dist/session/delegated-session.js.map +1 -1
- package/dist/session/index.d.ts +7 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +7 -1
- package/dist/session/index.js.map +1 -1
- package/dist/session/redis-session-store.d.ts +94 -21
- package/dist/session/redis-session-store.d.ts.map +1 -1
- package/dist/session/redis-session-store.js +87 -20
- package/dist/session/redis-session-store.js.map +1 -1
- package/dist/session/session-limits.d.ts +34 -4
- package/dist/session/session-limits.d.ts.map +1 -1
- package/dist/session/session-limits.js +34 -4
- package/dist/session/session-limits.js.map +1 -1
- package/dist/session/session-permissions.d.ts +57 -7
- package/dist/session/session-permissions.d.ts.map +1 -1
- package/dist/session/session-permissions.js +57 -7
- package/dist/session/session-permissions.js.map +1 -1
- package/dist/session/session-store.d.ts +9 -1
- package/dist/session/session-store.d.ts.map +1 -1
- package/dist/session/session-store.js +18 -3
- package/dist/session/session-store.js.map +1 -1
- package/dist/session/session-types.d.ts +33 -4
- package/dist/session/session-types.d.ts.map +1 -1
- package/dist/session/session-types.js +9 -1
- package/dist/session/session-types.js.map +1 -1
- package/dist/signer/index.d.ts +7 -1
- package/dist/signer/index.d.ts.map +1 -1
- package/dist/signer/index.js +7 -1
- package/dist/signer/index.js.map +1 -1
- package/dist/signer/load-keypair.d.ts +25 -4
- package/dist/signer/load-keypair.d.ts.map +1 -1
- package/dist/signer/load-keypair.js +25 -4
- package/dist/signer/load-keypair.js.map +1 -1
- package/dist/signer/local-keypair-signer.d.ts +16 -2
- package/dist/signer/local-keypair-signer.d.ts.map +1 -1
- package/dist/signer/local-keypair-signer.js +16 -2
- package/dist/signer/local-keypair-signer.js.map +1 -1
- package/dist/signer/signer-resolver.d.ts +19 -2
- package/dist/signer/signer-resolver.d.ts.map +1 -1
- package/dist/signer/signer-resolver.js +26 -3
- package/dist/signer/signer-resolver.js.map +1 -1
- package/dist/signer/signer-types.d.ts +47 -5
- package/dist/signer/signer-types.d.ts.map +1 -1
- package/dist/signer/signer-types.js +13 -1
- package/dist/signer/signer-types.js.map +1 -1
- package/dist/tools/agent-start-tool.js +20 -1
- package/dist/tools/agent-start-tool.js.map +1 -1
- package/dist/tools/client-sdk-tools.d.ts.map +1 -1
- package/dist/tools/client-sdk-tools.js +27 -2
- package/dist/tools/client-sdk-tools.js.map +1 -1
- package/dist/tools/estimate-tool-cost.d.ts +13 -0
- package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
- package/dist/tools/estimate-tool-cost.js +139 -0
- package/dist/tools/estimate-tool-cost.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/magicblock-tools.d.ts +25 -0
- package/dist/tools/magicblock-tools.d.ts.map +1 -1
- package/dist/tools/magicblock-tools.js +116 -8
- package/dist/tools/magicblock-tools.js.map +1 -1
- package/dist/tools/perp-tools.d.ts +39 -0
- package/dist/tools/perp-tools.d.ts.map +1 -0
- package/dist/tools/perp-tools.js +1110 -0
- package/dist/tools/perp-tools.js.map +1 -0
- package/dist/tools/premium-tools.d.ts +8 -0
- package/dist/tools/premium-tools.d.ts.map +1 -0
- package/dist/tools/premium-tools.js +1096 -0
- package/dist/tools/premium-tools.js.map +1 -0
- package/dist/tools/quick-context-tool.d.ts +16 -0
- package/dist/tools/quick-context-tool.d.ts.map +1 -0
- package/dist/tools/quick-context-tool.js +228 -0
- package/dist/tools/quick-context-tool.js.map +1 -0
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +14 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
- package/dist/tools/sap-sdk-tools.js +42 -32
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/skills-tools.d.ts +6 -0
- package/dist/tools/skills-tools.d.ts.map +1 -1
- package/dist/tools/skills-tools.js +5 -4
- package/dist/tools/skills-tools.js.map +1 -1
- package/dist/tools/x402-paid-call-tool.js +2 -2
- package/dist/tools/x402-paid-call-tool.js.map +1 -1
- package/dist/transports/index.d.ts +6 -1
- package/dist/transports/index.d.ts.map +1 -1
- package/dist/transports/index.js +6 -1
- package/dist/transports/index.js.map +1 -1
- package/dist/transports/stdio.d.ts +17 -5
- package/dist/transports/stdio.d.ts.map +1 -1
- package/dist/transports/stdio.js +17 -5
- package/dist/transports/stdio.js.map +1 -1
- package/dist/tui/wizard-save.d.ts +88 -8
- package/dist/tui/wizard-save.d.ts.map +1 -1
- package/dist/tui/wizard-save.js +77 -8
- package/dist/tui/wizard-save.js.map +1 -1
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +3 -3
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +4 -1
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
- package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +6 -0
- package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
- package/docs/BRANCH_AND_CI.md +67 -0
- package/docs/README.md +12 -0
- package/package.json +8 -9
- package/server.json +3 -3
- package/skills/sap-agent-registry/SKILL.md +6 -0
- package/skills/sap-mcp/SKILL.md +27 -4
- package/skills/sap-mcp/TOOL_REFERENCE.md +4 -1
- package/skills/sap-payments-x402/SKILL.md +22 -8
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/meme-radar-capabilities
|
|
3
|
+
* @description Built-in premium meme radar capabilities for Solana meme token analysis.
|
|
4
|
+
*
|
|
5
|
+
* Defines 4 premium meme radar capabilities across 1 plugin:
|
|
6
|
+
*
|
|
7
|
+
* 1. `sap-premium-meme-radar` — Meme token intelligence:
|
|
8
|
+
* - `meme.newlisting.alert` — New token listing alerts (webhook)
|
|
9
|
+
* - `meme.social.sentiment` — Social sentiment stream (stream)
|
|
10
|
+
* - `meme.rugpull.detector` — Rugpull risk monitoring (stream)
|
|
11
|
+
* - `meme.volume.spike` — DEX volume anomaly detection (stream)
|
|
12
|
+
*
|
|
13
|
+
* These capabilities are contracts only — they become live when the corresponding
|
|
14
|
+
* provider env vars are configured and a provider adapter is loaded from the
|
|
15
|
+
* private subrepo.
|
|
16
|
+
*
|
|
17
|
+
* @flow
|
|
18
|
+
* 1. Agent discovers meme radar capabilities via `sap_premium_plugin_catalog`.
|
|
19
|
+
* 2. Agent creates a session plan for a meme stream or webhook.
|
|
20
|
+
* 3. Agent activates the session with x402/pay.sh receipt.
|
|
21
|
+
* 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
|
|
22
|
+
* 5. Agent registers webhooks for listing alerts via `POST /premium/webhook/register`.
|
|
23
|
+
* 6. Provider adapter in the private subrepo feeds real meme token data.
|
|
24
|
+
*
|
|
25
|
+
* @module premium/meme-radar-capabilities
|
|
26
|
+
*/
|
|
27
|
+
/* -------------------------------------------------------------------------- */
|
|
28
|
+
/* Shared schemas */
|
|
29
|
+
/* -------------------------------------------------------------------------- */
|
|
30
|
+
/**
|
|
31
|
+
* @description Input schema for meme stream capabilities. Requires a
|
|
32
|
+
* `subscriptionKey` for de-duplication and supports narrow filters for
|
|
33
|
+
* mints, minimum liquidity, and minimum volume thresholds.
|
|
34
|
+
*/
|
|
35
|
+
const memeStreamInputSchema = {
|
|
36
|
+
type: 'object',
|
|
37
|
+
required: ['subscriptionKey'],
|
|
38
|
+
properties: {
|
|
39
|
+
subscriptionKey: {
|
|
40
|
+
type: 'string',
|
|
41
|
+
minLength: 3,
|
|
42
|
+
description: 'Stable subscription key for de-duplication. Use a hash of mint + strategy id.',
|
|
43
|
+
},
|
|
44
|
+
mints: {
|
|
45
|
+
type: 'array',
|
|
46
|
+
items: { type: 'string', minLength: 32, maxLength: 44 },
|
|
47
|
+
description: 'Token mint addresses to watch. Empty = all tokens.',
|
|
48
|
+
},
|
|
49
|
+
minLiquidityUsd: {
|
|
50
|
+
type: 'number',
|
|
51
|
+
minimum: 0,
|
|
52
|
+
description: 'Minimum pool liquidity in USD to emit an event. Filters low-liquidity noise.',
|
|
53
|
+
},
|
|
54
|
+
minVolumeUsd: {
|
|
55
|
+
type: 'number',
|
|
56
|
+
minimum: 0,
|
|
57
|
+
description: 'Minimum 24h volume in USD to emit an event. Filters low-volume tokens.',
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
additionalProperties: false,
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* @description Output schema for meme stream events. Each event carries
|
|
64
|
+
* a signal type, actionable data (sentiment, risk, volume), and metadata
|
|
65
|
+
* for decision-making by the agent.
|
|
66
|
+
*/
|
|
67
|
+
const memeStreamOutputSchema = {
|
|
68
|
+
type: 'object',
|
|
69
|
+
required: ['eventId', 'eventType', 'observedAt', 'payload'],
|
|
70
|
+
properties: {
|
|
71
|
+
eventId: {
|
|
72
|
+
type: 'string',
|
|
73
|
+
description: 'Stable event id for idempotent execution and replay.',
|
|
74
|
+
},
|
|
75
|
+
eventType: {
|
|
76
|
+
type: 'string',
|
|
77
|
+
enum: [
|
|
78
|
+
'social.sentiment',
|
|
79
|
+
'rugpull.risk',
|
|
80
|
+
'volume.spike',
|
|
81
|
+
],
|
|
82
|
+
description: 'Meme radar event type determining the payload structure.',
|
|
83
|
+
},
|
|
84
|
+
observedAt: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
format: 'date-time',
|
|
87
|
+
description: 'ISO timestamp when the provider observed the meme token condition.',
|
|
88
|
+
},
|
|
89
|
+
payload: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
required: ['mint', 'action', 'confidence'],
|
|
92
|
+
properties: {
|
|
93
|
+
mint: { type: 'string', description: 'Token mint address.' },
|
|
94
|
+
action: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
enum: ['buy', 'sell', 'monitor', 'alert', 'avoid'],
|
|
97
|
+
description: 'Recommended agent action.',
|
|
98
|
+
},
|
|
99
|
+
confidence: {
|
|
100
|
+
type: 'number',
|
|
101
|
+
minimum: 0,
|
|
102
|
+
maximum: 1,
|
|
103
|
+
description: 'Signal confidence score (0-1).',
|
|
104
|
+
},
|
|
105
|
+
bullScore: { type: 'number', description: 'Bullish sentiment score (0-100).' },
|
|
106
|
+
bearScore: { type: 'number', description: 'Bearish sentiment score (0-100).' },
|
|
107
|
+
liquidityUsd: { type: 'number', description: 'Current pool liquidity in USD.' },
|
|
108
|
+
volume24hUsd: { type: 'number', description: '24-hour trading volume in USD.' },
|
|
109
|
+
volumeChangePct: { type: 'number', description: 'Volume change percentage vs baseline.' },
|
|
110
|
+
devWalletHoldingPct: { type: 'number', description: 'Dev wallet holding percentage.' },
|
|
111
|
+
mintAuthority: { type: 'boolean', description: 'Whether mint authority is still active.' },
|
|
112
|
+
freezeAuthority: { type: 'boolean', description: 'Whether freeze authority is still active.' },
|
|
113
|
+
honeypotRisk: { type: 'boolean', description: 'Whether honeypot risk was detected.' },
|
|
114
|
+
riskLevel: {
|
|
115
|
+
type: 'string',
|
|
116
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
117
|
+
description: 'Rugpull risk level.',
|
|
118
|
+
},
|
|
119
|
+
expiresAt: { type: 'string', format: 'date-time', description: 'Signal expiry timestamp.' },
|
|
120
|
+
},
|
|
121
|
+
additionalProperties: true,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
additionalProperties: false,
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* @description Input schema for meme webhook capabilities. The buyer
|
|
128
|
+
* provides an HTTPS endpoint and selects which event types to receive.
|
|
129
|
+
*/
|
|
130
|
+
const memeWebhookInputSchema = {
|
|
131
|
+
type: 'object',
|
|
132
|
+
required: ['targetUrl', 'events'],
|
|
133
|
+
properties: {
|
|
134
|
+
targetUrl: {
|
|
135
|
+
type: 'string',
|
|
136
|
+
format: 'uri',
|
|
137
|
+
description: 'HTTPS webhook endpoint owned by the trading agent.',
|
|
138
|
+
},
|
|
139
|
+
events: {
|
|
140
|
+
type: 'array',
|
|
141
|
+
minItems: 1,
|
|
142
|
+
items: {
|
|
143
|
+
type: 'string',
|
|
144
|
+
enum: ['meme.newlisting.alert'],
|
|
145
|
+
},
|
|
146
|
+
description: 'Event types to deliver to this webhook.',
|
|
147
|
+
},
|
|
148
|
+
minLiquidityUsd: {
|
|
149
|
+
type: 'number',
|
|
150
|
+
minimum: 0,
|
|
151
|
+
description: 'Minimum liquidity in USD for listing alerts. Filters low-liquidity tokens.',
|
|
152
|
+
},
|
|
153
|
+
honeypotCheck: {
|
|
154
|
+
type: 'boolean',
|
|
155
|
+
description: 'Whether to run honeypot scan on new listings. Default: true.',
|
|
156
|
+
},
|
|
157
|
+
devWalletCheck: {
|
|
158
|
+
type: 'boolean',
|
|
159
|
+
description: 'Whether to analyze dev wallet holdings and movements. Default: true.',
|
|
160
|
+
},
|
|
161
|
+
signingPublicKey: {
|
|
162
|
+
type: 'string',
|
|
163
|
+
description: 'Optional public key for webhook signature verification.',
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
additionalProperties: false,
|
|
167
|
+
};
|
|
168
|
+
/**
|
|
169
|
+
* @description Output schema for meme webhook deliveries.
|
|
170
|
+
*/
|
|
171
|
+
const memeWebhookOutputSchema = {
|
|
172
|
+
type: 'object',
|
|
173
|
+
required: ['deliveryId', 'eventType', 'deliveredAt', 'signature', 'payload'],
|
|
174
|
+
properties: {
|
|
175
|
+
deliveryId: { type: 'string', description: 'Idempotent delivery id.' },
|
|
176
|
+
eventType: { type: 'string', description: 'Meme radar event type.' },
|
|
177
|
+
deliveredAt: { type: 'string', format: 'date-time', description: 'ISO delivery timestamp.' },
|
|
178
|
+
signature: { type: 'string', description: 'HMAC-SHA256 signature.' },
|
|
179
|
+
payload: {
|
|
180
|
+
type: 'object',
|
|
181
|
+
additionalProperties: true,
|
|
182
|
+
description: 'Meme radar payload with listing details, honeypot scan, and dev wallet analysis.',
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
additionalProperties: false,
|
|
186
|
+
};
|
|
187
|
+
/* -------------------------------------------------------------------------- */
|
|
188
|
+
/* Capability factory */
|
|
189
|
+
/* -------------------------------------------------------------------------- */
|
|
190
|
+
/**
|
|
191
|
+
* @name memeStreamCapability
|
|
192
|
+
* @description Factory for building a meme radar stream capability definition.
|
|
193
|
+
*
|
|
194
|
+
* @param id - Capability id (e.g. `meme.social.sentiment`).
|
|
195
|
+
* @param title - Human-readable title.
|
|
196
|
+
* @param description - Agent-facing description.
|
|
197
|
+
* @param events - Event types this stream emits.
|
|
198
|
+
* @param unitPriceUsd - Price per minute in USD.
|
|
199
|
+
* @param providerEnv - Required provider env vars.
|
|
200
|
+
* @returns A `PremiumCapabilityDefinition` with type `stream`.
|
|
201
|
+
*
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
function memeStreamCapability(id, title, description, events, unitPriceUsd, providerEnv) {
|
|
205
|
+
return {
|
|
206
|
+
id,
|
|
207
|
+
type: 'stream',
|
|
208
|
+
title,
|
|
209
|
+
description,
|
|
210
|
+
status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
|
|
211
|
+
requiresProvider: providerEnv.length > 0,
|
|
212
|
+
providerEnv,
|
|
213
|
+
inputSchema: memeStreamInputSchema,
|
|
214
|
+
outputSchema: memeStreamOutputSchema,
|
|
215
|
+
pricing: {
|
|
216
|
+
tier: 'premium-stream',
|
|
217
|
+
model: 'x402-per-minute',
|
|
218
|
+
unit: 'minute',
|
|
219
|
+
unitPriceUsd,
|
|
220
|
+
minUnits: 1,
|
|
221
|
+
maxUnits: 480, // up to 8 hours of streaming
|
|
222
|
+
settlement: 'x402',
|
|
223
|
+
},
|
|
224
|
+
delivery: {
|
|
225
|
+
transport: 'mcp-streamable-http',
|
|
226
|
+
events,
|
|
227
|
+
latencyTargetMs: 500,
|
|
228
|
+
replayWindowSeconds: 180,
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* @name memeWebhookCapability
|
|
234
|
+
* @description Factory for building a meme radar webhook capability definition.
|
|
235
|
+
*
|
|
236
|
+
* @param id - Capability id (e.g. `meme.newlisting.alert`).
|
|
237
|
+
* @param title - Human-readable title.
|
|
238
|
+
* @param description - Agent-facing description.
|
|
239
|
+
* @param events - Event types this webhook delivers.
|
|
240
|
+
* @param unitPriceUsd - Price per delivered event in USD.
|
|
241
|
+
* @param providerEnv - Required provider env vars.
|
|
242
|
+
* @returns A `PremiumCapabilityDefinition` with type `webhook`.
|
|
243
|
+
*
|
|
244
|
+
* @internal
|
|
245
|
+
*/
|
|
246
|
+
function memeWebhookCapability(id, title, description, events, unitPriceUsd, providerEnv) {
|
|
247
|
+
return {
|
|
248
|
+
id,
|
|
249
|
+
type: 'webhook',
|
|
250
|
+
title,
|
|
251
|
+
description,
|
|
252
|
+
status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
|
|
253
|
+
requiresProvider: providerEnv.length > 0,
|
|
254
|
+
providerEnv,
|
|
255
|
+
inputSchema: memeWebhookInputSchema,
|
|
256
|
+
outputSchema: memeWebhookOutputSchema,
|
|
257
|
+
pricing: {
|
|
258
|
+
tier: 'premium-webhook',
|
|
259
|
+
model: 'x402-per-event',
|
|
260
|
+
unit: 'event',
|
|
261
|
+
unitPriceUsd,
|
|
262
|
+
minUnits: 5,
|
|
263
|
+
maxUnits: 50_000,
|
|
264
|
+
settlement: 'x402',
|
|
265
|
+
},
|
|
266
|
+
delivery: {
|
|
267
|
+
transport: 'webhook-http',
|
|
268
|
+
events,
|
|
269
|
+
latencyTargetMs: 750,
|
|
270
|
+
replayWindowSeconds: 300,
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
/* -------------------------------------------------------------------------- */
|
|
275
|
+
/* Plugin manifests */
|
|
276
|
+
/* -------------------------------------------------------------------------- */
|
|
277
|
+
/**
|
|
278
|
+
* @name MEME_RADAR_PREMIUM_PLUGINS
|
|
279
|
+
* @description Built-in premium meme radar plugin manifests.
|
|
280
|
+
*
|
|
281
|
+
* One plugin covering 4 meme radar capabilities:
|
|
282
|
+
* - `sap-premium-meme-radar` — 1 webhook + 3 stream capabilities
|
|
283
|
+
*
|
|
284
|
+
* @usedBy `listPremiumPlugins()` — merged with the existing built-in plugins.
|
|
285
|
+
*/
|
|
286
|
+
export const MEME_RADAR_PREMIUM_PLUGINS = [
|
|
287
|
+
{
|
|
288
|
+
id: 'sap-premium-meme-radar',
|
|
289
|
+
version: '0.1.0',
|
|
290
|
+
title: 'SAP Premium Meme Radar',
|
|
291
|
+
description: 'Paid meme token intelligence for Solana agents: new listing alerts with honeypot and dev wallet analysis, social sentiment streams, rugpull risk monitoring, and DEX volume anomaly detection. Real-time delivery with x402 metering.',
|
|
292
|
+
publisher: 'OOBE Protocol',
|
|
293
|
+
visibility: 'public',
|
|
294
|
+
capabilities: [
|
|
295
|
+
memeWebhookCapability('meme.newlisting.alert', 'New token listing alerts', 'Delivers signed webhook callbacks when new tokens are listed on Raydium, Orca, or Meteora. Each alert includes liquidity check results, honeypot scan status, and dev wallet holding analysis. Agents receive mint address, pool details, risk flags, and recommended action for instant decision-making on new meme token opportunities.', ['meme.newlisting.alert'], 0.003, // $0.003/event
|
|
296
|
+
['SAP_MCP_PREMIUM_BIRDEYE_API_URL', 'SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
|
|
297
|
+
memeStreamCapability('meme.social.sentiment', 'Social sentiment stream', 'Streams real-time social sentiment scores for specified meme tokens. Continuously aggregates social signals from Twitter, Telegram, and Discord to produce bull/bear scores. Agents receive mint, bull score, bear score, confidence, and sentiment trend direction for social-driven trading decisions.', ['social.sentiment'], 0.02, // $0.02/min
|
|
298
|
+
['SAP_MCP_PREMIUM_BIRDEYE_API_URL']),
|
|
299
|
+
memeStreamCapability('meme.rugpull.detector', 'Rugpull risk detector', 'Continuously monitors pool liquidity changes, dev wallet movements, mint authority status, and freeze authority status for specified meme tokens. Emits risk alerts when rugpull indicators are detected — liquidity drain, dev wallet dump, mint authority activation, or freeze authority usage. Agents receive risk level, affected mint, and recommended action (avoid/exit).', ['rugpull.risk'], 0.04, // $0.04/min
|
|
300
|
+
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL', 'SAP_MCP_PREMIUM_BIRDEYE_API_URL']),
|
|
301
|
+
memeStreamCapability('meme.volume.spike', 'DEX volume anomaly detector', 'Monitors DEX trading volume for specified meme tokens and detects anomalous volume spikes that may indicate pump/dump activity. Uses statistical baselines to flag unusual volume patterns. Agents receive mint, volume change percentage, current vs baseline volume, and confidence score for volume-driven trading signals.', ['volume.spike'], 0.025, // $0.025/min
|
|
302
|
+
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL']),
|
|
303
|
+
],
|
|
304
|
+
},
|
|
305
|
+
];
|
|
306
|
+
//# sourceMappingURL=meme-radar-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meme-radar-capabilities.js","sourceRoot":"","sources":["../../src/premium/meme-radar-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/metrics
|
|
3
|
+
* @description Metrics collector for the premium subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Aggregates counts from the session manager, event store, stream broker,
|
|
6
|
+
* webhook engine, and provider bridge into a single `PremiumMetricsSnapshot`.
|
|
7
|
+
* Used by the health endpoint (`GET /premium/health.json`) and MCP monitoring
|
|
8
|
+
* tools.
|
|
9
|
+
*
|
|
10
|
+
* @flow
|
|
11
|
+
* 1. `remote/server.ts` → `GET /premium/health.json` → `getPremiumMetrics()`.
|
|
12
|
+
* 2. `premium-tools.ts` → `sap_premium_metrics` → `getPremiumMetrics()`.
|
|
13
|
+
*
|
|
14
|
+
* @module premium/metrics
|
|
15
|
+
*/
|
|
16
|
+
import type { PremiumMetricsSnapshot } from './types.js';
|
|
17
|
+
/**
|
|
18
|
+
* @name getPremiumMetrics
|
|
19
|
+
* @description Collect a point-in-time metrics snapshot of the premium subsystem.
|
|
20
|
+
*
|
|
21
|
+
* @returns `PremiumMetricsSnapshot` with current counts and provider health.
|
|
22
|
+
*
|
|
23
|
+
* @usedBy `remote/server.ts` → `GET /premium/health.json`,
|
|
24
|
+
* `premium-tools.ts` → `sap_premium_metrics`
|
|
25
|
+
*/
|
|
26
|
+
export declare function getPremiumMetrics(): Promise<PremiumMetricsSnapshot>;
|
|
27
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/premium/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAsCzE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/metrics
|
|
3
|
+
* @description Metrics collector for the premium subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Aggregates counts from the session manager, event store, stream broker,
|
|
6
|
+
* webhook engine, and provider bridge into a single `PremiumMetricsSnapshot`.
|
|
7
|
+
* Used by the health endpoint (`GET /premium/health.json`) and MCP monitoring
|
|
8
|
+
* tools.
|
|
9
|
+
*
|
|
10
|
+
* @flow
|
|
11
|
+
* 1. `remote/server.ts` → `GET /premium/health.json` → `getPremiumMetrics()`.
|
|
12
|
+
* 2. `premium-tools.ts` → `sap_premium_metrics` → `getPremiumMetrics()`.
|
|
13
|
+
*
|
|
14
|
+
* @module premium/metrics
|
|
15
|
+
*/
|
|
16
|
+
import { listPremiumSessions } from './session-manager.js';
|
|
17
|
+
import { getEventCount } from './event-store.js';
|
|
18
|
+
import { getActiveStreamCount } from './stream-broker.js';
|
|
19
|
+
import { getActiveWebhookCount } from './webhook-engine.js';
|
|
20
|
+
import { getAllProviderHealth } from './provider-bridge.js';
|
|
21
|
+
/**
|
|
22
|
+
* @name getPremiumMetrics
|
|
23
|
+
* @description Collect a point-in-time metrics snapshot of the premium subsystem.
|
|
24
|
+
*
|
|
25
|
+
* @returns `PremiumMetricsSnapshot` with current counts and provider health.
|
|
26
|
+
*
|
|
27
|
+
* @usedBy `remote/server.ts` → `GET /premium/health.json`,
|
|
28
|
+
* `premium-tools.ts` → `sap_premium_metrics`
|
|
29
|
+
*/
|
|
30
|
+
export async function getPremiumMetrics() {
|
|
31
|
+
const sessions = listPremiumSessions();
|
|
32
|
+
let activeSessions = 0;
|
|
33
|
+
let pendingSessions = 0;
|
|
34
|
+
let blockedSessions = 0;
|
|
35
|
+
let totalRevenueUsd = 0;
|
|
36
|
+
for (const session of sessions) {
|
|
37
|
+
switch (session.status) {
|
|
38
|
+
case 'active':
|
|
39
|
+
activeSessions++;
|
|
40
|
+
totalRevenueUsd += session.estimatedPriceUsd;
|
|
41
|
+
break;
|
|
42
|
+
case 'pending_payment':
|
|
43
|
+
pendingSessions++;
|
|
44
|
+
break;
|
|
45
|
+
case 'blocked_requires_provider':
|
|
46
|
+
blockedSessions++;
|
|
47
|
+
break;
|
|
48
|
+
default:
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const providerHealth = await getAllProviderHealth();
|
|
53
|
+
return {
|
|
54
|
+
activeSessions,
|
|
55
|
+
pendingSessions,
|
|
56
|
+
blockedSessions,
|
|
57
|
+
totalSessionsCreated: sessions.length,
|
|
58
|
+
totalEventsDelivered: getEventCount(),
|
|
59
|
+
totalRevenueUsd: Number(totalRevenueUsd.toFixed(6)),
|
|
60
|
+
activeStreams: getActiveStreamCount(),
|
|
61
|
+
activeWebhooks: getActiveWebhookCount(),
|
|
62
|
+
providerHealth,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/premium/metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,cAAc,EAAE,CAAC;gBACjB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC;gBAC7C,MAAM;YACR,KAAK,iBAAiB;gBACpB,eAAe,EAAE,CAAC;gBAClB,MAAM;YACR,KAAK,2BAA2B;gBAC9B,eAAe,EAAE,CAAC;gBAClB,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAEpD,OAAO;QACL,cAAc;QACd,eAAe;QACf,eAAe;QACf,oBAAoB,EAAE,QAAQ,CAAC,MAAM;QACrC,oBAAoB,EAAE,aAAa,EAAE;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnD,aAAa,EAAE,oBAAoB,EAAE;QACrC,cAAc,EAAE,qBAAqB,EAAE;QACvC,cAAc;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/plugin-validator
|
|
3
|
+
* @description Strict structural validator for premium plugin manifests.
|
|
4
|
+
*
|
|
5
|
+
* Validates unknown JSON objects against the `PremiumPluginManifest` shape,
|
|
6
|
+
* rejecting unknown fields (so private provider secrets or executable code
|
|
7
|
+
* cannot leak through manifests), enforcing semver versions, JSON Schema
|
|
8
|
+
* correctness, pricing bounds, and delivery contract constraints.
|
|
9
|
+
*
|
|
10
|
+
* Used by:
|
|
11
|
+
* - `private-manifest-loader.ts` → validates every `.json` file loaded from disk.
|
|
12
|
+
* - `premium-tools.ts` → MCP tool `sap_premium_validate_plugin_manifest`.
|
|
13
|
+
*
|
|
14
|
+
* @flow
|
|
15
|
+
* 1. External manifest JSON arrives (filesystem or MCP tool argument).
|
|
16
|
+
* 2. → `validatePremiumPluginManifest(manifest)` runs structural checks.
|
|
17
|
+
* 3. Returns `PremiumValidationReport` with errors[] and warnings[].
|
|
18
|
+
* 4. Caller decides: accept (valid=true) or reject with error details.
|
|
19
|
+
*
|
|
20
|
+
* @module premium/plugin-validator
|
|
21
|
+
*/
|
|
22
|
+
import type { PremiumValidationReport } from './types.js';
|
|
23
|
+
/**
|
|
24
|
+
* @name validatePremiumPluginManifest
|
|
25
|
+
* @description Validate an unknown value as a `PremiumPluginManifest`.
|
|
26
|
+
*
|
|
27
|
+
* Top-level checks: object shape, id format, semver version, title, description
|
|
28
|
+
* length, publisher, visibility enum, and at least one capability. Each
|
|
29
|
+
* capability is then validated by `validateCapability`.
|
|
30
|
+
*
|
|
31
|
+
* @param manifest - Unknown JSON value (from filesystem or MCP tool argument).
|
|
32
|
+
* @returns `PremiumValidationReport` with `valid`, `errors[]`, and `warnings[]`.
|
|
33
|
+
*
|
|
34
|
+
* @usedBy
|
|
35
|
+
* - `private-manifest-loader.ts` → validates each `.json` file from disk.
|
|
36
|
+
* - `premium-tools.ts` → MCP tool `sap_premium_validate_plugin_manifest`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function validatePremiumPluginManifest(manifest: unknown): PremiumValidationReport;
|
|
39
|
+
//# sourceMappingURL=plugin-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-validator.d.ts","sourceRoot":"","sources":["../../src/premium/plugin-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAA8E,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA8QtI;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,uBAAuB,CAgDxF"}
|