@oobe-protocol-labs/sap-mcp-server 0.9.21 → 0.9.35
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 +11 -1
- package/CHANGELOG.md +233 -6
- package/README.md +3 -3
- package/USER_DOCS/00_START_HERE.md +9 -1
- package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
- package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
- package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
- package/config.example.json +1 -1
- package/config.secure-example.json +1 -1
- package/dist/config/env.d.ts +18 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +14 -2
- package/dist/config/env.js.map +1 -1
- package/dist/config/mcp-client-injection.js +3 -3
- package/dist/config/paths.d.ts +9 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +15 -1
- package/dist/config/paths.js.map +1 -1
- package/dist/config/wizard.d.ts.map +1 -1
- package/dist/config/wizard.js +3 -1
- package/dist/config/wizard.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/logger.js +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/hosted-tool-eligibility.d.ts.map +1 -1
- package/dist/payments/hosted-tool-eligibility.js +4 -6
- package/dist/payments/hosted-tool-eligibility.js.map +1 -1
- package/dist/payments/monetization-gate.d.ts +39 -0
- package/dist/payments/monetization-gate.d.ts.map +1 -1
- package/dist/payments/monetization-gate.js +165 -11
- package/dist/payments/monetization-gate.js.map +1 -1
- package/dist/payments/pricing.d.ts.map +1 -1
- package/dist/payments/pricing.js +69 -0
- package/dist/payments/pricing.js.map +1 -1
- package/dist/payments/x402-paid-call.js +1 -1
- package/dist/premium/builtin-plugins.d.ts +42 -0
- package/dist/premium/builtin-plugins.d.ts.map +1 -1
- package/dist/premium/builtin-plugins.js +91 -10
- package/dist/premium/builtin-plugins.js.map +1 -1
- package/dist/premium/manifest-builder.d.ts.map +1 -1
- package/dist/premium/manifest-builder.js +43 -7
- package/dist/premium/manifest-builder.js.map +1 -1
- package/dist/premium/meme-radar-capabilities.js +9 -9
- package/dist/premium/meme-radar-capabilities.js.map +1 -1
- package/dist/premium/plugin-validator.d.ts.map +1 -1
- package/dist/premium/plugin-validator.js +62 -1
- package/dist/premium/plugin-validator.js.map +1 -1
- package/dist/premium/provider-bridge.d.ts +25 -1
- package/dist/premium/provider-bridge.d.ts.map +1 -1
- package/dist/premium/provider-bridge.js +130 -20
- package/dist/premium/provider-bridge.js.map +1 -1
- package/dist/premium/session-manager.d.ts.map +1 -1
- package/dist/premium/session-manager.js +12 -3
- package/dist/premium/session-manager.js.map +1 -1
- package/dist/premium/tech-fundamentals-capabilities.js +5 -5
- package/dist/premium/tech-fundamentals-capabilities.js.map +1 -1
- package/dist/premium/trading-capabilities.js +5 -5
- package/dist/premium/trading-capabilities.js.map +1 -1
- package/dist/premium/webhook-engine.d.ts.map +1 -1
- package/dist/premium/webhook-engine.js +7 -1
- package/dist/premium/webhook-engine.js.map +1 -1
- package/dist/prompts/context/sap-agent-context.prompt.js +1 -1
- package/dist/prompts/payments/explain-x402-settlement.prompt.js +1 -1
- package/dist/remote/premium-routes.d.ts.map +1 -1
- package/dist/remote/premium-routes.js +3 -2
- package/dist/remote/premium-routes.js.map +1 -1
- package/dist/remote/public-home/sections.d.ts.map +1 -1
- package/dist/remote/public-home/sections.js +2 -3
- package/dist/remote/public-home/sections.js.map +1 -1
- package/dist/remote/public-home/styles.d.ts +1 -1
- package/dist/remote/public-home/styles.js +2 -2
- package/dist/remote/server.d.ts.map +1 -1
- package/dist/remote/server.js +19 -4
- package/dist/remote/server.js.map +1 -1
- package/dist/server/server-metadata.js +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 +97 -10
- 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 +152 -9
- package/dist/tools/client-sdk-tools.js.map +1 -1
- package/dist/tools/estimate-tool-cost.js +1 -1
- package/dist/tools/estimate-tool-cost.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/magicblock-tools.js +5 -5
- 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 +7 -9
- package/dist/tools/perp-tools.d.ts.map +1 -1
- package/dist/tools/perp-tools.js +386 -367
- package/dist/tools/perp-tools.js.map +1 -1
- package/dist/tools/premium-tools.d.ts.map +1 -1
- package/dist/tools/premium-tools.js +8 -2
- package/dist/tools/premium-tools.js.map +1 -1
- 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.map +1 -1
- package/dist/tools/quick-context-tool.js +100 -9
- package/dist/tools/quick-context-tool.js.map +1 -1
- package/dist/tools/register-tools.d.ts.map +1 -1
- package/dist/tools/register-tools.js +3 -0
- package/dist/tools/register-tools.js.map +1 -1
- package/dist/tools/sap-sdk-tools.js +3 -3
- package/dist/tools/sap-sdk-tools.js.map +1 -1
- package/dist/tools/session-context-packet.d.ts +19 -0
- package/dist/tools/session-context-packet.d.ts.map +1 -0
- package/dist/tools/session-context-packet.js +256 -0
- package/dist/tools/session-context-packet.js.map +1 -0
- package/dist/tools/skills-tools.d.ts +10 -0
- package/dist/tools/skills-tools.d.ts.map +1 -1
- package/dist/tools/skills-tools.js +19 -0
- package/dist/tools/skills-tools.js.map +1 -1
- package/dist/tools/transaction-tools.d.ts +1 -0
- package/dist/tools/transaction-tools.d.ts.map +1 -1
- package/dist/tools/transaction-tools.js +248 -9
- 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 +55 -21
- package/dist/tools/x402-paid-call-tool.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/06_PAYMENTS_X402_AND_PAYSH.md +14 -5
- package/docs/07_ENDPOINTS_AND_CLIENTS.md +1 -1
- package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +13 -5
- package/docs/13_BOUNTY_PROGRAM_PROPOSAL.md +1 -1
- package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
- package/docs/15_DASHBOARD_SCREENSHARE_SCRIPT.md +1 -1
- package/docs/BRANCH_AND_CI.md +2 -2
- package/docs/README.md +1 -1
- package/package.json +3 -1
- package/server.json +3 -3
- package/skills/README.md +1 -1
- package/skills/sap-agentkit/SKILL.md +1 -2
- package/skills/sap-defi/SKILL.md +31 -2
- package/skills/sap-mcp/SKILL.md +24 -13
- package/skills/sap-mcp/TOOL_REFERENCE.md +2 -4
- package/skills/sap-payments-x402/SKILL.md +15 -3
- package/assets/logos/drift.svg +0 -12
|
@@ -101,6 +101,26 @@ export declare function findPremiumCapability(pluginId: string, capabilityId: st
|
|
|
101
101
|
plugin: PremiumPluginManifest;
|
|
102
102
|
capability: PremiumCapabilityDefinition;
|
|
103
103
|
} | null;
|
|
104
|
+
/**
|
|
105
|
+
* @name findPremiumCapabilityById
|
|
106
|
+
* @description Resolve a capability by its id alone, searching across ALL plugins.
|
|
107
|
+
*
|
|
108
|
+
* This is the auto-discovery path: the agent doesn't need to know which plugin
|
|
109
|
+
* contains a capability. If the capability exists in any plugin, it's returned.
|
|
110
|
+
*
|
|
111
|
+
* If `pluginId` is provided AND matches, that plugin is preferred. If the
|
|
112
|
+
* capability is not found in the specified plugin but exists in another, the
|
|
113
|
+
* other plugin's capability is returned with a note.
|
|
114
|
+
*
|
|
115
|
+
* @param capabilityId - The capability id to search for (e.g. "pyth.volatility.watch").
|
|
116
|
+
* @param type - Optional capability type filter.
|
|
117
|
+
* @param options - Discovery options.
|
|
118
|
+
* @returns `{ plugin, capability }` if found, otherwise `null`.
|
|
119
|
+
*/
|
|
120
|
+
export declare function findPremiumCapabilityById(capabilityId: string, type?: PremiumCapabilityType, options?: PremiumPluginListOptions): {
|
|
121
|
+
plugin: PremiumPluginManifest;
|
|
122
|
+
capability: PremiumCapabilityDefinition;
|
|
123
|
+
} | null;
|
|
104
124
|
/**
|
|
105
125
|
* @name publicPremiumProviderStatus
|
|
106
126
|
* @description Return a map of all provider env var names to their current
|
|
@@ -114,6 +134,28 @@ export declare function findPremiumCapability(pluginId: string, capabilityId: st
|
|
|
114
134
|
* @usedBy `remote/server.ts` → provider status endpoint.
|
|
115
135
|
*/
|
|
116
136
|
export declare function publicPremiumProviderStatus(): Record<string, boolean>;
|
|
137
|
+
/**
|
|
138
|
+
* @name premiumProviderLoaderStatus
|
|
139
|
+
* @description Return diagnostic info about the private plugin loader configuration.
|
|
140
|
+
*
|
|
141
|
+
* Reports whether private plugins are enabled, whether the plugin directory is
|
|
142
|
+
* configured and exists, and how many manifests were loaded/rejected. This
|
|
143
|
+
* complements `publicPremiumProviderStatus()` (which only checks env var
|
|
144
|
+
* readiness) by exposing the loader state that determines whether provider
|
|
145
|
+
* adapters can actually be loaded.
|
|
146
|
+
*
|
|
147
|
+
* @returns Object with `enabled`, `pluginDirConfigured`, `pluginDirExists`,
|
|
148
|
+
* `loadedManifestCount`, and `rejectedManifestCount` fields.
|
|
149
|
+
*
|
|
150
|
+
* @usedBy `remote/server.ts` → provider status endpoint, `premium-tools.ts`.
|
|
151
|
+
*/
|
|
152
|
+
export declare function premiumProviderLoaderStatus(): {
|
|
153
|
+
enabled: boolean;
|
|
154
|
+
pluginDirConfigured: boolean;
|
|
155
|
+
pluginDirExists: boolean;
|
|
156
|
+
loadedManifestCount: number;
|
|
157
|
+
rejectedManifestCount: number;
|
|
158
|
+
};
|
|
117
159
|
/**
|
|
118
160
|
* @name premiumPrivatePluginSupport
|
|
119
161
|
* @description Return a diagnostic object describing the private plugin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-plugins.d.ts","sourceRoot":"","sources":["../../src/premium/builtin-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"builtin-plugins.d.ts","sourceRoot":"","sources":["../../src/premium/builtin-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAwQ5G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,EAmC1D,CAAC;AAMF;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,wBAA6B,GAAG,qBAAqB,EAAE,CAgBlG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,qBAAqB,EAAE,OAAO,GAAE,wBAA6B,GAAG,2BAA2B,EAAE,CAM3I;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,qBAAqB,EAC5B,OAAO,GAAE,wBAA6B,GACrC;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,UAAU,EAAE,2BAA2B,CAAA;CAAE,GAAG,IAAI,CAInF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,qBAAqB,EAC5B,OAAO,GAAE,wBAA6B,GACrC;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,UAAU,EAAE,2BAA2B,CAAA;CAAE,GAAG,IAAI,CAWnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGrE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,IAAI;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAUA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAarE;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;CAAe,CAAC"}
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
*
|
|
28
28
|
* @module premium/builtin-plugins
|
|
29
29
|
*/
|
|
30
|
+
import { existsSync } from 'node:fs';
|
|
31
|
+
import { resolve } from 'node:path';
|
|
30
32
|
import { loadPrivatePremiumPluginManifests, loadPrivatePremiumPluginReport, premiumDiscoveryIncludesPrivate, } from './private-manifest-loader.js';
|
|
31
33
|
import { TRADING_PREMIUM_PLUGINS } from './trading-capabilities.js';
|
|
32
34
|
import { MEME_RADAR_PREMIUM_PLUGINS } from './meme-radar-capabilities.js';
|
|
@@ -60,8 +62,17 @@ const streamInputSchema = {
|
|
|
60
62
|
},
|
|
61
63
|
filters: {
|
|
62
64
|
type: 'object',
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
properties: {
|
|
66
|
+
mint: { type: 'string', minLength: 32, maxLength: 64, description: 'Optional token mint public key.' },
|
|
67
|
+
wallet: { type: 'string', minLength: 32, maxLength: 64, description: 'Optional wallet public key.' },
|
|
68
|
+
protocol: { type: 'string', description: 'Optional protocol id.' },
|
|
69
|
+
agentId: { type: 'string', description: 'Optional SAP agent id.' },
|
|
70
|
+
capability: { type: 'string', description: 'Optional SAP capability id.' },
|
|
71
|
+
priceFeedId: { type: 'string', description: 'Optional oracle price feed id.' },
|
|
72
|
+
threshold: { type: 'number', description: 'Optional numeric trigger threshold.' },
|
|
73
|
+
},
|
|
74
|
+
additionalProperties: false,
|
|
75
|
+
description: 'Strict narrow filters such as mint, wallet, protocol, agentId, capability, priceFeedId, or threshold.',
|
|
65
76
|
},
|
|
66
77
|
},
|
|
67
78
|
additionalProperties: false,
|
|
@@ -89,7 +100,12 @@ const streamOutputSchema = {
|
|
|
89
100
|
},
|
|
90
101
|
payload: {
|
|
91
102
|
type: 'object',
|
|
92
|
-
|
|
103
|
+
required: ['schemaVersion', 'summary'],
|
|
104
|
+
properties: {
|
|
105
|
+
schemaVersion: { type: 'string', description: 'Payload schema version emitted by the premium provider.' },
|
|
106
|
+
summary: { type: 'string', description: 'Short event summary suitable for agent planning.' },
|
|
107
|
+
},
|
|
108
|
+
additionalProperties: false,
|
|
93
109
|
description: 'Provider-specific event payload. Schemas are versioned per premium plugin manifest.',
|
|
94
110
|
},
|
|
95
111
|
},
|
|
@@ -134,7 +150,16 @@ const webhookOutputSchema = {
|
|
|
134
150
|
eventType: { type: 'string', description: 'Delivered premium event type.' },
|
|
135
151
|
deliveredAt: { type: 'string', format: 'date-time', description: 'ISO timestamp for delivery attempt.' },
|
|
136
152
|
signature: { type: 'string', description: 'Provider signature over deliveryId, deliveredAt, and payload.' },
|
|
137
|
-
payload: {
|
|
153
|
+
payload: {
|
|
154
|
+
type: 'object',
|
|
155
|
+
required: ['schemaVersion', 'summary'],
|
|
156
|
+
properties: {
|
|
157
|
+
schemaVersion: { type: 'string', description: 'Payload schema version emitted by the premium provider.' },
|
|
158
|
+
summary: { type: 'string', description: 'Short delivery summary suitable for agent planning.' },
|
|
159
|
+
},
|
|
160
|
+
additionalProperties: false,
|
|
161
|
+
description: 'Versioned event payload.',
|
|
162
|
+
},
|
|
138
163
|
},
|
|
139
164
|
additionalProperties: false,
|
|
140
165
|
};
|
|
@@ -259,9 +284,9 @@ export const BUILTIN_PREMIUM_PLUGINS = [
|
|
|
259
284
|
publisher: 'OOBE Protocol',
|
|
260
285
|
visibility: 'public',
|
|
261
286
|
capabilities: [
|
|
262
|
-
streamCapability('jupiter.quote.delta', 'Jupiter quote delta stream', 'Streams quote deltas for exact mints and amounts so agents can react without repeated broad polling.', ['quote.delta', 'route.changed', 'price.impact.changed'], 0.
|
|
263
|
-
streamCapability('pyth.price.tick', 'Pyth price tick stream', 'Streams price ticks for explicit Pyth feed ids with bounded replay and x402 metering.', ['price.tick', 'confidence.changed', 'feed.stale'], 0.
|
|
264
|
-
webhookCapability('price.threshold.crossed', 'Price threshold webhook', 'Delivers signed HTTPS callbacks when configured mint/feed thresholds cross.', ['price.threshold.crossed'], 0.
|
|
287
|
+
streamCapability('jupiter.quote.delta', 'Jupiter quote delta stream', 'Streams quote deltas for exact mints and amounts so agents can react without repeated broad polling.', ['quote.delta', 'route.changed', 'price.impact.changed'], 0.01, ['SAP_MCP_PREMIUM_JUPITER_STREAM_URL']),
|
|
288
|
+
streamCapability('pyth.price.tick', 'Pyth price tick stream', 'Streams price ticks for explicit Pyth feed ids with bounded replay and x402 metering.', ['price.tick', 'confidence.changed', 'feed.stale'], 0.0075, ['SAP_MCP_PREMIUM_PYTH_STREAM_URL']),
|
|
289
|
+
webhookCapability('price.threshold.crossed', 'Price threshold webhook', 'Delivers signed HTTPS callbacks when configured mint/feed thresholds cross.', ['price.threshold.crossed'], 0.0005, ['SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
|
|
265
290
|
],
|
|
266
291
|
},
|
|
267
292
|
];
|
|
@@ -305,9 +330,13 @@ export function listPremiumPlugins(options = {}) {
|
|
|
305
330
|
...TECH_FUNDAMENTALS_PREMIUM_PLUGINS,
|
|
306
331
|
...loadPrivatePremiumPluginManifests(),
|
|
307
332
|
];
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
.
|
|
333
|
+
const merged = new Map();
|
|
334
|
+
for (const plugin of plugins) {
|
|
335
|
+
if (plugin.visibility !== 'public' && !includePrivate)
|
|
336
|
+
continue;
|
|
337
|
+
merged.set(plugin.id, plugin);
|
|
338
|
+
}
|
|
339
|
+
return [...merged.values()].map(clonePlugin);
|
|
311
340
|
}
|
|
312
341
|
/**
|
|
313
342
|
* @name listPremiumCapabilities
|
|
@@ -343,6 +372,32 @@ export function findPremiumCapability(pluginId, capabilityId, type, options = {}
|
|
|
343
372
|
const capability = plugin?.capabilities.find(candidate => candidate.id === capabilityId && (!type || candidate.type === type));
|
|
344
373
|
return plugin && capability ? { plugin, capability } : null;
|
|
345
374
|
}
|
|
375
|
+
/**
|
|
376
|
+
* @name findPremiumCapabilityById
|
|
377
|
+
* @description Resolve a capability by its id alone, searching across ALL plugins.
|
|
378
|
+
*
|
|
379
|
+
* This is the auto-discovery path: the agent doesn't need to know which plugin
|
|
380
|
+
* contains a capability. If the capability exists in any plugin, it's returned.
|
|
381
|
+
*
|
|
382
|
+
* If `pluginId` is provided AND matches, that plugin is preferred. If the
|
|
383
|
+
* capability is not found in the specified plugin but exists in another, the
|
|
384
|
+
* other plugin's capability is returned with a note.
|
|
385
|
+
*
|
|
386
|
+
* @param capabilityId - The capability id to search for (e.g. "pyth.volatility.watch").
|
|
387
|
+
* @param type - Optional capability type filter.
|
|
388
|
+
* @param options - Discovery options.
|
|
389
|
+
* @returns `{ plugin, capability }` if found, otherwise `null`.
|
|
390
|
+
*/
|
|
391
|
+
export function findPremiumCapabilityById(capabilityId, type, options = {}) {
|
|
392
|
+
const plugins = listPremiumPlugins(options);
|
|
393
|
+
for (const plugin of plugins) {
|
|
394
|
+
const capability = plugin.capabilities.find(candidate => candidate.id === capabilityId && (!type || candidate.type === type));
|
|
395
|
+
if (capability) {
|
|
396
|
+
return { plugin, capability };
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
346
401
|
/**
|
|
347
402
|
* @name publicPremiumProviderStatus
|
|
348
403
|
* @description Return a map of all provider env var names to their current
|
|
@@ -359,6 +414,32 @@ export function publicPremiumProviderStatus() {
|
|
|
359
414
|
const envNames = new Set(listPremiumCapabilities().flatMap(capability => capability.providerEnv));
|
|
360
415
|
return Object.fromEntries([...envNames].sort().map(name => [name, Boolean(process.env[name])]));
|
|
361
416
|
}
|
|
417
|
+
/**
|
|
418
|
+
* @name premiumProviderLoaderStatus
|
|
419
|
+
* @description Return diagnostic info about the private plugin loader configuration.
|
|
420
|
+
*
|
|
421
|
+
* Reports whether private plugins are enabled, whether the plugin directory is
|
|
422
|
+
* configured and exists, and how many manifests were loaded/rejected. This
|
|
423
|
+
* complements `publicPremiumProviderStatus()` (which only checks env var
|
|
424
|
+
* readiness) by exposing the loader state that determines whether provider
|
|
425
|
+
* adapters can actually be loaded.
|
|
426
|
+
*
|
|
427
|
+
* @returns Object with `enabled`, `pluginDirConfigured`, `pluginDirExists`,
|
|
428
|
+
* `loadedManifestCount`, and `rejectedManifestCount` fields.
|
|
429
|
+
*
|
|
430
|
+
* @usedBy `remote/server.ts` → provider status endpoint, `premium-tools.ts`.
|
|
431
|
+
*/
|
|
432
|
+
export function premiumProviderLoaderStatus() {
|
|
433
|
+
const report = loadPrivatePremiumPluginReport();
|
|
434
|
+
const pluginDir = process.env.SAP_MCP_PLUGIN_DIR;
|
|
435
|
+
return {
|
|
436
|
+
enabled: report.enabled,
|
|
437
|
+
pluginDirConfigured: report.pluginDirConfigured,
|
|
438
|
+
pluginDirExists: pluginDir !== undefined && pluginDir.trim() !== '' && existsSync(resolve(pluginDir)),
|
|
439
|
+
loadedManifestCount: report.loadedManifests.length,
|
|
440
|
+
rejectedManifestCount: report.rejectedManifests.length,
|
|
441
|
+
};
|
|
442
|
+
}
|
|
362
443
|
/**
|
|
363
444
|
* @name premiumPrivatePluginSupport
|
|
364
445
|
* @description Return a diagnostic object describing the private plugin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-plugins.js","sourceRoot":"","sources":["../../src/premium/builtin-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAExF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,gGAAgG;CAC9G,CAAC;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,UAAU,EAAE;QACV,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,8FAA8F;SAC5G;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,
|
|
1
|
+
{"version":3,"file":"builtin-plugins.js","sourceRoot":"","sources":["../../src/premium/builtin-plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/premium/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EAErB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,qBAAqB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../../src/premium/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,qBAAqB,EAErB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,qBAAqB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAsKD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,8BAA8B,GAAG,qBAAqB,CA4BjH"}
|
|
@@ -22,7 +22,9 @@
|
|
|
22
22
|
/* -------------------------------------------------------------------------- */
|
|
23
23
|
/**
|
|
24
24
|
* @description Default input schema for template-generated capabilities.
|
|
25
|
-
* Requires a `requestId` for idempotency and
|
|
25
|
+
* Requires a `requestId` for idempotency and provides strict, common filter
|
|
26
|
+
* fields. Plugin authors can add provider-specific filters, but every added
|
|
27
|
+
* field must be explicitly typed.
|
|
26
28
|
*/
|
|
27
29
|
const defaultInputSchema = {
|
|
28
30
|
type: 'object',
|
|
@@ -34,8 +36,31 @@ const defaultInputSchema = {
|
|
|
34
36
|
},
|
|
35
37
|
filters: {
|
|
36
38
|
type: 'object',
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
properties: {
|
|
40
|
+
wallet: {
|
|
41
|
+
type: 'string',
|
|
42
|
+
minLength: 32,
|
|
43
|
+
maxLength: 64,
|
|
44
|
+
description: 'Optional Solana wallet public key used to scope premium events.',
|
|
45
|
+
},
|
|
46
|
+
mint: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
minLength: 32,
|
|
49
|
+
maxLength: 64,
|
|
50
|
+
description: 'Optional token mint used to scope premium events.',
|
|
51
|
+
},
|
|
52
|
+
protocol: {
|
|
53
|
+
type: 'string',
|
|
54
|
+
description: 'Optional protocol id used to narrow premium delivery.',
|
|
55
|
+
},
|
|
56
|
+
minUsd: {
|
|
57
|
+
type: 'number',
|
|
58
|
+
minimum: 0,
|
|
59
|
+
description: 'Optional minimum USD threshold for event emission.',
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
additionalProperties: false,
|
|
63
|
+
description: 'Strict capability filters. Add provider-specific fields explicitly before production.',
|
|
39
64
|
},
|
|
40
65
|
},
|
|
41
66
|
additionalProperties: false,
|
|
@@ -43,8 +68,8 @@ const defaultInputSchema = {
|
|
|
43
68
|
/**
|
|
44
69
|
* @description Default output schema for template-generated capabilities.
|
|
45
70
|
* Returns a stable event id, ISO timestamp, and a versioned provider payload.
|
|
46
|
-
* The
|
|
47
|
-
*
|
|
71
|
+
* The payload is intentionally minimal and strict; plugin authors should extend
|
|
72
|
+
* it with explicit provider fields before production.
|
|
48
73
|
*/
|
|
49
74
|
const defaultOutputSchema = {
|
|
50
75
|
type: 'object',
|
|
@@ -61,8 +86,19 @@ const defaultOutputSchema = {
|
|
|
61
86
|
},
|
|
62
87
|
payload: {
|
|
63
88
|
type: 'object',
|
|
64
|
-
|
|
65
|
-
|
|
89
|
+
required: ['schemaVersion', 'summary'],
|
|
90
|
+
properties: {
|
|
91
|
+
schemaVersion: {
|
|
92
|
+
type: 'string',
|
|
93
|
+
description: 'Semver-like payload schema version for consumer compatibility.',
|
|
94
|
+
},
|
|
95
|
+
summary: {
|
|
96
|
+
type: 'string',
|
|
97
|
+
description: 'Short human-readable event or result summary.',
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
additionalProperties: false,
|
|
101
|
+
description: 'Strict provider payload. Extend with explicit typed fields before production.',
|
|
66
102
|
},
|
|
67
103
|
},
|
|
68
104
|
additionalProperties: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../src/premium/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA6CH,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF
|
|
1
|
+
{"version":3,"file":"manifest-builder.js","sourceRoot":"","sources":["../../src/premium/manifest-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,7 +118,7 @@ const memeStreamOutputSchema = {
|
|
|
118
118
|
},
|
|
119
119
|
expiresAt: { type: 'string', format: 'date-time', description: 'Signal expiry timestamp.' },
|
|
120
120
|
},
|
|
121
|
-
additionalProperties:
|
|
121
|
+
additionalProperties: false,
|
|
122
122
|
},
|
|
123
123
|
},
|
|
124
124
|
additionalProperties: false,
|
|
@@ -178,7 +178,7 @@ const memeWebhookOutputSchema = {
|
|
|
178
178
|
signature: { type: 'string', description: 'HMAC-SHA256 signature.' },
|
|
179
179
|
payload: {
|
|
180
180
|
type: 'object',
|
|
181
|
-
additionalProperties:
|
|
181
|
+
additionalProperties: false,
|
|
182
182
|
description: 'Meme radar payload with listing details, honeypot scan, and dev wallet analysis.',
|
|
183
183
|
},
|
|
184
184
|
},
|
|
@@ -292,13 +292,13 @@ export const MEME_RADAR_PREMIUM_PLUGINS = [
|
|
|
292
292
|
publisher: 'OOBE Protocol',
|
|
293
293
|
visibility: 'public',
|
|
294
294
|
capabilities: [
|
|
295
|
-
memeWebhookCapability('meme.newlisting.alert', 'New token listing alerts', 'Delivers signed webhook callbacks when new tokens are listed on Raydium, Orca, or Meteora.
|
|
296
|
-
['
|
|
297
|
-
memeStreamCapability('meme.social.sentiment', '
|
|
298
|
-
['
|
|
299
|
-
memeStreamCapability('meme.rugpull.detector', 'Rugpull risk detector', 'Continuously monitors pool liquidity changes
|
|
300
|
-
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL', '
|
|
301
|
-
memeStreamCapability('meme.volume.spike', 'DEX volume anomaly detector', 'Monitors DEX trading volume for specified meme tokens and detects anomalous volume spikes that may indicate pump/dump activity. Uses statistical baselines to flag unusual volume patterns. Agents receive mint, volume change percentage, current vs baseline volume, and confidence score for volume-driven trading signals.', ['volume.spike'], 0.
|
|
295
|
+
memeWebhookCapability('meme.newlisting.alert', 'New token listing alerts', 'Delivers signed webhook callbacks when new tokens are listed on Raydium, Orca, or Meteora. Uses DexScreener pairCreatedAt to detect tokens listed within the last 60 minutes. Each alert includes liquidity check results, initial volume, risk flags (low liquidity, low volume, high FDV), and recommended action for instant decision-making on new meme token opportunities.', ['meme.newlisting.alert'], 0.0015, // $0.0015/event
|
|
296
|
+
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL', 'SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
|
|
297
|
+
memeStreamCapability('meme.social.sentiment', 'Market sentiment stream', 'Streams real-time market sentiment scores for specified meme tokens. Derives bull/bear scores from DexScreener price momentum (1h, 6h, 24h changes) and volume acceleration as a free sentiment proxy — no paid social media API required. Agents receive mint, bull score, bear score, confidence, trend direction, and signal confidence for sentiment-driven trading decisions.', ['social.sentiment'], 0.01, // $0.01/min
|
|
298
|
+
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL']),
|
|
299
|
+
memeStreamCapability('meme.rugpull.detector', 'Rugpull risk detector', 'Continuously monitors pool liquidity changes via DexScreener and checks mint authority + freeze authority status via Solana RPC for specified meme tokens. Emits risk alerts when rugpull indicators are detected — liquidity drain (>30%), mint authority active, freeze authority active, or very low liquidity. Agents receive risk score (0-1), risk factors, affected mint, and recommended action (exit/monitor/caution).', ['rugpull.risk'], 0.02, // $0.02/min
|
|
300
|
+
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL', 'SAP_MCP_PREMIUM_SOLANA_RPC_URL']),
|
|
301
|
+
memeStreamCapability('meme.volume.spike', 'DEX volume anomaly detector', 'Monitors DEX trading volume for specified meme tokens and detects anomalous volume spikes that may indicate pump/dump activity. Uses statistical baselines to flag unusual volume patterns. Agents receive mint, volume change percentage, current vs baseline volume, and confidence score for volume-driven trading signals.', ['volume.spike'], 0.0125, // $0.0125/min
|
|
302
302
|
['SAP_MCP_PREMIUM_DEXSCREENER_API_URL']),
|
|
303
303
|
],
|
|
304
304
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meme-radar-capabilities.js","sourceRoot":"","sources":["../../src/premium/meme-radar-capabilities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"meme-radar-capabilities.js","sourceRoot":"","sources":["../../src/premium/meme-radar-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,qBAAqB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,iBAAiB,CAAC;IAC7B,UAAU,EAAE;QACV,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,+EAA+E;SAC7F;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACvD,WAAW,EAAE,oDAAoD;SAClE;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,8EAA8E;SAC5F;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,wEAAwE;SACtF;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,sBAAsB,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC;IAC3D,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;SACpE;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE;gBACJ,kBAAkB;gBAClB,cAAc;gBACd,cAAc;aACf;YACD,WAAW,EAAE,0DAA0D;SACxE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,oEAAoE;SAClF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC;YAC1C,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;gBAC5D,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;oBAClD,WAAW,EAAE,2BAA2B;iBACzC;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAC9E,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBAC9E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC/E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC/E,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBACzF,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBACtF,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBAC1F,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBAC9F,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE;gBACrF,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;oBAC3C,WAAW,EAAE,qBAAqB;iBACnC;gBACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,0BAA0B,EAAE;aAC5F;YACD,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF;;;GAGG;AACH,MAAM,sBAAsB,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;IACjC,UAAU,EAAE;QACV,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,oDAAoD;SAClE;QACD,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,CAAC;aAChC;YACD,WAAW,EAAE,yCAAyC;SACvD;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,4EAA4E;SAC1F;QACD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,8DAA8D;SAC5E;QACD,cAAc,EAAE;YACd,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,sEAAsE;SACpF;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yDAAyD;SACvE;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC;IAC5E,UAAU,EAAE;QACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;QACtE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;QACpE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,yBAAyB,EAAE;QAC5F,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;QACpE,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,WAAW,EAAE,kFAAkF;SAChG;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAC3B,EAAU,EACV,KAAa,EACb,WAAmB,EACnB,MAAgB,EAChB,YAAoB,EACpB,WAAqB;IAErB,OAAO;QACL,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,WAAW;QACX,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QAChE,gBAAgB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;QACxC,WAAW;QACX,WAAW,EAAE,qBAAqB;QAClC,YAAY,EAAE,sBAAsB;QACpC,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,QAAQ;YACd,YAAY;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,GAAG,EAAE,6BAA6B;YAC5C,UAAU,EAAE,MAAM;SACnB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,qBAAqB;YAChC,MAAM;YACN,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,GAAG;SACzB;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,qBAAqB,CAC5B,EAAU,EACV,KAAa,EACb,WAAmB,EACnB,MAAgB,EAChB,YAAoB,EACpB,WAAqB;IAErB,OAAO;QACL,EAAE;QACF,IAAI,EAAE,SAAS;QACf,KAAK;QACL,WAAW;QACX,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;QAChE,gBAAgB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;QACxC,WAAW;QACX,WAAW,EAAE,sBAAsB;QACnC,YAAY,EAAE,uBAAuB;QACrC,OAAO,EAAE;YACP,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,gBAAgB;YACvB,IAAI,EAAE,OAAO;YACb,YAAY;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,MAAM;YAChB,UAAU,EAAE,MAAM;SACnB;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,cAAc;YACzB,MAAM;YACN,eAAe,EAAE,GAAG;YACpB,mBAAmB,EAAE,GAAG;SACzB;KACF,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAA4B;IACjE;QACE,EAAE,EAAE,wBAAwB;QAC5B,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,uOAAuO;QACzO,SAAS,EAAE,eAAe;QAC1B,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE;YACZ,qBAAqB,CACnB,uBAAuB,EACvB,0BAA0B,EAC1B,kXAAkX,EAClX,CAAC,uBAAuB,CAAC,EACzB,MAAM,EAAE,gBAAgB;YACxB,CAAC,qCAAqC,EAAE,gCAAgC,CAAC,CAC1E;YACD,oBAAoB,CAClB,uBAAuB,EACvB,yBAAyB,EACzB,oXAAoX,EACpX,CAAC,kBAAkB,CAAC,EACpB,IAAI,EAAE,YAAY;YAClB,CAAC,qCAAqC,CAAC,CACxC;YACD,oBAAoB,CAClB,uBAAuB,EACvB,uBAAuB,EACvB,iaAAia,EACja,CAAC,cAAc,CAAC,EAChB,IAAI,EAAE,YAAY;YAClB,CAAC,qCAAqC,EAAE,gCAAgC,CAAC,CAC1E;YACD,oBAAoB,CAClB,mBAAmB,EACnB,6BAA6B,EAC7B,gUAAgU,EAChU,CAAC,cAAc,CAAC,EAChB,MAAM,EAAE,cAAc;YACtB,CAAC,qCAAqC,CAAC,CACxC;SACF;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-validator.d.ts","sourceRoot":"","sources":["../../src/premium/plugin-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAA8E,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin-validator.d.ts","sourceRoot":"","sources":["../../src/premium/plugin-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAA8E,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAqVtI;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,GAAG,uBAAuB,CAiDxF"}
|
|
@@ -60,6 +60,7 @@ const PRICING_TIERS = new Set(['premium-stream', 'premium-webhook', 'premium-too
|
|
|
60
60
|
const PRICING_MODELS = new Set(['x402-per-open', 'x402-per-minute', 'x402-per-event', 'x402-session']);
|
|
61
61
|
const PRICING_UNITS = new Set(['open', 'minute', 'event', 'session']);
|
|
62
62
|
const DELIVERY_TRANSPORTS = new Set(['mcp-streamable-http', 'webhook-http']);
|
|
63
|
+
const BLOCKED_PROTOCOL_TERMS = new Set(['drift']);
|
|
63
64
|
/* -------------------------------------------------------------------------- */
|
|
64
65
|
/* Internal helpers */
|
|
65
66
|
/* -------------------------------------------------------------------------- */
|
|
@@ -114,7 +115,9 @@ function pushUnknownKeyIssues(issues, value, allowedKeys, path) {
|
|
|
114
115
|
* @name pushSchemaIssues
|
|
115
116
|
* @description Validate that a JSON Schema field meets strict requirements:
|
|
116
117
|
* must be an object, root type must be `object`, must have a `properties`
|
|
117
|
-
* object (warning), and must set `additionalProperties: false`
|
|
118
|
+
* object (warning), and must set `additionalProperties: false` at the root
|
|
119
|
+
* and on every nested object schema. Premium provider contracts are sold to
|
|
120
|
+
* agents and marketplaces, so loose payloads make paid delivery brittle.
|
|
118
121
|
*
|
|
119
122
|
* @param issues - Accumulating issue array (mutated in place).
|
|
120
123
|
* @param schema - The schema value to check.
|
|
@@ -136,6 +139,63 @@ function pushSchemaIssues(issues, schema, path) {
|
|
|
136
139
|
if (schema.additionalProperties !== false) {
|
|
137
140
|
issues.push(issue(path, 'error', 'Schema root must set additionalProperties: false for strict agent/runtime validation.'));
|
|
138
141
|
}
|
|
142
|
+
pushNestedSchemaStrictnessIssues(issues, schema, path, false);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* @name pushNestedSchemaStrictnessIssues
|
|
146
|
+
* @description Recursively require nested object schemas to reject unknown
|
|
147
|
+
* fields. This catches loose payload/filter objects that otherwise pass root
|
|
148
|
+
* validation and later confuse agents consuming paid premium data.
|
|
149
|
+
*
|
|
150
|
+
* @param issues - Accumulating issue array (mutated in place).
|
|
151
|
+
* @param schema - JSON Schema object or child schema.
|
|
152
|
+
* @param path - JSON path for error reporting.
|
|
153
|
+
*
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
function pushNestedSchemaStrictnessIssues(issues, schema, path, checkCurrentObject = true) {
|
|
157
|
+
if (checkCurrentObject && schema.type === 'object' && schema.additionalProperties !== false) {
|
|
158
|
+
issues.push(issue(path, 'error', 'Object schemas must set additionalProperties: false at every nested level for strict premium contracts.'));
|
|
159
|
+
}
|
|
160
|
+
if (isRecord(schema.properties)) {
|
|
161
|
+
for (const [propertyName, propertySchema] of Object.entries(schema.properties)) {
|
|
162
|
+
if (isRecord(propertySchema)) {
|
|
163
|
+
pushNestedSchemaStrictnessIssues(issues, propertySchema, `${path}.properties.${propertyName}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (isRecord(schema.items)) {
|
|
168
|
+
pushNestedSchemaStrictnessIssues(issues, schema.items, `${path}.items`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* @name pushBlockedTermIssues
|
|
173
|
+
* @description Recursively reject disabled or paused protocol identifiers from
|
|
174
|
+
* premium manifests. This prevents stale private plugin contracts from
|
|
175
|
+
* re-exposing protocols that OOBE has intentionally removed from SAP MCP.
|
|
176
|
+
*
|
|
177
|
+
* @param issues - Accumulating issue array (mutated in place).
|
|
178
|
+
* @param value - Unknown manifest subtree to scan.
|
|
179
|
+
* @param path - JSON path for error reporting.
|
|
180
|
+
*
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
function pushBlockedTermIssues(issues, value, path) {
|
|
184
|
+
if (typeof value === 'string') {
|
|
185
|
+
if (BLOCKED_PROTOCOL_TERMS.has(value.toLowerCase())) {
|
|
186
|
+
issues.push(issue(path, 'error', `Blocked protocol term "${value}" is not allowed in premium manifests.`));
|
|
187
|
+
}
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
if (Array.isArray(value)) {
|
|
191
|
+
value.forEach((entry, index) => pushBlockedTermIssues(issues, entry, `${path}[${index}]`));
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
if (isRecord(value)) {
|
|
195
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
196
|
+
pushBlockedTermIssues(issues, entry, path === '$' ? key : `${path}.${key}`);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
139
199
|
}
|
|
140
200
|
/* -------------------------------------------------------------------------- */
|
|
141
201
|
/* Capability validation */
|
|
@@ -290,6 +350,7 @@ export function validatePremiumPluginManifest(manifest) {
|
|
|
290
350
|
const candidate = manifest;
|
|
291
351
|
// Reject unknown top-level keys.
|
|
292
352
|
pushUnknownKeyIssues(issues, manifest, PLUGIN_KEYS, '$');
|
|
353
|
+
pushBlockedTermIssues(issues, manifest, '$');
|
|
293
354
|
// Identity and metadata checks.
|
|
294
355
|
if (typeof candidate.id !== 'string' || !PLUGIN_ID_PATTERN.test(candidate.id)) {
|
|
295
356
|
issues.push(issue('id', 'error', 'Plugin id must be lowercase and may contain letters, numbers, dot, or dash.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-validator.js","sourceRoot":"","sources":["../../src/premium/plugin-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-validator.js","sourceRoot":"","sources":["../../src/premium/plugin-validator.ts"],"names":[],"mappings":"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"}
|