@oobe-protocol-labs/sap-mcp-server 0.9.1 → 0.9.3
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 +732 -1
- package/README.md +9 -3
- package/USER_DOCS/00_START_HERE.md +51 -4
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
- package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +32 -3
- package/USER_DOCS/04_CLIENT_CONFIGS.md +14 -7
- package/USER_DOCS/05_SKILLS_AND_TOOLS.md +68 -8
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +20 -14
- package/USER_DOCS/07_SMITHERY_AND_MARKETPLACES.md +7 -0
- package/config.example.json +5 -4
- package/config.schema.json +9 -4
- 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 +232 -25
- package/dist/adapters/mcp/sdk-compat.js.map +1 -1
- package/dist/adapters/mcp/tool-response.d.ts +51 -3
- package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
- package/dist/adapters/mcp/tool-response.js +48 -3
- 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 +15 -10
- 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 +136 -33
- package/dist/config/mcp-client-injection.js.map +1 -1
- package/dist/config/paths.d.ts +14 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +20 -1
- 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/wizard.d.ts +6 -0
- package/dist/config/wizard.d.ts.map +1 -1
- package/dist/config/wizard.js +102 -18
- package/dist/config/wizard.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 +14 -1
- package/dist/config-cli.js.map +1 -1
- package/dist/core/constants.d.ts +38 -6
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/constants.js +49 -6
- 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/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/memory/async-processor.d.ts +107 -0
- package/dist/memory/async-processor.d.ts.map +1 -0
- package/dist/memory/async-processor.js +204 -0
- package/dist/memory/async-processor.js.map +1 -0
- package/dist/memory/auto-record.d.ts +47 -0
- package/dist/memory/auto-record.d.ts.map +1 -0
- package/dist/memory/auto-record.js +133 -0
- package/dist/memory/auto-record.js.map +1 -0
- package/dist/memory/database.d.ts +103 -0
- package/dist/memory/database.d.ts.map +1 -0
- package/dist/memory/database.js +337 -0
- package/dist/memory/database.js.map +1 -0
- package/dist/memory/hermes-bridge.d.ts +70 -0
- package/dist/memory/hermes-bridge.d.ts.map +1 -0
- package/dist/memory/hermes-bridge.js +155 -0
- package/dist/memory/hermes-bridge.js.map +1 -0
- package/dist/memory/index.d.ts +23 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +22 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/memory-store.d.ts +76 -0
- package/dist/memory/memory-store.d.ts.map +1 -0
- package/dist/memory/memory-store.js +231 -0
- package/dist/memory/memory-store.js.map +1 -0
- package/dist/memory/stream-buffer-store.d.ts +69 -0
- package/dist/memory/stream-buffer-store.d.ts.map +1 -0
- package/dist/memory/stream-buffer-store.js +182 -0
- package/dist/memory/stream-buffer-store.js.map +1 -0
- package/dist/memory/tool-call-store.d.ts +68 -0
- package/dist/memory/tool-call-store.d.ts.map +1 -0
- package/dist/memory/tool-call-store.js +189 -0
- package/dist/memory/tool-call-store.js.map +1 -0
- package/dist/memory/types.d.ts +197 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +15 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/utils.d.ts +30 -0
- package/dist/memory/utils.d.ts.map +1 -0
- package/dist/memory/utils.js +47 -0
- package/dist/memory/utils.js.map +1 -0
- 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 +22 -0
- package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -0
- package/dist/payments/hosted-tool-eligibility.js +173 -0
- package/dist/payments/hosted-tool-eligibility.js.map +1 -0
- package/dist/payments/index.d.ts +2 -2
- package/dist/payments/index.d.ts.map +1 -1
- package/dist/payments/index.js +1 -1
- package/dist/payments/index.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 +33 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +124 -12
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts +31 -0
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +317 -19
- 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 +121 -0
- package/dist/payments/x402-paid-call.d.ts.map +1 -1
- package/dist/payments/x402-paid-call.js +428 -1
- 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 +165 -0
- package/dist/premium/builtin-plugins.d.ts.map +1 -0
- package/dist/premium/builtin-plugins.js +422 -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 +133 -0
- package/dist/premium/provider-bridge.d.ts.map +1 -0
- package/dist/premium/provider-bridge.js +349 -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 +516 -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 +20 -16
- 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 +7 -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 +16 -14
- 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 +22 -23
- 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 +347 -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 +23 -4
- package/dist/remote/public-home/sections.js.map +1 -1
- package/dist/remote/public-home/types.d.ts +9 -0
- package/dist/remote/public-home/types.d.ts.map +1 -1
- package/dist/remote/server.d.ts +20 -0
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +370 -9
- 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 +38 -6
- 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/tool-permissions.d.ts.map +1 -1
- package/dist/security/tool-permissions.js +12 -0
- package/dist/security/tool-permissions.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 +20 -4
- 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 +19 -3
- package/dist/signer/local-keypair-signer.d.ts.map +1 -1
- package/dist/signer/local-keypair-signer.js +24 -4
- 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/strategies/strategy-store.d.ts +82 -0
- package/dist/strategies/strategy-store.d.ts.map +1 -0
- package/dist/strategies/strategy-store.js +165 -0
- package/dist/strategies/strategy-store.js.map +1 -0
- package/dist/tools/agent-start-tool.d.ts.map +1 -1
- package/dist/tools/agent-start-tool.js +481 -5
- 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 +32 -7
- 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 +8 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +11 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/magicblock-tools.d.ts +31 -6
- package/dist/tools/magicblock-tools.d.ts.map +1 -1
- package/dist/tools/magicblock-tools.js +178 -53
- package/dist/tools/magicblock-tools.js.map +1 -1
- package/dist/tools/memory-tools.d.ts +26 -0
- package/dist/tools/memory-tools.d.ts.map +1 -0
- package/dist/tools/memory-tools.js +533 -0
- package/dist/tools/memory-tools.js.map +1 -0
- 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 +1102 -0
- package/dist/tools/premium-tools.js.map +1 -0
- package/dist/tools/profile-tools.d.ts.map +1 -1
- package/dist/tools/profile-tools.js +18 -1
- package/dist/tools/profile-tools.js.map +1 -1
- 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 +304 -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 +17 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.d.ts +420 -1
- package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
- package/dist/tools/sap-sdk-tools.js +1548 -127
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/sap-sns-tools.d.ts +2 -2
- package/dist/tools/sap-sns-tools.d.ts.map +1 -1
- package/dist/tools/sap-sns-tools.js +12 -8
- package/dist/tools/sap-sns-tools.js.map +1 -1
- package/dist/tools/skills-tools.d.ts +16 -0
- package/dist/tools/skills-tools.d.ts.map +1 -1
- package/dist/tools/skills-tools.js +282 -5
- package/dist/tools/skills-tools.js.map +1 -1
- package/dist/tools/tool-aliases.d.ts.map +1 -1
- package/dist/tools/tool-aliases.js +7 -0
- package/dist/tools/tool-aliases.js.map +1 -1
- package/dist/tools/transaction-tools.d.ts +135 -0
- package/dist/tools/transaction-tools.d.ts.map +1 -1
- package/dist/tools/transaction-tools.js +515 -16
- package/dist/tools/transaction-tools.js.map +1 -1
- package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
- package/dist/tools/x402-paid-call-tool.js +756 -23
- 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/dist/wizard-core/desktop-flow.d.ts.map +1 -1
- package/dist/wizard-core/desktop-flow.js +4 -2
- package/dist/wizard-core/desktop-flow.js.map +1 -1
- package/docs/03_CONFIGURATION_AND_WIZARD.md +5 -3
- package/docs/06_PAYMENTS_X402_AND_PAYSH.md +82 -4
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +7 -3
- package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +21 -3
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +8 -6
- package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +304 -0
- package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
- package/docs/BRANCH_AND_CI.md +67 -0
- package/docs/README.md +19 -2
- package/docs/magicblock-tools.md +70 -29
- package/package.json +10 -6
- package/server.json +3 -3
- package/skills/README.md +12 -2
- package/skills/sap-agent-registry/SKILL.md +99 -4
- package/skills/sap-defi/SKILL.md +8 -4
- package/skills/sap-discovery-indexing/SKILL.md +26 -4
- package/skills/sap-escrow-settlement/SKILL.md +22 -4
- package/skills/sap-mcp/SKILL.md +140 -22
- package/skills/sap-mcp/TOOL_REFERENCE.md +47 -7
- package/skills/sap-nft-metaplex/SKILL.md +22 -0
- package/skills/sap-operations/SKILL.md +32 -3
- package/skills/sap-payments-x402/SKILL.md +85 -8
- package/skills/sap-sns/SKILL.md +32 -10
- package/smithery.config.schema.json +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,738 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 0.9.3 - 2026-07-25
|
|
6
|
+
|
|
7
|
+
### Added — Local Agent Memory Subsystem (SQLite FTS5)
|
|
8
|
+
|
|
9
|
+
A complete serverless local-memory subsystem built on SQLite FTS5, using
|
|
10
|
+
inverted full-text indexes and relevance-ranked retrieval to recover historical
|
|
11
|
+
agent interactions. All data is stored locally at
|
|
12
|
+
`~/.config/sap-mcp/memory/agent-memory.db` — no data leaves the user's machine.
|
|
13
|
+
|
|
14
|
+
**10 module files:**
|
|
15
|
+
- `src/memory/types.ts` — 11 TypeScript interfaces with strict typing
|
|
16
|
+
- `src/memory/database.ts` — Singleton SQLite connection (WAL mode, FTS5, schema versioning, prepared statements, graceful degradation)
|
|
17
|
+
- `src/memory/tool-call-store.ts` — Records + FTS5 search with BM25 ranking
|
|
18
|
+
- `src/memory/memory-store.ts` — Agent memories with relevance decay + recall
|
|
19
|
+
- `src/memory/stream-buffer-store.ts` — FIFO event buffering with dedup + replay
|
|
20
|
+
- `src/memory/async-processor.ts` — Non-blocking background maintenance (decay, evict, archive, prune, WAL checkpoint)
|
|
21
|
+
- `src/memory/auto-record.ts` — Automatic tool call recording hook
|
|
22
|
+
- `src/memory/hermes-bridge.ts` — Cross-session Hermes Agent integration (read-only)
|
|
23
|
+
- `src/memory/utils.ts` — truncate, decayRelevance, isExpired
|
|
24
|
+
- `src/strategies/strategy-store.ts` — File-based JSON strategy store with versioning + path traversal protection
|
|
25
|
+
|
|
26
|
+
**17 new FREE MCP tools (319 → 336 total, all local, no x402):**
|
|
27
|
+
|
|
28
|
+
| Category | Tool | Function |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Memory | `sap_memory_record` | Record a tool call in the DB |
|
|
31
|
+
| | `sap_memory_search` | FTS5 search across tool call history |
|
|
32
|
+
| | `sap_memory_summarize` | Create an LLM-compressed memory (lesson/pattern/failure/success) |
|
|
33
|
+
| | `sap_memory_recall` | Top N memories for a category (prompt injection) |
|
|
34
|
+
| | `sap_memory_prune` | Remove expired + low-relevance memories |
|
|
35
|
+
| Strategy | `sap_strategy_save` | Save/update a strategy JSON |
|
|
36
|
+
| | `sap_strategy_load` | Load a strategy by category+name |
|
|
37
|
+
| | `sap_strategy_list` | List strategies (filterable) |
|
|
38
|
+
| | `sap_strategy_activate` | Activate/deactivate a strategy |
|
|
39
|
+
| Stream | `sap_stream_buffer` | Buffer a stream event (dedup by eventId) |
|
|
40
|
+
| | `sap_stream_consume` | Consume events FIFO (mark consumed) |
|
|
41
|
+
| | `sap_stream_replay` | Replay all events for backtest |
|
|
42
|
+
| Audit | `sap_audit_query` | Query audit trail via FTS5 |
|
|
43
|
+
| | `sap_audit_record` | Record a manual audit entry |
|
|
44
|
+
| | `sap_audit_stats` | Aggregate stats (counts, breakdowns, DB size) |
|
|
45
|
+
| Hermes | `sap_hermes_search` | Search Hermes session history |
|
|
46
|
+
| | `sap_hermes_recent` | Recent Hermes sessions for context injection |
|
|
47
|
+
|
|
48
|
+
**Key engineering features:**
|
|
49
|
+
- SQLite FTS5 with BM25 relevance ranking
|
|
50
|
+
- WAL mode for concurrent read access (crash-safe)
|
|
51
|
+
- Thread-safe singleton with cached prepared statements
|
|
52
|
+
- Graceful degradation (if DB can't open, tools return empty results)
|
|
53
|
+
- Async processor: decay (1h), evict (5m), archive (1h), prune (6h), WAL checkpoint (10m)
|
|
54
|
+
- Relevance decay: 1%/day, auto-prune below 0.05
|
|
55
|
+
- Stream dedup: (streamType, eventId) unique index
|
|
56
|
+
- Strategy versioning: auto-increment on update
|
|
57
|
+
- Path traversal protection: sanitized path segments (alphanumeric + dash/underscore/dot only)
|
|
58
|
+
- Hermes bridge: auto-detected, read-only, FTS5 with LIKE fallback
|
|
59
|
+
- Server lifecycle: init+start on boot, stop+close on shutdown
|
|
60
|
+
|
|
61
|
+
### Added — Quick Context Auto-Update
|
|
62
|
+
|
|
63
|
+
`sap_quick_context` now accepts `agentKnownVersion`:
|
|
64
|
+
- When omitted (first bootstrap): `skillsUpdateRequired=true`, `skillsContents` populated with full SKILL.md inline
|
|
65
|
+
- When ≠ server version: `skillsUpdateRequired=true`, skills contents included
|
|
66
|
+
- When == server version: `skillsUpdateRequired=false` (token savings)
|
|
67
|
+
|
|
68
|
+
Also returns `serverCommit` (git short hash), `environment` (network, mode, authType, rateLimitPerMinute), and `recommendedFlow` (mode-specific workflow guidance).
|
|
69
|
+
|
|
70
|
+
### Added — Wizard Directory Creation
|
|
71
|
+
|
|
72
|
+
`ensureConfigDirectories()` now creates `~/.config/sap-map/memory/` and `~/.config/sap-mcp/strategies/` with private permissions (mode 0o700) alongside the existing config, keypair, data, log, and cache directories.
|
|
73
|
+
|
|
74
|
+
### Security
|
|
75
|
+
|
|
76
|
+
- Path traversal protection on all strategy store operations (`sanitizePathSegment`)
|
|
77
|
+
- All SQL queries use parameterized prepared statements (no string interpolation)
|
|
78
|
+
- Hermes bridge opens read-only connections only
|
|
79
|
+
- Memory database is local-only — no network access
|
|
80
|
+
- No secrets, private keys, or keypair bytes stored in the memory DB
|
|
81
|
+
- 0 dependency vulnerabilities (`pnpm audit`)
|
|
82
|
+
- `createRequire` used instead of `require()` to satisfy ESLint
|
|
83
|
+
|
|
84
|
+
## 0.9.22 - 2026-07-25
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
|
|
88
|
+
- **`signerProfile` per-call parameter** on `sap_payments_finalize_transaction`.
|
|
89
|
+
Agents can now sign with a specific profile without switching `.active-profile`
|
|
90
|
+
manually. Multiple profiles coexist in the same session. Eliminates the #1
|
|
91
|
+
source of agent friction: profile-switch juggling + stale signer cache.
|
|
92
|
+
- **`sap_build_sol_transfer`** — Hosted unsigned builder for native SOL transfers
|
|
93
|
+
using `SystemProgram.transfer`. Fills the gap left by `spl-token_transferSol`
|
|
94
|
+
(local-signer-only). Returns base64 unsigned transaction for local signing.
|
|
95
|
+
- **`sap_build_spl_transfer`** — Hosted unsigned builder for SPL token transfers
|
|
96
|
+
with idempotent ATA creation. Uses raw `@solana/web3.js` `TransactionInstruction`
|
|
97
|
+
(no `@solana/spl-token` dependency). Returns base64 unsigned transaction.
|
|
98
|
+
- **x402 idempotency cache** in `McpMonetizationGate` — prevents double-charge on
|
|
99
|
+
retry. Successful settlements are cached by `requestHash` for 5 minutes
|
|
100
|
+
(max 10,000 entries, LRU eviction, opportunistic pruning). If the same
|
|
101
|
+
request is retried after a network failure, the cached settlement is returned
|
|
102
|
+
without re-charging the payer's USDC.
|
|
103
|
+
- **x402 nonce + TTL strict validation** — `validatePaymentRequirementsForDecision`
|
|
104
|
+
now enforces `maxTimeoutSeconds ≤ 120` and rejects invalid/missing TTL values.
|
|
105
|
+
Prevents stale challenge replay attacks.
|
|
106
|
+
- **Challenge-signature parameter** on `sap_profile_switch` — optional Ed25519
|
|
107
|
+
signature proving ownership of the target profile keypair. Prevents
|
|
108
|
+
impersonation via manual `.active-profile` file edits.
|
|
109
|
+
- **`preloadPremiumProviders`** at server startup — providers are eagerly loaded
|
|
110
|
+
and connected when the server boots, not lazily on first request. The
|
|
111
|
+
`providerHealth` response now reflects real provider status immediately.
|
|
112
|
+
- **3 new free meme-radar providers** (DexScreener + Solana RPC, no API keys):
|
|
113
|
+
- `meme.newlisting.alert` — detects newly listed tokens via DexScreener
|
|
114
|
+
`pairCreatedAt` with honeypot/dev-wallet risk flags.
|
|
115
|
+
- `meme.rugpull.detector` — on-chain mint/freeze authority checks via Solana
|
|
116
|
+
RPC + DexScreener liquidity drain detection. Risk score 0-1 with
|
|
117
|
+
exit/monitor/caution actions.
|
|
118
|
+
- `meme.social.sentiment` — bull/bear scores from DexScreener price momentum
|
|
119
|
+
(1h/6h/24h weighted) with volume acceleration confidence.
|
|
120
|
+
- **Multi-feed Pyth** — `pyth.price.tick` and `pyth.volatility.watch` now poll
|
|
121
|
+
5 feeds by default (SOL/USD, WBTC/USD, WETH/USD, JUP/USD, USDC/USD) instead
|
|
122
|
+
of 1. All Pyth providers converted from WebSocket to HTTP polling
|
|
123
|
+
(`hermes.pyth.network/v2/updates/price/latest`).
|
|
124
|
+
- **`signalConfidence` field** on Pyth price tick events — normalized 0-1
|
|
125
|
+
confidence score derived from `1 - (confidenceInterval / price)`, separate
|
|
126
|
+
from the raw Pyth `confidenceIntervalUsd`.
|
|
127
|
+
- **ATR-based SL/TP** for volatility breakout signals — `stopLoss = entry ∓
|
|
128
|
+
2×ATR`, `takeProfit = entry ± 3×ATR`, with `minSpreadPct` filter (0.1%)
|
|
129
|
+
to discard signals too tight for on-chain execution. `action` changed from
|
|
130
|
+
`sell` to `swap` for spot-only agents.
|
|
131
|
+
- **Applied filters in webhook relay response** — `sap_premium_webhook_relay`
|
|
132
|
+
now returns `subscribedEvents` and `appliedFilters` in the subscription
|
|
133
|
+
response for agent verification.
|
|
134
|
+
- **`sap-mcp-optimization` skill** (devops category) — documents pre-estimate,
|
|
135
|
+
profile routing, build→sign→submit, x402 payment rules, readiness checks,
|
|
136
|
+
budget management, and premium stream consumption patterns.
|
|
137
|
+
- Tool count: 317 → 319. Test count: 603 (unchanged, all updated).
|
|
138
|
+
|
|
139
|
+
### Changed
|
|
140
|
+
|
|
141
|
+
- **Premium capability prices halved** — all 13 premium capabilities now cost
|
|
142
|
+
50% less per unit/event:
|
|
143
|
+
- `jupiter.quote.delta`: $0.02 → $0.01/min
|
|
144
|
+
- `pyth.price.tick`: $0.015 → $0.0075/min
|
|
145
|
+
- `price.threshold.crossed`: $0.001 → $0.0005/event
|
|
146
|
+
- `jupiter.arbitrage.scan`: $0.05 → $0.025/min
|
|
147
|
+
- `pyth.volatility.watch`: $0.03 → $0.015/min
|
|
148
|
+
- `jupiter.route.optimized`: $0.025 → $0.0125/min
|
|
149
|
+
- `meme.newlisting.alert`: $0.003 → $0.0015/event
|
|
150
|
+
- `meme.social.sentiment`: $0.02 → $0.01/min
|
|
151
|
+
- `meme.rugpull.detector`: $0.04 → $0.02/min
|
|
152
|
+
- `meme.volume.spike`: $0.025 → $0.0125/min
|
|
153
|
+
- `tech.github.activity`: $0.002 → $0.001/event
|
|
154
|
+
- `tech.tvl.change`: $0.02 → $0.01/min
|
|
155
|
+
- `tech.tokenomics.analysis`: $0.004 → $0.002/event
|
|
156
|
+
- **Heavy value-action price**: $0.15 → $0.05 (max accepted x402 for
|
|
157
|
+
value-action tier tools).
|
|
158
|
+
- **Auto-pay threshold**: $0.02 → $0.05 (`SAP_MCP_X402_AUTO_PAY_MAX_USD`).
|
|
159
|
+
Read-premium ($0.001) and builder ($0.008) calls now auto-pay without
|
|
160
|
+
confirmation.
|
|
161
|
+
- **Premium poll/flush/metrics FREE** — `sap_premium_stream_poll`,
|
|
162
|
+
`sap_premium_stream_flush`, `sap_premium_webhook_relay_status`,
|
|
163
|
+
`sap_premium_metrics`, `sap_premium_session_status`, `sap_premium_close_session`
|
|
164
|
+
moved to FREE_TOOLS + STRICT_FREE_TOOLS. No x402 charge for consumption
|
|
165
|
+
or diagnostics.
|
|
166
|
+
- **Birdeye dependency removed** — all meme-radar capabilities now use
|
|
167
|
+
DexScreener + Solana RPC (both free, no API key). `SAP_MCP_PREMIUM_BIRDEYE_API_URL`
|
|
168
|
+
removed from all capability definitions and test fixtures.
|
|
169
|
+
- **Builder tool descriptions** now mention `sap_payments_finalize_transaction`
|
|
170
|
+
as the 1-call alternative to the 3-step preview→sign→submit flow.
|
|
171
|
+
- **`sap_estimate_tool_cost`** description now explicitly says "dry-run — no
|
|
172
|
+
charge, no x402 challenge" and includes `maxPriceUsd = estimate × 1.25`
|
|
173
|
+
guidance.
|
|
174
|
+
- **`sap_quick_context` nextAction** now includes explicit routing guidance:
|
|
175
|
+
accountless hosted → use `sap_payments_profile_current`, `signerProfile`
|
|
176
|
+
per-call, `sap_build_sol_transfer`/`sap_build_spl_transfer`, no signing scripts.
|
|
177
|
+
|
|
178
|
+
### Fixed
|
|
179
|
+
|
|
180
|
+
- **Bridge cache coherence** — `sap_payments_profile_current` now re-reads
|
|
181
|
+
`.active-profile` and re-resolves the signer on every call. No more stale
|
|
182
|
+
signer after manual profile switch.
|
|
183
|
+
- **`sap_profile_switch` guidance** — when the hosted server is accountless,
|
|
184
|
+
the response now provides 3 concrete options (local bridge, manual edit,
|
|
185
|
+
CLI command) instead of a bare "Profile does not exist" error. Includes
|
|
186
|
+
stale cache warning.
|
|
187
|
+
- **Provider preload at startup** — providers are loaded and connected when
|
|
188
|
+
the server boots, not on first request. `providerHealth` is populated
|
|
189
|
+
immediately, not empty `{}`.
|
|
190
|
+
- **Provider delivery loop logging** — all `catch` blocks in provider-bridge,
|
|
191
|
+
webhook-engine, premium-tools, and premium-routes now log errors to stderr
|
|
192
|
+
instead of swallowing silently.
|
|
193
|
+
- **Meme volume spike provider** — replaced nonexistent DexScreener
|
|
194
|
+
`/v1/solana/volume` endpoint with real API (`/latest/dex/tokens/{mint}` and
|
|
195
|
+
`/latest/dex/search`). Added `activeMints` tracking, EMA baseline spike
|
|
196
|
+
detection, `MAX_MINTS_PER_POLL` limit.
|
|
197
|
+
- **Pyth providers** — converted from WebSocket (`wss://hermes.pyth.network/v2/ws`,
|
|
198
|
+
rejects bare connections) to HTTP polling (`/v2/updates/price/latest`).
|
|
199
|
+
- **All 12 provider import paths** — fixed `../../types.js` → `../types.js`.
|
|
200
|
+
- **`onchain.solana.ts`** — imported `ConfirmedSignatureInfo` from
|
|
201
|
+
`@solana/web3.js` to fix `blockTime: number | null | undefined` type mismatch.
|
|
202
|
+
- **Stale config references** — cleaned up all `0.02` auto-pay and `0.15`
|
|
203
|
+
heavy value refs in `.env.example`, `config.example.json`,
|
|
204
|
+
`config.secure-example.json`, `schema.json`, `mcp-client-injection.ts`, and
|
|
205
|
+
`explain-x402-settlement.prompt.ts`.
|
|
206
|
+
|
|
207
|
+
### Security
|
|
208
|
+
|
|
209
|
+
- x402 idempotency cache prevents double-charge on retry (point 2c).
|
|
210
|
+
- x402 nonce + TTL strict validation caps challenge lifetime at 120s (point 5b).
|
|
211
|
+
- Challenge-signature parameter on profile switch prevents impersonation (point 5a).
|
|
212
|
+
- `secretMaterial: keypair-bytes-never-returned` guarantee maintained across
|
|
213
|
+
all signing tools.
|
|
214
|
+
- No secrets, private keys, or keypair bytes in source code (security audit clean).
|
|
215
|
+
- 0 dependency vulnerabilities (`pnpm audit`).
|
|
216
|
+
|
|
217
|
+
## 0.9.21 - 2026-07-25
|
|
218
|
+
|
|
219
|
+
### Added
|
|
220
|
+
|
|
221
|
+
- Added 5 new MCP tools addressing agent feedback on premium stream usability:
|
|
222
|
+
- `sap_premium_stream_poll` — Long-poll buffered premium stream events with
|
|
223
|
+
`sinceEventId` cursor. MCP-compatible alternative to SSE connections.
|
|
224
|
+
- `sap_premium_stream_flush` — Bulk flush buffered events with cursor pagination
|
|
225
|
+
for catch-up after disconnection.
|
|
226
|
+
- `sap_quick_context` — Single-call bootstrap aggregator (version, tools, pricing,
|
|
227
|
+
premium, skills, nextAction) reducing agent bootstrap from 5+ calls to 1.
|
|
228
|
+
- `sap_premium_webhook_relay` — Buffer-only webhook subscription for local agents
|
|
229
|
+
without a public HTTPS endpoint. Events stored server-side, consumed via poll/flush.
|
|
230
|
+
- `sap_premium_webhook_relay_status` — Relay config and buffered event count lookup.
|
|
231
|
+
- All 5 tools are free (no x402 charge) and transport-agnostic (work with SSE,
|
|
232
|
+
WebSocket, and any MCP transport).
|
|
233
|
+
- Pricing tiers in `sap_quick_context` now include actual USD amounts inline.
|
|
234
|
+
|
|
235
|
+
### Improved
|
|
236
|
+
|
|
237
|
+
- `sap_skills_bundle` description now documents the existing `skills[]` filter +
|
|
238
|
+
`includeContents:false` metadata-only pattern for efficient selective loading.
|
|
239
|
+
- `sap_premium_stream_poll` description clarifies it is transport-agnostic.
|
|
240
|
+
- Tool count: 312 → 317. Premium category: 13 → 17. New category: quickContext: 1.
|
|
241
|
+
- Test count: 601 → 603 (2 new webhook relay tests).
|
|
242
|
+
|
|
243
|
+
### Fixed
|
|
244
|
+
|
|
245
|
+
- GitHub Actions CI: added `pnpm config set minimumReleaseAge 0` step to
|
|
246
|
+
`desktop-release.yml` to fix `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`.
|
|
247
|
+
- Removed `package-lock=false` from `.npmrc` (prevented pnpm from reading
|
|
248
|
+
`pnpm-lock.yaml` on local dev).
|
|
249
|
+
- Regenerated `pnpm-lock.yaml` with pnpm 11.7.0 to fix
|
|
250
|
+
`ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` on CI overrides.
|
|
251
|
+
- Changed `postcss` override from `8.5.18` to `^8.5.18` (range, not exact).
|
|
252
|
+
- Renamed tag `v0.9.20` → `0.9.20` (consistent with all prior tags).
|
|
253
|
+
- Updated all `0.9.18` references to `0.9.20` across docs, server.json, README,
|
|
254
|
+
USER_DOCS, and desktop wizard renderer.
|
|
255
|
+
|
|
256
|
+
## 0.9.20 - 2026-07-25
|
|
257
|
+
|
|
258
|
+
### Added
|
|
259
|
+
|
|
260
|
+
- Added 10 new MCP tools for perpetual futures trading and chart analysis:
|
|
261
|
+
- `sap_perp_markets` — List Adrena perp markets with mark price, funding, OI.
|
|
262
|
+
- `sap_perp_position_info` — Read on-chain Adrena perp positions for a wallet.
|
|
263
|
+
- `sap_perp_funding_history` — Historical funding rates from Adrena API.
|
|
264
|
+
- `sap_chart_ohlc` — OHLC candlestick data for any Solana token (DexScreener).
|
|
265
|
+
- `sap_chart_long_term` — Long-term price history + protocol TVL (DexScreener + DeFiLlama).
|
|
266
|
+
- `sap_chart_volume_profile` — Volume profile analysis with POC, VAH, VAL.
|
|
267
|
+
- `sap_perp_liquidation_zones` — Compute liquidation zones for open positions.
|
|
268
|
+
- `sap_perp_build_open` — Build unsigned tx to open leveraged perp position (Adrena).
|
|
269
|
+
- `sap_perp_build_close` — Build unsigned tx to close a perp position.
|
|
270
|
+
- `sap_perp_build_modify` — Build unsigned tx to add/remove collateral.
|
|
271
|
+
- All 10 tools use only free APIs (DexScreener, DeFiLlama, Adrena REST, Solana RPC).
|
|
272
|
+
- Inscribed tools (`sap_perp_build_*`) return unsigned transactions for local agent signing.
|
|
273
|
+
|
|
274
|
+
### Removed
|
|
275
|
+
|
|
276
|
+
- Removed `sap-premium-agent-events` plugin (depended on REGISTRY_STREAM_URL — internal).
|
|
277
|
+
- Removed `sap-premium-x402-ledger` plugin (depended on X402_STREAM_URL — internal).
|
|
278
|
+
- Removed `sap-premium-trading-signals` plugin (depended on SIGNAL_PROVIDER_URL — not built).
|
|
279
|
+
- Removed `sap-premium-lowcap-discovery` plugin (depended on BIRDEYE_API_URL — paid).
|
|
280
|
+
- Removed `meme.social.sentiment` capability (depended on BIRDEYE_API_URL — paid).
|
|
281
|
+
- Removed `tech.github.activity` and `tech.tokenomics.analysis` capabilities (GITHUB_API_URL — rate limited).
|
|
282
|
+
- Removed `mempool.whale.alert` capability and provider.
|
|
283
|
+
- Removed all env vars for paid/internal services: REGISTRY_STREAM_URL, X402_STREAM_URL,
|
|
284
|
+
SIGNAL_PROVIDER_URL, BIRDEYE_API_URL, GITHUB_API_URL, MEMPOOL_STREAM_URL.
|
|
285
|
+
- Deleted 4 manifest JSON files, 11 provider TS files, 2 provider directories.
|
|
286
|
+
|
|
287
|
+
### Improved
|
|
288
|
+
|
|
289
|
+
- Hardened `webhook-engine.ts`: `signDelivery()` now throws if
|
|
290
|
+
`SAP_MCP_PREMIUM_WEBHOOK_SIGNER` is not set (was using 'fallback-dev-key').
|
|
291
|
+
- Zero signing keys exposed in premium provider code — all providers are read-only
|
|
292
|
+
data streams + webhook delivery. No sendTransaction, Keypair.from, or secretKey.
|
|
293
|
+
- Premium capabilities reduced from 23 to 10 — all now use only free APIs.
|
|
294
|
+
- Updated `server-metadata.ts` tool count from 302 to 312.
|
|
295
|
+
- Updated `builtin-plugins.test.ts` plugin count from 8 to 4.
|
|
296
|
+
- Updated `trading-capabilities.ts` from 6 to 3 capabilities.
|
|
297
|
+
- Updated pnpm overrides for Dependabot vulnerability fixes (postcss, langsmith,
|
|
298
|
+
@hono/node-server, uuid).
|
|
299
|
+
- Bumped package, server metadata, and runtime version to `0.9.20`.
|
|
300
|
+
|
|
301
|
+
## 0.9.19 - 2026-07-25
|
|
302
|
+
|
|
303
|
+
### Added
|
|
304
|
+
|
|
305
|
+
- Added 5 new premium plugin definitions with 15 additional capabilities:
|
|
306
|
+
- `sap-premium-trading-streams` — 4 WebSocket stream capabilities (arbitrage,
|
|
307
|
+
volatility, whale, route optimization) powered by Jupiter, Pyth, and Helius.
|
|
308
|
+
- `sap-premium-trading-signals` — 3 webhook signal capabilities (breakout,
|
|
309
|
+
liquidation cascade, funding rate) via the signal provider rail.
|
|
310
|
+
- `sap-premium-meme-radar` — 4 capabilities (new listing alert, social
|
|
311
|
+
sentiment, rugpull detector, volume spike) using Birdeye + DexScreener.
|
|
312
|
+
- `sap-premium-lowcap-discovery` — 3 capabilities (gem scan, early entry,
|
|
313
|
+
holder analysis) using Birdeye API for low-cap token discovery.
|
|
314
|
+
- `sap-premium-tech-fundamentals` — 3 capabilities (GitHub activity, TVL
|
|
315
|
+
change, tokenomics analysis) using GitHub + DeFiLlama APIs.
|
|
316
|
+
- Added real provider implementations for all 3 core premium plugins
|
|
317
|
+
(market-data, agent-events, x402-ledger) with WebSocket connections,
|
|
318
|
+
exponential backoff reconnection, queue-based async generators, and graceful
|
|
319
|
+
disconnect. Replaced all stub/skeletal placeholders.
|
|
320
|
+
- Added 17 provider adapter files in the private subrepo
|
|
321
|
+
(`sap-mcp-premium-private/providers/`) covering trading streams, trading
|
|
322
|
+
signals, meme radar, lowcap discovery, and tech fundamentals with real
|
|
323
|
+
WebSocket and HTTP polling implementations against free API endpoints.
|
|
324
|
+
- Added OHLC candlestick and on-chain Solana data providers using
|
|
325
|
+
`@solana/web3.js` Connection and Birdeye OHLC endpoint.
|
|
326
|
+
- Added 5 pure-function technical indicators (Bollinger Bands, ATR, RSI,
|
|
327
|
+
Volume Profile, Holder Concentration) and 5 stateless strategy engines
|
|
328
|
+
(Scalping, Arbitrage, Momentum, Mean-Reversion, Meme-Sniper).
|
|
329
|
+
- Added 5 manifest JSON files for the new premium plugins in the private
|
|
330
|
+
subrepo, bringing the total to 8 manifests with 24 capabilities.
|
|
331
|
+
- Added `src/remote/premium-routes.ts` and `src/remote/premium-memory.ts` for
|
|
332
|
+
HTTP premium delivery rails.
|
|
333
|
+
- Added full TSDoc documentation (`@name`, `@description`, `@flow`, `@env`,
|
|
334
|
+
`@module`) across all premium source files and private subrepo providers.
|
|
335
|
+
|
|
336
|
+
### Improved
|
|
337
|
+
|
|
338
|
+
- Updated `builtin-plugins.ts` to merge `TRADING_PREMIUM_PLUGINS`,
|
|
339
|
+
`MEME_RADAR_PREMIUM_PLUGINS`, `LOWCAP_DISCOVERY_PREMIUM_PLUGINS`, and
|
|
340
|
+
`TECH_FUNDAMENTALS_PREMIUM_PLUGINS` into `listPremiumPlugins()`.
|
|
341
|
+
- Updated premium env templates (production, staging, trading) with 6 new
|
|
342
|
+
provider env vars for Birdeye, DexScreener, GitHub, DeFiLlama, mempool, and
|
|
343
|
+
signal provider endpoints.
|
|
344
|
+
- Rewrote private subrepo README with complete structure documentation and
|
|
345
|
+
zero references to stubs or placeholders.
|
|
346
|
+
- Bumped package, server metadata, and runtime version to `0.9.19`.
|
|
347
|
+
|
|
348
|
+
## Unreleased
|
|
349
|
+
|
|
350
|
+
### Added
|
|
351
|
+
|
|
352
|
+
- Added a typed SAP MCP premium plugin runtime foundation with free discovery
|
|
353
|
+
and planning tools for stream, webhook, and premium plugin contracts.
|
|
354
|
+
- Added `sap_premium_plugin_catalog`, `sap_stream_catalog`,
|
|
355
|
+
`sap_webhook_catalog`, `sap_premium_validate_plugin_manifest`,
|
|
356
|
+
`sap_premium_plugin_template`, `sap_premium_session_start`, and
|
|
357
|
+
`sap_premium_session_status`.
|
|
358
|
+
- Added premium manifest validation for ids, semver, descriptions, JSON
|
|
359
|
+
Schemas, pricing policies, and delivery contracts.
|
|
360
|
+
- Added built-in contract manifests for premium market data, SAP agent events,
|
|
361
|
+
and x402 ledger telemetry without returning fake live data when providers are
|
|
362
|
+
not configured.
|
|
363
|
+
- Added public machine-readable premium discovery endpoints at
|
|
364
|
+
`/premium/catalog.json`, `/premium/streams.json`, and
|
|
365
|
+
`/premium/webhooks.json`.
|
|
366
|
+
- Added a manifest-only private plugin loader for controlled deployments using
|
|
367
|
+
`SAP_MCP_ENABLE_PREMIUM_PLUGINS`, `SAP_MCP_PLUGIN_DIR`, and
|
|
368
|
+
`SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY`.
|
|
369
|
+
|
|
370
|
+
### Improved
|
|
371
|
+
|
|
372
|
+
- Kept premium discovery/session planning free in both default and strict
|
|
373
|
+
monetization modes so agents can validate provider readiness before paid
|
|
374
|
+
stream/webhook activation.
|
|
375
|
+
- Documented the private enterprise plugin loader contract and the rule that
|
|
376
|
+
live premium data must only be promised when provider readiness is true.
|
|
377
|
+
- Added capability-level `providerReady` signals to premium catalog responses,
|
|
378
|
+
strict root schema validation for premium plugin manifests, and bounded
|
|
379
|
+
in-memory premium session pruning.
|
|
380
|
+
- Hardened premium manifests against unknown fields and unsafe provider env
|
|
381
|
+
values so private provider secrets or executable code cannot leak through
|
|
382
|
+
public discovery.
|
|
383
|
+
|
|
384
|
+
## 0.9.18 - 2026-07-23
|
|
385
|
+
|
|
386
|
+
### Improved
|
|
387
|
+
|
|
388
|
+
- Strengthened MCP tool metadata so every registered tool carries fluent
|
|
389
|
+
intent-level guidance covering pricing, routing, and signer boundaries.
|
|
390
|
+
- Extended JSON Schema enrichment to nested object, array, `oneOf`, `anyOf`,
|
|
391
|
+
and `allOf` branches so agents receive contextual descriptions for complex
|
|
392
|
+
parameters instead of guessing field names.
|
|
393
|
+
- Added release-blocking regression coverage that fails if any tool has a thin
|
|
394
|
+
description, lacks exact-field guidance, or exposes an undescribed nested
|
|
395
|
+
input parameter.
|
|
396
|
+
- Bumped package, public server metadata, desktop wizard, docs, and runtime
|
|
397
|
+
snippets to `0.9.18` for a coherent release surface across hosted MCP,
|
|
398
|
+
npm, registries, and client setup flows.
|
|
399
|
+
|
|
400
|
+
## 0.9.17 - 2026-07-23
|
|
401
|
+
|
|
402
|
+
### Added
|
|
403
|
+
|
|
404
|
+
- Added the `sap-agent-intent-router` prompt, a compact MCP prompt that maps
|
|
405
|
+
user goals and common SAP/x402/MCP errors to the correct hosted read,
|
|
406
|
+
paid-call, local-signing, unsigned-builder, escrow, registry-write, or repair
|
|
407
|
+
flow.
|
|
408
|
+
|
|
409
|
+
### Improved
|
|
410
|
+
|
|
411
|
+
- Updated MCP initialize instructions so runtimes that support prompts can use
|
|
412
|
+
`sap-agent-intent-router` before paid calls, registry writes, escrow flows,
|
|
413
|
+
identity updates, and troubleshooting.
|
|
414
|
+
- Bumped public metadata, npm/package manifests, desktop wizard references, and
|
|
415
|
+
client config snippets to `0.9.17` so users, registries, and agent runtimes
|
|
416
|
+
receive a single coherent release identity.
|
|
417
|
+
- Moved supply-chain overrides to `pnpm-workspace.yaml` for pnpm 11 and pinned
|
|
418
|
+
patched `fast-uri`, `hono`, and `@hono/node-server` versions so desktop
|
|
419
|
+
release jobs pass the moderate-level audit gate.
|
|
420
|
+
- Removed the duplicate npm `package-lock.json` from the pnpm-managed source
|
|
421
|
+
tree and disabled package-lock generation, preventing stale npm lock alerts
|
|
422
|
+
from diverging from the verified `pnpm-lock.yaml` dependency graph.
|
|
423
|
+
- Hardened MCP client config validation and resource-template matching against
|
|
424
|
+
CodeQL-reported URL substring bypasses and regex-based template matching.
|
|
425
|
+
- Hardened MCP tool-call normalization so explicit output schemas no longer
|
|
426
|
+
receive synthetic `structuredContent` for text/error responses, preventing
|
|
427
|
+
strict runtimes from rejecting otherwise-readable SAP tool errors.
|
|
428
|
+
- Taught `sap_agent_next_action`, initialize instructions, prompts, skills, and
|
|
429
|
+
identity docs to classify Anchor 3012 / `AccountNotInitialized` /
|
|
430
|
+
`pricing_menu` as SAP on-chain registry lifecycle issues rather than missing
|
|
431
|
+
`sap_payments` runtime configuration.
|
|
432
|
+
- Kept the `0.9.16` hardening set intact: intent-level tool schemas, payment
|
|
433
|
+
funnel telemetry, cost estimation, local MCP session reuse, hosted submit
|
|
434
|
+
relay guidance, and no-key-material safety tests.
|
|
435
|
+
|
|
436
|
+
## 0.9.16 - 2026-07-21
|
|
437
|
+
|
|
438
|
+
### Added
|
|
439
|
+
|
|
440
|
+
- Added free `sap_agent_context`, a compact hosted orientation tool for exact
|
|
441
|
+
wallet/agent lookups and first-page agent discovery. It gives agents a
|
|
442
|
+
low-friction way to understand SAP state before running paid/broad calls.
|
|
443
|
+
- Added free `sap_agent_next_action`, a routing resolver for common SAP MCP
|
|
444
|
+
errors and partial results. It tells agents whether to use hosted reads,
|
|
445
|
+
`sap_payments_*`, `sap_runtime_repair_plan`, unsigned transaction
|
|
446
|
+
finalization, or signature verification before retrying.
|
|
447
|
+
- Added free `sap_estimate_tool_cost`, a pre-call estimator that gives agents
|
|
448
|
+
the pricing tier, expected USD cost, and recommended `maxPriceUsd` before
|
|
449
|
+
using `sap_payments_call_paid_tool`.
|
|
450
|
+
- Added hosted payment-funnel telemetry for returned challenges, verification
|
|
451
|
+
failures, and hosted-local-signer blocks so dashboard/operator metrics
|
|
452
|
+
separate demand from successful settlements.
|
|
453
|
+
- Added a short-lived MCP session cache for local paid-call retries. It reuses
|
|
454
|
+
initialized MCP sessions without caching live chain data, x402 challenges, or
|
|
455
|
+
signed payment payloads.
|
|
456
|
+
|
|
457
|
+
### Improved
|
|
458
|
+
|
|
459
|
+
- Made exact base SAP registry reads free by default:
|
|
460
|
+
`sap_get_agent`, `sap_get_agent_profile`, `sap_get_agent_stats`,
|
|
461
|
+
`sap_get_global_state`, and `sap_is_agent_active`.
|
|
462
|
+
- Made `sap_list_agents` free for compact orientation calls while keeping
|
|
463
|
+
broad, hydrated, full, and protocol-indexed directory scans paid.
|
|
464
|
+
- Added cache and singleflight protection around compact directory reads so
|
|
465
|
+
hosted discovery remains faster under repeated agent/runtime probes.
|
|
466
|
+
- Updated agent bootstrap guidance, SAP skills, payment docs, and tool
|
|
467
|
+
reference files so agents start with context, resolve routing before retrying,
|
|
468
|
+
avoid temporary signing scripts, and use local `sap_payments_*` tools for
|
|
469
|
+
user-signed writes.
|
|
470
|
+
- Expanded pricing tests and server metadata tests to cover the new free
|
|
471
|
+
context/resolver tools and conditional-free discovery behavior.
|
|
472
|
+
- Enriched every registered tool description and root input schema with
|
|
473
|
+
intent-level routing, pricing, signer-boundary, and exact-field guidance so
|
|
474
|
+
agents stop guessing aliases, avoid hosted writes that require local signing,
|
|
475
|
+
and route user-signed transactions through supported `sap_payments_*` flows.
|
|
476
|
+
- Hardened already-signed transaction submission through the hosted
|
|
477
|
+
`/tx/submit` relay with explicit retry-safety, confirmation-state, and
|
|
478
|
+
no-key-material audit fields.
|
|
479
|
+
- Added release safety coverage for root input parameter descriptions,
|
|
480
|
+
hosted-local-signer ledger events, private-key guard behavior, unsafe-action
|
|
481
|
+
guard behavior, and updated public metadata version examples.
|
|
482
|
+
|
|
483
|
+
## 0.9.15 - 2026-07-20
|
|
484
|
+
|
|
485
|
+
### Added
|
|
486
|
+
|
|
487
|
+
- Added free hosted `sap_agent_runtime_status`, a single runtime truth tool for
|
|
488
|
+
connection checks, hosted/accountless status, local `sap_payments` bridge
|
|
489
|
+
expectations, write routing, forbidden actions, and exact next tool calls.
|
|
490
|
+
- Added free hosted `sap_pricing_catalog` and public `GET /pricing.json`, both
|
|
491
|
+
generated from the same monetization registry used by hosted x402/pay.sh
|
|
492
|
+
gating.
|
|
493
|
+
|
|
494
|
+
### Improved
|
|
495
|
+
|
|
496
|
+
- Strengthened initialize instructions, SAP MCP skills, and user docs so agents
|
|
497
|
+
use hosted tools for reads, `sap_payments_*` for local payment/signing,
|
|
498
|
+
hosted unsigned builders plus `sap_payments_finalize_transaction` for
|
|
499
|
+
user-signed transactions, and `sap_runtime_repair_plan` when the bridge is
|
|
500
|
+
missing.
|
|
501
|
+
- Made pricing guidance explicit: `/pricing.json` and `sap_pricing_catalog`
|
|
502
|
+
are for planning and UI copy; the actual x402 challenge remains the payment
|
|
503
|
+
source of truth.
|
|
504
|
+
- Added release-readiness coverage so the shipped skills/docs keep the runtime
|
|
505
|
+
status, pricing catalog, hosted builder finalization, and no-temporary-script
|
|
506
|
+
guidance visible to agents.
|
|
507
|
+
|
|
508
|
+
## 0.9.13 - 2026-07-19
|
|
509
|
+
|
|
510
|
+
### Added
|
|
511
|
+
|
|
512
|
+
- Added a hosted submit-only relay at `POST /tx/submit` for already-signed
|
|
513
|
+
Solana transactions. The relay never signs, never receives keypair bytes, and
|
|
514
|
+
returns confirmation status, explorer URL, and retry guidance.
|
|
515
|
+
|
|
516
|
+
### Improved
|
|
517
|
+
|
|
518
|
+
- Upgraded transaction finalization from "signature returned" to a bounded
|
|
519
|
+
lifecycle result: `confirmed` / `finalized` / `failed` /
|
|
520
|
+
`expired_or_not_landed`, plus `retrySafe` for agent-guided retries.
|
|
521
|
+
- Hardened SAP agent registration into a fail-closed lifecycle: production
|
|
522
|
+
agents must use `sap_payments_register_agent`, and `success:true` now means
|
|
523
|
+
the agent account is confirmed and the 0.1 SOL source-level protocol treasury
|
|
524
|
+
fee invariant was verified. If the account exists but the protocol fee is
|
|
525
|
+
missing, underpaid, or unverifiable, the bridge returns
|
|
526
|
+
`success:false`, `agentRegistered:true`, and `protocolComplete:false`.
|
|
527
|
+
- Deprecated the raw `sap_register_agent` wrapper for production registration
|
|
528
|
+
and added `sap_protocol_invariants` / `sap_agent_identity_plan` guidance so
|
|
529
|
+
agents can plan SAP + Metaplex + optional SNS identity flows before writes.
|
|
530
|
+
- Made `sap_payments_finalize_transaction` submit through the hosted relay by
|
|
531
|
+
default when `submit:true`, while preserving `submitViaRelay:false` for fully
|
|
532
|
+
local RPC submission.
|
|
533
|
+
- Updated `sap_submit_signed_transaction`, agent bootstrap instructions,
|
|
534
|
+
Smithery config schema, public metadata, and the hosted dashboard so agents
|
|
535
|
+
stop creating temporary signing scripts and use the supported local-signer +
|
|
536
|
+
relay flow.
|
|
537
|
+
|
|
538
|
+
## 0.9.12 - 2026-07-19
|
|
539
|
+
|
|
540
|
+
### Improved
|
|
541
|
+
|
|
542
|
+
- Hardened `sap_payments_register_agent` so local SAP agent registration no
|
|
543
|
+
longer reports a bare submitted signature as success. The bridge now waits
|
|
544
|
+
for the signature/account to appear on-chain, returns the derived agent PDA,
|
|
545
|
+
and clearly distinguishes confirmed registration from expired/not-landed
|
|
546
|
+
transactions.
|
|
547
|
+
- Added agent-readable retry guidance for local registration submissions that
|
|
548
|
+
do not land inside the confirmation window. Agents should ask the user before
|
|
549
|
+
retrying once with the same fields, and must not fall back to hosted
|
|
550
|
+
`sap_register_agent`.
|
|
551
|
+
|
|
552
|
+
## 0.9.11 - 2026-07-19
|
|
553
|
+
|
|
554
|
+
### Added
|
|
555
|
+
|
|
556
|
+
- Added `sap_payments_register_agent`, a local `sap_payments` bridge tool for
|
|
557
|
+
non-custodial SAP agent registration from hosted-user setups. Agents should
|
|
558
|
+
call it when hosted `sap_register_agent` returns
|
|
559
|
+
`hosted_local_signer_required`, using the same registration fields plus
|
|
560
|
+
`confirm: true`. The write is submitted by the user's local SAP profile
|
|
561
|
+
signer and does not charge a hosted x402 access fee.
|
|
562
|
+
|
|
563
|
+
### Improved
|
|
564
|
+
|
|
565
|
+
- Updated the wizard repair manifest, bundled skills, and user docs so Codex,
|
|
566
|
+
Hermes, Claude, OpenClaw, and compatible runtimes can verify that the local
|
|
567
|
+
`sap_payments` bridge exposes profile, readiness, hosted paid-call, external
|
|
568
|
+
x402, local registration, and transaction finalization tools after restart.
|
|
569
|
+
- Added agent-readable local registry error output that tells agents not to
|
|
570
|
+
retry impossible hosted accountless registry writes or create temporary
|
|
571
|
+
signing scripts.
|
|
572
|
+
|
|
573
|
+
## 0.9.10 - 2026-07-18
|
|
574
|
+
|
|
575
|
+
### Added
|
|
576
|
+
|
|
577
|
+
- Added `sap_payments_call_external_x402`, a local free `sap_payments` bridge
|
|
578
|
+
tool for generic HTTP x402 endpoints discovered through SAP registry
|
|
579
|
+
metadata. The helper performs the standard unpaid request, parses the 402
|
|
580
|
+
challenge, signs locally with the user's SAP MCP profile, retries with
|
|
581
|
+
`PAYMENT-SIGNATURE`, and returns the provider response plus receipt/audit
|
|
582
|
+
data without exposing keypair bytes.
|
|
583
|
+
|
|
584
|
+
### Improved
|
|
585
|
+
|
|
586
|
+
- Updated agent startup guidance, bundled x402 skills, client config reference
|
|
587
|
+
bundles, and user docs so agents use `sap_payments_call_paid_tool` for hosted
|
|
588
|
+
SAP MCP tools and `sap_payments_call_external_x402` for external x402 agents
|
|
589
|
+
instead of hand-rolling temporary HTTP/sign/retry scripts.
|
|
590
|
+
- Added guardrails to the generic external x402 bridge: sensitive caller
|
|
591
|
+
headers are rejected, local/private/link-local targets are blocked, and
|
|
592
|
+
request bodies are capped to keep the tool safe for agent runtimes.
|
|
593
|
+
|
|
594
|
+
## 0.9.9 - 2026-07-18
|
|
595
|
+
|
|
596
|
+
### Improved
|
|
597
|
+
|
|
598
|
+
- Reworked paid hosted SAP agent discovery so `sap_discover_agents`,
|
|
599
|
+
`sap_list_agents`, and `sap_list_all_agents` enumerate the canonical
|
|
600
|
+
on-chain `AgentAccount` directory and then apply server-side filters. This
|
|
601
|
+
avoids stale capability/protocol index false negatives for agents such as
|
|
602
|
+
XONA while preserving paid hosted monetization.
|
|
603
|
+
- Added first-class hosted directory filters for `query`, `wallet`, `agentPda`,
|
|
604
|
+
`protocol`, `capability`, `capabilities`, `capabilityMode`,
|
|
605
|
+
`hasX402Endpoint`, `view`, `limit`, `offset`, and opaque
|
|
606
|
+
`pagination.nextCursor`.
|
|
607
|
+
- Kept legacy response aliases (`count`, `returned`, `offset`, `limit`,
|
|
608
|
+
`truncated`, `totalEnumerated`) and the deprecated `hydrate` input so older
|
|
609
|
+
agent recipes continue to work while newer agents use the paginated response.
|
|
610
|
+
- Updated bundled skills, startup guidance, and user docs so agents prefer
|
|
611
|
+
targeted paid discovery, follow cursors, and retry with `query` or `wallet`
|
|
612
|
+
before claiming an on-chain SAP agent is absent.
|
|
613
|
+
|
|
614
|
+
## 0.9.8 - 2026-07-18
|
|
615
|
+
|
|
616
|
+
### Fixed
|
|
617
|
+
|
|
618
|
+
- Added a hosted-accountless execution guard so direct write tools that require
|
|
619
|
+
a user-owned signer are rejected before x402 verification or settlement. Tools
|
|
620
|
+
such as `sap_register_agent`, `sap_sns_register_agent_domain`,
|
|
621
|
+
`sap_sign_transaction`, direct swaps, token transfers, NFT mints, and bridge
|
|
622
|
+
writes now return `hosted_local_signer_required` with
|
|
623
|
+
`paymentNotCharged: true` when called against the non-custodial hosted
|
|
624
|
+
server.
|
|
625
|
+
- Made single-domain SNS availability checks free with
|
|
626
|
+
`sap_sns_check_domain`, so agents can discover whether a `.sol` name is
|
|
627
|
+
available before routing the user into a local signer flow.
|
|
628
|
+
- Updated prompts, bundled skills, and payment docs so agents use local
|
|
629
|
+
`sap_payments_call_paid_tool` for paid hosted calls and
|
|
630
|
+
`sap_payments_finalize_transaction` for unsigned hosted builders, instead of
|
|
631
|
+
retrying impossible hosted signer writes or creating temporary signing
|
|
632
|
+
scripts.
|
|
633
|
+
|
|
634
|
+
## 0.9.7 - 2026-07-17
|
|
635
|
+
|
|
636
|
+
### Fixed
|
|
637
|
+
|
|
638
|
+
- Fixed Hermes/OpenClaw YAML generation for hosted SAP MCP plus local
|
|
639
|
+
`sap_payments` bridge configs. The wizard and repair flow now double-quote
|
|
640
|
+
YAML scalar values such as scoped npm package names
|
|
641
|
+
(`@oobe-protocol-labs/sap-mcp-server@...`) and indent `args` list items with
|
|
642
|
+
parser-safe YAML.
|
|
643
|
+
- Updated user docs and generated manual snippets so copied Hermes YAML no
|
|
644
|
+
longer fails on reserved leading characters such as `@`.
|
|
645
|
+
- Clarified local keypair signer logs: hosted SAP MCP never receives keypair
|
|
646
|
+
bytes, while production/value funds should prefer external signer, hardware
|
|
647
|
+
wallet, delegated session, or a capped local profile.
|
|
648
|
+
|
|
649
|
+
## 0.9.6 - 2026-07-17
|
|
650
|
+
|
|
651
|
+
### Added
|
|
652
|
+
|
|
653
|
+
- Added free hosted maintenance tools:
|
|
654
|
+
- `sap_skills_upgrade_plan` returns latest-release skill upgrade commands,
|
|
655
|
+
target directories, and next tool calls without pretending hosted MCP can
|
|
656
|
+
write local files.
|
|
657
|
+
- `sap_runtime_repair_plan` returns the pinned repair command, OS command
|
|
658
|
+
aliases, expected `sap_payments` bridge tools, and runtime restart guidance.
|
|
659
|
+
|
|
660
|
+
### Fixed
|
|
661
|
+
|
|
662
|
+
- Fixed structured MCP output for tools with explicit output schemas. Tools such
|
|
663
|
+
as `sap_agent_start` now return schema-valid `structuredContent` instead of a
|
|
664
|
+
nested MCP `content` wrapper, avoiding strict runtime errors like
|
|
665
|
+
`success is a required property`.
|
|
666
|
+
- Updated the agent startup playbook so stale skills and missing
|
|
667
|
+
`sap_payments` bridge issues route through free maintenance tools before paid
|
|
668
|
+
or write workflows.
|
|
669
|
+
- Updated user docs and bundled skills to teach `sap_skills_upgrade_plan` and
|
|
670
|
+
`sap_runtime_repair_plan` as the canonical recovery path.
|
|
671
|
+
|
|
672
|
+
## 0.9.5 - 2026-07-17
|
|
673
|
+
|
|
674
|
+
### Added
|
|
675
|
+
|
|
676
|
+
- Added a first-step setup path menu to the CLI wizard so users can choose
|
|
677
|
+
**Full hosted SAP MCP setup**, **Repair hosted runtime + sap_payments bridge
|
|
678
|
+
only**, or manual snippets before any profile/wallet prompts.
|
|
679
|
+
- Added `sap-mcp-config repair` plus `repair-payments` and `repair-bridge`
|
|
680
|
+
aliases for users who already have a local SAP MCP profile and only need to
|
|
681
|
+
repair hosted `sap` plus local `sap_payments` runtime entries.
|
|
682
|
+
|
|
683
|
+
### Fixed
|
|
684
|
+
|
|
685
|
+
- Made the repair-only path use the same auto-resolver as the full wizard,
|
|
686
|
+
preserving unrelated MCP servers while updating only OOBE SAP MCP entries,
|
|
687
|
+
stale `mcp-remote` wrappers, SAP allow-list issues, and the local x402
|
|
688
|
+
reference bundle.
|
|
689
|
+
- Updated user docs, README, and the hosted dashboard so normal users can find
|
|
690
|
+
the repair path without rerunning full profile/wallet setup.
|
|
691
|
+
|
|
692
|
+
## 0.9.4 - 2026-07-17
|
|
693
|
+
|
|
694
|
+
### Added
|
|
695
|
+
|
|
696
|
+
- Added `sap_payments_finalize_transaction`, a free local `sap_payments` bridge
|
|
697
|
+
tool that previews, policy-checks, signs, and optionally submits unsigned
|
|
698
|
+
transactions returned by hosted SAP MCP builders.
|
|
699
|
+
- Added regression coverage proving the bridge-only process exposes the local
|
|
700
|
+
finalizer and can sign a hosted-style transaction without temporary scripts or
|
|
701
|
+
keypair-byte exposure.
|
|
702
|
+
|
|
703
|
+
### Fixed
|
|
704
|
+
|
|
705
|
+
- Updated agent prompts, skills, docs, wizard copy, and public dashboard
|
|
706
|
+
guidance so hosted builders route transaction finalization through the local
|
|
707
|
+
bridge instead of hosted `sap_sign_transaction` or ad-hoc `.js`/`.mjs`
|
|
708
|
+
signing scripts.
|
|
709
|
+
- Tightened the bridge-only tool list in docs to match the actual
|
|
710
|
+
`sap_payments` surface.
|
|
711
|
+
|
|
712
|
+
## 0.9.3 - 2026-07-17
|
|
713
|
+
|
|
714
|
+
### Changed
|
|
715
|
+
|
|
716
|
+
- Rebalanced hosted x402 pricing for agent commerce UX: premium reads now
|
|
717
|
+
default to `$0.001`, builder/preflight calls default to `$0.008`, and
|
|
718
|
+
value-moving actions stay on the value-action tier.
|
|
719
|
+
- Classified `jupiter_getQuote` and `magicblock_swapQuote` as lightweight
|
|
720
|
+
read-premium calls instead of builder calls, so agents can quote and preview
|
|
721
|
+
without paying value-action style fees.
|
|
722
|
+
- Kept SAP payment readiness, x402 estimates, transaction decode, and
|
|
723
|
+
transaction preview free so agents can choose tools, check limits, and prepare
|
|
724
|
+
safe execution without bottlenecks.
|
|
725
|
+
|
|
726
|
+
### Fixed
|
|
727
|
+
|
|
728
|
+
- Strengthened SAP MCP initialize instructions, `sap_agent_start`, transaction
|
|
729
|
+
tool descriptions, and MagicBlock tool descriptions so agents use the official
|
|
730
|
+
`sap_preview_transaction` -> `sap_sign_transaction` ->
|
|
731
|
+
`sap_submit_signed_transaction` path instead of creating temporary local
|
|
732
|
+
signing scripts or reading keypair files.
|
|
733
|
+
- Removed hard-coded MagicBlock `$0.01`/`$0.05` pricing text from tool
|
|
734
|
+
descriptions; hosted prices now resolve from the central pricing registry.
|
|
735
|
+
|
|
736
|
+
## 0.9.2 - 2026-07-17
|
|
6
737
|
|
|
7
738
|
### Added
|
|
8
739
|
|