@oobe-protocol-labs/sap-mcp-server 0.9.15 → 0.9.20

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 (607) hide show
  1. package/.env.example +8 -7
  2. package/CHANGELOG.md +227 -0
  3. package/README.md +3 -3
  4. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  5. package/USER_DOCS/04_CLIENT_CONFIGS.md +3 -3
  6. package/USER_DOCS/05_SKILLS_AND_TOOLS.md +16 -8
  7. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +5 -5
  8. package/config.example.json +5 -4
  9. package/config.schema.json +7 -2
  10. package/config.secure-example.json +5 -4
  11. package/dist/adapters/index.d.ts +7 -1
  12. package/dist/adapters/index.d.ts.map +1 -1
  13. package/dist/adapters/index.js +7 -1
  14. package/dist/adapters/index.js.map +1 -1
  15. package/dist/adapters/mcp/errors.d.ts +13 -1
  16. package/dist/adapters/mcp/errors.d.ts.map +1 -1
  17. package/dist/adapters/mcp/errors.js +13 -1
  18. package/dist/adapters/mcp/errors.js.map +1 -1
  19. package/dist/adapters/mcp/index.d.ts +7 -1
  20. package/dist/adapters/mcp/index.d.ts.map +1 -1
  21. package/dist/adapters/mcp/index.js +7 -1
  22. package/dist/adapters/mcp/index.js.map +1 -1
  23. package/dist/adapters/mcp/prompt-response.d.ts +13 -1
  24. package/dist/adapters/mcp/prompt-response.d.ts.map +1 -1
  25. package/dist/adapters/mcp/prompt-response.js +13 -1
  26. package/dist/adapters/mcp/prompt-response.js.map +1 -1
  27. package/dist/adapters/mcp/resource-response.d.ts +14 -1
  28. package/dist/adapters/mcp/resource-response.d.ts.map +1 -1
  29. package/dist/adapters/mcp/resource-response.js +14 -1
  30. package/dist/adapters/mcp/resource-response.js.map +1 -1
  31. package/dist/adapters/mcp/sdk-compat.d.ts +11 -3
  32. package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -1
  33. package/dist/adapters/mcp/sdk-compat.js +213 -24
  34. package/dist/adapters/mcp/sdk-compat.js.map +1 -1
  35. package/dist/adapters/mcp/tool-response.d.ts +39 -4
  36. package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
  37. package/dist/adapters/mcp/tool-response.js +39 -4
  38. package/dist/adapters/mcp/tool-response.js.map +1 -1
  39. package/dist/adapters/solana/commitment.d.ts +14 -2
  40. package/dist/adapters/solana/commitment.d.ts.map +1 -1
  41. package/dist/adapters/solana/commitment.js +14 -2
  42. package/dist/adapters/solana/commitment.js.map +1 -1
  43. package/dist/adapters/solana/connection.d.ts +11 -2
  44. package/dist/adapters/solana/connection.d.ts.map +1 -1
  45. package/dist/adapters/solana/connection.js +11 -2
  46. package/dist/adapters/solana/connection.js.map +1 -1
  47. package/dist/adapters/solana/index.d.ts +7 -1
  48. package/dist/adapters/solana/index.d.ts.map +1 -1
  49. package/dist/adapters/solana/index.js +7 -1
  50. package/dist/adapters/solana/index.js.map +1 -1
  51. package/dist/adapters/solana/public-key.d.ts +11 -2
  52. package/dist/adapters/solana/public-key.d.ts.map +1 -1
  53. package/dist/adapters/solana/public-key.js +11 -2
  54. package/dist/adapters/solana/public-key.js.map +1 -1
  55. package/dist/config/defaults.d.ts +5 -0
  56. package/dist/config/defaults.d.ts.map +1 -1
  57. package/dist/config/defaults.js +5 -0
  58. package/dist/config/defaults.js.map +1 -1
  59. package/dist/config/env.d.ts +4 -0
  60. package/dist/config/env.d.ts.map +1 -1
  61. package/dist/config/env.js +11 -6
  62. package/dist/config/env.js.map +1 -1
  63. package/dist/config/index.d.ts +5 -0
  64. package/dist/config/index.d.ts.map +1 -1
  65. package/dist/config/index.js +5 -0
  66. package/dist/config/index.js.map +1 -1
  67. package/dist/config/mcp-client-injection.d.ts.map +1 -1
  68. package/dist/config/mcp-client-injection.js +97 -1
  69. package/dist/config/mcp-client-injection.js.map +1 -1
  70. package/dist/config/paths.d.ts +5 -0
  71. package/dist/config/paths.d.ts.map +1 -1
  72. package/dist/config/paths.js +5 -0
  73. package/dist/config/paths.js.map +1 -1
  74. package/dist/config/profiles.d.ts +3 -10
  75. package/dist/config/profiles.d.ts.map +1 -1
  76. package/dist/config/profiles.js +5 -0
  77. package/dist/config/profiles.js.map +1 -1
  78. package/dist/config/schema.d.ts +5 -0
  79. package/dist/config/schema.d.ts.map +1 -1
  80. package/dist/config/schema.js +5 -0
  81. package/dist/config/schema.js.map +1 -1
  82. package/dist/config/secure-config.d.ts +5 -0
  83. package/dist/config/secure-config.d.ts.map +1 -1
  84. package/dist/config/secure-config.js +5 -0
  85. package/dist/config/secure-config.js.map +1 -1
  86. package/dist/config/setup.d.ts +5 -0
  87. package/dist/config/setup.d.ts.map +1 -1
  88. package/dist/config/setup.js +5 -0
  89. package/dist/config/setup.js.map +1 -1
  90. package/dist/config-cli.d.ts +3 -13
  91. package/dist/config-cli.d.ts.map +1 -1
  92. package/dist/config-cli.js +5 -0
  93. package/dist/config-cli.js.map +1 -1
  94. package/dist/core/constants.d.ts +25 -6
  95. package/dist/core/constants.d.ts.map +1 -1
  96. package/dist/core/constants.js +27 -8
  97. package/dist/core/constants.js.map +1 -1
  98. package/dist/core/errors.d.ts +5 -0
  99. package/dist/core/errors.d.ts.map +1 -1
  100. package/dist/core/errors.js +5 -0
  101. package/dist/core/errors.js.map +1 -1
  102. package/dist/core/guards.d.ts +5 -0
  103. package/dist/core/guards.d.ts.map +1 -1
  104. package/dist/core/guards.js +3 -1
  105. package/dist/core/guards.js.map +1 -1
  106. package/dist/core/index.d.ts +7 -1
  107. package/dist/core/index.d.ts.map +1 -1
  108. package/dist/core/index.js +7 -1
  109. package/dist/core/index.js.map +1 -1
  110. package/dist/core/logger.js +1 -1
  111. package/dist/core/logger.js.map +1 -1
  112. package/dist/core/result.d.ts +77 -9
  113. package/dist/core/result.d.ts.map +1 -1
  114. package/dist/core/result.js +68 -9
  115. package/dist/core/result.js.map +1 -1
  116. package/dist/core/types.d.ts +5 -0
  117. package/dist/core/types.d.ts.map +1 -1
  118. package/dist/core/types.js +3 -4
  119. package/dist/core/types.js.map +1 -1
  120. package/dist/index.d.ts +5 -0
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +5 -0
  123. package/dist/index.js.map +1 -1
  124. package/dist/payments/facilitator-rpc-fallback.d.ts.map +1 -1
  125. package/dist/payments/facilitator-rpc-fallback.js +95 -0
  126. package/dist/payments/facilitator-rpc-fallback.js.map +1 -1
  127. package/dist/payments/hosted-tool-eligibility.d.ts +1 -0
  128. package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -1
  129. package/dist/payments/hosted-tool-eligibility.js +1 -0
  130. package/dist/payments/hosted-tool-eligibility.js.map +1 -1
  131. package/dist/payments/mcp-session-cache.d.ts +35 -0
  132. package/dist/payments/mcp-session-cache.d.ts.map +1 -0
  133. package/dist/payments/mcp-session-cache.js +83 -0
  134. package/dist/payments/mcp-session-cache.js.map +1 -0
  135. package/dist/payments/monetization-gate.d.ts +5 -0
  136. package/dist/payments/monetization-gate.d.ts.map +1 -1
  137. package/dist/payments/monetization-gate.js +24 -1
  138. package/dist/payments/monetization-gate.js.map +1 -1
  139. package/dist/payments/pricing.d.ts +2 -0
  140. package/dist/payments/pricing.d.ts.map +1 -1
  141. package/dist/payments/pricing.js +126 -10
  142. package/dist/payments/pricing.js.map +1 -1
  143. package/dist/payments/usage-ledger.d.ts +36 -2
  144. package/dist/payments/usage-ledger.d.ts.map +1 -1
  145. package/dist/payments/usage-ledger.js +121 -4
  146. package/dist/payments/usage-ledger.js.map +1 -1
  147. package/dist/payments/x402-paid-call.d.ts +50 -0
  148. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  149. package/dist/payments/x402-paid-call.js +171 -0
  150. package/dist/payments/x402-paid-call.js.map +1 -1
  151. package/dist/policy/default-policies.d.ts +18 -2
  152. package/dist/policy/default-policies.d.ts.map +1 -1
  153. package/dist/policy/default-policies.js +18 -2
  154. package/dist/policy/default-policies.js.map +1 -1
  155. package/dist/policy/index.d.ts +6 -3
  156. package/dist/policy/index.d.ts.map +1 -1
  157. package/dist/policy/index.js +6 -3
  158. package/dist/policy/index.js.map +1 -1
  159. package/dist/policy/local-policy-engine.d.ts +71 -13
  160. package/dist/policy/local-policy-engine.d.ts.map +1 -1
  161. package/dist/policy/local-policy-engine.js +33 -11
  162. package/dist/policy/local-policy-engine.js.map +1 -1
  163. package/dist/policy/permission-checks.d.ts +29 -3
  164. package/dist/policy/permission-checks.d.ts.map +1 -1
  165. package/dist/policy/permission-checks.js +29 -3
  166. package/dist/policy/permission-checks.js.map +1 -1
  167. package/dist/policy/policy-engine.d.ts +22 -2
  168. package/dist/policy/policy-engine.d.ts.map +1 -1
  169. package/dist/policy/policy-engine.js +22 -2
  170. package/dist/policy/policy-engine.js.map +1 -1
  171. package/dist/policy/policy-types.d.ts +55 -5
  172. package/dist/policy/policy-types.d.ts.map +1 -1
  173. package/dist/policy/policy-types.js +8 -1
  174. package/dist/policy/policy-types.js.map +1 -1
  175. package/dist/policy/risk-level.d.ts +32 -3
  176. package/dist/policy/risk-level.d.ts.map +1 -1
  177. package/dist/policy/risk-level.js +32 -3
  178. package/dist/policy/risk-level.js.map +1 -1
  179. package/dist/policy/spending-limits.d.ts +29 -3
  180. package/dist/policy/spending-limits.d.ts.map +1 -1
  181. package/dist/policy/spending-limits.js +29 -3
  182. package/dist/policy/spending-limits.js.map +1 -1
  183. package/dist/premium/activation-manager.d.ts +43 -0
  184. package/dist/premium/activation-manager.d.ts.map +1 -0
  185. package/dist/premium/activation-manager.js +131 -0
  186. package/dist/premium/activation-manager.js.map +1 -0
  187. package/dist/premium/builtin-plugins.d.ts +143 -0
  188. package/dist/premium/builtin-plugins.d.ts.map +1 -0
  189. package/dist/premium/builtin-plugins.js +394 -0
  190. package/dist/premium/builtin-plugins.js.map +1 -0
  191. package/dist/premium/event-store.d.ts +61 -0
  192. package/dist/premium/event-store.d.ts.map +1 -0
  193. package/dist/premium/event-store.js +130 -0
  194. package/dist/premium/event-store.js.map +1 -0
  195. package/dist/premium/index.d.ts +54 -0
  196. package/dist/premium/index.d.ts.map +1 -0
  197. package/dist/premium/index.js +54 -0
  198. package/dist/premium/index.js.map +1 -0
  199. package/dist/premium/manifest-builder.d.ts +65 -0
  200. package/dist/premium/manifest-builder.d.ts.map +1 -0
  201. package/dist/premium/manifest-builder.js +182 -0
  202. package/dist/premium/manifest-builder.js.map +1 -0
  203. package/dist/premium/meme-radar-capabilities.d.ts +38 -0
  204. package/dist/premium/meme-radar-capabilities.d.ts.map +1 -0
  205. package/dist/premium/meme-radar-capabilities.js +306 -0
  206. package/dist/premium/meme-radar-capabilities.js.map +1 -0
  207. package/dist/premium/metrics.d.ts +27 -0
  208. package/dist/premium/metrics.d.ts.map +1 -0
  209. package/dist/premium/metrics.js +65 -0
  210. package/dist/premium/metrics.js.map +1 -0
  211. package/dist/premium/plugin-validator.d.ts +39 -0
  212. package/dist/premium/plugin-validator.d.ts.map +1 -0
  213. package/dist/premium/plugin-validator.js +325 -0
  214. package/dist/premium/plugin-validator.js.map +1 -0
  215. package/dist/premium/private-manifest-loader.d.ts +111 -0
  216. package/dist/premium/private-manifest-loader.d.ts.map +1 -0
  217. package/dist/premium/private-manifest-loader.js +285 -0
  218. package/dist/premium/private-manifest-loader.js.map +1 -0
  219. package/dist/premium/provider-bridge.d.ts +109 -0
  220. package/dist/premium/provider-bridge.d.ts.map +1 -0
  221. package/dist/premium/provider-bridge.js +239 -0
  222. package/dist/premium/provider-bridge.js.map +1 -0
  223. package/dist/premium/session-manager.d.ts +125 -0
  224. package/dist/premium/session-manager.d.ts.map +1 -0
  225. package/dist/premium/session-manager.js +337 -0
  226. package/dist/premium/session-manager.js.map +1 -0
  227. package/dist/premium/stream-broker.d.ts +98 -0
  228. package/dist/premium/stream-broker.d.ts.map +1 -0
  229. package/dist/premium/stream-broker.js +199 -0
  230. package/dist/premium/stream-broker.js.map +1 -0
  231. package/dist/premium/tech-fundamentals-capabilities.d.ts +37 -0
  232. package/dist/premium/tech-fundamentals-capabilities.d.ts.map +1 -0
  233. package/dist/premium/tech-fundamentals-capabilities.js +283 -0
  234. package/dist/premium/tech-fundamentals-capabilities.js.map +1 -0
  235. package/dist/premium/trading-capabilities.d.ts +36 -0
  236. package/dist/premium/trading-capabilities.d.ts.map +1 -0
  237. package/dist/premium/trading-capabilities.js +205 -0
  238. package/dist/premium/trading-capabilities.js.map +1 -0
  239. package/dist/premium/types.d.ts +518 -0
  240. package/dist/premium/types.d.ts.map +1 -0
  241. package/dist/premium/types.js +23 -0
  242. package/dist/premium/types.js.map +1 -0
  243. package/dist/premium/webhook-engine.d.ts +102 -0
  244. package/dist/premium/webhook-engine.d.ts.map +1 -0
  245. package/dist/premium/webhook-engine.js +382 -0
  246. package/dist/premium/webhook-engine.js.map +1 -0
  247. package/dist/prompts/context/sap-agent-context.prompt.d.ts +5 -0
  248. package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -1
  249. package/dist/prompts/context/sap-agent-context.prompt.js +2 -8
  250. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  251. package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts +14 -0
  252. package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts.map +1 -0
  253. package/dist/prompts/context/sap-agent-intent-router.prompt.js +155 -0
  254. package/dist/prompts/context/sap-agent-intent-router.prompt.js.map +1 -0
  255. package/dist/prompts/context/sap-agent-start.prompt.js +1 -0
  256. package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
  257. package/dist/prompts/developer/debug-sap-error.prompt.d.ts +5 -0
  258. package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -1
  259. package/dist/prompts/developer/debug-sap-error.prompt.js +3 -4
  260. package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -1
  261. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +5 -0
  262. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -1
  263. package/dist/prompts/developer/generate-sap-integration.prompt.js +3 -4
  264. package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
  265. package/dist/prompts/developer/index.d.ts +4 -1
  266. package/dist/prompts/developer/index.d.ts.map +1 -1
  267. package/dist/prompts/developer/index.js +4 -1
  268. package/dist/prompts/developer/index.js.map +1 -1
  269. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +5 -0
  270. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -1
  271. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +3 -4
  272. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -1
  273. package/dist/prompts/execution-proof/index.d.ts +4 -1
  274. package/dist/prompts/execution-proof/index.d.ts.map +1 -1
  275. package/dist/prompts/execution-proof/index.js +4 -1
  276. package/dist/prompts/execution-proof/index.js.map +1 -1
  277. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +5 -0
  278. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -1
  279. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +3 -4
  280. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -1
  281. package/dist/prompts/index.d.ts +4 -1
  282. package/dist/prompts/index.d.ts.map +1 -1
  283. package/dist/prompts/index.js +4 -1
  284. package/dist/prompts/index.js.map +1 -1
  285. package/dist/prompts/payments/create-paid-api.prompt.d.ts +5 -0
  286. package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -1
  287. package/dist/prompts/payments/create-paid-api.prompt.js +3 -4
  288. package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -1
  289. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +5 -0
  290. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -1
  291. package/dist/prompts/payments/explain-x402-settlement.prompt.js +3 -4
  292. package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -1
  293. package/dist/prompts/payments/index.d.ts +4 -1
  294. package/dist/prompts/payments/index.d.ts.map +1 -1
  295. package/dist/prompts/payments/index.js +4 -1
  296. package/dist/prompts/payments/index.js.map +1 -1
  297. package/dist/prompts/register-prompts.d.ts +18 -2
  298. package/dist/prompts/register-prompts.d.ts.map +1 -1
  299. package/dist/prompts/register-prompts.js +21 -3
  300. package/dist/prompts/register-prompts.js.map +1 -1
  301. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +5 -0
  302. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -1
  303. package/dist/prompts/registry/analyze-sap-agent.prompt.js +3 -4
  304. package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -1
  305. package/dist/prompts/registry/index.d.ts +4 -1
  306. package/dist/prompts/registry/index.d.ts.map +1 -1
  307. package/dist/prompts/registry/index.js +4 -1
  308. package/dist/prompts/registry/index.js.map +1 -1
  309. package/dist/prompts/registry/register-sap-agent.prompt.d.ts +5 -0
  310. package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -1
  311. package/dist/prompts/registry/register-sap-agent.prompt.js +3 -4
  312. package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
  313. package/dist/remote/premium-memory.d.ts +90 -0
  314. package/dist/remote/premium-memory.d.ts.map +1 -0
  315. package/dist/remote/premium-memory.js +161 -0
  316. package/dist/remote/premium-memory.js.map +1 -0
  317. package/dist/remote/premium-routes.d.ts +99 -0
  318. package/dist/remote/premium-routes.d.ts.map +1 -0
  319. package/dist/remote/premium-routes.js +346 -0
  320. package/dist/remote/premium-routes.js.map +1 -0
  321. package/dist/remote/public-home/sections.d.ts.map +1 -1
  322. package/dist/remote/public-home/sections.js +7 -1
  323. package/dist/remote/public-home/sections.js.map +1 -1
  324. package/dist/remote/public-home/types.d.ts +6 -0
  325. package/dist/remote/public-home/types.d.ts.map +1 -1
  326. package/dist/remote/server.d.ts +18 -0
  327. package/dist/remote/server.d.ts.map +1 -1
  328. package/dist/remote/server.js +298 -116
  329. package/dist/remote/server.js.map +1 -1
  330. package/dist/remote/tx-relay.d.ts +42 -0
  331. package/dist/remote/tx-relay.d.ts.map +1 -0
  332. package/dist/remote/tx-relay.js +118 -0
  333. package/dist/remote/tx-relay.js.map +1 -0
  334. package/dist/resources/current/sap-current-config.resource.d.ts +5 -0
  335. package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
  336. package/dist/resources/current/sap-current-config.resource.js +2 -5
  337. package/dist/resources/current/sap-current-config.resource.js.map +1 -1
  338. package/dist/resources/execution-proof/index.d.ts +5 -0
  339. package/dist/resources/execution-proof/index.d.ts.map +1 -1
  340. package/dist/resources/execution-proof/index.js +5 -0
  341. package/dist/resources/execution-proof/index.js.map +1 -1
  342. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +5 -0
  343. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -1
  344. package/dist/resources/execution-proof/sap-execution-record.resource.js +3 -4
  345. package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -1
  346. package/dist/resources/index.d.ts +5 -0
  347. package/dist/resources/index.d.ts.map +1 -1
  348. package/dist/resources/index.js +5 -0
  349. package/dist/resources/index.js.map +1 -1
  350. package/dist/resources/memory/index.d.ts +5 -0
  351. package/dist/resources/memory/index.d.ts.map +1 -1
  352. package/dist/resources/memory/index.js +5 -0
  353. package/dist/resources/memory/index.js.map +1 -1
  354. package/dist/resources/memory/sap-memory.resource.d.ts +5 -0
  355. package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -1
  356. package/dist/resources/memory/sap-memory.resource.js +3 -4
  357. package/dist/resources/memory/sap-memory.resource.js.map +1 -1
  358. package/dist/resources/profile/sap-active-profile.resource.d.ts +5 -0
  359. package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -1
  360. package/dist/resources/profile/sap-active-profile.resource.js +2 -5
  361. package/dist/resources/profile/sap-active-profile.resource.js.map +1 -1
  362. package/dist/resources/register-resources.d.ts +5 -0
  363. package/dist/resources/register-resources.d.ts.map +1 -1
  364. package/dist/resources/register-resources.js +3 -1
  365. package/dist/resources/register-resources.js.map +1 -1
  366. package/dist/resources/registry/index.d.ts +5 -0
  367. package/dist/resources/registry/index.d.ts.map +1 -1
  368. package/dist/resources/registry/index.js +5 -0
  369. package/dist/resources/registry/index.js.map +1 -1
  370. package/dist/resources/registry/sap-agent.resource.d.ts +5 -0
  371. package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -1
  372. package/dist/resources/registry/sap-agent.resource.js +3 -4
  373. package/dist/resources/registry/sap-agent.resource.js.map +1 -1
  374. package/dist/resources/registry/sap-global-registry.resource.d.ts +18 -4
  375. package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -1
  376. package/dist/resources/registry/sap-global-registry.resource.js +18 -4
  377. package/dist/resources/registry/sap-global-registry.resource.js.map +1 -1
  378. package/dist/resources/reputation/index.d.ts +4 -1
  379. package/dist/resources/reputation/index.d.ts.map +1 -1
  380. package/dist/resources/reputation/index.js +4 -1
  381. package/dist/resources/reputation/index.js.map +1 -1
  382. package/dist/resources/reputation/sap-reputation.resource.d.ts +18 -4
  383. package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -1
  384. package/dist/resources/reputation/sap-reputation.resource.js +18 -4
  385. package/dist/resources/reputation/sap-reputation.resource.js.map +1 -1
  386. package/dist/resources/tool-schema/index.d.ts +4 -1
  387. package/dist/resources/tool-schema/index.d.ts.map +1 -1
  388. package/dist/resources/tool-schema/index.js +4 -1
  389. package/dist/resources/tool-schema/index.js.map +1 -1
  390. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +18 -4
  391. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -1
  392. package/dist/resources/tool-schema/sap-tool-schema.resource.js +18 -4
  393. package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -1
  394. package/dist/sap/index.d.ts +7 -1
  395. package/dist/sap/index.d.ts.map +1 -1
  396. package/dist/sap/index.js +7 -1
  397. package/dist/sap/index.js.map +1 -1
  398. package/dist/sap/sap-client-manager.d.ts +80 -13
  399. package/dist/sap/sap-client-manager.d.ts.map +1 -1
  400. package/dist/sap/sap-client-manager.js +80 -13
  401. package/dist/sap/sap-client-manager.js.map +1 -1
  402. package/dist/sap/sap-errors.d.ts +22 -3
  403. package/dist/sap/sap-errors.d.ts.map +1 -1
  404. package/dist/sap/sap-errors.js +22 -3
  405. package/dist/sap/sap-errors.js.map +1 -1
  406. package/dist/sap/sap-types.d.ts +75 -6
  407. package/dist/sap/sap-types.d.ts.map +1 -1
  408. package/dist/sap/sap-types.js +11 -1
  409. package/dist/sap/sap-types.js.map +1 -1
  410. package/dist/schemas/common.schema.d.ts +45 -8
  411. package/dist/schemas/common.schema.d.ts.map +1 -1
  412. package/dist/schemas/common.schema.js +45 -8
  413. package/dist/schemas/common.schema.js.map +1 -1
  414. package/dist/schemas/developer.schema.d.ts +22 -3
  415. package/dist/schemas/developer.schema.d.ts.map +1 -1
  416. package/dist/schemas/developer.schema.js +22 -3
  417. package/dist/schemas/developer.schema.js.map +1 -1
  418. package/dist/schemas/execution-proof.schema.d.ts +29 -4
  419. package/dist/schemas/execution-proof.schema.d.ts.map +1 -1
  420. package/dist/schemas/execution-proof.schema.js +29 -4
  421. package/dist/schemas/execution-proof.schema.js.map +1 -1
  422. package/dist/schemas/identity.schema.d.ts +23 -3
  423. package/dist/schemas/identity.schema.d.ts.map +1 -1
  424. package/dist/schemas/identity.schema.js +23 -3
  425. package/dist/schemas/identity.schema.js.map +1 -1
  426. package/dist/schemas/index.d.ts +11 -1
  427. package/dist/schemas/index.d.ts.map +1 -1
  428. package/dist/schemas/index.js +11 -1
  429. package/dist/schemas/index.js.map +1 -1
  430. package/dist/schemas/memory.schema.d.ts +23 -3
  431. package/dist/schemas/memory.schema.d.ts.map +1 -1
  432. package/dist/schemas/memory.schema.js +23 -3
  433. package/dist/schemas/memory.schema.js.map +1 -1
  434. package/dist/schemas/payments.schema.d.ts +24 -3
  435. package/dist/schemas/payments.schema.d.ts.map +1 -1
  436. package/dist/schemas/payments.schema.js +24 -3
  437. package/dist/schemas/payments.schema.js.map +1 -1
  438. package/dist/schemas/registry.schema.d.ts +36 -4
  439. package/dist/schemas/registry.schema.d.ts.map +1 -1
  440. package/dist/schemas/registry.schema.js +36 -4
  441. package/dist/schemas/registry.schema.js.map +1 -1
  442. package/dist/schemas/reputation.schema.d.ts +22 -3
  443. package/dist/schemas/reputation.schema.d.ts.map +1 -1
  444. package/dist/schemas/reputation.schema.js +22 -3
  445. package/dist/schemas/reputation.schema.js.map +1 -1
  446. package/dist/schemas/settlement.schema.d.ts +31 -4
  447. package/dist/schemas/settlement.schema.d.ts.map +1 -1
  448. package/dist/schemas/settlement.schema.js +31 -4
  449. package/dist/schemas/settlement.schema.js.map +1 -1
  450. package/dist/schemas/tool-schema.schema.d.ts +29 -3
  451. package/dist/schemas/tool-schema.schema.d.ts.map +1 -1
  452. package/dist/schemas/tool-schema.schema.js +29 -3
  453. package/dist/schemas/tool-schema.schema.js.map +1 -1
  454. package/dist/schemas/transaction.schema.d.ts +23 -3
  455. package/dist/schemas/transaction.schema.d.ts.map +1 -1
  456. package/dist/schemas/transaction.schema.js +23 -3
  457. package/dist/schemas/transaction.schema.js.map +1 -1
  458. package/dist/security/approval-required.d.ts +19 -2
  459. package/dist/security/approval-required.d.ts.map +1 -1
  460. package/dist/security/approval-required.js +19 -2
  461. package/dist/security/approval-required.js.map +1 -1
  462. package/dist/security/index.d.ts +7 -1
  463. package/dist/security/index.d.ts.map +1 -1
  464. package/dist/security/index.js +7 -1
  465. package/dist/security/index.js.map +1 -1
  466. package/dist/security/private-key-guard.d.ts +18 -2
  467. package/dist/security/private-key-guard.d.ts.map +1 -1
  468. package/dist/security/private-key-guard.js +19 -2
  469. package/dist/security/private-key-guard.js.map +1 -1
  470. package/dist/security/prompt-injection-notes.d.ts +10 -1
  471. package/dist/security/prompt-injection-notes.d.ts.map +1 -1
  472. package/dist/security/prompt-injection-notes.js +10 -1
  473. package/dist/security/prompt-injection-notes.js.map +1 -1
  474. package/dist/security/unsafe-action-guard.d.ts +36 -10
  475. package/dist/security/unsafe-action-guard.d.ts.map +1 -1
  476. package/dist/security/unsafe-action-guard.js +67 -15
  477. package/dist/security/unsafe-action-guard.js.map +1 -1
  478. package/dist/server/create-server.d.ts +18 -3
  479. package/dist/server/create-server.d.ts.map +1 -1
  480. package/dist/server/create-server.js +18 -3
  481. package/dist/server/create-server.js.map +1 -1
  482. package/dist/server/index.d.ts +6 -1
  483. package/dist/server/index.d.ts.map +1 -1
  484. package/dist/server/index.js +6 -1
  485. package/dist/server/index.js.map +1 -1
  486. package/dist/server/register-capabilities.d.ts +17 -2
  487. package/dist/server/register-capabilities.d.ts.map +1 -1
  488. package/dist/server/register-capabilities.js +17 -2
  489. package/dist/server/register-capabilities.js.map +1 -1
  490. package/dist/server/server-metadata.d.ts +34 -1
  491. package/dist/server/server-metadata.d.ts.map +1 -1
  492. package/dist/server/server-metadata.js +35 -2
  493. package/dist/server/server-metadata.js.map +1 -1
  494. package/dist/session/agent-session.d.ts +35 -4
  495. package/dist/session/agent-session.d.ts.map +1 -1
  496. package/dist/session/agent-session.js +35 -4
  497. package/dist/session/agent-session.js.map +1 -1
  498. package/dist/session/delegated-session.d.ts +31 -3
  499. package/dist/session/delegated-session.d.ts.map +1 -1
  500. package/dist/session/delegated-session.js +31 -3
  501. package/dist/session/delegated-session.js.map +1 -1
  502. package/dist/session/index.d.ts +7 -1
  503. package/dist/session/index.d.ts.map +1 -1
  504. package/dist/session/index.js +7 -1
  505. package/dist/session/index.js.map +1 -1
  506. package/dist/session/redis-session-store.d.ts +94 -21
  507. package/dist/session/redis-session-store.d.ts.map +1 -1
  508. package/dist/session/redis-session-store.js +87 -20
  509. package/dist/session/redis-session-store.js.map +1 -1
  510. package/dist/session/session-limits.d.ts +34 -4
  511. package/dist/session/session-limits.d.ts.map +1 -1
  512. package/dist/session/session-limits.js +34 -4
  513. package/dist/session/session-limits.js.map +1 -1
  514. package/dist/session/session-permissions.d.ts +57 -7
  515. package/dist/session/session-permissions.d.ts.map +1 -1
  516. package/dist/session/session-permissions.js +57 -7
  517. package/dist/session/session-permissions.js.map +1 -1
  518. package/dist/session/session-store.d.ts +9 -1
  519. package/dist/session/session-store.d.ts.map +1 -1
  520. package/dist/session/session-store.js +18 -3
  521. package/dist/session/session-store.js.map +1 -1
  522. package/dist/session/session-types.d.ts +33 -4
  523. package/dist/session/session-types.d.ts.map +1 -1
  524. package/dist/session/session-types.js +9 -1
  525. package/dist/session/session-types.js.map +1 -1
  526. package/dist/signer/index.d.ts +7 -1
  527. package/dist/signer/index.d.ts.map +1 -1
  528. package/dist/signer/index.js +7 -1
  529. package/dist/signer/index.js.map +1 -1
  530. package/dist/signer/load-keypair.d.ts +25 -4
  531. package/dist/signer/load-keypair.d.ts.map +1 -1
  532. package/dist/signer/load-keypair.js +25 -4
  533. package/dist/signer/load-keypair.js.map +1 -1
  534. package/dist/signer/local-keypair-signer.d.ts +16 -2
  535. package/dist/signer/local-keypair-signer.d.ts.map +1 -1
  536. package/dist/signer/local-keypair-signer.js +16 -2
  537. package/dist/signer/local-keypair-signer.js.map +1 -1
  538. package/dist/signer/signer-resolver.d.ts +19 -2
  539. package/dist/signer/signer-resolver.d.ts.map +1 -1
  540. package/dist/signer/signer-resolver.js +26 -3
  541. package/dist/signer/signer-resolver.js.map +1 -1
  542. package/dist/signer/signer-types.d.ts +47 -5
  543. package/dist/signer/signer-types.d.ts.map +1 -1
  544. package/dist/signer/signer-types.js +13 -1
  545. package/dist/signer/signer-types.js.map +1 -1
  546. package/dist/tools/agent-start-tool.d.ts.map +1 -1
  547. package/dist/tools/agent-start-tool.js +210 -2
  548. package/dist/tools/agent-start-tool.js.map +1 -1
  549. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  550. package/dist/tools/client-sdk-tools.js +27 -2
  551. package/dist/tools/client-sdk-tools.js.map +1 -1
  552. package/dist/tools/estimate-tool-cost.d.ts +13 -0
  553. package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
  554. package/dist/tools/estimate-tool-cost.js +139 -0
  555. package/dist/tools/estimate-tool-cost.js.map +1 -0
  556. package/dist/tools/index.d.ts +6 -0
  557. package/dist/tools/index.d.ts.map +1 -1
  558. package/dist/tools/index.js +7 -0
  559. package/dist/tools/index.js.map +1 -1
  560. package/dist/tools/magicblock-tools.d.ts +25 -0
  561. package/dist/tools/magicblock-tools.d.ts.map +1 -1
  562. package/dist/tools/magicblock-tools.js +116 -8
  563. package/dist/tools/magicblock-tools.js.map +1 -1
  564. package/dist/tools/perp-tools.d.ts +39 -0
  565. package/dist/tools/perp-tools.d.ts.map +1 -0
  566. package/dist/tools/perp-tools.js +1110 -0
  567. package/dist/tools/perp-tools.js.map +1 -0
  568. package/dist/tools/premium-tools.d.ts +8 -0
  569. package/dist/tools/premium-tools.d.ts.map +1 -0
  570. package/dist/tools/premium-tools.js +732 -0
  571. package/dist/tools/premium-tools.js.map +1 -0
  572. package/dist/tools/register-tools.d.ts.map +1 -1
  573. package/dist/tools/register-tools.js +9 -0
  574. package/dist/tools/register-tools.js.map +1 -1
  575. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  576. package/dist/tools/sap-sdk-tools.js +191 -13
  577. package/dist/tools/sap-sdk-tools.js.map +1 -1
  578. package/dist/tools/x402-paid-call-tool.js +2 -2
  579. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  580. package/dist/transports/index.d.ts +6 -1
  581. package/dist/transports/index.d.ts.map +1 -1
  582. package/dist/transports/index.js +6 -1
  583. package/dist/transports/index.js.map +1 -1
  584. package/dist/transports/stdio.d.ts +17 -5
  585. package/dist/transports/stdio.d.ts.map +1 -1
  586. package/dist/transports/stdio.js +17 -5
  587. package/dist/transports/stdio.js.map +1 -1
  588. package/dist/tui/wizard-save.d.ts +88 -8
  589. package/dist/tui/wizard-save.d.ts.map +1 -1
  590. package/dist/tui/wizard-save.js +77 -8
  591. package/dist/tui/wizard-save.js.map +1 -1
  592. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +20 -4
  593. package/docs/07_ENDPOINTS_AND_CLIENTS.md +4 -1
  594. package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +16 -5
  595. package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
  596. package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +6 -0
  597. package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
  598. package/docs/README.md +12 -0
  599. package/package.json +8 -6
  600. package/server.json +3 -3
  601. package/skills/README.md +10 -2
  602. package/skills/sap-agent-registry/SKILL.md +27 -6
  603. package/skills/sap-discovery-indexing/SKILL.md +11 -0
  604. package/skills/sap-mcp/SKILL.md +49 -16
  605. package/skills/sap-mcp/TOOL_REFERENCE.md +20 -7
  606. package/skills/sap-operations/SKILL.md +11 -0
  607. package/skills/sap-payments-x402/SKILL.md +30 -8
