@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,4 +1,30 @@
1
+ /**
2
+ * @name server/server-metadata
3
+ * @description Static server metadata and capability counts for the SAP MCP server.
4
+ *
5
+ * Provides the package-level metadata (name, version, author, license, repository)
6
+ * and a summary of registered capability counts by category.
7
+ *
8
+ * @module server/server-metadata
9
+ */
1
10
  import { MCP_SERVER_DESCRIPTION, MCP_SERVER_ICON_URL, MCP_SERVER_NAME, MCP_SERVER_TITLE, MCP_SERVER_VERSION, MCP_SERVER_WEBSITE_URL, } from '../core/constants.js';
11
+ /**
12
+ * @name SERVER_METADATA
13
+ * @description Static metadata describing the SAP MCP server package.
14
+ *
15
+ * @property name — Server identifier name.
16
+ * @property title — Human-readable server title.
17
+ * @property version — Semver version string.
18
+ * @property description — Server description for MCP clients.
19
+ * @property author — Author or organization name.
20
+ * @property license — SPDX license identifier.
21
+ * @property homepage — Homepage URL.
22
+ * @property repository — Source code repository URL.
23
+ * @property bugs — Issue tracker URL.
24
+ * @property icon — Icon URL for MCP client display.
25
+ *
26
+ * @usedBy `server/index.ts`, health and info endpoints.
27
+ */
2
28
  export const SERVER_METADATA = {
3
29
  name: MCP_SERVER_NAME,
4
30
  title: MCP_SERVER_TITLE,
@@ -12,11 +38,17 @@ export const SERVER_METADATA = {
12
38
  icon: MCP_SERVER_ICON_URL,
13
39
  };
14
40
  /**
15
- * Shared capabilities definition used by the SAP MCP runtime.
41
+ * @name CAPABILITIES
42
+ * @description Summary of registered MCP capabilities and their category counts.
43
+ *
44
+ * @property tools.count — Total number of registered tools.
45
+ * @property tools.categories — Tool counts by category (sap, sns, agentKit, etc.).
46
+ *
47
+ * @usedBy `server/index.ts`, monitoring and health endpoints.
16
48
  */
17
49
  export const CAPABILITIES = {
18
50
  tools: {
19
- count: 248,
51
+ count: 312,
20
52
  categories: {
21
53
  sap: 75,
22
54
  sns: 13,
@@ -27,6 +59,7 @@ export const CAPABILITIES = {
27
59
  profiles: 4,
28
60
  skills: 3,
29
61
  chat: 8,
62
+ premium: 13,
30
63
  },
31
64
  },
32
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server-metadata.js","sourceRoot":"","sources":["../../src/server/server-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,sBAAsB;IACnC,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,sBAAsB;IAChC,UAAU,EAAE,0CAA0C;IACtD,IAAI,EAAE,iDAAiD;IACvD,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE;QACL,KAAK,EAAE,GAAG;QACV,UAAU,EAAE;YACV,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;SACR;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"server-metadata.js","sourceRoot":"","sources":["../../src/server/server-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,sBAAsB;IACnC,MAAM,EAAE,oBAAoB;IAC5B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,sBAAsB;IAChC,UAAU,EAAE,0CAA0C;IACtD,IAAI,EAAE,iDAAiD;IACvD,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE;QACL,KAAK,EAAE,GAAG;QACV,UAAU,EAAE;YACV,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,GAAG;YACb,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,EAAE;SACZ;KACF;CACF,CAAC"}
@@ -1,9 +1,27 @@
1
1
  /**
2
- * Agent session management
2
+ * @name session/agent-session
3
+ * @description Agent session lifecycle management — creation, activation checks, and permission checks.
4
+ *
5
+ * @flow
6
+ * 1. `createAgentSession` generates a new session with a UUID, filtered permissions,
7
+ * spending limits, and a 24-hour expiry.
8
+ * 2. `isSessionActive` checks whether a session is still within its expiry and budget.
9
+ * 3. `hasPermission` checks whether a session holds a specific permission.
10
+ *
11
+ * @module session/agent-session
3
12
  */
4
13
  import type { SapAgentSession, SapPermission } from '../core/types.js';
5
14
  /**
6
- * Create a new agent session
15
+ * @name createAgentSession
16
+ * @description Creates a new agent session with a unique id, filtered permissions, spending limits, and 24-hour expiry.
17
+ *
18
+ * @param data.agentId — Unique identifier for the agent.
19
+ * @param data.permissions — Array of permission strings (invalid ones are filtered out).
20
+ * @param data.spendingLimits — Spending limits for per-transaction, per-day, and per-session SOL amounts.
21
+ * @returns A `SapAgentSession` object with a generated `sessionId`, filtered permissions,
22
+ * remaining session balance set to `maxPerSessionSol`, and 24-hour expiry.
23
+ *
24
+ * @usedBy `delegated-session.ts:createDelegatedSession`.
7
25
  */
8
26
  export declare function createAgentSession(data: {
9
27
  agentId: string;
@@ -15,11 +33,24 @@ export declare function createAgentSession(data: {
15
33
  };
16
34
  }): SapAgentSession;
17
35
  /**
18
- * Validate session is still active
36
+ * @name isSessionActive
37
+ * @description Checks whether a session is still active (not expired and has remaining budget).
38
+ *
39
+ * @param session — The agent session to check.
40
+ * @returns `true` if the current time is before `expiresAt` and `remainingSessionSol > 0`, `false` otherwise.
41
+ *
42
+ * @usedBy Session validation across the SAP MCP runtime.
19
43
  */
20
44
  export declare function isSessionActive(session: SapAgentSession): boolean;
21
45
  /**
22
- * Check if session has permission
46
+ * @name hasPermission
47
+ * @description Checks whether a session holds a specific permission.
48
+ *
49
+ * @param session — The agent session to check.
50
+ * @param permission — The permission string to verify.
51
+ * @returns `true` if the session's permissions array includes the given permission, `false` otherwise.
52
+ *
53
+ * @usedBy Session validation across the SAP MCP runtime.
23
54
  */
24
55
  export declare function hasPermission(session: SapAgentSession, permission: SapPermission): boolean;
25
56
  //# sourceMappingURL=agent-session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/session/agent-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE;QACd,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,GAAG,eAAe,CAclB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAGjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,CAE1F"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/session/agent-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE;QACd,oBAAoB,EAAE,MAAM,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,GAAG,eAAe,CAclB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAGjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,GAAG,OAAO,CAE1F"}
@@ -1,9 +1,27 @@
1
1
  /**
2
- * Agent session management
2
+ * @name session/agent-session
3
+ * @description Agent session lifecycle management — creation, activation checks, and permission checks.
4
+ *
5
+ * @flow
6
+ * 1. `createAgentSession` generates a new session with a UUID, filtered permissions,
7
+ * spending limits, and a 24-hour expiry.
8
+ * 2. `isSessionActive` checks whether a session is still within its expiry and budget.
9
+ * 3. `hasPermission` checks whether a session holds a specific permission.
10
+ *
11
+ * @module session/agent-session
3
12
  */
4
13
  import { isValidPermission } from '../core/guards.js';
5
14
  /**
6
- * Create a new agent session
15
+ * @name createAgentSession
16
+ * @description Creates a new agent session with a unique id, filtered permissions, spending limits, and 24-hour expiry.
17
+ *
18
+ * @param data.agentId — Unique identifier for the agent.
19
+ * @param data.permissions — Array of permission strings (invalid ones are filtered out).
20
+ * @param data.spendingLimits — Spending limits for per-transaction, per-day, and per-session SOL amounts.
21
+ * @returns A `SapAgentSession` object with a generated `sessionId`, filtered permissions,
22
+ * remaining session balance set to `maxPerSessionSol`, and 24-hour expiry.
23
+ *
24
+ * @usedBy `delegated-session.ts:createDelegatedSession`.
7
25
  */
8
26
  export function createAgentSession(data) {
9
27
  const now = Date.now();
@@ -20,14 +38,27 @@ export function createAgentSession(data) {
20
38
  };
21
39
  }
22
40
  /**
23
- * Validate session is still active
41
+ * @name isSessionActive
42
+ * @description Checks whether a session is still active (not expired and has remaining budget).
43
+ *
44
+ * @param session — The agent session to check.
45
+ * @returns `true` if the current time is before `expiresAt` and `remainingSessionSol > 0`, `false` otherwise.
46
+ *
47
+ * @usedBy Session validation across the SAP MCP runtime.
24
48
  */
25
49
  export function isSessionActive(session) {
26
50
  const now = Date.now();
27
51
  return now < session.expiresAt && session.spendingLimits.remainingSessionSol > 0;
28
52
  }
29
53
  /**
30
- * Check if session has permission
54
+ * @name hasPermission
55
+ * @description Checks whether a session holds a specific permission.
56
+ *
57
+ * @param session — The agent session to check.
58
+ * @param permission — The permission string to verify.
59
+ * @returns `true` if the session's permissions array includes the given permission, `false` otherwise.
60
+ *
61
+ * @usedBy Session validation across the SAP MCP runtime.
31
62
  */
32
63
  export function hasPermission(session, permission) {
33
64
  return session.permissions.includes(permission);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/session/agent-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAQlC;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvD,cAAc,EAAE;YACd,GAAG,IAAI,CAAC,cAAc;YACtB,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB;SAC1D;QACD,SAAS,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;QACjD,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,mBAAmB,GAAG,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,UAAyB;IAC/E,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/session/agent-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAQlC;IACC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;QAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvD,cAAc,EAAE;YACd,GAAG,IAAI,CAAC,cAAc;YACtB,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB;SAC1D;QACD,SAAS,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;QACjD,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,OAAwB;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,mBAAmB,GAAG,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,UAAyB;IAC/E,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAClD,CAAC"}
@@ -1,9 +1,29 @@
1
1
  /**
2
- * Delegated session management
2
+ * @name session/delegated-session
3
+ * @description Delegated session management — creates and validates sessions that delegate
4
+ * agent capabilities to an MCP client with policy-enforced permissions.
5
+ *
6
+ * @flow
7
+ * 1. `createDelegatedSession` validates requested permissions against the policy engine,
8
+ * then creates a new agent session via `createAgentSession`.
9
+ * 2. `validateDelegatedSession` checks expiry, permission, and spending limits for an
10
+ * existing session before allowing a delegated action.
11
+ *
12
+ * @module session/delegated-session
3
13
  */
4
14
  import type { SapAgentSession, SapMcpContext, SapPermission } from '../core/types.js';
5
15
  /**
6
- * Create a delegated session
16
+ * @name createDelegatedSession
17
+ * @description Creates a delegated agent session with policy-validated permissions and spending limits.
18
+ *
19
+ * @param context — SAP MCP runtime context with policy engine.
20
+ * @param agentId — Unique identifier for the delegating agent.
21
+ * @param permissions — Array of permission strings to validate and grant.
22
+ * @param spendingLimits — Spending limits for per-transaction, per-day, and per-session SOL amounts.
23
+ * @returns A `SapAgentSession` with validated permissions and configured spending limits.
24
+ * @throws `PolicyError` if the requested permissions fail policy validation.
25
+ *
26
+ * @usedBy Delegated session MCP tools in the SAP MCP runtime.
7
27
  */
8
28
  export declare function createDelegatedSession(context: SapMcpContext, agentId: string, permissions: string[], spendingLimits: {
9
29
  maxPerTransactionSol: number;
@@ -11,7 +31,15 @@ export declare function createDelegatedSession(context: SapMcpContext, agentId:
11
31
  maxPerSessionSol: number;
12
32
  }): Promise<SapAgentSession>;
13
33
  /**
14
- * Validate delegated session
34
+ * @name validateDelegatedSession
35
+ * @description Validates an existing delegated session for a given permission and optional SOL amount.
36
+ *
37
+ * @param session — The agent session to validate.
38
+ * @param permission — The permission required for the action.
39
+ * @param amountSol — Optional SOL amount to check against remaining session balance.
40
+ * @returns `{ valid: true }` if all checks pass; `{ valid: false, error }` with a reason otherwise.
41
+ *
42
+ * @usedBy Delegated session MCP tools in the SAP MCP runtime.
15
43
  */
16
44
  export declare function validateDelegatedSession(session: SapAgentSession, permission: SapPermission, amountSol?: number): {
17
45
  valid: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-session.d.ts","sourceRoot":"","sources":["../../src/session/delegated-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtF;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,eAAe,CAAC,CAsB1B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,aAAa,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBpC"}
1
+ {"version":3,"file":"delegated-session.d.ts","sourceRoot":"","sources":["../../src/session/delegated-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtF;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,EACrB,cAAc,EAAE;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,eAAe,CAAC,CAsB1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,EACxB,UAAU,EAAE,aAAa,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBpC"}
@@ -1,11 +1,31 @@
1
1
  /**
2
- * Delegated session management
2
+ * @name session/delegated-session
3
+ * @description Delegated session management — creates and validates sessions that delegate
4
+ * agent capabilities to an MCP client with policy-enforced permissions.
5
+ *
6
+ * @flow
7
+ * 1. `createDelegatedSession` validates requested permissions against the policy engine,
8
+ * then creates a new agent session via `createAgentSession`.
9
+ * 2. `validateDelegatedSession` checks expiry, permission, and spending limits for an
10
+ * existing session before allowing a delegated action.
11
+ *
12
+ * @module session/delegated-session
3
13
  */
4
14
  import { logger } from '../core/logger.js';
5
15
  import { PolicyError } from '../core/errors.js';
6
16
  import { createAgentSession } from './agent-session.js';
7
17
  /**
8
- * Create a delegated session
18
+ * @name createDelegatedSession
19
+ * @description Creates a delegated agent session with policy-validated permissions and spending limits.
20
+ *
21
+ * @param context — SAP MCP runtime context with policy engine.
22
+ * @param agentId — Unique identifier for the delegating agent.
23
+ * @param permissions — Array of permission strings to validate and grant.
24
+ * @param spendingLimits — Spending limits for per-transaction, per-day, and per-session SOL amounts.
25
+ * @returns A `SapAgentSession` with validated permissions and configured spending limits.
26
+ * @throws `PolicyError` if the requested permissions fail policy validation.
27
+ *
28
+ * @usedBy Delegated session MCP tools in the SAP MCP runtime.
9
29
  */
10
30
  export async function createDelegatedSession(context, agentId, permissions, spendingLimits) {
11
31
  logger.info('Creating delegated session', { agentId, permissions });
@@ -24,7 +44,15 @@ export async function createDelegatedSession(context, agentId, permissions, spen
24
44
  return session;
25
45
  }
26
46
  /**
27
- * Validate delegated session
47
+ * @name validateDelegatedSession
48
+ * @description Validates an existing delegated session for a given permission and optional SOL amount.
49
+ *
50
+ * @param session — The agent session to validate.
51
+ * @param permission — The permission required for the action.
52
+ * @param amountSol — Optional SOL amount to check against remaining session balance.
53
+ * @returns `{ valid: true }` if all checks pass; `{ valid: false, error }` with a reason otherwise.
54
+ *
55
+ * @usedBy Delegated session MCP tools in the SAP MCP runtime.
28
56
  */
29
57
  export function validateDelegatedSession(session, permission, amountSol) {
30
58
  // Check if session is active
@@ -1 +1 @@
1
- {"version":3,"file":"delegated-session.js","sourceRoot":"","sources":["../../src/session/delegated-session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EACtB,OAAe,EACf,WAAqB,EACrB,cAIC;IAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpE,sCAAsC;IACtC,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,mBAAmB,CACzE,WAAW,CACZ,CAAC;IAEF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,OAAO;QACP,WAAW,EAAE,oBAAoB,CAAC,WAAW;QAC7C,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwB,EACxB,UAAyB,EACzB,SAAkB;IAElB,6BAA6B;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACpD,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACtE,CAAC;IAED,uBAAuB;IACvB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"delegated-session.js","sourceRoot":"","sources":["../../src/session/delegated-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAsB,EACtB,OAAe,EACf,WAAqB,EACrB,cAIC;IAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEpE,sCAAsC;IACtC,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,mBAAmB,CACzE,WAAW,CACZ,CAAC;IAEF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,IAAI,WAAW,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,OAAO;QACP,WAAW,EAAE,oBAAoB,CAAC,WAAW;QAC7C,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAwB,EACxB,UAAyB,EACzB,SAAkB;IAElB,6BAA6B;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IACpD,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,UAAU,EAAE,EAAE,CAAC;IACtE,CAAC;IAED,uBAAuB;IACvB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;YAC3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
@@ -1,5 +1,11 @@
1
1
  /**
2
- * Session module barrel export
2
+ * @name session/index
3
+ * @description Barrel export for the SAP MCP session module.
4
+ *
5
+ * Re-exports agent session lifecycle, delegated session, session store, permissions,
6
+ * spending limits, and session type definitions.
7
+ *
8
+ * @module session/index
3
9
  */
4
10
  export { createAgentSession, isSessionActive, hasPermission } from './agent-session.js';
5
11
  export { sessionStore } from './session-store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,11 @@
1
1
  /**
2
- * Session module barrel export
2
+ * @name session/index
3
+ * @description Barrel export for the SAP MCP session module.
4
+ *
5
+ * Re-exports agent session lifecycle, delegated session, session store, permissions,
6
+ * spending limits, and session type definitions.
7
+ *
8
+ * @module session/index
3
9
  */
4
10
  export { createAgentSession, isSessionActive, hasPermission } from './agent-session.js';
5
11
  export { sessionStore } from './session-store.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAMlD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  /**
2
- * Redis-backed session store for production deployments
2
+ * @name session/redis-session-store
3
+ * @description Redis-backed persistent session store for production SAP MCP deployments.
3
4
  *
4
5
  * Features:
5
6
  * - Persistent sessions across server restarts
@@ -7,17 +8,28 @@
7
8
  * - Automatic TTL-based expiration
8
9
  * - Memory-safe (no local storage)
9
10
  *
10
- * Usage:
11
- * ```typescript
12
- * const store = new RedisSessionStore('redis://localhost:6379');
13
- * await store.set('session-123', session);
14
- * const session = await store.get('session-123');
15
- * ```
11
+ * @flow
12
+ * 1. `createSessionStore` checks `SAP_MCP_USE_REDIS` env var and creates a `RedisSessionStore`
13
+ * or returns `null` for in-memory development mode.
14
+ * 2. `RedisSessionStore` manages session CRUD with automatic TTL based on session expiry.
15
+ * 3. A background cleanup interval removes expired sessions periodically.
16
+ *
17
+ * @env `SAP_MCP_USE_REDIS` — Set to `true` to enable Redis session storage.
18
+ * @env `SAP_MCP_REDIS_URL` — Redis connection URL (default `redis://localhost:6379`).
19
+ *
20
+ * @module session/redis-session-store
16
21
  */
17
22
  import { Redis } from 'ioredis';
18
23
  import type { SapAgentSession } from '../core/types.js';
19
24
  /**
20
- * Contract describing redis session store config data used by the SAP MCP runtime.
25
+ * @name RedisSessionStoreConfig
26
+ * @description Configuration for the Redis-backed session store.
27
+ *
28
+ * @property redisUrl — Redis connection URL.
29
+ * @property keyPrefix — Optional prefix for session keys in Redis (default `sap-mcp:session:`).
30
+ * @property cleanupIntervalMs — Optional cleanup interval in milliseconds (default 3600000 / 1 hour).
31
+ *
32
+ * @usedBy `RedisSessionStore`, `createSessionStore`
21
33
  */
22
34
  export interface RedisSessionStoreConfig {
23
35
  redisUrl: string;
@@ -25,44 +37,89 @@ export interface RedisSessionStoreConfig {
25
37
  cleanupIntervalMs?: number;
26
38
  }
27
39
  /**
28
- * Runtime service that implements redis session store behavior.
40
+ * @name RedisSessionStore
41
+ * @description Persistent session store backed by Redis with TTL-based expiration and periodic cleanup.
42
+ *
43
+ * @method connect — Establish the Redis connection.
44
+ * @method set — Store a session with TTL derived from its expiry.
45
+ * @method get — Retrieve a session by id.
46
+ * @method delete — Remove a session by id.
47
+ * @method getAll — Retrieve all active sessions (for debugging/admin).
48
+ * @method getCount — Get the total number of stored sessions.
49
+ * @method cleanup — Manually remove expired sessions.
50
+ * @method getStats — Get session statistics (total, active, expired).
51
+ * @method shutdown — Gracefully close the Redis connection and cleanup interval.
52
+ * @method getClient — Get the raw Redis client for advanced operations.
53
+ *
54
+ * @usedBy `createSessionStore`, distributed SAP MCP deployments.
29
55
  */
30
56
  export declare class RedisSessionStore {
31
57
  private redis;
32
58
  private keyPrefix;
33
59
  private cleanupInterval?;
34
60
  private isShuttingDown;
61
+ /**
62
+ * @name RedisSessionStore.constructor
63
+ * @description Creates a new Redis session store with merged config and starts the cleanup interval.
64
+ *
65
+ * @param config — Optional configuration overriding defaults.
66
+ */
35
67
  constructor(config?: RedisSessionStoreConfig);
36
68
  /**
37
- * Connect to Redis
69
+ * @name RedisSessionStore.connect
70
+ * @description Connects to the Redis server.
71
+ *
72
+ * @usedBy `createSessionStore`.
38
73
  */
39
74
  connect(): Promise<void>;
40
75
  /**
41
- * Store a session with TTL
76
+ * @name RedisSessionStore.set
77
+ * @description Stores a session in Redis with a TTL derived from its expiry timestamp.
78
+ *
79
+ * @param sessionId — Unique session identifier.
80
+ * @param session — The agent session to store.
42
81
  */
43
82
  set(sessionId: string, session: SapAgentSession): Promise<void>;
44
83
  /**
45
- * Get a session
84
+ * @name RedisSessionStore.get
85
+ * @description Retrieves a session by id from Redis.
86
+ *
87
+ * @param sessionId — Unique session identifier.
88
+ * @returns The session if found and parseable, `null` otherwise.
46
89
  */
47
90
  get(sessionId: string): Promise<SapAgentSession | null>;
48
91
  /**
49
- * Delete a session
92
+ * @name RedisSessionStore.delete
93
+ * @description Deletes a session from Redis by id.
94
+ *
95
+ * @param sessionId — Unique session identifier.
96
+ * @returns `true` if the session was deleted, `false` if it did not exist.
50
97
  */
51
98
  delete(sessionId: string): Promise<boolean>;
52
99
  /**
53
- * Get all active sessions (for debugging/admin)
100
+ * @name RedisSessionStore.getAll
101
+ * @description Retrieves all active sessions from Redis (for debugging/admin).
102
+ *
103
+ * @returns Array of all stored agent sessions.
54
104
  */
55
105
  getAll(): Promise<SapAgentSession[]>;
56
106
  /**
57
- * Get session count
107
+ * @name RedisSessionStore.getCount
108
+ * @description Returns the total number of stored sessions.
109
+ *
110
+ * @returns Count of session keys in Redis.
58
111
  */
59
112
  getCount(): Promise<number>;
60
113
  /**
61
- * Clean up expired sessions (manual trigger)
114
+ * @name RedisSessionStore.cleanup
115
+ * @description Manually removes expired sessions from Redis.
62
116
  */
63
117
  cleanup(): Promise<void>;
64
118
  /**
65
- * Get session statistics
119
+ * @name RedisSessionStore.getStats
120
+ * @description Returns session statistics (total, active, expired).
121
+ *
122
+ * @returns Object with `totalSessions`, `activeSessions`, and `expiredSessions` counts.
66
123
  */
67
124
  getStats(): Promise<{
68
125
  totalSessions: number;
@@ -70,20 +127,36 @@ export declare class RedisSessionStore {
70
127
  expiredSessions: number;
71
128
  }>;
72
129
  /**
73
- * Graceful shutdown
130
+ * @name RedisSessionStore.shutdown
131
+ * @description Gracefully shuts down the Redis connection and clears the cleanup interval.
74
132
  */
75
133
  shutdown(): Promise<void>;
76
134
  /**
77
- * Get Redis client (for advanced operations)
135
+ * @name RedisSessionStore.getClient
136
+ * @description Returns the raw Redis client instance for advanced operations.
137
+ *
138
+ * @returns The underlying `ioredis` Redis instance.
78
139
  */
79
140
  getClient(): InstanceType<typeof Redis>;
141
+ /** @description Builds the full Redis key from the prefix and session id. */
80
142
  private getKey;
143
+ /** @description Starts the periodic cleanup interval for expired sessions. */
81
144
  private startCleanup;
82
145
  }
83
146
  /**
84
- * Create session store with environment-based configuration
147
+ * @name createSessionStore
148
+ * @description Creates a session store based on environment configuration.
149
+ *
150
+ * Uses Redis in production (when `SAP_MCP_USE_REDIS=true`) and in-memory
151
+ * storage in development (returns `null`).
152
+ *
153
+ * @returns A connected `RedisSessionStore` if Redis is enabled, `null` otherwise.
154
+ * @throws If Redis connection fails after retries.
155
+ *
156
+ * @env `SAP_MCP_USE_REDIS` — Set to `true` to enable Redis.
157
+ * @env `SAP_MCP_REDIS_URL` — Redis connection URL (default `redis://localhost:6379`).
85
158
  *
86
- * Uses Redis in production, in-memory in development
159
+ * @usedBy Server initialization in the SAP MCP runtime.
87
160
  */
88
161
  export declare function createSessionStore(): Promise<RedisSessionStore | null>;
89
162
  //# sourceMappingURL=redis-session-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis-session-store.d.ts","sourceRoot":"","sources":["../../src/session/redis-session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAQD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAS;gBAEnB,MAAM,GAAE,uBAAwC;IA6B5D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAiB7D;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjD;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAkB1C;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IA6BF;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B;;OAEG;IACH,SAAS,IAAI,YAAY,CAAC,OAAO,KAAK,CAAC;IAIvC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;CAWrB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAa5E"}
1
+ {"version":3,"file":"redis-session-store.d.ts","sourceRoot":"","sources":["../../src/session/redis-session-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AASD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAS;IAE/B;;;;;OAKG;gBACS,MAAM,GAAE,uBAAwC;IA6B5D;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;;;;OAMG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrE;;;;;;OAMG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAiB7D;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOjD;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAkB1C;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAKjC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IA6BF;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B;;;;;OAKG;IACH,SAAS,IAAI,YAAY,CAAC,OAAO,KAAK,CAAC;IAIvC,6EAA6E;IAC7E,OAAO,CAAC,MAAM;IAId,8EAA8E;IAC9E,OAAO,CAAC,YAAY;CAWrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAa5E"}