@oobe-protocol-labs/sap-mcp-server 0.9.16 → 0.9.21

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 (611) hide show
  1. package/.env.example +8 -7
  2. package/CHANGELOG.md +238 -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 +1 -0
  140. package/dist/payments/pricing.d.ts.map +1 -1
  141. package/dist/payments/pricing.js +66 -8
  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 +138 -0
  244. package/dist/premium/webhook-engine.d.ts.map +1 -0
  245. package/dist/premium/webhook-engine.js +510 -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 +35 -1
  491. package/dist/server/server-metadata.d.ts.map +1 -1
  492. package/dist/server/server-metadata.js +36 -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.js +20 -1
  547. package/dist/tools/agent-start-tool.js.map +1 -1
  548. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  549. package/dist/tools/client-sdk-tools.js +27 -2
  550. package/dist/tools/client-sdk-tools.js.map +1 -1
  551. package/dist/tools/estimate-tool-cost.d.ts +13 -0
  552. package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
  553. package/dist/tools/estimate-tool-cost.js +139 -0
  554. package/dist/tools/estimate-tool-cost.js.map +1 -0
  555. package/dist/tools/index.d.ts +7 -0
  556. package/dist/tools/index.d.ts.map +1 -1
  557. package/dist/tools/index.js +9 -0
  558. package/dist/tools/index.js.map +1 -1
  559. package/dist/tools/magicblock-tools.d.ts +25 -0
  560. package/dist/tools/magicblock-tools.d.ts.map +1 -1
  561. package/dist/tools/magicblock-tools.js +116 -8
  562. package/dist/tools/magicblock-tools.js.map +1 -1
  563. package/dist/tools/perp-tools.d.ts +39 -0
  564. package/dist/tools/perp-tools.d.ts.map +1 -0
  565. package/dist/tools/perp-tools.js +1110 -0
  566. package/dist/tools/perp-tools.js.map +1 -0
  567. package/dist/tools/premium-tools.d.ts +8 -0
  568. package/dist/tools/premium-tools.d.ts.map +1 -0
  569. package/dist/tools/premium-tools.js +1096 -0
  570. package/dist/tools/premium-tools.js.map +1 -0
  571. package/dist/tools/quick-context-tool.d.ts +16 -0
  572. package/dist/tools/quick-context-tool.d.ts.map +1 -0
  573. package/dist/tools/quick-context-tool.js +228 -0
  574. package/dist/tools/quick-context-tool.js.map +1 -0
  575. package/dist/tools/register-tools.d.ts.map +1 -1
  576. package/dist/tools/register-tools.js +14 -0
  577. package/dist/tools/register-tools.js.map +1 -1
  578. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  579. package/dist/tools/sap-sdk-tools.js +42 -32
  580. package/dist/tools/sap-sdk-tools.js.map +1 -1
  581. package/dist/tools/skills-tools.d.ts +6 -0
  582. package/dist/tools/skills-tools.d.ts.map +1 -1
  583. package/dist/tools/skills-tools.js +5 -4
  584. package/dist/tools/skills-tools.js.map +1 -1
  585. package/dist/tools/x402-paid-call-tool.js +2 -2
  586. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  587. package/dist/transports/index.d.ts +6 -1
  588. package/dist/transports/index.d.ts.map +1 -1
  589. package/dist/transports/index.js +6 -1
  590. package/dist/transports/index.js.map +1 -1
  591. package/dist/transports/stdio.d.ts +17 -5
  592. package/dist/transports/stdio.d.ts.map +1 -1
  593. package/dist/transports/stdio.js +17 -5
  594. package/dist/transports/stdio.js.map +1 -1
  595. package/dist/tui/wizard-save.d.ts +88 -8
  596. package/dist/tui/wizard-save.d.ts.map +1 -1
  597. package/dist/tui/wizard-save.js +77 -8
  598. package/dist/tui/wizard-save.js.map +1 -1
  599. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +3 -3
  600. package/docs/07_ENDPOINTS_AND_CLIENTS.md +4 -1
  601. package/docs/14_DESKTOP_WIZARD_RELEASE.md +3 -3
  602. package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +6 -0
  603. package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
  604. package/docs/BRANCH_AND_CI.md +67 -0
  605. package/docs/README.md +12 -0
  606. package/package.json +8 -9
  607. package/server.json +3 -3
  608. package/skills/sap-agent-registry/SKILL.md +6 -0
  609. package/skills/sap-mcp/SKILL.md +27 -4
  610. package/skills/sap-mcp/TOOL_REFERENCE.md +4 -1
  611. package/skills/sap-payments-x402/SKILL.md +22 -8
