@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,281 @@
1
+ /**
2
+ * A2A Task Cleanup Service for JAF
3
+ * Pure functional cleanup and expiration policies for A2A tasks
4
+ */
5
+ import { createA2ATaskStorageError, createSuccess, createFailure } from './types.js';
6
+ /**
7
+ * Default cleanup configuration
8
+ */
9
+ export const defaultCleanupConfig = {
10
+ enabled: true,
11
+ interval: 3600000, // 1 hour
12
+ maxAge: 7 * 24 * 60 * 60 * 1000, // 7 days
13
+ maxCompletedTasks: 1000,
14
+ maxFailedTasks: 500,
15
+ retainStates: ['working', 'input-required', 'submitted'],
16
+ batchSize: 100,
17
+ dryRun: false
18
+ };
19
+ /**
20
+ * Pure function to perform task cleanup
21
+ */
22
+ export const performTaskCleanup = async (taskProvider, config = defaultCleanupConfig) => {
23
+ try {
24
+ const errors = [];
25
+ let expiredCleaned = 0;
26
+ let excessCompletedCleaned = 0;
27
+ let excessFailedCleaned = 0;
28
+ // Step 1: Clean up expired tasks
29
+ if (config.enabled) {
30
+ try {
31
+ const expiredResult = await taskProvider.cleanupExpiredTasks();
32
+ if (expiredResult.success) {
33
+ expiredCleaned = expiredResult.data;
34
+ if (config.dryRun) {
35
+ console.log(`[DRY RUN] Would clean up ${expiredCleaned} expired tasks`);
36
+ expiredCleaned = 0; // Reset for dry run
37
+ }
38
+ }
39
+ else {
40
+ errors.push(`Failed to cleanup expired tasks: ${expiredResult.error.message}`);
41
+ }
42
+ }
43
+ catch (error) {
44
+ errors.push(`Error during expired task cleanup: ${error.message}`);
45
+ }
46
+ }
47
+ // Step 2: Clean up excess completed tasks
48
+ if (config.enabled && config.maxCompletedTasks > 0) {
49
+ try {
50
+ const completedTasksResult = await taskProvider.findTasks({
51
+ state: 'completed',
52
+ limit: config.maxCompletedTasks + config.batchSize
53
+ });
54
+ if (completedTasksResult.success) {
55
+ const completedTasks = completedTasksResult.data;
56
+ if (completedTasks.length > config.maxCompletedTasks) {
57
+ // Sort by completion time (oldest first) and remove excess
58
+ const sortedTasks = completedTasks
59
+ .sort((a, b) => {
60
+ const timeA = new Date(a.status.timestamp || '').getTime();
61
+ const timeB = new Date(b.status.timestamp || '').getTime();
62
+ return timeA - timeB;
63
+ });
64
+ const tasksToDelete = sortedTasks.slice(0, sortedTasks.length - config.maxCompletedTasks);
65
+ if (config.dryRun) {
66
+ console.log(`[DRY RUN] Would clean up ${tasksToDelete.length} excess completed tasks`);
67
+ }
68
+ else {
69
+ for (const task of tasksToDelete) {
70
+ const deleteResult = await taskProvider.deleteTask(task.id);
71
+ if (deleteResult.success && deleteResult.data) {
72
+ excessCompletedCleaned++;
73
+ }
74
+ else {
75
+ errors.push(`Failed to delete completed task ${task.id}`);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ else {
82
+ errors.push(`Failed to find completed tasks: ${completedTasksResult.error.message}`);
83
+ }
84
+ }
85
+ catch (error) {
86
+ errors.push(`Error during completed task cleanup: ${error.message}`);
87
+ }
88
+ }
89
+ // Step 3: Clean up excess failed tasks
90
+ if (config.enabled && config.maxFailedTasks > 0) {
91
+ try {
92
+ const failedTasksResult = await taskProvider.findTasks({
93
+ state: 'failed',
94
+ limit: config.maxFailedTasks + config.batchSize
95
+ });
96
+ if (failedTasksResult.success) {
97
+ const failedTasks = failedTasksResult.data;
98
+ if (failedTasks.length > config.maxFailedTasks) {
99
+ // Sort by failure time (oldest first) and remove excess
100
+ const sortedTasks = failedTasks
101
+ .sort((a, b) => {
102
+ const timeA = new Date(a.status.timestamp || '').getTime();
103
+ const timeB = new Date(b.status.timestamp || '').getTime();
104
+ return timeA - timeB;
105
+ });
106
+ const tasksToDelete = sortedTasks.slice(0, sortedTasks.length - config.maxFailedTasks);
107
+ if (config.dryRun) {
108
+ console.log(`[DRY RUN] Would clean up ${tasksToDelete.length} excess failed tasks`);
109
+ }
110
+ else {
111
+ for (const task of tasksToDelete) {
112
+ const deleteResult = await taskProvider.deleteTask(task.id);
113
+ if (deleteResult.success && deleteResult.data) {
114
+ excessFailedCleaned++;
115
+ }
116
+ else {
117
+ errors.push(`Failed to delete failed task ${task.id}`);
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
123
+ else {
124
+ errors.push(`Failed to find failed tasks: ${failedTasksResult.error.message}`);
125
+ }
126
+ }
127
+ catch (error) {
128
+ errors.push(`Error during failed task cleanup: ${error.message}`);
129
+ }
130
+ }
131
+ // Step 4: Clean up old tasks beyond max age
132
+ if (config.enabled && config.maxAge > 0) {
133
+ try {
134
+ const cutoffDate = new Date(Date.now() - config.maxAge);
135
+ // Find old completed and failed tasks
136
+ for (const state of ['completed', 'failed', 'canceled']) {
137
+ if (config.retainStates.includes(state))
138
+ continue;
139
+ const oldTasksResult = await taskProvider.findTasks({
140
+ state: state,
141
+ until: cutoffDate,
142
+ limit: config.batchSize
143
+ });
144
+ if (oldTasksResult.success) {
145
+ const oldTasks = oldTasksResult.data;
146
+ if (config.dryRun) {
147
+ console.log(`[DRY RUN] Would clean up ${oldTasks.length} old ${state} tasks`);
148
+ }
149
+ else {
150
+ for (const task of oldTasks) {
151
+ const deleteResult = await taskProvider.deleteTask(task.id);
152
+ if (deleteResult.success && deleteResult.data) {
153
+ if (state === 'completed') {
154
+ excessCompletedCleaned++;
155
+ }
156
+ else if (state === 'failed') {
157
+ excessFailedCleaned++;
158
+ }
159
+ }
160
+ else {
161
+ errors.push(`Failed to delete old ${state} task ${task.id}`);
162
+ }
163
+ }
164
+ }
165
+ }
166
+ else {
167
+ errors.push(`Failed to find old ${state} tasks: ${oldTasksResult.error.message}`);
168
+ }
169
+ }
170
+ }
171
+ catch (error) {
172
+ errors.push(`Error during old task cleanup: ${error.message}`);
173
+ }
174
+ }
175
+ const totalCleaned = expiredCleaned + excessCompletedCleaned + excessFailedCleaned;
176
+ return createSuccess({
177
+ expiredCleaned,
178
+ excessCompletedCleaned,
179
+ excessFailedCleaned,
180
+ totalCleaned,
181
+ errors
182
+ });
183
+ }
184
+ catch (error) {
185
+ return createFailure(createA2ATaskStorageError('cleanup', 'unknown', undefined, error));
186
+ }
187
+ };
188
+ /**
189
+ * Pure function to create a cleanup scheduler
190
+ */
191
+ export const createTaskCleanupScheduler = (taskProvider, config = defaultCleanupConfig) => {
192
+ let intervalId = null;
193
+ let isRunning = false;
194
+ const start = () => {
195
+ if (isRunning || !config.enabled)
196
+ return;
197
+ isRunning = true;
198
+ const runCleanup = async () => {
199
+ try {
200
+ const result = await performTaskCleanup(taskProvider, config);
201
+ if (result.success) {
202
+ const { totalCleaned, errors } = result.data;
203
+ if (totalCleaned > 0 || errors.length > 0) {
204
+ console.log(`A2A task cleanup completed: ${totalCleaned} tasks cleaned`);
205
+ if (errors.length > 0) {
206
+ console.warn(`A2A task cleanup errors: ${errors.join(', ')}`);
207
+ }
208
+ }
209
+ }
210
+ else {
211
+ console.error(`A2A task cleanup failed: ${result.error.message}`);
212
+ }
213
+ }
214
+ catch (error) {
215
+ console.error(`A2A task cleanup error: ${error.message}`);
216
+ }
217
+ };
218
+ // Run initial cleanup
219
+ runCleanup();
220
+ // Schedule periodic cleanup
221
+ intervalId = setInterval(runCleanup, config.interval);
222
+ };
223
+ const stop = () => {
224
+ if (intervalId) {
225
+ clearInterval(intervalId);
226
+ intervalId = null;
227
+ }
228
+ isRunning = false;
229
+ };
230
+ const runOnce = () => {
231
+ return performTaskCleanup(taskProvider, config);
232
+ };
233
+ return {
234
+ start,
235
+ stop,
236
+ runOnce,
237
+ isRunning: () => isRunning,
238
+ config
239
+ };
240
+ };
241
+ /**
242
+ * Pure function to validate cleanup configuration
243
+ */
244
+ export const validateCleanupConfig = (config) => {
245
+ const errors = [];
246
+ if (config.interval !== undefined && config.interval <= 0) {
247
+ errors.push('Cleanup interval must be greater than 0');
248
+ }
249
+ if (config.maxAge !== undefined && config.maxAge <= 0) {
250
+ errors.push('Max age must be greater than 0');
251
+ }
252
+ if (config.maxCompletedTasks !== undefined && config.maxCompletedTasks < 0) {
253
+ errors.push('Max completed tasks must be non-negative');
254
+ }
255
+ if (config.maxFailedTasks !== undefined && config.maxFailedTasks < 0) {
256
+ errors.push('Max failed tasks must be non-negative');
257
+ }
258
+ if (config.batchSize !== undefined && config.batchSize <= 0) {
259
+ errors.push('Batch size must be greater than 0');
260
+ }
261
+ return {
262
+ valid: errors.length === 0,
263
+ errors
264
+ };
265
+ };
266
+ /**
267
+ * Helper function to create cleanup config from environment variables
268
+ */
269
+ export const createCleanupConfigFromEnv = () => {
270
+ return {
271
+ enabled: process.env.JAF_A2A_CLEANUP_ENABLED !== 'false',
272
+ interval: parseInt(process.env.JAF_A2A_CLEANUP_INTERVAL || '3600000'),
273
+ maxAge: parseInt(process.env.JAF_A2A_CLEANUP_MAX_AGE || '604800000'), // 7 days
274
+ maxCompletedTasks: parseInt(process.env.JAF_A2A_CLEANUP_MAX_COMPLETED || '1000'),
275
+ maxFailedTasks: parseInt(process.env.JAF_A2A_CLEANUP_MAX_FAILED || '500'),
276
+ retainStates: (process.env.JAF_A2A_CLEANUP_RETAIN_STATES || 'working,input-required,submitted').split(','),
277
+ batchSize: parseInt(process.env.JAF_A2A_CLEANUP_BATCH_SIZE || '100'),
278
+ dryRun: process.env.JAF_A2A_CLEANUP_DRY_RUN === 'true'
279
+ };
280
+ };
281
+ //# sourceMappingURL=cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../../src/a2a/memory/cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * A2A Task Provider Factory for JAF
3
+ * Pure functional factory for creating A2A task providers
4
+ */
5
+ import { A2ATaskProvider, A2ATaskProviderConfig, A2ARedisTaskConfig, A2APostgresTaskConfig } from './types.js';
6
+ /**
7
+ * Create an A2A task provider from configuration
8
+ */
9
+ export declare const createA2ATaskProvider: (config: A2ATaskProviderConfig, externalClients?: {
10
+ redis?: any;
11
+ postgres?: any;
12
+ }) => Promise<A2ATaskProvider>;
13
+ /**
14
+ * Create A2A task provider from environment variables
15
+ */
16
+ export declare const createA2ATaskProviderFromEnv: (externalClients?: {
17
+ redis?: any;
18
+ postgres?: any;
19
+ }) => Promise<A2ATaskProvider>;
20
+ /**
21
+ * Helper function to create A2A task provider with sensible defaults
22
+ */
23
+ export declare function createSimpleA2ATaskProvider(type: 'memory'): Promise<A2ATaskProvider>;
24
+ export declare function createSimpleA2ATaskProvider(type: 'redis', redisClient: any, config?: Partial<A2ARedisTaskConfig>): Promise<A2ATaskProvider>;
25
+ export declare function createSimpleA2ATaskProvider(type: 'postgres', postgresClient: any, config?: Partial<A2APostgresTaskConfig>): Promise<A2ATaskProvider>;
26
+ /**
27
+ * Create a composite A2A task provider that can use multiple backends
28
+ * Useful for implementing failover or read/write splitting
29
+ */
30
+ export declare const createCompositeA2ATaskProvider: (primary: A2ATaskProvider, fallback?: A2ATaskProvider) => A2ATaskProvider;
31
+ /**
32
+ * Pure function to validate A2A task provider configuration
33
+ */
34
+ export declare const validateA2ATaskProviderConfig: (config: any) => {
35
+ valid: boolean;
36
+ errors: string[];
37
+ };
38
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/a2a/memory/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EAErB,kBAAkB,EAClB,qBAAqB,EAGtB,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,qBAAqB,EAC7B,kBAAkB;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,KACA,OAAO,CAAC,eAAe,CAyCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,kBAAkB;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,KACA,OAAO,CAAC,eAAe,CA4FzB,CAAC;AAEF;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5B,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,GAAG,EAChB,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GACnC,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5B,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,UAAU,EAChB,cAAc,EAAE,GAAG,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,OAAO,CAAC,eAAe,CAAC,CAAC;AAmE5B;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GACzC,SAAS,eAAe,EACxB,WAAW,eAAe,KACzB,eA2HF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,GAAI,QAAQ,GAAG,KAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAiF7F,CAAC"}