@oobe-protocol-labs/sap-mcp-server 0.1.0

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 (593) hide show
  1. package/.env.example +159 -0
  2. package/CHANGELOG.md +55 -0
  3. package/LICENSE +21 -0
  4. package/README.md +223 -0
  5. package/config.example.json +64 -0
  6. package/config.schema.json +370 -0
  7. package/config.secure-example.json +100 -0
  8. package/dist/adapters/index.d.ts +6 -0
  9. package/dist/adapters/index.d.ts.map +1 -0
  10. package/dist/adapters/index.js +6 -0
  11. package/dist/adapters/index.js.map +1 -0
  12. package/dist/adapters/mcp/errors.d.ts +7 -0
  13. package/dist/adapters/mcp/errors.d.ts.map +1 -0
  14. package/dist/adapters/mcp/errors.js +10 -0
  15. package/dist/adapters/mcp/errors.js.map +1 -0
  16. package/dist/adapters/mcp/index.d.ts +8 -0
  17. package/dist/adapters/mcp/index.d.ts.map +1 -0
  18. package/dist/adapters/mcp/index.js +8 -0
  19. package/dist/adapters/mcp/index.js.map +1 -0
  20. package/dist/adapters/mcp/prompt-response.d.ts +13 -0
  21. package/dist/adapters/mcp/prompt-response.d.ts.map +1 -0
  22. package/dist/adapters/mcp/prompt-response.js +7 -0
  23. package/dist/adapters/mcp/prompt-response.js.map +1 -0
  24. package/dist/adapters/mcp/resource-response.d.ts +8 -0
  25. package/dist/adapters/mcp/resource-response.d.ts.map +1 -0
  26. package/dist/adapters/mcp/resource-response.js +7 -0
  27. package/dist/adapters/mcp/resource-response.js.map +1 -0
  28. package/dist/adapters/mcp/sdk-compat.d.ts +191 -0
  29. package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -0
  30. package/dist/adapters/mcp/sdk-compat.js +606 -0
  31. package/dist/adapters/mcp/sdk-compat.js.map +1 -0
  32. package/dist/adapters/mcp/tool-response.d.ts +32 -0
  33. package/dist/adapters/mcp/tool-response.d.ts.map +1 -0
  34. package/dist/adapters/mcp/tool-response.js +27 -0
  35. package/dist/adapters/mcp/tool-response.js.map +1 -0
  36. package/dist/adapters/solana/commitment.d.ts +9 -0
  37. package/dist/adapters/solana/commitment.d.ts.map +1 -0
  38. package/dist/adapters/solana/commitment.js +14 -0
  39. package/dist/adapters/solana/commitment.js.map +1 -0
  40. package/dist/adapters/solana/connection.d.ts +10 -0
  41. package/dist/adapters/solana/connection.d.ts.map +1 -0
  42. package/dist/adapters/solana/connection.js +13 -0
  43. package/dist/adapters/solana/connection.js.map +1 -0
  44. package/dist/adapters/solana/index.d.ts +7 -0
  45. package/dist/adapters/solana/index.d.ts.map +1 -0
  46. package/dist/adapters/solana/index.js +7 -0
  47. package/dist/adapters/solana/index.js.map +1 -0
  48. package/dist/adapters/solana/public-key.d.ts +9 -0
  49. package/dist/adapters/solana/public-key.d.ts.map +1 -0
  50. package/dist/adapters/solana/public-key.js +11 -0
  51. package/dist/adapters/solana/public-key.js.map +1 -0
  52. package/dist/cli.d.ts +29 -0
  53. package/dist/cli.d.ts.map +1 -0
  54. package/dist/cli.js +269 -0
  55. package/dist/cli.js.map +1 -0
  56. package/dist/config/defaults.d.ts +28 -0
  57. package/dist/config/defaults.d.ts.map +1 -0
  58. package/dist/config/defaults.js +28 -0
  59. package/dist/config/defaults.js.map +1 -0
  60. package/dist/config/env.d.ts +297 -0
  61. package/dist/config/env.d.ts.map +1 -0
  62. package/dist/config/env.js +563 -0
  63. package/dist/config/env.js.map +1 -0
  64. package/dist/config/index.d.ts +7 -0
  65. package/dist/config/index.d.ts.map +1 -0
  66. package/dist/config/index.js +7 -0
  67. package/dist/config/index.js.map +1 -0
  68. package/dist/config/mcp-client-injection.d.ts +113 -0
  69. package/dist/config/mcp-client-injection.d.ts.map +1 -0
  70. package/dist/config/mcp-client-injection.js +453 -0
  71. package/dist/config/mcp-client-injection.js.map +1 -0
  72. package/dist/config/paths.d.ts +37 -0
  73. package/dist/config/paths.d.ts.map +1 -0
  74. package/dist/config/paths.js +93 -0
  75. package/dist/config/paths.js.map +1 -0
  76. package/dist/config/profiles.d.ts +85 -0
  77. package/dist/config/profiles.d.ts.map +1 -0
  78. package/dist/config/profiles.js +346 -0
  79. package/dist/config/profiles.js.map +1 -0
  80. package/dist/config/schema.d.ts +9 -0
  81. package/dist/config/schema.d.ts.map +1 -0
  82. package/dist/config/schema.js +8 -0
  83. package/dist/config/schema.js.map +1 -0
  84. package/dist/config/secure-config.d.ts +607 -0
  85. package/dist/config/secure-config.d.ts.map +1 -0
  86. package/dist/config/secure-config.js +526 -0
  87. package/dist/config/secure-config.js.map +1 -0
  88. package/dist/config/setup.d.ts +42 -0
  89. package/dist/config/setup.d.ts.map +1 -0
  90. package/dist/config/setup.js +173 -0
  91. package/dist/config/setup.js.map +1 -0
  92. package/dist/config/wizard.d.ts +15 -0
  93. package/dist/config/wizard.d.ts.map +1 -0
  94. package/dist/config/wizard.js +1176 -0
  95. package/dist/config/wizard.js.map +1 -0
  96. package/dist/config-cli.d.ts +21 -0
  97. package/dist/config-cli.d.ts.map +1 -0
  98. package/dist/config-cli.js +679 -0
  99. package/dist/config-cli.js.map +1 -0
  100. package/dist/core/constants.d.ts +78 -0
  101. package/dist/core/constants.d.ts.map +1 -0
  102. package/dist/core/constants.js +78 -0
  103. package/dist/core/constants.js.map +1 -0
  104. package/dist/core/errors.d.ts +188 -0
  105. package/dist/core/errors.d.ts.map +1 -0
  106. package/dist/core/errors.js +337 -0
  107. package/dist/core/errors.js.map +1 -0
  108. package/dist/core/guards.d.ts +41 -0
  109. package/dist/core/guards.d.ts.map +1 -0
  110. package/dist/core/guards.js +93 -0
  111. package/dist/core/guards.js.map +1 -0
  112. package/dist/core/index.d.ts +11 -0
  113. package/dist/core/index.d.ts.map +1 -0
  114. package/dist/core/index.js +10 -0
  115. package/dist/core/index.js.map +1 -0
  116. package/dist/core/logger.d.ts +64 -0
  117. package/dist/core/logger.d.ts.map +1 -0
  118. package/dist/core/logger.js +159 -0
  119. package/dist/core/logger.js.map +1 -0
  120. package/dist/core/result.d.ts +49 -0
  121. package/dist/core/result.d.ts.map +1 -0
  122. package/dist/core/result.js +61 -0
  123. package/dist/core/result.js.map +1 -0
  124. package/dist/core/types.d.ts +147 -0
  125. package/dist/core/types.d.ts.map +1 -0
  126. package/dist/core/types.js +8 -0
  127. package/dist/core/types.js.map +1 -0
  128. package/dist/index.d.ts +18 -0
  129. package/dist/index.d.ts.map +1 -0
  130. package/dist/index.js +15 -0
  131. package/dist/index.js.map +1 -0
  132. package/dist/payments/http-adapter.d.ts +76 -0
  133. package/dist/payments/http-adapter.d.ts.map +1 -0
  134. package/dist/payments/http-adapter.js +126 -0
  135. package/dist/payments/http-adapter.js.map +1 -0
  136. package/dist/payments/index.d.ts +12 -0
  137. package/dist/payments/index.d.ts.map +1 -0
  138. package/dist/payments/index.js +9 -0
  139. package/dist/payments/index.js.map +1 -0
  140. package/dist/payments/json-rpc.d.ts +49 -0
  141. package/dist/payments/json-rpc.d.ts.map +1 -0
  142. package/dist/payments/json-rpc.js +53 -0
  143. package/dist/payments/json-rpc.js.map +1 -0
  144. package/dist/payments/monetization-gate.d.ts +49 -0
  145. package/dist/payments/monetization-gate.d.ts.map +1 -0
  146. package/dist/payments/monetization-gate.js +398 -0
  147. package/dist/payments/monetization-gate.js.map +1 -0
  148. package/dist/payments/oobe-facilitator-server.d.ts +71 -0
  149. package/dist/payments/oobe-facilitator-server.d.ts.map +1 -0
  150. package/dist/payments/oobe-facilitator-server.js +409 -0
  151. package/dist/payments/oobe-facilitator-server.js.map +1 -0
  152. package/dist/payments/pay-sh-spec.d.ts +44 -0
  153. package/dist/payments/pay-sh-spec.d.ts.map +1 -0
  154. package/dist/payments/pay-sh-spec.js +218 -0
  155. package/dist/payments/pay-sh-spec.js.map +1 -0
  156. package/dist/payments/pricing.d.ts +60 -0
  157. package/dist/payments/pricing.d.ts.map +1 -0
  158. package/dist/payments/pricing.js +272 -0
  159. package/dist/payments/pricing.js.map +1 -0
  160. package/dist/payments/usage-ledger.d.ts +84 -0
  161. package/dist/payments/usage-ledger.d.ts.map +1 -0
  162. package/dist/payments/usage-ledger.js +126 -0
  163. package/dist/payments/usage-ledger.js.map +1 -0
  164. package/dist/policy/bento-policy-engine.d.ts +71 -0
  165. package/dist/policy/bento-policy-engine.d.ts.map +1 -0
  166. package/dist/policy/bento-policy-engine.js +218 -0
  167. package/dist/policy/bento-policy-engine.js.map +1 -0
  168. package/dist/policy/default-policies.d.ts +9 -0
  169. package/dist/policy/default-policies.d.ts.map +1 -0
  170. package/dist/policy/default-policies.js +69 -0
  171. package/dist/policy/default-policies.js.map +1 -0
  172. package/dist/policy/hybrid-policy-engine.d.ts +95 -0
  173. package/dist/policy/hybrid-policy-engine.d.ts.map +1 -0
  174. package/dist/policy/hybrid-policy-engine.js +297 -0
  175. package/dist/policy/hybrid-policy-engine.js.map +1 -0
  176. package/dist/policy/index.d.ts +10 -0
  177. package/dist/policy/index.d.ts.map +1 -0
  178. package/dist/policy/index.js +10 -0
  179. package/dist/policy/index.js.map +1 -0
  180. package/dist/policy/local-policy-engine.d.ts +119 -0
  181. package/dist/policy/local-policy-engine.d.ts.map +1 -0
  182. package/dist/policy/local-policy-engine.js +318 -0
  183. package/dist/policy/local-policy-engine.js.map +1 -0
  184. package/dist/policy/permission-checks.d.ts +19 -0
  185. package/dist/policy/permission-checks.d.ts.map +1 -0
  186. package/dist/policy/permission-checks.js +60 -0
  187. package/dist/policy/permission-checks.js.map +1 -0
  188. package/dist/policy/policy-engine.d.ts +57 -0
  189. package/dist/policy/policy-engine.d.ts.map +1 -0
  190. package/dist/policy/policy-engine.js +162 -0
  191. package/dist/policy/policy-engine.js.map +1 -0
  192. package/dist/policy/policy-types.d.ts +46 -0
  193. package/dist/policy/policy-types.d.ts.map +1 -0
  194. package/dist/policy/policy-types.js +5 -0
  195. package/dist/policy/policy-types.js.map +1 -0
  196. package/dist/policy/risk-level.d.ts +18 -0
  197. package/dist/policy/risk-level.d.ts.map +1 -0
  198. package/dist/policy/risk-level.js +46 -0
  199. package/dist/policy/risk-level.js.map +1 -0
  200. package/dist/policy/spending-limits.d.ts +17 -0
  201. package/dist/policy/spending-limits.d.ts.map +1 -0
  202. package/dist/policy/spending-limits.js +40 -0
  203. package/dist/policy/spending-limits.js.map +1 -0
  204. package/dist/prompts/context/sap-agent-context.prompt.d.ts +64 -0
  205. package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -0
  206. package/dist/prompts/context/sap-agent-context.prompt.js +336 -0
  207. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -0
  208. package/dist/prompts/developer/debug-sap-error.prompt.d.ts +13 -0
  209. package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -0
  210. package/dist/prompts/developer/debug-sap-error.prompt.js +78 -0
  211. package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -0
  212. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +13 -0
  213. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -0
  214. package/dist/prompts/developer/generate-sap-integration.prompt.js +132 -0
  215. package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -0
  216. package/dist/prompts/developer/index.d.ts +6 -0
  217. package/dist/prompts/developer/index.d.ts.map +1 -0
  218. package/dist/prompts/developer/index.js +6 -0
  219. package/dist/prompts/developer/index.js.map +1 -0
  220. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +13 -0
  221. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -0
  222. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +97 -0
  223. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -0
  224. package/dist/prompts/execution-proof/index.d.ts +6 -0
  225. package/dist/prompts/execution-proof/index.d.ts.map +1 -0
  226. package/dist/prompts/execution-proof/index.js +6 -0
  227. package/dist/prompts/execution-proof/index.js.map +1 -0
  228. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +13 -0
  229. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -0
  230. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +95 -0
  231. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -0
  232. package/dist/prompts/index.d.ts +5 -0
  233. package/dist/prompts/index.d.ts.map +1 -0
  234. package/dist/prompts/index.js +5 -0
  235. package/dist/prompts/index.js.map +1 -0
  236. package/dist/prompts/payments/create-paid-api.prompt.d.ts +13 -0
  237. package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -0
  238. package/dist/prompts/payments/create-paid-api.prompt.js +142 -0
  239. package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -0
  240. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +13 -0
  241. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -0
  242. package/dist/prompts/payments/explain-x402-settlement.prompt.js +83 -0
  243. package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -0
  244. package/dist/prompts/payments/index.d.ts +6 -0
  245. package/dist/prompts/payments/index.d.ts.map +1 -0
  246. package/dist/prompts/payments/index.js +6 -0
  247. package/dist/prompts/payments/index.js.map +1 -0
  248. package/dist/prompts/register-prompts.d.ts +10 -0
  249. package/dist/prompts/register-prompts.d.ts.map +1 -0
  250. package/dist/prompts/register-prompts.js +40 -0
  251. package/dist/prompts/register-prompts.js.map +1 -0
  252. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +13 -0
  253. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -0
  254. package/dist/prompts/registry/analyze-sap-agent.prompt.js +85 -0
  255. package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -0
  256. package/dist/prompts/registry/index.d.ts +6 -0
  257. package/dist/prompts/registry/index.d.ts.map +1 -0
  258. package/dist/prompts/registry/index.js +6 -0
  259. package/dist/prompts/registry/index.js.map +1 -0
  260. package/dist/prompts/registry/register-sap-agent.prompt.d.ts +13 -0
  261. package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -0
  262. package/dist/prompts/registry/register-sap-agent.prompt.js +152 -0
  263. package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -0
  264. package/dist/remote/auth/index.d.ts +86 -0
  265. package/dist/remote/auth/index.d.ts.map +1 -0
  266. package/dist/remote/auth/index.js +152 -0
  267. package/dist/remote/auth/index.js.map +1 -0
  268. package/dist/remote/server.d.ts +140 -0
  269. package/dist/remote/server.d.ts.map +1 -0
  270. package/dist/remote/server.js +412 -0
  271. package/dist/remote/server.js.map +1 -0
  272. package/dist/resources/current/sap-current-config.resource.d.ts +30 -0
  273. package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -0
  274. package/dist/resources/current/sap-current-config.resource.js +142 -0
  275. package/dist/resources/current/sap-current-config.resource.js.map +1 -0
  276. package/dist/resources/execution-proof/index.d.ts +5 -0
  277. package/dist/resources/execution-proof/index.d.ts.map +1 -0
  278. package/dist/resources/execution-proof/index.js +5 -0
  279. package/dist/resources/execution-proof/index.js.map +1 -0
  280. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +13 -0
  281. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -0
  282. package/dist/resources/execution-proof/sap-execution-record.resource.js +75 -0
  283. package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -0
  284. package/dist/resources/index.d.ts +5 -0
  285. package/dist/resources/index.d.ts.map +1 -0
  286. package/dist/resources/index.js +5 -0
  287. package/dist/resources/index.js.map +1 -0
  288. package/dist/resources/memory/index.d.ts +5 -0
  289. package/dist/resources/memory/index.d.ts.map +1 -0
  290. package/dist/resources/memory/index.js +5 -0
  291. package/dist/resources/memory/index.js.map +1 -0
  292. package/dist/resources/memory/sap-memory.resource.d.ts +13 -0
  293. package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -0
  294. package/dist/resources/memory/sap-memory.resource.js +77 -0
  295. package/dist/resources/memory/sap-memory.resource.js.map +1 -0
  296. package/dist/resources/profile/sap-active-profile.resource.d.ts +51 -0
  297. package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -0
  298. package/dist/resources/profile/sap-active-profile.resource.js +119 -0
  299. package/dist/resources/profile/sap-active-profile.resource.js.map +1 -0
  300. package/dist/resources/register-resources.d.ts +10 -0
  301. package/dist/resources/register-resources.d.ts.map +1 -0
  302. package/dist/resources/register-resources.js +33 -0
  303. package/dist/resources/register-resources.js.map +1 -0
  304. package/dist/resources/registry/index.d.ts +6 -0
  305. package/dist/resources/registry/index.d.ts.map +1 -0
  306. package/dist/resources/registry/index.js +6 -0
  307. package/dist/resources/registry/index.js.map +1 -0
  308. package/dist/resources/registry/sap-agent.resource.d.ts +13 -0
  309. package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -0
  310. package/dist/resources/registry/sap-agent.resource.js +75 -0
  311. package/dist/resources/registry/sap-agent.resource.js.map +1 -0
  312. package/dist/resources/registry/sap-global-registry.resource.d.ts +13 -0
  313. package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -0
  314. package/dist/resources/registry/sap-global-registry.resource.js +71 -0
  315. package/dist/resources/registry/sap-global-registry.resource.js.map +1 -0
  316. package/dist/resources/reputation/index.d.ts +5 -0
  317. package/dist/resources/reputation/index.d.ts.map +1 -0
  318. package/dist/resources/reputation/index.js +5 -0
  319. package/dist/resources/reputation/index.js.map +1 -0
  320. package/dist/resources/reputation/sap-reputation.resource.d.ts +13 -0
  321. package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -0
  322. package/dist/resources/reputation/sap-reputation.resource.js +75 -0
  323. package/dist/resources/reputation/sap-reputation.resource.js.map +1 -0
  324. package/dist/resources/stats/sap-network-stats.resource.d.ts +14 -0
  325. package/dist/resources/stats/sap-network-stats.resource.d.ts.map +1 -0
  326. package/dist/resources/stats/sap-network-stats.resource.js +86 -0
  327. package/dist/resources/stats/sap-network-stats.resource.js.map +1 -0
  328. package/dist/resources/tool-schema/index.d.ts +5 -0
  329. package/dist/resources/tool-schema/index.d.ts.map +1 -0
  330. package/dist/resources/tool-schema/index.js +5 -0
  331. package/dist/resources/tool-schema/index.js.map +1 -0
  332. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +13 -0
  333. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -0
  334. package/dist/resources/tool-schema/sap-tool-schema.resource.js +75 -0
  335. package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -0
  336. package/dist/sap/index.d.ts +7 -0
  337. package/dist/sap/index.d.ts.map +1 -0
  338. package/dist/sap/index.js +6 -0
  339. package/dist/sap/index.js.map +1 -0
  340. package/dist/sap/sap-client-manager.d.ts +54 -0
  341. package/dist/sap/sap-client-manager.d.ts.map +1 -0
  342. package/dist/sap/sap-client-manager.js +129 -0
  343. package/dist/sap/sap-client-manager.js.map +1 -0
  344. package/dist/sap/sap-errors.d.ts +13 -0
  345. package/dist/sap/sap-errors.d.ts.map +1 -0
  346. package/dist/sap/sap-errors.js +23 -0
  347. package/dist/sap/sap-errors.js.map +1 -0
  348. package/dist/sap/sap-types.d.ts +69 -0
  349. package/dist/sap/sap-types.d.ts.map +1 -0
  350. package/dist/sap/sap-types.js +5 -0
  351. package/dist/sap/sap-types.js.map +1 -0
  352. package/dist/schemas/common.schema.d.ts +42 -0
  353. package/dist/schemas/common.schema.d.ts.map +1 -0
  354. package/dist/schemas/common.schema.js +36 -0
  355. package/dist/schemas/common.schema.js.map +1 -0
  356. package/dist/schemas/developer.schema.d.ts +31 -0
  357. package/dist/schemas/developer.schema.d.ts.map +1 -0
  358. package/dist/schemas/developer.schema.js +19 -0
  359. package/dist/schemas/developer.schema.js.map +1 -0
  360. package/dist/schemas/execution-proof.schema.d.ts +44 -0
  361. package/dist/schemas/execution-proof.schema.d.ts.map +1 -0
  362. package/dist/schemas/execution-proof.schema.js +26 -0
  363. package/dist/schemas/execution-proof.schema.js.map +1 -0
  364. package/dist/schemas/identity.schema.d.ts +34 -0
  365. package/dist/schemas/identity.schema.d.ts.map +1 -0
  366. package/dist/schemas/identity.schema.js +21 -0
  367. package/dist/schemas/identity.schema.js.map +1 -0
  368. package/dist/schemas/index.d.ts +15 -0
  369. package/dist/schemas/index.d.ts.map +1 -0
  370. package/dist/schemas/index.js +15 -0
  371. package/dist/schemas/index.js.map +1 -0
  372. package/dist/schemas/memory.schema.d.ts +34 -0
  373. package/dist/schemas/memory.schema.d.ts.map +1 -0
  374. package/dist/schemas/memory.schema.js +21 -0
  375. package/dist/schemas/memory.schema.js.map +1 -0
  376. package/dist/schemas/payments.schema.d.ts +37 -0
  377. package/dist/schemas/payments.schema.d.ts.map +1 -0
  378. package/dist/schemas/payments.schema.js +22 -0
  379. package/dist/schemas/payments.schema.js.map +1 -0
  380. package/dist/schemas/registry.schema.d.ts +65 -0
  381. package/dist/schemas/registry.schema.d.ts.map +1 -0
  382. package/dist/schemas/registry.schema.js +34 -0
  383. package/dist/schemas/registry.schema.js.map +1 -0
  384. package/dist/schemas/reputation.schema.d.ts +31 -0
  385. package/dist/schemas/reputation.schema.d.ts.map +1 -0
  386. package/dist/schemas/reputation.schema.js +20 -0
  387. package/dist/schemas/reputation.schema.js.map +1 -0
  388. package/dist/schemas/settlement.schema.d.ts +50 -0
  389. package/dist/schemas/settlement.schema.d.ts.map +1 -0
  390. package/dist/schemas/settlement.schema.js +29 -0
  391. package/dist/schemas/settlement.schema.js.map +1 -0
  392. package/dist/schemas/tool-schema.schema.d.ts +56 -0
  393. package/dist/schemas/tool-schema.schema.d.ts.map +1 -0
  394. package/dist/schemas/tool-schema.schema.js +26 -0
  395. package/dist/schemas/tool-schema.schema.js.map +1 -0
  396. package/dist/schemas/transaction.schema.d.ts +34 -0
  397. package/dist/schemas/transaction.schema.d.ts.map +1 -0
  398. package/dist/schemas/transaction.schema.js +20 -0
  399. package/dist/schemas/transaction.schema.js.map +1 -0
  400. package/dist/security/approval-required.d.ts +9 -0
  401. package/dist/security/approval-required.d.ts.map +1 -0
  402. package/dist/security/approval-required.js +10 -0
  403. package/dist/security/approval-required.js.map +1 -0
  404. package/dist/security/index.d.ts +9 -0
  405. package/dist/security/index.d.ts.map +1 -0
  406. package/dist/security/index.js +9 -0
  407. package/dist/security/index.js.map +1 -0
  408. package/dist/security/private-key-guard.d.ts +11 -0
  409. package/dist/security/private-key-guard.d.ts.map +1 -0
  410. package/dist/security/private-key-guard.js +22 -0
  411. package/dist/security/private-key-guard.js.map +1 -0
  412. package/dist/security/prompt-injection-notes.d.ts +13 -0
  413. package/dist/security/prompt-injection-notes.d.ts.map +1 -0
  414. package/dist/security/prompt-injection-notes.js +23 -0
  415. package/dist/security/prompt-injection-notes.js.map +1 -0
  416. package/dist/security/tool-permissions.d.ts +30 -0
  417. package/dist/security/tool-permissions.d.ts.map +1 -0
  418. package/dist/security/tool-permissions.js +270 -0
  419. package/dist/security/tool-permissions.js.map +1 -0
  420. package/dist/security/unsafe-action-guard.d.ts +28 -0
  421. package/dist/security/unsafe-action-guard.d.ts.map +1 -0
  422. package/dist/security/unsafe-action-guard.js +175 -0
  423. package/dist/security/unsafe-action-guard.js.map +1 -0
  424. package/dist/server/create-server.d.ts +12 -0
  425. package/dist/server/create-server.d.ts.map +1 -0
  426. package/dist/server/create-server.js +57 -0
  427. package/dist/server/create-server.js.map +1 -0
  428. package/dist/server/index.d.ts +7 -0
  429. package/dist/server/index.d.ts.map +1 -0
  430. package/dist/server/index.js +7 -0
  431. package/dist/server/index.js.map +1 -0
  432. package/dist/server/register-capabilities.d.ts +10 -0
  433. package/dist/server/register-capabilities.d.ts.map +1 -0
  434. package/dist/server/register-capabilities.js +23 -0
  435. package/dist/server/register-capabilities.js.map +1 -0
  436. package/dist/server/server-metadata.d.ts +32 -0
  437. package/dist/server/server-metadata.d.ts.map +1 -0
  438. package/dist/server/server-metadata.js +32 -0
  439. package/dist/server/server-metadata.js.map +1 -0
  440. package/dist/session/agent-session.d.ts +25 -0
  441. package/dist/session/agent-session.d.ts.map +1 -0
  442. package/dist/session/agent-session.js +35 -0
  443. package/dist/session/agent-session.js.map +1 -0
  444. package/dist/session/delegated-session.d.ts +20 -0
  445. package/dist/session/delegated-session.d.ts.map +1 -0
  446. package/dist/session/delegated-session.js +47 -0
  447. package/dist/session/delegated-session.js.map +1 -0
  448. package/dist/session/index.d.ts +10 -0
  449. package/dist/session/index.d.ts.map +1 -0
  450. package/dist/session/index.js +9 -0
  451. package/dist/session/index.js.map +1 -0
  452. package/dist/session/redis-session-store.d.ts +89 -0
  453. package/dist/session/redis-session-store.d.ts.map +1 -0
  454. package/dist/session/redis-session-store.js +219 -0
  455. package/dist/session/redis-session-store.js.map +1 -0
  456. package/dist/session/session-limits.d.ts +20 -0
  457. package/dist/session/session-limits.d.ts.map +1 -0
  458. package/dist/session/session-limits.js +55 -0
  459. package/dist/session/session-limits.js.map +1 -0
  460. package/dist/session/session-permissions.d.ts +37 -0
  461. package/dist/session/session-permissions.d.ts.map +1 -0
  462. package/dist/session/session-permissions.js +58 -0
  463. package/dist/session/session-permissions.js.map +1 -0
  464. package/dist/session/session-store.d.ts +38 -0
  465. package/dist/session/session-store.d.ts.map +1 -0
  466. package/dist/session/session-store.js +62 -0
  467. package/dist/session/session-store.js.map +1 -0
  468. package/dist/session/session-types.d.ts +33 -0
  469. package/dist/session/session-types.d.ts.map +1 -0
  470. package/dist/session/session-types.js +5 -0
  471. package/dist/session/session-types.js.map +1 -0
  472. package/dist/signer/external-signer.d.ts +16 -0
  473. package/dist/signer/external-signer.d.ts.map +1 -0
  474. package/dist/signer/external-signer.js +128 -0
  475. package/dist/signer/external-signer.js.map +1 -0
  476. package/dist/signer/index.d.ts +9 -0
  477. package/dist/signer/index.d.ts.map +1 -0
  478. package/dist/signer/index.js +8 -0
  479. package/dist/signer/index.js.map +1 -0
  480. package/dist/signer/load-keypair.d.ts +15 -0
  481. package/dist/signer/load-keypair.d.ts.map +1 -0
  482. package/dist/signer/load-keypair.js +39 -0
  483. package/dist/signer/load-keypair.js.map +1 -0
  484. package/dist/signer/local-keypair-signer.d.ts +11 -0
  485. package/dist/signer/local-keypair-signer.d.ts.map +1 -0
  486. package/dist/signer/local-keypair-signer.js +46 -0
  487. package/dist/signer/local-keypair-signer.js.map +1 -0
  488. package/dist/signer/signer-resolver.d.ts +10 -0
  489. package/dist/signer/signer-resolver.d.ts.map +1 -0
  490. package/dist/signer/signer-resolver.js +63 -0
  491. package/dist/signer/signer-resolver.js.map +1 -0
  492. package/dist/signer/signer-types.d.ts +35 -0
  493. package/dist/signer/signer-types.d.ts.map +1 -0
  494. package/dist/signer/signer-types.js +5 -0
  495. package/dist/signer/signer-types.js.map +1 -0
  496. package/dist/signer/signing-proxy.d.ts +45 -0
  497. package/dist/signer/signing-proxy.d.ts.map +1 -0
  498. package/dist/signer/signing-proxy.js +300 -0
  499. package/dist/signer/signing-proxy.js.map +1 -0
  500. package/dist/tools/client-sdk-tools.d.ts +22 -0
  501. package/dist/tools/client-sdk-tools.d.ts.map +1 -0
  502. package/dist/tools/client-sdk-tools.js +220 -0
  503. package/dist/tools/client-sdk-tools.js.map +1 -0
  504. package/dist/tools/index.d.ts +11 -0
  505. package/dist/tools/index.d.ts.map +1 -0
  506. package/dist/tools/index.js +17 -0
  507. package/dist/tools/index.js.map +1 -0
  508. package/dist/tools/profile-tools.d.ts +12 -0
  509. package/dist/tools/profile-tools.d.ts.map +1 -0
  510. package/dist/tools/profile-tools.js +250 -0
  511. package/dist/tools/profile-tools.js.map +1 -0
  512. package/dist/tools/register-tools.d.ts +12 -0
  513. package/dist/tools/register-tools.d.ts.map +1 -0
  514. package/dist/tools/register-tools.js +36 -0
  515. package/dist/tools/register-tools.js.map +1 -0
  516. package/dist/tools/sap-network-stats.tool.d.ts +14 -0
  517. package/dist/tools/sap-network-stats.tool.d.ts.map +1 -0
  518. package/dist/tools/sap-network-stats.tool.js +101 -0
  519. package/dist/tools/sap-network-stats.tool.js.map +1 -0
  520. package/dist/tools/sap-sdk-tools.d.ts +15 -0
  521. package/dist/tools/sap-sdk-tools.d.ts.map +1 -0
  522. package/dist/tools/sap-sdk-tools.js +1515 -0
  523. package/dist/tools/sap-sdk-tools.js.map +1 -0
  524. package/dist/tools/sap-sns-tools.d.ts +35 -0
  525. package/dist/tools/sap-sns-tools.d.ts.map +1 -0
  526. package/dist/tools/sap-sns-tools.js +626 -0
  527. package/dist/tools/sap-sns-tools.js.map +1 -0
  528. package/dist/tools/skills-tools.d.ts +12 -0
  529. package/dist/tools/skills-tools.d.ts.map +1 -0
  530. package/dist/tools/skills-tools.js +273 -0
  531. package/dist/tools/skills-tools.js.map +1 -0
  532. package/dist/tools/transaction-tools.d.ts +14 -0
  533. package/dist/tools/transaction-tools.d.ts.map +1 -0
  534. package/dist/tools/transaction-tools.js +297 -0
  535. package/dist/tools/transaction-tools.js.map +1 -0
  536. package/dist/transports/http.d.ts +40 -0
  537. package/dist/transports/http.d.ts.map +1 -0
  538. package/dist/transports/http.js +212 -0
  539. package/dist/transports/http.js.map +1 -0
  540. package/dist/transports/index.d.ts +6 -0
  541. package/dist/transports/index.d.ts.map +1 -0
  542. package/dist/transports/index.js +6 -0
  543. package/dist/transports/index.js.map +1 -0
  544. package/dist/transports/stdio.d.ts +14 -0
  545. package/dist/transports/stdio.d.ts.map +1 -0
  546. package/dist/transports/stdio.js +32 -0
  547. package/dist/transports/stdio.js.map +1 -0
  548. package/dist/tui/components.d.ts +59 -0
  549. package/dist/tui/components.d.ts.map +1 -0
  550. package/dist/tui/components.js +82 -0
  551. package/dist/tui/components.js.map +1 -0
  552. package/dist/tui/config-wizard.d.ts +12 -0
  553. package/dist/tui/config-wizard.d.ts.map +1 -0
  554. package/dist/tui/config-wizard.js +348 -0
  555. package/dist/tui/config-wizard.js.map +1 -0
  556. package/dist/tui/wizard-save.d.ts +51 -0
  557. package/dist/tui/wizard-save.d.ts.map +1 -0
  558. package/dist/tui/wizard-save.js +148 -0
  559. package/dist/tui/wizard-save.js.map +1 -0
  560. package/docs/00_README.md +45 -0
  561. package/docs/01_PRODUCT_OVERVIEW.md +69 -0
  562. package/docs/02_ARCHITECTURE_AND_REQUEST_FLOW.md +120 -0
  563. package/docs/03_CONFIGURATION_AND_WIZARD.md +143 -0
  564. package/docs/04_LOCAL_STDIO_USAGE.md +118 -0
  565. package/docs/05_REMOTE_VPS_DEPLOYMENT.md +136 -0
  566. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +162 -0
  567. package/docs/07_ENDPOINTS_AND_CLIENTS.md +114 -0
  568. package/docs/08_SECURITY_POLICY_AND_SIGNING.md +134 -0
  569. package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +72 -0
  570. package/docs/10_OPERATIONS_RELEASE_AND_PM2.md +90 -0
  571. package/docs/11_CODE_QUALITY_AUDIT.md +49 -0
  572. package/ecosystem.config.example.cjs +55 -0
  573. package/package.json +132 -0
  574. package/skills/README.md +146 -0
  575. package/skills/sap-agent-registry/SKILL.md +39 -0
  576. package/skills/sap-agentkit/SKILL.md +40 -0
  577. package/skills/sap-defi/SKILL.md +51 -0
  578. package/skills/sap-discovery-indexing/SKILL.md +33 -0
  579. package/skills/sap-escrow-settlement/SKILL.md +37 -0
  580. package/skills/sap-ledger-session/SKILL.md +24 -0
  581. package/skills/sap-market-data/SKILL.md +36 -0
  582. package/skills/sap-mcp/SKILL.md +202 -0
  583. package/skills/sap-mcp/TOOL_REFERENCE.md +184 -0
  584. package/skills/sap-memory-vault/SKILL.md +29 -0
  585. package/skills/sap-nft-metaplex/SKILL.md +38 -0
  586. package/skills/sap-operations/SKILL.md +97 -0
  587. package/skills/sap-payments-x402/SKILL.md +47 -0
  588. package/skills/sap-reputation-attestation/SKILL.md +30 -0
  589. package/skills/sap-sns/SKILL.md +51 -0
  590. package/skills/sap-social-gaming/SKILL.md +30 -0
  591. package/skills/sap-solana-token/SKILL.md +32 -0
  592. package/skills/sap-staking/SKILL.md +24 -0
  593. package/skills/sap-tool-registry/SKILL.md +29 -0