@@ -0,0 +1,199 @@
1
+ /**
2
+ * @name premium/stream-broker
3
+ * @description SSE stream broker for premium real-time event delivery.
4
+ *
5
+ * After a session is activated (`status=active`), the stream broker opens a
6
+ * provider subscription, enriches each event with session metadata, stores it
7
+ * in the event store for replay, and delivers it to the buyer via SSE
8
+ * (Server-Sent Events) over the `/premium/stream/:sessionId` HTTP endpoint.
9
+ *
10
+ * The broker enforces:
11
+ * - Unit quota: stops delivery when `requestedUnits` reaches zero.
12
+ * - Session status: only delivers for `status=active` sessions.
13
+ * - Event idempotency: deduplicates via `eventId` in the event store.
14
+ * - Graceful shutdown: closes all active streams on disconnect.
15
+ *
16
+ * @flow
17
+ * 1. Buyer calls `GET /premium/stream/:sessionId` with `Accept: text/event-stream`.
18
+ * 2. → `startStream()` validates session is active, loads provider adapter.
19
+ * 3. → Provider `subscribe()` returns async iterable of `ProviderEvent`.
20
+ * 4. → For each event: enrich with session metadata, `appendEvent()`, write SSE.
21
+ * 5. → `decrementSessionQuota()` after each event; auto-close at zero.
22
+ * 6. Client disconnects or quota exhausted → `stopStream()`.
23
+ *
24
+ * @module premium/stream-broker
25
+ */
26
+ import { getPremiumSession, decrementSessionQuota } from './session-manager.js';
27
+ import { subscribeToProvider } from './provider-bridge.js';
28
+ import { appendEvent, getEvents } from './event-store.js';
29
+ /**
30
+ * @description Registry of active stream subscriptions keyed by session id.
31
+ */
32
+ const activeStreams = new Map();
33
+ /**
34
+ * @description Abort controllers for active streams, keyed by session id.
35
+ * Used to cancel the provider async iterable when the client disconnects.
36
+ */
37
+ const streamControllers = new Map();
38
+ /**
39
+ * @name startStream
40
+ * @description Start a premium stream subscription for an active session.
41
+ *
42
+ * @param sessionId - The activated premium session id.
43
+ * @param subscriptionKey - De-duplication key from the stream input schema.
44
+ * @param filters - Narrow filters for the provider subscription.
45
+ * @returns The `PremiumStreamSubscription` if successful, or `null` if the
46
+ * session is not active or the provider is not available.
47
+ *
48
+ * @usedBy `remote/server.ts` → `GET /premium/stream/:sessionId`
49
+ */
50
+ export async function startStream(sessionId, subscriptionKey, filters) {
51
+ const session = getPremiumSession(sessionId);
52
+ if (!session || session.status !== 'active')
53
+ return null;
54
+ // Don't start a duplicate stream for the same session.
55
+ if (activeStreams.has(sessionId))
56
+ return activeStreams.get(sessionId);
57
+ const subscription = {
58
+ sessionId,
59
+ pluginId: session.pluginId,
60
+ capabilityId: session.capabilityId,
61
+ subscriptionKey,
62
+ filters,
63
+ startedAt: new Date().toISOString(),
64
+ unitsDelivered: 0,
65
+ unitsQuota: session.requestedUnits,
66
+ active: true,
67
+ };
68
+ activeStreams.set(sessionId, subscription);
69
+ return subscription;
70
+ }
71
+ /**
72
+ * @name streamEvents
73
+ * @description Async generator that yields enriched premium events for a session.
74
+ *
75
+ * This is the core delivery loop. It:
76
+ * 1. Loads the provider adapter for the session's plugin/capability.
77
+ * 2. Subscribes with the session's filters.
78
+ * 3. For each provider event: enriches with session metadata, appends to the
79
+ * event store, decrements the unit quota, and yields the enriched event.
80
+ * 4. Stops when the quota reaches zero, the provider iterable ends, or the
81
+ * stream is cancelled via `stopStream()`.
82
+ *
83
+ * @param sessionId - The active session id.
84
+ * @returns Async generator yielding `ProviderEvent` enriched with session metadata.
85
+ *
86
+ * @usedBy `remote/server.ts` → SSE response writer
87
+ */
88
+ export async function* streamEvents(sessionId) {
89
+ const subscription = activeStreams.get(sessionId);
90
+ if (!subscription)
91
+ return;
92
+ const session = getPremiumSession(sessionId);
93
+ if (!session || session.status !== 'active')
94
+ return;
95
+ const iterable = await subscribeToProvider(subscription.pluginId, subscription.capabilityId, subscription.filters);
96
+ if (!iterable)
97
+ return;
98
+ const controller = new AbortController();
99
+ streamControllers.set(sessionId, controller);
100
+ try {
101
+ for await (const event of iterable) {
102
+ if (controller.signal.aborted)
103
+ break;
104
+ if (!subscription.active)
105
+ break;
106
+ // Enrich and store the event.
107
+ appendEvent({
108
+ eventId: event.eventId,
109
+ sessionId,
110
+ pluginId: subscription.pluginId,
111
+ capabilityId: subscription.capabilityId,
112
+ eventType: event.eventType,
113
+ observedAt: event.observedAt,
114
+ payload: event.payload,
115
+ deliveredAt: new Date().toISOString(),
116
+ });
117
+ subscription.unitsDelivered++;
118
+ const remaining = decrementSessionQuota(sessionId);
119
+ if (remaining <= 0) {
120
+ subscription.active = false;
121
+ yield event;
122
+ break;
123
+ }
124
+ yield event;
125
+ }
126
+ }
127
+ finally {
128
+ streamControllers.delete(sessionId);
129
+ if (subscription.active) {
130
+ subscription.active = false;
131
+ }
132
+ activeStreams.delete(sessionId);
133
+ }
134
+ }
135
+ /**
136
+ * @name stopStream
137
+ * @description Stop an active stream subscription.
138
+ *
139
+ * Aborts the provider async iterable and marks the subscription as inactive.
140
+ * The session is not closed — the buyer can resume with a replay query.
141
+ *
142
+ * @param sessionId - The session id to stop streaming for.
143
+ *
144
+ * @usedBy `remote/server.ts` → client disconnect handler
145
+ */
146
+ export function stopStream(sessionId) {
147
+ const controller = streamControllers.get(sessionId);
148
+ if (controller) {
149
+ controller.abort();
150
+ streamControllers.delete(sessionId);
151
+ }
152
+ const subscription = activeStreams.get(sessionId);
153
+ if (subscription) {
154
+ subscription.active = false;
155
+ activeStreams.delete(sessionId);
156
+ }
157
+ }
158
+ /**
159
+ * @name replayEvents
160
+ * @description Replay past events for a session within the replay window.
161
+ *
162
+ * Used when a client reconnects and needs to catch up on events missed
163
+ * during the disconnection period.
164
+ *
165
+ * @param sessionId - The session id to replay events for.
166
+ * @param since - Optional ISO timestamp; only events after this are returned.
167
+ * @returns Array of `ProviderEvent` records from the event store.
168
+ *
169
+ * @usedBy `remote/server.ts` → SSE replay before live stream
170
+ */
171
+ export function replayEvents(sessionId, since) {
172
+ return getEvents({ sessionId, since }).map(record => ({
173
+ eventId: record.eventId,
174
+ eventType: record.eventType,
175
+ observedAt: record.observedAt,
176
+ payload: record.payload,
177
+ }));
178
+ }
179
+ /**
180
+ * @name getActiveStreamCount
181
+ * @description Return the number of currently active stream subscriptions.
182
+ *
183
+ * @usedBy `metrics.ts`
184
+ */
185
+ export function getActiveStreamCount() {
186
+ return activeStreams.size;
187
+ }
188
+ /**
189
+ * @name stopAllStreams
190
+ * @description Stop all active streams. Called during graceful shutdown.
191
+ *
192
+ * @usedBy `remote/server.ts` shutdown handler
193
+ */
194
+ export function stopAllStreams() {
195
+ for (const sessionId of activeStreams.keys()) {
196
+ stopStream(sessionId);
197
+ }
198
+ }
199
+ //# sourceMappingURL=stream-broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-broker.js","sourceRoot":"","sources":["../../src/premium/stream-broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @name premium/tech-fundamentals-capabilities
3
+ * @description Built-in premium tech fundamentals capabilities for Solana project analysis.
4
+ *
5
+ * Defines 3 premium tech fundamentals capabilities across 1 plugin:
6
+ *
7
+ * 1. `sap-premium-tech-fundamentals` — Technical & fundamental analysis:
8
+ * - `tech.github.activity` — GitHub activity spike alerts (webhook)
9
+ * - `tech.tvl.change` — Real-time TVL changes for Solana DeFi (stream)
10
+ * - `tech.tokenomics.analysis` — On-demand tokenomics analysis (webhook)
11
+ *
12
+ * These capabilities are contracts only — they become live when the corresponding
13
+ * provider env vars are configured and a provider adapter is loaded from the
14
+ * private subrepo.
15
+ *
16
+ * @flow
17
+ * 1. Agent discovers tech fundamentals capabilities via `sap_premium_plugin_catalog`.
18
+ * 2. Agent creates a session plan for a tech stream or webhook.
19
+ * 3. Agent activates the session with x402/pay.sh receipt.
20
+ * 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
21
+ * 5. Agent registers webhooks for GitHub activity and tokenomics alerts via `POST /premium/webhook/register`.
22
+ * 6. Provider adapter in the private subrepo feeds real tech fundamentals data.
23
+ *
24
+ * @module premium/tech-fundamentals-capabilities
25
+ */
26
+ import type { PremiumPluginManifest } from './types.js';
27
+ /**
28
+ * @name TECH_FUNDAMENTALS_PREMIUM_PLUGINS
29
+ * @description Built-in premium tech fundamentals plugin manifests.
30
+ *
31
+ * One plugin covering 3 tech fundamentals capabilities:
32
+ * - `sap-premium-tech-fundamentals` — 2 webhook + 1 stream capability
33
+ *
34
+ * @usedBy `listPremiumPlugins()` — merged with the existing built-in plugins.
35
+ */
36
+ export declare const TECH_FUNDAMENTALS_PREMIUM_PLUGINS: PremiumPluginManifest[];
37
+ //# sourceMappingURL=tech-fundamentals-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tech-fundamentals-capabilities.d.ts","sourceRoot":"","sources":["../../src/premium/tech-fundamentals-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAA+B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AA+PrF;;;;;;;;GAQG;AACH,eAAO,MAAM,iCAAiC,EAAE,qBAAqB,EAoCpE,CAAC"}
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @name premium/tech-fundamentals-capabilities
3
+ * @description Built-in premium tech fundamentals capabilities for Solana project analysis.
4
+ *
5
+ * Defines 3 premium tech fundamentals capabilities across 1 plugin:
6
+ *
7
+ * 1. `sap-premium-tech-fundamentals` — Technical & fundamental analysis:
8
+ * - `tech.github.activity` — GitHub activity spike alerts (webhook)
9
+ * - `tech.tvl.change` — Real-time TVL changes for Solana DeFi (stream)
10
+ * - `tech.tokenomics.analysis` — On-demand tokenomics analysis (webhook)
11
+ *
12
+ * These capabilities are contracts only — they become live when the corresponding
13
+ * provider env vars are configured and a provider adapter is loaded from the
14
+ * private subrepo.
15
+ *
16
+ * @flow
17
+ * 1. Agent discovers tech fundamentals capabilities via `sap_premium_plugin_catalog`.
18
+ * 2. Agent creates a session plan for a tech stream or webhook.
19
+ * 3. Agent activates the session with x402/pay.sh receipt.
20
+ * 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
21
+ * 5. Agent registers webhooks for GitHub activity and tokenomics alerts via `POST /premium/webhook/register`.
22
+ * 6. Provider adapter in the private subrepo feeds real tech fundamentals data.
23
+ *
24
+ * @module premium/tech-fundamentals-capabilities
25
+ */
26
+ /* -------------------------------------------------------------------------- */
27
+ /* Shared schemas */
28
+ /* -------------------------------------------------------------------------- */
29
+ /**
30
+ * @description Input schema for tech fundamentals stream capabilities.
31
+ * Requires a `subscriptionKey` for de-duplication and supports narrow
32
+ * filters for mints and minimum liquidity/volume thresholds.
33
+ */
34
+ const techStreamInputSchema = {
35
+ type: 'object',
36
+ required: ['subscriptionKey'],
37
+ properties: {
38
+ subscriptionKey: {
39
+ type: 'string',
40
+ minLength: 3,
41
+ description: 'Stable subscription key for de-duplication. Use a hash of protocol + metric id.',
42
+ },
43
+ mints: {
44
+ type: 'array',
45
+ items: { type: 'string', minLength: 32, maxLength: 44 },
46
+ description: 'Token mint addresses to watch. Empty = all Solana DeFi protocols.',
47
+ },
48
+ minLiquidityUsd: {
49
+ type: 'number',
50
+ minimum: 0,
51
+ description: 'Minimum TVL/liquidity in USD to emit an event. Filters small protocols.',
52
+ },
53
+ minVolumeUsd: {
54
+ type: 'number',
55
+ minimum: 0,
56
+ description: 'Minimum 24h volume in USD to emit an event.',
57
+ },
58
+ },
59
+ additionalProperties: false,
60
+ };
61
+ /**
62
+ * @description Output schema for tech fundamentals stream events. Each event
63
+ * carries a signal type, protocol metadata, and TVL/change data.
64
+ */
65
+ const techStreamOutputSchema = {
66
+ type: 'object',
67
+ required: ['eventId', 'eventType', 'observedAt', 'payload'],
68
+ properties: {
69
+ eventId: {
70
+ type: 'string',
71
+ description: 'Stable event id for idempotent execution and replay.',
72
+ },
73
+ eventType: {
74
+ type: 'string',
75
+ enum: [
76
+ 'tvl.change',
77
+ ],
78
+ description: 'Tech fundamentals event type determining the payload structure.',
79
+ },
80
+ observedAt: {
81
+ type: 'string',
82
+ format: 'date-time',
83
+ description: 'ISO timestamp when the provider observed the protocol condition.',
84
+ },
85
+ payload: {
86
+ type: 'object',
87
+ required: ['protocol', 'action', 'confidence'],
88
+ properties: {
89
+ protocol: { type: 'string', description: 'Protocol name (e.g. "Jupiter", "Raydium").' },
90
+ mint: { type: 'string', description: 'Associated token mint address.' },
91
+ action: {
92
+ type: 'string',
93
+ enum: ['buy', 'sell', 'monitor', 'alert'],
94
+ description: 'Recommended agent action.',
95
+ },
96
+ confidence: {
97
+ type: 'number',
98
+ minimum: 0,
99
+ maximum: 1,
100
+ description: 'Signal confidence score (0-1).',
101
+ },
102
+ tvlUsd: { type: 'number', description: 'Current TVL in USD.' },
103
+ tvlChangePct: { type: 'number', description: 'TVL change percentage (24h).' },
104
+ tvlChangeUsd: { type: 'number', description: 'TVL change in USD (24h).' },
105
+ rank: { type: 'number', description: 'Protocol TVL rank on Solana.' },
106
+ expiresAt: { type: 'string', format: 'date-time', description: 'Signal expiry timestamp.' },
107
+ },
108
+ additionalProperties: true,
109
+ },
110
+ },
111
+ additionalProperties: false,
112
+ };
113
+ /**
114
+ * @description Input schema for tech fundamentals webhook capabilities. The
115
+ * buyer provides an HTTPS endpoint and selects which event types to receive.
116
+ */
117
+ const techWebhookInputSchema = {
118
+ type: 'object',
119
+ required: ['targetUrl', 'events'],
120
+ properties: {
121
+ targetUrl: {
122
+ type: 'string',
123
+ format: 'uri',
124
+ description: 'HTTPS webhook endpoint owned by the agent.',
125
+ },
126
+ events: {
127
+ type: 'array',
128
+ minItems: 1,
129
+ items: {
130
+ type: 'string',
131
+ enum: ['tech.github.activity', 'tech.tokenomics.analysis'],
132
+ },
133
+ description: 'Event types to deliver to this webhook.',
134
+ },
135
+ minLiquidityUsd: {
136
+ type: 'number',
137
+ minimum: 0,
138
+ description: 'Minimum liquidity/TVL in USD for alerts. Filters small protocols.',
139
+ },
140
+ signingPublicKey: {
141
+ type: 'string',
142
+ description: 'Optional public key for webhook signature verification.',
143
+ },
144
+ },
145
+ additionalProperties: false,
146
+ };
147
+ /**
148
+ * @description Output schema for tech fundamentals webhook deliveries.
149
+ */
150
+ const techWebhookOutputSchema = {
151
+ type: 'object',
152
+ required: ['deliveryId', 'eventType', 'deliveredAt', 'signature', 'payload'],
153
+ properties: {
154
+ deliveryId: { type: 'string', description: 'Idempotent delivery id.' },
155
+ eventType: { type: 'string', description: 'Tech fundamentals event type.' },
156
+ deliveredAt: { type: 'string', format: 'date-time', description: 'ISO delivery timestamp.' },
157
+ signature: { type: 'string', description: 'HMAC-SHA256 signature.' },
158
+ payload: {
159
+ type: 'object',
160
+ additionalProperties: true,
161
+ description: 'Tech fundamentals payload with GitHub activity, TVL, or tokenomics analysis data.',
162
+ },
163
+ },
164
+ additionalProperties: false,
165
+ };
166
+ /* -------------------------------------------------------------------------- */
167
+ /* Capability factory */
168
+ /* -------------------------------------------------------------------------- */
169
+ /**
170
+ * @name techStreamCapability
171
+ * @description Factory for building a tech fundamentals stream capability definition.
172
+ *
173
+ * @param id - Capability id (e.g. `tech.tvl.change`).
174
+ * @param title - Human-readable title.
175
+ * @param description - Agent-facing description.
176
+ * @param events - Event types this stream emits.
177
+ * @param unitPriceUsd - Price per minute in USD.
178
+ * @param providerEnv - Required provider env vars.
179
+ * @returns A `PremiumCapabilityDefinition` with type `stream`.
180
+ *
181
+ * @internal
182
+ */
183
+ function techStreamCapability(id, title, description, events, unitPriceUsd, providerEnv) {
184
+ return {
185
+ id,
186
+ type: 'stream',
187
+ title,
188
+ description,
189
+ status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
190
+ requiresProvider: providerEnv.length > 0,
191
+ providerEnv,
192
+ inputSchema: techStreamInputSchema,
193
+ outputSchema: techStreamOutputSchema,
194
+ pricing: {
195
+ tier: 'premium-stream',
196
+ model: 'x402-per-minute',
197
+ unit: 'minute',
198
+ unitPriceUsd,
199
+ minUnits: 1,
200
+ maxUnits: 480, // up to 8 hours of streaming
201
+ settlement: 'x402',
202
+ },
203
+ delivery: {
204
+ transport: 'mcp-streamable-http',
205
+ events,
206
+ latencyTargetMs: 1000,
207
+ replayWindowSeconds: 600,
208
+ },
209
+ };
210
+ }
211
+ /**
212
+ * @name techWebhookCapability
213
+ * @description Factory for building a tech fundamentals webhook capability definition.
214
+ *
215
+ * @param id - Capability id (e.g. `tech.github.activity`).
216
+ * @param title - Human-readable title.
217
+ * @param description - Agent-facing description.
218
+ * @param events - Event types this webhook delivers.
219
+ * @param unitPriceUsd - Price per delivered event in USD.
220
+ * @param providerEnv - Required provider env vars.
221
+ * @returns A `PremiumCapabilityDefinition` with type `webhook`.
222
+ *
223
+ * @internal
224
+ */
225
+ function techWebhookCapability(id, title, description, events, unitPriceUsd, providerEnv) {
226
+ return {
227
+ id,
228
+ type: 'webhook',
229
+ title,
230
+ description,
231
+ status: providerEnv.length > 0 ? 'requires-provider' : 'planned',
232
+ requiresProvider: providerEnv.length > 0,
233
+ providerEnv,
234
+ inputSchema: techWebhookInputSchema,
235
+ outputSchema: techWebhookOutputSchema,
236
+ pricing: {
237
+ tier: 'premium-webhook',
238
+ model: 'x402-per-event',
239
+ unit: 'event',
240
+ unitPriceUsd,
241
+ minUnits: 5,
242
+ maxUnits: 50_000,
243
+ settlement: 'x402',
244
+ },
245
+ delivery: {
246
+ transport: 'webhook-http',
247
+ events,
248
+ latencyTargetMs: 1_500,
249
+ replayWindowSeconds: 900,
250
+ },
251
+ };
252
+ }
253
+ /* -------------------------------------------------------------------------- */
254
+ /* Plugin manifests */
255
+ /* -------------------------------------------------------------------------- */
256
+ /**
257
+ * @name TECH_FUNDAMENTALS_PREMIUM_PLUGINS
258
+ * @description Built-in premium tech fundamentals plugin manifests.
259
+ *
260
+ * One plugin covering 3 tech fundamentals capabilities:
261
+ * - `sap-premium-tech-fundamentals` — 2 webhook + 1 stream capability
262
+ *
263
+ * @usedBy `listPremiumPlugins()` — merged with the existing built-in plugins.
264
+ */
265
+ export const TECH_FUNDAMENTALS_PREMIUM_PLUGINS = [
266
+ {
267
+ id: 'sap-premium-tech-fundamentals',
268
+ version: '0.1.0',
269
+ title: 'SAP Premium Tech Fundamentals',
270
+ description: 'Paid technical and fundamental analysis for Solana agents: GitHub activity spike alerts for Solana projects, real-time TVL change monitoring for DeFi protocols, and on-demand tokenomics analysis with supply distribution, vesting schedules, and unlock calendars. x402 metered delivery.',
271
+ publisher: 'OOBE Protocol',
272
+ visibility: 'public',
273
+ capabilities: [
274
+ techWebhookCapability('tech.github.activity', 'GitHub activity spike alerts', 'Delivers signed webhook callbacks when GitHub activity spikes are detected for Solana projects. Monitors commit frequency, PR count, issue activity, and contributor changes. Agents receive project name, repo URL, activity spike type (commits, PRs, issues), spike magnitude, and historical comparison for development-driven investment signals.', ['tech.github.activity'], 0.002, // $0.002/event
275
+ ['SAP_MCP_PREMIUM_GITHUB_API_URL', 'SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
276
+ techStreamCapability('tech.tvl.change', 'Real-time TVL change stream', 'Streams real-time TVL changes for Solana DeFi protocols. Monitors total value locked across lending, DEX, staking, and yield protocols. Emits events when TVL changes by a configurable threshold. Agents receive protocol name, current TVL, change percentage, change in USD, and protocol rank for TVL-driven investment decisions.', ['tvl.change'], 0.02, // $0.02/min
277
+ ['SAP_MCP_PREMIUM_DEFILAMA_API_URL']),
278
+ techWebhookCapability('tech.tokenomics.analysis', 'On-demand tokenomics analysis', 'Delivers signed webhook callbacks with on-demand tokenomics analysis for Solana projects. Analyzes supply distribution, vesting schedules, token unlock calendars, and team/advisor allocations. Agents receive mint, circulating supply, total supply, unlock dates, vesting breakdown, concentration risk, and recommended action for tokenomics-aware investment decisions.', ['tech.tokenomics.analysis'], 0.004, // $0.004/event
279
+ ['SAP_MCP_PREMIUM_GITHUB_API_URL', 'SAP_MCP_PREMIUM_WEBHOOK_SIGNER']),
280
+ ],
281
+ },
282
+ ];
283
+ //# sourceMappingURL=tech-fundamentals-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tech-fundamentals-capabilities.js","sourceRoot":"","sources":["../../src/premium/tech-fundamentals-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @name premium/trading-capabilities
3
+ * @description Built-in premium trading capabilities for Solana real-time trading agents.
4
+ *
5
+ * Defines 3 premium trading capabilities across 1 plugin:
6
+ *
7
+ * 1. `sap-premium-trading-streams` — Real-time SSE streams for trading signals:
8
+ * - `jupiter.arbitrage.scan` — Cross-DEX arbitrage opportunity scanner (stream)
9
+ * - `pyth.volatility.watch` — Price volatility breakout detector (stream)
10
+ * - `jupiter.route.optimized` — Optimized swap route with MEV protection (stream)
11
+ *
12
+ * These capabilities are contracts only — they become live when the corresponding
13
+ * provider env vars are configured and a provider adapter is loaded from the
14
+ * private subrepo.
15
+ *
16
+ * @flow
17
+ * 1. Agent discovers trading capabilities via `sap_premium_plugin_catalog`.
18
+ * 2. Agent creates a session plan for a trading stream.
19
+ * 3. Agent activates the session with x402/pay.sh receipt.
20
+ * 4. Agent connects to `GET /premium/stream/:sessionId` for SSE streams.
21
+ * 5. Provider adapter in the private subrepo feeds real market data.
22
+ *
23
+ * @module premium/trading-capabilities
24
+ */
25
+ import type { PremiumPluginManifest } from './types.js';
26
+ /**
27
+ * @name TRADING_PREMIUM_PLUGINS
28
+ * @description Built-in premium trading plugin manifests.
29
+ *
30
+ * One plugin covering 3 trading stream capabilities:
31
+ * - `sap-premium-trading-streams` — 3 SSE stream capabilities
32
+ *
33
+ * @usedBy `listPremiumPlugins()` — merged with the other built-in plugins.
34
+ */
35
+ export declare const TRADING_PREMIUM_PLUGINS: PremiumPluginManifest[];
36
+ //# sourceMappingURL=trading-capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trading-capabilities.d.ts","sourceRoot":"","sources":["../../src/premium/trading-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAA+B,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAwKrF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,EAoC1D,CAAC"}