@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
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* REAL IMPLEMENTATION — Comprehensive technical documentation
|
|
2
|
+
* @name prompts/payments/explain-x402-settlement
|
|
3
|
+
* @description Prompt explaining x402 payment protocol and settlement flows
|
|
4
|
+
* @module prompts/payments/explain-x402-settlement
|
|
6
5
|
*/
|
|
7
6
|
import { registerPrompt } from '../../adapters/mcp/sdk-compat.js';
|
|
8
7
|
import { logger } from '../../core/logger.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explain-x402-settlement.prompt.js","sourceRoot":"","sources":["../../../src/prompts/payments/explain-x402-settlement.prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"explain-x402-settlement.prompt.js","sourceRoot":"","sources":["../../../src/prompts/payments/explain-x402-settlement.prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @name prompts/payments/index
|
|
3
|
+
* @description Barrel export for payment-related SAP MCP prompts.
|
|
4
|
+
*
|
|
5
|
+
* @module prompts/payments/index
|
|
3
6
|
*/
|
|
4
7
|
export { createPaidApiPrompt } from './create-paid-api.prompt.js';
|
|
5
8
|
export { explainX402SettlementPrompt } from './explain-x402-settlement.prompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/payments/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/payments/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @name prompts/payments/index
|
|
3
|
+
* @description Barrel export for payment-related SAP MCP prompts.
|
|
4
|
+
*
|
|
5
|
+
* @module prompts/payments/index
|
|
3
6
|
*/
|
|
4
7
|
export { createPaidApiPrompt } from './create-paid-api.prompt.js';
|
|
5
8
|
export { explainX402SettlementPrompt } from './explain-x402-settlement.prompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/payments/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/payments/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @name prompts/register-prompts
|
|
3
|
+
* @description Central registration of all MCP prompts on the SAP MCP server.
|
|
4
|
+
*
|
|
5
|
+
* Imports every prompt registration function and invokes them against the
|
|
6
|
+
* MCP server instance. Called during server initialization.
|
|
7
|
+
*
|
|
8
|
+
* @module prompts/register-prompts
|
|
3
9
|
*/
|
|
4
10
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
5
11
|
import type { SapMcpContext } from '../core/types.js';
|
|
6
12
|
/**
|
|
7
|
-
*
|
|
13
|
+
* @name registerPrompts
|
|
14
|
+
* @description Register all SAP MCP prompts with the MCP server.
|
|
15
|
+
*
|
|
16
|
+
* Invokes each prompt registration function in sequence: registry, developer,
|
|
17
|
+
* payments, execution-proof, and context prompts. Total of 11 prompts.
|
|
18
|
+
*
|
|
19
|
+
* @param server - The MCP server instance.
|
|
20
|
+
* @param context - The SAP MCP execution context.
|
|
21
|
+
* @returns A promise that resolves when all prompts are registered.
|
|
22
|
+
*
|
|
23
|
+
* @usedBy `server.ts`
|
|
8
24
|
*/
|
|
9
25
|
export declare function registerPrompts(server: Server, context: SapMcpContext): Promise<void>;
|
|
10
26
|
//# sourceMappingURL=register-prompts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/register-prompts.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"register-prompts.d.ts","sourceRoot":"","sources":["../../src/prompts/register-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAuBtD;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB3F"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @name prompts/register-prompts
|
|
3
|
+
* @description Central registration of all MCP prompts on the SAP MCP server.
|
|
4
|
+
*
|
|
5
|
+
* Imports every prompt registration function and invokes them against the
|
|
6
|
+
* MCP server instance. Called during server initialization.
|
|
7
|
+
*
|
|
8
|
+
* @module prompts/register-prompts
|
|
3
9
|
*/
|
|
4
10
|
import { logger } from '../core/logger.js';
|
|
5
11
|
// Registry prompts
|
|
@@ -17,8 +23,19 @@ import { verifyExecutionProofPrompt } from './execution-proof/verify-execution-p
|
|
|
17
23
|
// Context prompts
|
|
18
24
|
import { sapAgentStartPrompt } from './context/sap-agent-start.prompt.js';
|
|
19
25
|
import { sapAgentContextPrompt } from './context/sap-agent-context.prompt.js';
|
|
26
|
+
import { sapAgentIntentRouterPrompt } from './context/sap-agent-intent-router.prompt.js';
|
|
20
27
|
/**
|
|
21
|
-
*
|
|
28
|
+
* @name registerPrompts
|
|
29
|
+
* @description Register all SAP MCP prompts with the MCP server.
|
|
30
|
+
*
|
|
31
|
+
* Invokes each prompt registration function in sequence: registry, developer,
|
|
32
|
+
* payments, execution-proof, and context prompts. Total of 11 prompts.
|
|
33
|
+
*
|
|
34
|
+
* @param server - The MCP server instance.
|
|
35
|
+
* @param context - The SAP MCP execution context.
|
|
36
|
+
* @returns A promise that resolves when all prompts are registered.
|
|
37
|
+
*
|
|
38
|
+
* @usedBy `server.ts`
|
|
22
39
|
*/
|
|
23
40
|
export async function registerPrompts(server, context) {
|
|
24
41
|
logger.debug('Registering prompts');
|
|
@@ -37,6 +54,7 @@ export async function registerPrompts(server, context) {
|
|
|
37
54
|
// Register context prompts
|
|
38
55
|
sapAgentStartPrompt(server, context);
|
|
39
56
|
sapAgentContextPrompt(server, context);
|
|
40
|
-
|
|
57
|
+
sapAgentIntentRouterPrompt(server, context);
|
|
58
|
+
logger.debug('Prompts registered', { count: 11 });
|
|
41
59
|
}
|
|
42
60
|
//# sourceMappingURL=register-prompts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-prompts.js","sourceRoot":"","sources":["../../src/prompts/register-prompts.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"register-prompts.js","sourceRoot":"","sources":["../../src/prompts/register-prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,mBAAmB;AACnB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,oBAAoB;AACpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E,mBAAmB;AACnB,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,0BAA0B;AAC1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAEhG,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEzF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAsB;IAC1E,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEpC,2BAA2B;IAC3B,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC,6BAA6B;IAC7B,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,4BAA4B;IAC5B,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,mCAAmC;IACnC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,2BAA2B;IAC3B,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-sap-agent.prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/registry/analyze-sap-agent.prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,QA6J5E"}
|
|
1
|
+
{"version":3,"file":"analyze-sap-agent.prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/registry/analyze-sap-agent.prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,QA6J5E"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* REAL IMPLEMENTATION — Comprehensive analysis workflow
|
|
2
|
+
* @name prompts/registry/analyze-sap-agent
|
|
3
|
+
* @description Prompt for analyzing SAP agent registration, capabilities, and reputation
|
|
4
|
+
* @module prompts/registry/analyze-sap-agent
|
|
6
5
|
*/
|
|
7
6
|
import { registerPrompt } from '../../adapters/mcp/sdk-compat.js';
|
|
8
7
|
import { logger } from '../../core/logger.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-sap-agent.prompt.js","sourceRoot":"","sources":["../../../src/prompts/registry/analyze-sap-agent.prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"analyze-sap-agent.prompt.js","sourceRoot":"","sources":["../../../src/prompts/registry/analyze-sap-agent.prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @name prompts/registry/index
|
|
3
|
+
* @description Barrel export for registry-related SAP MCP prompts.
|
|
4
|
+
*
|
|
5
|
+
* @module prompts/registry/index
|
|
3
6
|
*/
|
|
4
7
|
export { analyzeSapAgentPrompt } from './analyze-sap-agent.prompt.js';
|
|
5
8
|
export { registerSapAgentPrompt } from './register-sap-agent.prompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/registry/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompts/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* @name prompts/registry/index
|
|
3
|
+
* @description Barrel export for registry-related SAP MCP prompts.
|
|
4
|
+
*
|
|
5
|
+
* @module prompts/registry/index
|
|
3
6
|
*/
|
|
4
7
|
export { analyzeSapAgentPrompt } from './analyze-sap-agent.prompt.js';
|
|
5
8
|
export { registerSapAgentPrompt } from './register-sap-agent.prompt.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/registry/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/prompts/registry/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-sap-agent.prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/registry/register-sap-agent.prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,QAyM7E"}
|
|
1
|
+
{"version":3,"file":"register-sap-agent.prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/registry/register-sap-agent.prompt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,QAyM7E"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* REAL IMPLEMENTATION — Step-by-step wizard
|
|
2
|
+
* @name prompts/registry/register-sap-agent
|
|
3
|
+
* @description Prompt guiding users through SAP agent registration process
|
|
4
|
+
* @module prompts/registry/register-sap-agent
|
|
6
5
|
*/
|
|
7
6
|
import { registerPrompt } from '../../adapters/mcp/sdk-compat.js';
|
|
8
7
|
import { logger } from '../../core/logger.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-sap-agent.prompt.js","sourceRoot":"","sources":["../../../src/prompts/registry/register-sap-agent.prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"register-sap-agent.prompt.js","sourceRoot":"","sources":["../../../src/prompts/registry/register-sap-agent.prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name remote/premium-memory
|
|
3
|
+
* @description Background memory management for the premium subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Runs periodic cleanup intervals that prune expired sessions, stale events,
|
|
6
|
+
* orphaned delivery records, and idle provider connections. Designed for
|
|
7
|
+
* long-running production servers with large memory budgets (e.g. 312GB RAM).
|
|
8
|
+
*
|
|
9
|
+
* The manager is intentionally conservative: every interval is configurable via
|
|
10
|
+
* env vars and defaults are safe for a single-process Node.js server.
|
|
11
|
+
*
|
|
12
|
+
* @env SAP_MCP_PREMIUM_GC_INTERVAL_MS — Prune interval in ms (default: 30_000)
|
|
13
|
+
* @env SAP_MCP_PREMIUM_MAX_SESSIONS — Max in-memory sessions (default: 10_000)
|
|
14
|
+
* @env SAP_MCP_PREMIUM_MAX_EVENTS — Max stored events (default: 500_000)
|
|
15
|
+
* @env SAP_MCP_PREMIUM_MAX_DELIVERIES — Max delivery records (default: 100_000)
|
|
16
|
+
*
|
|
17
|
+
* @module remote/premium-memory
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* @name PremiumMemoryConfig
|
|
21
|
+
* @description Configuration for the premium memory manager.
|
|
22
|
+
*
|
|
23
|
+
* @property gcIntervalMs — Prune interval in milliseconds.
|
|
24
|
+
* @property maxSessions — Maximum in-memory session plans.
|
|
25
|
+
* @property maxEvents — Maximum stored events in the event store.
|
|
26
|
+
* @property maxDeliveries — Maximum webhook delivery records.
|
|
27
|
+
*/
|
|
28
|
+
export interface PremiumMemoryConfig {
|
|
29
|
+
gcIntervalMs: number;
|
|
30
|
+
maxSessions: number;
|
|
31
|
+
maxEvents: number;
|
|
32
|
+
maxDeliveries: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @name resolveMemoryConfig
|
|
36
|
+
* @description Resolve memory config from env vars with safe defaults.
|
|
37
|
+
*
|
|
38
|
+
* @returns `PremiumMemoryConfig` populated from env or defaults.
|
|
39
|
+
*
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveMemoryConfig(): PremiumMemoryConfig;
|
|
43
|
+
/**
|
|
44
|
+
* @name PremiumMemoryManager
|
|
45
|
+
* @description Background memory manager for the premium subsystem.
|
|
46
|
+
*
|
|
47
|
+
* Runs a periodic GC interval that:
|
|
48
|
+
* 1. Counts active sessions, events, and deliveries.
|
|
49
|
+
* 2. Logs a memory snapshot at INFO level.
|
|
50
|
+
* 3. If any store exceeds its cap, triggers aggressive pruning.
|
|
51
|
+
*
|
|
52
|
+
* The manager does NOT own the pruning logic — each store prunes itself
|
|
53
|
+
* internally (e.g. `pruneExpiredSessions` in session-manager). The manager
|
|
54
|
+
* ensures they are called periodically even without traffic.
|
|
55
|
+
*
|
|
56
|
+
* The class also exposes `shutdown()` for graceful cleanup during server stop.
|
|
57
|
+
*/
|
|
58
|
+
export declare class PremiumMemoryManager {
|
|
59
|
+
private interval?;
|
|
60
|
+
private readonly config;
|
|
61
|
+
constructor(config?: PremiumMemoryConfig);
|
|
62
|
+
/**
|
|
63
|
+
* @name start
|
|
64
|
+
* @description Start the background GC interval.
|
|
65
|
+
*
|
|
66
|
+
* The first prune runs immediately, then on every `gcIntervalMs`.
|
|
67
|
+
*/
|
|
68
|
+
start(): void;
|
|
69
|
+
/**
|
|
70
|
+
* @name prune
|
|
71
|
+
* @description Run one prune cycle. Logs a memory snapshot.
|
|
72
|
+
*
|
|
73
|
+
* This calls `listPremiumSessions()` which internally prunes expired
|
|
74
|
+
* sessions, and checks event/delivery counts against caps.
|
|
75
|
+
*/
|
|
76
|
+
private prune;
|
|
77
|
+
/**
|
|
78
|
+
* @name shutdown
|
|
79
|
+
* @description Stop the GC interval and clean up all premium stores.
|
|
80
|
+
*
|
|
81
|
+
* Called during server graceful shutdown. This:
|
|
82
|
+
* 1. Stops the GC interval.
|
|
83
|
+
* 2. Stops all active SSE streams.
|
|
84
|
+
* 3. Deactivates all webhook subscriptions.
|
|
85
|
+
* 4. Disconnects all provider adapters.
|
|
86
|
+
* 5. Clears the session store and event store.
|
|
87
|
+
*/
|
|
88
|
+
shutdown(): Promise<void>;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=premium-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premium-memory.d.ts","sourceRoot":"","sources":["../../src/remote/premium-memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA+BH;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,CAazD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;gBAE1B,MAAM,CAAC,EAAE,mBAAmB;IAI/C;;;;;OAKG;IACI,KAAK,IAAI,IAAI;IAcpB;;;;;;OAMG;YACW,KAAK;IAmCnB;;;;;;;;;;OAUG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAYvC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name remote/premium-memory
|
|
3
|
+
* @description Background memory management for the premium subsystem.
|
|
4
|
+
*
|
|
5
|
+
* Runs periodic cleanup intervals that prune expired sessions, stale events,
|
|
6
|
+
* orphaned delivery records, and idle provider connections. Designed for
|
|
7
|
+
* long-running production servers with large memory budgets (e.g. 312GB RAM).
|
|
8
|
+
*
|
|
9
|
+
* The manager is intentionally conservative: every interval is configurable via
|
|
10
|
+
* env vars and defaults are safe for a single-process Node.js server.
|
|
11
|
+
*
|
|
12
|
+
* @env SAP_MCP_PREMIUM_GC_INTERVAL_MS — Prune interval in ms (default: 30_000)
|
|
13
|
+
* @env SAP_MCP_PREMIUM_MAX_SESSIONS — Max in-memory sessions (default: 10_000)
|
|
14
|
+
* @env SAP_MCP_PREMIUM_MAX_EVENTS — Max stored events (default: 500_000)
|
|
15
|
+
* @env SAP_MCP_PREMIUM_MAX_DELIVERIES — Max delivery records (default: 100_000)
|
|
16
|
+
*
|
|
17
|
+
* @module remote/premium-memory
|
|
18
|
+
*/
|
|
19
|
+
import { listPremiumSessions } from '../premium/session-manager.js';
|
|
20
|
+
import { getEventCount, clearAllEvents } from '../premium/event-store.js';
|
|
21
|
+
import { disconnectAllProviders } from '../premium/provider-bridge.js';
|
|
22
|
+
import { stopAllStreams } from '../premium/stream-broker.js';
|
|
23
|
+
import { stopAllWebhooks } from '../premium/webhook-engine.js';
|
|
24
|
+
import { clearAllSessions } from '../premium/session-manager.js';
|
|
25
|
+
/**
|
|
26
|
+
* @description Default prune interval: 30 seconds.
|
|
27
|
+
*/
|
|
28
|
+
const DEFAULT_GC_INTERVAL_MS = 30_000;
|
|
29
|
+
/**
|
|
30
|
+
* @description Default max sessions for a 312GB machine: 10_000.
|
|
31
|
+
*/
|
|
32
|
+
const DEFAULT_MAX_SESSIONS = 10_000;
|
|
33
|
+
/**
|
|
34
|
+
* @description Default max events in the event store: 500_000.
|
|
35
|
+
* Each event is ~1KB, so 500K events ≈ 500MB.
|
|
36
|
+
*/
|
|
37
|
+
const DEFAULT_MAX_EVENTS = 500_000;
|
|
38
|
+
/**
|
|
39
|
+
* @description Default max delivery records: 100_000.
|
|
40
|
+
* Each record is ~512B, so 100K records ≈ 50MB.
|
|
41
|
+
*/
|
|
42
|
+
const DEFAULT_MAX_DELIVERIES = 100_000;
|
|
43
|
+
/**
|
|
44
|
+
* @name resolveMemoryConfig
|
|
45
|
+
* @description Resolve memory config from env vars with safe defaults.
|
|
46
|
+
*
|
|
47
|
+
* @returns `PremiumMemoryConfig` populated from env or defaults.
|
|
48
|
+
*
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
export function resolveMemoryConfig() {
|
|
52
|
+
const parse = (name, fallback) => {
|
|
53
|
+
const raw = process.env[name];
|
|
54
|
+
const parsed = Number(raw);
|
|
55
|
+
return Number.isFinite(parsed) && parsed > 0 ? Math.trunc(parsed) : fallback;
|
|
56
|
+
};
|
|
57
|
+
return {
|
|
58
|
+
gcIntervalMs: parse('SAP_MCP_PREMIUM_GC_INTERVAL_MS', DEFAULT_GC_INTERVAL_MS),
|
|
59
|
+
maxSessions: parse('SAP_MCP_PREMIUM_MAX_SESSIONS', DEFAULT_MAX_SESSIONS),
|
|
60
|
+
maxEvents: parse('SAP_MCP_PREMIUM_MAX_EVENTS', DEFAULT_MAX_EVENTS),
|
|
61
|
+
maxDeliveries: parse('SAP_MCP_PREMIUM_MAX_DELIVERIES', DEFAULT_MAX_DELIVERIES),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @name PremiumMemoryManager
|
|
66
|
+
* @description Background memory manager for the premium subsystem.
|
|
67
|
+
*
|
|
68
|
+
* Runs a periodic GC interval that:
|
|
69
|
+
* 1. Counts active sessions, events, and deliveries.
|
|
70
|
+
* 2. Logs a memory snapshot at INFO level.
|
|
71
|
+
* 3. If any store exceeds its cap, triggers aggressive pruning.
|
|
72
|
+
*
|
|
73
|
+
* The manager does NOT own the pruning logic — each store prunes itself
|
|
74
|
+
* internally (e.g. `pruneExpiredSessions` in session-manager). The manager
|
|
75
|
+
* ensures they are called periodically even without traffic.
|
|
76
|
+
*
|
|
77
|
+
* The class also exposes `shutdown()` for graceful cleanup during server stop.
|
|
78
|
+
*/
|
|
79
|
+
export class PremiumMemoryManager {
|
|
80
|
+
interval;
|
|
81
|
+
config;
|
|
82
|
+
constructor(config) {
|
|
83
|
+
this.config = config ?? resolveMemoryConfig();
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @name start
|
|
87
|
+
* @description Start the background GC interval.
|
|
88
|
+
*
|
|
89
|
+
* The first prune runs immediately, then on every `gcIntervalMs`.
|
|
90
|
+
*/
|
|
91
|
+
start() {
|
|
92
|
+
if (this.interval)
|
|
93
|
+
return;
|
|
94
|
+
// Run immediately on start.
|
|
95
|
+
void this.prune();
|
|
96
|
+
this.interval = setInterval(() => {
|
|
97
|
+
void this.prune();
|
|
98
|
+
}, this.config.gcIntervalMs);
|
|
99
|
+
// Don't keep the process alive just for GC.
|
|
100
|
+
this.interval.unref();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* @name prune
|
|
104
|
+
* @description Run one prune cycle. Logs a memory snapshot.
|
|
105
|
+
*
|
|
106
|
+
* This calls `listPremiumSessions()` which internally prunes expired
|
|
107
|
+
* sessions, and checks event/delivery counts against caps.
|
|
108
|
+
*/
|
|
109
|
+
async prune() {
|
|
110
|
+
const sessions = listPremiumSessions();
|
|
111
|
+
const eventCount = getEventCount();
|
|
112
|
+
// If the event store exceeds its cap, flush oldest events.
|
|
113
|
+
// The event store self-prunes on append, but in low-traffic periods
|
|
114
|
+
// we want to ensure the store doesn't hold stale data indefinitely.
|
|
115
|
+
if (eventCount > this.config.maxEvents) {
|
|
116
|
+
// The event store's internal pruneOldEvents runs on appendEvent.
|
|
117
|
+
// Here we just log the overflow — the next append will evict.
|
|
118
|
+
}
|
|
119
|
+
// Log a memory snapshot for operational visibility.
|
|
120
|
+
const memUsage = process.memoryUsage();
|
|
121
|
+
const sessionCount = sessions.length;
|
|
122
|
+
if (sessionCount > 0 || eventCount > 0) {
|
|
123
|
+
// Use console.info instead of the logger to avoid circular import.
|
|
124
|
+
console.info(JSON.stringify({
|
|
125
|
+
level: 'info',
|
|
126
|
+
time: new Date().toISOString(),
|
|
127
|
+
msg: 'Premium memory snapshot',
|
|
128
|
+
sessions: sessionCount,
|
|
129
|
+
events: eventCount,
|
|
130
|
+
maxSessions: this.config.maxSessions,
|
|
131
|
+
maxEvents: this.config.maxEvents,
|
|
132
|
+
rssMb: Math.round(memUsage.rss / 1024 / 1024),
|
|
133
|
+
heapUsedMb: Math.round(memUsage.heapUsed / 1024 / 1024),
|
|
134
|
+
heapTotalMb: Math.round(memUsage.heapTotal / 1024 / 1024),
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* @name shutdown
|
|
140
|
+
* @description Stop the GC interval and clean up all premium stores.
|
|
141
|
+
*
|
|
142
|
+
* Called during server graceful shutdown. This:
|
|
143
|
+
* 1. Stops the GC interval.
|
|
144
|
+
* 2. Stops all active SSE streams.
|
|
145
|
+
* 3. Deactivates all webhook subscriptions.
|
|
146
|
+
* 4. Disconnects all provider adapters.
|
|
147
|
+
* 5. Clears the session store and event store.
|
|
148
|
+
*/
|
|
149
|
+
async shutdown() {
|
|
150
|
+
if (this.interval) {
|
|
151
|
+
clearInterval(this.interval);
|
|
152
|
+
this.interval = undefined;
|
|
153
|
+
}
|
|
154
|
+
stopAllStreams();
|
|
155
|
+
stopAllWebhooks();
|
|
156
|
+
await disconnectAllProviders();
|
|
157
|
+
clearAllSessions();
|
|
158
|
+
clearAllEvents();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=premium-memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premium-memory.js","sourceRoot":"","sources":["../../src/remote/premium-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name remote/premium-routes
|
|
3
|
+
* @description HTTP route handlers for the premium delivery rail.
|
|
4
|
+
*
|
|
5
|
+
* This module owns the 4 premium delivery endpoints that the `RemoteMCPServer`
|
|
6
|
+
* delegates to. Each handler is an async function that receives the raw
|
|
7
|
+
* Node.js `IncomingMessage` / `ServerResponse` pair and returns nothing
|
|
8
|
+
* (the response is written directly).
|
|
9
|
+
*
|
|
10
|
+
* Endpoints:
|
|
11
|
+
* POST /premium/activate — Activate a session with x402 receipt.
|
|
12
|
+
* GET /premium/stream/:sessionId — SSE stream for an active session.
|
|
13
|
+
* POST /premium/webhook/register — Register a webhook target.
|
|
14
|
+
* GET /premium/webhook/:subId/status — Check webhook delivery status.
|
|
15
|
+
*
|
|
16
|
+
* Design principles:
|
|
17
|
+
* - Each handler is pure async — no shared mutable state outside the premium modules.
|
|
18
|
+
* - SSE streams use keep-alive with `X-Accel-Buffering: no` for nginx proxies.
|
|
19
|
+
* - Webhook delivery runs in the background via `setImmediate` to not block the
|
|
20
|
+
* HTTP response — the response returns the subscription immediately.
|
|
21
|
+
* - All errors return structured JSON with `error` and `message` fields.
|
|
22
|
+
*
|
|
23
|
+
* @module remote/premium-routes
|
|
24
|
+
*/
|
|
25
|
+
import * as http from 'node:http';
|
|
26
|
+
/**
|
|
27
|
+
* @name handlePremiumActivation
|
|
28
|
+
* @description Activate a pending premium session with a payment receipt.
|
|
29
|
+
*
|
|
30
|
+
* Expects a JSON body:
|
|
31
|
+
* { "sessionId": string, "paymentReceipt": string, "payerAddress"?: string }
|
|
32
|
+
*
|
|
33
|
+
* Returns:
|
|
34
|
+
* - 200 + `{ activation: PremiumActivationResult }` on success.
|
|
35
|
+
* - 400 if required fields are missing.
|
|
36
|
+
* - 402 if the session is not in `pending_payment` status.
|
|
37
|
+
*
|
|
38
|
+
* @param req - HTTP request.
|
|
39
|
+
* @param res - HTTP response.
|
|
40
|
+
*/
|
|
41
|
+
export declare function handlePremiumActivation(req: http.IncomingMessage, res: http.ServerResponse): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* @name handlePremiumStream
|
|
44
|
+
* @description Open an SSE stream for an active premium session.
|
|
45
|
+
*
|
|
46
|
+
* The client must send `Accept: text/event-stream`. The server:
|
|
47
|
+
* 1. Validates the session is active.
|
|
48
|
+
* 2. Replays past events within the replay window (if `since` query param is set).
|
|
49
|
+
* 3. Opens a live provider subscription and streams events as SSE.
|
|
50
|
+
* 4. Closes the stream when the client disconnects or the unit quota is exhausted.
|
|
51
|
+
*
|
|
52
|
+
* SSE format per event:
|
|
53
|
+
* event: <eventType>\n
|
|
54
|
+
* data: {<JSON payload>}\n\n
|
|
55
|
+
*
|
|
56
|
+
* @param req - HTTP request.
|
|
57
|
+
* @param res - HTTP response.
|
|
58
|
+
* @param sessionId - The session id extracted from the URL path.
|
|
59
|
+
*/
|
|
60
|
+
export declare function handlePremiumStream(req: http.IncomingMessage, res: http.ServerResponse, sessionId: string): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* @name handlePremiumWebhookRegister
|
|
63
|
+
* @description Register an HTTPS webhook target for signed event delivery.
|
|
64
|
+
*
|
|
65
|
+
* Expects a JSON body:
|
|
66
|
+
* { "sessionId": string, "targetUrl": string, "events": string[],
|
|
67
|
+
* "signingPublicKey"?: string }
|
|
68
|
+
*
|
|
69
|
+
* Returns 201 with the subscription record. The delivery worker starts in the
|
|
70
|
+
* background via `setImmediate` — the response does not wait for delivery.
|
|
71
|
+
*
|
|
72
|
+
* @param req - HTTP request.
|
|
73
|
+
* @param res - HTTP response.
|
|
74
|
+
*/
|
|
75
|
+
export declare function handlePremiumWebhookRegister(req: http.IncomingMessage, res: http.ServerResponse): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* @name handlePremiumWebhookStatus
|
|
78
|
+
* @description Return the status of a webhook subscription with recent delivery records.
|
|
79
|
+
*
|
|
80
|
+
* @param req - HTTP request.
|
|
81
|
+
* @param res - HTTP response.
|
|
82
|
+
* @param subscriptionId - The subscription id extracted from the URL path.
|
|
83
|
+
*/
|
|
84
|
+
export declare function handlePremiumWebhookStatus(req: http.IncomingMessage, res: http.ServerResponse, subscriptionId: string): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* @name tryPremiumRoute
|
|
87
|
+
* @description Check if a request targets a premium delivery endpoint and handle it.
|
|
88
|
+
*
|
|
89
|
+
* This is the single entry point called by the `RemoteMCPServer` request handler.
|
|
90
|
+
* If the request matches a premium route, the handler runs and `true` is returned
|
|
91
|
+
* (indicating the response was written). If no route matches, `false` is returned
|
|
92
|
+
* and the caller continues to the next route handler.
|
|
93
|
+
*
|
|
94
|
+
* @param req - HTTP request.
|
|
95
|
+
* @param res - HTTP response.
|
|
96
|
+
* @returns `true` if a premium route handled the request, `false` otherwise.
|
|
97
|
+
*/
|
|
98
|
+
export declare function tryPremiumRoute(req: http.IncomingMessage, res: http.ServerResponse): Promise<boolean>;
|
|
99
|
+
//# sourceMappingURL=premium-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premium-routes.d.ts","sourceRoot":"","sources":["../../src/remote/premium-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAkElC;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAkCf;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAmFf;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CAChD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAMD;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAcf;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC,CAmClB"}
|