@xynehq/jaf 0.1.2

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 (279) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +596 -0
  3. package/dist/a2a/agent-card.d.ts +28 -0
  4. package/dist/a2a/agent-card.d.ts.map +1 -0
  5. package/dist/a2a/agent-card.js +250 -0
  6. package/dist/a2a/agent-card.js.map +1 -0
  7. package/dist/a2a/agent.d.ts +38 -0
  8. package/dist/a2a/agent.d.ts.map +1 -0
  9. package/dist/a2a/agent.js +223 -0
  10. package/dist/a2a/agent.js.map +1 -0
  11. package/dist/a2a/client.d.ts +35 -0
  12. package/dist/a2a/client.d.ts.map +1 -0
  13. package/dist/a2a/client.js +337 -0
  14. package/dist/a2a/client.js.map +1 -0
  15. package/dist/a2a/examples/client-example.d.ts +104 -0
  16. package/dist/a2a/examples/client-example.d.ts.map +1 -0
  17. package/dist/a2a/examples/client-example.js +232 -0
  18. package/dist/a2a/examples/client-example.js.map +1 -0
  19. package/dist/a2a/examples/server-example.d.ts +9 -0
  20. package/dist/a2a/examples/server-example.d.ts.map +1 -0
  21. package/dist/a2a/examples/server-example.js +209 -0
  22. package/dist/a2a/examples/server-example.js.map +1 -0
  23. package/dist/a2a/examples/weather-agent.d.ts +8 -0
  24. package/dist/a2a/examples/weather-agent.d.ts.map +1 -0
  25. package/dist/a2a/examples/weather-agent.js +232 -0
  26. package/dist/a2a/examples/weather-agent.js.map +1 -0
  27. package/dist/a2a/executor.d.ts +43 -0
  28. package/dist/a2a/executor.d.ts.map +1 -0
  29. package/dist/a2a/executor.js +507 -0
  30. package/dist/a2a/executor.js.map +1 -0
  31. package/dist/a2a/index.d.ts +378 -0
  32. package/dist/a2a/index.d.ts.map +1 -0
  33. package/dist/a2a/index.js +72 -0
  34. package/dist/a2a/index.js.map +1 -0
  35. package/dist/a2a/memory/cleanup.d.ts +58 -0
  36. package/dist/a2a/memory/cleanup.d.ts.map +1 -0
  37. package/dist/a2a/memory/cleanup.js +281 -0
  38. package/dist/a2a/memory/cleanup.js.map +1 -0
  39. package/dist/a2a/memory/factory.d.ts +38 -0
  40. package/dist/a2a/memory/factory.d.ts.map +1 -0
  41. package/dist/a2a/memory/factory.js +369 -0
  42. package/dist/a2a/memory/factory.js.map +1 -0
  43. package/dist/a2a/memory/index.d.ts +13 -0
  44. package/dist/a2a/memory/index.d.ts.map +1 -0
  45. package/dist/a2a/memory/index.js +16 -0
  46. package/dist/a2a/memory/index.js.map +1 -0
  47. package/dist/a2a/memory/providers/in-memory.d.ts +10 -0
  48. package/dist/a2a/memory/providers/in-memory.d.ts.map +1 -0
  49. package/dist/a2a/memory/providers/in-memory.js +539 -0
  50. package/dist/a2a/memory/providers/in-memory.js.map +1 -0
  51. package/dist/a2a/memory/providers/postgres.d.ts +10 -0
  52. package/dist/a2a/memory/providers/postgres.d.ts.map +1 -0
  53. package/dist/a2a/memory/providers/postgres.js +404 -0
  54. package/dist/a2a/memory/providers/postgres.js.map +1 -0
  55. package/dist/a2a/memory/providers/redis.d.ts +10 -0
  56. package/dist/a2a/memory/providers/redis.d.ts.map +1 -0
  57. package/dist/a2a/memory/providers/redis.js +435 -0
  58. package/dist/a2a/memory/providers/redis.js.map +1 -0
  59. package/dist/a2a/memory/serialization.d.ts +53 -0
  60. package/dist/a2a/memory/serialization.d.ts.map +1 -0
  61. package/dist/a2a/memory/serialization.js +233 -0
  62. package/dist/a2a/memory/serialization.js.map +1 -0
  63. package/dist/a2a/memory/types.d.ts +395 -0
  64. package/dist/a2a/memory/types.d.ts.map +1 -0
  65. package/dist/a2a/memory/types.js +85 -0
  66. package/dist/a2a/memory/types.js.map +1 -0
  67. package/dist/a2a/protocol.d.ts +38 -0
  68. package/dist/a2a/protocol.d.ts.map +1 -0
  69. package/dist/a2a/protocol.js +211 -0
  70. package/dist/a2a/protocol.js.map +1 -0
  71. package/dist/a2a/server.d.ts +343 -0
  72. package/dist/a2a/server.d.ts.map +1 -0
  73. package/dist/a2a/server.js +362 -0
  74. package/dist/a2a/server.js.map +1 -0
  75. package/dist/a2a/types.d.ts +730 -0
  76. package/dist/a2a/types.d.ts.map +1 -0
  77. package/dist/a2a/types.js +73 -0
  78. package/dist/a2a/types.js.map +1 -0
  79. package/dist/adk/agents/index.d.ts +48 -0
  80. package/dist/adk/agents/index.d.ts.map +1 -0
  81. package/dist/adk/agents/index.js +277 -0
  82. package/dist/adk/agents/index.js.map +1 -0
  83. package/dist/adk/artifacts/index.d.ts +62 -0
  84. package/dist/adk/artifacts/index.d.ts.map +1 -0
  85. package/dist/adk/artifacts/index.js +394 -0
  86. package/dist/adk/artifacts/index.js.map +1 -0
  87. package/dist/adk/config/llm-config.d.ts +75 -0
  88. package/dist/adk/config/llm-config.d.ts.map +1 -0
  89. package/dist/adk/config/llm-config.js +422 -0
  90. package/dist/adk/config/llm-config.js.map +1 -0
  91. package/dist/adk/content/index.d.ts +58 -0
  92. package/dist/adk/content/index.d.ts.map +1 -0
  93. package/dist/adk/content/index.js +220 -0
  94. package/dist/adk/content/index.js.map +1 -0
  95. package/dist/adk/examples/advanced-features.d.ts +22 -0
  96. package/dist/adk/examples/advanced-features.d.ts.map +1 -0
  97. package/dist/adk/examples/advanced-features.js +380 -0
  98. package/dist/adk/examples/advanced-features.js.map +1 -0
  99. package/dist/adk/examples/basic-agent.d.ts +28 -0
  100. package/dist/adk/examples/basic-agent.d.ts.map +1 -0
  101. package/dist/adk/examples/basic-agent.js +207 -0
  102. package/dist/adk/examples/basic-agent.js.map +1 -0
  103. package/dist/adk/examples/multi-agent.d.ts +24 -0
  104. package/dist/adk/examples/multi-agent.d.ts.map +1 -0
  105. package/dist/adk/examples/multi-agent.js +321 -0
  106. package/dist/adk/examples/multi-agent.js.map +1 -0
  107. package/dist/adk/examples/streaming-example.d.ts +9 -0
  108. package/dist/adk/examples/streaming-example.d.ts.map +1 -0
  109. package/dist/adk/examples/streaming-example.js +193 -0
  110. package/dist/adk/examples/streaming-example.js.map +1 -0
  111. package/dist/adk/index.d.ts +65 -0
  112. package/dist/adk/index.d.ts.map +1 -0
  113. package/dist/adk/index.js +251 -0
  114. package/dist/adk/index.js.map +1 -0
  115. package/dist/adk/models.d.ts +338 -0
  116. package/dist/adk/models.d.ts.map +1 -0
  117. package/dist/adk/models.js +466 -0
  118. package/dist/adk/models.js.map +1 -0
  119. package/dist/adk/providers/error-handler.d.ts +100 -0
  120. package/dist/adk/providers/error-handler.d.ts.map +1 -0
  121. package/dist/adk/providers/error-handler.js +289 -0
  122. package/dist/adk/providers/error-handler.js.map +1 -0
  123. package/dist/adk/providers/llm-service.d.ts +41 -0
  124. package/dist/adk/providers/llm-service.d.ts.map +1 -0
  125. package/dist/adk/providers/llm-service.js +520 -0
  126. package/dist/adk/providers/llm-service.js.map +1 -0
  127. package/dist/adk/providers/type-converters.d.ts +34 -0
  128. package/dist/adk/providers/type-converters.d.ts.map +1 -0
  129. package/dist/adk/providers/type-converters.js +436 -0
  130. package/dist/adk/providers/type-converters.js.map +1 -0
  131. package/dist/adk/runners/index.d.ts +33 -0
  132. package/dist/adk/runners/index.d.ts.map +1 -0
  133. package/dist/adk/runners/index.js +466 -0
  134. package/dist/adk/runners/index.js.map +1 -0
  135. package/dist/adk/schemas/index.d.ts +85 -0
  136. package/dist/adk/schemas/index.d.ts.map +1 -0
  137. package/dist/adk/schemas/index.js +363 -0
  138. package/dist/adk/schemas/index.js.map +1 -0
  139. package/dist/adk/sessions/examples/session-provider-usage.d.ts +10 -0
  140. package/dist/adk/sessions/examples/session-provider-usage.d.ts.map +1 -0
  141. package/dist/adk/sessions/examples/session-provider-usage.js +145 -0
  142. package/dist/adk/sessions/examples/session-provider-usage.js.map +1 -0
  143. package/dist/adk/sessions/index.d.ts +53 -0
  144. package/dist/adk/sessions/index.d.ts.map +1 -0
  145. package/dist/adk/sessions/index.js +451 -0
  146. package/dist/adk/sessions/index.js.map +1 -0
  147. package/dist/adk/sessions/postgres-provider.d.ts +22 -0
  148. package/dist/adk/sessions/postgres-provider.d.ts.map +1 -0
  149. package/dist/adk/sessions/postgres-provider.js +293 -0
  150. package/dist/adk/sessions/postgres-provider.js.map +1 -0
  151. package/dist/adk/sessions/redis-provider.d.ts +19 -0
  152. package/dist/adk/sessions/redis-provider.d.ts.map +1 -0
  153. package/dist/adk/sessions/redis-provider.js +237 -0
  154. package/dist/adk/sessions/redis-provider.js.map +1 -0
  155. package/dist/adk/streaming/index.d.ts +76 -0
  156. package/dist/adk/streaming/index.d.ts.map +1 -0
  157. package/dist/adk/streaming/index.js +419 -0
  158. package/dist/adk/streaming/index.js.map +1 -0
  159. package/dist/adk/tools/index.d.ts +27 -0
  160. package/dist/adk/tools/index.d.ts.map +1 -0
  161. package/dist/adk/tools/index.js +506 -0
  162. package/dist/adk/tools/index.js.map +1 -0
  163. package/dist/adk/types.d.ts +351 -0
  164. package/dist/adk/types.d.ts.map +1 -0
  165. package/dist/adk/types.js +107 -0
  166. package/dist/adk/types.js.map +1 -0
  167. package/dist/core/engine.d.ts +3 -0
  168. package/dist/core/engine.d.ts.map +1 -0
  169. package/dist/core/engine.js +438 -0
  170. package/dist/core/engine.js.map +1 -0
  171. package/dist/core/errors.d.ts +8 -0
  172. package/dist/core/errors.d.ts.map +1 -0
  173. package/dist/core/errors.js +84 -0
  174. package/dist/core/errors.js.map +1 -0
  175. package/dist/core/tool-results.d.ts +57 -0
  176. package/dist/core/tool-results.d.ts.map +1 -0
  177. package/dist/core/tool-results.js +133 -0
  178. package/dist/core/tool-results.js.map +1 -0
  179. package/dist/core/tracing.d.ts +32 -0
  180. package/dist/core/tracing.d.ts.map +1 -0
  181. package/dist/core/tracing.js +132 -0
  182. package/dist/core/tracing.js.map +1 -0
  183. package/dist/core/types.d.ts +165 -0
  184. package/dist/core/types.d.ts.map +1 -0
  185. package/dist/core/types.js +3 -0
  186. package/dist/core/types.js.map +1 -0
  187. package/dist/demo/agents.d.ts +23 -0
  188. package/dist/demo/agents.d.ts.map +1 -0
  189. package/dist/demo/agents.js +69 -0
  190. package/dist/demo/agents.js.map +1 -0
  191. package/dist/demo/index.d.ts +2 -0
  192. package/dist/demo/index.d.ts.map +1 -0
  193. package/dist/demo/index.js +250 -0
  194. package/dist/demo/index.js.map +1 -0
  195. package/dist/demo/mock-provider.d.ts +22 -0
  196. package/dist/demo/mock-provider.d.ts.map +1 -0
  197. package/dist/demo/mock-provider.js +138 -0
  198. package/dist/demo/mock-provider.js.map +1 -0
  199. package/dist/demo/tools.d.ts +14 -0
  200. package/dist/demo/tools.d.ts.map +1 -0
  201. package/dist/demo/tools.js +115 -0
  202. package/dist/demo/tools.js.map +1 -0
  203. package/dist/index.d.ts +20 -0
  204. package/dist/index.d.ts.map +1 -0
  205. package/dist/index.js +30 -0
  206. package/dist/index.js.map +1 -0
  207. package/dist/memory/factory.d.ts +22 -0
  208. package/dist/memory/factory.d.ts.map +1 -0
  209. package/dist/memory/factory.js +88 -0
  210. package/dist/memory/factory.js.map +1 -0
  211. package/dist/memory/providers/in-memory.d.ts +7 -0
  212. package/dist/memory/providers/in-memory.d.ts.map +1 -0
  213. package/dist/memory/providers/in-memory.js +287 -0
  214. package/dist/memory/providers/in-memory.js.map +1 -0
  215. package/dist/memory/providers/postgres.d.ts +15 -0
  216. package/dist/memory/providers/postgres.d.ts.map +1 -0
  217. package/dist/memory/providers/postgres.js +495 -0
  218. package/dist/memory/providers/postgres.js.map +1 -0
  219. package/dist/memory/providers/redis.d.ts +18 -0
  220. package/dist/memory/providers/redis.d.ts.map +1 -0
  221. package/dist/memory/providers/redis.js +354 -0
  222. package/dist/memory/providers/redis.js.map +1 -0
  223. package/dist/memory/types.d.ts +296 -0
  224. package/dist/memory/types.d.ts.map +1 -0
  225. package/dist/memory/types.js +93 -0
  226. package/dist/memory/types.js.map +1 -0
  227. package/dist/policies/handoff.d.ts +16 -0
  228. package/dist/policies/handoff.d.ts.map +1 -0
  229. package/dist/policies/handoff.js +20 -0
  230. package/dist/policies/handoff.js.map +1 -0
  231. package/dist/policies/validation.d.ts +14 -0
  232. package/dist/policies/validation.d.ts.map +1 -0
  233. package/dist/policies/validation.js +92 -0
  234. package/dist/policies/validation.js.map +1 -0
  235. package/dist/providers/mcp.d.ts +17 -0
  236. package/dist/providers/mcp.d.ts.map +1 -0
  237. package/dist/providers/mcp.js +111 -0
  238. package/dist/providers/mcp.js.map +1 -0
  239. package/dist/providers/model.d.ts +3 -0
  240. package/dist/providers/model.d.ts.map +1 -0
  241. package/dist/providers/model.js +113 -0
  242. package/dist/providers/model.js.map +1 -0
  243. package/dist/server/index.d.ts +35 -0
  244. package/dist/server/index.d.ts.map +1 -0
  245. package/dist/server/index.js +66 -0
  246. package/dist/server/index.js.map +1 -0
  247. package/dist/server/server.d.ts +12 -0
  248. package/dist/server/server.d.ts.map +1 -0
  249. package/dist/server/server.js +394 -0
  250. package/dist/server/server.js.map +1 -0
  251. package/dist/server/types.d.ts +456 -0
  252. package/dist/server/types.d.ts.map +1 -0
  253. package/dist/server/types.js +75 -0
  254. package/dist/server/types.js.map +1 -0
  255. package/dist/test-utils/db-setup.d.ts +34 -0
  256. package/dist/test-utils/db-setup.d.ts.map +1 -0
  257. package/dist/test-utils/db-setup.js +149 -0
  258. package/dist/test-utils/db-setup.js.map +1 -0
  259. package/dist/utils/logger.d.ts +63 -0
  260. package/dist/utils/logger.d.ts.map +1 -0
  261. package/dist/utils/logger.js +199 -0
  262. package/dist/utils/logger.js.map +1 -0
  263. package/dist/utils/safe-math.d.ts +31 -0
  264. package/dist/utils/safe-math.d.ts.map +1 -0
  265. package/dist/utils/safe-math.js +86 -0
  266. package/dist/utils/safe-math.js.map +1 -0
  267. package/dist/visualization/example.d.ts +9 -0
  268. package/dist/visualization/example.d.ts.map +1 -0
  269. package/dist/visualization/example.js +236 -0
  270. package/dist/visualization/example.js.map +1 -0
  271. package/dist/visualization/graphviz.d.ts +42 -0
  272. package/dist/visualization/graphviz.d.ts.map +1 -0
  273. package/dist/visualization/graphviz.js +403 -0
  274. package/dist/visualization/graphviz.js.map +1 -0
  275. package/dist/visualization/index.d.ts +10 -0
  276. package/dist/visualization/index.d.ts.map +1 -0
  277. package/dist/visualization/index.js +12 -0
  278. package/dist/visualization/index.js.map +1 -0
  279. package/package.json +99 -0
