@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.
Files changed (703) hide show
  1. package/.env.example +8 -7
  2. package/CHANGELOG.md +732 -1
  3. package/README.md +9 -3
  4. package/USER_DOCS/00_START_HERE.md +51 -4
  5. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  6. package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +32 -3
  7. package/USER_DOCS/04_CLIENT_CONFIGS.md +14 -7
  8. package/USER_DOCS/05_SKILLS_AND_TOOLS.md +68 -8
  9. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +20 -14
  10. package/USER_DOCS/07_SMITHERY_AND_MARKETPLACES.md +7 -0
  11. package/config.example.json +5 -4
  12. package/config.schema.json +9 -4
  13. package/config.secure-example.json +5 -4
  14. package/dist/adapters/index.d.ts +7 -1
  15. package/dist/adapters/index.d.ts.map +1 -1
  16. package/dist/adapters/index.js +7 -1
  17. package/dist/adapters/index.js.map +1 -1
  18. package/dist/adapters/mcp/errors.d.ts +13 -1
  19. package/dist/adapters/mcp/errors.d.ts.map +1 -1
  20. package/dist/adapters/mcp/errors.js +13 -1
  21. package/dist/adapters/mcp/errors.js.map +1 -1
  22. package/dist/adapters/mcp/index.d.ts +7 -1
  23. package/dist/adapters/mcp/index.d.ts.map +1 -1
  24. package/dist/adapters/mcp/index.js +7 -1
  25. package/dist/adapters/mcp/index.js.map +1 -1
  26. package/dist/adapters/mcp/prompt-response.d.ts +13 -1
  27. package/dist/adapters/mcp/prompt-response.d.ts.map +1 -1
  28. package/dist/adapters/mcp/prompt-response.js +13 -1
  29. package/dist/adapters/mcp/prompt-response.js.map +1 -1
  30. package/dist/adapters/mcp/resource-response.d.ts +14 -1
  31. package/dist/adapters/mcp/resource-response.d.ts.map +1 -1
  32. package/dist/adapters/mcp/resource-response.js +14 -1
  33. package/dist/adapters/mcp/resource-response.js.map +1 -1
  34. package/dist/adapters/mcp/sdk-compat.d.ts +11 -3
  35. package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -1
  36. package/dist/adapters/mcp/sdk-compat.js +232 -25
  37. package/dist/adapters/mcp/sdk-compat.js.map +1 -1
  38. package/dist/adapters/mcp/tool-response.d.ts +51 -3
  39. package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
  40. package/dist/adapters/mcp/tool-response.js +48 -3
  41. package/dist/adapters/mcp/tool-response.js.map +1 -1
  42. package/dist/adapters/solana/commitment.d.ts +14 -2
  43. package/dist/adapters/solana/commitment.d.ts.map +1 -1
  44. package/dist/adapters/solana/commitment.js +14 -2
  45. package/dist/adapters/solana/commitment.js.map +1 -1
  46. package/dist/adapters/solana/connection.d.ts +11 -2
  47. package/dist/adapters/solana/connection.d.ts.map +1 -1
  48. package/dist/adapters/solana/connection.js +11 -2
  49. package/dist/adapters/solana/connection.js.map +1 -1
  50. package/dist/adapters/solana/index.d.ts +7 -1
  51. package/dist/adapters/solana/index.d.ts.map +1 -1
  52. package/dist/adapters/solana/index.js +7 -1
  53. package/dist/adapters/solana/index.js.map +1 -1
  54. package/dist/adapters/solana/public-key.d.ts +11 -2
  55. package/dist/adapters/solana/public-key.d.ts.map +1 -1
  56. package/dist/adapters/solana/public-key.js +11 -2
  57. package/dist/adapters/solana/public-key.js.map +1 -1
  58. package/dist/config/defaults.d.ts +5 -0
  59. package/dist/config/defaults.d.ts.map +1 -1
  60. package/dist/config/defaults.js +5 -0
  61. package/dist/config/defaults.js.map +1 -1
  62. package/dist/config/env.d.ts +4 -0
  63. package/dist/config/env.d.ts.map +1 -1
  64. package/dist/config/env.js +15 -10
  65. package/dist/config/env.js.map +1 -1
  66. package/dist/config/index.d.ts +5 -0
  67. package/dist/config/index.d.ts.map +1 -1
  68. package/dist/config/index.js +5 -0
  69. package/dist/config/index.js.map +1 -1
  70. package/dist/config/mcp-client-injection.d.ts.map +1 -1
  71. package/dist/config/mcp-client-injection.js +136 -33
  72. package/dist/config/mcp-client-injection.js.map +1 -1
  73. package/dist/config/paths.d.ts +14 -1
  74. package/dist/config/paths.d.ts.map +1 -1
  75. package/dist/config/paths.js +20 -1
  76. package/dist/config/paths.js.map +1 -1
  77. package/dist/config/profiles.d.ts +3 -10
  78. package/dist/config/profiles.d.ts.map +1 -1
  79. package/dist/config/profiles.js +5 -0
  80. package/dist/config/profiles.js.map +1 -1
  81. package/dist/config/schema.d.ts +5 -0
  82. package/dist/config/schema.d.ts.map +1 -1
  83. package/dist/config/schema.js +5 -0
  84. package/dist/config/schema.js.map +1 -1
  85. package/dist/config/secure-config.d.ts +5 -0
  86. package/dist/config/secure-config.d.ts.map +1 -1
  87. package/dist/config/secure-config.js +5 -0
  88. package/dist/config/secure-config.js.map +1 -1
  89. package/dist/config/setup.d.ts +5 -0
  90. package/dist/config/setup.d.ts.map +1 -1
  91. package/dist/config/setup.js +5 -0
  92. package/dist/config/setup.js.map +1 -1
  93. package/dist/config/wizard.d.ts +6 -0
  94. package/dist/config/wizard.d.ts.map +1 -1
  95. package/dist/config/wizard.js +102 -18
  96. package/dist/config/wizard.js.map +1 -1
  97. package/dist/config-cli.d.ts +3 -13
  98. package/dist/config-cli.d.ts.map +1 -1
  99. package/dist/config-cli.js +14 -1
  100. package/dist/config-cli.js.map +1 -1
  101. package/dist/core/constants.d.ts +38 -6
  102. package/dist/core/constants.d.ts.map +1 -1
  103. package/dist/core/constants.js +49 -6
  104. package/dist/core/constants.js.map +1 -1
  105. package/dist/core/errors.d.ts +5 -0
  106. package/dist/core/errors.d.ts.map +1 -1
  107. package/dist/core/errors.js +5 -0
  108. package/dist/core/errors.js.map +1 -1
  109. package/dist/core/guards.d.ts +5 -0
  110. package/dist/core/guards.d.ts.map +1 -1
  111. package/dist/core/guards.js +3 -1
  112. package/dist/core/guards.js.map +1 -1
  113. package/dist/core/index.d.ts +7 -1
  114. package/dist/core/index.d.ts.map +1 -1
  115. package/dist/core/index.js +7 -1
  116. package/dist/core/index.js.map +1 -1
  117. package/dist/core/logger.js +1 -1
  118. package/dist/core/result.d.ts +77 -9
  119. package/dist/core/result.d.ts.map +1 -1
  120. package/dist/core/result.js +68 -9
  121. package/dist/core/result.js.map +1 -1
  122. package/dist/core/types.d.ts +5 -0
  123. package/dist/core/types.d.ts.map +1 -1
  124. package/dist/core/types.js +3 -4
  125. package/dist/core/types.js.map +1 -1
  126. package/dist/index.d.ts +5 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +5 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/memory/async-processor.d.ts +107 -0
  131. package/dist/memory/async-processor.d.ts.map +1 -0
  132. package/dist/memory/async-processor.js +204 -0
  133. package/dist/memory/async-processor.js.map +1 -0
  134. package/dist/memory/auto-record.d.ts +47 -0
  135. package/dist/memory/auto-record.d.ts.map +1 -0
  136. package/dist/memory/auto-record.js +133 -0
  137. package/dist/memory/auto-record.js.map +1 -0
  138. package/dist/memory/database.d.ts +103 -0
  139. package/dist/memory/database.d.ts.map +1 -0
  140. package/dist/memory/database.js +337 -0
  141. package/dist/memory/database.js.map +1 -0
  142. package/dist/memory/hermes-bridge.d.ts +70 -0
  143. package/dist/memory/hermes-bridge.d.ts.map +1 -0
  144. package/dist/memory/hermes-bridge.js +155 -0
  145. package/dist/memory/hermes-bridge.js.map +1 -0
  146. package/dist/memory/index.d.ts +23 -0
  147. package/dist/memory/index.d.ts.map +1 -0
  148. package/dist/memory/index.js +22 -0
  149. package/dist/memory/index.js.map +1 -0
  150. package/dist/memory/memory-store.d.ts +76 -0
  151. package/dist/memory/memory-store.d.ts.map +1 -0
  152. package/dist/memory/memory-store.js +231 -0
  153. package/dist/memory/memory-store.js.map +1 -0
  154. package/dist/memory/stream-buffer-store.d.ts +69 -0
  155. package/dist/memory/stream-buffer-store.d.ts.map +1 -0
  156. package/dist/memory/stream-buffer-store.js +182 -0
  157. package/dist/memory/stream-buffer-store.js.map +1 -0
  158. package/dist/memory/tool-call-store.d.ts +68 -0
  159. package/dist/memory/tool-call-store.d.ts.map +1 -0
  160. package/dist/memory/tool-call-store.js +189 -0
  161. package/dist/memory/tool-call-store.js.map +1 -0
  162. package/dist/memory/types.d.ts +197 -0
  163. package/dist/memory/types.d.ts.map +1 -0
  164. package/dist/memory/types.js +15 -0
  165. package/dist/memory/types.js.map +1 -0
  166. package/dist/memory/utils.d.ts +30 -0
  167. package/dist/memory/utils.d.ts.map +1 -0
  168. package/dist/memory/utils.js +47 -0
  169. package/dist/memory/utils.js.map +1 -0
  170. package/dist/payments/facilitator-rpc-fallback.d.ts.map +1 -1
  171. package/dist/payments/facilitator-rpc-fallback.js +95 -0
  172. package/dist/payments/facilitator-rpc-fallback.js.map +1 -1
  173. package/dist/payments/hosted-tool-eligibility.d.ts +22 -0
  174. package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -0
  175. package/dist/payments/hosted-tool-eligibility.js +173 -0
  176. package/dist/payments/hosted-tool-eligibility.js.map +1 -0
  177. package/dist/payments/index.d.ts +2 -2
  178. package/dist/payments/index.d.ts.map +1 -1
  179. package/dist/payments/index.js +1 -1
  180. package/dist/payments/index.js.map +1 -1
  181. package/dist/payments/mcp-session-cache.d.ts +35 -0
  182. package/dist/payments/mcp-session-cache.d.ts.map +1 -0
  183. package/dist/payments/mcp-session-cache.js +83 -0
  184. package/dist/payments/mcp-session-cache.js.map +1 -0
  185. package/dist/payments/monetization-gate.d.ts +33 -0
  186. package/dist/payments/monetization-gate.d.ts.map +1 -1
  187. package/dist/payments/monetization-gate.js +124 -12
  188. package/dist/payments/monetization-gate.js.map +1 -1
  189. package/dist/payments/pricing.d.ts +31 -0
  190. package/dist/payments/pricing.d.ts.map +1 -1
  191. package/dist/payments/pricing.js +317 -19
  192. package/dist/payments/pricing.js.map +1 -1
  193. package/dist/payments/usage-ledger.d.ts +36 -2
  194. package/dist/payments/usage-ledger.d.ts.map +1 -1
  195. package/dist/payments/usage-ledger.js +121 -4
  196. package/dist/payments/usage-ledger.js.map +1 -1
  197. package/dist/payments/x402-paid-call.d.ts +121 -0
  198. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  199. package/dist/payments/x402-paid-call.js +428 -1
  200. package/dist/payments/x402-paid-call.js.map +1 -1
  201. package/dist/policy/default-policies.d.ts +18 -2
  202. package/dist/policy/default-policies.d.ts.map +1 -1
  203. package/dist/policy/default-policies.js +18 -2
  204. package/dist/policy/default-policies.js.map +1 -1
  205. package/dist/policy/index.d.ts +6 -3
  206. package/dist/policy/index.d.ts.map +1 -1
  207. package/dist/policy/index.js +6 -3
  208. package/dist/policy/index.js.map +1 -1
  209. package/dist/policy/local-policy-engine.d.ts +71 -13
  210. package/dist/policy/local-policy-engine.d.ts.map +1 -1
  211. package/dist/policy/local-policy-engine.js +33 -11
  212. package/dist/policy/local-policy-engine.js.map +1 -1
  213. package/dist/policy/permission-checks.d.ts +29 -3
  214. package/dist/policy/permission-checks.d.ts.map +1 -1
  215. package/dist/policy/permission-checks.js +29 -3
  216. package/dist/policy/permission-checks.js.map +1 -1
  217. package/dist/policy/policy-engine.d.ts +22 -2
  218. package/dist/policy/policy-engine.d.ts.map +1 -1
  219. package/dist/policy/policy-engine.js +22 -2
  220. package/dist/policy/policy-engine.js.map +1 -1
  221. package/dist/policy/policy-types.d.ts +55 -5
  222. package/dist/policy/policy-types.d.ts.map +1 -1
  223. package/dist/policy/policy-types.js +8 -1
  224. package/dist/policy/policy-types.js.map +1 -1
  225. package/dist/policy/risk-level.d.ts +32 -3
  226. package/dist/policy/risk-level.d.ts.map +1 -1
  227. package/dist/policy/risk-level.js +32 -3
  228. package/dist/policy/risk-level.js.map +1 -1
  229. package/dist/policy/spending-limits.d.ts +29 -3
  230. package/dist/policy/spending-limits.d.ts.map +1 -1
  231. package/dist/policy/spending-limits.js +29 -3
  232. package/dist/policy/spending-limits.js.map +1 -1
  233. package/dist/premium/activation-manager.d.ts +43 -0
  234. package/dist/premium/activation-manager.d.ts.map +1 -0
  235. package/dist/premium/activation-manager.js +131 -0
  236. package/dist/premium/activation-manager.js.map +1 -0
  237. package/dist/premium/builtin-plugins.d.ts +165 -0
  238. package/dist/premium/builtin-plugins.d.ts.map +1 -0
  239. package/dist/premium/builtin-plugins.js +422 -0
  240. package/dist/premium/builtin-plugins.js.map +1 -0
  241. package/dist/premium/event-store.d.ts +61 -0
  242. package/dist/premium/event-store.d.ts.map +1 -0
  243. package/dist/premium/event-store.js +130 -0
  244. package/dist/premium/event-store.js.map +1 -0
  245. package/dist/premium/index.d.ts +54 -0
  246. package/dist/premium/index.d.ts.map +1 -0
  247. package/dist/premium/index.js +54 -0
  248. package/dist/premium/index.js.map +1 -0
  249. package/dist/premium/manifest-builder.d.ts +65 -0
  250. package/dist/premium/manifest-builder.d.ts.map +1 -0
  251. package/dist/premium/manifest-builder.js +182 -0
  252. package/dist/premium/manifest-builder.js.map +1 -0
  253. package/dist/premium/meme-radar-capabilities.d.ts +38 -0
  254. package/dist/premium/meme-radar-capabilities.d.ts.map +1 -0
  255. package/dist/premium/meme-radar-capabilities.js +306 -0
  256. package/dist/premium/meme-radar-capabilities.js.map +1 -0
  257. package/dist/premium/metrics.d.ts +27 -0
  258. package/dist/premium/metrics.d.ts.map +1 -0
  259. package/dist/premium/metrics.js +65 -0
  260. package/dist/premium/metrics.js.map +1 -0
  261. package/dist/premium/plugin-validator.d.ts +39 -0
  262. package/dist/premium/plugin-validator.d.ts.map +1 -0
  263. package/dist/premium/plugin-validator.js +325 -0
  264. package/dist/premium/plugin-validator.js.map +1 -0
  265. package/dist/premium/private-manifest-loader.d.ts +111 -0
  266. package/dist/premium/private-manifest-loader.d.ts.map +1 -0
  267. package/dist/premium/private-manifest-loader.js +285 -0
  268. package/dist/premium/private-manifest-loader.js.map +1 -0
  269. package/dist/premium/provider-bridge.d.ts +133 -0
  270. package/dist/premium/provider-bridge.d.ts.map +1 -0
  271. package/dist/premium/provider-bridge.js +349 -0
  272. package/dist/premium/provider-bridge.js.map +1 -0
  273. package/dist/premium/session-manager.d.ts +125 -0
  274. package/dist/premium/session-manager.d.ts.map +1 -0
  275. package/dist/premium/session-manager.js +337 -0
  276. package/dist/premium/session-manager.js.map +1 -0
  277. package/dist/premium/stream-broker.d.ts +98 -0
  278. package/dist/premium/stream-broker.d.ts.map +1 -0
  279. package/dist/premium/stream-broker.js +199 -0
  280. package/dist/premium/stream-broker.js.map +1 -0
  281. package/dist/premium/tech-fundamentals-capabilities.d.ts +37 -0
  282. package/dist/premium/tech-fundamentals-capabilities.d.ts.map +1 -0
  283. package/dist/premium/tech-fundamentals-capabilities.js +283 -0
  284. package/dist/premium/tech-fundamentals-capabilities.js.map +1 -0
  285. package/dist/premium/trading-capabilities.d.ts +36 -0
  286. package/dist/premium/trading-capabilities.d.ts.map +1 -0
  287. package/dist/premium/trading-capabilities.js +205 -0
  288. package/dist/premium/trading-capabilities.js.map +1 -0
  289. package/dist/premium/types.d.ts +518 -0
  290. package/dist/premium/types.d.ts.map +1 -0
  291. package/dist/premium/types.js +23 -0
  292. package/dist/premium/types.js.map +1 -0
  293. package/dist/premium/webhook-engine.d.ts +138 -0
  294. package/dist/premium/webhook-engine.d.ts.map +1 -0
  295. package/dist/premium/webhook-engine.js +516 -0
  296. package/dist/premium/webhook-engine.js.map +1 -0
  297. package/dist/prompts/context/sap-agent-context.prompt.d.ts +5 -0
  298. package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -1
  299. package/dist/prompts/context/sap-agent-context.prompt.js +20 -16
  300. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  301. package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts +14 -0
  302. package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts.map +1 -0
  303. package/dist/prompts/context/sap-agent-intent-router.prompt.js +155 -0
  304. package/dist/prompts/context/sap-agent-intent-router.prompt.js.map +1 -0
  305. package/dist/prompts/context/sap-agent-start.prompt.js +7 -0
  306. package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
  307. package/dist/prompts/developer/debug-sap-error.prompt.d.ts +5 -0
  308. package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -1
  309. package/dist/prompts/developer/debug-sap-error.prompt.js +3 -4
  310. package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -1
  311. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +5 -0
  312. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -1
  313. package/dist/prompts/developer/generate-sap-integration.prompt.js +3 -4
  314. package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
  315. package/dist/prompts/developer/index.d.ts +4 -1
  316. package/dist/prompts/developer/index.d.ts.map +1 -1
  317. package/dist/prompts/developer/index.js +4 -1
  318. package/dist/prompts/developer/index.js.map +1 -1
  319. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +5 -0
  320. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -1
  321. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +3 -4
  322. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -1
  323. package/dist/prompts/execution-proof/index.d.ts +4 -1
  324. package/dist/prompts/execution-proof/index.d.ts.map +1 -1
  325. package/dist/prompts/execution-proof/index.js +4 -1
  326. package/dist/prompts/execution-proof/index.js.map +1 -1
  327. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +5 -0
  328. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -1
  329. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +3 -4
  330. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -1
  331. package/dist/prompts/index.d.ts +4 -1
  332. package/dist/prompts/index.d.ts.map +1 -1
  333. package/dist/prompts/index.js +4 -1
  334. package/dist/prompts/index.js.map +1 -1
  335. package/dist/prompts/payments/create-paid-api.prompt.d.ts +5 -0
  336. package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -1
  337. package/dist/prompts/payments/create-paid-api.prompt.js +3 -4
  338. package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -1
  339. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +5 -0
  340. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -1
  341. package/dist/prompts/payments/explain-x402-settlement.prompt.js +16 -14
  342. package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -1
  343. package/dist/prompts/payments/index.d.ts +4 -1
  344. package/dist/prompts/payments/index.d.ts.map +1 -1
  345. package/dist/prompts/payments/index.js +4 -1
  346. package/dist/prompts/payments/index.js.map +1 -1
  347. package/dist/prompts/register-prompts.d.ts +18 -2
  348. package/dist/prompts/register-prompts.d.ts.map +1 -1
  349. package/dist/prompts/register-prompts.js +21 -3
  350. package/dist/prompts/register-prompts.js.map +1 -1
  351. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +5 -0
  352. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -1
  353. package/dist/prompts/registry/analyze-sap-agent.prompt.js +3 -4
  354. package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -1
  355. package/dist/prompts/registry/index.d.ts +4 -1
  356. package/dist/prompts/registry/index.d.ts.map +1 -1
  357. package/dist/prompts/registry/index.js +4 -1
  358. package/dist/prompts/registry/index.js.map +1 -1
  359. package/dist/prompts/registry/register-sap-agent.prompt.d.ts +5 -0
  360. package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -1
  361. package/dist/prompts/registry/register-sap-agent.prompt.js +22 -23
  362. package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
  363. package/dist/remote/premium-memory.d.ts +90 -0
  364. package/dist/remote/premium-memory.d.ts.map +1 -0
  365. package/dist/remote/premium-memory.js +161 -0
  366. package/dist/remote/premium-memory.js.map +1 -0
  367. package/dist/remote/premium-routes.d.ts +99 -0
  368. package/dist/remote/premium-routes.d.ts.map +1 -0
  369. package/dist/remote/premium-routes.js +347 -0
  370. package/dist/remote/premium-routes.js.map +1 -0
  371. package/dist/remote/public-home/sections.d.ts.map +1 -1
  372. package/dist/remote/public-home/sections.js +23 -4
  373. package/dist/remote/public-home/sections.js.map +1 -1
  374. package/dist/remote/public-home/types.d.ts +9 -0
  375. package/dist/remote/public-home/types.d.ts.map +1 -1
  376. package/dist/remote/server.d.ts +20 -0
  377. package/dist/remote/server.d.ts.map +1 -1
  378. package/dist/remote/server.js +370 -9
  379. package/dist/remote/server.js.map +1 -1
  380. package/dist/remote/tx-relay.d.ts +42 -0
  381. package/dist/remote/tx-relay.d.ts.map +1 -0
  382. package/dist/remote/tx-relay.js +118 -0
  383. package/dist/remote/tx-relay.js.map +1 -0
  384. package/dist/resources/current/sap-current-config.resource.d.ts +5 -0
  385. package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
  386. package/dist/resources/current/sap-current-config.resource.js +2 -5
  387. package/dist/resources/current/sap-current-config.resource.js.map +1 -1
  388. package/dist/resources/execution-proof/index.d.ts +5 -0
  389. package/dist/resources/execution-proof/index.d.ts.map +1 -1
  390. package/dist/resources/execution-proof/index.js +5 -0
  391. package/dist/resources/execution-proof/index.js.map +1 -1
  392. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +5 -0
  393. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -1
  394. package/dist/resources/execution-proof/sap-execution-record.resource.js +3 -4
  395. package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -1
  396. package/dist/resources/index.d.ts +5 -0
  397. package/dist/resources/index.d.ts.map +1 -1
  398. package/dist/resources/index.js +5 -0
  399. package/dist/resources/index.js.map +1 -1
  400. package/dist/resources/memory/index.d.ts +5 -0
  401. package/dist/resources/memory/index.d.ts.map +1 -1
  402. package/dist/resources/memory/index.js +5 -0
  403. package/dist/resources/memory/index.js.map +1 -1
  404. package/dist/resources/memory/sap-memory.resource.d.ts +5 -0
  405. package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -1
  406. package/dist/resources/memory/sap-memory.resource.js +3 -4
  407. package/dist/resources/memory/sap-memory.resource.js.map +1 -1
  408. package/dist/resources/profile/sap-active-profile.resource.d.ts +5 -0
  409. package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -1
  410. package/dist/resources/profile/sap-active-profile.resource.js +2 -5
  411. package/dist/resources/profile/sap-active-profile.resource.js.map +1 -1
  412. package/dist/resources/register-resources.d.ts +5 -0
  413. package/dist/resources/register-resources.d.ts.map +1 -1
  414. package/dist/resources/register-resources.js +3 -1
  415. package/dist/resources/register-resources.js.map +1 -1
  416. package/dist/resources/registry/index.d.ts +5 -0
  417. package/dist/resources/registry/index.d.ts.map +1 -1
  418. package/dist/resources/registry/index.js +5 -0
  419. package/dist/resources/registry/index.js.map +1 -1
  420. package/dist/resources/registry/sap-agent.resource.d.ts +5 -0
  421. package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -1
  422. package/dist/resources/registry/sap-agent.resource.js +3 -4
  423. package/dist/resources/registry/sap-agent.resource.js.map +1 -1
  424. package/dist/resources/registry/sap-global-registry.resource.d.ts +18 -4
  425. package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -1
  426. package/dist/resources/registry/sap-global-registry.resource.js +18 -4
  427. package/dist/resources/registry/sap-global-registry.resource.js.map +1 -1
  428. package/dist/resources/reputation/index.d.ts +4 -1
  429. package/dist/resources/reputation/index.d.ts.map +1 -1
  430. package/dist/resources/reputation/index.js +4 -1
  431. package/dist/resources/reputation/index.js.map +1 -1
  432. package/dist/resources/reputation/sap-reputation.resource.d.ts +18 -4
  433. package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -1
  434. package/dist/resources/reputation/sap-reputation.resource.js +18 -4
  435. package/dist/resources/reputation/sap-reputation.resource.js.map +1 -1
  436. package/dist/resources/tool-schema/index.d.ts +4 -1
  437. package/dist/resources/tool-schema/index.d.ts.map +1 -1
  438. package/dist/resources/tool-schema/index.js +4 -1
  439. package/dist/resources/tool-schema/index.js.map +1 -1
  440. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +18 -4
  441. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -1
  442. package/dist/resources/tool-schema/sap-tool-schema.resource.js +18 -4
  443. package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -1
  444. package/dist/sap/index.d.ts +7 -1
  445. package/dist/sap/index.d.ts.map +1 -1
  446. package/dist/sap/index.js +7 -1
  447. package/dist/sap/index.js.map +1 -1
  448. package/dist/sap/sap-client-manager.d.ts +80 -13
  449. package/dist/sap/sap-client-manager.d.ts.map +1 -1
  450. package/dist/sap/sap-client-manager.js +80 -13
  451. package/dist/sap/sap-client-manager.js.map +1 -1
  452. package/dist/sap/sap-errors.d.ts +22 -3
  453. package/dist/sap/sap-errors.d.ts.map +1 -1
  454. package/dist/sap/sap-errors.js +22 -3
  455. package/dist/sap/sap-errors.js.map +1 -1
  456. package/dist/sap/sap-types.d.ts +75 -6
  457. package/dist/sap/sap-types.d.ts.map +1 -1
  458. package/dist/sap/sap-types.js +11 -1
  459. package/dist/sap/sap-types.js.map +1 -1
  460. package/dist/schemas/common.schema.d.ts +45 -8
  461. package/dist/schemas/common.schema.d.ts.map +1 -1
  462. package/dist/schemas/common.schema.js +45 -8
  463. package/dist/schemas/common.schema.js.map +1 -1
  464. package/dist/schemas/developer.schema.d.ts +22 -3
  465. package/dist/schemas/developer.schema.d.ts.map +1 -1
  466. package/dist/schemas/developer.schema.js +22 -3
  467. package/dist/schemas/developer.schema.js.map +1 -1
  468. package/dist/schemas/execution-proof.schema.d.ts +29 -4
  469. package/dist/schemas/execution-proof.schema.d.ts.map +1 -1
  470. package/dist/schemas/execution-proof.schema.js +29 -4
  471. package/dist/schemas/execution-proof.schema.js.map +1 -1
  472. package/dist/schemas/identity.schema.d.ts +23 -3
  473. package/dist/schemas/identity.schema.d.ts.map +1 -1
  474. package/dist/schemas/identity.schema.js +23 -3
  475. package/dist/schemas/identity.schema.js.map +1 -1
  476. package/dist/schemas/index.d.ts +11 -1
  477. package/dist/schemas/index.d.ts.map +1 -1
  478. package/dist/schemas/index.js +11 -1
  479. package/dist/schemas/index.js.map +1 -1
  480. package/dist/schemas/memory.schema.d.ts +23 -3
  481. package/dist/schemas/memory.schema.d.ts.map +1 -1
  482. package/dist/schemas/memory.schema.js +23 -3
  483. package/dist/schemas/memory.schema.js.map +1 -1
  484. package/dist/schemas/payments.schema.d.ts +24 -3
  485. package/dist/schemas/payments.schema.d.ts.map +1 -1
  486. package/dist/schemas/payments.schema.js +24 -3
  487. package/dist/schemas/payments.schema.js.map +1 -1
  488. package/dist/schemas/registry.schema.d.ts +38 -6
  489. package/dist/schemas/registry.schema.d.ts.map +1 -1
  490. package/dist/schemas/registry.schema.js +36 -4
  491. package/dist/schemas/registry.schema.js.map +1 -1
  492. package/dist/schemas/reputation.schema.d.ts +22 -3
  493. package/dist/schemas/reputation.schema.d.ts.map +1 -1
  494. package/dist/schemas/reputation.schema.js +22 -3
  495. package/dist/schemas/reputation.schema.js.map +1 -1
  496. package/dist/schemas/settlement.schema.d.ts +31 -4
  497. package/dist/schemas/settlement.schema.d.ts.map +1 -1
  498. package/dist/schemas/settlement.schema.js +31 -4
  499. package/dist/schemas/settlement.schema.js.map +1 -1
  500. package/dist/schemas/tool-schema.schema.d.ts +29 -3
  501. package/dist/schemas/tool-schema.schema.d.ts.map +1 -1
  502. package/dist/schemas/tool-schema.schema.js +29 -3
  503. package/dist/schemas/tool-schema.schema.js.map +1 -1
  504. package/dist/schemas/transaction.schema.d.ts +23 -3
  505. package/dist/schemas/transaction.schema.d.ts.map +1 -1
  506. package/dist/schemas/transaction.schema.js +23 -3
  507. package/dist/schemas/transaction.schema.js.map +1 -1
  508. package/dist/security/approval-required.d.ts +19 -2
  509. package/dist/security/approval-required.d.ts.map +1 -1
  510. package/dist/security/approval-required.js +19 -2
  511. package/dist/security/approval-required.js.map +1 -1
  512. package/dist/security/index.d.ts +7 -1
  513. package/dist/security/index.d.ts.map +1 -1
  514. package/dist/security/index.js +7 -1
  515. package/dist/security/index.js.map +1 -1
  516. package/dist/security/private-key-guard.d.ts +18 -2
  517. package/dist/security/private-key-guard.d.ts.map +1 -1
  518. package/dist/security/private-key-guard.js +19 -2
  519. package/dist/security/private-key-guard.js.map +1 -1
  520. package/dist/security/prompt-injection-notes.d.ts +10 -1
  521. package/dist/security/prompt-injection-notes.d.ts.map +1 -1
  522. package/dist/security/prompt-injection-notes.js +10 -1
  523. package/dist/security/prompt-injection-notes.js.map +1 -1
  524. package/dist/security/tool-permissions.d.ts.map +1 -1
  525. package/dist/security/tool-permissions.js +12 -0
  526. package/dist/security/tool-permissions.js.map +1 -1
  527. package/dist/security/unsafe-action-guard.d.ts +36 -10
  528. package/dist/security/unsafe-action-guard.d.ts.map +1 -1
  529. package/dist/security/unsafe-action-guard.js +67 -15
  530. package/dist/security/unsafe-action-guard.js.map +1 -1
  531. package/dist/server/create-server.d.ts +18 -3
  532. package/dist/server/create-server.d.ts.map +1 -1
  533. package/dist/server/create-server.js +20 -4
  534. package/dist/server/create-server.js.map +1 -1
  535. package/dist/server/index.d.ts +6 -1
  536. package/dist/server/index.d.ts.map +1 -1
  537. package/dist/server/index.js +6 -1
  538. package/dist/server/index.js.map +1 -1
  539. package/dist/server/register-capabilities.d.ts +17 -2
  540. package/dist/server/register-capabilities.d.ts.map +1 -1
  541. package/dist/server/register-capabilities.js +17 -2
  542. package/dist/server/register-capabilities.js.map +1 -1
  543. package/dist/server/server-metadata.d.ts +35 -1
  544. package/dist/server/server-metadata.d.ts.map +1 -1
  545. package/dist/server/server-metadata.js +36 -2
  546. package/dist/server/server-metadata.js.map +1 -1
  547. package/dist/session/agent-session.d.ts +35 -4
  548. package/dist/session/agent-session.d.ts.map +1 -1
  549. package/dist/session/agent-session.js +35 -4
  550. package/dist/session/agent-session.js.map +1 -1
  551. package/dist/session/delegated-session.d.ts +31 -3
  552. package/dist/session/delegated-session.d.ts.map +1 -1
  553. package/dist/session/delegated-session.js +31 -3
  554. package/dist/session/delegated-session.js.map +1 -1
  555. package/dist/session/index.d.ts +7 -1
  556. package/dist/session/index.d.ts.map +1 -1
  557. package/dist/session/index.js +7 -1
  558. package/dist/session/index.js.map +1 -1
  559. package/dist/session/redis-session-store.d.ts +94 -21
  560. package/dist/session/redis-session-store.d.ts.map +1 -1
  561. package/dist/session/redis-session-store.js +87 -20
  562. package/dist/session/redis-session-store.js.map +1 -1
  563. package/dist/session/session-limits.d.ts +34 -4
  564. package/dist/session/session-limits.d.ts.map +1 -1
  565. package/dist/session/session-limits.js +34 -4
  566. package/dist/session/session-limits.js.map +1 -1
  567. package/dist/session/session-permissions.d.ts +57 -7
  568. package/dist/session/session-permissions.d.ts.map +1 -1
  569. package/dist/session/session-permissions.js +57 -7
  570. package/dist/session/session-permissions.js.map +1 -1
  571. package/dist/session/session-store.d.ts +9 -1
  572. package/dist/session/session-store.d.ts.map +1 -1
  573. package/dist/session/session-store.js +18 -3
  574. package/dist/session/session-store.js.map +1 -1
  575. package/dist/session/session-types.d.ts +33 -4
  576. package/dist/session/session-types.d.ts.map +1 -1
  577. package/dist/session/session-types.js +9 -1
  578. package/dist/session/session-types.js.map +1 -1
  579. package/dist/signer/index.d.ts +7 -1
  580. package/dist/signer/index.d.ts.map +1 -1
  581. package/dist/signer/index.js +7 -1
  582. package/dist/signer/index.js.map +1 -1
  583. package/dist/signer/load-keypair.d.ts +25 -4
  584. package/dist/signer/load-keypair.d.ts.map +1 -1
  585. package/dist/signer/load-keypair.js +25 -4
  586. package/dist/signer/load-keypair.js.map +1 -1
  587. package/dist/signer/local-keypair-signer.d.ts +19 -3
  588. package/dist/signer/local-keypair-signer.d.ts.map +1 -1
  589. package/dist/signer/local-keypair-signer.js +24 -4
  590. package/dist/signer/local-keypair-signer.js.map +1 -1
  591. package/dist/signer/signer-resolver.d.ts +19 -2
  592. package/dist/signer/signer-resolver.d.ts.map +1 -1
  593. package/dist/signer/signer-resolver.js +26 -3
  594. package/dist/signer/signer-resolver.js.map +1 -1
  595. package/dist/signer/signer-types.d.ts +47 -5
  596. package/dist/signer/signer-types.d.ts.map +1 -1
  597. package/dist/signer/signer-types.js +13 -1
  598. package/dist/signer/signer-types.js.map +1 -1
  599. package/dist/strategies/strategy-store.d.ts +82 -0
  600. package/dist/strategies/strategy-store.d.ts.map +1 -0
  601. package/dist/strategies/strategy-store.js +165 -0
  602. package/dist/strategies/strategy-store.js.map +1 -0
  603. package/dist/tools/agent-start-tool.d.ts.map +1 -1
  604. package/dist/tools/agent-start-tool.js +481 -5
  605. package/dist/tools/agent-start-tool.js.map +1 -1
  606. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  607. package/dist/tools/client-sdk-tools.js +32 -7
  608. package/dist/tools/client-sdk-tools.js.map +1 -1
  609. package/dist/tools/estimate-tool-cost.d.ts +13 -0
  610. package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
  611. package/dist/tools/estimate-tool-cost.js +139 -0
  612. package/dist/tools/estimate-tool-cost.js.map +1 -0
  613. package/dist/tools/index.d.ts +8 -0
  614. package/dist/tools/index.d.ts.map +1 -1
  615. package/dist/tools/index.js +11 -0
  616. package/dist/tools/index.js.map +1 -1
  617. package/dist/tools/magicblock-tools.d.ts +31 -6
  618. package/dist/tools/magicblock-tools.d.ts.map +1 -1
  619. package/dist/tools/magicblock-tools.js +178 -53
  620. package/dist/tools/magicblock-tools.js.map +1 -1
  621. package/dist/tools/memory-tools.d.ts +26 -0
  622. package/dist/tools/memory-tools.d.ts.map +1 -0
  623. package/dist/tools/memory-tools.js +533 -0
  624. package/dist/tools/memory-tools.js.map +1 -0
  625. package/dist/tools/perp-tools.d.ts +39 -0
  626. package/dist/tools/perp-tools.d.ts.map +1 -0
  627. package/dist/tools/perp-tools.js +1110 -0
  628. package/dist/tools/perp-tools.js.map +1 -0
  629. package/dist/tools/premium-tools.d.ts +8 -0
  630. package/dist/tools/premium-tools.d.ts.map +1 -0
  631. package/dist/tools/premium-tools.js +1102 -0
  632. package/dist/tools/premium-tools.js.map +1 -0
  633. package/dist/tools/profile-tools.d.ts.map +1 -1
  634. package/dist/tools/profile-tools.js +18 -1
  635. package/dist/tools/profile-tools.js.map +1 -1
  636. package/dist/tools/quick-context-tool.d.ts +16 -0
  637. package/dist/tools/quick-context-tool.d.ts.map +1 -0
  638. package/dist/tools/quick-context-tool.js +304 -0
  639. package/dist/tools/quick-context-tool.js.map +1 -0
  640. package/dist/tools/register-tools.d.ts.map +1 -1
  641. package/dist/tools/register-tools.js +17 -0
  642. package/dist/tools/register-tools.js.map +1 -1
  643. package/dist/tools/sap-sdk-tools.d.ts +420 -1
  644. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  645. package/dist/tools/sap-sdk-tools.js +1548 -127
  646. package/dist/tools/sap-sdk-tools.js.map +1 -1
  647. package/dist/tools/sap-sns-tools.d.ts +2 -2
  648. package/dist/tools/sap-sns-tools.d.ts.map +1 -1
  649. package/dist/tools/sap-sns-tools.js +12 -8
  650. package/dist/tools/sap-sns-tools.js.map +1 -1
  651. package/dist/tools/skills-tools.d.ts +16 -0
  652. package/dist/tools/skills-tools.d.ts.map +1 -1
  653. package/dist/tools/skills-tools.js +282 -5
  654. package/dist/tools/skills-tools.js.map +1 -1
  655. package/dist/tools/tool-aliases.d.ts.map +1 -1
  656. package/dist/tools/tool-aliases.js +7 -0
  657. package/dist/tools/tool-aliases.js.map +1 -1
  658. package/dist/tools/transaction-tools.d.ts +135 -0
  659. package/dist/tools/transaction-tools.d.ts.map +1 -1
  660. package/dist/tools/transaction-tools.js +515 -16
  661. package/dist/tools/transaction-tools.js.map +1 -1
  662. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  663. package/dist/tools/x402-paid-call-tool.js +756 -23
  664. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  665. package/dist/transports/index.d.ts +6 -1
  666. package/dist/transports/index.d.ts.map +1 -1
  667. package/dist/transports/index.js +6 -1
  668. package/dist/transports/index.js.map +1 -1
  669. package/dist/transports/stdio.d.ts +17 -5
  670. package/dist/transports/stdio.d.ts.map +1 -1
  671. package/dist/transports/stdio.js +17 -5
  672. package/dist/transports/stdio.js.map +1 -1
  673. package/dist/tui/wizard-save.d.ts +88 -8
  674. package/dist/tui/wizard-save.d.ts.map +1 -1
  675. package/dist/tui/wizard-save.js +77 -8
  676. package/dist/tui/wizard-save.js.map +1 -1
  677. package/dist/wizard-core/desktop-flow.d.ts.map +1 -1
  678. package/dist/wizard-core/desktop-flow.js +4 -2
  679. package/dist/wizard-core/desktop-flow.js.map +1 -1
  680. package/docs/03_CONFIGURATION_AND_WIZARD.md +5 -3
  681. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +82 -4
  682. package/docs/07_ENDPOINTS_AND_CLIENTS.md +7 -3
  683. package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +21 -3
  684. package/docs/14_DESKTOP_WIZARD_RELEASE.md +8 -6
  685. package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +304 -0
  686. package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
  687. package/docs/BRANCH_AND_CI.md +67 -0
  688. package/docs/README.md +19 -2
  689. package/docs/magicblock-tools.md +70 -29
  690. package/package.json +10 -6
  691. package/server.json +3 -3
  692. package/skills/README.md +12 -2
  693. package/skills/sap-agent-registry/SKILL.md +99 -4
  694. package/skills/sap-defi/SKILL.md +8 -4
  695. package/skills/sap-discovery-indexing/SKILL.md +26 -4
  696. package/skills/sap-escrow-settlement/SKILL.md +22 -4
  697. package/skills/sap-mcp/SKILL.md +140 -22
  698. package/skills/sap-mcp/TOOL_REFERENCE.md +47 -7
  699. package/skills/sap-nft-metaplex/SKILL.md +22 -0
  700. package/skills/sap-operations/SKILL.md +32 -3
  701. package/skills/sap-payments-x402/SKILL.md +85 -8
  702. package/skills/sap-sns/SKILL.md +32 -10
  703. package/smithery.config.schema.json +7 -0
