@oobe-protocol-labs/sap-mcp-server 0.9.16 → 0.9.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +8 -7
- package/CHANGELOG.md +238 -0
- package/README.md +3 -3
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
- package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
- package/USER_DOCS/05_SKILLS_AND_TOOLS.md +16 -8
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
- package/config.example.json +5 -4
- package/config.schema.json +7 -2
- package/config.secure-example.json +5 -4
- package/dist/adapters/index.d.ts +7 -1
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +7 -1
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/mcp/errors.d.ts +13 -1
- package/dist/adapters/mcp/errors.d.ts.map +1 -1
- package/dist/adapters/mcp/errors.js +13 -1
- package/dist/adapters/mcp/errors.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +7 -1
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +7 -1
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/mcp/prompt-response.d.ts +13 -1
- package/dist/adapters/mcp/prompt-response.d.ts.map +1 -1
- package/dist/adapters/mcp/prompt-response.js +13 -1
- package/dist/adapters/mcp/prompt-response.js.map +1 -1
- package/dist/adapters/mcp/resource-response.d.ts +14 -1
- package/dist/adapters/mcp/resource-response.d.ts.map +1 -1
- package/dist/adapters/mcp/resource-response.js +14 -1
- package/dist/adapters/mcp/resource-response.js.map +1 -1
- package/dist/adapters/mcp/sdk-compat.d.ts +11 -3
- package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -1
- package/dist/adapters/mcp/sdk-compat.js +213 -24
- package/dist/adapters/mcp/sdk-compat.js.map +1 -1
- package/dist/adapters/mcp/tool-response.d.ts +39 -4
- package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
- package/dist/adapters/mcp/tool-response.js +39 -4
- package/dist/adapters/mcp/tool-response.js.map +1 -1
- package/dist/adapters/solana/commitment.d.ts +14 -2
- package/dist/adapters/solana/commitment.d.ts.map +1 -1
- package/dist/adapters/solana/commitment.js +14 -2
- package/dist/adapters/solana/commitment.js.map +1 -1
- package/dist/adapters/solana/connection.d.ts +11 -2
- package/dist/adapters/solana/connection.d.ts.map +1 -1
- package/dist/adapters/solana/connection.js +11 -2
- package/dist/adapters/solana/connection.js.map +1 -1
- package/dist/adapters/solana/index.d.ts +7 -1
- package/dist/adapters/solana/index.d.ts.map +1 -1
- package/dist/adapters/solana/index.js +7 -1
- package/dist/adapters/solana/index.js.map +1 -1
- package/dist/adapters/solana/public-key.d.ts +11 -2
- package/dist/adapters/solana/public-key.d.ts.map +1 -1
- package/dist/adapters/solana/public-key.js +11 -2
- package/dist/adapters/solana/public-key.js.map +1 -1
- package/dist/config/defaults.d.ts +5 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +5 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/env.d.ts +4 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +11 -6
- package/dist/config/env.js.map +1 -1
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-client-injection.d.ts.map +1 -1
- package/dist/config/mcp-client-injection.js +97 -1
- package/dist/config/mcp-client-injection.js.map +1 -1
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +5 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/profiles.d.ts +3 -10
- package/dist/config/profiles.d.ts.map +1 -1
- package/dist/config/profiles.js +5 -0
- package/dist/config/profiles.js.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +5 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/config/secure-config.d.ts +5 -0
- package/dist/config/secure-config.d.ts.map +1 -1
- package/dist/config/secure-config.js +5 -0
- package/dist/config/secure-config.js.map +1 -1
- package/dist/config/setup.d.ts +5 -0
- package/dist/config/setup.d.ts.map +1 -1
- package/dist/config/setup.js +5 -0
- package/dist/config/setup.js.map +1 -1
- package/dist/config-cli.d.ts +3 -13
- package/dist/config-cli.d.ts.map +1 -1
- package/dist/config-cli.js +5 -0
- package/dist/config-cli.js.map +1 -1
- package/dist/core/constants.d.ts +25 -6
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +27 -8
- package/dist/core/constants.js.map +1 -1
- package/dist/core/errors.d.ts +5 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +5 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/guards.d.ts +5 -0
- package/dist/core/guards.d.ts.map +1 -1
- package/dist/core/guards.js +3 -1
- package/dist/core/guards.js.map +1 -1
- package/dist/core/index.d.ts +7 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +7 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.js +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/result.d.ts +77 -9
- package/dist/core/result.d.ts.map +1 -1
- package/dist/core/result.js +68 -9
- package/dist/core/result.js.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +3 -4
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/payments/facilitator-rpc-fallback.d.ts.map +1 -1
- package/dist/payments/facilitator-rpc-fallback.js +95 -0
- package/dist/payments/facilitator-rpc-fallback.js.map +1 -1
- package/dist/payments/hosted-tool-eligibility.d.ts +1 -0
- package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -1
- package/dist/payments/hosted-tool-eligibility.js +1 -0
- package/dist/payments/hosted-tool-eligibility.js.map +1 -1
- package/dist/payments/mcp-session-cache.d.ts +35 -0
- package/dist/payments/mcp-session-cache.d.ts.map +1 -0
- package/dist/payments/mcp-session-cache.js +83 -0
- package/dist/payments/mcp-session-cache.js.map +1 -0
- package/dist/payments/monetization-gate.d.ts +5 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +24 -1
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts +1 -0
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +66 -8
- package/dist/payments/pricing.js.map +1 -1
- package/dist/payments/usage-ledger.d.ts +36 -2
- package/dist/payments/usage-ledger.d.ts.map +1 -1
- package/dist/payments/usage-ledger.js +121 -4
- package/dist/payments/usage-ledger.js.map +1 -1
- package/dist/payments/x402-paid-call.d.ts +50 -0
- package/dist/payments/x402-paid-call.d.ts.map +1 -1
- package/dist/payments/x402-paid-call.js +171 -0
- package/dist/payments/x402-paid-call.js.map +1 -1
- package/dist/policy/default-policies.d.ts +18 -2
- package/dist/policy/default-policies.d.ts.map +1 -1
- package/dist/policy/default-policies.js +18 -2
- package/dist/policy/default-policies.js.map +1 -1
- package/dist/policy/index.d.ts +6 -3
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +6 -3
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/local-policy-engine.d.ts +71 -13
- package/dist/policy/local-policy-engine.d.ts.map +1 -1
- package/dist/policy/local-policy-engine.js +33 -11
- package/dist/policy/local-policy-engine.js.map +1 -1
- package/dist/policy/permission-checks.d.ts +29 -3
- package/dist/policy/permission-checks.d.ts.map +1 -1
- package/dist/policy/permission-checks.js +29 -3
- package/dist/policy/permission-checks.js.map +1 -1
- package/dist/policy/policy-engine.d.ts +22 -2
- package/dist/policy/policy-engine.d.ts.map +1 -1
- package/dist/policy/policy-engine.js +22 -2
- package/dist/policy/policy-engine.js.map +1 -1
- package/dist/policy/policy-types.d.ts +55 -5
- package/dist/policy/policy-types.d.ts.map +1 -1
- package/dist/policy/policy-types.js +8 -1
- package/dist/policy/policy-types.js.map +1 -1
- package/dist/policy/risk-level.d.ts +32 -3
- package/dist/policy/risk-level.d.ts.map +1 -1
- package/dist/policy/risk-level.js +32 -3
- package/dist/policy/risk-level.js.map +1 -1
- package/dist/policy/spending-limits.d.ts +29 -3
- package/dist/policy/spending-limits.d.ts.map +1 -1
- package/dist/policy/spending-limits.js +29 -3
- package/dist/policy/spending-limits.js.map +1 -1
- package/dist/premium/activation-manager.d.ts +43 -0
- package/dist/premium/activation-manager.d.ts.map +1 -0
- package/dist/premium/activation-manager.js +131 -0
- package/dist/premium/activation-manager.js.map +1 -0
- package/dist/premium/builtin-plugins.d.ts +143 -0
- package/dist/premium/builtin-plugins.d.ts.map +1 -0
- package/dist/premium/builtin-plugins.js +394 -0
- package/dist/premium/builtin-plugins.js.map +1 -0
- package/dist/premium/event-store.d.ts +61 -0
- package/dist/premium/event-store.d.ts.map +1 -0
- package/dist/premium/event-store.js +130 -0
- package/dist/premium/event-store.js.map +1 -0
- package/dist/premium/index.d.ts +54 -0
- package/dist/premium/index.d.ts.map +1 -0
- package/dist/premium/index.js +54 -0
- package/dist/premium/index.js.map +1 -0
- package/dist/premium/manifest-builder.d.ts +65 -0
- package/dist/premium/manifest-builder.d.ts.map +1 -0
- package/dist/premium/manifest-builder.js +182 -0
- package/dist/premium/manifest-builder.js.map +1 -0
- package/dist/premium/meme-radar-capabilities.d.ts +38 -0
- package/dist/premium/meme-radar-capabilities.d.ts.map +1 -0
- package/dist/premium/meme-radar-capabilities.js +306 -0
- package/dist/premium/meme-radar-capabilities.js.map +1 -0
- package/dist/premium/metrics.d.ts +27 -0
- package/dist/premium/metrics.d.ts.map +1 -0
- package/dist/premium/metrics.js +65 -0
- package/dist/premium/metrics.js.map +1 -0
- package/dist/premium/plugin-validator.d.ts +39 -0
- package/dist/premium/plugin-validator.d.ts.map +1 -0
- package/dist/premium/plugin-validator.js +325 -0
- package/dist/premium/plugin-validator.js.map +1 -0
- package/dist/premium/private-manifest-loader.d.ts +111 -0
- package/dist/premium/private-manifest-loader.d.ts.map +1 -0
- package/dist/premium/private-manifest-loader.js +285 -0
- package/dist/premium/private-manifest-loader.js.map +1 -0
- package/dist/premium/provider-bridge.d.ts +109 -0
- package/dist/premium/provider-bridge.d.ts.map +1 -0
- package/dist/premium/provider-bridge.js +239 -0
- package/dist/premium/provider-bridge.js.map +1 -0
- package/dist/premium/session-manager.d.ts +125 -0
- package/dist/premium/session-manager.d.ts.map +1 -0
- package/dist/premium/session-manager.js +337 -0
- package/dist/premium/session-manager.js.map +1 -0
- package/dist/premium/stream-broker.d.ts +98 -0
- package/dist/premium/stream-broker.d.ts.map +1 -0
- package/dist/premium/stream-broker.js +199 -0
- package/dist/premium/stream-broker.js.map +1 -0
- package/dist/premium/tech-fundamentals-capabilities.d.ts +37 -0
- package/dist/premium/tech-fundamentals-capabilities.d.ts.map +1 -0
- package/dist/premium/tech-fundamentals-capabilities.js +283 -0
- package/dist/premium/tech-fundamentals-capabilities.js.map +1 -0
- package/dist/premium/trading-capabilities.d.ts +36 -0
- package/dist/premium/trading-capabilities.d.ts.map +1 -0
- package/dist/premium/trading-capabilities.js +205 -0
- package/dist/premium/trading-capabilities.js.map +1 -0
- package/dist/premium/types.d.ts +518 -0
- package/dist/premium/types.d.ts.map +1 -0
- package/dist/premium/types.js +23 -0
- package/dist/premium/types.js.map +1 -0
- package/dist/premium/webhook-engine.d.ts +138 -0
- package/dist/premium/webhook-engine.d.ts.map +1 -0
- package/dist/premium/webhook-engine.js +510 -0
- package/dist/premium/webhook-engine.js.map +1 -0
- package/dist/prompts/context/sap-agent-context.prompt.d.ts +5 -0
- package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -1
- package/dist/prompts/context/sap-agent-context.prompt.js +2 -8
- package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
- package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts +14 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts.map +1 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.js +155 -0
- package/dist/prompts/context/sap-agent-intent-router.prompt.js.map +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js +1 -0
- package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
- package/dist/prompts/developer/debug-sap-error.prompt.d.ts +5 -0
- package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -1
- package/dist/prompts/developer/debug-sap-error.prompt.js +3 -4
- package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -1
- package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +5 -0
- package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -1
- package/dist/prompts/developer/generate-sap-integration.prompt.js +3 -4
- package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
- package/dist/prompts/developer/index.d.ts +4 -1
- package/dist/prompts/developer/index.d.ts.map +1 -1
- package/dist/prompts/developer/index.js +4 -1
- package/dist/prompts/developer/index.js.map +1 -1
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +5 -0
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -1
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +3 -4
- package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -1
- package/dist/prompts/execution-proof/index.d.ts +4 -1
- package/dist/prompts/execution-proof/index.d.ts.map +1 -1
- package/dist/prompts/execution-proof/index.js +4 -1
- package/dist/prompts/execution-proof/index.js.map +1 -1
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +5 -0
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -1
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +3 -4
- package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -1
- package/dist/prompts/index.d.ts +4 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/payments/create-paid-api.prompt.d.ts +5 -0
- package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -1
- package/dist/prompts/payments/create-paid-api.prompt.js +3 -4
- package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +5 -0
- package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.js +3 -4
- package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -1
- package/dist/prompts/payments/index.d.ts +4 -1
- package/dist/prompts/payments/index.d.ts.map +1 -1
- package/dist/prompts/payments/index.js +4 -1
- package/dist/prompts/payments/index.js.map +1 -1
- package/dist/prompts/register-prompts.d.ts +18 -2
- package/dist/prompts/register-prompts.d.ts.map +1 -1
- package/dist/prompts/register-prompts.js +21 -3
- package/dist/prompts/register-prompts.js.map +1 -1
- package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +5 -0
- package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -1
- package/dist/prompts/registry/analyze-sap-agent.prompt.js +3 -4
- package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -1
- package/dist/prompts/registry/index.d.ts +4 -1
- package/dist/prompts/registry/index.d.ts.map +1 -1
- package/dist/prompts/registry/index.js +4 -1
- package/dist/prompts/registry/index.js.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.d.ts +5 -0
- package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -1
- package/dist/prompts/registry/register-sap-agent.prompt.js +3 -4
- package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
- package/dist/remote/premium-memory.d.ts +90 -0
- package/dist/remote/premium-memory.d.ts.map +1 -0
- package/dist/remote/premium-memory.js +161 -0
- package/dist/remote/premium-memory.js.map +1 -0
- package/dist/remote/premium-routes.d.ts +99 -0
- package/dist/remote/premium-routes.d.ts.map +1 -0
- package/dist/remote/premium-routes.js +346 -0
- package/dist/remote/premium-routes.js.map +1 -0
- package/dist/remote/public-home/sections.d.ts.map +1 -1
- package/dist/remote/public-home/sections.js +7 -1
- package/dist/remote/public-home/sections.js.map +1 -1
- package/dist/remote/public-home/types.d.ts +6 -0
- package/dist/remote/public-home/types.d.ts.map +1 -1
- package/dist/remote/server.d.ts +18 -0
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +298 -116
- package/dist/remote/server.js.map +1 -1
- package/dist/remote/tx-relay.d.ts +42 -0
- package/dist/remote/tx-relay.d.ts.map +1 -0
- package/dist/remote/tx-relay.js +118 -0
- package/dist/remote/tx-relay.js.map +1 -0
- package/dist/resources/current/sap-current-config.resource.d.ts +5 -0
- package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
- package/dist/resources/current/sap-current-config.resource.js +2 -5
- package/dist/resources/current/sap-current-config.resource.js.map +1 -1
- package/dist/resources/execution-proof/index.d.ts +5 -0
- package/dist/resources/execution-proof/index.d.ts.map +1 -1
- package/dist/resources/execution-proof/index.js +5 -0
- package/dist/resources/execution-proof/index.js.map +1 -1
- package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +5 -0
- package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -1
- package/dist/resources/execution-proof/sap-execution-record.resource.js +3 -4
- package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -1
- package/dist/resources/index.d.ts +5 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -0
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/memory/index.d.ts +5 -0
- package/dist/resources/memory/index.d.ts.map +1 -1
- package/dist/resources/memory/index.js +5 -0
- package/dist/resources/memory/index.js.map +1 -1
- package/dist/resources/memory/sap-memory.resource.d.ts +5 -0
- package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -1
- package/dist/resources/memory/sap-memory.resource.js +3 -4
- package/dist/resources/memory/sap-memory.resource.js.map +1 -1
- package/dist/resources/profile/sap-active-profile.resource.d.ts +5 -0
- package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -1
- package/dist/resources/profile/sap-active-profile.resource.js +2 -5
- package/dist/resources/profile/sap-active-profile.resource.js.map +1 -1
- package/dist/resources/register-resources.d.ts +5 -0
- package/dist/resources/register-resources.d.ts.map +1 -1
- package/dist/resources/register-resources.js +3 -1
- package/dist/resources/register-resources.js.map +1 -1
- package/dist/resources/registry/index.d.ts +5 -0
- package/dist/resources/registry/index.d.ts.map +1 -1
- package/dist/resources/registry/index.js +5 -0
- package/dist/resources/registry/index.js.map +1 -1
- package/dist/resources/registry/sap-agent.resource.d.ts +5 -0
- package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -1
- package/dist/resources/registry/sap-agent.resource.js +3 -4
- package/dist/resources/registry/sap-agent.resource.js.map +1 -1
- package/dist/resources/registry/sap-global-registry.resource.d.ts +18 -4
- package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -1
- package/dist/resources/registry/sap-global-registry.resource.js +18 -4
- package/dist/resources/registry/sap-global-registry.resource.js.map +1 -1
- package/dist/resources/reputation/index.d.ts +4 -1
- package/dist/resources/reputation/index.d.ts.map +1 -1
- package/dist/resources/reputation/index.js +4 -1
- package/dist/resources/reputation/index.js.map +1 -1
- package/dist/resources/reputation/sap-reputation.resource.d.ts +18 -4
- package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -1
- package/dist/resources/reputation/sap-reputation.resource.js +18 -4
- package/dist/resources/reputation/sap-reputation.resource.js.map +1 -1
- package/dist/resources/tool-schema/index.d.ts +4 -1
- package/dist/resources/tool-schema/index.d.ts.map +1 -1
- package/dist/resources/tool-schema/index.js +4 -1
- package/dist/resources/tool-schema/index.js.map +1 -1
- package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +18 -4
- package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -1
- package/dist/resources/tool-schema/sap-tool-schema.resource.js +18 -4
- package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -1
- package/dist/sap/index.d.ts +7 -1
- package/dist/sap/index.d.ts.map +1 -1
- package/dist/sap/index.js +7 -1
- package/dist/sap/index.js.map +1 -1
- package/dist/sap/sap-client-manager.d.ts +80 -13
- package/dist/sap/sap-client-manager.d.ts.map +1 -1
- package/dist/sap/sap-client-manager.js +80 -13
- package/dist/sap/sap-client-manager.js.map +1 -1
- package/dist/sap/sap-errors.d.ts +22 -3
- package/dist/sap/sap-errors.d.ts.map +1 -1
- package/dist/sap/sap-errors.js +22 -3
- package/dist/sap/sap-errors.js.map +1 -1
- package/dist/sap/sap-types.d.ts +75 -6
- package/dist/sap/sap-types.d.ts.map +1 -1
- package/dist/sap/sap-types.js +11 -1
- package/dist/sap/sap-types.js.map +1 -1
- package/dist/schemas/common.schema.d.ts +45 -8
- package/dist/schemas/common.schema.d.ts.map +1 -1
- package/dist/schemas/common.schema.js +45 -8
- package/dist/schemas/common.schema.js.map +1 -1
- package/dist/schemas/developer.schema.d.ts +22 -3
- package/dist/schemas/developer.schema.d.ts.map +1 -1
- package/dist/schemas/developer.schema.js +22 -3
- package/dist/schemas/developer.schema.js.map +1 -1
- package/dist/schemas/execution-proof.schema.d.ts +29 -4
- package/dist/schemas/execution-proof.schema.d.ts.map +1 -1
- package/dist/schemas/execution-proof.schema.js +29 -4
- package/dist/schemas/execution-proof.schema.js.map +1 -1
- package/dist/schemas/identity.schema.d.ts +23 -3
- package/dist/schemas/identity.schema.d.ts.map +1 -1
- package/dist/schemas/identity.schema.js +23 -3
- package/dist/schemas/identity.schema.js.map +1 -1
- package/dist/schemas/index.d.ts +11 -1
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +11 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/memory.schema.d.ts +23 -3
- package/dist/schemas/memory.schema.d.ts.map +1 -1
- package/dist/schemas/memory.schema.js +23 -3
- package/dist/schemas/memory.schema.js.map +1 -1
- package/dist/schemas/payments.schema.d.ts +24 -3
- package/dist/schemas/payments.schema.d.ts.map +1 -1
- package/dist/schemas/payments.schema.js +24 -3
- package/dist/schemas/payments.schema.js.map +1 -1
- package/dist/schemas/registry.schema.d.ts +36 -4
- package/dist/schemas/registry.schema.d.ts.map +1 -1
- package/dist/schemas/registry.schema.js +36 -4
- package/dist/schemas/registry.schema.js.map +1 -1
- package/dist/schemas/reputation.schema.d.ts +22 -3
- package/dist/schemas/reputation.schema.d.ts.map +1 -1
- package/dist/schemas/reputation.schema.js +22 -3
- package/dist/schemas/reputation.schema.js.map +1 -1
- package/dist/schemas/settlement.schema.d.ts +31 -4
- package/dist/schemas/settlement.schema.d.ts.map +1 -1
- package/dist/schemas/settlement.schema.js +31 -4
- package/dist/schemas/settlement.schema.js.map +1 -1
- package/dist/schemas/tool-schema.schema.d.ts +29 -3
- package/dist/schemas/tool-schema.schema.d.ts.map +1 -1
- package/dist/schemas/tool-schema.schema.js +29 -3
- package/dist/schemas/tool-schema.schema.js.map +1 -1
- package/dist/schemas/transaction.schema.d.ts +23 -3
- package/dist/schemas/transaction.schema.d.ts.map +1 -1
- package/dist/schemas/transaction.schema.js +23 -3
- package/dist/schemas/transaction.schema.js.map +1 -1
- package/dist/security/approval-required.d.ts +19 -2
- package/dist/security/approval-required.d.ts.map +1 -1
- package/dist/security/approval-required.js +19 -2
- package/dist/security/approval-required.js.map +1 -1
- package/dist/security/index.d.ts +7 -1
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +7 -1
- package/dist/security/index.js.map +1 -1
- package/dist/security/private-key-guard.d.ts +18 -2
- package/dist/security/private-key-guard.d.ts.map +1 -1
- package/dist/security/private-key-guard.js +19 -2
- package/dist/security/private-key-guard.js.map +1 -1
- package/dist/security/prompt-injection-notes.d.ts +10 -1
- package/dist/security/prompt-injection-notes.d.ts.map +1 -1
- package/dist/security/prompt-injection-notes.js +10 -1
- package/dist/security/prompt-injection-notes.js.map +1 -1
- package/dist/security/unsafe-action-guard.d.ts +36 -10
- package/dist/security/unsafe-action-guard.d.ts.map +1 -1
- package/dist/security/unsafe-action-guard.js +67 -15
- package/dist/security/unsafe-action-guard.js.map +1 -1
- package/dist/server/create-server.d.ts +18 -3
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/create-server.js +18 -3
- package/dist/server/create-server.js.map +1 -1
- package/dist/server/index.d.ts +6 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/register-capabilities.d.ts +17 -2
- package/dist/server/register-capabilities.d.ts.map +1 -1
- package/dist/server/register-capabilities.js +17 -2
- package/dist/server/register-capabilities.js.map +1 -1
- package/dist/server/server-metadata.d.ts +35 -1
- package/dist/server/server-metadata.d.ts.map +1 -1
- package/dist/server/server-metadata.js +36 -2
- package/dist/server/server-metadata.js.map +1 -1
- package/dist/session/agent-session.d.ts +35 -4
- package/dist/session/agent-session.d.ts.map +1 -1
- package/dist/session/agent-session.js +35 -4
- package/dist/session/agent-session.js.map +1 -1
- package/dist/session/delegated-session.d.ts +31 -3
- package/dist/session/delegated-session.d.ts.map +1 -1
- package/dist/session/delegated-session.js +31 -3
- package/dist/session/delegated-session.js.map +1 -1
- package/dist/session/index.d.ts +7 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +7 -1
- package/dist/session/index.js.map +1 -1
- package/dist/session/redis-session-store.d.ts +94 -21
- package/dist/session/redis-session-store.d.ts.map +1 -1
- package/dist/session/redis-session-store.js +87 -20
- package/dist/session/redis-session-store.js.map +1 -1
- package/dist/session/session-limits.d.ts +34 -4
- package/dist/session/session-limits.d.ts.map +1 -1
- package/dist/session/session-limits.js +34 -4
- package/dist/session/session-limits.js.map +1 -1
- package/dist/session/session-permissions.d.ts +57 -7
- package/dist/session/session-permissions.d.ts.map +1 -1
- package/dist/session/session-permissions.js +57 -7
- package/dist/session/session-permissions.js.map +1 -1
- package/dist/session/session-store.d.ts +9 -1
- package/dist/session/session-store.d.ts.map +1 -1
- package/dist/session/session-store.js +18 -3
- package/dist/session/session-store.js.map +1 -1
- package/dist/session/session-types.d.ts +33 -4
- package/dist/session/session-types.d.ts.map +1 -1
- package/dist/session/session-types.js +9 -1
- package/dist/session/session-types.js.map +1 -1
- package/dist/signer/index.d.ts +7 -1
- package/dist/signer/index.d.ts.map +1 -1
- package/dist/signer/index.js +7 -1
- package/dist/signer/index.js.map +1 -1
- package/dist/signer/load-keypair.d.ts +25 -4
- package/dist/signer/load-keypair.d.ts.map +1 -1
- package/dist/signer/load-keypair.js +25 -4
- package/dist/signer/load-keypair.js.map +1 -1
- package/dist/signer/local-keypair-signer.d.ts +16 -2
- package/dist/signer/local-keypair-signer.d.ts.map +1 -1
- package/dist/signer/local-keypair-signer.js +16 -2
- package/dist/signer/local-keypair-signer.js.map +1 -1
- package/dist/signer/signer-resolver.d.ts +19 -2
- package/dist/signer/signer-resolver.d.ts.map +1 -1
- package/dist/signer/signer-resolver.js +26 -3
- package/dist/signer/signer-resolver.js.map +1 -1
- package/dist/signer/signer-types.d.ts +47 -5
- package/dist/signer/signer-types.d.ts.map +1 -1
- package/dist/signer/signer-types.js +13 -1
- package/dist/signer/signer-types.js.map +1 -1
- package/dist/tools/agent-start-tool.js +20 -1
- package/dist/tools/agent-start-tool.js.map +1 -1
- package/dist/tools/client-sdk-tools.d.ts.map +1 -1
- package/dist/tools/client-sdk-tools.js +27 -2
- package/dist/tools/client-sdk-tools.js.map +1 -1
- package/dist/tools/estimate-tool-cost.d.ts +13 -0
- package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
- package/dist/tools/estimate-tool-cost.js +139 -0
- package/dist/tools/estimate-tool-cost.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/magicblock-tools.d.ts +25 -0
- package/dist/tools/magicblock-tools.d.ts.map +1 -1
- package/dist/tools/magicblock-tools.js +116 -8
- package/dist/tools/magicblock-tools.js.map +1 -1
- package/dist/tools/perp-tools.d.ts +39 -0
- package/dist/tools/perp-tools.d.ts.map +1 -0
- package/dist/tools/perp-tools.js +1110 -0
- package/dist/tools/perp-tools.js.map +1 -0
- package/dist/tools/premium-tools.d.ts +8 -0
- package/dist/tools/premium-tools.d.ts.map +1 -0
- package/dist/tools/premium-tools.js +1096 -0
- package/dist/tools/premium-tools.js.map +1 -0
- package/dist/tools/quick-context-tool.d.ts +16 -0
- package/dist/tools/quick-context-tool.d.ts.map +1 -0
- package/dist/tools/quick-context-tool.js +228 -0
- package/dist/tools/quick-context-tool.js.map +1 -0
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +14 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
- package/dist/tools/sap-sdk-tools.js +42 -32
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/skills-tools.d.ts +6 -0
- package/dist/tools/skills-tools.d.ts.map +1 -1
- package/dist/tools/skills-tools.js +5 -4
- package/dist/tools/skills-tools.js.map +1 -1
- package/dist/tools/x402-paid-call-tool.js +2 -2
- package/dist/tools/x402-paid-call-tool.js.map +1 -1
- package/dist/transports/index.d.ts +6 -1
- package/dist/transports/index.d.ts.map +1 -1
- package/dist/transports/index.js +6 -1
- package/dist/transports/index.js.map +1 -1
- package/dist/transports/stdio.d.ts +17 -5
- package/dist/transports/stdio.d.ts.map +1 -1
- package/dist/transports/stdio.js +17 -5
- package/dist/transports/stdio.js.map +1 -1
- package/dist/tui/wizard-save.d.ts +88 -8
- package/dist/tui/wizard-save.d.ts.map +1 -1
- package/dist/tui/wizard-save.js +77 -8
- package/dist/tui/wizard-save.js.map +1 -1
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +3 -3
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +4 -1
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
- package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +6 -0
- package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
- package/docs/BRANCH_AND_CI.md +67 -0
- package/docs/README.md +12 -0
- package/package.json +8 -9
- package/server.json +3 -3
- package/skills/sap-agent-registry/SKILL.md +6 -0
- package/skills/sap-mcp/SKILL.md +27 -4
- package/skills/sap-mcp/TOOL_REFERENCE.md +4 -1
- package/skills/sap-payments-x402/SKILL.md +22 -8
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/stream-broker
|
|
3
|
+
* @description SSE stream broker for premium real-time event delivery.
|
|
4
|
+
*
|
|
5
|
+
* After a session is activated (`status=active`), the stream broker opens a
|
|
6
|
+
* provider subscription, enriches each event with session metadata, stores it
|
|
7
|
+
* in the event store for replay, and delivers it to the buyer via SSE
|
|
8
|
+
* (Server-Sent Events) over the `/premium/stream/:sessionId` HTTP endpoint.
|
|
9
|
+
*
|
|
10
|
+
* The broker enforces:
|
|
11
|
+
* - Unit quota: stops delivery when `requestedUnits` reaches zero.
|
|
12
|
+
* - Session status: only delivers for `status=active` sessions.
|
|
13
|
+
* - Event idempotency: deduplicates via `eventId` in the event store.
|
|
14
|
+
* - Graceful shutdown: closes all active streams on disconnect.
|
|
15
|
+
*
|
|
16
|
+
* @flow
|
|
17
|
+
* 1. Buyer calls `GET /premium/stream/:sessionId` with `Accept: text/event-stream`.
|
|
18
|
+
* 2. → `startStream()` validates session is active, loads provider adapter.
|
|
19
|
+
* 3. → Provider `subscribe()` returns async iterable of `ProviderEvent`.
|
|
20
|
+
* 4. → For each event: enrich with session metadata, `appendEvent()`, write SSE.
|
|
21
|
+
* 5. → `decrementSessionQuota()` after each event; auto-close at zero.
|
|
22
|
+
* 6. Client disconnects or quota exhausted → `stopStream()`.
|
|
23
|
+
*
|
|
24
|
+
* @module premium/stream-broker
|
|
25
|
+
*/
|
|
26
|
+
import { getPremiumSession, decrementSessionQuota } from './session-manager.js';
|
|
27
|
+
import { subscribeToProvider } from './provider-bridge.js';
|
|
28
|
+
import { appendEvent, getEvents } from './event-store.js';
|
|
29
|
+
/**
|
|
30
|
+
* @description Registry of active stream subscriptions keyed by session id.
|
|
31
|
+
*/
|
|
32
|
+
const activeStreams = new Map();
|
|
33
|
+
/**
|
|
34
|
+
* @description Abort controllers for active streams, keyed by session id.
|
|
35
|
+
* Used to cancel the provider async iterable when the client disconnects.
|
|
36
|
+
*/
|
|
37
|
+
const streamControllers = new Map();
|
|
38
|
+
/**
|
|
39
|
+
* @name startStream
|
|
40
|
+
* @description Start a premium stream subscription for an active session.
|
|
41
|
+
*
|
|
42
|
+
* @param sessionId - The activated premium session id.
|
|
43
|
+
* @param subscriptionKey - De-duplication key from the stream input schema.
|
|
44
|
+
* @param filters - Narrow filters for the provider subscription.
|
|
45
|
+
* @returns The `PremiumStreamSubscription` if successful, or `null` if the
|
|
46
|
+
* session is not active or the provider is not available.
|
|
47
|
+
*
|
|
48
|
+
* @usedBy `remote/server.ts` → `GET /premium/stream/:sessionId`
|
|
49
|
+
*/
|
|
50
|
+
export async function startStream(sessionId, subscriptionKey, filters) {
|
|
51
|
+
const session = getPremiumSession(sessionId);
|
|
52
|
+
if (!session || session.status !== 'active')
|
|
53
|
+
return null;
|
|
54
|
+
// Don't start a duplicate stream for the same session.
|
|
55
|
+
if (activeStreams.has(sessionId))
|
|
56
|
+
return activeStreams.get(sessionId);
|
|
57
|
+
const subscription = {
|
|
58
|
+
sessionId,
|
|
59
|
+
pluginId: session.pluginId,
|
|
60
|
+
capabilityId: session.capabilityId,
|
|
61
|
+
subscriptionKey,
|
|
62
|
+
filters,
|
|
63
|
+
startedAt: new Date().toISOString(),
|
|
64
|
+
unitsDelivered: 0,
|
|
65
|
+
unitsQuota: session.requestedUnits,
|
|
66
|
+
active: true,
|
|
67
|
+
};
|
|
68
|
+
activeStreams.set(sessionId, subscription);
|
|
69
|
+
return subscription;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @name streamEvents
|
|
73
|
+
* @description Async generator that yields enriched premium events for a session.
|
|
74
|
+
*
|
|
75
|
+
* This is the core delivery loop. It:
|
|
76
|
+
* 1. Loads the provider adapter for the session's plugin/capability.
|
|
77
|
+
* 2. Subscribes with the session's filters.
|
|
78
|
+
* 3. For each provider event: enriches with session metadata, appends to the
|
|
79
|
+
* event store, decrements the unit quota, and yields the enriched event.
|
|
80
|
+
* 4. Stops when the quota reaches zero, the provider iterable ends, or the
|
|
81
|
+
* stream is cancelled via `stopStream()`.
|
|
82
|
+
*
|
|
83
|
+
* @param sessionId - The active session id.
|
|
84
|
+
* @returns Async generator yielding `ProviderEvent` enriched with session metadata.
|
|
85
|
+
*
|
|
86
|
+
* @usedBy `remote/server.ts` → SSE response writer
|
|
87
|
+
*/
|
|
88
|
+
export async function* streamEvents(sessionId) {
|
|
89
|
+
const subscription = activeStreams.get(sessionId);
|
|
90
|
+
if (!subscription)
|
|
91
|
+
return;
|
|
92
|
+
const session = getPremiumSession(sessionId);
|
|
93
|
+
if (!session || session.status !== 'active')
|
|
94
|
+
return;
|
|
95
|
+
const iterable = await subscribeToProvider(subscription.pluginId, subscription.capabilityId, subscription.filters);
|
|
96
|
+
if (!iterable)
|
|
97
|
+
return;
|
|
98
|
+
const controller = new AbortController();
|
|
99
|
+
streamControllers.set(sessionId, controller);
|
|
100
|
+
try {
|
|
101
|
+
for await (const event of iterable) {
|
|
102
|
+
if (controller.signal.aborted)
|
|
103
|
+
break;
|
|
104
|
+
if (!subscription.active)
|
|
105
|
+
break;
|
|
106
|
+
// Enrich and store the event.
|
|
107
|
+
appendEvent({
|
|
108
|
+
eventId: event.eventId,
|
|
109
|
+
sessionId,
|
|
110
|
+
pluginId: subscription.pluginId,
|
|
111
|
+
capabilityId: subscription.capabilityId,
|
|
112
|
+
eventType: event.eventType,
|
|
113
|
+
observedAt: event.observedAt,
|
|
114
|
+
payload: event.payload,
|
|
115
|
+
deliveredAt: new Date().toISOString(),
|
|
116
|
+
});
|
|
117
|
+
subscription.unitsDelivered++;
|
|
118
|
+
const remaining = decrementSessionQuota(sessionId);
|
|
119
|
+
if (remaining <= 0) {
|
|
120
|
+
subscription.active = false;
|
|
121
|
+
yield event;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
yield event;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
finally {
|
|
128
|
+
streamControllers.delete(sessionId);
|
|
129
|
+
if (subscription.active) {
|
|
130
|
+
subscription.active = false;
|
|
131
|
+
}
|
|
132
|
+
activeStreams.delete(sessionId);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* @name stopStream
|
|
137
|
+
* @description Stop an active stream subscription.
|
|
138
|
+
*
|
|
139
|
+
* Aborts the provider async iterable and marks the subscription as inactive.
|
|
140
|
+
* The session is not closed — the buyer can resume with a replay query.
|
|
141
|
+
*
|
|
142
|
+
* @param sessionId - The session id to stop streaming for.
|
|
143
|
+
*
|
|
144
|
+
* @usedBy `remote/server.ts` → client disconnect handler
|
|
145
|
+
*/
|
|
146
|
+
export function stopStream(sessionId) {
|
|
147
|
+
const controller = streamControllers.get(sessionId);
|
|
148
|
+
if (controller) {
|
|
149
|
+
controller.abort();
|
|
150
|
+
streamControllers.delete(sessionId);
|
|
151
|
+
}
|
|
152
|
+
const subscription = activeStreams.get(sessionId);
|
|
153
|
+
if (subscription) {
|
|
154
|
+
subscription.active = false;
|
|
155
|
+
activeStreams.delete(sessionId);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* @name replayEvents
|
|
160
|
+
* @description Replay past events for a session within the replay window.
|
|
161
|
+
*
|
|
162
|
+
* Used when a client reconnects and needs to catch up on events missed
|
|
163
|
+
* during the disconnection period.
|
|
164
|
+
*
|
|
165
|
+
* @param sessionId - The session id to replay events for.
|
|
166
|
+
* @param since - Optional ISO timestamp; only events after this are returned.
|
|
167
|
+
* @returns Array of `ProviderEvent` records from the event store.
|
|
168
|
+
*
|
|
169
|
+
* @usedBy `remote/server.ts` → SSE replay before live stream
|
|
170
|
+
*/
|
|
171
|
+
export function replayEvents(sessionId, since) {
|
|
172
|
+
return getEvents({ sessionId, since }).map(record => ({
|
|
173
|
+
eventId: record.eventId,
|
|
174
|
+
eventType: record.eventType,
|
|
175
|
+
observedAt: record.observedAt,
|
|
176
|
+
payload: record.payload,
|
|
177
|
+
}));
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* @name getActiveStreamCount
|
|
181
|
+
* @description Return the number of currently active stream subscriptions.
|
|
182
|
+
*
|
|
183
|
+
* @usedBy `metrics.ts`
|
|
184
|
+
*/
|
|
185
|
+
export function getActiveStreamCount() {
|
|
186
|
+
return activeStreams.size;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* @name stopAllStreams
|
|
190
|
+
* @description Stop all active streams. Called during graceful shutdown.
|
|
191
|
+
*
|
|
192
|
+
* @usedBy `remote/server.ts` shutdown handler
|
|
193
|
+
*/
|
|
194
|
+
export function stopAllStreams() {
|
|
195
|
+
for (const sessionId of activeStreams.keys()) {
|
|
196
|
+
stopStream(sessionId);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=stream-broker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-broker.js","sourceRoot":"","sources":["../../src/premium/stream-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/tech-fundamentals-capabilities
|
|
3
|
+
* @description Built-in premium tech fundamentals capabilities for Solana project analysis.
|
|
4
|
+
*
|
|
5
|
+
* Defines 3 premium tech fundamentals capabilities across 1 plugin:
|
|
6
|
+
*
|
|
7
|
+
* 1. `sap-premium-tech-fundamentals` — Technical & fundamental analysis:
|
|
8
|
+
* - `tech.github.activity` — GitHub activity spike alerts (webhook)
|
|
9
|
+
* - `tech.tvl.change` — Real-time TVL changes for Solana DeFi (stream)
|
|
10
|
+
* - `tech.tokenomics.analysis` — On-demand tokenomics analysis (webhook)
|
|
11
|
+
*
|
|
12
|
+
* These capabilities are contracts only — they become live when the corresponding
|
|
13
|
+
* provider env vars are configured and a provider adapter is loaded from the
|
|
14
|
+
* private subrepo.
|
|
15
|
+
*
|
|
16
|
+
* @flow
|
|
17
|
+
* 1. Agent discovers tech fundamentals capabilities via `sap_premium_plugin_catalog`.
|
|
18
|
+
* 2. Agent creates a session plan for a tech stream or webhook.
|
|
19
|
+
* 3. Agent activates the session with x402/pay.sh receipt.
|
|
20
|
+
* 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
|
|
21
|
+
* 5. Agent registers webhooks for GitHub activity and tokenomics alerts via `POST /premium/webhook/register`.
|
|
22
|
+
* 6. Provider adapter in the private subrepo feeds real tech fundamentals data.
|
|
23
|
+
*
|
|
24
|
+
* @module premium/tech-fundamentals-capabilities
|
|
25
|
+
*/
|
|
26
|
+
import type { PremiumPluginManifest } from './types.js';
|
|
27
|
+
/**
|
|
28
|
+
* @name TECH_FUNDAMENTALS_PREMIUM_PLUGINS
|
|
29
|
+
* @description Built-in premium tech fundamentals plugin manifests.
|
|
30
|
+
*
|
|
31
|
+
* One plugin covering 3 tech fundamentals capabilities:
|
|
32
|
+
* - `sap-premium-tech-fundamentals` — 2 webhook + 1 stream capability
|
|
33
|
+
*
|
|
34
|
+
* @usedBy `listPremiumPlugins()` — merged with the existing built-in plugins.
|
|
35
|
+
*/
|
|
36
|
+
export declare const TECH_FUNDAMENTALS_PREMIUM_PLUGINS: PremiumPluginManifest[];
|
|
37
|
+
//# sourceMappingURL=tech-fundamentals-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tech-fundamentals-capabilities.d.ts","sourceRoot":"","sources":["../../src/premium/tech-fundamentals-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAA+B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA+PrF;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,EAAE,qBAAqB,EAoCpE,CAAC"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/tech-fundamentals-capabilities
|
|
3
|
+
* @description Built-in premium tech fundamentals capabilities for Solana project analysis.
|
|
4
|
+
*
|
|
5
|
+
* Defines 3 premium tech fundamentals capabilities across 1 plugin:
|
|
6
|
+
*
|
|
7
|
+
* 1. `sap-premium-tech-fundamentals` — Technical & fundamental analysis:
|
|
8
|
+
* - `tech.github.activity` — GitHub activity spike alerts (webhook)
|
|
9
|
+
* - `tech.tvl.change` — Real-time TVL changes for Solana DeFi (stream)
|
|
10
|
+
* - `tech.tokenomics.analysis` — On-demand tokenomics analysis (webhook)
|
|
11
|
+
*
|
|
12
|
+
* These capabilities are contracts only — they become live when the corresponding
|
|
13
|
+
* provider env vars are configured and a provider adapter is loaded from the
|
|
14
|
+
* private subrepo.
|
|
15
|
+
*
|
|
16
|
+
* @flow
|
|
17
|
+
* 1. Agent discovers tech fundamentals capabilities via `sap_premium_plugin_catalog`.
|
|
18
|
+
* 2. Agent creates a session plan for a tech stream or webhook.
|
|
19
|
+
* 3. Agent activates the session with x402/pay.sh receipt.
|
|
20
|
+
* 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
|
|
21
|
+
* 5. Agent registers webhooks for GitHub activity and tokenomics alerts via `POST /premium/webhook/register`.
|
|
22
|
+
* 6. Provider adapter in the private subrepo feeds real tech fundamentals data.
|
|
23
|
+
*
|
|
24
|
+
* @module premium/tech-fundamentals-capabilities
|
|
25
|
+
*/
|
|
26
|
+
/* -------------------------------------------------------------------------- */
|
|
27
|
+
/* Shared schemas */
|
|
28
|
+
/* -------------------------------------------------------------------------- */
|
|
29
|
+
/**
|
|
30
|
+
* @description Input schema for tech fundamentals stream capabilities.
|
|
31
|
+
* Requires a `subscriptionKey` for de-duplication and supports narrow
|
|
32
|
+
* filters for mints and minimum liquidity/volume thresholds.
|
|
33
|
+
*/
|
|
34
|
+
const techStreamInputSchema = {
|
|
35
|
+
type: 'object',
|
|
36
|
+
required: ['subscriptionKey'],
|
|
37
|
+
properties: {
|
|
38
|
+
subscriptionKey: {
|
|
39
|
+
type: 'string',
|
|
40
|
+
minLength: 3,
|
|
41
|
+
description: 'Stable subscription key for de-duplication. Use a hash of protocol + metric id.',
|
|
42
|
+
},
|
|
43
|
+
mints: {
|
|
44
|
+
type: 'array',
|
|
45
|
+
items: { type: 'string', minLength: 32, maxLength: 44 },
|
|
46
|
+
description: 'Token mint addresses to watch. Empty = all Solana DeFi protocols.',
|
|
47
|
+
},
|
|
48
|
+
minLiquidityUsd: {
|
|
49
|
+
type: 'number',
|
|
50
|
+
minimum: 0,
|
|
51
|
+
description: 'Minimum TVL/liquidity in USD to emit an event. Filters small protocols.',
|
|
52
|
+
},
|
|
53
|
+
minVolumeUsd: {
|
|
54
|
+
type: 'number',
|
|
55
|
+
minimum: 0,
|
|
56
|
+
description: 'Minimum 24h volume in USD to emit an event.',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
additionalProperties: false,
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* @description Output schema for tech fundamentals stream events. Each event
|
|
63
|
+
* carries a signal type, protocol metadata, and TVL/change data.
|
|
64
|
+
*/
|
|
65
|
+
const techStreamOutputSchema = {
|
|
66
|
+
type: 'object',
|
|
67
|
+
required: ['eventId', 'eventType', 'observedAt', 'payload'],
|
|
68
|
+
properties: {
|
|
69
|
+
eventId: {
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: 'Stable event id for idempotent execution and replay.',
|
|
72
|
+
},
|
|
73
|
+
eventType: {
|
|
74
|
+
type: 'string',
|
|
75
|
+
enum: [
|
|
76
|
+
'tvl.change',
|
|
77
|
+
],
|
|
78
|
+
description: 'Tech fundamentals event type determining the payload structure.',
|
|
79
|
+
},
|
|
80
|
+
observedAt: {
|
|
81
|
+
type: 'string',
|
|
82
|
+
format: 'date-time',
|
|
83
|
+
description: 'ISO timestamp when the provider observed the protocol condition.',
|
|
84
|
+
},
|
|
85
|
+
payload: {
|
|
86
|
+
type: 'object',
|
|
87
|
+
required: ['protocol', 'action', 'confidence'],
|
|
88
|
+
properties: {
|
|
89
|
+
protocol: { type: 'string', description: 'Protocol name (e.g. "Jupiter", "Raydium").' },
|
|
90
|
+
mint: { type: 'string', description: 'Associated token mint address.' },
|
|
91
|
+
action: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
enum: ['buy', 'sell', 'monitor', 'alert'],
|
|
94
|
+
description: 'Recommended agent action.',
|
|
95
|
+
},
|
|
96
|
+
confidence: {
|
|
97
|
+
type: 'number',
|
|
98
|
+
minimum: 0,
|
|
99
|
+
maximum: 1,
|
|
100
|
+
description: 'Signal confidence score (0-1).',
|
|
101
|
+
},
|
|
102
|
+
tvlUsd: { type: 'number', description: 'Current TVL in USD.' },
|
|
103
|
+
tvlChangePct: { type: 'number', description: 'TVL change percentage (24h).' },
|
|
104
|
+
tvlChangeUsd: { type: 'number', description: 'TVL change in USD (24h).' },
|
|
105
|
+
rank: { type: 'number', description: 'Protocol TVL rank on Solana.' },
|
|
106
|
+
expiresAt: { type: 'string', format: 'date-time', description: 'Signal expiry timestamp.' },
|
|
107
|
+
},
|
|
108
|
+
additionalProperties: true,
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
additionalProperties: false,
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* @description Input schema for tech fundamentals webhook capabilities. The
|
|
115
|
+
* buyer provides an HTTPS endpoint and selects which event types to receive.
|
|
116
|
+
*/
|
|
117
|
+
const techWebhookInputSchema = {
|
|
118
|
+
type: 'object',
|
|
119
|
+
required: ['targetUrl', 'events'],
|
|
120
|
+
properties: {
|
|
121
|
+
targetUrl: {
|
|
122
|
+
type: 'string',
|
|
123
|
+
format: 'uri',
|
|
124
|
+
description: 'HTTPS webhook endpoint owned by the agent.',
|
|
125
|
+
},
|
|
126
|
+
events: {
|
|
127
|
+
type: 'array',
|
|
128
|
+
minItems: 1,
|
|
129
|
+
items: {
|
|
130
|
+
type: 'string',
|
|
131
|
+
enum: ['tech.github.activity', 'tech.tokenomics.analysis'],
|
|
132
|
+
},
|
|
133
|
+
description: 'Event types to deliver to this webhook.',
|
|
134
|
+
},
|
|
135
|
+
minLiquidityUsd: {
|
|
136
|
+
type: 'number',
|
|
137
|
+
minimum: 0,
|
|
138
|
+
description: 'Minimum liquidity/TVL in USD for alerts. Filters small protocols.',
|
|
139
|
+
},
|
|
140
|
+
signingPublicKey: {
|
|
141
|
+
type: 'string',
|
|
142
|
+
description: 'Optional public key for webhook signature verification.',
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
additionalProperties: false,
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* @description Output schema for tech fundamentals webhook deliveries.
|
|
149
|
+
*/
|
|
150
|
+
const techWebhookOutputSchema = {
|
|
151
|
+
type: 'object',
|
|
152
|
+
required: ['deliveryId', 'eventType', 'deliveredAt', 'signature', 'payload'],
|
|
153
|
+
properties: {
|
|
154
|
+
deliveryId: { type: 'string', description: 'Idempotent delivery id.' },
|
|
155
|
+
eventType: { type: 'string', description: 'Tech fundamentals event type.' },
|
|
156
|
+
deliveredAt: { type: 'string', format: 'date-time', description: 'ISO delivery timestamp.' },
|
|
157
|
+
signature: { type: 'string', description: 'HMAC-SHA256 signature.' },
|
|
158
|
+
payload: {
|
|
159
|
+
type: 'object',
|
|
160
|
+
additionalProperties: true,
|
|
161
|
+
description: 'Tech fundamentals payload with GitHub activity, TVL, or tokenomics analysis data.',
|
|
162
|
+
},
|
|
163
|
+
},
|
|
164
|
+
additionalProperties: false,
|
|
165
|
+
};
|
|
166
|
+
/* -------------------------------------------------------------------------- */
|
|
167
|
+
/* Capability factory */
|
|
168
|
+
/* -------------------------------------------------------------------------- */
|
|
169
|
+
/**
|
|
170
|
+
* @name techStreamCapability
|
|
171
|
+
* @description Factory for building a tech fundamentals stream capability definition.
|
|
172
|
+
*
|
|
173
|
+
* @param id - Capability id (e.g. `tech.tvl.change`).
|
|
174
|
+
* @param title - Human-readable title.
|
|
175
|
+
* @param description - Agent-facing description.
|
|
176
|
+
* @param events - Event types this stream emits.
|
|
177
|
+
* @param unitPriceUsd - Price per minute in USD.
|
|
178
|
+
* @param providerEnv - Required provider env vars.
|
|
179
|
+
* @returns A `PremiumCapabilityDefinition` with type `stream`.
|
|
180
|
+
*
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
function techStreamCapability(id, title, description, events, unitPriceUsd, providerEnv) {
|
|
184
|
+
return {
|
|
185
|
+
id,
|
|
186
|
+
type: 'stream',
|
|
187
|
+
title,
|
|
188
|
+
description,
|
|
189
|
+
status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
|
|
190
|
+
requiresProvider: providerEnv.length > 0,
|
|
191
|
+
providerEnv,
|
|
192
|
+
inputSchema: techStreamInputSchema,
|
|
193
|
+
outputSchema: techStreamOutputSchema,
|
|
194
|
+
pricing: {
|
|
195
|
+
tier: 'premium-stream',
|
|
196
|
+
model: 'x402-per-minute',
|
|
197
|
+
unit: 'minute',
|
|
198
|
+
unitPriceUsd,
|
|
199
|
+
minUnits: 1,
|
|
200
|
+
maxUnits: 480, // up to 8 hours of streaming
|
|
201
|
+
settlement: 'x402',
|
|
202
|
+
},
|
|
203
|
+
delivery: {
|
|
204
|
+
transport: 'mcp-streamable-http',
|
|
205
|
+
events,
|
|
206
|
+
latencyTargetMs: 1000,
|
|
207
|
+
replayWindowSeconds: 600,
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* @name techWebhookCapability
|
|
213
|
+
* @description Factory for building a tech fundamentals webhook capability definition.
|
|
214
|
+
*
|
|
215
|
+
* @param id - Capability id (e.g. `tech.github.activity`).
|
|
216
|
+
* @param title - Human-readable title.
|
|
217
|
+
* @param description - Agent-facing description.
|
|
218
|
+
* @param events - Event types this webhook delivers.
|
|
219
|
+
* @param unitPriceUsd - Price per delivered event in USD.
|
|
220
|
+
* @param providerEnv - Required provider env vars.
|
|
221
|
+
* @returns A `PremiumCapabilityDefinition` with type `webhook`.
|
|
222
|
+
*
|
|
223
|
+
* @internal
|
|
224
|
+
*/
|
|
225
|
+
function techWebhookCapability(id, title, description, events, unitPriceUsd, providerEnv) {
|
|
226
|
+
return {
|
|
227
|
+
id,
|
|
228
|
+
type: 'webhook',
|
|
229
|
+
title,
|
|
230
|
+
description,
|
|
231
|
+
status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
|
|
232
|
+
requiresProvider: providerEnv.length > 0,
|
|
233
|
+
providerEnv,
|
|
234
|
+
inputSchema: techWebhookInputSchema,
|
|
235
|
+
outputSchema: techWebhookOutputSchema,
|
|
236
|
+
pricing: {
|
|
237
|
+
tier: 'premium-webhook',
|
|
238
|
+
model: 'x402-per-event',
|
|
239
|
+
unit: 'event',
|
|
240
|
+
unitPriceUsd,
|
|
241
|
+
minUnits: 5,
|
|
242
|
+
maxUnits: 50_000,
|
|
243
|
+
settlement: 'x402',
|
|
244
|
+
},
|
|
245
|
+
delivery: {
|
|
246
|
+
transport: 'webhook-http',
|
|
247
|
+
events,
|
|
248
|
+
latencyTargetMs: 1_500,
|
|
249
|
+
replayWindowSeconds: 900,
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/* -------------------------------------------------------------------------- */
|
|
254
|
+
/* Plugin manifests */
|
|
255
|
+
/* -------------------------------------------------------------------------- */
|
|
256
|
+
/**
|
|
257
|
+
* @name TECH_FUNDAMENTALS_PREMIUM_PLUGINS
|
|
258
|
+
* @description Built-in premium tech fundamentals plugin manifests.
|
|
259
|
+
*
|
|
260
|
+
* One plugin covering 3 tech fundamentals capabilities:
|
|
261
|
+
* - `sap-premium-tech-fundamentals` — 2 webhook + 1 stream capability
|
|
262
|
+
*
|
|
263
|
+
* @usedBy `listPremiumPlugins()` — merged with the existing built-in plugins.
|
|
264
|
+
*/
|
|
265
|
+
export const TECH_FUNDAMENTALS_PREMIUM_PLUGINS = [
|
|
266
|
+
{
|
|
267
|
+
id: 'sap-premium-tech-fundamentals',
|
|
268
|
+
version: '0.1.0',
|
|
269
|
+
title: 'SAP Premium Tech Fundamentals',
|
|
270
|
+
description: 'Paid technical and fundamental analysis for Solana agents: GitHub activity spike alerts for Solana projects, real-time TVL change monitoring for DeFi protocols, and on-demand tokenomics analysis with supply distribution, vesting schedules, and unlock calendars. x402 metered delivery.',
|
|
271
|
+
publisher: 'OOBE Protocol',
|
|
272
|
+
visibility: 'public',
|
|
273
|
+
capabilities: [
|
|
274
|
+
techWebhookCapability('tech.github.activity', 'GitHub activity spike alerts', 'Delivers signed webhook callbacks when GitHub activity spikes are detected for Solana projects. Monitors commit frequency, PR count, issue activity, and contributor changes. Agents receive project name, repo URL, activity spike type (commits, PRs, issues), spike magnitude, and historical comparison for development-driven investment signals.', ['tech.github.activity'], 0.002, // $0.002/event
|
|
275
|
+
['SAP_MCP_PREMIUM_GITHUB_API_URL', 'SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
|
|
276
|
+
techStreamCapability('tech.tvl.change', 'Real-time TVL change stream', 'Streams real-time TVL changes for Solana DeFi protocols. Monitors total value locked across lending, DEX, staking, and yield protocols. Emits events when TVL changes by a configurable threshold. Agents receive protocol name, current TVL, change percentage, change in USD, and protocol rank for TVL-driven investment decisions.', ['tvl.change'], 0.02, // $0.02/min
|
|
277
|
+
['SAP_MCP_PREMIUM_DEFILAMA_API_URL']),
|
|
278
|
+
techWebhookCapability('tech.tokenomics.analysis', 'On-demand tokenomics analysis', 'Delivers signed webhook callbacks with on-demand tokenomics analysis for Solana projects. Analyzes supply distribution, vesting schedules, token unlock calendars, and team/advisor allocations. Agents receive mint, circulating supply, total supply, unlock dates, vesting breakdown, concentration risk, and recommended action for tokenomics-aware investment decisions.', ['tech.tokenomics.analysis'], 0.004, // $0.004/event
|
|
279
|
+
['SAP_MCP_PREMIUM_GITHUB_API_URL', 'SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
|
|
280
|
+
],
|
|
281
|
+
},
|
|
282
|
+
];
|
|
283
|
+
//# sourceMappingURL=tech-fundamentals-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tech-fundamentals-capabilities.js","sourceRoot":"","sources":["../../src/premium/tech-fundamentals-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name premium/trading-capabilities
|
|
3
|
+
* @description Built-in premium trading capabilities for Solana real-time trading agents.
|
|
4
|
+
*
|
|
5
|
+
* Defines 3 premium trading capabilities across 1 plugin:
|
|
6
|
+
*
|
|
7
|
+
* 1. `sap-premium-trading-streams` — Real-time SSE streams for trading signals:
|
|
8
|
+
* - `jupiter.arbitrage.scan` — Cross-DEX arbitrage opportunity scanner (stream)
|
|
9
|
+
* - `pyth.volatility.watch` — Price volatility breakout detector (stream)
|
|
10
|
+
* - `jupiter.route.optimized` — Optimized swap route with MEV protection (stream)
|
|
11
|
+
*
|
|
12
|
+
* These capabilities are contracts only — they become live when the corresponding
|
|
13
|
+
* provider env vars are configured and a provider adapter is loaded from the
|
|
14
|
+
* private subrepo.
|
|
15
|
+
*
|
|
16
|
+
* @flow
|
|
17
|
+
* 1. Agent discovers trading capabilities via `sap_premium_plugin_catalog`.
|
|
18
|
+
* 2. Agent creates a session plan for a trading stream.
|
|
19
|
+
* 3. Agent activates the session with x402/pay.sh receipt.
|
|
20
|
+
* 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
|
|
21
|
+
* 5. Provider adapter in the private subrepo feeds real market data.
|
|
22
|
+
*
|
|
23
|
+
* @module premium/trading-capabilities
|
|
24
|
+
*/
|
|
25
|
+
import type { PremiumPluginManifest } from './types.js';
|
|
26
|
+
/**
|
|
27
|
+
* @name TRADING_PREMIUM_PLUGINS
|
|
28
|
+
* @description Built-in premium trading plugin manifests.
|
|
29
|
+
*
|
|
30
|
+
* One plugin covering 3 trading stream capabilities:
|
|
31
|
+
* - `sap-premium-trading-streams` — 3 SSE stream capabilities
|
|
32
|
+
*
|
|
33
|
+
* @usedBy `listPremiumPlugins()` — merged with the other built-in plugins.
|
|
34
|
+
*/
|
|
35
|
+
export declare const TRADING_PREMIUM_PLUGINS: PremiumPluginManifest[];
|
|
36
|
+
//# sourceMappingURL=trading-capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trading-capabilities.d.ts","sourceRoot":"","sources":["../../src/premium/trading-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAA+B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAwKrF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,EAoC1D,CAAC"}
|