@@ -1,8 +1,28 @@
1
1
  /**
2
- * Risk level calculation
2
+ * @name policy/risk-level
3
+ * @description Risk level calculation utilities for SAP MCP transactions.
4
+ *
5
+ * Provides functions to compute a `SapRiskLevel` from transaction parameters
6
+ * and determine whether a given risk level requires human approval.
7
+ *
8
+ * @module policy/risk-level
3
9
  */
4
10
  /**
5
- * Calculate risk level for a transaction
11
+ * @name calculateRiskLevel
12
+ * @description Calculate risk level for a transaction based on amount and operation type.
13
+ *
14
+ * Evaluates the transaction amount, whether it is a write operation, and whether
15
+ * it targets a known program to produce a graduated risk level from `safe` to `critical`.
16
+ * Write operations elevate risk by one tier; known operations reduce risk by one tier.
17
+ *
18
+ * @param params - Transaction parameters including amount, write flag, known flag, and tool name.
19
+ * @param params.amountSol - Transaction amount in SOL.
20
+ * @param params.isWriteOperation - Whether the operation mutates on-chain state.
21
+ * @param params.isKnownOperation - Whether the target program is in the known set.
22
+ * @param params.toolName - Name of the tool invoking the transaction.
23
+ * @returns A `SapRiskLevel` string: `safe`, `low`, `medium`, `high`, or `critical`.
24
+ *
25
+ * @usedBy `policy-engine.ts:PolicyEngine.checkPermission`
6
26
  */
