@oobe-protocol-labs/sap-mcp-server 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (703) hide show
  1. package/.env.example +8 -7
  2. package/CHANGELOG.md +731 -0
  3. package/README.md +9 -3
  4. package/USER_DOCS/00_START_HERE.md +51 -4
  5. package/USER_DOCS/01_HOSTED_REMOTE_MCP.md +1 -1
  6. package/USER_DOCS/03_PAYMENTS_X402_PAYSH.md +32 -3
  7. package/USER_DOCS/04_CLIENT_CONFIGS.md +14 -7
  8. package/USER_DOCS/05_SKILLS_AND_TOOLS.md +68 -8
  9. package/USER_DOCS/06_DESKTOP_GUI_WIZARD.md +20 -14
  10. package/USER_DOCS/07_SMITHERY_AND_MARKETPLACES.md +7 -0
  11. package/config.example.json +5 -4
  12. package/config.schema.json +9 -4
  13. package/config.secure-example.json +5 -4
  14. package/dist/adapters/index.d.ts +7 -1
  15. package/dist/adapters/index.d.ts.map +1 -1
  16. package/dist/adapters/index.js +7 -1
  17. package/dist/adapters/index.js.map +1 -1
  18. package/dist/adapters/mcp/errors.d.ts +13 -1
  19. package/dist/adapters/mcp/errors.d.ts.map +1 -1
  20. package/dist/adapters/mcp/errors.js +13 -1
  21. package/dist/adapters/mcp/errors.js.map +1 -1
  22. package/dist/adapters/mcp/index.d.ts +7 -1
  23. package/dist/adapters/mcp/index.d.ts.map +1 -1
  24. package/dist/adapters/mcp/index.js +7 -1
  25. package/dist/adapters/mcp/index.js.map +1 -1
  26. package/dist/adapters/mcp/prompt-response.d.ts +13 -1
  27. package/dist/adapters/mcp/prompt-response.d.ts.map +1 -1
  28. package/dist/adapters/mcp/prompt-response.js +13 -1
  29. package/dist/adapters/mcp/prompt-response.js.map +1 -1
  30. package/dist/adapters/mcp/resource-response.d.ts +14 -1
  31. package/dist/adapters/mcp/resource-response.d.ts.map +1 -1
  32. package/dist/adapters/mcp/resource-response.js +14 -1
  33. package/dist/adapters/mcp/resource-response.js.map +1 -1
  34. package/dist/adapters/mcp/sdk-compat.d.ts +11 -3
  35. package/dist/adapters/mcp/sdk-compat.d.ts.map +1 -1
  36. package/dist/adapters/mcp/sdk-compat.js +232 -25
  37. package/dist/adapters/mcp/sdk-compat.js.map +1 -1
  38. package/dist/adapters/mcp/tool-response.d.ts +51 -3
  39. package/dist/adapters/mcp/tool-response.d.ts.map +1 -1
  40. package/dist/adapters/mcp/tool-response.js +48 -3
  41. package/dist/adapters/mcp/tool-response.js.map +1 -1
  42. package/dist/adapters/solana/commitment.d.ts +14 -2
  43. package/dist/adapters/solana/commitment.d.ts.map +1 -1
  44. package/dist/adapters/solana/commitment.js +14 -2
  45. package/dist/adapters/solana/commitment.js.map +1 -1
  46. package/dist/adapters/solana/connection.d.ts +11 -2
  47. package/dist/adapters/solana/connection.d.ts.map +1 -1
  48. package/dist/adapters/solana/connection.js +11 -2
  49. package/dist/adapters/solana/connection.js.map +1 -1
  50. package/dist/adapters/solana/index.d.ts +7 -1
  51. package/dist/adapters/solana/index.d.ts.map +1 -1
  52. package/dist/adapters/solana/index.js +7 -1
  53. package/dist/adapters/solana/index.js.map +1 -1
  54. package/dist/adapters/solana/public-key.d.ts +11 -2
  55. package/dist/adapters/solana/public-key.d.ts.map +1 -1
  56. package/dist/adapters/solana/public-key.js +11 -2
  57. package/dist/adapters/solana/public-key.js.map +1 -1
  58. package/dist/config/defaults.d.ts +5 -0
  59. package/dist/config/defaults.d.ts.map +1 -1
  60. package/dist/config/defaults.js +5 -0
  61. package/dist/config/defaults.js.map +1 -1
  62. package/dist/config/env.d.ts +4 -0
  63. package/dist/config/env.d.ts.map +1 -1
  64. package/dist/config/env.js +15 -10
  65. package/dist/config/env.js.map +1 -1
  66. package/dist/config/index.d.ts +5 -0
  67. package/dist/config/index.d.ts.map +1 -1
  68. package/dist/config/index.js +5 -0
  69. package/dist/config/index.js.map +1 -1
  70. package/dist/config/mcp-client-injection.d.ts.map +1 -1
  71. package/dist/config/mcp-client-injection.js +136 -33
  72. package/dist/config/mcp-client-injection.js.map +1 -1
  73. package/dist/config/paths.d.ts +14 -1
  74. package/dist/config/paths.d.ts.map +1 -1
  75. package/dist/config/paths.js +20 -1
  76. package/dist/config/paths.js.map +1 -1
  77. package/dist/config/profiles.d.ts +3 -10
  78. package/dist/config/profiles.d.ts.map +1 -1
  79. package/dist/config/profiles.js +5 -0
  80. package/dist/config/profiles.js.map +1 -1
  81. package/dist/config/schema.d.ts +5 -0
  82. package/dist/config/schema.d.ts.map +1 -1
  83. package/dist/config/schema.js +5 -0
  84. package/dist/config/schema.js.map +1 -1
  85. package/dist/config/secure-config.d.ts +5 -0
  86. package/dist/config/secure-config.d.ts.map +1 -1
  87. package/dist/config/secure-config.js +5 -0
  88. package/dist/config/secure-config.js.map +1 -1
  89. package/dist/config/setup.d.ts +5 -0
  90. package/dist/config/setup.d.ts.map +1 -1
  91. package/dist/config/setup.js +5 -0
  92. package/dist/config/setup.js.map +1 -1
  93. package/dist/config/wizard.d.ts +6 -0
  94. package/dist/config/wizard.d.ts.map +1 -1
  95. package/dist/config/wizard.js +102 -18
  96. package/dist/config/wizard.js.map +1 -1
  97. package/dist/config-cli.d.ts +3 -13
  98. package/dist/config-cli.d.ts.map +1 -1
  99. package/dist/config-cli.js +14 -1
  100. package/dist/config-cli.js.map +1 -1
  101. package/dist/core/constants.d.ts +33 -6
  102. package/dist/core/constants.d.ts.map +1 -1
  103. package/dist/core/constants.js +38 -8
  104. package/dist/core/constants.js.map +1 -1
  105. package/dist/core/errors.d.ts +5 -0
  106. package/dist/core/errors.d.ts.map +1 -1
  107. package/dist/core/errors.js +5 -0
  108. package/dist/core/errors.js.map +1 -1
  109. package/dist/core/guards.d.ts +5 -0
  110. package/dist/core/guards.d.ts.map +1 -1
  111. package/dist/core/guards.js +3 -1
  112. package/dist/core/guards.js.map +1 -1
  113. package/dist/core/index.d.ts +7 -1
  114. package/dist/core/index.d.ts.map +1 -1
  115. package/dist/core/index.js +7 -1
  116. package/dist/core/index.js.map +1 -1
  117. package/dist/core/logger.js +1 -1
  118. package/dist/core/result.d.ts +77 -9
  119. package/dist/core/result.d.ts.map +1 -1
  120. package/dist/core/result.js +68 -9
  121. package/dist/core/result.js.map +1 -1
  122. package/dist/core/types.d.ts +5 -0
  123. package/dist/core/types.d.ts.map +1 -1
  124. package/dist/core/types.js +3 -4
  125. package/dist/core/types.js.map +1 -1
  126. package/dist/index.d.ts +5 -0
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +5 -0
  129. package/dist/index.js.map +1 -1
  130. package/dist/memory/async-processor.d.ts +107 -0
  131. package/dist/memory/async-processor.d.ts.map +1 -0
  132. package/dist/memory/async-processor.js +204 -0
  133. package/dist/memory/async-processor.js.map +1 -0
  134. package/dist/memory/auto-record.d.ts +47 -0
  135. package/dist/memory/auto-record.d.ts.map +1 -0
  136. package/dist/memory/auto-record.js +133 -0
  137. package/dist/memory/auto-record.js.map +1 -0
  138. package/dist/memory/database.d.ts +103 -0
  139. package/dist/memory/database.d.ts.map +1 -0
  140. package/dist/memory/database.js +337 -0
  141. package/dist/memory/database.js.map +1 -0
  142. package/dist/memory/hermes-bridge.d.ts +70 -0
  143. package/dist/memory/hermes-bridge.d.ts.map +1 -0
  144. package/dist/memory/hermes-bridge.js +155 -0
  145. package/dist/memory/hermes-bridge.js.map +1 -0
  146. package/dist/memory/index.d.ts +23 -0
  147. package/dist/memory/index.d.ts.map +1 -0
  148. package/dist/memory/index.js +22 -0
  149. package/dist/memory/index.js.map +1 -0
  150. package/dist/memory/memory-store.d.ts +76 -0
  151. package/dist/memory/memory-store.d.ts.map +1 -0
  152. package/dist/memory/memory-store.js +231 -0
  153. package/dist/memory/memory-store.js.map +1 -0
  154. package/dist/memory/stream-buffer-store.d.ts +69 -0
  155. package/dist/memory/stream-buffer-store.d.ts.map +1 -0
  156. package/dist/memory/stream-buffer-store.js +182 -0
  157. package/dist/memory/stream-buffer-store.js.map +1 -0
  158. package/dist/memory/tool-call-store.d.ts +68 -0
  159. package/dist/memory/tool-call-store.d.ts.map +1 -0
  160. package/dist/memory/tool-call-store.js +189 -0
  161. package/dist/memory/tool-call-store.js.map +1 -0
  162. package/dist/memory/types.d.ts +197 -0
  163. package/dist/memory/types.d.ts.map +1 -0
  164. package/dist/memory/types.js +15 -0
  165. package/dist/memory/types.js.map +1 -0
  166. package/dist/memory/utils.d.ts +30 -0
  167. package/dist/memory/utils.d.ts.map +1 -0
  168. package/dist/memory/utils.js +47 -0
  169. package/dist/memory/utils.js.map +1 -0
  170. package/dist/payments/facilitator-rpc-fallback.d.ts.map +1 -1
  171. package/dist/payments/facilitator-rpc-fallback.js +95 -0
  172. package/dist/payments/facilitator-rpc-fallback.js.map +1 -1
  173. package/dist/payments/hosted-tool-eligibility.d.ts +22 -0
  174. package/dist/payments/hosted-tool-eligibility.d.ts.map +1 -0
  175. package/dist/payments/hosted-tool-eligibility.js +173 -0
  176. package/dist/payments/hosted-tool-eligibility.js.map +1 -0
  177. package/dist/payments/index.d.ts +2 -2
  178. package/dist/payments/index.d.ts.map +1 -1
  179. package/dist/payments/index.js +1 -1
  180. package/dist/payments/index.js.map +1 -1
  181. package/dist/payments/mcp-session-cache.d.ts +35 -0
  182. package/dist/payments/mcp-session-cache.d.ts.map +1 -0
  183. package/dist/payments/mcp-session-cache.js +83 -0
  184. package/dist/payments/mcp-session-cache.js.map +1 -0
  185. package/dist/payments/monetization-gate.d.ts +33 -0
  186. package/dist/payments/monetization-gate.d.ts.map +1 -1
  187. package/dist/payments/monetization-gate.js +124 -12
  188. package/dist/payments/monetization-gate.js.map +1 -1
  189. package/dist/payments/pricing.d.ts +31 -0
  190. package/dist/payments/pricing.d.ts.map +1 -1
  191. package/dist/payments/pricing.js +317 -19
  192. package/dist/payments/pricing.js.map +1 -1
  193. package/dist/payments/usage-ledger.d.ts +36 -2
  194. package/dist/payments/usage-ledger.d.ts.map +1 -1
  195. package/dist/payments/usage-ledger.js +121 -4
  196. package/dist/payments/usage-ledger.js.map +1 -1
  197. package/dist/payments/x402-paid-call.d.ts +121 -0
  198. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  199. package/dist/payments/x402-paid-call.js +428 -1
  200. package/dist/payments/x402-paid-call.js.map +1 -1
  201. package/dist/policy/default-policies.d.ts +18 -2
  202. package/dist/policy/default-policies.d.ts.map +1 -1
  203. package/dist/policy/default-policies.js +18 -2
  204. package/dist/policy/default-policies.js.map +1 -1
  205. package/dist/policy/index.d.ts +6 -3
  206. package/dist/policy/index.d.ts.map +1 -1
  207. package/dist/policy/index.js +6 -3
  208. package/dist/policy/index.js.map +1 -1
  209. package/dist/policy/local-policy-engine.d.ts +71 -13
  210. package/dist/policy/local-policy-engine.d.ts.map +1 -1
  211. package/dist/policy/local-policy-engine.js +33 -11
  212. package/dist/policy/local-policy-engine.js.map +1 -1
  213. package/dist/policy/permission-checks.d.ts +29 -3
  214. package/dist/policy/permission-checks.d.ts.map +1 -1
  215. package/dist/policy/permission-checks.js +29 -3
  216. package/dist/policy/permission-checks.js.map +1 -1
  217. package/dist/policy/policy-engine.d.ts +22 -2
  218. package/dist/policy/policy-engine.d.ts.map +1 -1
  219. package/dist/policy/policy-engine.js +22 -2
  220. package/dist/policy/policy-engine.js.map +1 -1
  221. package/dist/policy/policy-types.d.ts +55 -5
  222. package/dist/policy/policy-types.d.ts.map +1 -1
  223. package/dist/policy/policy-types.js +8 -1
  224. package/dist/policy/policy-types.js.map +1 -1
  225. package/dist/policy/risk-level.d.ts +32 -3
  226. package/dist/policy/risk-level.d.ts.map +1 -1
  227. package/dist/policy/risk-level.js +32 -3
  228. package/dist/policy/risk-level.js.map +1 -1
  229. package/dist/policy/spending-limits.d.ts +29 -3
  230. package/dist/policy/spending-limits.d.ts.map +1 -1
  231. package/dist/policy/spending-limits.js +29 -3
  232. package/dist/policy/spending-limits.js.map +1 -1
  233. package/dist/premium/activation-manager.d.ts +43 -0
  234. package/dist/premium/activation-manager.d.ts.map +1 -0
  235. package/dist/premium/activation-manager.js +131 -0
  236. package/dist/premium/activation-manager.js.map +1 -0
  237. package/dist/premium/builtin-plugins.d.ts +165 -0
  238. package/dist/premium/builtin-plugins.d.ts.map +1 -0
  239. package/dist/premium/builtin-plugins.js +422 -0
  240. package/dist/premium/builtin-plugins.js.map +1 -0
  241. package/dist/premium/event-store.d.ts +61 -0
  242. package/dist/premium/event-store.d.ts.map +1 -0
  243. package/dist/premium/event-store.js +130 -0
  244. package/dist/premium/event-store.js.map +1 -0
  245. package/dist/premium/index.d.ts +54 -0
  246. package/dist/premium/index.d.ts.map +1 -0
  247. package/dist/premium/index.js +54 -0
  248. package/dist/premium/index.js.map +1 -0
  249. package/dist/premium/manifest-builder.d.ts +65 -0
  250. package/dist/premium/manifest-builder.d.ts.map +1 -0
  251. package/dist/premium/manifest-builder.js +182 -0
  252. package/dist/premium/manifest-builder.js.map +1 -0
  253. package/dist/premium/meme-radar-capabilities.d.ts +38 -0
  254. package/dist/premium/meme-radar-capabilities.d.ts.map +1 -0
  255. package/dist/premium/meme-radar-capabilities.js +306 -0
  256. package/dist/premium/meme-radar-capabilities.js.map +1 -0
  257. package/dist/premium/metrics.d.ts +27 -0
  258. package/dist/premium/metrics.d.ts.map +1 -0
  259. package/dist/premium/metrics.js +65 -0
  260. package/dist/premium/metrics.js.map +1 -0
  261. package/dist/premium/plugin-validator.d.ts +39 -0
  262. package/dist/premium/plugin-validator.d.ts.map +1 -0
  263. package/dist/premium/plugin-validator.js +325 -0
  264. package/dist/premium/plugin-validator.js.map +1 -0
  265. package/dist/premium/private-manifest-loader.d.ts +111 -0
  266. package/dist/premium/private-manifest-loader.d.ts.map +1 -0
  267. package/dist/premium/private-manifest-loader.js +285 -0
  268. package/dist/premium/private-manifest-loader.js.map +1 -0
  269. package/dist/premium/provider-bridge.d.ts +133 -0
  270. package/dist/premium/provider-bridge.d.ts.map +1 -0
  271. package/dist/premium/provider-bridge.js +349 -0
  272. package/dist/premium/provider-bridge.js.map +1 -0
  273. package/dist/premium/session-manager.d.ts +125 -0
  274. package/dist/premium/session-manager.d.ts.map +1 -0
  275. package/dist/premium/session-manager.js +337 -0
  276. package/dist/premium/session-manager.js.map +1 -0
  277. package/dist/premium/stream-broker.d.ts +98 -0
  278. package/dist/premium/stream-broker.d.ts.map +1 -0
  279. package/dist/premium/stream-broker.js +199 -0
  280. package/dist/premium/stream-broker.js.map +1 -0
  281. package/dist/premium/tech-fundamentals-capabilities.d.ts +37 -0
  282. package/dist/premium/tech-fundamentals-capabilities.d.ts.map +1 -0
  283. package/dist/premium/tech-fundamentals-capabilities.js +283 -0
  284. package/dist/premium/tech-fundamentals-capabilities.js.map +1 -0
  285. package/dist/premium/trading-capabilities.d.ts +36 -0
  286. package/dist/premium/trading-capabilities.d.ts.map +1 -0
  287. package/dist/premium/trading-capabilities.js +205 -0
  288. package/dist/premium/trading-capabilities.js.map +1 -0
  289. package/dist/premium/types.d.ts +518 -0
  290. package/dist/premium/types.d.ts.map +1 -0
  291. package/dist/premium/types.js +23 -0
  292. package/dist/premium/types.js.map +1 -0
  293. package/dist/premium/webhook-engine.d.ts +138 -0
  294. package/dist/premium/webhook-engine.d.ts.map +1 -0
  295. package/dist/premium/webhook-engine.js +516 -0
  296. package/dist/premium/webhook-engine.js.map +1 -0
  297. package/dist/prompts/context/sap-agent-context.prompt.d.ts +5 -0
  298. package/dist/prompts/context/sap-agent-context.prompt.d.ts.map +1 -1
  299. package/dist/prompts/context/sap-agent-context.prompt.js +20 -16
  300. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  301. package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts +14 -0
  302. package/dist/prompts/context/sap-agent-intent-router.prompt.d.ts.map +1 -0
  303. package/dist/prompts/context/sap-agent-intent-router.prompt.js +155 -0
  304. package/dist/prompts/context/sap-agent-intent-router.prompt.js.map +1 -0
  305. package/dist/prompts/context/sap-agent-start.prompt.js +7 -0
  306. package/dist/prompts/context/sap-agent-start.prompt.js.map +1 -1
  307. package/dist/prompts/developer/debug-sap-error.prompt.d.ts +5 -0
  308. package/dist/prompts/developer/debug-sap-error.prompt.d.ts.map +1 -1
  309. package/dist/prompts/developer/debug-sap-error.prompt.js +3 -4
  310. package/dist/prompts/developer/debug-sap-error.prompt.js.map +1 -1
  311. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts +5 -0
  312. package/dist/prompts/developer/generate-sap-integration.prompt.d.ts.map +1 -1
  313. package/dist/prompts/developer/generate-sap-integration.prompt.js +3 -4
  314. package/dist/prompts/developer/generate-sap-integration.prompt.js.map +1 -1
  315. package/dist/prompts/developer/index.d.ts +4 -1
  316. package/dist/prompts/developer/index.d.ts.map +1 -1
  317. package/dist/prompts/developer/index.js +4 -1
  318. package/dist/prompts/developer/index.js.map +1 -1
  319. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts +5 -0
  320. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.d.ts.map +1 -1
  321. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js +3 -4
  322. package/dist/prompts/execution-proof/explain-proof-of-execution.prompt.js.map +1 -1
  323. package/dist/prompts/execution-proof/index.d.ts +4 -1
  324. package/dist/prompts/execution-proof/index.d.ts.map +1 -1
  325. package/dist/prompts/execution-proof/index.js +4 -1
  326. package/dist/prompts/execution-proof/index.js.map +1 -1
  327. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts +5 -0
  328. package/dist/prompts/execution-proof/verify-execution-proof.prompt.d.ts.map +1 -1
  329. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js +3 -4
  330. package/dist/prompts/execution-proof/verify-execution-proof.prompt.js.map +1 -1
  331. package/dist/prompts/index.d.ts +4 -1
  332. package/dist/prompts/index.d.ts.map +1 -1
  333. package/dist/prompts/index.js +4 -1
  334. package/dist/prompts/index.js.map +1 -1
  335. package/dist/prompts/payments/create-paid-api.prompt.d.ts +5 -0
  336. package/dist/prompts/payments/create-paid-api.prompt.d.ts.map +1 -1
  337. package/dist/prompts/payments/create-paid-api.prompt.js +3 -4
  338. package/dist/prompts/payments/create-paid-api.prompt.js.map +1 -1
  339. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts +5 -0
  340. package/dist/prompts/payments/explain-x402-settlement.prompt.d.ts.map +1 -1
  341. package/dist/prompts/payments/explain-x402-settlement.prompt.js +4 -5
  342. package/dist/prompts/payments/explain-x402-settlement.prompt.js.map +1 -1
  343. package/dist/prompts/payments/index.d.ts +4 -1
  344. package/dist/prompts/payments/index.d.ts.map +1 -1
  345. package/dist/prompts/payments/index.js +4 -1
  346. package/dist/prompts/payments/index.js.map +1 -1
  347. package/dist/prompts/register-prompts.d.ts +18 -2
  348. package/dist/prompts/register-prompts.d.ts.map +1 -1
  349. package/dist/prompts/register-prompts.js +21 -3
  350. package/dist/prompts/register-prompts.js.map +1 -1
  351. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts +5 -0
  352. package/dist/prompts/registry/analyze-sap-agent.prompt.d.ts.map +1 -1
  353. package/dist/prompts/registry/analyze-sap-agent.prompt.js +3 -4
  354. package/dist/prompts/registry/analyze-sap-agent.prompt.js.map +1 -1
  355. package/dist/prompts/registry/index.d.ts +4 -1
  356. package/dist/prompts/registry/index.d.ts.map +1 -1
  357. package/dist/prompts/registry/index.js +4 -1
  358. package/dist/prompts/registry/index.js.map +1 -1
  359. package/dist/prompts/registry/register-sap-agent.prompt.d.ts +5 -0
  360. package/dist/prompts/registry/register-sap-agent.prompt.d.ts.map +1 -1
  361. package/dist/prompts/registry/register-sap-agent.prompt.js +22 -23
  362. package/dist/prompts/registry/register-sap-agent.prompt.js.map +1 -1
  363. package/dist/remote/premium-memory.d.ts +90 -0
  364. package/dist/remote/premium-memory.d.ts.map +1 -0
  365. package/dist/remote/premium-memory.js +161 -0
  366. package/dist/remote/premium-memory.js.map +1 -0
  367. package/dist/remote/premium-routes.d.ts +99 -0
  368. package/dist/remote/premium-routes.d.ts.map +1 -0
  369. package/dist/remote/premium-routes.js +347 -0
  370. package/dist/remote/premium-routes.js.map +1 -0
  371. package/dist/remote/public-home/sections.d.ts.map +1 -1
  372. package/dist/remote/public-home/sections.js +23 -4
  373. package/dist/remote/public-home/sections.js.map +1 -1
  374. package/dist/remote/public-home/types.d.ts +9 -0
  375. package/dist/remote/public-home/types.d.ts.map +1 -1
  376. package/dist/remote/server.d.ts +20 -0
  377. package/dist/remote/server.d.ts.map +1 -1
  378. package/dist/remote/server.js +369 -8
  379. package/dist/remote/server.js.map +1 -1
  380. package/dist/remote/tx-relay.d.ts +42 -0
  381. package/dist/remote/tx-relay.d.ts.map +1 -0
  382. package/dist/remote/tx-relay.js +118 -0
  383. package/dist/remote/tx-relay.js.map +1 -0
  384. package/dist/resources/current/sap-current-config.resource.d.ts +5 -0
  385. package/dist/resources/current/sap-current-config.resource.d.ts.map +1 -1
  386. package/dist/resources/current/sap-current-config.resource.js +2 -5
  387. package/dist/resources/current/sap-current-config.resource.js.map +1 -1
  388. package/dist/resources/execution-proof/index.d.ts +5 -0
  389. package/dist/resources/execution-proof/index.d.ts.map +1 -1
  390. package/dist/resources/execution-proof/index.js +5 -0
  391. package/dist/resources/execution-proof/index.js.map +1 -1
  392. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts +5 -0
  393. package/dist/resources/execution-proof/sap-execution-record.resource.d.ts.map +1 -1
  394. package/dist/resources/execution-proof/sap-execution-record.resource.js +3 -4
  395. package/dist/resources/execution-proof/sap-execution-record.resource.js.map +1 -1
  396. package/dist/resources/index.d.ts +5 -0
  397. package/dist/resources/index.d.ts.map +1 -1
  398. package/dist/resources/index.js +5 -0
  399. package/dist/resources/index.js.map +1 -1
  400. package/dist/resources/memory/index.d.ts +5 -0
  401. package/dist/resources/memory/index.d.ts.map +1 -1
  402. package/dist/resources/memory/index.js +5 -0
  403. package/dist/resources/memory/index.js.map +1 -1
  404. package/dist/resources/memory/sap-memory.resource.d.ts +5 -0
  405. package/dist/resources/memory/sap-memory.resource.d.ts.map +1 -1
  406. package/dist/resources/memory/sap-memory.resource.js +3 -4
  407. package/dist/resources/memory/sap-memory.resource.js.map +1 -1
  408. package/dist/resources/profile/sap-active-profile.resource.d.ts +5 -0
  409. package/dist/resources/profile/sap-active-profile.resource.d.ts.map +1 -1
  410. package/dist/resources/profile/sap-active-profile.resource.js +2 -5
  411. package/dist/resources/profile/sap-active-profile.resource.js.map +1 -1
  412. package/dist/resources/register-resources.d.ts +5 -0
  413. package/dist/resources/register-resources.d.ts.map +1 -1
  414. package/dist/resources/register-resources.js +3 -1
  415. package/dist/resources/register-resources.js.map +1 -1
  416. package/dist/resources/registry/index.d.ts +5 -0
  417. package/dist/resources/registry/index.d.ts.map +1 -1
  418. package/dist/resources/registry/index.js +5 -0
  419. package/dist/resources/registry/index.js.map +1 -1
  420. package/dist/resources/registry/sap-agent.resource.d.ts +5 -0
  421. package/dist/resources/registry/sap-agent.resource.d.ts.map +1 -1
  422. package/dist/resources/registry/sap-agent.resource.js +3 -4
  423. package/dist/resources/registry/sap-agent.resource.js.map +1 -1
  424. package/dist/resources/registry/sap-global-registry.resource.d.ts +18 -4
  425. package/dist/resources/registry/sap-global-registry.resource.d.ts.map +1 -1
  426. package/dist/resources/registry/sap-global-registry.resource.js +18 -4
  427. package/dist/resources/registry/sap-global-registry.resource.js.map +1 -1
  428. package/dist/resources/reputation/index.d.ts +4 -1
  429. package/dist/resources/reputation/index.d.ts.map +1 -1
  430. package/dist/resources/reputation/index.js +4 -1
  431. package/dist/resources/reputation/index.js.map +1 -1
  432. package/dist/resources/reputation/sap-reputation.resource.d.ts +18 -4
  433. package/dist/resources/reputation/sap-reputation.resource.d.ts.map +1 -1
  434. package/dist/resources/reputation/sap-reputation.resource.js +18 -4
  435. package/dist/resources/reputation/sap-reputation.resource.js.map +1 -1
  436. package/dist/resources/tool-schema/index.d.ts +4 -1
  437. package/dist/resources/tool-schema/index.d.ts.map +1 -1
  438. package/dist/resources/tool-schema/index.js +4 -1
  439. package/dist/resources/tool-schema/index.js.map +1 -1
  440. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts +18 -4
  441. package/dist/resources/tool-schema/sap-tool-schema.resource.d.ts.map +1 -1
  442. package/dist/resources/tool-schema/sap-tool-schema.resource.js +18 -4
  443. package/dist/resources/tool-schema/sap-tool-schema.resource.js.map +1 -1
  444. package/dist/sap/index.d.ts +7 -1
  445. package/dist/sap/index.d.ts.map +1 -1
  446. package/dist/sap/index.js +7 -1
  447. package/dist/sap/index.js.map +1 -1
  448. package/dist/sap/sap-client-manager.d.ts +80 -13
  449. package/dist/sap/sap-client-manager.d.ts.map +1 -1
  450. package/dist/sap/sap-client-manager.js +80 -13
  451. package/dist/sap/sap-client-manager.js.map +1 -1
  452. package/dist/sap/sap-errors.d.ts +22 -3
  453. package/dist/sap/sap-errors.d.ts.map +1 -1
  454. package/dist/sap/sap-errors.js +22 -3
  455. package/dist/sap/sap-errors.js.map +1 -1
  456. package/dist/sap/sap-types.d.ts +75 -6
  457. package/dist/sap/sap-types.d.ts.map +1 -1
  458. package/dist/sap/sap-types.js +11 -1
  459. package/dist/sap/sap-types.js.map +1 -1
  460. package/dist/schemas/common.schema.d.ts +45 -8
  461. package/dist/schemas/common.schema.d.ts.map +1 -1
  462. package/dist/schemas/common.schema.js +45 -8
  463. package/dist/schemas/common.schema.js.map +1 -1
  464. package/dist/schemas/developer.schema.d.ts +22 -3
  465. package/dist/schemas/developer.schema.d.ts.map +1 -1
  466. package/dist/schemas/developer.schema.js +22 -3
  467. package/dist/schemas/developer.schema.js.map +1 -1
  468. package/dist/schemas/execution-proof.schema.d.ts +29 -4
  469. package/dist/schemas/execution-proof.schema.d.ts.map +1 -1
  470. package/dist/schemas/execution-proof.schema.js +29 -4
  471. package/dist/schemas/execution-proof.schema.js.map +1 -1
  472. package/dist/schemas/identity.schema.d.ts +23 -3
  473. package/dist/schemas/identity.schema.d.ts.map +1 -1
  474. package/dist/schemas/identity.schema.js +23 -3
  475. package/dist/schemas/identity.schema.js.map +1 -1
  476. package/dist/schemas/index.d.ts +11 -1
  477. package/dist/schemas/index.d.ts.map +1 -1
  478. package/dist/schemas/index.js +11 -1
  479. package/dist/schemas/index.js.map +1 -1
  480. package/dist/schemas/memory.schema.d.ts +23 -3
  481. package/dist/schemas/memory.schema.d.ts.map +1 -1
  482. package/dist/schemas/memory.schema.js +23 -3
  483. package/dist/schemas/memory.schema.js.map +1 -1
  484. package/dist/schemas/payments.schema.d.ts +24 -3
  485. package/dist/schemas/payments.schema.d.ts.map +1 -1
  486. package/dist/schemas/payments.schema.js +24 -3
  487. package/dist/schemas/payments.schema.js.map +1 -1
  488. package/dist/schemas/registry.schema.d.ts +38 -6
  489. package/dist/schemas/registry.schema.d.ts.map +1 -1
  490. package/dist/schemas/registry.schema.js +36 -4
  491. package/dist/schemas/registry.schema.js.map +1 -1
  492. package/dist/schemas/reputation.schema.d.ts +22 -3
  493. package/dist/schemas/reputation.schema.d.ts.map +1 -1
  494. package/dist/schemas/reputation.schema.js +22 -3
  495. package/dist/schemas/reputation.schema.js.map +1 -1
  496. package/dist/schemas/settlement.schema.d.ts +31 -4
  497. package/dist/schemas/settlement.schema.d.ts.map +1 -1
  498. package/dist/schemas/settlement.schema.js +31 -4
  499. package/dist/schemas/settlement.schema.js.map +1 -1
  500. package/dist/schemas/tool-schema.schema.d.ts +29 -3
  501. package/dist/schemas/tool-schema.schema.d.ts.map +1 -1
  502. package/dist/schemas/tool-schema.schema.js +29 -3
  503. package/dist/schemas/tool-schema.schema.js.map +1 -1
  504. package/dist/schemas/transaction.schema.d.ts +23 -3
  505. package/dist/schemas/transaction.schema.d.ts.map +1 -1
  506. package/dist/schemas/transaction.schema.js +23 -3
  507. package/dist/schemas/transaction.schema.js.map +1 -1
  508. package/dist/security/approval-required.d.ts +19 -2
  509. package/dist/security/approval-required.d.ts.map +1 -1
  510. package/dist/security/approval-required.js +19 -2
  511. package/dist/security/approval-required.js.map +1 -1
  512. package/dist/security/index.d.ts +7 -1
  513. package/dist/security/index.d.ts.map +1 -1
  514. package/dist/security/index.js +7 -1
  515. package/dist/security/index.js.map +1 -1
  516. package/dist/security/private-key-guard.d.ts +18 -2
  517. package/dist/security/private-key-guard.d.ts.map +1 -1
  518. package/dist/security/private-key-guard.js +19 -2
  519. package/dist/security/private-key-guard.js.map +1 -1
  520. package/dist/security/prompt-injection-notes.d.ts +10 -1
  521. package/dist/security/prompt-injection-notes.d.ts.map +1 -1
  522. package/dist/security/prompt-injection-notes.js +10 -1
  523. package/dist/security/prompt-injection-notes.js.map +1 -1
  524. package/dist/security/tool-permissions.d.ts.map +1 -1
  525. package/dist/security/tool-permissions.js +12 -0
  526. package/dist/security/tool-permissions.js.map +1 -1
  527. package/dist/security/unsafe-action-guard.d.ts +36 -10
  528. package/dist/security/unsafe-action-guard.d.ts.map +1 -1
  529. package/dist/security/unsafe-action-guard.js +67 -15
  530. package/dist/security/unsafe-action-guard.js.map +1 -1
  531. package/dist/server/create-server.d.ts +18 -3
  532. package/dist/server/create-server.d.ts.map +1 -1
  533. package/dist/server/create-server.js +18 -3
  534. package/dist/server/create-server.js.map +1 -1
  535. package/dist/server/index.d.ts +6 -1
  536. package/dist/server/index.d.ts.map +1 -1
  537. package/dist/server/index.js +6 -1
  538. package/dist/server/index.js.map +1 -1
  539. package/dist/server/register-capabilities.d.ts +17 -2
  540. package/dist/server/register-capabilities.d.ts.map +1 -1
  541. package/dist/server/register-capabilities.js +17 -2
  542. package/dist/server/register-capabilities.js.map +1 -1
  543. package/dist/server/server-metadata.d.ts +35 -1
  544. package/dist/server/server-metadata.d.ts.map +1 -1
  545. package/dist/server/server-metadata.js +36 -2
  546. package/dist/server/server-metadata.js.map +1 -1
  547. package/dist/session/agent-session.d.ts +35 -4
  548. package/dist/session/agent-session.d.ts.map +1 -1
  549. package/dist/session/agent-session.js +35 -4
  550. package/dist/session/agent-session.js.map +1 -1
  551. package/dist/session/delegated-session.d.ts +31 -3
  552. package/dist/session/delegated-session.d.ts.map +1 -1
  553. package/dist/session/delegated-session.js +31 -3
  554. package/dist/session/delegated-session.js.map +1 -1
  555. package/dist/session/index.d.ts +7 -1
  556. package/dist/session/index.d.ts.map +1 -1
  557. package/dist/session/index.js +7 -1
  558. package/dist/session/index.js.map +1 -1
  559. package/dist/session/redis-session-store.d.ts +94 -21
  560. package/dist/session/redis-session-store.d.ts.map +1 -1
  561. package/dist/session/redis-session-store.js +87 -20
  562. package/dist/session/redis-session-store.js.map +1 -1
  563. package/dist/session/session-limits.d.ts +34 -4
  564. package/dist/session/session-limits.d.ts.map +1 -1
  565. package/dist/session/session-limits.js +34 -4
  566. package/dist/session/session-limits.js.map +1 -1
  567. package/dist/session/session-permissions.d.ts +57 -7
  568. package/dist/session/session-permissions.d.ts.map +1 -1
  569. package/dist/session/session-permissions.js +57 -7
  570. package/dist/session/session-permissions.js.map +1 -1
  571. package/dist/session/session-store.d.ts +9 -1
  572. package/dist/session/session-store.d.ts.map +1 -1
  573. package/dist/session/session-store.js +18 -3
  574. package/dist/session/session-store.js.map +1 -1
  575. package/dist/session/session-types.d.ts +33 -4
  576. package/dist/session/session-types.d.ts.map +1 -1
  577. package/dist/session/session-types.js +9 -1
  578. package/dist/session/session-types.js.map +1 -1
  579. package/dist/signer/index.d.ts +7 -1
  580. package/dist/signer/index.d.ts.map +1 -1
  581. package/dist/signer/index.js +7 -1
  582. package/dist/signer/index.js.map +1 -1
  583. package/dist/signer/load-keypair.d.ts +25 -4
  584. package/dist/signer/load-keypair.d.ts.map +1 -1
  585. package/dist/signer/load-keypair.js +25 -4
  586. package/dist/signer/load-keypair.js.map +1 -1
  587. package/dist/signer/local-keypair-signer.d.ts +19 -3
  588. package/dist/signer/local-keypair-signer.d.ts.map +1 -1
  589. package/dist/signer/local-keypair-signer.js +24 -4
  590. package/dist/signer/local-keypair-signer.js.map +1 -1
  591. package/dist/signer/signer-resolver.d.ts +19 -2
  592. package/dist/signer/signer-resolver.d.ts.map +1 -1
  593. package/dist/signer/signer-resolver.js +26 -3
  594. package/dist/signer/signer-resolver.js.map +1 -1
  595. package/dist/signer/signer-types.d.ts +47 -5
  596. package/dist/signer/signer-types.d.ts.map +1 -1
  597. package/dist/signer/signer-types.js +13 -1
  598. package/dist/signer/signer-types.js.map +1 -1
  599. package/dist/strategies/strategy-store.d.ts +82 -0
  600. package/dist/strategies/strategy-store.d.ts.map +1 -0
  601. package/dist/strategies/strategy-store.js +165 -0
  602. package/dist/strategies/strategy-store.js.map +1 -0
  603. package/dist/tools/agent-start-tool.d.ts.map +1 -1
  604. package/dist/tools/agent-start-tool.js +481 -5
  605. package/dist/tools/agent-start-tool.js.map +1 -1
  606. package/dist/tools/client-sdk-tools.d.ts.map +1 -1
  607. package/dist/tools/client-sdk-tools.js +32 -7
  608. package/dist/tools/client-sdk-tools.js.map +1 -1
  609. package/dist/tools/estimate-tool-cost.d.ts +13 -0
  610. package/dist/tools/estimate-tool-cost.d.ts.map +1 -0
  611. package/dist/tools/estimate-tool-cost.js +139 -0
  612. package/dist/tools/estimate-tool-cost.js.map +1 -0
  613. package/dist/tools/index.d.ts +8 -0
  614. package/dist/tools/index.d.ts.map +1 -1
  615. package/dist/tools/index.js +11 -0
  616. package/dist/tools/index.js.map +1 -1
  617. package/dist/tools/magicblock-tools.d.ts +31 -6
  618. package/dist/tools/magicblock-tools.d.ts.map +1 -1
  619. package/dist/tools/magicblock-tools.js +178 -53
  620. package/dist/tools/magicblock-tools.js.map +1 -1
  621. package/dist/tools/memory-tools.d.ts +26 -0
  622. package/dist/tools/memory-tools.d.ts.map +1 -0
  623. package/dist/tools/memory-tools.js +533 -0
  624. package/dist/tools/memory-tools.js.map +1 -0
  625. package/dist/tools/perp-tools.d.ts +39 -0
  626. package/dist/tools/perp-tools.d.ts.map +1 -0
  627. package/dist/tools/perp-tools.js +1110 -0
  628. package/dist/tools/perp-tools.js.map +1 -0
  629. package/dist/tools/premium-tools.d.ts +8 -0
  630. package/dist/tools/premium-tools.d.ts.map +1 -0
  631. package/dist/tools/premium-tools.js +1102 -0
  632. package/dist/tools/premium-tools.js.map +1 -0
  633. package/dist/tools/profile-tools.d.ts.map +1 -1
  634. package/dist/tools/profile-tools.js +18 -1
  635. package/dist/tools/profile-tools.js.map +1 -1
  636. package/dist/tools/quick-context-tool.d.ts +16 -0
  637. package/dist/tools/quick-context-tool.d.ts.map +1 -0
  638. package/dist/tools/quick-context-tool.js +304 -0
  639. package/dist/tools/quick-context-tool.js.map +1 -0
  640. package/dist/tools/register-tools.d.ts.map +1 -1
  641. package/dist/tools/register-tools.js +17 -0
  642. package/dist/tools/register-tools.js.map +1 -1
  643. package/dist/tools/sap-sdk-tools.d.ts +419 -0
  644. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  645. package/dist/tools/sap-sdk-tools.js +1547 -126
  646. package/dist/tools/sap-sdk-tools.js.map +1 -1
  647. package/dist/tools/sap-sns-tools.d.ts +2 -2
  648. package/dist/tools/sap-sns-tools.d.ts.map +1 -1
  649. package/dist/tools/sap-sns-tools.js +12 -8
  650. package/dist/tools/sap-sns-tools.js.map +1 -1
  651. package/dist/tools/skills-tools.d.ts +16 -0
  652. package/dist/tools/skills-tools.d.ts.map +1 -1
  653. package/dist/tools/skills-tools.js +282 -5
  654. package/dist/tools/skills-tools.js.map +1 -1
  655. package/dist/tools/tool-aliases.d.ts.map +1 -1
  656. package/dist/tools/tool-aliases.js +7 -0
  657. package/dist/tools/tool-aliases.js.map +1 -1
  658. package/dist/tools/transaction-tools.d.ts +135 -0
  659. package/dist/tools/transaction-tools.d.ts.map +1 -1
  660. package/dist/tools/transaction-tools.js +515 -16
  661. package/dist/tools/transaction-tools.js.map +1 -1
  662. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  663. package/dist/tools/x402-paid-call-tool.js +756 -23
  664. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  665. package/dist/transports/index.d.ts +6 -1
  666. package/dist/transports/index.d.ts.map +1 -1
  667. package/dist/transports/index.js +6 -1
  668. package/dist/transports/index.js.map +1 -1
  669. package/dist/transports/stdio.d.ts +17 -5
  670. package/dist/transports/stdio.d.ts.map +1 -1
  671. package/dist/transports/stdio.js +17 -5
  672. package/dist/transports/stdio.js.map +1 -1
  673. package/dist/tui/wizard-save.d.ts +88 -8
  674. package/dist/tui/wizard-save.d.ts.map +1 -1
  675. package/dist/tui/wizard-save.js +77 -8
  676. package/dist/tui/wizard-save.js.map +1 -1
  677. package/dist/wizard-core/desktop-flow.d.ts.map +1 -1
  678. package/dist/wizard-core/desktop-flow.js +4 -2
  679. package/dist/wizard-core/desktop-flow.js.map +1 -1
  680. package/docs/03_CONFIGURATION_AND_WIZARD.md +5 -3
  681. package/docs/06_PAYMENTS_X402_AND_PAYSH.md +82 -4
  682. package/docs/07_ENDPOINTS_AND_CLIENTS.md +7 -3
  683. package/docs/09_TOOLS_SKILLS_AND_AGENT_GUIDE.md +21 -3
  684. package/docs/14_DESKTOP_WIZARD_RELEASE.md +8 -6
  685. package/docs/16_SAP_AGENT_IDENTITY_PIPELINE.md +304 -0
  686. package/docs/18_PREMIUM_PLUGIN_RUNTIME.md +108 -0
  687. package/docs/BRANCH_AND_CI.md +67 -0
  688. package/docs/README.md +19 -2
  689. package/docs/magicblock-tools.md +70 -29
  690. package/package.json +10 -6
  691. package/server.json +3 -3
  692. package/skills/README.md +12 -2
  693. package/skills/sap-agent-registry/SKILL.md +99 -4
  694. package/skills/sap-defi/SKILL.md +8 -4
  695. package/skills/sap-discovery-indexing/SKILL.md +26 -4
  696. package/skills/sap-escrow-settlement/SKILL.md +22 -4
  697. package/skills/sap-mcp/SKILL.md +140 -22
  698. package/skills/sap-mcp/TOOL_REFERENCE.md +47 -7
  699. package/skills/sap-nft-metaplex/SKILL.md +22 -0
  700. package/skills/sap-operations/SKILL.md +32 -3
  701. package/skills/sap-payments-x402/SKILL.md +85 -8
  702. package/skills/sap-sns/SKILL.md +32 -10
  703. package/smithery.config.schema.json +7 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,737 @@
