@oobe-protocol-labs/sap-mcp-server 0.9.15 → 0.9.20
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 +227 -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 +2 -0
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +126 -10
- 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 +102 -0
- package/dist/premium/webhook-engine.d.ts.map +1 -0
- package/dist/premium/webhook-engine.js +382 -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 +34 -1
- package/dist/server/server-metadata.d.ts.map +1 -1
- package/dist/server/server-metadata.js +35 -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.d.ts.map +1 -1
- package/dist/tools/agent-start-tool.js +210 -2
- 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 +6 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -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 +732 -0
- package/dist/tools/premium-tools.js.map +1 -0
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +9 -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 +191 -13
- package/dist/tools/sap-sdk-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 +20 -4
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +4 -1
- package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +16 -5
- 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/README.md +12 -0
- package/package.json +8 -6
- package/server.json +3 -3
- package/skills/README.md +10 -2
- package/skills/sap-agent-registry/SKILL.md +27 -6
- package/skills/sap-discovery-indexing/SKILL.md +11 -0
- package/skills/sap-mcp/SKILL.md +49 -16
- package/skills/sap-mcp/TOOL_REFERENCE.md +20 -7
- package/skills/sap-operations/SKILL.md +11 -0
- package/skills/sap-payments-x402/SKILL.md +30 -8
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/index
|
|
3
|
+
* @description Barrel export for the SAP MCP Premium plugin subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Re-exports every public module in the premium layer so external consumers
|
|
6
|
+
* (MCP tools, remote server, tests) can import from a single entry point:
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* import {
|
|
10
|
+
* listPremiumPlugins,
|
|
11
|
+
* createPremiumSessionPlan,
|
|
12
|
+
* activatePremiumSession,
|
|
13
|
+
* startStream,
|
|
14
|
+
* streamEvents,
|
|
15
|
+
* registerWebhook,
|
|
16
|
+
* getPremiumMetrics,
|
|
17
|
+
* validatePremiumPluginManifest,
|
|
18
|
+
* type PremiumPluginManifest,
|
|
19
|
+
* } from '../premium/index.js';
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @flow
|
|
23
|
+
* Import order matters only for readability, not for runtime:
|
|
24
|
+
* 1. `builtin-plugins` — Built-in plugin definitions and discovery helpers.
|
|
25
|
+
* 2. `manifest-builder` — Template generation for custom plugin authors.
|
|
26
|
+
* 3. `private-manifest-loader` — Filesystem loader for enterprise manifests.
|
|
27
|
+
* 4. `plugin-validator` — Manifest validation against strict schema rules.
|
|
28
|
+
* 5. `session-manager` — In-memory session plan lifecycle.
|
|
29
|
+
* 6. `activation-manager` — x402/pay.sh receipt binding and session activation.
|
|
30
|
+
* 7. `event-store` — Replay and idempotency store for delivered events.
|
|
31
|
+
* 8. `provider-bridge` — Dynamic loader for private provider adapters.
|
|
32
|
+
* 9. `stream-broker` — SSE stream delivery for premium real-time events.
|
|
33
|
+
* 10. `webhook-engine` — Signed webhook delivery for premium event callbacks.
|
|
34
|
+
* 11. `metrics` — Premium subsystem metrics snapshot.
|
|
35
|
+
* 12. `types` — All TypeScript type declarations.
|
|
36
|
+
*
|
|
37
|
+
* @module premium/index
|
|
38
|
+
*/
|
|
39
|
+
export * from './builtin-plugins.js';
|
|
40
|
+
export * from './trading-capabilities.js';
|
|
41
|
+
export * from './meme-radar-capabilities.js';
|
|
42
|
+
export * from './tech-fundamentals-capabilities.js';
|
|
43
|
+
export * from './manifest-builder.js';
|
|
44
|
+
export * from './private-manifest-loader.js';
|
|
45
|
+
export * from './plugin-validator.js';
|
|
46
|
+
export * from './session-manager.js';
|
|
47
|
+
export * from './activation-manager.js';
|
|
48
|
+
export * from './event-store.js';
|
|
49
|
+
export * from './provider-bridge.js';
|
|
50
|
+
export * from './stream-broker.js';
|
|
51
|
+
export * from './webhook-engine.js';
|
|
52
|
+
export * from './metrics.js';
|
|
53
|
+
export * from './types.js';
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/premium/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/manifest-builder
|
|
3
|
+
* @description Template generator for custom premium plugin manifests.
|
|
4
|
+
*
|
|
5
|
+
* Produces a data-only `PremiumPluginManifest` from a simplified request,
|
|
6
|
+
* filling in sensible defaults for pricing, delivery, and JSON schemas.
|
|
7
|
+
* The generated template is meant to be customized by plugin authors before
|
|
8
|
+
* production use — it never writes files, loads code, or embeds secrets.
|
|
9
|
+
*
|
|
10
|
+
* @flow
|
|
11
|
+
* 1. MCP tool `sap_premium_build_manifest_template` receives a request
|
|
12
|
+
* with plugin id, capability id, type, and optional overrides.
|
|
13
|
+
* 2. → `buildPremiumPluginManifestTemplate(request)` generates a full manifest
|
|
14
|
+
* with default pricing/delivery/schema based on capability type.
|
|
15
|
+
* 3. The agent returns the manifest JSON to the caller for review/customization.
|
|
16
|
+
* 4. The caller can then validate it with `validatePremiumPluginManifest`.
|
|
17
|
+
*
|
|
18
|
+
* @module premium/manifest-builder
|
|
19
|
+
*/
|
|
20
|
+
import type { PremiumCapabilityType, PremiumPluginManifest } from './types.js';
|
|
21
|
+
/**
|
|
22
|
+
* @name PremiumManifestTemplateRequest
|
|
23
|
+
* @description Simplified request for generating a premium plugin manifest template.
|
|
24
|
+
*
|
|
25
|
+
* Only `pluginId`, `capabilityId`, and `capabilityType` are required. All other
|
|
26
|
+
* fields have sensible defaults and can be overridden by the caller.
|
|
27
|
+
*
|
|
28
|
+
* @property pluginId - Unique plugin id (lowercase, dots/dashes allowed).
|
|
29
|
+
* @property capabilityId - Unique capability id within the plugin.
|
|
30
|
+
* @property capabilityType - `stream`, `webhook`, or `tool`.
|
|
31
|
+
* @property title - Optional human-readable label (defaults applied).
|
|
32
|
+
* @property description - Optional agent-facing description (defaults applied).
|
|
33
|
+
* @property publisher - Optional publisher name (defaults to 'Custom Publisher').
|
|
34
|
+
* @property visibility - Optional visibility (defaults to 'private').
|
|
35
|
+
* @property unitPriceUsd - Optional price per unit in USD (defaults to 0.01).
|
|
36
|
+
* @property providerEnv - Optional env var names for provider readiness.
|
|
37
|
+
*
|
|
38
|
+
* @usedBy `premium-tools.ts` → MCP tool `sap_premium_build_manifest_template`.
|
|
39
|
+
*/
|
|
40
|
+
export interface PremiumManifestTemplateRequest {
|
|
41
|
+
pluginId: string;
|
|
42
|
+
capabilityId: string;
|
|
43
|
+
capabilityType: PremiumCapabilityType;
|
|
44
|
+
title?: string;
|
|
45
|
+
description?: string;
|
|
46
|
+
publisher?: string;
|
|
47
|
+
visibility?: 'public' | 'private' | 'enterprise';
|
|
48
|
+
unitPriceUsd?: number;
|
|
49
|
+
providerEnv?: string[];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* @name buildPremiumPluginManifestTemplate
|
|
53
|
+
* @description Build a data-only premium plugin manifest template from a simplified request.
|
|
54
|
+
*
|
|
55
|
+
* It never writes files, loads code, or embeds provider secrets. The generated
|
|
56
|
+
* manifest uses default schemas, pricing, and delivery contracts that are
|
|
57
|
+
* sensible starting points but should be customized before production use.
|
|
58
|
+
*
|
|
59
|
+
* @param request - Template request with required plugin/capability ids and type.
|
|
60
|
+
* @returns A complete `PremiumPluginManifest` with one capability.
|
|
61
|
+
*
|
|
62
|
+
* @usedBy `premium-tools.ts` → MCP tool `sap_premium_build_manifest_template`.
|
|
63
|
+
*/
|
|
64
|
+
export declare function buildPremiumPluginManifestTemplate(request: PremiumManifestTemplateRequest): PremiumPluginManifest;
|
|
65
|
+
//# sourceMappingURL=manifest-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/premium/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EAErB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,qBAAqB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAkID;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,8BAA8B,GAAG,qBAAqB,CA4BjH"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/manifest-builder
|
|
3
|
+
* @description Template generator for custom premium plugin manifests.
|
|
4
|
+
*
|
|
5
|
+
* Produces a data-only `PremiumPluginManifest` from a simplified request,
|
|
6
|
+
* filling in sensible defaults for pricing, delivery, and JSON schemas.
|
|
7
|
+
* The generated template is meant to be customized by plugin authors before
|
|
8
|
+
* production use — it never writes files, loads code, or embeds secrets.
|
|
9
|
+
*
|
|
10
|
+
* @flow
|
|
11
|
+
* 1. MCP tool `sap_premium_build_manifest_template` receives a request
|
|
12
|
+
* with plugin id, capability id, type, and optional overrides.
|
|
13
|
+
* 2. → `buildPremiumPluginManifestTemplate(request)` generates a full manifest
|
|
14
|
+
* with default pricing/delivery/schema based on capability type.
|
|
15
|
+
* 3. The agent returns the manifest JSON to the caller for review/customization.
|
|
16
|
+
* 4. The caller can then validate it with `validatePremiumPluginManifest`.
|
|
17
|
+
*
|
|
18
|
+
* @module premium/manifest-builder
|
|
19
|
+
*/
|
|
20
|
+
/* -------------------------------------------------------------------------- */
|
|
21
|
+
/* Default JSON schemas */
|
|
22
|
+
/* -------------------------------------------------------------------------- */
|
|
23
|
+
/**
|
|
24
|
+
* @description Default input schema for template-generated capabilities.
|
|
25
|
+
* Requires a `requestId` for idempotency and allows free-form `filters`.
|
|
26
|
+
*/
|
|
27
|
+
const defaultInputSchema = {
|
|
28
|
+
type: 'object',
|
|
29
|
+
required: ['requestId'],
|
|
30
|
+
properties: {
|
|
31
|
+
requestId: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'Caller-provided idempotency key binding planning, payment, delivery, and audit output.',
|
|
34
|
+
},
|
|
35
|
+
filters: {
|
|
36
|
+
type: 'object',
|
|
37
|
+
additionalProperties: true,
|
|
38
|
+
description: 'Narrow capability-specific filters. Keep broad scans out of premium delivery paths.',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
additionalProperties: false,
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* @description Default output schema for template-generated capabilities.
|
|
45
|
+
* Returns a stable event id, ISO timestamp, and a versioned provider payload.
|
|
46
|
+
* The `payload` field uses `additionalProperties: true` as a placeholder —
|
|
47
|
+
* plugin authors should replace it with a strict object schema before production.
|
|
48
|
+
*/
|
|
49
|
+
const defaultOutputSchema = {
|
|
50
|
+
type: 'object',
|
|
51
|
+
required: ['eventId', 'observedAt', 'payload'],
|
|
52
|
+
properties: {
|
|
53
|
+
eventId: {
|
|
54
|
+
type: 'string',
|
|
55
|
+
description: 'Stable provider event id suitable for audit binding, replay protection, and de-duplication.',
|
|
56
|
+
},
|
|
57
|
+
observedAt: {
|
|
58
|
+
type: 'string',
|
|
59
|
+
format: 'date-time',
|
|
60
|
+
description: 'ISO timestamp when the provider observed or delivered this premium result.',
|
|
61
|
+
},
|
|
62
|
+
payload: {
|
|
63
|
+
type: 'object',
|
|
64
|
+
additionalProperties: true,
|
|
65
|
+
description: 'Provider-specific payload. Replace this with a strict object schema before production.',
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
additionalProperties: false,
|
|
69
|
+
};
|
|
70
|
+
/* -------------------------------------------------------------------------- */
|
|
71
|
+
/* Default pricing & delivery factories */
|
|
72
|
+
/* -------------------------------------------------------------------------- */
|
|
73
|
+
/**
|
|
74
|
+
* @name defaultPricing
|
|
75
|
+
* @description Generate a default `PremiumPricingPolicy` based on capability type.
|
|
76
|
+
*
|
|
77
|
+
* Maps each type to its canonical pricing model, unit, and tier:
|
|
78
|
+
* - `stream` → `x402-per-minute`, `minute`, `premium-stream`, 1–120 units.
|
|
79
|
+
* - `webhook` → `x402-per-event`, `event`, `premium-webhook`, 10–100 000 units.
|
|
80
|
+
* - `tool` → `x402-session`, `session`, `premium-tool`, 1–120 units.
|
|
81
|
+
*
|
|
82
|
+
* @param type - The capability type to generate pricing for.
|
|
83
|
+
* @param unitPriceUsd - Price per unit in USD.
|
|
84
|
+
* @returns A complete `PremiumPricingPolicy` with `x402` settlement.
|
|
85
|
+
*
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
function defaultPricing(type, unitPriceUsd) {
|
|
89
|
+
const modelByType = {
|
|
90
|
+
stream: 'x402-per-minute',
|
|
91
|
+
webhook: 'x402-per-event',
|
|
92
|
+
tool: 'x402-session',
|
|
93
|
+
};
|
|
94
|
+
const unitByType = {
|
|
95
|
+
stream: 'minute',
|
|
96
|
+
webhook: 'event',
|
|
97
|
+
tool: 'session',
|
|
98
|
+
};
|
|
99
|
+
const tierByType = {
|
|
100
|
+
stream: 'premium-stream',
|
|
101
|
+
webhook: 'premium-webhook',
|
|
102
|
+
tool: 'premium-tool',
|
|
103
|
+
};
|
|
104
|
+
return {
|
|
105
|
+
tier: tierByType[type],
|
|
106
|
+
model: modelByType[type],
|
|
107
|
+
unit: unitByType[type],
|
|
108
|
+
unitPriceUsd,
|
|
109
|
+
minUnits: type === 'webhook' ? 10 : 1,
|
|
110
|
+
maxUnits: type === 'webhook' ? 100_000 : 120,
|
|
111
|
+
settlement: 'x402',
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @name defaultDelivery
|
|
116
|
+
* @description Generate a default `PremiumDeliveryContract` based on capability type.
|
|
117
|
+
*
|
|
118
|
+
* Maps each type to its canonical transport, event id pattern, latency, and
|
|
119
|
+
* replay window:
|
|
120
|
+
* - `stream` → `mcp-streamable-http`, 750ms latency, 300s replay.
|
|
121
|
+
* - `webhook` → `webhook-http`, 1500ms latency, 900s replay.
|
|
122
|
+
* - `tool` → `mcp-streamable-http`, 1500ms latency, 300s replay.
|
|
123
|
+
*
|
|
124
|
+
* @param type - The capability type to generate delivery for.
|
|
125
|
+
* @returns A complete `PremiumDeliveryContract`.
|
|
126
|
+
*
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
function defaultDelivery(type) {
|
|
130
|
+
return {
|
|
131
|
+
transport: type === 'webhook' ? 'webhook-http' : 'mcp-streamable-http',
|
|
132
|
+
events: type === 'tool' ? ['tool.completed'] : [`${type}.event`],
|
|
133
|
+
latencyTargetMs: type === 'stream' ? 750 : 1_500,
|
|
134
|
+
replayWindowSeconds: type === 'webhook' ? 900 : 300,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/* -------------------------------------------------------------------------- */
|
|
138
|
+
/* Public API */
|
|
139
|
+
/* -------------------------------------------------------------------------- */
|
|
140
|
+
/**
|
|
141
|
+
* @name buildPremiumPluginManifestTemplate
|
|
142
|
+
* @description Build a data-only premium plugin manifest template from a simplified request.
|
|
143
|
+
*
|
|
144
|
+
* It never writes files, loads code, or embeds provider secrets. The generated
|
|
145
|
+
* manifest uses default schemas, pricing, and delivery contracts that are
|
|
146
|
+
* sensible starting points but should be customized before production use.
|
|
147
|
+
*
|
|
148
|
+
* @param request - Template request with required plugin/capability ids and type.
|
|
149
|
+
* @returns A complete `PremiumPluginManifest` with one capability.
|
|
150
|
+
*
|
|
151
|
+
* @usedBy `premium-tools.ts` → MCP tool `sap_premium_build_manifest_template`.
|
|
152
|
+
*/
|
|
153
|
+
export function buildPremiumPluginManifestTemplate(request) {
|
|
154
|
+
// Filter out empty/falsy env var names from the request.
|
|
155
|
+
const providerEnv = request.providerEnv?.filter(Boolean) ?? [];
|
|
156
|
+
return {
|
|
157
|
+
id: request.pluginId,
|
|
158
|
+
version: '0.1.0',
|
|
159
|
+
title: request.title ?? 'Custom SAP MCP Premium Plugin',
|
|
160
|
+
description: request.description
|
|
161
|
+
?? 'Custom premium SAP MCP capability contract for paid agent runtime delivery with strict schemas and x402/pay.sh settlement.',
|
|
162
|
+
publisher: request.publisher ?? 'Custom Publisher',
|
|
163
|
+
visibility: request.visibility ?? 'private',
|
|
164
|
+
capabilities: [
|
|
165
|
+
{
|
|
166
|
+
id: request.capabilityId,
|
|
167
|
+
type: request.capabilityType,
|
|
168
|
+
title: request.title ?? 'Custom premium capability',
|
|
169
|
+
description: request.description
|
|
170
|
+
?? 'Custom premium capability. Replace this description with a concrete agent use case, delivery boundary, provider dependency, and payment model before production.',
|
|
171
|
+
status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
|
|
172
|
+
requiresProvider: providerEnv.length > 0,
|
|
173
|
+
providerEnv,
|
|
174
|
+
inputSchema: defaultInputSchema,
|
|
175
|
+
outputSchema: defaultOutputSchema,
|
|
176
|
+
pricing: defaultPricing(request.capabilityType, request.unitPriceUsd ?? 0.01),
|
|
177
|
+
delivery: defaultDelivery(request.capabilityType),
|
|
178
|
+
},
|
|
179
|
+
],
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=manifest-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../src/premium/manifest-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
import type { PremiumPluginManifest } from './types.js';
|
|
28
|
+
/**
|
|
29
|
+
* @name MEME_RADAR_PREMIUM_PLUGINS
|
|
30
|
+
* @description Built-in premium meme radar plugin manifests.
|
|
31
|
+
*
|
|
32
|
+
* One plugin covering 4 meme radar capabilities:
|
|
33
|
+
* - `sap-premium-meme-radar` — 1 webhook + 3 stream capabilities
|
|
34
|
+
*
|
|
35
|
+
* @usedBy `listPremiumPlugins()` — merged with the existing built-in plugins.
|
|
36
|
+
*/
|
|
37
|
+
export declare const MEME_RADAR_PREMIUM_PLUGINS: PremiumPluginManifest[];
|
|
38
|
+
//# sourceMappingURL=meme-radar-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meme-radar-capabilities.d.ts","sourceRoot":"","sources":["../../src/premium/meme-radar-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAA+B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAmRrF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,qBAAqB,EA4C7D,CAAC"}
|
|
@@ -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
|