7
27
  export function calculateRiskLevel(params) {
8
28
  const { amountSol, isWriteOperation, isKnownOperation } = params;
@@ -38,7 +58,16 @@ export function calculateRiskLevel(params) {
38
58
  return risk;
39
59
  }
40
60
  /**
41
- * Check if risk level requires approval
61
+ * @name requiresApproval
62
+ * @description Check if a risk level requires human approval before execution.
63
+ *
64
+ * Returns `true` when the risk level is `high` or `critical`, indicating
65
+ * that the operation should be escalated for manual review.
66
+ *
67
+ * @param riskLevel - The risk level to evaluate.
68
+ * @returns `true` if the risk level is `high` or `critical`; otherwise `false`.
69
+ *
70
+ * @usedBy `policy-engine.ts:PolicyEngine.checkPermission`
42
71
  */
43
72
  export function requiresApproval(riskLevel) {
44
73
  return riskLevel === 'high' || riskLevel === 'critical';
@@ -1 +1 @@
1
- {"version":3,"file":"risk-level.js","sourceRoot":"","sources":["../../src/policy/risk-level.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAKlC;IACC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEjE,wBAAwB;IACxB,IAAI,IAAI,GAAiB,MAAM,CAAC;IAChC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;QAC5B,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC;IACpB,CAAC;IAED,qCAAqC;IACrC,IAAI,gBAAgB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,IAAI,gBAAgB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAuB;IACtD,OAAO,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,UAAU,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"risk-level.js","sourceRoot":"","sources":["../../src/policy/risk-level.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAKlC;IACC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAEjE,wBAAwB;IACxB,IAAI,IAAI,GAAiB,MAAM,CAAC;IAChC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;SAAM,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;QAC3B,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;SAAM,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;QAC5B,IAAI,GAAG,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,UAAU,CAAC;IACpB,CAAC;IAED,qCAAqC;IACrC,IAAI,gBAAgB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,IAAI,gBAAgB,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACxC,MAAM,MAAM,GAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAuB;IACtD,OAAO,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,UAAU,CAAC;AAC1D,CAAC"}
@@ -1,9 +1,26 @@
1
1
  /**
2
- * Spending limits enforcement
2
+ * @name policy/spending-limits
3
+ * @description Spending limit enforcement utilities for SAP MCP transactions.
4
+ *
5
+ * Provides functions to validate transaction amounts against configured maximums
6
+ * and approval thresholds, and to derive a risk level from the transaction amount.
7
+ *
8
+ * @module policy/spending-limits
3
9
  */
4
10
  import type { SapMcpConfig } from '../core/types.js';
5
11
  /**
6
- * Check if amount is within spending limits
12
+ * @name checkSpendingLimit
13
+ * @description Check if a transaction amount is within configured spending limits.
14
+ *
15
+ * Compares the amount against `maxTxValueSol` (hard ceiling) and
16
+ * `requireApprovalAboveSol` (approval threshold). Returns a result object
17
+ * indicating whether the transaction is allowed, requires approval, or is blocked.
18
+ *
19
+ * @param config - The SAP MCP server configuration containing spending limits.
20
+ * @param amountSol - The transaction amount in SOL to validate.
21
+ * @returns An object with `allowed` flag, optional `reason` string, and optional `requiresApproval` flag.
22
+ *
23
+ * @usedBy `policy-engine.ts:PolicyEngine.checkPermission`
7
24
  */
8
25
  export declare function checkSpendingLimit(config: SapMcpConfig, amountSol: number): {
9
26
  allowed: boolean;
@@ -11,7 +28,16 @@ export declare function checkSpendingLimit(config: SapMcpConfig, amountSol: numb
11
28
  requiresApproval?: boolean;
12
29
  };
13
30
  /**
14
- * Calculate risk level based on amount
31
+ * @name calculateRiskLevel
32
+ * @description Calculate risk level based solely on transaction amount in SOL.
33
+ *
34
+ * Maps amount thresholds to risk tiers: 0 SOL is `safe`, <0.1 is `low`,
35
+ * <1.0 is `medium`, <10.0 is `high`, and 10.0+ is `critical`.
36
+ *
37
+ * @param amountSol - The transaction amount in SOL.
38
+ * @returns A risk level string: `safe`, `low`, `medium`, `high`, or `critical`.
39
+ *
40
+ * @usedBy `spending-limits.ts:checkSpendingLimit`
15
41
  */
16
42
  export declare function calculateRiskLevel(amountSol: number): 'safe' | 'low' | 'medium' | 'high' | 'critical';
17
43
  //# sourceMappingURL=spending-limits.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spending-limits.d.ts","sourceRoot":"","sources":["../../src/policy/spending-limits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAoBnE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAMrG"}
1
+ {"version":3,"file":"spending-limits.d.ts","sourceRoot":"","sources":["../../src/policy/spending-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAoBnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAMrG"}
@@ -1,8 +1,25 @@
1
1
  /**
2
- * Spending limits enforcement
2
+ * @name policy/spending-limits
3
+ * @description Spending limit enforcement utilities for SAP MCP transactions.
4
+ *
5
+ * Provides functions to validate transaction amounts against configured maximums
6
+ * and approval thresholds, and to derive a risk level from the transaction amount.
7
+ *
8
+ * @module policy/spending-limits
3
9
  */
4
10
  /**
5
- * Check if amount is within spending limits
11
+ * @name checkSpendingLimit
12
+ * @description Check if a transaction amount is within configured spending limits.
13
+ *
14
+ * Compares the amount against `maxTxValueSol` (hard ceiling) and
15
+ * `requireApprovalAboveSol` (approval threshold). Returns a result object
16
+ * indicating whether the transaction is allowed, requires approval, or is blocked.
17
+ *
18
+ * @param config - The SAP MCP server configuration containing spending limits.
19
+ * @param amountSol - The transaction amount in SOL to validate.
20
+ * @returns An object with `allowed` flag, optional `reason` string, and optional `requiresApproval` flag.
21
+ *
22
+ * @usedBy `policy-engine.ts:PolicyEngine.checkPermission`
6
23
  */
7
24
  export function checkSpendingLimit(config, amountSol) {
8
25
  // Check max transaction limit
@@ -24,7 +41,16 @@ export function checkSpendingLimit(config, amountSol) {
24
41
  return { allowed: true };
25
42
  }
26
43
  /**
27
- * Calculate risk level based on amount
44
+ * @name calculateRiskLevel
45
+ * @description Calculate risk level based solely on transaction amount in SOL.
46
+ *
47
+ * Maps amount thresholds to risk tiers: 0 SOL is `safe`, <0.1 is `low`,
48
+ * <1.0 is `medium`, <10.0 is `high`, and 10.0+ is `critical`.
49
+ *
50
+ * @param amountSol - The transaction amount in SOL.
51
+ * @returns A risk level string: `safe`, `low`, `medium`, `high`, or `critical`.
52
+ *
53
+ * @usedBy `spending-limits.ts:checkSpendingLimit`
28
54
  */
29
55
  export function calculateRiskLevel(amountSol) {
30
56
  if (amountSol === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"spending-limits.js","sourceRoot":"","sources":["../../src/policy/spending-limits.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAoB,EACpB,SAAiB;IAEjB,8BAA8B;IAC9B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU,SAAS,0CAA0C,aAAa,MAAM;SACzF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,SAAS,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,UAAU,SAAS,sCAAsC,MAAM,CAAC,uBAAuB,OAAO;SACvG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,SAAS,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,SAAS,GAAG,GAAG;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,SAAS,GAAG,IAAI;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"spending-limits.js","sourceRoot":"","sources":["../../src/policy/spending-limits.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAoB,EACpB,SAAiB;IAEjB,8BAA8B;IAC9B,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,UAAU,SAAS,0CAA0C,aAAa,MAAM;SACzF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,IAAI,SAAS,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC/C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,UAAU,SAAS,sCAAsC,MAAM,CAAC,uBAAuB,OAAO;SACvG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,IAAI,SAAS,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IAClC,IAAI,SAAS,GAAG,GAAG;QAAE,OAAO,QAAQ,CAAC;IACrC,IAAI,SAAS,GAAG,IAAI;QAAE,OAAO,MAAM,CAAC;IACpC,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @name premium/activation-manager
3
+ * @description Session activation manager for x402/pay.sh receipt binding.
4
+ *
5
+ * After a buyer creates a session plan (status `pending_payment`) and settles
6
+ * the x402/pay.sh challenge on the delivery rail, the activation manager
7
+ * verifies the receipt and transitions the session to `active`.
8
+ *
9
+ * The activation manager is deliberately decoupled from the x402 facilitator:
10
+ * it accepts an opaque `paymentReceipt` string that the caller (HTTP endpoint
11
+ * or MCP tool) has already verified against the x402/pay.sh rail. This keeps
12
+ * the premium layer testable without a live facilitator.
13
+ *
14
+ * @flow
15
+ * 1. Buyer settles x402 challenge → receives `paymentReceipt` string.
16
+ * 2. Buyer calls `POST /premium/activate` or MCP tool `sap_premium_activate_session`.
17
+ * 3. → `activateSession()` verifies the session is in `pending_payment` status.
18
+ * 4. → Transitions session to `active` via `session-manager.activateSession()`.
19
+ * 5. → Returns `PremiumActivationResult` with `unitsQuota` and `activatedAt`.
20
+ * 6. Stream broker / webhook engine check `status=active` before delivering.
21
+ *
22
+ * @module premium/activation-manager
23
+ */
24
+ import type { PremiumActivationRequest, PremiumActivationResult } from './types.js';
25
+ /**
26
+ * @name activatePremiumSession
27
+ * @description Activate a pending premium session with a payment receipt.
28
+ *
29
+ * Steps:
30
+ * 1. Validate the receipt format (non-empty, reasonable length).
31
+ * 2. Look up the session via `getPremiumSession`.
32
+ * 3. Check the session is in `pending_payment` status.
33
+ * 4. Call `activateSession` to transition to `active`.
34
+ * 5. Return `PremiumActivationResult`.
35
+ *
36
+ * @param request - Activation request with session id and payment receipt.
37
+ * @returns `PremiumActivationResult` with `status=active` on success.
38
+ *
39
+ * @usedBy `premium-tools.ts` → MCP tool `sap_premium_activate_session`,
40
+ * `remote/server.ts` → `POST /premium/activate`
41
+ */
42
+ export declare function activatePremiumSession(request: PremiumActivationRequest): PremiumActivationResult;
43
+ //# sourceMappingURL=activation-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation-manager.d.ts","sourceRoot":"","sources":["../../src/premium/activation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAsBpF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CAuEjG"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * @name premium/activation-manager
3
+ * @description Session activation manager for x402/pay.sh receipt binding.
4
+ *
5
+ * After a buyer creates a session plan (status `pending_payment`) and settles
6
+ * the x402/pay.sh challenge on the delivery rail, the activation manager
7
+ * verifies the receipt and transitions the session to `active`.
8
+ *
9
+ * The activation manager is deliberately decoupled from the x402 facilitator:
10
+ * it accepts an opaque `paymentReceipt` string that the caller (HTTP endpoint
11
+ * or MCP tool) has already verified against the x402/pay.sh rail. This keeps
12
+ * the premium layer testable without a live facilitator.
13
+ *
14
+ * @flow
15
+ * 1. Buyer settles x402 challenge → receives `paymentReceipt` string.
16
+ * 2. Buyer calls `POST /premium/activate` or MCP tool `sap_premium_activate_session`.
17
+ * 3. → `activateSession()` verifies the session is in `pending_payment` status.
18
+ * 4. → Transitions session to `active` via `session-manager.activateSession()`.
19
+ * 5. → Returns `PremiumActivationResult` with `unitsQuota` and `activatedAt`.
20
+ * 6. Stream broker / webhook engine check `status=active` before delivering.
21
+ *
22
+ * @module premium/activation-manager
23
+ */
24
+ import { activateSession } from './session-manager.js';
25
+ import { getPremiumSession } from './session-manager.js';
26
+ /**
27
+ * @name verifyReceiptFormat
28
+ * @description Basic structural validation of a payment receipt string.
29
+ *
30
+ * This does NOT verify the receipt against the x402/pay.sh facilitator — that
31
+ * is the caller's responsibility. It only checks that the receipt is a non-empty
32
+ * string of reasonable length.
33
+ *
34
+ * @param receipt - The opaque receipt string from x402/pay.sh settlement.
35
+ * @returns True if the receipt has a valid structural format.
36
+ *
37
+ * @internal
38
+ */
39
+ function verifyReceiptFormat(receipt) {
40
+ if (typeof receipt !== 'string')
41
+ return false;
42
+ if (receipt.trim().length < 8)
43
+ return false;
44
+ if (receipt.length > 2048)
45
+ return false;
46
+ return true;
47
+ }
48
+ /**
49
+ * @name activatePremiumSession
50
+ * @description Activate a pending premium session with a payment receipt.
51
+ *
52
+ * Steps:
53
+ * 1. Validate the receipt format (non-empty, reasonable length).
54
+ * 2. Look up the session via `getPremiumSession`.
55
+ * 3. Check the session is in `pending_payment` status.
56
+ * 4. Call `activateSession` to transition to `active`.
57
+ * 5. Return `PremiumActivationResult`.
58
+ *
59
+ * @param request - Activation request with session id and payment receipt.
60
+ * @returns `PremiumActivationResult` with `status=active` on success.
61
+ *
62
+ * @usedBy `premium-tools.ts` → MCP tool `sap_premium_activate_session`,
63
+ * `remote/server.ts` → `POST /premium/activate`
64
+ */
65
+ export function activatePremiumSession(request) {
66
+ if (!verifyReceiptFormat(request.paymentReceipt)) {
67
+ return {
68
+ sessionId: request.sessionId,
69
+ status: 'pending_payment',
70
+ activatedAt: null,
71
+ receiptBound: false,
72
+ unitsQuota: 0,
73
+ reason: 'Invalid payment receipt format. Ensure the x402/pay.sh receipt is a non-empty string.',
74
+ };
75
+ }
76
+ const session = getPremiumSession(request.sessionId);
77
+ if (!session) {
78
+ return {
79
+ sessionId: request.sessionId,
80
+ status: 'expired',
81
+ activatedAt: null,
82
+ receiptBound: false,
83
+ unitsQuota: 0,
84
+ reason: 'Session not found. Create a fresh session plan before activation.',
85
+ };
86
+ }
87
+ if (session.status === 'blocked_requires_provider') {
88
+ return {
89
+ sessionId: request.sessionId,
90
+ status: 'blocked_requires_provider',
91
+ activatedAt: null,
92
+ receiptBound: false,
93
+ unitsQuota: 0,
94
+ reason: 'Provider is not ready. Configure provider env vars before activating.',
95
+ };
96
+ }
97
+ if (session.status === 'expired') {
98
+ return {
99
+ sessionId: request.sessionId,
100
+ status: 'expired',
101
+ activatedAt: null,
102
+ receiptBound: false,
103
+ unitsQuota: 0,
104
+ reason: 'Session has expired. Create a fresh session plan.',
105
+ };
106
+ }
107
+ if (session.status === 'active') {
108
+ return {
109
+ sessionId: request.sessionId,
110
+ status: 'active',
111
+ activatedAt: session.createdAt,
112
+ receiptBound: true,
113
+ unitsQuota: session.requestedUnits,
114
+ reason: 'Session is already active.',
115
+ };
116
+ }
117
+ if (session.status === 'closed') {
118
+ return {
119
+ sessionId: request.sessionId,
120
+ status: 'closed',
121
+ activatedAt: null,
122
+ receiptBound: false,
123
+ unitsQuota: 0,
124
+ reason: 'Session has been closed. Create a fresh session plan.',
125
+ };
126
+ }
127
+ // Status is pending_payment — activate.
128
+ const result = activateSession(request.sessionId);
129
+ return result;
130
+ }
131
+ //# sourceMappingURL=activation-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation-manager.js","sourceRoot":"","sources":["../../src/premium/activation-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAiC;IACtE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,iBAAiB;YACzB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,uFAAuF;SAChG,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,mEAAmE;SAC5E,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,2BAA2B,EAAE,CAAC;QACnD,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,2BAA2B;YACnC,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,uEAAuE;SAChF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,mDAAmD;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,OAAO,CAAC,SAAS;YAC9B,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,cAAc;YAClC,MAAM,EAAE,4BAA4B;SACrC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,uDAAuD;SAChE,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,143 @@
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 premiumPrivatePluginSupport
119
+ * @description Return a diagnostic object describing the private plugin
120
+ * loader configuration, loaded/rejected manifest counts, and the safety contract.
121
+ *
122
+ * Used by the remote server and MCP tools to report private plugin support
123
+ * status without exposing any enterprise code or secrets.
124
+ *
125
+ * @returns Object with `enabled`, `exposePrivateDiscovery`, `loadedManifestCount`,
126
+ * `rejectedManifestCount`, `loaderEnv`, `contract`, and `safety` fields.
127
+ *
128
+ * @usedBy `remote/server.ts`, `premium-tools.ts`.
129
+ */
130
+ export declare function premiumPrivatePluginSupport(): Record<string, unknown>;
131
+ /**
132
+ * @name premiumAddressField
133
+ * @description Re-exported reusable Solana address JSON Schema fragment.
134
+ *
135
+ * Used by MCP tool definitions that accept a Solana public key argument.
136
+ */
137
+ export declare const premiumAddressField: {
138
+ type: string;
139
+ minLength: number;
140
+ maxLength: number;
141
+ description: string;
142
+ };
143
+ //# 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;AA+O5G;;;;;;;;;;;;;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;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAarE;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;CAAe,CAAC"}