2
2
 
3
3
  All notable changes to this project are documented in this file.
4
4
 
5
+ ## 0.9.3 - 2026-07-25
6
+
7
+ ### Added — Local Agent Memory Subsystem (SQLite FTS5)
8
+
9
+ A complete serverless local-memory subsystem built on SQLite FTS5, using
10
+ inverted full-text indexes and relevance-ranked retrieval to recover historical
11
+ agent interactions. All data is stored locally at
12
+ `~/.config/sap-mcp/memory/agent-memory.db` — no data leaves the user's machine.
13
+
14
+ **10 module files:**
15
+ - `src/memory/types.ts` — 11 TypeScript interfaces with strict typing
16
+ - `src/memory/database.ts` — Singleton SQLite connection (WAL mode, FTS5, schema versioning, prepared statements, graceful degradation)
17
+ - `src/memory/tool-call-store.ts` — Records + FTS5 search with BM25 ranking
18
+ - `src/memory/memory-store.ts` — Agent memories with relevance decay + recall
19
+ - `src/memory/stream-buffer-store.ts` — FIFO event buffering with dedup + replay
20
+ - `src/memory/async-processor.ts` — Non-blocking background maintenance (decay, evict, archive, prune, WAL checkpoint)
21
+ - `src/memory/auto-record.ts` — Automatic tool call recording hook
22
+ - `src/memory/hermes-bridge.ts` — Cross-session Hermes Agent integration (read-only)
23
+ - `src/memory/utils.ts` — truncate, decayRelevance, isExpired
24
+ - `src/strategies/strategy-store.ts` — File-based JSON strategy store with versioning + path traversal protection
25
+
26
+ **17 new FREE MCP tools (319 → 336 total, all local, no x402):**
27
+
28
+ | Category | Tool | Function |
29
+ |---|---|---|
30
+ | Memory | `sap_memory_record` | Record a tool call in the DB |
31
+ | | `sap_memory_search` | FTS5 search across tool call history |
32
+ | | `sap_memory_summarize` | Create an LLM-compressed memory (lesson/pattern/failure/success) |
33
+ | | `sap_memory_recall` | Top N memories for a category (prompt injection) |
34
+ | | `sap_memory_prune` | Remove expired + low-relevance memories |
35
+ | Strategy | `sap_strategy_save` | Save/update a strategy JSON |
36
+ | | `sap_strategy_load` | Load a strategy by category+name |
37
+ | | `sap_strategy_list` | List strategies (filterable) |
38
+ | | `sap_strategy_activate` | Activate/deactivate a strategy |
39
+ | Stream | `sap_stream_buffer` | Buffer a stream event (dedup by eventId) |
40
+ | | `sap_stream_consume` | Consume events FIFO (mark consumed) |
41
+ | | `sap_stream_replay` | Replay all events for backtest |
42
+ | Audit | `sap_audit_query` | Query audit trail via FTS5 |
43
+ | | `sap_audit_record` | Record a manual audit entry |
44
+ | | `sap_audit_stats` | Aggregate stats (counts, breakdowns, DB size) |
45
+ | Hermes | `sap_hermes_search` | Search Hermes session history |
46
+ | | `sap_hermes_recent` | Recent Hermes sessions for context injection |
47
+
48
+ **Key engineering features:**
49
+ - SQLite FTS5 with BM25 relevance ranking
50
+ - WAL mode for concurrent read access (crash-safe)
51
+ - Thread-safe singleton with cached prepared statements
52
+ - Graceful degradation (if DB can't open, tools return empty results)
53
+ - Async processor: decay (1h), evict (5m), archive (1h), prune (6h), WAL checkpoint (10m)
54
+ - Relevance decay: 1%/day, auto-prune below 0.05
55
+ - Stream dedup: (streamType, eventId) unique index
56
+ - Strategy versioning: auto-increment on update
57
+ - Path traversal protection: sanitized path segments (alphanumeric + dash/underscore/dot only)
58
+ - Hermes bridge: auto-detected, read-only, FTS5 with LIKE fallback
59
+ - Server lifecycle: init+start on boot, stop+close on shutdown
60
+
61
+ ### Added — Quick Context Auto-Update
62
+
63
+ `sap_quick_context` now accepts `agentKnownVersion`:
64
+ - When omitted (first bootstrap): `skillsUpdateRequired=true`, `skillsContents` populated with full SKILL.md inline
65
+ - When ≠ server version: `skillsUpdateRequired=true`, skills contents included
66
+ - When == server version: `skillsUpdateRequired=false` (token savings)
67
+
68
+ Also returns `serverCommit` (git short hash), `environment` (network, mode, authType, rateLimitPerMinute), and `recommendedFlow` (mode-specific workflow guidance).
69
+
70
+ ### Added — Wizard Directory Creation
71
+
72
+ `ensureConfigDirectories()` now creates `~/.config/sap-map/memory/` and `~/.config/sap-mcp/strategies/` with private permissions (mode 0o700) alongside the existing config, keypair, data, log, and cache directories.
73
+
74
+ ### Security
75
+
76
+ - Path traversal protection on all strategy store operations (`sanitizePathSegment`)
77
+ - All SQL queries use parameterized prepared statements (no string interpolation)
78
+ - Hermes bridge opens read-only connections only
79
+ - Memory database is local-only — no network access
80
+ - No secrets, private keys, or keypair bytes stored in the memory DB
81
+ - 0 dependency vulnerabilities (`pnpm audit`)
82
+ - `createRequire` used instead of `require()` to satisfy ESLint
83
+
84
+ ## 0.9.22 - 2026-07-25
85
+
86
+ ### Added
87
+
88
+ - **`signerProfile` per-call parameter** on `sap_payments_finalize_transaction`.
89
+ Agents can now sign with a specific profile without switching `.active-profile`
90
+ manually. Multiple profiles coexist in the same session. Eliminates the #1
91
+ source of agent friction: profile-switch juggling + stale signer cache.
92
+ - **`sap_build_sol_transfer`** — Hosted unsigned builder for native SOL transfers
93
+ using `SystemProgram.transfer`. Fills the gap left by `spl-token_transferSol`
94
+ (local-signer-only). Returns base64 unsigned transaction for local signing.
95
+ - **`sap_build_spl_transfer`** — Hosted unsigned builder for SPL token transfers
96
+ with idempotent ATA creation. Uses raw `@solana/web3.js` `TransactionInstruction`
97
+ (no `@solana/spl-token` dependency). Returns base64 unsigned transaction.
98
+ - **x402 idempotency cache** in `McpMonetizationGate` — prevents double-charge on
99
+ retry. Successful settlements are cached by `requestHash` for 5 minutes
100
+ (max 10,000 entries, LRU eviction, opportunistic pruning). If the same
101
+ request is retried after a network failure, the cached settlement is returned
102
+ without re-charging the payer's USDC.
103
+ - **x402 nonce + TTL strict validation** — `validatePaymentRequirementsForDecision`
104
+ now enforces `maxTimeoutSeconds ≤ 120` and rejects invalid/missing TTL values.
105
+ Prevents stale challenge replay attacks.
106
+ - **Challenge-signature parameter** on `sap_profile_switch` — optional Ed25519
107
+ signature proving ownership of the target profile keypair. Prevents
108
+ impersonation via manual `.active-profile` file edits.
109
+ - **`preloadPremiumProviders`** at server startup — providers are eagerly loaded
110
+ and connected when the server boots, not lazily on first request. The
111
+ `providerHealth` response now reflects real provider status immediately.
112
+ - **3 new free meme-radar providers** (DexScreener + Solana RPC, no API keys):
113
+ - `meme.newlisting.alert` — detects newly listed tokens via DexScreener
114
+ `pairCreatedAt` with honeypot/dev-wallet risk flags.
115
+ - `meme.rugpull.detector` — on-chain mint/freeze authority checks via Solana
116
+ RPC + DexScreener liquidity drain detection. Risk score 0-1 with
117
+ exit/monitor/caution actions.
118
+ - `meme.social.sentiment` — bull/bear scores from DexScreener price momentum
119
+ (1h/6h/24h weighted) with volume acceleration confidence.
120
+ - **Multi-feed Pyth** — `pyth.price.tick` and `pyth.volatility.watch` now poll
121
+ 5 feeds by default (SOL/USD, WBTC/USD, WETH/USD, JUP/USD, USDC/USD) instead
122
+ of 1. All Pyth providers converted from WebSocket to HTTP polling
123
+ (`hermes.pyth.network/v2/updates/price/latest`).
124
+ - **`signalConfidence` field** on Pyth price tick events — normalized 0-1
125
+ confidence score derived from `1 - (confidenceInterval / price)`, separate
126
+ from the raw Pyth `confidenceIntervalUsd`.
127
+ - **ATR-based SL/TP** for volatility breakout signals — `stopLoss = entry ∓
128
+ 2×ATR`, `takeProfit = entry ± 3×ATR`, with `minSpreadPct` filter (0.1%)
129
+ to discard signals too tight for on-chain execution. `action` changed from
130
+ `sell` to `swap` for spot-only agents.
131
+ - **Applied filters in webhook relay response** — `sap_premium_webhook_relay`
132
+ now returns `subscribedEvents` and `appliedFilters` in the subscription
133
+ response for agent verification.
134
+ - **`sap-mcp-optimization` skill** (devops category) — documents pre-estimate,
135
+ profile routing, build→sign→submit, x402 payment rules, readiness checks,
136
+ budget management, and premium stream consumption patterns.
137
+ - Tool count: 317 → 319. Test count: 603 (unchanged, all updated).
138
+
139
+ ### Changed
140
+
141
+ - **Premium capability prices halved** — all 13 premium capabilities now cost
142
+ 50% less per unit/event:
143
+ - `jupiter.quote.delta`: $0.02 → $0.01/min
144
+ - `pyth.price.tick`: $0.015 → $0.0075/min
145
+ - `price.threshold.crossed`: $0.001 → $0.0005/event
146
+ - `jupiter.arbitrage.scan`: $0.05 → $0.025/min
147
+ - `pyth.volatility.watch`: $0.03 → $0.015/min
148
+ - `jupiter.route.optimized`: $0.025 → $0.0125/min
149
+ - `meme.newlisting.alert`: $0.003 → $0.0015/event
150
+ - `meme.social.sentiment`: $0.02 → $0.01/min
151
+ - `meme.rugpull.detector`: $0.04 → $0.02/min
152
+ - `meme.volume.spike`: $0.025 → $0.0125/min
153
+ - `tech.github.activity`: $0.002 → $0.001/event
154
+ - `tech.tvl.change`: $0.02 → $0.01/min
155
+ - `tech.tokenomics.analysis`: $0.004 → $0.002/event
156
+ - **Heavy value-action price**: $0.15 → $0.05 (max accepted x402 for
157
+ value-action tier tools).
158
+ - **Auto-pay threshold**: $0.02 → $0.05 (`SAP_MCP_X402_AUTO_PAY_MAX_USD`).
159
+ Read-premium ($0.001) and builder ($0.008) calls now auto-pay without
160
+ confirmation.
161
+ - **Premium poll/flush/metrics FREE** — `sap_premium_stream_poll`,
162
+ `sap_premium_stream_flush`, `sap_premium_webhook_relay_status`,
163
+ `sap_premium_metrics`, `sap_premium_session_status`, `sap_premium_close_session`
164
+ moved to FREE_TOOLS + STRICT_FREE_TOOLS. No x402 charge for consumption
165
+ or diagnostics.
166
+ - **Birdeye dependency removed** — all meme-radar capabilities now use
167
+ DexScreener + Solana RPC (both free, no API key). `SAP_MCP_PREMIUM_BIRDEYE_API_URL`
168
+ removed from all capability definitions and test fixtures.
169
+ - **Builder tool descriptions** now mention `sap_payments_finalize_transaction`
170
+ as the 1-call alternative to the 3-step preview→sign→submit flow.
171
+ - **`sap_estimate_tool_cost`** description now explicitly says "dry-run — no
172
+ charge, no x402 challenge" and includes `maxPriceUsd = estimate × 1.25`
173
+ guidance.
174
+ - **`sap_quick_context` nextAction** now includes explicit routing guidance:
175
+ accountless hosted → use `sap_payments_profile_current`, `signerProfile`
176
+ per-call, `sap_build_sol_transfer`/`sap_build_spl_transfer`, no signing scripts.
177
+
178
+ ### Fixed
179
+
180
+ - **Bridge cache coherence** — `sap_payments_profile_current` now re-reads
181
+ `.active-profile` and re-resolves the signer on every call. No more stale
182
+ signer after manual profile switch.
183
+ - **`sap_profile_switch` guidance** — when the hosted server is accountless,
184
+ the response now provides 3 concrete options (local bridge, manual edit,
185
+ CLI command) instead of a bare "Profile does not exist" error. Includes
186
+ stale cache warning.
187
+ - **Provider preload at startup** — providers are loaded and connected when
188
+ the server boots, not on first request. `providerHealth` is populated
189
+ immediately, not empty `{}`.
190
+ - **Provider delivery loop logging** — all `catch` blocks in provider-bridge,
191
+ webhook-engine, premium-tools, and premium-routes now log errors to stderr
192
+ instead of swallowing silently.
193
+ - **Meme volume spike provider** — replaced nonexistent DexScreener
194
+ `/v1/solana/volume` endpoint with real API (`/latest/dex/tokens/{mint}` and
195
+ `/latest/dex/search`). Added `activeMints` tracking, EMA baseline spike
196
+ detection, `MAX_MINTS_PER_POLL` limit.
197
+ - **Pyth providers** — converted from WebSocket (`wss://hermes.pyth.network/v2/ws`,
198
+ rejects bare connections) to HTTP polling (`/v2/updates/price/latest`).
199
+ - **All 12 provider import paths** — fixed `../../types.js` → `../types.js`.
200
+ - **`onchain.solana.ts`** — imported `ConfirmedSignatureInfo` from
201
+ `@solana/web3.js` to fix `blockTime: number | null | undefined` type mismatch.
202
+ - **Stale config references** — cleaned up all `0.02` auto-pay and `0.15`
203
+ heavy value refs in `.env.example`, `config.example.json`,
204
+ `config.secure-example.json`, `schema.json`, `mcp-client-injection.ts`, and
205
+ `explain-x402-settlement.prompt.ts`.
206
+
207
+ ### Security
208
+
209
+ - x402 idempotency cache prevents double-charge on retry (point 2c).
210
+ - x402 nonce + TTL strict validation caps challenge lifetime at 120s (point 5b).
211
+ - Challenge-signature parameter on profile switch prevents impersonation (point 5a).
212
+ - `secretMaterial: keypair-bytes-never-returned` guarantee maintained across
213
+ all signing tools.
214
+ - No secrets, private keys, or keypair bytes in source code (security audit clean).
215
+ - 0 dependency vulnerabilities (`pnpm audit`).
216
+
217
+ ## 0.9.21 - 2026-07-25
218
+
219
+ ### Added
220
+
221
+ - Added 5 new MCP tools addressing agent feedback on premium stream usability:
222
+ - `sap_premium_stream_poll` — Long-poll buffered premium stream events with
223
+ `sinceEventId` cursor. MCP-compatible alternative to SSE connections.
224
+ - `sap_premium_stream_flush` — Bulk flush buffered events with cursor pagination
225
+ for catch-up after disconnection.
226
+ - `sap_quick_context` — Single-call bootstrap aggregator (version, tools, pricing,
227
+ premium, skills, nextAction) reducing agent bootstrap from 5+ calls to 1.
228
+ - `sap_premium_webhook_relay` — Buffer-only webhook subscription for local agents
229
+ without a public HTTPS endpoint. Events stored server-side, consumed via poll/flush.
230
+ - `sap_premium_webhook_relay_status` — Relay config and buffered event count lookup.
231
+ - All 5 tools are free (no x402 charge) and transport-agnostic (work with SSE,
232
+ WebSocket, and any MCP transport).
233
+ - Pricing tiers in `sap_quick_context` now include actual USD amounts inline.
234
+
235
+ ### Improved
236
+
237
+ - `sap_skills_bundle` description now documents the existing `skills[]` filter +
238
+ `includeContents:false` metadata-only pattern for efficient selective loading.
239
+ - `sap_premium_stream_poll` description clarifies it is transport-agnostic.
240
+ - Tool count: 312 → 317. Premium category: 13 → 17. New category: quickContext: 1.
241
+ - Test count: 601 → 603 (2 new webhook relay tests).
242
+
243
+ ### Fixed
244
+
245
+ - GitHub Actions CI: added `pnpm config set minimumReleaseAge 0` step to
246
+ `desktop-release.yml` to fix `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`.
247
+ - Removed `package-lock=false` from `.npmrc` (prevented pnpm from reading
248
+ `pnpm-lock.yaml` on local dev).
249
+ - Regenerated `pnpm-lock.yaml` with pnpm 11.7.0 to fix
250
+ `ERR_PNPM_LOCKFILE_CONFIG_MISMATCH` on CI overrides.
251
+ - Changed `postcss` override from `8.5.18` to `^8.5.18` (range, not exact).
252
+ - Renamed tag `v0.9.20` → `0.9.20` (consistent with all prior tags).
253
+ - Updated all `0.9.18` references to `0.9.20` across docs, server.json, README,
254
+ USER_DOCS, and desktop wizard renderer.
255
+
256
+ ## 0.9.20 - 2026-07-25
257
+
258
+ ### Added
259
+
260
+ - Added 10 new MCP tools for perpetual futures trading and chart analysis:
261
+ - `sap_perp_markets` — List Adrena perp markets with mark price, funding, OI.
262
+ - `sap_perp_position_info` — Read on-chain Adrena perp positions for a wallet.
263
+ - `sap_perp_funding_history` — Historical funding rates from Adrena API.
264
+ - `sap_chart_ohlc` — OHLC candlestick data for any Solana token (DexScreener).
265
+ - `sap_chart_long_term` — Long-term price history + protocol TVL (DexScreener + DeFiLlama).
266
+ - `sap_chart_volume_profile` — Volume profile analysis with POC, VAH, VAL.
267
+ - `sap_perp_liquidation_zones` — Compute liquidation zones for open positions.
268
+ - `sap_perp_build_open` — Build unsigned tx to open leveraged perp position (Adrena).
269
+ - `sap_perp_build_close` — Build unsigned tx to close a perp position.
270
+ - `sap_perp_build_modify` — Build unsigned tx to add/remove collateral.
271
+ - All 10 tools use only free APIs (DexScreener, DeFiLlama, Adrena REST, Solana RPC).
272
+ - Inscribed tools (`sap_perp_build_*`) return unsigned transactions for local agent signing.
273
+
274
+ ### Removed
275
+
276
+ - Removed `sap-premium-agent-events` plugin (depended on REGISTRY_STREAM_URL — internal).
277
+ - Removed `sap-premium-x402-ledger` plugin (depended on X402_STREAM_URL — internal).
278
+ - Removed `sap-premium-trading-signals` plugin (depended on SIGNAL_PROVIDER_URL — not built).
279
+ - Removed `sap-premium-lowcap-discovery` plugin (depended on BIRDEYE_API_URL — paid).
280
+ - Removed `meme.social.sentiment` capability (depended on BIRDEYE_API_URL — paid).
281
+ - Removed `tech.github.activity` and `tech.tokenomics.analysis` capabilities (GITHUB_API_URL — rate limited).
282
+ - Removed `mempool.whale.alert` capability and provider.
283
+ - Removed all env vars for paid/internal services: REGISTRY_STREAM_URL, X402_STREAM_URL,
284
+ SIGNAL_PROVIDER_URL, BIRDEYE_API_URL, GITHUB_API_URL, MEMPOOL_STREAM_URL.
285
+ - Deleted 4 manifest JSON files, 11 provider TS files, 2 provider directories.
286
+
287
+ ### Improved
288
+
289
+ - Hardened `webhook-engine.ts`: `signDelivery()` now throws if
290
+ `SAP_MCP_PREMIUM_WEBHOOK_SIGNER` is not set (was using 'fallback-dev-key').
291
+ - Zero signing keys exposed in premium provider code — all providers are read-only
292
+ data streams + webhook delivery. No sendTransaction, Keypair.from, or secretKey.
293
+ - Premium capabilities reduced from 23 to 10 — all now use only free APIs.
294
+ - Updated `server-metadata.ts` tool count from 302 to 312.
295
+ - Updated `builtin-plugins.test.ts` plugin count from 8 to 4.
296
+ - Updated `trading-capabilities.ts` from 6 to 3 capabilities.
297
+ - Updated pnpm overrides for Dependabot vulnerability fixes (postcss, langsmith,
298
+ @hono/node-server, uuid).
299
+ - Bumped package, server metadata, and runtime version to `0.9.20`.
300
+
301
+ ## 0.9.19 - 2026-07-25
302
+
303
+ ### Added
304
+
305
+ - Added 5 new premium plugin definitions with 15 additional capabilities:
306
+ - `sap-premium-trading-streams` — 4 WebSocket stream capabilities (arbitrage,
307
+ volatility, whale, route optimization) powered by Jupiter, Pyth, and Helius.
308
+ - `sap-premium-trading-signals` — 3 webhook signal capabilities (breakout,
309
+ liquidation cascade, funding rate) via the signal provider rail.
310
+ - `sap-premium-meme-radar` — 4 capabilities (new listing alert, social
311
+ sentiment, rugpull detector, volume spike) using Birdeye + DexScreener.
312
+ - `sap-premium-lowcap-discovery` — 3 capabilities (gem scan, early entry,
313
+ holder analysis) using Birdeye API for low-cap token discovery.
314
+ - `sap-premium-tech-fundamentals` — 3 capabilities (GitHub activity, TVL
315
+ change, tokenomics analysis) using GitHub + DeFiLlama APIs.
316
+ - Added real provider implementations for all 3 core premium plugins
317
+ (market-data, agent-events, x402-ledger) with WebSocket connections,
318
+ exponential backoff reconnection, queue-based async generators, and graceful
319
+ disconnect. Replaced all stub/skeletal placeholders.
320
+ - Added 17 provider adapter files in the private subrepo
321
+ (`sap-mcp-premium-private/providers/`) covering trading streams, trading
322
+ signals, meme radar, lowcap discovery, and tech fundamentals with real
323
+ WebSocket and HTTP polling implementations against free API endpoints.
324
+ - Added OHLC candlestick and on-chain Solana data providers using
325
+ `@solana/web3.js` Connection and Birdeye OHLC endpoint.
326
+ - Added 5 pure-function technical indicators (Bollinger Bands, ATR, RSI,
327
+ Volume Profile, Holder Concentration) and 5 stateless strategy engines
328
+ (Scalping, Arbitrage, Momentum, Mean-Reversion, Meme-Sniper).
329
+ - Added 5 manifest JSON files for the new premium plugins in the private
330
+ subrepo, bringing the total to 8 manifests with 24 capabilities.
331
+ - Added `src/remote/premium-routes.ts` and `src/remote/premium-memory.ts` for
332
+ HTTP premium delivery rails.
333
+ - Added full TSDoc documentation (`@name`, `@description`, `@flow`, `@env`,
334
+ `@module`) across all premium source files and private subrepo providers.
335
+
336
+ ### Improved
337
+
338
+ - Updated `builtin-plugins.ts` to merge `TRADING_PREMIUM_PLUGINS`,
339
+ `MEME_RADAR_PREMIUM_PLUGINS`, `LOWCAP_DISCOVERY_PREMIUM_PLUGINS`, and
340
+ `TECH_FUNDAMENTALS_PREMIUM_PLUGINS` into `listPremiumPlugins()`.
341
+ - Updated premium env templates (production, staging, trading) with 6 new
342
+ provider env vars for Birdeye, DexScreener, GitHub, DeFiLlama, mempool, and
343
+ signal provider endpoints.
344
+ - Rewrote private subrepo README with complete structure documentation and
345
+ zero references to stubs or placeholders.
346
+ - Bumped package, server metadata, and runtime version to `0.9.19`.
347
+
348
+ ## Unreleased
349
+
350
+ ### Added
351
+
352
+ - Added a typed SAP MCP premium plugin runtime foundation with free discovery
353
+ and planning tools for stream, webhook, and premium plugin contracts.
354
+ - Added `sap_premium_plugin_catalog`, `sap_stream_catalog`,
355
+ `sap_webhook_catalog`, `sap_premium_validate_plugin_manifest`,
356
+ `sap_premium_plugin_template`, `sap_premium_session_start`, and
357
+ `sap_premium_session_status`.
358
+ - Added premium manifest validation for ids, semver, descriptions, JSON
359
+ Schemas, pricing policies, and delivery contracts.
360
+ - Added built-in contract manifests for premium market data, SAP agent events,
361
+ and x402 ledger telemetry without returning fake live data when providers are
362
+ not configured.
363
+ - Added public machine-readable premium discovery endpoints at
364
+ `/premium/catalog.json`, `/premium/streams.json`, and
365
+ `/premium/webhooks.json`.
366
+ - Added a manifest-only private plugin loader for controlled deployments using
367
+ `SAP_MCP_ENABLE_PREMIUM_PLUGINS`, `SAP_MCP_PLUGIN_DIR`, and
368
+ `SAP_MCP_PREMIUM_EXPOSE_PRIVATE_DISCOVERY`.
369
+
370
+ ### Improved
371
+
372
+ - Kept premium discovery/session planning free in both default and strict
373
+ monetization modes so agents can validate provider readiness before paid
374
+ stream/webhook activation.
375
+ - Documented the private enterprise plugin loader contract and the rule that
376
+ live premium data must only be promised when provider readiness is true.
377
+ - Added capability-level `providerReady` signals to premium catalog responses,
378
+ strict root schema validation for premium plugin manifests, and bounded
379
+ in-memory premium session pruning.
380
+ - Hardened premium manifests against unknown fields and unsafe provider env
381
+ values so private provider secrets or executable code cannot leak through
382
+ public discovery.
383
+
384
+ ## 0.9.18 - 2026-07-23
385
+
386
+ ### Improved
387
+
388
+ - Strengthened MCP tool metadata so every registered tool carries fluent
389
+ intent-level guidance covering pricing, routing, and signer boundaries.
390
+ - Extended JSON Schema enrichment to nested object, array, `oneOf`, `anyOf`,
391
+ and `allOf` branches so agents receive contextual descriptions for complex
392
+ parameters instead of guessing field names.
393
+ - Added release-blocking regression coverage that fails if any tool has a thin
394
+ description, lacks exact-field guidance, or exposes an undescribed nested
395
+ input parameter.
396
+ - Bumped package, public server metadata, desktop wizard, docs, and runtime
397
+ snippets to `0.9.18` for a coherent release surface across hosted MCP,
398
+ npm, registries, and client setup flows.
399
+
400
+ ## 0.9.17 - 2026-07-23
401
+
402
+ ### Added
403
+
404
+ - Added the `sap-agent-intent-router` prompt, a compact MCP prompt that maps
405
+ user goals and common SAP/x402/MCP errors to the correct hosted read,
406
+ paid-call, local-signing, unsigned-builder, escrow, registry-write, or repair
407
+ flow.
408
+
409
+ ### Improved
410
+
411
+ - Updated MCP initialize instructions so runtimes that support prompts can use
412
+ `sap-agent-intent-router` before paid calls, registry writes, escrow flows,
413
+ identity updates, and troubleshooting.
414
+ - Bumped public metadata, npm/package manifests, desktop wizard references, and
415
+ client config snippets to `0.9.17` so users, registries, and agent runtimes
416
+ receive a single coherent release identity.
417
+ - Moved supply-chain overrides to `pnpm-workspace.yaml` for pnpm 11 and pinned
418
+ patched `fast-uri`, `hono`, and `@hono/node-server` versions so desktop
419
+ release jobs pass the moderate-level audit gate.
420
+ - Removed the duplicate npm `package-lock.json` from the pnpm-managed source
421
+ tree and disabled package-lock generation, preventing stale npm lock alerts
422
+ from diverging from the verified `pnpm-lock.yaml` dependency graph.
423
+ - Hardened MCP client config validation and resource-template matching against
424
+ CodeQL-reported URL substring bypasses and regex-based template matching.
425
+ - Hardened MCP tool-call normalization so explicit output schemas no longer
426
+ receive synthetic `structuredContent` for text/error responses, preventing
427
+ strict runtimes from rejecting otherwise-readable SAP tool errors.
428
+ - Taught `sap_agent_next_action`, initialize instructions, prompts, skills, and
429
+ identity docs to classify Anchor 3012 / `AccountNotInitialized` /
430
+ `pricing_menu` as SAP on-chain registry lifecycle issues rather than missing
431
+ `sap_payments` runtime configuration.
432
+ - Kept the `0.9.16` hardening set intact: intent-level tool schemas, payment
433
+ funnel telemetry, cost estimation, local MCP session reuse, hosted submit
434
+ relay guidance, and no-key-material safety tests.
435
+
436
+ ## 0.9.16 - 2026-07-21
437
+
438
+ ### Added
439
+
440
+ - Added free `sap_agent_context`, a compact hosted orientation tool for exact
441
+ wallet/agent lookups and first-page agent discovery. It gives agents a
442
+ low-friction way to understand SAP state before running paid/broad calls.
443
+ - Added free `sap_agent_next_action`, a routing resolver for common SAP MCP
444
+ errors and partial results. It tells agents whether to use hosted reads,
445
+ `sap_payments_*`, `sap_runtime_repair_plan`, unsigned transaction
446
+ finalization, or signature verification before retrying.
447
+ - Added free `sap_estimate_tool_cost`, a pre-call estimator that gives agents
448
+ the pricing tier, expected USD cost, and recommended `maxPriceUsd` before
449
+ using `sap_payments_call_paid_tool`.
450
+ - Added hosted payment-funnel telemetry for returned challenges, verification
451
+ failures, and hosted-local-signer blocks so dashboard/operator metrics
452
+ separate demand from successful settlements.
453
+ - Added a short-lived MCP session cache for local paid-call retries. It reuses
454
+ initialized MCP sessions without caching live chain data, x402 challenges, or
455
+ signed payment payloads.
456
+
457
+ ### Improved
458
+
459
+ - Made exact base SAP registry reads free by default:
460
+ `sap_get_agent`, `sap_get_agent_profile`, `sap_get_agent_stats`,
461
+ `sap_get_global_state`, and `sap_is_agent_active`.
462
+ - Made `sap_list_agents` free for compact orientation calls while keeping
463
+ broad, hydrated, full, and protocol-indexed directory scans paid.
464
+ - Added cache and singleflight protection around compact directory reads so
465
+ hosted discovery remains faster under repeated agent/runtime probes.
466
+ - Updated agent bootstrap guidance, SAP skills, payment docs, and tool
467
+ reference files so agents start with context, resolve routing before retrying,
468
+ avoid temporary signing scripts, and use local `sap_payments_*` tools for
469
+ user-signed writes.
470
+ - Expanded pricing tests and server metadata tests to cover the new free
471
+ context/resolver tools and conditional-free discovery behavior.
472
+ - Enriched every registered tool description and root input schema with
473
+ intent-level routing, pricing, signer-boundary, and exact-field guidance so
474
+ agents stop guessing aliases, avoid hosted writes that require local signing,
475
+ and route user-signed transactions through supported `sap_payments_*` flows.
476
+ - Hardened already-signed transaction submission through the hosted
477
+ `/tx/submit` relay with explicit retry-safety, confirmation-state, and
478
+ no-key-material audit fields.
479
+ - Added release safety coverage for root input parameter descriptions,
480
+ hosted-local-signer ledger events, private-key guard behavior, unsafe-action
481
+ guard behavior, and updated public metadata version examples.
482
+
483
+ ## 0.9.15 - 2026-07-20
484
+
485
+ ### Added
486
+
487
+ - Added free hosted `sap_agent_runtime_status`, a single runtime truth tool for
488
+ connection checks, hosted/accountless status, local `sap_payments` bridge
489
+ expectations, write routing, forbidden actions, and exact next tool calls.
490
+ - Added free hosted `sap_pricing_catalog` and public `GET /pricing.json`, both
491
+ generated from the same monetization registry used by hosted x402/pay.sh
492
+ gating.
493
+
494
+ ### Improved
495
+
496
+ - Strengthened initialize instructions, SAP MCP skills, and user docs so agents
497
+ use hosted tools for reads, `sap_payments_*` for local payment/signing,
498
+ hosted unsigned builders plus `sap_payments_finalize_transaction` for
499
+ user-signed transactions, and `sap_runtime_repair_plan` when the bridge is
500
+ missing.
501
+ - Made pricing guidance explicit: `/pricing.json` and `sap_pricing_catalog`
502
+ are for planning and UI copy; the actual x402 challenge remains the payment
503
+ source of truth.
504
+ - Added release-readiness coverage so the shipped skills/docs keep the runtime
505
+ status, pricing catalog, hosted builder finalization, and no-temporary-script
506
+ guidance visible to agents.
507
+
508
+ ## 0.9.13 - 2026-07-19
509
+
510
+ ### Added
511
+
512
+ - Added a hosted submit-only relay at `POST /tx/submit` for already-signed
513
+ Solana transactions. The relay never signs, never receives keypair bytes, and
514
+ returns confirmation status, explorer URL, and retry guidance.
515
+
516
+ ### Improved
517
+
518
+ - Upgraded transaction finalization from "signature returned" to a bounded
519
+ lifecycle result: `confirmed` / `finalized` / `failed` /
520
+ `expired_or_not_landed`, plus `retrySafe` for agent-guided retries.
521
+ - Hardened SAP agent registration into a fail-closed lifecycle: production
522
+ agents must use `sap_payments_register_agent`, and `success:true` now means
523
+ the agent account is confirmed and the 0.1 SOL source-level protocol treasury
524
+ fee invariant was verified. If the account exists but the protocol fee is
525
+ missing, underpaid, or unverifiable, the bridge returns
526
+ `success:false`, `agentRegistered:true`, and `protocolComplete:false`.
527
+ - Deprecated the raw `sap_register_agent` wrapper for production registration
528
+ and added `sap_protocol_invariants` / `sap_agent_identity_plan` guidance so
529
+ agents can plan SAP + Metaplex + optional SNS identity flows before writes.
530
+ - Made `sap_payments_finalize_transaction` submit through the hosted relay by
531
+ default when `submit:true`, while preserving `submitViaRelay:false` for fully
532
+ local RPC submission.
533
+ - Updated `sap_submit_signed_transaction`, agent bootstrap instructions,
534
+ Smithery config schema, public metadata, and the hosted dashboard so agents
535
+ stop creating temporary signing scripts and use the supported local-signer +
536
+ relay flow.
537
+
538
+ ## 0.9.12 - 2026-07-19
539
+
540
+ ### Improved
541
+
542
+ - Hardened `sap_payments_register_agent` so local SAP agent registration no
543
+ longer reports a bare submitted signature as success. The bridge now waits
544
+ for the signature/account to appear on-chain, returns the derived agent PDA,
545
+ and clearly distinguishes confirmed registration from expired/not-landed
546
+ transactions.
547
+ - Added agent-readable retry guidance for local registration submissions that
548
+ do not land inside the confirmation window. Agents should ask the user before
549
+ retrying once with the same fields, and must not fall back to hosted
550
+ `sap_register_agent`.
551
+
552
+ ## 0.9.11 - 2026-07-19
553
+
554
+ ### Added
555
+
556
+ - Added `sap_payments_register_agent`, a local `sap_payments` bridge tool for
557
+ non-custodial SAP agent registration from hosted-user setups. Agents should
558
+ call it when hosted `sap_register_agent` returns
559
+ `hosted_local_signer_required`, using the same registration fields plus
560
+ `confirm: true`. The write is submitted by the user's local SAP profile
561
+ signer and does not charge a hosted x402 access fee.
562
+
563
+ ### Improved
564
+
565
+ - Updated the wizard repair manifest, bundled skills, and user docs so Codex,
566
+ Hermes, Claude, OpenClaw, and compatible runtimes can verify that the local
567
+ `sap_payments` bridge exposes profile, readiness, hosted paid-call, external
568
+ x402, local registration, and transaction finalization tools after restart.
569
+ - Added agent-readable local registry error output that tells agents not to
570
+ retry impossible hosted accountless registry writes or create temporary
571
+ signing scripts.
572
+
573
+ ## 0.9.10 - 2026-07-18
574
+
575
+ ### Added
576
+
577
+ - Added `sap_payments_call_external_x402`, a local free `sap_payments` bridge
578
+ tool for generic HTTP x402 endpoints discovered through SAP registry
579
+ metadata. The helper performs the standard unpaid request, parses the 402
580
+ challenge, signs locally with the user's SAP MCP profile, retries with
581
+ `PAYMENT-SIGNATURE`, and returns the provider response plus receipt/audit
582
+ data without exposing keypair bytes.
583
+
584
+ ### Improved
585
+
586
+ - Updated agent startup guidance, bundled x402 skills, client config reference
587
+ bundles, and user docs so agents use `sap_payments_call_paid_tool` for hosted
588
+ SAP MCP tools and `sap_payments_call_external_x402` for external x402 agents
589
+ instead of hand-rolling temporary HTTP/sign/retry scripts.
590
+ - Added guardrails to the generic external x402 bridge: sensitive caller
591
+ headers are rejected, local/private/link-local targets are blocked, and
592
+ request bodies are capped to keep the tool safe for agent runtimes.
593
+
594
+ ## 0.9.9 - 2026-07-18
595
+
596
+ ### Improved
597
+
598
+ - Reworked paid hosted SAP agent discovery so `sap_discover_agents`,
599
+ `sap_list_agents`, and `sap_list_all_agents` enumerate the canonical
600
+ on-chain `AgentAccount` directory and then apply server-side filters. This
601
+ avoids stale capability/protocol index false negatives for agents such as
602
+ XONA while preserving paid hosted monetization.
603
+ - Added first-class hosted directory filters for `query`, `wallet`, `agentPda`,
604
+ `protocol`, `capability`, `capabilities`, `capabilityMode`,
605
+ `hasX402Endpoint`, `view`, `limit`, `offset`, and opaque
606
+ `pagination.nextCursor`.
607
+ - Kept legacy response aliases (`count`, `returned`, `offset`, `limit`,
608
+ `truncated`, `totalEnumerated`) and the deprecated `hydrate` input so older
609
+ agent recipes continue to work while newer agents use the paginated response.
610
+ - Updated bundled skills, startup guidance, and user docs so agents prefer
611
+ targeted paid discovery, follow cursors, and retry with `query` or `wallet`
612
+ before claiming an on-chain SAP agent is absent.
613
+
614
+ ## 0.9.8 - 2026-07-18
615
+
616
+ ### Fixed
617
+
618
+ - Added a hosted-accountless execution guard so direct write tools that require
619
+ a user-owned signer are rejected before x402 verification or settlement. Tools
620
+ such as `sap_register_agent`, `sap_sns_register_agent_domain`,
621
+ `sap_sign_transaction`, direct swaps, token transfers, NFT mints, and bridge
622
+ writes now return `hosted_local_signer_required` with
623
+ `paymentNotCharged: true` when called against the non-custodial hosted
624
+ server.
625
+ - Made single-domain SNS availability checks free with
626
+ `sap_sns_check_domain`, so agents can discover whether a `.sol` name is
627
+ available before routing the user into a local signer flow.
628
+ - Updated prompts, bundled skills, and payment docs so agents use local
629
+ `sap_payments_call_paid_tool` for paid hosted calls and
630
+ `sap_payments_finalize_transaction` for unsigned hosted builders, instead of
631
+ retrying impossible hosted signer writes or creating temporary signing
632
+ scripts.
633
+
634
+ ## 0.9.7 - 2026-07-17
635
+
636
+ ### Fixed
637
+
638
+ - Fixed Hermes/OpenClaw YAML generation for hosted SAP MCP plus local
639
+ `sap_payments` bridge configs. The wizard and repair flow now double-quote
640
+ YAML scalar values such as scoped npm package names
641
+ (`@oobe-protocol-labs/sap-mcp-server@...`) and indent `args` list items with
642
+ parser-safe YAML.
643
+ - Updated user docs and generated manual snippets so copied Hermes YAML no
644
+ longer fails on reserved leading characters such as `@`.
645
+ - Clarified local keypair signer logs: hosted SAP MCP never receives keypair
646
+ bytes, while production/value funds should prefer external signer, hardware
647
+ wallet, delegated session, or a capped local profile.
648
+
649
+ ## 0.9.6 - 2026-07-17
650
+
651
+ ### Added
652
+
653
+ - Added free hosted maintenance tools:
654
+ - `sap_skills_upgrade_plan` returns latest-release skill upgrade commands,
655
+ target directories, and next tool calls without pretending hosted MCP can
656
+ write local files.
657
+ - `sap_runtime_repair_plan` returns the pinned repair command, OS command
658
+ aliases, expected `sap_payments` bridge tools, and runtime restart guidance.
659
+
660
+ ### Fixed
661
+
662
+ - Fixed structured MCP output for tools with explicit output schemas. Tools such
663
+ as `sap_agent_start` now return schema-valid `structuredContent` instead of a
664
+ nested MCP `content` wrapper, avoiding strict runtime errors like
665
+ `success is a required property`.
666
+ - Updated the agent startup playbook so stale skills and missing
667
+ `sap_payments` bridge issues route through free maintenance tools before paid
668
+ or write workflows.
669
+ - Updated user docs and bundled skills to teach `sap_skills_upgrade_plan` and
670
+ `sap_runtime_repair_plan` as the canonical recovery path.
671
+
672
+ ## 0.9.5 - 2026-07-17
673
+
674
+ ### Added
675
+
676
+ - Added a first-step setup path menu to the CLI wizard so users can choose
677
+ **Full hosted SAP MCP setup**, **Repair hosted runtime + sap_payments bridge
678
+ only**, or manual snippets before any profile/wallet prompts.
679
+ - Added `sap-mcp-config repair` plus `repair-payments` and `repair-bridge`
680
+ aliases for users who already have a local SAP MCP profile and only need to
681
+ repair hosted `sap` plus local `sap_payments` runtime entries.
682
+
683
+ ### Fixed
684
+
685
+ - Made the repair-only path use the same auto-resolver as the full wizard,
686
+ preserving unrelated MCP servers while updating only OOBE SAP MCP entries,
687
+ stale `mcp-remote` wrappers, SAP allow-list issues, and the local x402
688
+ reference bundle.
689
+ - Updated user docs, README, and the hosted dashboard so normal users can find
690
+ the repair path without rerunning full profile/wallet setup.
691
+
692
+ ## 0.9.4 - 2026-07-17
693
+
694
+ ### Added
695
+
696
+ - Added `sap_payments_finalize_transaction`, a free local `sap_payments` bridge
697
+ tool that previews, policy-checks, signs, and optionally submits unsigned
698
+ transactions returned by hosted SAP MCP builders.
699
+ - Added regression coverage proving the bridge-only process exposes the local
700
+ finalizer and can sign a hosted-style transaction without temporary scripts or
701
+ keypair-byte exposure.
702
+
703
+ ### Fixed
704
+
705
+ - Updated agent prompts, skills, docs, wizard copy, and public dashboard
706
+ guidance so hosted builders route transaction finalization through the local
707
+ bridge instead of hosted `sap_sign_transaction` or ad-hoc `.js`/`.mjs`
708
+ signing scripts.
709
+ - Tightened the bridge-only tool list in docs to match the actual
710
+ `sap_payments` surface.
711
+
712
+ ## 0.9.3 - 2026-07-17
713
+
714
+ ### Changed
715
+
716
+ - Rebalanced hosted x402 pricing for agent commerce UX: premium reads now
717
+ default to `$0.001`, builder/preflight calls default to `$0.008`, and
718
+ value-moving actions stay on the value-action tier.
719
+ - Classified `jupiter_getQuote` and `magicblock_swapQuote` as lightweight
720
+ read-premium calls instead of builder calls, so agents can quote and preview
721
+ without paying value-action style fees.
722
+ - Kept SAP payment readiness, x402 estimates, transaction decode, and
723
+ transaction preview free so agents can choose tools, check limits, and prepare
724
+ safe execution without bottlenecks.
725
+
726
+ ### Fixed
727
+
728
+ - Strengthened SAP MCP initialize instructions, `sap_agent_start`, transaction
729
+ tool descriptions, and MagicBlock tool descriptions so agents use the official
730
+ `sap_preview_transaction` -> `sap_sign_transaction` ->
731
+ `sap_submit_signed_transaction` path instead of creating temporary local
732
+ signing scripts or reading keypair files.
733
+ - Removed hard-coded MagicBlock `$0.01`/`$0.05` pricing text from tool
734
+ descriptions; hosted prices now resolve from the central pricing registry.
735
+
5
736
  ## 0.9.2 - 2026-07-17
6
737
 
7
738
  ### Added