@@ -0,0 +1,606 @@
1
+ /**
2
+ * MCP SDK compatibility layer
3
+ *
4
+ * Provides unified API for registering tools, resources, and prompts
5
+ * across different MCP SDK versions.
6
+ *
7
+ * CRITICAL: This layer MUST register JSON-RPC request handlers for:
8
+ * - tools/list, tools/call
9
+ * - resources/list, resources/read, resources/templates/list
10
+ * - prompts/list, prompts/get
11
+ *
12
+ * Following MCP SDK v1.x specification:
13
+ * https://github.com/modelcontextprotocol/typescript-sdk
14
+ */
15
+ import { ListToolsRequestSchema, CallToolRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListResourceTemplatesRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
16
+ import { logger } from '../../core/logger.js';
17
+ import { checkToolPermissions, privateKeyGuard } from '../../security/index.js';
18
+ // Track which handlers have been registered to avoid duplicates
19
+ const handlerRegistry = new WeakMap();
20
+ const executionContexts = new WeakMap();
21
+ /**
22
+ * @name withRegistrationStore
23
+ * @description Narrows the MCP server to the local registration store used by this compatibility layer.
24
+ * @param server - MCP server instance.
25
+ * @returns Server with local registration arrays and handler maps.
26
+ */
27
+ function withRegistrationStore(server) {
28
+ return server;
29
+ }
30
+ /**
31
+ * @name isResourceReadResult
32
+ * @description Detects handlers that already return an MCP resources/read result.
33
+ */
34
+ function isResourceReadResult(value) {
35
+ if (!isPlainObject(value) || !Array.isArray(value.contents)) {
36
+ return false;
37
+ }
38
+ return value.contents.every((content) => (isPlainObject(content)
39
+ && typeof content.uri === 'string'
40
+ && (content.mimeType === undefined || typeof content.mimeType === 'string')
41
+ && (content.text === undefined || typeof content.text === 'string')
42
+ && (content.blob === undefined || typeof content.blob === 'string')));
43
+ }
44
+ /**
45
+ * @name toResourceReadResult
46
+ * @description Normalizes legacy resource handler returns and native MCP resource results.
47
+ */
48
+ function toResourceReadResult(result, uri, mimeType) {
49
+ if (isResourceReadResult(result)) {
50
+ return result;
51
+ }
52
+ return {
53
+ contents: [
54
+ {
55
+ uri,
56
+ mimeType,
57
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ /**
63
+ * @name isToolCallResult
64
+ * @description Detects handlers that already return an MCP tools/call result.
65
+ */
66
+ function isToolCallResult(value) {
67
+ if (!isPlainObject(value) || !Array.isArray(value.content)) {
68
+ return false;
69
+ }
70
+ return value.content.every((content) => (isPlainObject(content)
71
+ && typeof content.type === 'string'
72
+ && (content.text === undefined || typeof content.text === 'string')));
73
+ }
74
+ /**
75
+ * @name toToolCallResult
76
+ * @description Normalizes legacy tool handler returns and native MCP tool results.
77
+ */
78
+ function toToolCallResult(result) {
79
+ if (isToolCallResult(result)) {
80
+ return result;
81
+ }
82
+ return {
83
+ content: [
84
+ {
85
+ type: 'text',
86
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),
87
+ },
88
+ ],
89
+ };
90
+ }
91
+ /**
92
+ * Associates runtime context with an MCP server so tool calls can enforce policy and key-safety guards.
93
+ */
94
+ export function setToolExecutionContext(server, context) {
95
+ executionContexts.set(server, context);
96
+ }
97
+ /**
98
+ * Checks whether a value is a plain JSON-compatible object.
99
+ */
100
+ function isPlainObject(value) {
101
+ return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
102
+ }
103
+ /**
104
+ * Converts a JSON-schema-ish properties map into the MCP SDK property type.
105
+ */
106
+ function toMcpProperties(value) {
107
+ if (!isPlainObject(value)) {
108
+ return {};
109
+ }
110
+ return Object.fromEntries(Object.entries(value).filter(([, child]) => isPlainObject(child)));
111
+ }
112
+ /**
113
+ * Removes non-JSON-Schema metadata from third-party schemas before exposing them through MCP.
114
+ */
115
+ function sanitizeJsonSchema(value) {
116
+ if (Array.isArray(value)) {
117
+ return value.map(sanitizeJsonSchema).filter((item) => item !== undefined);
118
+ }
119
+ if (!isPlainObject(value)) {
120
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || value === null) {
121
+ return value;
122
+ }
123
+ return undefined;
124
+ }
125
+ const sanitized = {};
126
+ for (const [key, child] of Object.entries(value)) {
127
+ if (key.startsWith('_') || key === '~standard') {
128
+ continue;
129
+ }
130
+ const clean = sanitizeJsonSchema(child);
131
+ if (clean !== undefined) {
132
+ sanitized[key] = clean;
133
+ }
134
+ }
135
+ return sanitized;
136
+ }
137
+ function toJsonValue(value, fallback) {
138
+ return sanitizeJsonSchema(value) ?? fallback;
139
+ }
140
+ /**
141
+ * Checks whether a runtime value is a Zod schema without importing Zod internals.
142
+ */
143
+ function isZodSchema(value) {
144
+ return isPlainObject(value) && typeof value.safeParse === 'function' && isPlainObject(value._def);
145
+ }
146
+ /**
147
+ * Returns the JSON Schema scalar type for a literal value.
148
+ */
149
+ function jsonTypeOf(value) {
150
+ if (Array.isArray(value))
151
+ return 'array';
152
+ if (value === null)
153
+ return 'null';
154
+ return typeof value;
155
+ }
156
+ /**
157
+ * Unwraps Zod wrappers that affect optionality/nullability but not the wire JSON shape.
158
+ */
159
+ function unwrapZodSchema(schema) {
160
+ let current = schema;
161
+ let optional = isZodSchema(current) && Boolean(current.isOptional?.());
162
+ let nullable = isZodSchema(current) && Boolean(current.isNullable?.());
163
+ while (isZodSchema(current)) {
164
+ const typeName = current._def?.typeName;
165
+ if (typeName === 'ZodOptional' || typeName === 'ZodDefault' || typeName === 'ZodCatch') {
166
+ optional = true;
167
+ current = current._def?.innerType;
168
+ continue;
169
+ }
170
+ if (typeName === 'ZodNullable') {
171
+ nullable = true;
172
+ current = current._def?.innerType;
173
+ continue;
174
+ }
175
+ if (typeName === 'ZodEffects') {
176
+ current = current._def?.schema;
177
+ continue;
178
+ }
179
+ break;
180
+ }
181
+ return { schema: current, optional, nullable };
182
+ }
183
+ /**
184
+ * Converts the Zod v3 schemas used by LangChain/Synapse tools into JSON Schema for MCP clients.
185
+ */
186
+ function zodToJsonSchema(schema) {
187
+ const toSchema = (value) => {
188
+ if (!isZodSchema(value)) {
189
+ return {};
190
+ }
191
+ const { schema: unwrapped, nullable } = unwrapZodSchema(value);
192
+ const zodValue = value;
193
+ const zodUnwrapped = isZodSchema(unwrapped) ? unwrapped : undefined;
194
+ const definition = zodUnwrapped?._def ?? {};
195
+ const typeName = definition.typeName;
196
+ const description = zodUnwrapped?.description ?? zodValue.description;
197
+ const withMetadata = (base) => {
198
+ const typed = nullable && typeof base.type === 'string'
199
+ ? { ...base, type: [base.type, 'null'] }
200
+ : base;
201
+ return description ? { ...typed, description } : typed;
202
+ };
203
+ switch (typeName) {
204
+ case 'ZodObject': {
205
+ const shapeOrFactory = definition.shape;
206
+ const shape = typeof shapeOrFactory === 'function' ? shapeOrFactory() : shapeOrFactory;
207
+ const properties = {};
208
+ const required = [];
209
+ for (const [key, child] of Object.entries(isPlainObject(shape) ? shape : {})) {
210
+ const { optional } = unwrapZodSchema(child);
211
+ properties[key] = toSchema(child);
212
+ if (!optional) {
213
+ required.push(key);
214
+ }
215
+ }
216
+ return withMetadata({
217
+ type: 'object',
218
+ properties: toJsonValue(properties, {}),
219
+ required: required.length > 0 ? required : undefined,
220
+ additionalProperties: definition.unknownKeys === 'passthrough',
221
+ });
222
+ }
223
+ case 'ZodString':
224
+ return withMetadata({ type: 'string' });
225
+ case 'ZodNumber':
226
+ return withMetadata({ type: 'number' });
227
+ case 'ZodBigInt':
228
+ return withMetadata({ type: 'string', pattern: '^-?\\d+$' });
229
+ case 'ZodBoolean':
230
+ return withMetadata({ type: 'boolean' });
231
+ case 'ZodArray':
232
+ return withMetadata({ type: 'array', items: toJsonValue(toSchema(definition.type), {}) });
233
+ case 'ZodEnum':
234
+ return withMetadata({ type: 'string', enum: Array.isArray(definition.values) ? definition.values.filter((item) => ['string', 'number', 'boolean'].includes(typeof item) || item === null) : [] });
235
+ case 'ZodNativeEnum': {
236
+ const values = Object.values(isPlainObject(definition.values) ? definition.values : {}).filter((item) => ['string', 'number'].includes(typeof item));
237
+ return withMetadata({ enum: values });
238
+ }
239
+ case 'ZodLiteral':
240
+ return withMetadata({ type: jsonTypeOf(definition.value), const: sanitizeJsonSchema(definition.value) });
241
+ case 'ZodUnion':
242
+ return withMetadata({ anyOf: Array.isArray(definition.options) ? definition.options.map((option) => toJsonValue(toSchema(option), {})) : [] });
243
+ case 'ZodRecord':
244
+ return withMetadata({ type: 'object', additionalProperties: toJsonValue(toSchema(definition.valueType), {}) });
245
+ case 'ZodAny':
246
+ case 'ZodUnknown':
247
+ return withMetadata({});
248
+ default:
249
+ return withMetadata({});
250
+ }
251
+ };
252
+ const converted = toSchema(schema);
253
+ return normalizeInputSchema(converted);
254
+ }
255
+ /**
256
+ * Converts a property map or full JSON Schema object into the MCP `Tool.inputSchema` shape.
257
+ */
258
+ function normalizeInputSchema(inputSchema) {
259
+ if (isZodSchema(inputSchema)) {
260
+ const converted = zodToJsonSchema(inputSchema);
261
+ return converted;
262
+ }
263
+ const sanitized = sanitizeJsonSchema(inputSchema);
264
+ const raw = isPlainObject(sanitized) ? sanitized : {};
265
+ if (raw.type === 'object' || raw.properties || raw.required || raw.additionalProperties !== undefined) {
266
+ return {
267
+ ...raw,
268
+ type: 'object',
269
+ properties: toMcpProperties(raw.properties),
270
+ required: Array.isArray(raw.required) ? raw.required.filter((item) => typeof item === 'string') : undefined,
271
+ };
272
+ }
273
+ return {
274
+ type: 'object',
275
+ properties: toMcpProperties(raw),
276
+ };
277
+ }
278
+ /**
279
+ * Initialize handler tracking for a server
280
+ */
281
+ function ensureHandlerRegistry(server) {
282
+ if (!handlerRegistry.has(server)) {
283
+ handlerRegistry.set(server, {
284
+ tools: false,
285
+ resources: false,
286
+ prompts: false,
287
+ });
288
+ }
289
+ return handlerRegistry.get(server);
290
+ }
291
+ /**
292
+ * Tool registration helper
293
+ *
294
+ * Registers a tool and ensures JSON-RPC handlers are set up for tools/list and tools/call
295
+ */
296
+ export function registerTool(server, name, definition, handler) {
297
+ logger.debug('Registering tool', { name });
298
+ const store = withRegistrationStore(server);
299
+ // Store tool definition
300
+ const tool = {
301
+ name,
302
+ description: definition.description,
303
+ inputSchema: normalizeInputSchema(definition.inputSchema),
304
+ };
305
+ // Initialize server storage if needed
306
+ store.toolHandlers = store.toolHandlers || {};
307
+ store.tools = store.tools || [];
308
+ // Store handler and tool definition
309
+ store.toolHandlers[name] = (input) => handler(input);
310
+ store.tools.push(tool);
311
+ // Register JSON-RPC handlers if not already done
312
+ const registry = ensureHandlerRegistry(server);
313
+ if (!registry.tools) {
314
+ // Register tools/list handler
315
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
316
+ const tools = withRegistrationStore(server).tools || [];
317
+ logger.debug('Handling tools/list', { count: tools.length });
318
+ return { tools };
319
+ });
320
+ // Register tools/call handler
321
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
322
+ const { name: toolName, arguments: args } = request.params;
323
+ logger.debug('Handling tools/call', { tool: toolName, args });
324
+ const handlers = withRegistrationStore(server).toolHandlers || {};
325
+ const handler = handlers[toolName];
326
+ if (!handler) {
327
+ logger.error('Tool not found', { tool: toolName });
328
+ throw new Error(`Tool not found: ${toolName}`);
329
+ }
330
+ try {
331
+ const context = executionContexts.get(server);
332
+ if (context) {
333
+ const keyGuard = privateKeyGuard(args || {});
334
+ if (!keyGuard.safe) {
335
+ logger.warn('Tool call blocked by private key guard', { tool: toolName, reason: keyGuard.reason });
336
+ throw new Error(keyGuard.reason || 'Potential private key detected');
337
+ }
338
+ const permission = checkToolPermissions(context, toolName);
339
+ if (!permission.allowed) {
340
+ logger.warn('Tool call blocked by permissions', { tool: toolName, reason: permission.reason });
341
+ throw new Error(permission.reason || `Tool '${toolName}' is not allowed`);
342
+ }
343
+ const policy = await context.policyEngine.checkPermission(toolName, {
344
+ toolName,
345
+ args: isPlainObject(args) ? args : {},
346
+ user: context.signer?.publicKey.toBase58() || context.session?.agentId || 'local-mcp-client',
347
+ });
348
+ if (!policy.allowed) {
349
+ logger.warn('Tool call blocked by policy', { tool: toolName, reason: policy.reason });
350
+ throw new Error(policy.reason || `Tool '${toolName}' is blocked by policy`);
351
+ }
352
+ }
353
+ const result = await handler(args || {});
354
+ logger.debug('Tool call completed', { tool: toolName });
355
+ return toToolCallResult(result);
356
+ }
357
+ catch (error) {
358
+ logger.error('Tool call failed', { tool: toolName, error });
359
+ throw error;
360
+ }
361
+ });
362
+ registry.tools = true;
363
+ logger.info('JSON-RPC handlers registered for tools');
364
+ }
365
+ return tool;
366
+ }
367
+ /**
368
+ * Resource registration helper
369
+ *
370
+ * Registers a resource and ensures JSON-RPC handlers are set up for resources/list and resources/read
371
+ */
372
+ export function registerResource(server, uri, schema, definition, handler) {
373
+ logger.debug('Registering resource', { uri });
374
+ const store = withRegistrationStore(server);
375
+ const resource = {
376
+ uri,
377
+ name: definition.name,
378
+ description: definition.description,
379
+ mimeType: definition.mimeType,
380
+ };
381
+ // Initialize server storage
382
+ store.resourceHandlers = store.resourceHandlers || {};
383
+ store.resources = store.resources || [];
384
+ // Store handler and resource definition
385
+ store.resourceHandlers[uri] = handler;
386
+ store.resources.push(resource);
387
+ // Register JSON-RPC handlers if not already done
388
+ const registry = ensureHandlerRegistry(server);
389
+ if (!registry.resources) {
390
+ // Register resources/list handler
391
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
392
+ const resources = withRegistrationStore(server).resources || [];
393
+ logger.debug('Handling resources/list', { count: resources.length });
394
+ return { resources };
395
+ });
396
+ // Register resources/read handler
397
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
398
+ const { uri: resourceUri } = request.params;
399
+ logger.debug('Handling resources/read', { uri: resourceUri });
400
+ const handlers = withRegistrationStore(server).resourceHandlers || {};
401
+ const handler = handlers[resourceUri];
402
+ if (!handler) {
403
+ logger.error('Resource not found', { uri: resourceUri });
404
+ throw new Error(`Resource not found: ${resourceUri}`);
405
+ }
406
+ try {
407
+ const result = await handler();
408
+ logger.debug('Resource read completed', { uri: resourceUri });
409
+ return toResourceReadResult(result, resourceUri, 'application/json');
410
+ }
411
+ catch (error) {
412
+ logger.error('Resource read failed', { uri: resourceUri, error });
413
+ throw error;
414
+ }
415
+ });
416
+ registry.resources = true;
417
+ logger.info('JSON-RPC handlers registered for resources');
418
+ }
419
+ return resource;
420
+ }
421
+ /**
422
+ * Resource template registration helper
423
+ *
424
+ * Registers a resource template and ensures JSON-RPC handlers are set up
425
+ */
426
+ export function registerResourceTemplate(server, uriTemplate, schema, definition, handler) {
427
+ logger.debug('Registering resource template', { uriTemplate });
428
+ const store = withRegistrationStore(server);
429
+ const template = {
430
+ uriTemplate,
431
+ name: definition.name,
432
+ description: definition.description,
433
+ mimeType: definition.mimeType,
434
+ };
435
+ // Initialize server storage
436
+ store.resourceTemplateHandlers = store.resourceTemplateHandlers || {};
437
+ store.resourceTemplates = store.resourceTemplates || [];
438
+ // Store handler and template definition
439
+ store.resourceTemplateHandlers[uriTemplate] = handler;
440
+ store.resourceTemplates.push(template);
441
+ // Register JSON-RPC handlers if not already done
442
+ const registry = ensureHandlerRegistry(server);
443
+ if (!registry.resources) {
444
+ // Register resources/templates/list handler
445
+ server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => {
446
+ const templates = withRegistrationStore(server).resourceTemplates || [];
447
+ logger.debug('Handling resources/templates/list', { count: templates.length });
448
+ return { resourceTemplates: templates };
449
+ });
450
+ // Register resources/list handler (includes templated resources)
451
+ server.setRequestHandler(ListResourcesRequestSchema, async () => {
452
+ const resources = withRegistrationStore(server).resources || [];
453
+ const templates = withRegistrationStore(server).resourceTemplates || [];
454
+ logger.debug('Handling resources/list (with templates)', { resources: resources.length, templates: templates.length });
455
+ return { resources, resourceTemplates: templates };
456
+ });
457
+ // Register resources/read handler (supports templated URIs)
458
+ server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
459
+ const { uri: resourceUri } = request.params;
460
+ logger.debug('Handling resources/read', { uri: resourceUri });
461
+ // Try exact resource match first
462
+ const resourceHandlers = withRegistrationStore(server).resourceHandlers || {};
463
+ const exactHandler = resourceHandlers[resourceUri];
464
+ if (exactHandler) {
465
+ try {
466
+ const result = await exactHandler();
467
+ return toResourceReadResult(result, resourceUri, 'application/json');
468
+ }
469
+ catch (error) {
470
+ logger.error('Resource read failed', { uri: resourceUri, error });
471
+ throw error;
472
+ }
473
+ }
474
+ // Try template match
475
+ const templateHandlers = withRegistrationStore(server).resourceTemplateHandlers || {};
476
+ const templates = withRegistrationStore(server).resourceTemplates || [];
477
+ for (const tmpl of templates) {
478
+ const handler = templateHandlers[tmpl.uriTemplate];
479
+ if (!handler)
480
+ continue;
481
+ // Simple template matching: sap://memory/{agent} matches sap://memory/abc123
482
+ const pattern = tmpl.uriTemplate.replace(/\{[^}]+\}/g, '([^/]+)');
483
+ const regex = new RegExp(`^${pattern}$`);
484
+ const match = resourceUri.match(regex);
485
+ if (match) {
486
+ // Extract template arguments from URI
487
+ const argNames = tmpl.uriTemplate.match(/\{([^}]+)\}/g)?.map((s) => s.slice(1, -1)) || [];
488
+ const args = {};
489
+ match.slice(1).forEach((value, i) => {
490
+ if (argNames[i]) {
491
+ args[argNames[i]] = value;
492
+ }
493
+ });
494
+ try {
495
+ const result = await handler(resourceUri, args);
496
+ return toResourceReadResult(result, resourceUri, tmpl.mimeType || 'application/json');
497
+ }
498
+ catch (error) {
499
+ logger.error('Template resource read failed', { uri: resourceUri, template: tmpl.uriTemplate, error });
500
+ throw error;
501
+ }
502
+ }
503
+ }
504
+ logger.error('Resource not found', { uri: resourceUri });
505
+ throw new Error(`Resource not found: ${resourceUri}`);
506
+ });
507
+ registry.resources = true;
508
+ logger.info('JSON-RPC handlers registered for resource templates');
509
+ }
510
+ return template;
511
+ }
512
+ /**
513
+ * Prompt registration helper
514
+ *
515
+ * Registers a prompt and ensures JSON-RPC handlers are set up for prompts/list and prompts/get
516
+ */
517
+ export function registerPrompt(server, name, schema, definition, handler) {
518
+ logger.debug('Registering prompt', { name });
519
+ const store = withRegistrationStore(server);
520
+ const prompt = {
521
+ name,
522
+ description: definition.description,
523
+ arguments: definition.arguments,
524
+ };
525
+ // Initialize server storage
526
+ store.promptHandlers = store.promptHandlers || {};
527
+ store.prompts = store.prompts || [];
528
+ // Store handler and prompt definition
529
+ store.promptHandlers[name] = handler;
530
+ store.prompts.push(prompt);
531
+ // Register JSON-RPC handlers if not already done
532
+ const registry = ensureHandlerRegistry(server);
533
+ if (!registry.prompts) {
534
+ // Register prompts/list handler
535
+ server.setRequestHandler(ListPromptsRequestSchema, async () => {
536
+ const prompts = withRegistrationStore(server).prompts || [];
537
+ logger.debug('Handling prompts/list', { count: prompts.length });
538
+ return { prompts };
539
+ });
540
+ // Register prompts/get handler
541
+ server.setRequestHandler(GetPromptRequestSchema, async (request) => {
542
+ const { name: promptName, arguments: args } = request.params;
543
+ logger.debug('Handling prompts/get', { prompt: promptName, args });
544
+ const handlers = withRegistrationStore(server).promptHandlers || {};
545
+ const handler = handlers[promptName];
546
+ if (!handler) {
547
+ logger.error('Prompt not found', { prompt: promptName });
548
+ throw new Error(`Prompt not found: ${promptName}`);
549
+ }
550
+ try {
551
+ const result = await handler(args || {});
552
+ logger.debug('Prompt get completed', { prompt: promptName });
553
+ return {
554
+ messages: [
555
+ {
556
+ role: 'user',
557
+ content: {
558
+ type: 'text',
559
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),
560
+ },
561
+ },
562
+ ],
563
+ };
564
+ }
565
+ catch (error) {
566
+ logger.error('Prompt get failed', { prompt: promptName, error });
567
+ throw error;
568
+ }
569
+ });
570
+ registry.prompts = true;
571
+ logger.info('JSON-RPC handlers registered for prompts');
572
+ }
573
+ return prompt;
574
+ }
575
+ /**
576
+ * Get registered tools
577
+ */
578
+ export function getRegisteredTools(server) {
579
+ return withRegistrationStore(server).tools || [];
580
+ }
581
+ /**
582
+ * Get registered resources
583
+ */
584
+ export function getRegisteredResources(server) {
585
+ return withRegistrationStore(server).resources || [];
586
+ }
587
+ /**
588
+ * Get registered resource templates
589
+ */
590
+ export function getRegisteredResourceTemplates(server) {
591
+ return withRegistrationStore(server).resourceTemplates || [];
592
+ }
593
+ /**
594
+ * Get registered prompts
595
+ */
596
+ export function getRegisteredPrompts(server) {
597
+ return withRegistrationStore(server).prompts || [];
598
+ }
599
+ /**
600
+ * Get handler registration status
601
+ */
602
+ export function getHandlerStatus(server) {
603
+ const registry = handlerRegistry.get(server);
604
+ return registry || { tools: false, resources: false, prompts: false };
605
+ }
606
+ //# sourceMappingURL=sdk-compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-compat.js","sourceRoot":"","sources":["../../../src/adapters/mcp/sdk-compat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * MCP tool response helpers
3
+ */
4
+ export declare function createTextResponse(text: string, options?: {
5
+ isError?: boolean;
6
+ }): {
7
+ content: Array<{
8
+ type: 'text';
9
+ text: string;
10
+ }>;
11
+ isError?: boolean;
12
+ };
13
+ /**
14
+ * Executes the create json response operation.
15
+ */
16
+ export declare function createJsonResponse(data: unknown): {
17
+ content: Array<{
18
+ type: 'text';
19
+ text: string;
20
+ }>;
21
+ };
22
+ /**
23
+ * Executes the create error response operation.
24
+ */
25
+ export declare function createErrorResponse(message: string): {
26
+ content: Array<{
27
+ type: 'text';
28
+ text: string;
29
+ }>;
30
+ isError?: boolean;
31
+ };
32
+ //# sourceMappingURL=tool-response.d.ts.map