@@ -0,0 +1,165 @@
1
+ /**
2
+ * @name premium/builtin-plugins
3
+ * @description Built-in premium plugin definitions and discovery helpers.
4
+ *
5
+ * Defines the core built-in public premium plugin shipped with SAP MCP:
6
+ * 1. `sap-premium-market-data` — Jupiter quotes, Pyth price ticks, threshold webhooks.
7
+ *
8
+ * Additional built-in plugin arrays are imported and merged by `listPremiumPlugins()`:
9
+ * - `TRADING_PREMIUM_PLUGINS` — Trading streams.
10
+ * - `MEME_RADAR_PREMIUM_PLUGINS` — Meme token listing, sentiment, rugpull, volume.
11
+ * - `TECH_FUNDAMENTALS_PREMIUM_PLUGINS` — GitHub activity, TVL changes, tokenomics analysis.
12
+ *
13
+ * Also provides discovery helpers (`listPremiumPlugins`, `listPremiumCapabilities`,
14
+ * `findPremiumCapability`) that merge built-in plugins with privately loaded
15
+ * manifests, and status helpers (`publicPremiumProviderStatus`,
16
+ * `premiumPrivatePluginSupport`) used by the remote server and MCP tools.
17
+ *
18
+ * @flow
19
+ * 1. MCP tool `sap_premium_plugin_catalog` → `listPremiumPlugins()` →
20
+ * merges built-in + private manifests, filters by visibility, returns clones.
21
+ * 2. MCP tool `sap_premium_create_session_plan` → `findPremiumCapability()` →
22
+ * resolves a specific plugin/capability pair for session planning.
23
+ * 3. Remote server (`remote/server.ts`) → `publicPremiumProviderStatus()` →
24
+ * exposes which provider env vars are configured.
25
+ * 4. Remote server → `premiumPrivatePluginSupport()` → reports private plugin
26
+ * loader configuration and safety contract.
27
+ *
28
+ * @module premium/builtin-plugins
29
+ */
30
+ import type { PremiumCapabilityDefinition, PremiumCapabilityType, PremiumPluginManifest } from './types.js';
31
+ /**
32
+ * @name BUILTIN_PREMIUM_PLUGINS
33
+ * @description The built-in public premium plugins shipped with SAP MCP.
34
+ *
35
+ * These are always available (no env vars needed for discovery) and serve as
36
+ * the reference implementations for the premium plugin manifest format.
37
+ * Additional plugin arrays (`TRADING_PREMIUM_PLUGINS`,
38
+ * `MEME_RADAR_PREMIUM_PLUGINS`, `TECH_FUNDAMENTALS_PREMIUM_PLUGINS`) are merged
39
+ * in `listPremiumPlugins()`.
40
+ *
41
+ * @type {PremiumPluginManifest[]}
42
+ *
43
+ * @usedBy `listPremiumPlugins()` as the base catalog merged with private manifests.
44
+ */
45
+ export declare const BUILTIN_PREMIUM_PLUGINS: PremiumPluginManifest[];
46
+ /**
47
+ * @name PremiumPluginListOptions
48
+ * @description Options controlling which plugins are included in discovery.
49
+ *
50
+ * @property includePrivate - When true, `private` and `enterprise` visibility
51
+ * plugins are included. Defaults to the value of
52
+ * `SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY` env var.
53
+ */
54
+ export interface PremiumPluginListOptions {
55
+ includePrivate?: boolean;
56
+ }
57
+ /**
58
+ * @name listPremiumPlugins
59
+ * @description Return all discoverable premium plugins (built-in + private).
60
+ *
61
+ * Merges `BUILTIN_PREMIUM_PLUGINS` with privately loaded manifests, filters by
62
+ * visibility (public always; private/enterprise only when `includePrivate` is
63
+ * true or `SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY=true`), and returns deep
64
+ * clones to prevent external mutation.
65
+ *
66
+ * @param options - Discovery options (see `PremiumPluginListOptions`).
67
+ * @returns Array of `PremiumPluginManifest` clones.
68
+ *
69
+ * @usedBy
70
+ * - `premium-tools.ts` → MCP tool `sap_premium_plugin_catalog`.
71
+ * - `remote/server.ts` → landing page plugin listing.
72
+ * - `listPremiumCapabilities`, `findPremiumCapability` (internally).
73
+ */
74
+ export declare function listPremiumPlugins(options?: PremiumPluginListOptions): PremiumPluginManifest[];
75
+ /**
76
+ * @name listPremiumCapabilities
77
+ * @description Return all capabilities across all discoverable plugins,
78
+ * optionally filtered by capability type.
79
+ *
80
+ * @param type - Optional filter: `stream`, `webhook`, or `tool`.
81
+ * @param options - Discovery options (see `PremiumPluginListOptions`).
82
+ * @returns Array of `PremiumCapabilityDefinition` clones (shallow-copied).
83
+ *
84
+ * @usedBy `publicPremiumProviderStatus` (internally), MCP tools.
85
+ */
86
+ export declare function listPremiumCapabilities(type?: PremiumCapabilityType, options?: PremiumPluginListOptions): PremiumCapabilityDefinition[];
87
+ /**
88
+ * @name findPremiumCapability
89
+ * @description Resolve a specific plugin/capability pair by id.
90
+ *
91
+ * @param pluginId - The plugin id to search for.
92
+ * @param capabilityId - The capability id within that plugin.
93
+ * @param type - Optional capability type filter.
94
+ * @param options - Discovery options (see `PremiumPluginListOptions`).
95
+ * @returns `{ plugin, capability }` if found, otherwise `null`.
96
+ *
97
+ * @usedBy `session-manager.ts:createPremiumSessionPlan` → resolves the
98
+ * capability for pricing bounds and provider env checks.
99
+ */
100
+ export declare function findPremiumCapability(pluginId: string, capabilityId: string, type?: PremiumCapabilityType, options?: PremiumPluginListOptions): {
101
+ plugin: PremiumPluginManifest;
102
+ capability: PremiumCapabilityDefinition;
103
+ } | null;
104
+ /**
105
+ * @name publicPremiumProviderStatus
106
+ * @description Return a map of all provider env var names to their current
107
+ * readiness state (true/false based on `process.env`).
108
+ *
109
+ * Used by the remote server to expose which premium providers are configured
110
+ * without revealing secret values.
111
+ *
112
+ * @returns Record keyed by env var name, value is boolean readiness.
113
+ *
114
+ * @usedBy `remote/server.ts` → provider status endpoint.
115
+ */
116
+ export declare function publicPremiumProviderStatus(): Record<string, boolean>;
117
+ /**
118
+ * @name premiumProviderLoaderStatus
119
+ * @description Return diagnostic info about the private plugin loader configuration.
120
+ *
121
+ * Reports whether private plugins are enabled, whether the plugin directory is
122
+ * configured and exists, and how many manifests were loaded/rejected. This
123
+ * complements `publicPremiumProviderStatus()` (which only checks env var
124
+ * readiness) by exposing the loader state that determines whether provider
125
+ * adapters can actually be loaded.
126
+ *
127
+ * @returns Object with `enabled`, `pluginDirConfigured`, `pluginDirExists`,
128
+ * `loadedManifestCount`, and `rejectedManifestCount` fields.
129
+ *
130
+ * @usedBy `remote/server.ts` → provider status endpoint, `premium-tools.ts`.
131
+ */
132
+ export declare function premiumProviderLoaderStatus(): {
133
+ enabled: boolean;
134
+ pluginDirConfigured: boolean;
135
+ pluginDirExists: boolean;
136
+ loadedManifestCount: number;
137
+ rejectedManifestCount: number;
138
+ };
139
+ /**
140
+ * @name premiumPrivatePluginSupport
141
+ * @description Return a diagnostic object describing the private plugin
142
+ * loader configuration, loaded/rejected manifest counts, and the safety contract.
143
+ *
144
+ * Used by the remote server and MCP tools to report private plugin support
145
+ * status without exposing any enterprise code or secrets.
146
+ *
147
+ * @returns Object with `enabled`, `exposePrivateDiscovery`, `loadedManifestCount`,
148
+ * `rejectedManifestCount`, `loaderEnv`, `contract`, and `safety` fields.
149
+ *
150
+ * @usedBy `remote/server.ts`, `premium-tools.ts`.
151
+ */
152
+ export declare function premiumPrivatePluginSupport(): Record<string, unknown>;
153
+ /**
154
+ * @name premiumAddressField
155
+ * @description Re-exported reusable Solana address JSON Schema fragment.
156
+ *
157
+ * Used by MCP tool definitions that accept a Solana public key argument.
158
+ */
159
+ export declare const premiumAddressField: {
160
+ type: string;
161
+ minLength: number;
162
+ maxLength: number;
163
+ description: string;
164
+ };
165
+ //# sourceMappingURL=builtin-plugins.d.ts.map
@@ -0,0 +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;AAiP5G;;;;;;;;;;;;;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,CAYlG;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;;;;;;;;;;;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"}
@@ -0,0 +1,422 @@
1
+ /**
2
+ * @name premium/builtin-plugins
3
+ * @description Built-in premium plugin definitions and discovery helpers.
4
+ *
5
+ * Defines the core built-in public premium plugin shipped with SAP MCP:
6
+ * 1. `sap-premium-market-data` — Jupiter quotes, Pyth price ticks, threshold webhooks.
7
+ *
8
+ * Additional built-in plugin arrays are imported and merged by `listPremiumPlugins()`:
9
+ * - `TRADING_PREMIUM_PLUGINS` — Trading streams.
10
+ * - `MEME_RADAR_PREMIUM_PLUGINS` — Meme token listing, sentiment, rugpull, volume.
11
+ * - `TECH_FUNDAMENTALS_PREMIUM_PLUGINS` — GitHub activity, TVL changes, tokenomics analysis.
12
+ *
13
+ * Also provides discovery helpers (`listPremiumPlugins`, `listPremiumCapabilities`,
14
+ * `findPremiumCapability`) that merge built-in plugins with privately loaded
15
+ * manifests, and status helpers (`publicPremiumProviderStatus`,
16
+ * `premiumPrivatePluginSupport`) used by the remote server and MCP tools.
17
+ *
18
+ * @flow
19
+ * 1. MCP tool `sap_premium_plugin_catalog` → `listPremiumPlugins()` →
20
+ * merges built-in + private manifests, filters by visibility, returns clones.
21
+ * 2. MCP tool `sap_premium_create_session_plan` → `findPremiumCapability()` →
22
+ * resolves a specific plugin/capability pair for session planning.
23
+ * 3. Remote server (`remote/server.ts`) → `publicPremiumProviderStatus()` →
24
+ * exposes which provider env vars are configured.
25
+ * 4. Remote server → `premiumPrivatePluginSupport()` → reports private plugin
26
+ * loader configuration and safety contract.
27
+ *
28
+ * @module premium/builtin-plugins
29
+ */
30
+ import { existsSync } from 'node:fs';
31
+ import { resolve } from 'node:path';
32
+ import { loadPrivatePremiumPluginManifests, loadPrivatePremiumPluginReport, premiumDiscoveryIncludesPrivate, } from './private-manifest-loader.js';
33
+ import { TRADING_PREMIUM_PLUGINS } from './trading-capabilities.js';
34
+ import { MEME_RADAR_PREMIUM_PLUGINS } from './meme-radar-capabilities.js';
35
+ import { TECH_FUNDAMENTALS_PREMIUM_PLUGINS } from './tech-fundamentals-capabilities.js';
36
+ /* -------------------------------------------------------------------------- */
37
+ /* Shared JSON Schema fragments */
38
+ /* -------------------------------------------------------------------------- */
39
+ /**
40
+ * @description Reusable Solana address field schema. Enforces base58 length
41
+ * bounds and explicitly forbids keypair bytes. Exported as `premiumAddressField`
42
+ * for reuse by MCP tool definitions.
43
+ */
44
+ const addressField = {
45
+ type: 'string',
46
+ minLength: 32,
47
+ maxLength: 64,
48
+ description: 'Solana wallet, mint, program, or account public key in base58 form. Do not pass keypair bytes.',
49
+ };
50
+ /**
51
+ * @description Input schema for stream capabilities. Requires a stable
52
+ * `subscriptionKey` for de-duplication and allows free-form `filters`.
53
+ */
54
+ const streamInputSchema = {
55
+ type: 'object',
56
+ required: ['subscriptionKey'],
57
+ properties: {
58
+ subscriptionKey: {
59
+ type: 'string',
60
+ minLength: 3,
61
+ description: 'Stable subscription key chosen by the agent runtime so duplicate opens can be de-duplicated.',
62
+ },
63
+ filters: {
64
+ type: 'object',
65
+ additionalProperties: true,
66
+ description: 'Narrow filters such as mint, wallet, protocol, agentId, capability, priceFeedId, or threshold.',
67
+ },
68
+ },
69
+ additionalProperties: false,
70
+ };
71
+ /**
72
+ * @description Output schema for stream capabilities. Each event carries a
73
+ * stable id, type, ISO timestamp, and a versioned provider-specific payload.
74
+ */
75
+ const streamOutputSchema = {
76
+ type: 'object',
77
+ required: ['eventId', 'eventType', 'observedAt', 'payload'],
78
+ properties: {
79
+ eventId: {
80
+ type: 'string',
81
+ description: 'Stable event id suitable for idempotent processing and replay detection.',
82
+ },
83
+ eventType: {
84
+ type: 'string',
85
+ description: 'Premium stream event type emitted by this capability.',
86
+ },
87
+ observedAt: {
88
+ type: 'string',
89
+ format: 'date-time',
90
+ description: 'ISO timestamp when SAP MCP observed or emitted the event.',
91
+ },
92
+ payload: {
93
+ type: 'object',
94
+ additionalProperties: true,
95
+ description: 'Provider-specific event payload. Schemas are versioned per premium plugin manifest.',
96
+ },
97
+ },
98
+ additionalProperties: false,
99
+ };
100
+ /**
101
+ * @description Input schema for webhook capabilities. Requires an HTTPS
102
+ * `targetUrl` (localhost/private networks rejected by providers) and a
103
+ * non-empty `events` array. Optional `signingPublicKey` for signature verification.
104
+ */
105
+ const webhookInputSchema = {
106
+ type: 'object',
107
+ required: ['targetUrl', 'events'],
108
+ properties: {
109
+ targetUrl: {
110
+ type: 'string',
111
+ format: 'uri',
112
+ description: 'HTTPS webhook target owned by the buyer. Localhost and private network URLs are rejected by providers.',
113
+ },
114
+ events: {
115
+ type: 'array',
116
+ minItems: 1,
117
+ items: { type: 'string', description: 'Event id listed in the capability delivery contract.' },
118
+ description: 'Exact event ids to deliver to this webhook subscription.',
119
+ },
120
+ signingPublicKey: {
121
+ type: 'string',
122
+ description: 'Optional public key used by the consumer to verify webhook signatures.',
123
+ },
124
+ },
125
+ additionalProperties: false,
126
+ };
127
+ /**
128
+ * @description Output schema for webhook deliveries. Includes a delivery id,
129
+ * event type, timestamp, provider signature, and versioned payload.
130
+ */
131
+ const webhookOutputSchema = {
132
+ type: 'object',
133
+ required: ['deliveryId', 'eventType', 'deliveredAt', 'signature', 'payload'],
134
+ properties: {
135
+ deliveryId: { type: 'string', description: 'Idempotent webhook delivery id.' },
136
+ eventType: { type: 'string', description: 'Delivered premium event type.' },
137
+ deliveredAt: { type: 'string', format: 'date-time', description: 'ISO timestamp for delivery attempt.' },
138
+ signature: { type: 'string', description: 'Provider signature over deliveryId, deliveredAt, and payload.' },
139
+ payload: { type: 'object', additionalProperties: true, description: 'Versioned event payload.' },
140
+ },
141
+ additionalProperties: false,
142
+ };
143
+ /* -------------------------------------------------------------------------- */
144
+ /* Capability factory helpers */
145
+ /* -------------------------------------------------------------------------- */
146
+ /**
147
+ * @name streamCapability
148
+ * @description Factory for building a `stream`-type premium capability definition.
149
+ *
150
+ * Sets status to `requires-provider` when any env vars are declared, otherwise
151
+ * `planned`. Uses `x402-per-minute` pricing with 1–120 minute bounds and
152
+ * MCP streamable HTTP transport with 750ms latency target and 300s replay window.
153
+ *
154
+ * @param id - Capability id (e.g. `jupiter.quote.delta`).
155
+ * @param title - Human-readable label.
156
+ * @param description - Agent-facing description with payment boundary.
157
+ * @param events - Event ids this stream can emit.
158
+ * @param unitPriceUsd - Price per minute in USD.
159
+ * @param providerEnv - Env var names required for provider readiness.
160
+ * @returns A complete `PremiumCapabilityDefinition` with type `stream`.
161
+ *
162
+ * @internal
163
+ */
164
+ function streamCapability(id, title, description, events, unitPriceUsd, providerEnv) {
165
+ return {
166
+ id,
167
+ type: 'stream',
168
+ title,
169
+ description,
170
+ status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
171
+ requiresProvider: providerEnv.length > 0,
172
+ providerEnv,
173
+ inputSchema: streamInputSchema,
174
+ outputSchema: streamOutputSchema,
175
+ pricing: {
176
+ tier: 'premium-stream',
177
+ model: 'x402-per-minute',
178
+ unit: 'minute',
179
+ unitPriceUsd,
180
+ minUnits: 1,
181
+ maxUnits: 120,
182
+ settlement: 'x402',
183
+ },
184
+ delivery: {
185
+ transport: 'mcp-streamable-http',
186
+ events,
187
+ latencyTargetMs: 750,
188
+ replayWindowSeconds: 300,
189
+ },
190
+ };
191
+ }
192
+ /**
193
+ * @name webhookCapability
194
+ * @description Factory for building a `webhook`-type premium capability definition.
195
+ *
196
+ * Sets status to `requires-provider` when any env vars are declared, otherwise
197
+ * `planned`. Uses `x402-per-event` pricing with 10–100 000 event bounds and
198
+ * webhook HTTP transport with 1500ms latency target and 900s replay window.
199
+ *
200
+ * @param id - Capability id (e.g. `price.threshold.crossed`).
201
+ * @param title - Human-readable label.
202
+ * @param description - Agent-facing description with payment boundary.
203
+ * @param events - Event ids this webhook can deliver.
204
+ * @param unitPriceUsd - Price per event in USD.
205
+ * @param providerEnv - Env var names required for provider readiness.
206
+ * @returns A complete `PremiumCapabilityDefinition` with type `webhook`.
207
+ *
208
+ * @internal
209
+ */
210
+ function webhookCapability(id, title, description, events, unitPriceUsd, providerEnv) {
211
+ return {
212
+ id,
213
+ type: 'webhook',
214
+ title,
215
+ description,
216
+ status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
217
+ requiresProvider: providerEnv.length > 0,
218
+ providerEnv,
219
+ inputSchema: webhookInputSchema,
220
+ outputSchema: webhookOutputSchema,
221
+ pricing: {
222
+ tier: 'premium-webhook',
223
+ model: 'x402-per-event',
224
+ unit: 'event',
225
+ unitPriceUsd,
226
+ minUnits: 10,
227
+ maxUnits: 100_000,
228
+ settlement: 'x402',
229
+ },
230
+ delivery: {
231
+ transport: 'webhook-http',
232
+ events,
233
+ latencyTargetMs: 1_500,
234
+ replayWindowSeconds: 900,
235
+ },
236
+ };
237
+ }
238
+ /* -------------------------------------------------------------------------- */
239
+ /* Built-in plugin catalog */
240
+ /* -------------------------------------------------------------------------- */
241
+ /**
242
+ * @name BUILTIN_PREMIUM_PLUGINS
243
+ * @description The built-in public premium plugins shipped with SAP MCP.
244
+ *
245
+ * These are always available (no env vars needed for discovery) and serve as
246
+ * the reference implementations for the premium plugin manifest format.
247
+ * Additional plugin arrays (`TRADING_PREMIUM_PLUGINS`,
248
+ * `MEME_RADAR_PREMIUM_PLUGINS`, `TECH_FUNDAMENTALS_PREMIUM_PLUGINS`) are merged
249
+ * in `listPremiumPlugins()`.
250
+ *
251
+ * @type {PremiumPluginManifest[]}
252
+ *
253
+ * @usedBy `listPremiumPlugins()` as the base catalog merged with private manifests.
254
+ */
255
+ export const BUILTIN_PREMIUM_PLUGINS = [
256
+ {
257
+ id: 'sap-premium-market-data',
258
+ version: '0.1.0',
259
+ title: 'SAP Premium Market Data',
260
+ description: 'Paid low-latency market stream contracts for quotes, prices, route changes, and threshold events.',
261
+ publisher: 'OOBE Protocol',
262
+ visibility: 'public',
263
+ capabilities: [
264
+ 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']),
265
+ 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']),
266
+ 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']),
267
+ ],
268
+ },
269
+ ];
270
+ /**
271
+ * @name clonePlugin
272
+ * @description Deep-clone a plugin manifest via JSON serialization.
273
+ *
274
+ * Ensures callers cannot mutate the internal built-in or loaded manifest objects.
275
+ *
276
+ * @param plugin - The manifest to clone.
277
+ * @returns A deep copy of the manifest.
278
+ *
279
+ * @internal
280
+ */
281
+ function clonePlugin(plugin) {
282
+ return JSON.parse(JSON.stringify(plugin));
283
+ }
284
+ /**
285
+ * @name listPremiumPlugins
286
+ * @description Return all discoverable premium plugins (built-in + private).
287
+ *
288
+ * Merges `BUILTIN_PREMIUM_PLUGINS` with privately loaded manifests, filters by
289
+ * visibility (public always; private/enterprise only when `includePrivate` is
290
+ * true or `SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY=true`), and returns deep
291
+ * clones to prevent external mutation.
292
+ *
293
+ * @param options - Discovery options (see `PremiumPluginListOptions`).
294
+ * @returns Array of `PremiumPluginManifest` clones.
295
+ *
296
+ * @usedBy
297
+ * - `premium-tools.ts` → MCP tool `sap_premium_plugin_catalog`.
298
+ * - `remote/server.ts` → landing page plugin listing.
299
+ * - `listPremiumCapabilities`, `findPremiumCapability` (internally).
300
+ */
301
+ export function listPremiumPlugins(options = {}) {
302
+ const includePrivate = options.includePrivate ?? premiumDiscoveryIncludesPrivate();
303
+ const plugins = [
304
+ ...BUILTIN_PREMIUM_PLUGINS,
305
+ ...TRADING_PREMIUM_PLUGINS,
306
+ ...MEME_RADAR_PREMIUM_PLUGINS,
307
+ ...TECH_FUNDAMENTALS_PREMIUM_PLUGINS,
308
+ ...loadPrivatePremiumPluginManifests(),
309
+ ];
310
+ return plugins
311
+ .filter(plugin => plugin.visibility === 'public' || includePrivate)
312
+ .map(clonePlugin);
313
+ }
314
+ /**
315
+ * @name listPremiumCapabilities
316
+ * @description Return all capabilities across all discoverable plugins,
317
+ * optionally filtered by capability type.
318
+ *
319
+ * @param type - Optional filter: `stream`, `webhook`, or `tool`.
320
+ * @param options - Discovery options (see `PremiumPluginListOptions`).
321
+ * @returns Array of `PremiumCapabilityDefinition` clones (shallow-copied).
322
+ *
323
+ * @usedBy `publicPremiumProviderStatus` (internally), MCP tools.
324
+ */
325
+ export function listPremiumCapabilities(type, options = {}) {
326
+ return listPremiumPlugins(options).flatMap(plugin => plugin.capabilities
327
+ .filter(capability => !type || capability.type === type)
328
+ .map(capability => ({ ...capability })));
329
+ }
330
+ /**
331
+ * @name findPremiumCapability
332
+ * @description Resolve a specific plugin/capability pair by id.
333
+ *
334
+ * @param pluginId - The plugin id to search for.
335
+ * @param capabilityId - The capability id within that plugin.
336
+ * @param type - Optional capability type filter.
337
+ * @param options - Discovery options (see `PremiumPluginListOptions`).
338
+ * @returns `{ plugin, capability }` if found, otherwise `null`.
339
+ *
340
+ * @usedBy `session-manager.ts:createPremiumSessionPlan` → resolves the
341
+ * capability for pricing bounds and provider env checks.
342
+ */
343
+ export function findPremiumCapability(pluginId, capabilityId, type, options = {}) {
344
+ const plugin = listPremiumPlugins(options).find(candidate => candidate.id === pluginId);
345
+ const capability = plugin?.capabilities.find(candidate => candidate.id === capabilityId && (!type || candidate.type === type));
346
+ return plugin && capability ? { plugin, capability } : null;
347
+ }
348
+ /**
349
+ * @name publicPremiumProviderStatus
350
+ * @description Return a map of all provider env var names to their current
351
+ * readiness state (true/false based on `process.env`).
352
+ *
353
+ * Used by the remote server to expose which premium providers are configured
354
+ * without revealing secret values.
355
+ *
356
+ * @returns Record keyed by env var name, value is boolean readiness.
357
+ *
358
+ * @usedBy `remote/server.ts` → provider status endpoint.
359
+ */
360
+ export function publicPremiumProviderStatus() {
361
+ const envNames = new Set(listPremiumCapabilities().flatMap(capability => capability.providerEnv));
362
+ return Object.fromEntries([...envNames].sort().map(name => [name, Boolean(process.env[name])]));
363
+ }
364
+ /**
365
+ * @name premiumProviderLoaderStatus
366
+ * @description Return diagnostic info about the private plugin loader configuration.
367
+ *
368
+ * Reports whether private plugins are enabled, whether the plugin directory is
369
+ * configured and exists, and how many manifests were loaded/rejected. This
370
+ * complements `publicPremiumProviderStatus()` (which only checks env var
371
+ * readiness) by exposing the loader state that determines whether provider
372
+ * adapters can actually be loaded.
373
+ *
374
+ * @returns Object with `enabled`, `pluginDirConfigured`, `pluginDirExists`,
375
+ * `loadedManifestCount`, and `rejectedManifestCount` fields.
376
+ *
377
+ * @usedBy `remote/server.ts` → provider status endpoint, `premium-tools.ts`.
378
+ */
379
+ export function premiumProviderLoaderStatus() {
380
+ const report = loadPrivatePremiumPluginReport();
381
+ const pluginDir = process.env.SAP_MCP_PLUGIN_DIR;
382
+ return {
383
+ enabled: report.enabled,
384
+ pluginDirConfigured: report.pluginDirConfigured,
385
+ pluginDirExists: pluginDir !== undefined && pluginDir.trim() !== '' && existsSync(resolve(pluginDir)),
386
+ loadedManifestCount: report.loadedManifests.length,
387
+ rejectedManifestCount: report.rejectedManifests.length,
388
+ };
389
+ }
390
+ /**
391
+ * @name premiumPrivatePluginSupport
392
+ * @description Return a diagnostic object describing the private plugin
393
+ * loader configuration, loaded/rejected manifest counts, and the safety contract.
394
+ *
395
+ * Used by the remote server and MCP tools to report private plugin support
396
+ * status without exposing any enterprise code or secrets.
397
+ *
398
+ * @returns Object with `enabled`, `exposePrivateDiscovery`, `loadedManifestCount`,
399
+ * `rejectedManifestCount`, `loaderEnv`, `contract`, and `safety` fields.
400
+ *
401
+ * @usedBy `remote/server.ts`, `premium-tools.ts`.
402
+ */
403
+ export function premiumPrivatePluginSupport() {
404
+ const privateReport = loadPrivatePremiumPluginReport();
405
+ return {
406
+ enabled: process.env.SAP_MCP_ENABLE_PREMIUM_PLUGINS === 'true',
407
+ exposePrivateDiscovery: premiumDiscoveryIncludesPrivate(),
408
+ loadedManifestCount: privateReport.loadedManifests.length,
409
+ rejectedManifestCount: privateReport.rejectedManifests.length,
410
+ loaderEnv: ['SAP_MCP_ENABLE_PREMIUM_PLUGINS', 'SAP_MCP_PLUGIN_DIR', 'SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY'],
411
+ contract: 'Private premium plugins must ship a manifest that passes sap_premium_validate_plugin_manifest. The public SAP MCP repo only exposes the contract; enterprise plugin code and provider secrets stay outside the open repo.',
412
+ safety: 'Plugin manifests are data only. SAP MCP does not execute plugin code from user input, and provider secrets are never exposed through public metadata.',
413
+ };
414
+ }
415
+ /**
416
+ * @name premiumAddressField
417
+ * @description Re-exported reusable Solana address JSON Schema fragment.
418
+ *
419
+ * Used by MCP tool definitions that accept a Solana public key argument.
420
+ */
421
+ export const premiumAddressField = addressField;
422
+ //# sourceMappingURL=builtin-plugins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-plugins.js","sourceRoot":"","sources":["../../src/premium/builtin-plugins.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @name premium/event-store
3
+ * @description In-memory event store for premium event replay and idempotency.
4
+ *
5
+ * Every event delivered through the stream broker or webhook engine is recorded
6
+ * here. The store supports:
7
+ * - append with `eventId` deduplication (idempotency)
8
+ * - query by session, event type, or time window
9
+ * - automatic eviction of events past their replay window
10
+ *
11
+ * @flow
12
+ * 1. `stream-broker.ts` / `webhook-engine.ts` deliver an event →
13
+ * `appendEvent()` stores it (dedup by `eventId`).
14
+ * 2. `stream-broker.ts` reconnects a client → `getEvents()` replays past
15
+ * events within the replay window.
16
+ * 3. Pruning runs on every append/query to evict events past their
17
+ * `replayWindowSeconds` per capability.
18
+ *
19
+ * @module premium/event-store
20
+ */
21
+ import type { PremiumEventQuery, PremiumEventRecord } from './types.js';
22
+ /**
23
+ * @name appendEvent
24
+ * @description Append a premium event to the store with idempotency.
25
+ *
26
+ * If an event with the same `eventId` already exists, it is not duplicated.
27
+ * The store is pruned after each append.
28
+ *
29
+ * @param record - The event record to append.
30
+ * @returns True if the event was newly inserted, false if it was a duplicate.
31
+ *
32
+ * @usedBy `stream-broker.ts`, `webhook-engine.ts`
33
+ */
34
+ export declare function appendEvent(record: PremiumEventRecord): boolean;
35
+ /**
36
+ * @name getEvents
37
+ * @description Query events from the store with optional filters.
38
+ *
39
+ * @param query - Filter criteria (sessionId, eventType, since, limit).
40
+ * @returns Array of matching event records, ordered by `deliveredAt` ascending.
41
+ *
42
+ * @usedBy `stream-broker.ts` (replay), `premium-tools.ts` (audit)
43
+ */
44
+ export declare function getEvents(query?: PremiumEventQuery): PremiumEventRecord[];
45
+ /**
46
+ * @name getEventCount
47
+ * @description Return the total number of stored events.
48
+ *
49
+ * @usedBy `metrics.ts`
50
+ */
51
+ export declare function getEventCount(): number;
52
+ /**
53
+ * @name clearAllEvents
54
+ * @description Clear all events from the store.
55
+ *
56
+ * Used in tests and during graceful server shutdown.
57
+ *
58
+ * @internal
59
+ */
60
+ export declare function clearAllEvents(): void;
61
+ //# sourceMappingURL=event-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../../src/premium/event-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAoBxE;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAM/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,KAAK,GAAE,iBAAsB,GAAG,kBAAkB,EAAE,CAc7E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AA+BD;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC"}