@@ -0,0 +1,22 @@
1
+ import { MemoryProvider, MemoryProviderConfig, RedisConfig, PostgresConfig } from './types';
2
+ /**
3
+ * Create a memory provider from configuration
4
+ */
5
+ export declare function createMemoryProvider(config: MemoryProviderConfig, externalClients?: {
6
+ redis?: any;
7
+ postgres?: any;
8
+ }): Promise<MemoryProvider>;
9
+ /**
10
+ * Create provider from environment variables
11
+ */
12
+ export declare function createMemoryProviderFromEnv(externalClients?: {
13
+ redis?: any;
14
+ postgres?: any;
15
+ }): Promise<MemoryProvider>;
16
+ /**
17
+ * Helper function to create memory provider with sensible defaults
18
+ */
19
+ export declare function createSimpleMemoryProvider(type: 'memory'): Promise<MemoryProvider>;
20
+ export declare function createSimpleMemoryProvider(type: 'redis', redisClient: any, config?: Partial<RedisConfig>): Promise<MemoryProvider>;
21
+ export declare function createSimpleMemoryProvider(type: 'postgres', postgresClient: any, config?: Partial<PostgresConfig>): Promise<MemoryProvider>;
22
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/memory/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EAEpB,WAAW,EACX,cAAc,EAEf,MAAM,SAAS,CAAC;AAKjB;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,oBAAoB,EAC5B,eAAe,CAAC,EAAE;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,eAAe,CAAC,EAAE;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,CAAC,CAkDzB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3B,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,GAAG,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAAC;AAC3B,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,GAAG,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAC/B,OAAO,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { createMemoryConnectionError } from './types';
2
+ import { createInMemoryProvider } from './providers/in-memory';
3
+ import { createRedisProvider } from './providers/redis';
4
+ import { createPostgresProvider } from './providers/postgres';
5
+ /**
6
+ * Create a memory provider from configuration
7
+ */
8
+ export async function createMemoryProvider(config, externalClients) {
9
+ switch (config.type) {
10
+ case 'memory':
11
+ return createInMemoryProvider(config);
12
+ case 'redis':
13
+ if (!externalClients?.redis) {
14
+ throw createMemoryConnectionError('Redis', new Error('Redis client instance required. Please provide a Redis client in externalClients.redis'));
15
+ }
16
+ return await createRedisProvider(config, externalClients.redis);
17
+ case 'postgres':
18
+ if (!externalClients?.postgres) {
19
+ throw createMemoryConnectionError('PostgreSQL', new Error('PostgreSQL client instance required. Please provide a PostgreSQL client in externalClients.postgres'));
20
+ }
21
+ return await createPostgresProvider(config, externalClients.postgres);
22
+ default:
23
+ throw new Error(`Unknown memory provider type: ${config.type}`);
24
+ }
25
+ }
26
+ /**
27
+ * Create provider from environment variables
28
+ */
29
+ export async function createMemoryProviderFromEnv(externalClients) {
30
+ const memoryType = process.env.JAF_MEMORY_TYPE || 'memory';
31
+ switch (memoryType) {
32
+ case 'memory':
33
+ return createInMemoryProvider({
34
+ type: 'memory',
35
+ maxConversations: parseInt(process.env.JAF_MEMORY_MAX_CONVERSATIONS || '1000'),
36
+ maxMessagesPerConversation: parseInt(process.env.JAF_MEMORY_MAX_MESSAGES || '1000')
37
+ });
38
+ case 'redis':
39
+ if (!externalClients?.redis) {
40
+ throw createMemoryConnectionError('Redis', new Error('Redis client required for Redis memory provider'));
41
+ }
42
+ return await createRedisProvider({
43
+ type: 'redis',
44
+ host: process.env.JAF_REDIS_HOST || 'localhost',
45
+ port: parseInt(process.env.JAF_REDIS_PORT || '6379'),
46
+ password: process.env.JAF_REDIS_PASSWORD,
47
+ db: parseInt(process.env.JAF_REDIS_DB || '0'),
48
+ keyPrefix: process.env.JAF_REDIS_PREFIX || 'jaf:memory:',
49
+ ttl: process.env.JAF_REDIS_TTL ? parseInt(process.env.JAF_REDIS_TTL) : undefined
50
+ }, externalClients.redis);
51
+ case 'postgres':
52
+ if (!externalClients?.postgres) {
53
+ throw createMemoryConnectionError('PostgreSQL', new Error('PostgreSQL client required for PostgreSQL memory provider'));
54
+ }
55
+ return await createPostgresProvider({
56
+ type: 'postgres',
57
+ host: process.env.JAF_POSTGRES_HOST || 'localhost',
58
+ port: parseInt(process.env.JAF_POSTGRES_PORT || '5432'),
59
+ database: process.env.JAF_POSTGRES_DB || 'jaf_memory',
60
+ username: process.env.JAF_POSTGRES_USER || 'postgres',
61
+ password: process.env.JAF_POSTGRES_PASSWORD,
62
+ ssl: process.env.JAF_POSTGRES_SSL === 'true',
63
+ tableName: process.env.JAF_POSTGRES_TABLE || 'conversations',
64
+ maxConnections: parseInt(process.env.JAF_POSTGRES_MAX_CONNECTIONS || '10')
65
+ }, externalClients.postgres);
66
+ default:
67
+ throw new Error(`Unknown memory provider type: ${memoryType}`);
68
+ }
69
+ }
70
+ export async function createSimpleMemoryProvider(type, client, config) {
71
+ switch (type) {
72
+ case 'memory':
73
+ return createInMemoryProvider({ type: 'memory', ...config });
74
+ case 'redis':
75
+ if (!client) {
76
+ throw new Error('Redis client required for Redis memory provider');
77
+ }
78
+ return await createRedisProvider({ type: 'redis', ...config }, client);
79
+ case 'postgres':
80
+ if (!client) {
81
+ throw new Error('PostgreSQL client required for PostgreSQL memory provider');
82
+ }
83
+ return await createPostgresProvider({ type: 'postgres', ...config }, client);
84
+ default:
85
+ throw new Error(`Unknown memory provider type: ${type}`);
86
+ }
87
+ }
88
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/memory/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { MemoryProvider, InMemoryConfig } from '../types';
2
+ /**
3
+ * In-memory memory provider - no persistence across server restarts
4
+ * Best for development, testing, or temporary conversations
5
+ */
6
+ export declare function createInMemoryProvider(config?: InMemoryConfig): MemoryProvider;
7
+ //# sourceMappingURL=in-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/memory/providers/in-memory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAGd,cAAc,EAMf,MAAM,UAAU,CAAC;AAElB;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,cAA6F,GAAG,cAAc,CA+U5J"}
@@ -0,0 +1,287 @@
1
+ import { createSuccess, createFailure, createMemoryNotFoundError, createMemoryStorageError } from '../types';
2
+ /**
3
+ * In-memory memory provider - no persistence across server restarts
4
+ * Best for development, testing, or temporary conversations
5
+ */
6
+ export function createInMemoryProvider(config = { type: 'memory', maxConversations: 1000, maxMessagesPerConversation: 1000 }) {
7
+ const fullConfig = {
8
+ ...config,
9
+ type: 'memory',
10
+ maxConversations: config.maxConversations ?? 1000,
11
+ maxMessagesPerConversation: config.maxMessagesPerConversation ?? 1000
12
+ };
13
+ const conversations = new Map();
14
+ console.log(`[MEMORY:InMemory] Initialized with max ${fullConfig.maxConversations} conversations, ${fullConfig.maxMessagesPerConversation} messages each`);
15
+ const enforceMemoryLimits = () => {
16
+ if (conversations.size <= fullConfig.maxConversations) {
17
+ return;
18
+ }
19
+ // Sort by last activity and remove oldest conversations
20
+ const sorted = Array.from(conversations.entries())
21
+ .sort(([, a], [, b]) => {
22
+ const aTime = a.metadata?.lastActivity?.getTime() || 0;
23
+ const bTime = b.metadata?.lastActivity?.getTime() || 0;
24
+ return aTime - bTime; // Oldest first
25
+ });
26
+ const toRemove = sorted.slice(0, conversations.size - fullConfig.maxConversations);
27
+ for (const [id] of toRemove) {
28
+ conversations.delete(id);
29
+ }
30
+ console.log(`[MEMORY:InMemory] Enforced memory limits, removed ${toRemove.length} oldest conversations`);
31
+ };
32
+ const storeMessages = async (conversationId, messages, metadata) => {
33
+ try {
34
+ const now = new Date();
35
+ const conversation = {
36
+ conversationId,
37
+ userId: metadata?.userId,
38
+ messages,
39
+ metadata: {
40
+ createdAt: now,
41
+ updatedAt: now,
42
+ totalMessages: messages.length,
43
+ lastActivity: now,
44
+ traceId: metadata?.traceId,
45
+ ...metadata
46
+ }
47
+ };
48
+ conversations.set(conversationId, conversation);
49
+ enforceMemoryLimits();
50
+ console.log(`[MEMORY:InMemory] Stored ${messages.length} messages for conversation ${conversationId}`);
51
+ return createSuccess(undefined);
52
+ }
53
+ catch (error) {
54
+ return createFailure(createMemoryStorageError('store messages', 'InMemory', error));
55
+ }
56
+ };
57
+ const getConversation = async (conversationId) => {
58
+ try {
59
+ const conversation = conversations.get(conversationId);
60
+ if (!conversation) {
61
+ return createSuccess(null);
62
+ }
63
+ // Update last activity
64
+ const updatedConversation = {
65
+ ...conversation,
66
+ metadata: {
67
+ ...conversation.metadata,
68
+ lastActivity: new Date()
69
+ }
70
+ };
71
+ conversations.set(conversationId, updatedConversation);
72
+ console.log(`[MEMORY:InMemory] Retrieved conversation ${conversationId} with ${conversation.messages.length} messages`);
73
+ return createSuccess(updatedConversation);
74
+ }
75
+ catch (error) {
76
+ return createFailure(createMemoryStorageError('get conversation', 'InMemory', error));
77
+ }
78
+ };
79
+ const appendMessages = async (conversationId, messages, metadata) => {
80
+ try {
81
+ const existing = conversations.get(conversationId);
82
+ if (!existing) {
83
+ return createFailure(createMemoryNotFoundError(conversationId, 'InMemory'));
84
+ }
85
+ const updatedMessages = [...existing.messages, ...messages];
86
+ // Enforce per-conversation message limit
87
+ const finalMessages = updatedMessages.length > fullConfig.maxMessagesPerConversation
88
+ ? updatedMessages.slice(-fullConfig.maxMessagesPerConversation)
89
+ : updatedMessages;
90
+ const now = new Date();
91
+ const updatedConversation = {
92
+ ...existing,
93
+ messages: finalMessages,
94
+ metadata: {
95
+ ...existing.metadata,
96
+ updatedAt: now,
97
+ lastActivity: now,
98
+ totalMessages: finalMessages.length,
99
+ traceId: metadata?.traceId || existing.metadata?.traceId,
100
+ ...metadata
101
+ }
102
+ };
103
+ conversations.set(conversationId, updatedConversation);
104
+ console.log(`[MEMORY:InMemory] Appended ${messages.length} messages to conversation ${conversationId} (total: ${finalMessages.length})`);
105
+ return createSuccess(undefined);
106
+ }
107
+ catch (error) {
108
+ return createFailure(createMemoryStorageError('append messages', 'InMemory', error));
109
+ }
110
+ };
111
+ const findConversations = async (query) => {
112
+ try {
113
+ const results = [];
114
+ for (const [id, conversation] of conversations) {
115
+ let matches = true;
116
+ if (query.conversationId && id !== query.conversationId) {
117
+ matches = false;
118
+ }
119
+ if (query.userId && conversation.userId !== query.userId) {
120
+ matches = false;
121
+ }
122
+ if (query.traceId && conversation.metadata?.traceId !== query.traceId) {
123
+ matches = false;
124
+ }
125
+ if (query.since && conversation.metadata?.createdAt && conversation.metadata.createdAt < query.since) {
126
+ matches = false;
127
+ }
128
+ if (query.until && conversation.metadata?.createdAt && conversation.metadata.createdAt > query.until) {
129
+ matches = false;
130
+ }
131
+ if (matches) {
132
+ results.push(conversation);
133
+ }
134
+ }
135
+ // Sort by last activity (most recent first)
136
+ results.sort((a, b) => {
137
+ const aTime = a.metadata?.lastActivity?.getTime() || 0;
138
+ const bTime = b.metadata?.lastActivity?.getTime() || 0;
139
+ return bTime - aTime;
140
+ });
141
+ // Apply pagination
142
+ const offset = query.offset || 0;
143
+ const limit = query.limit || results.length;
144
+ const paginatedResults = results.slice(offset, offset + limit);
145
+ console.log(`[MEMORY:InMemory] Found ${paginatedResults.length} conversations matching query`);
146
+ return createSuccess(paginatedResults);
147
+ }
148
+ catch (error) {
149
+ return createFailure(createMemoryStorageError('find conversations', 'InMemory', error));
150
+ }
151
+ };
152
+ const getRecentMessages = async (conversationId, limit = 50) => {
153
+ const conversationResult = await getConversation(conversationId);
154
+ if (!conversationResult.success) {
155
+ return conversationResult;
156
+ }
157
+ if (!conversationResult.data) {
158
+ return createSuccess([]);
159
+ }
160
+ const messages = conversationResult.data.messages.slice(-limit);
161
+ console.log(`[MEMORY:InMemory] Retrieved ${messages.length} recent messages for conversation ${conversationId}`);
162
+ return createSuccess(messages);
163
+ };
164
+ const deleteConversation = async (conversationId) => {
165
+ try {
166
+ const existed = conversations.has(conversationId);
167
+ conversations.delete(conversationId);
168
+ console.log(`[MEMORY:InMemory] ${existed ? 'Deleted' : 'Attempted to delete non-existent'} conversation ${conversationId}`);
169
+ return createSuccess(existed);
170
+ }
171
+ catch (error) {
172
+ return createFailure(createMemoryStorageError('delete conversation', 'InMemory', error));
173
+ }
174
+ };
175
+ const clearUserConversations = async (userId) => {
176
+ try {
177
+ let deletedCount = 0;
178
+ for (const [id, conversation] of conversations) {
179
+ if (conversation.userId === userId) {
180
+ conversations.delete(id);
181
+ deletedCount++;
182
+ }
183
+ }
184
+ console.log(`[MEMORY:InMemory] Cleared ${deletedCount} conversations for user ${userId}`);
185
+ return createSuccess(deletedCount);
186
+ }
187
+ catch (error) {
188
+ return createFailure(createMemoryStorageError('clear user conversations', 'InMemory', error));
189
+ }
190
+ };
191
+ const getStats = async (userId) => {
192
+ try {
193
+ let totalConversations = 0;
194
+ let totalMessages = 0;
195
+ let oldestDate;
196
+ let newestDate;
197
+ for (const conversation of conversations.values()) {
198
+ if (userId && conversation.userId !== userId) {
199
+ continue;
200
+ }
201
+ totalConversations++;
202
+ totalMessages += conversation.messages.length;
203
+ const createdAt = conversation.metadata?.createdAt;
204
+ if (createdAt) {
205
+ if (!oldestDate || createdAt < oldestDate) {
206
+ oldestDate = createdAt;
207
+ }
208
+ if (!newestDate || createdAt > newestDate) {
209
+ newestDate = createdAt;
210
+ }
211
+ }
212
+ }
213
+ return createSuccess({
214
+ totalConversations,
215
+ totalMessages,
216
+ oldestConversation: oldestDate,
217
+ newestConversation: newestDate
218
+ });
219
+ }
220
+ catch (error) {
221
+ return createFailure(createMemoryStorageError('get stats', 'InMemory', error));
222
+ }
223
+ };
224
+ const healthCheck = async () => {
225
+ const start = Date.now();
226
+ try {
227
+ // Simple operation to test functionality
228
+ const testId = `health-check-${Date.now()}`;
229
+ const storeResult = await storeMessages(testId, [{ role: 'user', content: 'health check' }]);
230
+ if (!storeResult.success) {
231
+ return createSuccess({
232
+ healthy: false,
233
+ latencyMs: Date.now() - start,
234
+ error: storeResult.error.message
235
+ });
236
+ }
237
+ const getResult = await getConversation(testId);
238
+ if (!getResult.success) {
239
+ return createSuccess({
240
+ healthy: false,
241
+ latencyMs: Date.now() - start,
242
+ error: getResult.error.message
243
+ });
244
+ }
245
+ const deleteResult = await deleteConversation(testId);
246
+ if (!deleteResult.success) {
247
+ return createSuccess({
248
+ healthy: false,
249
+ latencyMs: Date.now() - start,
250
+ error: deleteResult.error.message
251
+ });
252
+ }
253
+ const latencyMs = Date.now() - start;
254
+ return createSuccess({ healthy: true, latencyMs });
255
+ }
256
+ catch (error) {
257
+ return createSuccess({
258
+ healthy: false,
259
+ latencyMs: Date.now() - start,
260
+ error: error instanceof Error ? error.message : 'Unknown error'
261
+ });
262
+ }
263
+ };
264
+ const close = async () => {
265
+ try {
266
+ console.log(`[MEMORY:InMemory] Closing provider, clearing ${conversations.size} conversations`);
267
+ conversations.clear();
268
+ return createSuccess(undefined);
269
+ }
270
+ catch (error) {
271
+ return createFailure(createMemoryStorageError('close provider', 'InMemory', error));
272
+ }
273
+ };
274
+ return {
275
+ storeMessages,
276
+ getConversation,
277
+ appendMessages,
278
+ findConversations,
279
+ getRecentMessages,
280
+ deleteConversation,
281
+ clearUserConversations,
282
+ getStats,
283
+ healthCheck,
284
+ close
285
+ };
286
+ }
287
+ //# sourceMappingURL=in-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory.js","sourceRoot":"","sources":["../../../src/memory/providers/in-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { MemoryProvider, PostgresConfig } from '../types';
2
+ interface PostgresClient {
3
+ query(sql: string, params?: any[]): Promise<{
4
+ rows: any[];
5
+ rowCount: number;
6
+ }>;
7
+ end(): Promise<void>;
8
+ }
9
+ /**
10
+ * PostgreSQL memory provider - fully persistent with advanced querying
11
+ * Best for production environments requiring complex queries and full persistence
12
+ */
13
+ export declare function createPostgresProvider(config: PostgresConfig, postgresClient: PostgresClient): Promise<MemoryProvider>;
14
+ export {};
15
+ //# sourceMappingURL=postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/memory/providers/postgres.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAGd,cAAc,EAOf,MAAM,UAAU,CAAC;AAGlB,UAAU,cAAc;IACtB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAmiB5H"}