@oobe-protocol-labs/sap-mcp-server 0.9.1 → 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 +732 -1
  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 +38 -6
  102. package/dist/core/constants.d.ts.map +1 -1
  103. package/dist/core/constants.js +49 -6
  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 +16 -14
  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 +370 -9
  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 +20 -4
  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 +420 -1
  644. package/dist/tools/sap-sdk-tools.d.ts.map +1 -1
  645. package/dist/tools/sap-sdk-tools.js +1548 -127
  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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hermes-bridge.js","sourceRoot":"","sources":["../../src/memory/hermes-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @module memory
3
+ * @description SAP MCP local agent memory subsystem — SQLite FTS5 backed.
4
+ *
5
+ * Exports all stores and types for use by the MCP tool registration layer.
6
+ *
7
+ * Architecture:
8
+ * - database.ts: Thread-safe singleton SQLite connection with WAL mode + FTS5.
9
+ * - tool-call-store.ts: Records and searches tool call history.
10
+ * - memory-store.ts: Manages LLM-generated agent memories with relevance decay.
11
+ * - stream-buffer-store.ts: Buffers premium stream events for offline consumption.
12
+ * - types.ts: Type definitions.
13
+ * - utils.ts: Utility functions (truncate, decay, expiry).
14
+ */
15
+ export { MemoryDatabase, memoryDatabase, DEFAULT_CONFIG } from './database.js';
16
+ export { ToolCallStore, toolCallStore } from './tool-call-store.js';
17
+ export { MemoryStore, memoryStore } from './memory-store.js';
18
+ export { StreamBufferStore, streamBufferStore } from './stream-buffer-store.js';
19
+ export { AsyncMemoryProcessor, asyncMemoryProcessor } from './async-processor.js';
20
+ export { recordToolCall } from './auto-record.js';
21
+ export { HermesBridge, hermesBridge } from './hermes-bridge.js';
22
+ export type { ToolCallRecord, ToolCallOutcome, AgentMemoryRecord, MemoryType, StreamBufferRecord, MemorySearchResult, MemoryQueryOptions, MemoryStats, MemoryPruneResult, MemoryConfig, } from './types.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,YAAY,GACb,MAAM,YAAY,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @module memory
3
+ * @description SAP MCP local agent memory subsystem — SQLite FTS5 backed.
4
+ *
5
+ * Exports all stores and types for use by the MCP tool registration layer.
6
+ *
7
+ * Architecture:
8
+ * - database.ts: Thread-safe singleton SQLite connection with WAL mode + FTS5.
9
+ * - tool-call-store.ts: Records and searches tool call history.
10
+ * - memory-store.ts: Manages LLM-generated agent memories with relevance decay.
11
+ * - stream-buffer-store.ts: Buffers premium stream events for offline consumption.
12
+ * - types.ts: Type definitions.
13
+ * - utils.ts: Utility functions (truncate, decay, expiry).
14
+ */
15
+ export { MemoryDatabase, memoryDatabase, DEFAULT_CONFIG } from './database.js';
16
+ export { ToolCallStore, toolCallStore } from './tool-call-store.js';
17
+ export { MemoryStore, memoryStore } from './memory-store.js';
18
+ export { StreamBufferStore, streamBufferStore } from './stream-buffer-store.js';
19
+ export { AsyncMemoryProcessor, asyncMemoryProcessor } from './async-processor.js';
20
+ export { recordToolCall } from './auto-record.js';
21
+ export { HermesBridge, hermesBridge } from './hermes-bridge.js';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @module memory/memory-store
3
+ * @description Store for agent memories — LLM-compressed summaries of past interactions.
4
+ *
5
+ * Memories are created by the agent (or auto-generated by the summarize tool)
6
+ * and stored with a relevance score that decays over time. The FTS5 index
7
+ * enables semantic search across all memories for context injection.
8
+ */
9
+ import type { AgentMemoryRecord, MemoryType, MemorySearchResult, MemoryQueryOptions } from './types.js';
10
+ /**
11
+ * @name MemoryStore
12
+ * @description Manages agent memory records with relevance decay and FTS5 search.
13
+ */
14
+ export declare class MemoryStore {
15
+ /**
16
+ * @name record
17
+ * @description Creates a new agent memory entry.
18
+ * @param record - Memory data to record (without id, timestamps, relevance).
19
+ * @param initialRelevance - Initial relevance score 0-1. Default 0.8.
20
+ * @returns The inserted record ID, or -1 if degraded.
21
+ */
22
+ record(record: Pick<AgentMemoryRecord, 'memoryType' | 'category' | 'summary' | 'sourceToolCalls' | 'expiresAt'>, initialRelevance?: number): number;
23
+ /**
24
+ * @name search
25
+ * @description Full-text search across agent memories using FTS5.
26
+ * Results are ranked by BM25 relevance with decayed score.
27
+ */
28
+ search(options: MemoryQueryOptions): MemorySearchResult<AgentMemoryRecord & {
29
+ decayedRelevance: number;
30
+ }>;
31
+ /**
32
+ * @name recall
33
+ * @description Returns the most relevant memories for a given category.
34
+ * Used for prompt injection — the agent gets the top N memories ordered
35
+ * by decayed relevance.
36
+ * @param category - Tool category to recall memories for.
37
+ * @param limit - Maximum number of memories. Default 5.
38
+ * @returns Relevant memories sorted by decayed relevance.
39
+ */
40
+ recall(category: string, limit?: number): AgentMemoryRecord[];
41
+ /**
42
+ * @name count
43
+ * @description Returns the total number of agent memory records.
44
+ */
45
+ count(): number;
46
+ /**
47
+ * @name memoryTypeBreakdown
48
+ * @description Returns counts grouped by memory type.
49
+ */
50
+ memoryTypeBreakdown(): Record<MemoryType, number>;
51
+ /**
52
+ * @name lastMemoryAt
53
+ * @description Returns the timestamp of the most recent memory.
54
+ */
55
+ lastMemoryAt(): string | null;
56
+ /**
57
+ * @name prune
58
+ * @description Removes expired memories and memories with relevance below
59
+ * the threshold after decay.
60
+ * @param minRelevance - Minimum decayed relevance to keep. Default 0.05.
61
+ * @returns Number of memories pruned.
62
+ */
63
+ prune(minRelevance?: number): number;
64
+ /**
65
+ * @name buildFtsQuery
66
+ * @description Converts a natural language query into a FTS5 MATCH expression.
67
+ * @internal
68
+ */
69
+ private buildFtsQuery;
70
+ }
71
+ /**
72
+ * @name memoryStore
73
+ * @description Singleton instance of the memory store.
74
+ */
75
+ export declare const memoryStore: MemoryStore;
76
+ //# sourceMappingURL=memory-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/memory/memory-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExG;;;GAGG;AACH,qBAAa,WAAW;IACtB;;;;;;OAMG;IACH,MAAM,CACJ,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,iBAAiB,GAAG,WAAW,CAAC,EACxG,gBAAgB,SAAM,GACrB,MAAM;IAmBT;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,CAAC,iBAAiB,GAAG;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAsEzG;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,iBAAiB,EAAE;IA2BxD;;;OAGG;IACH,KAAK,IAAI,MAAM;IAQf;;;OAGG;IACH,mBAAmB,IAAI,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;IAgBjD;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAS7B;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,SAAO,GAAG,MAAM;IA4BlC;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAOtB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * @module memory/memory-store
3
+ * @description Store for agent memories — LLM-compressed summaries of past interactions.
4
+ *
5
+ * Memories are created by the agent (or auto-generated by the summarize tool)
6
+ * and stored with a relevance score that decays over time. The FTS5 index
7
+ * enables semantic search across all memories for context injection.
8
+ */
9
+ import { memoryDatabase } from './database.js';
10
+ import { decayRelevance, isExpired } from './utils.js';
11
+ /**
12
+ * @name MemoryStore
13
+ * @description Manages agent memory records with relevance decay and FTS5 search.
14
+ */
15
+ export class MemoryStore {
16
+ /**
17
+ * @name record
18
+ * @description Creates a new agent memory entry.
19
+ * @param record - Memory data to record (without id, timestamps, relevance).
20
+ * @param initialRelevance - Initial relevance score 0-1. Default 0.8.
21
+ * @returns The inserted record ID, or -1 if degraded.
22
+ */
23
+ record(record, initialRelevance = 0.8) {
24
+ if (memoryDatabase.isDegraded())
25
+ return -1;
26
+ memoryDatabase.init();
27
+ const stmt = memoryDatabase.getStatement('insert_memory');
28
+ if (!stmt)
29
+ return -1;
30
+ const result = stmt.run({
31
+ memoryType: record.memoryType,
32
+ category: record.category,
33
+ summary: record.summary,
34
+ sourceToolCalls: record.sourceToolCalls ?? null,
35
+ relevanceScore: Math.max(0, Math.min(1, initialRelevance)),
36
+ expiresAt: record.expiresAt ?? null,
37
+ });
38
+ return result.lastInsertRowid;
39
+ }
40
+ /**
41
+ * @name search
42
+ * @description Full-text search across agent memories using FTS5.
43
+ * Results are ranked by BM25 relevance with decayed score.
44
+ */
45
+ search(options) {
46
+ if (memoryDatabase.isDegraded()) {
47
+ return { results: [], total: 0, hasMore: false };
48
+ }
49
+ memoryDatabase.init();
50
+ const db = memoryDatabase.getDb();
51
+ const limit = Math.min(options.limit ?? 20, 100);
52
+ const offset = options.offset ?? 0;
53
+ let whereClause = '';
54
+ const params = { limit, offset };
55
+ if (options.memoryType) {
56
+ whereClause += ' AND m.memory_type = @memoryType';
57
+ params['memoryType'] = options.memoryType;
58
+ }
59
+ if (options.category) {
60
+ whereClause += ' AND m.category = @category';
61
+ params['category'] = options.category;
62
+ }
63
+ const ftsQuery = this.buildFtsQuery(options.query);
64
+ const sql = `
65
+ SELECT m.id, m.memory_type, m.category, m.summary, m.source_tool_calls,
66
+ m.relevance_score, m.created_at, m.expires_at, m.last_accessed_at
67
+ FROM agent_memory_fts fts
68
+ JOIN agent_memory m ON m.id = fts.rowid
69
+ WHERE agent_memory_fts MATCH @ftsQuery
70
+ ${whereClause}
71
+ ORDER BY ${options.sort === 'newest' ? 'm.created_at DESC' : options.sort === 'oldest' ? 'm.created_at ASC' : 'bm25(agent_memory_fts)'}
72
+ LIMIT @limit OFFSET @offset
73
+ `;
74
+ params['ftsQuery'] = ftsQuery;
75
+ try {
76
+ const rows = db.prepare(sql).all(params);
77
+ const results = rows.map(row => ({
78
+ ...row,
79
+ decayedRelevance: decayRelevance(row.relevanceScore, row.createdAt, 0.01),
80
+ }));
81
+ // Filter by minimum relevance (after decay).
82
+ const filtered = options.minRelevance
83
+ ? results.filter(r => r.decayedRelevance >= (options.minRelevance ?? 0))
84
+ : results;
85
+ // Filter out expired memories.
86
+ const active = filtered.filter(r => !isExpired(r.expiresAt));
87
+ // Update last_accessed_at for returned memories.
88
+ const updateStmt = memoryDatabase.getStatement('update_memory_access');
89
+ if (updateStmt) {
90
+ for (const r of active) {
91
+ if (r.id)
92
+ updateStmt.run(r.id);
93
+ }
94
+ }
95
+ return {
96
+ results: active,
97
+ total: active.length,
98
+ hasMore: false,
99
+ };
100
+ }
101
+ catch {
102
+ return { results: [], total: 0, hasMore: false };
103
+ }
104
+ }
105
+ /**
106
+ * @name recall
107
+ * @description Returns the most relevant memories for a given category.
108
+ * Used for prompt injection — the agent gets the top N memories ordered
109
+ * by decayed relevance.
110
+ * @param category - Tool category to recall memories for.
111
+ * @param limit - Maximum number of memories. Default 5.
112
+ * @returns Relevant memories sorted by decayed relevance.
113
+ */
114
+ recall(category, limit = 5) {
115
+ if (memoryDatabase.isDegraded())
116
+ return [];
117
+ memoryDatabase.init();
118
+ const db = memoryDatabase.getDb();
119
+ try {
120
+ const rows = db.prepare(`SELECT * FROM agent_memory
121
+ WHERE category = ? AND (expires_at IS NULL OR expires_at > datetime('now'))
122
+ ORDER BY relevance_score DESC
123
+ LIMIT ?`).all(category, limit);
124
+ // Update last_accessed_at.
125
+ const updateStmt = memoryDatabase.getStatement('update_memory_access');
126
+ if (updateStmt) {
127
+ for (const row of rows) {
128
+ if (row.id)
129
+ updateStmt.run(row.id);
130
+ }
131
+ }
132
+ return rows;
133
+ }
134
+ catch {
135
+ return [];
136
+ }
137
+ }
138
+ /**
139
+ * @name count
140
+ * @description Returns the total number of agent memory records.
141
+ */
142
+ count() {
143
+ if (memoryDatabase.isDegraded())
144
+ return 0;
145
+ memoryDatabase.init();
146
+ const stmt = memoryDatabase.getStatement('count_memory');
147
+ if (!stmt)
148
+ return 0;
149
+ return stmt.get().count;
150
+ }
151
+ /**
152
+ * @name memoryTypeBreakdown
153
+ * @description Returns counts grouped by memory type.
154
+ */
155
+ memoryTypeBreakdown() {
156
+ if (memoryDatabase.isDegraded()) {
157
+ return { lesson: 0, pattern: 0, failure: 0, success: 0 };
158
+ }
159
+ memoryDatabase.init();
160
+ const stmt = memoryDatabase.getStatement('count_memory_by_type');
161
+ if (!stmt)
162
+ return { lesson: 0, pattern: 0, failure: 0, success: 0 };
163
+ const rows = stmt.all();
164
+ const result = { lesson: 0, pattern: 0, failure: 0, success: 0 };
165
+ for (const row of rows) {
166
+ result[row.memory_type] = row.count;
167
+ }
168
+ return result;
169
+ }
170
+ /**
171
+ * @name lastMemoryAt
172
+ * @description Returns the timestamp of the most recent memory.
173
+ */
174
+ lastMemoryAt() {
175
+ if (memoryDatabase.isDegraded())
176
+ return null;
177
+ memoryDatabase.init();
178
+ const stmt = memoryDatabase.getStatement('last_memory_at');
179
+ if (!stmt)
180
+ return null;
181
+ const row = stmt.get();
182
+ return row?.created_at ?? null;
183
+ }
184
+ /**
185
+ * @name prune
186
+ * @description Removes expired memories and memories with relevance below
187
+ * the threshold after decay.
188
+ * @param minRelevance - Minimum decayed relevance to keep. Default 0.05.
189
+ * @returns Number of memories pruned.
190
+ */
191
+ prune(minRelevance = 0.05) {
192
+ if (memoryDatabase.isDegraded())
193
+ return 0;
194
+ memoryDatabase.init();
195
+ const db = memoryDatabase.getDb();
196
+ // Delete expired memories.
197
+ const expiredResult = db.prepare(`DELETE FROM agent_memory WHERE expires_at IS NOT NULL AND expires_at <= datetime('now')`).run();
198
+ // Delete low-relevance memories (check decayed relevance in JS to avoid
199
+ // complex SQL — better-sqlite3 is synchronous so this is fast).
200
+ const allRows = db.prepare(`SELECT id, relevance_score, created_at FROM agent_memory`).all();
201
+ let pruned = expiredResult.changes;
202
+ for (const row of allRows) {
203
+ const decayed = decayRelevance(row.relevance_score, row.created_at, 0.01);
204
+ if (decayed < minRelevance) {
205
+ db.prepare('DELETE FROM agent_memory WHERE id = ?').run(row.id);
206
+ pruned++;
207
+ }
208
+ }
209
+ return pruned;
210
+ }
211
+ /**
212
+ * @name buildFtsQuery
213
+ * @description Converts a natural language query into a FTS5 MATCH expression.
214
+ * @internal
215
+ */
216
+ buildFtsQuery(query) {
217
+ const escaped = query.replace(/["'*:]/g, ' ').trim();
218
+ if (!escaped)
219
+ return '*';
220
+ const words = escaped.split(/\s+/).filter(w => w.length > 0);
221
+ if (words.length === 1)
222
+ return `"${words[0]}"*`;
223
+ return words.map(w => `"${w}"*`).join(' OR ');
224
+ }
225
+ }
226
+ /**
227
+ * @name memoryStore
228
+ * @description Singleton instance of the memory store.
229
+ */
230
+ export const memoryStore = new MemoryStore();
231
+ //# sourceMappingURL=memory-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/memory/memory-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @module memory/stream-buffer-store
3
+ * @description Store for buffering stream events locally in SQLite.
4
+ *
5
+ * Premium stream events (Pyth price ticks, meme alerts, volatility signals) are
6
+ * persisted locally so the agent can consume them without paid polls. Events
7
+ * are deduplicated by (streamType, eventId) and consumed in FIFO order.
8
+ */
9
+ import type { StreamBufferRecord } from './types.js';
10
+ /**
11
+ * @name StreamBufferStore
12
+ * @description Manages local stream event buffering with FIFO consumption.
13
+ */
14
+ export declare class StreamBufferStore {
15
+ /**
16
+ * @name buffer
17
+ * @description Buffers a stream event. Deduplicates by (streamType, eventId).
18
+ * @param record - Event to buffer.
19
+ * @returns The row ID, or -1 if the event was already buffered (dedup).
20
+ */
21
+ buffer(record: Omit<StreamBufferRecord, 'id' | 'consumed' | 'createdAt'>): number;
22
+ /**
23
+ * @name consume
24
+ * @description Returns unconsumed events for a stream type and marks them consumed.
25
+ * FIFO order (oldest first). Returns up to `limit` events.
26
+ * @param streamType - Stream type to consume (e.g. 'pyth-price').
27
+ * @param limit - Maximum events to consume. Default 20.
28
+ * @returns Consumed events.
29
+ */
30
+ consume(streamType: string, limit?: number): StreamBufferRecord[];
31
+ /**
32
+ * @name peek
33
+ * @description Returns unconsumed events without marking them consumed.
34
+ * Used for preview/inspection.
35
+ */
36
+ peek(streamType: string, limit?: number): StreamBufferRecord[];
37
+ /**
38
+ * @name replay
39
+ * @description Returns all events (consumed + unconsumed) for a stream type
40
+ * within a time range. Used for backtest/analysis.
41
+ * @param streamType - Stream type to replay.
42
+ * @param since - ISO 8601 timestamp. Events created after this time.
43
+ * @param limit - Maximum events. Default 100.
44
+ */
45
+ replay(streamType: string, since?: string, limit?: number): StreamBufferRecord[];
46
+ /**
47
+ * @name pendingCount
48
+ * @description Returns the number of unconsumed events.
49
+ */
50
+ pendingCount(): number;
51
+ /**
52
+ * @name evict
53
+ * @description Evicts old consumed events to keep the buffer bounded.
54
+ * @param maxPerType - Maximum events per stream type. Default 10000.
55
+ * @returns Number of events evicted.
56
+ */
57
+ evict(maxPerType?: number): number;
58
+ /**
59
+ * @name clear
60
+ * @description Clears all events for a stream type.
61
+ */
62
+ clear(streamType: string): number;
63
+ }
64
+ /**
65
+ * @name streamBufferStore
66
+ * @description Singleton instance of the stream buffer store.
67
+ */
68
+ export declare const streamBufferStore: StreamBufferStore;
69
+ //# sourceMappingURL=stream-buffer-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-buffer-store.d.ts","sourceRoot":"","sources":["../../src/memory/stream-buffer-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,CAAC,GAAG,MAAM;IAqBjF;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,kBAAkB,EAAE;IA4B7D;;;;OAIG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,kBAAkB,EAAE;IAiB1D;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,kBAAkB,EAAE;IAuB7E;;;OAGG;IACH,YAAY,IAAI,MAAM;IAQtB;;;;;OAKG;IACH,KAAK,CAAC,UAAU,SAAS,GAAG,MAAM;IAoBlC;;;OAGG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAalC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,mBAA0B,CAAC"}
@@ -0,0 +1,182 @@
1
+ /**
2
+ * @module memory/stream-buffer-store
3
+ * @description Store for buffering stream events locally in SQLite.
4
+ *
5
+ * Premium stream events (Pyth price ticks, meme alerts, volatility signals) are
6
+ * persisted locally so the agent can consume them without paid polls. Events
7
+ * are deduplicated by (streamType, eventId) and consumed in FIFO order.
8
+ */
9
+ import { memoryDatabase } from './database.js';
10
+ /**
11
+ * @name StreamBufferStore
12
+ * @description Manages local stream event buffering with FIFO consumption.
13
+ */
14
+ export class StreamBufferStore {
15
+ /**
16
+ * @name buffer
17
+ * @description Buffers a stream event. Deduplicates by (streamType, eventId).
18
+ * @param record - Event to buffer.
19
+ * @returns The row ID, or -1 if the event was already buffered (dedup).
20
+ */
21
+ buffer(record) {
22
+ if (memoryDatabase.isDegraded())
23
+ return -1;
24
+ memoryDatabase.init();
25
+ const stmt = memoryDatabase.getStatement('insert_stream_event');
26
+ if (!stmt)
27
+ return -1;
28
+ try {
29
+ const result = stmt.run({
30
+ streamType: record.streamType,
31
+ eventId: record.eventId,
32
+ eventType: record.eventType,
33
+ payload: record.payload,
34
+ });
35
+ return result.lastInsertRowid;
36
+ }
37
+ catch {
38
+ // INSERT OR IGNORE — dedup case, event already exists.
39
+ return -1;
40
+ }
41
+ }
42
+ /**
43
+ * @name consume
44
+ * @description Returns unconsumed events for a stream type and marks them consumed.
45
+ * FIFO order (oldest first). Returns up to `limit` events.
46
+ * @param streamType - Stream type to consume (e.g. 'pyth-price').
47
+ * @param limit - Maximum events to consume. Default 20.
48
+ * @returns Consumed events.
49
+ */
50
+ consume(streamType, limit = 20) {
51
+ if (memoryDatabase.isDegraded())
52
+ return [];
53
+ memoryDatabase.init();
54
+ const db = memoryDatabase.getDb();
55
+ try {
56
+ const events = db.prepare(`SELECT * FROM stream_buffers
57
+ WHERE stream_type = ? AND consumed = 0
58
+ ORDER BY id ASC
59
+ LIMIT ?`).all(streamType, limit);
60
+ if (events.length === 0)
61
+ return [];
62
+ // Mark as consumed.
63
+ const lastId = events[events.length - 1].id;
64
+ if (lastId !== undefined) {
65
+ const consumeStmt = memoryDatabase.getStatement('consume_stream_events');
66
+ consumeStmt?.run(streamType, lastId);
67
+ }
68
+ return events;
69
+ }
70
+ catch {
71
+ return [];
72
+ }
73
+ }
74
+ /**
75
+ * @name peek
76
+ * @description Returns unconsumed events without marking them consumed.
77
+ * Used for preview/inspection.
78
+ */
79
+ peek(streamType, limit = 20) {
80
+ if (memoryDatabase.isDegraded())
81
+ return [];
82
+ memoryDatabase.init();
83
+ const db = memoryDatabase.getDb();
84
+ try {
85
+ return db.prepare(`SELECT * FROM stream_buffers
86
+ WHERE stream_type = ? AND consumed = 0
87
+ ORDER BY id ASC
88
+ LIMIT ?`).all(streamType, limit);
89
+ }
90
+ catch {
91
+ return [];
92
+ }
93
+ }
94
+ /**
95
+ * @name replay
96
+ * @description Returns all events (consumed + unconsumed) for a stream type
97
+ * within a time range. Used for backtest/analysis.
98
+ * @param streamType - Stream type to replay.
99
+ * @param since - ISO 8601 timestamp. Events created after this time.
100
+ * @param limit - Maximum events. Default 100.
101
+ */
102
+ replay(streamType, since, limit = 100) {
103
+ if (memoryDatabase.isDegraded())
104
+ return [];
105
+ memoryDatabase.init();
106
+ const db = memoryDatabase.getDb();
107
+ try {
108
+ if (since) {
109
+ return db.prepare(`SELECT * FROM stream_buffers
110
+ WHERE stream_type = ? AND created_at >= ?
111
+ ORDER BY id ASC LIMIT ?`).all(streamType, since, limit);
112
+ }
113
+ return db.prepare(`SELECT * FROM stream_buffers
114
+ WHERE stream_type = ?
115
+ ORDER BY id ASC LIMIT ?`).all(streamType, limit);
116
+ }
117
+ catch {
118
+ return [];
119
+ }
120
+ }
121
+ /**
122
+ * @name pendingCount
123
+ * @description Returns the number of unconsumed events.
124
+ */
125
+ pendingCount() {
126
+ if (memoryDatabase.isDegraded())
127
+ return 0;
128
+ memoryDatabase.init();
129
+ const stmt = memoryDatabase.getStatement('count_pending_streams');
130
+ if (!stmt)
131
+ return 0;
132
+ return stmt.get().count;
133
+ }
134
+ /**
135
+ * @name evict
136
+ * @description Evicts old consumed events to keep the buffer bounded.
137
+ * @param maxPerType - Maximum events per stream type. Default 10000.
138
+ * @returns Number of events evicted.
139
+ */
140
+ evict(maxPerType = 10_000) {
141
+ if (memoryDatabase.isDegraded())
142
+ return 0;
143
+ memoryDatabase.init();
144
+ const db = memoryDatabase.getDb();
145
+ try {
146
+ // Delete oldest consumed events that exceed the per-type limit.
147
+ const result = db.prepare(`DELETE FROM stream_buffers
148
+ WHERE consumed = 1 AND id NOT IN (
149
+ SELECT id FROM stream_buffers
150
+ WHERE stream_type = (SELECT stream_type FROM stream_buffers s2 WHERE s2.id = stream_buffers.id)
151
+ ORDER BY id DESC LIMIT ?
152
+ )`).run(maxPerType);
153
+ return result.changes;
154
+ }
155
+ catch {
156
+ return 0;
157
+ }
158
+ }
159
+ /**
160
+ * @name clear
161
+ * @description Clears all events for a stream type.
162
+ */
163
+ clear(streamType) {
164
+ if (memoryDatabase.isDegraded())
165
+ return 0;
166
+ memoryDatabase.init();
167
+ const db = memoryDatabase.getDb();
168
+ try {
169
+ const result = db.prepare('DELETE FROM stream_buffers WHERE stream_type = ?').run(streamType);
170
+ return result.changes;
171
+ }
172
+ catch {
173
+ return 0;
174
+ }
175
+ }
176
+ }
177
+ /**
178
+ * @name streamBufferStore
179
+ * @description Singleton instance of the stream buffer store.
180
+ */
181
+ export const streamBufferStore = new StreamBufferStore();
182
+ //# sourceMappingURL=stream-buffer-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-buffer-store.js","sourceRoot":"","sources":["../../src/memory/stream-buffer-store.ts"],"names":[],"mappings":"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"}