@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,378 @@
1
+ /**
2
+ * A2A Integration for JAF - Main Export
3
+ * Pure functional A2A protocol support for Functional Agent Framework
4
+ */
5
+ export type { A2AAgent, A2AAgentTool, A2AMessage, A2APart, A2ATask, A2AArtifact, A2AError, A2AStreamEvent, AgentCard, AgentSkill, AgentState, StreamEvent, ToolContext, A2AToolResult, JSONRPCRequest, JSONRPCResponse, JSONRPCError, SendMessageRequest, SendStreamingMessageRequest, GetTaskRequest, MessageSendConfiguration, A2AServerConfig, A2AClientConfig, A2AClientState } from './types.js';
6
+ export type { A2AExecutionContext, A2AExecutionEvent, A2AExecutionResult } from './executor.js';
7
+ export { createA2AAgent, createA2ATool, getProcessingMessage, createInitialAgentState, addMessageToState, updateStateFromRunResult, createUserMessage, transformA2AAgentToJAF, transformA2AToolToJAF, createRunConfigForA2AAgent, transformToRunState, processAgentQuery, extractTextFromA2AMessage, createA2ATextMessage, createA2ADataMessage, createA2ATask, updateA2ATaskStatus, addArtifactToA2ATask, completeA2ATask } from './agent.js';
8
+ export { executeA2AAgent, convertToA2AStreamEvents, executeA2AAgentWithStreaming } from './executor.js';
9
+ export { validateJSONRPCRequest, createJSONRPCSuccessResponse, createJSONRPCErrorResponse, createA2AError, mapErrorToA2AError, validateSendMessageRequest, handleMessageSend, handleMessageStream, handleTasksGet, handleTasksCancel, handleGetAuthenticatedExtendedCard, routeA2ARequest, createProtocolHandlerConfig } from './protocol.js';
10
+ export { generateAgentCard, generateSkillsFromAgents, generateExamplesForAgent, generateExamplesForTool, generateSecuritySchemes, generateSecurityRequirements, generateAgentCardForAgent, validateAgentCard, createMinimalAgentCard, mergeAgentCards, createAgentCardFromConfig } from './agent-card.js';
11
+ export { createA2AServer, startA2AServer } from './server.js';
12
+ import { createSimpleA2ATaskProvider } from './memory/factory.js';
13
+ export { createA2AClient, createMessageRequest, createStreamingMessageRequest, sendA2ARequest, sendMessage, streamMessage, getAgentCard, discoverAgents, sendMessageToAgent, streamMessageToAgent, extractTextResponse, checkA2AHealth, getA2ACapabilities, connectToA2AAgent } from './client.js';
14
+ export { A2AErrorCodes } from './types.js';
15
+ export { a2aMessageSchema, sendMessageRequestSchema } from './types.js';
16
+ export * from './memory/index.js';
17
+ export { createWeatherAgent, getWeatherAgentProcessingMessage, weatherAgentExamples } from './examples/weather-agent.js';
18
+ export { createCalculatorAgent, createGreetingAgent, startExampleServer } from './examples/server-example.js';
19
+ export declare const A2A: {
20
+ readonly agent: (config: {
21
+ readonly name: string;
22
+ readonly description: string;
23
+ readonly instruction: string;
24
+ readonly tools: readonly import("./types.js").A2AAgentTool[];
25
+ readonly supportedContentTypes?: readonly string[];
26
+ }) => import("./types.js").A2AAgent;
27
+ readonly tool: <T>(config: {
28
+ readonly name: string;
29
+ readonly description: string;
30
+ readonly parameters: import("zod").ZodType<T>;
31
+ readonly execute: (args: T, context?: import("./types.js").ToolContext) => Promise<any | import("./types.js").A2AToolResult>;
32
+ }) => import("./types.js").A2AAgentTool;
33
+ readonly server: {
34
+ readonly create: (config: import("./types.js").A2AServerConfig) => Promise<{
35
+ app: import("fastify").FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>;
36
+ config: {
37
+ host: string;
38
+ capabilities: Partial<{
39
+ readonly streaming?: boolean;
40
+ readonly pushNotifications?: boolean;
41
+ readonly stateTransitionHistory?: boolean;
42
+ }>;
43
+ agentCard: {
44
+ capabilities: Partial<{
45
+ readonly streaming?: boolean;
46
+ readonly pushNotifications?: boolean;
47
+ readonly stateTransitionHistory?: boolean;
48
+ }>;
49
+ protocolVersion: string;
50
+ name: string;
51
+ description: string;
52
+ url: string;
53
+ preferredTransport?: string;
54
+ version: string;
55
+ provider?: {
56
+ readonly organization: string;
57
+ readonly url: string;
58
+ };
59
+ defaultInputModes: readonly string[];
60
+ defaultOutputModes: readonly string[];
61
+ skills: readonly import("./types.js").AgentSkill[];
62
+ securitySchemes?: Readonly<Record<string, any>>;
63
+ security?: readonly Record<string, readonly string[]>[];
64
+ };
65
+ taskProvider: import("./memory/types.js").A2ATaskProvider;
66
+ protocolHandler: {
67
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
68
+ modelProvider: any;
69
+ agentCard: any;
70
+ taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
71
+ handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
72
+ };
73
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
74
+ port: number;
75
+ };
76
+ start: () => Promise<void>;
77
+ stop: () => Promise<void>;
78
+ addAgent: (name: string, agent: import("./types.js").A2AAgent) => {
79
+ host: string;
80
+ capabilities: Partial<{
81
+ readonly streaming?: boolean;
82
+ readonly pushNotifications?: boolean;
83
+ readonly stateTransitionHistory?: boolean;
84
+ }>;
85
+ agentCard: {
86
+ capabilities: Partial<{
87
+ readonly streaming?: boolean;
88
+ readonly pushNotifications?: boolean;
89
+ readonly stateTransitionHistory?: boolean;
90
+ }>;
91
+ protocolVersion: string;
92
+ name: string;
93
+ description: string;
94
+ url: string;
95
+ preferredTransport?: string;
96
+ version: string;
97
+ provider?: {
98
+ readonly organization: string;
99
+ readonly url: string;
100
+ };
101
+ defaultInputModes: readonly string[];
102
+ defaultOutputModes: readonly string[];
103
+ skills: readonly import("./types.js").AgentSkill[];
104
+ securitySchemes?: Readonly<Record<string, any>>;
105
+ security?: readonly Record<string, readonly string[]>[];
106
+ };
107
+ taskProvider: import("./memory/types.js").A2ATaskProvider;
108
+ protocolHandler: {
109
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
110
+ modelProvider: any;
111
+ agentCard: any;
112
+ taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
113
+ handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
114
+ };
115
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
116
+ port: number;
117
+ };
118
+ removeAgent: (name: string) => {
119
+ host: string;
120
+ capabilities: Partial<{
121
+ readonly streaming?: boolean;
122
+ readonly pushNotifications?: boolean;
123
+ readonly stateTransitionHistory?: boolean;
124
+ }>;
125
+ agentCard: {
126
+ capabilities: Partial<{
127
+ readonly streaming?: boolean;
128
+ readonly pushNotifications?: boolean;
129
+ readonly stateTransitionHistory?: boolean;
130
+ }>;
131
+ protocolVersion: string;
132
+ name: string;
133
+ description: string;
134
+ url: string;
135
+ preferredTransport?: string;
136
+ version: string;
137
+ provider?: {
138
+ readonly organization: string;
139
+ readonly url: string;
140
+ };
141
+ defaultInputModes: readonly string[];
142
+ defaultOutputModes: readonly string[];
143
+ skills: readonly import("./types.js").AgentSkill[];
144
+ securitySchemes?: Readonly<Record<string, any>>;
145
+ security?: readonly Record<string, readonly string[]>[];
146
+ };
147
+ taskProvider: import("./memory/types.js").A2ATaskProvider;
148
+ protocolHandler: {
149
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
150
+ modelProvider: any;
151
+ agentCard: any;
152
+ taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
153
+ handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
154
+ };
155
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
156
+ port: number;
157
+ };
158
+ getAgentCard: () => {
159
+ capabilities: Partial<{
160
+ readonly streaming?: boolean;
161
+ readonly pushNotifications?: boolean;
162
+ readonly stateTransitionHistory?: boolean;
163
+ }>;
164
+ protocolVersion: string;
165
+ name: string;
166
+ description: string;
167
+ url: string;
168
+ preferredTransport?: string;
169
+ version: string;
170
+ provider?: {
171
+ readonly organization: string;
172
+ readonly url: string;
173
+ };
174
+ defaultInputModes: readonly string[];
175
+ defaultOutputModes: readonly string[];
176
+ skills: readonly import("./types.js").AgentSkill[];
177
+ securitySchemes?: Readonly<Record<string, any>>;
178
+ security?: readonly Record<string, readonly string[]>[];
179
+ };
180
+ handleRequest: (request: import("./types.js").JSONRPCRequest) => Promise<import("./types.js").JSONRPCResponse | AsyncIterable<import("./types.js").JSONRPCResponse>>;
181
+ }>;
182
+ readonly start: (config: import("./types.js").A2AServerConfig) => Promise<{
183
+ app: import("fastify").FastifyInstance<import("fastify").RawServerDefault, import("http").IncomingMessage, import("http").ServerResponse<import("http").IncomingMessage>, import("fastify").FastifyBaseLogger, import("fastify").FastifyTypeProviderDefault>;
184
+ config: {
185
+ host: string;
186
+ capabilities: Partial<{
187
+ readonly streaming?: boolean;
188
+ readonly pushNotifications?: boolean;
189
+ readonly stateTransitionHistory?: boolean;
190
+ }>;
191
+ agentCard: {
192
+ capabilities: Partial<{
193
+ readonly streaming?: boolean;
194
+ readonly pushNotifications?: boolean;
195
+ readonly stateTransitionHistory?: boolean;
196
+ }>;
197
+ protocolVersion: string;
198
+ name: string;
199
+ description: string;
200
+ url: string;
201
+ preferredTransport?: string;
202
+ version: string;
203
+ provider?: {
204
+ readonly organization: string;
205
+ readonly url: string;
206
+ };
207
+ defaultInputModes: readonly string[];
208
+ defaultOutputModes: readonly string[];
209
+ skills: readonly import("./types.js").AgentSkill[];
210
+ securitySchemes?: Readonly<Record<string, any>>;
211
+ security?: readonly Record<string, readonly string[]>[];
212
+ };
213
+ taskProvider: import("./memory/types.js").A2ATaskProvider;
214
+ protocolHandler: {
215
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
216
+ modelProvider: any;
217
+ agentCard: any;
218
+ taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
219
+ handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
220
+ };
221
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
222
+ port: number;
223
+ };
224
+ start: () => Promise<void>;
225
+ stop: () => Promise<void>;
226
+ addAgent: (name: string, agent: import("./types.js").A2AAgent) => {
227
+ host: string;
228
+ capabilities: Partial<{
229
+ readonly streaming?: boolean;
230
+ readonly pushNotifications?: boolean;
231
+ readonly stateTransitionHistory?: boolean;
232
+ }>;
233
+ agentCard: {
234
+ capabilities: Partial<{
235
+ readonly streaming?: boolean;
236
+ readonly pushNotifications?: boolean;
237
+ readonly stateTransitionHistory?: boolean;
238
+ }>;
239
+ protocolVersion: string;
240
+ name: string;
241
+ description: string;
242
+ url: string;
243
+ preferredTransport?: string;
244
+ version: string;
245
+ provider?: {
246
+ readonly organization: string;
247
+ readonly url: string;
248
+ };
249
+ defaultInputModes: readonly string[];
250
+ defaultOutputModes: readonly string[];
251
+ skills: readonly import("./types.js").AgentSkill[];
252
+ securitySchemes?: Readonly<Record<string, any>>;
253
+ security?: readonly Record<string, readonly string[]>[];
254
+ };
255
+ taskProvider: import("./memory/types.js").A2ATaskProvider;
256
+ protocolHandler: {
257
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
258
+ modelProvider: any;
259
+ agentCard: any;
260
+ taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
261
+ handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
262
+ };
263
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
264
+ port: number;
265
+ };
266
+ removeAgent: (name: string) => {
267
+ host: string;
268
+ capabilities: Partial<{
269
+ readonly streaming?: boolean;
270
+ readonly pushNotifications?: boolean;
271
+ readonly stateTransitionHistory?: boolean;
272
+ }>;
273
+ agentCard: {
274
+ capabilities: Partial<{
275
+ readonly streaming?: boolean;
276
+ readonly pushNotifications?: boolean;
277
+ readonly stateTransitionHistory?: boolean;
278
+ }>;
279
+ protocolVersion: string;
280
+ name: string;
281
+ description: string;
282
+ url: string;
283
+ preferredTransport?: string;
284
+ version: string;
285
+ provider?: {
286
+ readonly organization: string;
287
+ readonly url: string;
288
+ };
289
+ defaultInputModes: readonly string[];
290
+ defaultOutputModes: readonly string[];
291
+ skills: readonly import("./types.js").AgentSkill[];
292
+ securitySchemes?: Readonly<Record<string, any>>;
293
+ security?: readonly Record<string, readonly string[]>[];
294
+ };
295
+ taskProvider: import("./memory/types.js").A2ATaskProvider;
296
+ protocolHandler: {
297
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
298
+ modelProvider: any;
299
+ agentCard: any;
300
+ taskProvider: import("./memory/types.js").A2ATaskProvider | undefined;
301
+ handleRequest: (request: import("./types.js").JSONRPCRequest, agentName?: string) => Promise<import("./types.js").JSONRPCResponse> | AsyncGenerator<import("./types.js").JSONRPCResponse, void, unknown>;
302
+ };
303
+ agents: ReadonlyMap<string, import("./types.js").A2AAgent>;
304
+ port: number;
305
+ };
306
+ getAgentCard: () => {
307
+ capabilities: Partial<{
308
+ readonly streaming?: boolean;
309
+ readonly pushNotifications?: boolean;
310
+ readonly stateTransitionHistory?: boolean;
311
+ }>;
312
+ protocolVersion: string;
313
+ name: string;
314
+ description: string;
315
+ url: string;
316
+ preferredTransport?: string;
317
+ version: string;
318
+ provider?: {
319
+ readonly organization: string;
320
+ readonly url: string;
321
+ };
322
+ defaultInputModes: readonly string[];
323
+ defaultOutputModes: readonly string[];
324
+ skills: readonly import("./types.js").AgentSkill[];
325
+ securitySchemes?: Readonly<Record<string, any>>;
326
+ security?: readonly Record<string, readonly string[]>[];
327
+ };
328
+ handleRequest: (request: import("./types.js").JSONRPCRequest) => Promise<import("./types.js").JSONRPCResponse | AsyncIterable<import("./types.js").JSONRPCResponse>>;
329
+ }>;
330
+ };
331
+ readonly client: {
332
+ readonly create: (baseUrl: string, config?: Partial<import("./types.js").A2AClientConfig>) => import("./types.js").A2AClientState;
333
+ readonly connect: (baseUrl: string) => Promise<{
334
+ client: import("./types.js").A2AClientState;
335
+ agentCard: import("./types.js").AgentCard;
336
+ ask: (message: string, config?: any) => Promise<string>;
337
+ stream: (message: string, config?: any) => AsyncGenerator<import("./types.js").A2AStreamEvent, void, unknown>;
338
+ health: () => Promise<{
339
+ status: string;
340
+ agents: string[];
341
+ timestamp: string;
342
+ }>;
343
+ capabilities: () => Promise<any>;
344
+ }>;
345
+ readonly discover: (baseUrl: string) => Promise<import("./types.js").AgentCard>;
346
+ };
347
+ readonly protocol: {
348
+ readonly validate: (request: any) => request is import("./types.js").JSONRPCRequest;
349
+ readonly createSuccess: (id: string | number, result: any) => import("./types.js").JSONRPCResponse;
350
+ readonly createError: (id: string | number | null, error: import("./types.js").JSONRPCError) => import("./types.js").JSONRPCResponse;
351
+ };
352
+ readonly card: {
353
+ readonly generate: (config: import("./types.js").A2AServerConfig["agentCard"], agents: ReadonlyMap<string, import("./types.js").A2AAgent>, baseUrl?: string) => import("./types.js").AgentCard;
354
+ readonly validate: (card: import("./types.js").AgentCard) => {
355
+ isValid: boolean;
356
+ errors: readonly string[];
357
+ };
358
+ readonly minimal: (name: string, description: string, url?: string) => import("./types.js").AgentCard;
359
+ };
360
+ readonly memory: {
361
+ readonly createTaskProvider: (config: import("./memory/types.js").A2ATaskProviderConfig, externalClients?: {
362
+ redis?: any;
363
+ postgres?: any;
364
+ }) => Promise<import("./memory/types.js").A2ATaskProvider>;
365
+ readonly createSimpleTaskProvider: typeof createSimpleA2ATaskProvider;
366
+ readonly createCompositeTaskProvider: (primary: import("./memory/types.js").A2ATaskProvider, fallback?: import("./memory/types.js").A2ATaskProvider) => import("./memory/types.js").A2ATaskProvider;
367
+ readonly createTaskProviderFromEnv: (externalClients?: {
368
+ redis?: any;
369
+ postgres?: any;
370
+ }) => Promise<import("./memory/types.js").A2ATaskProvider>;
371
+ readonly validateTaskProviderConfig: (config: any) => {
372
+ valid: boolean;
373
+ errors: string[];
374
+ };
375
+ };
376
+ };
377
+ export default A2A;
378
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * A2A Integration for JAF - Main Export
3
+ * Pure functional A2A protocol support for Functional Agent Framework
4
+ */
5
+ // Agent Creation Functions
6
+ import { createA2AAgent, createA2ATool } from './agent.js';
7
+ export { createA2AAgent, createA2ATool, getProcessingMessage, createInitialAgentState, addMessageToState, updateStateFromRunResult, createUserMessage, transformA2AAgentToJAF, transformA2AToolToJAF, createRunConfigForA2AAgent, transformToRunState, processAgentQuery, extractTextFromA2AMessage, createA2ATextMessage, createA2ADataMessage, createA2ATask, updateA2ATaskStatus, addArtifactToA2ATask, completeA2ATask } from './agent.js';
8
+ // Execution Functions
9
+ export { executeA2AAgent, convertToA2AStreamEvents, executeA2AAgentWithStreaming } from './executor.js';
10
+ // Protocol Handlers
11
+ import { validateJSONRPCRequest, createJSONRPCSuccessResponse, createJSONRPCErrorResponse } from './protocol.js';
12
+ export { validateJSONRPCRequest, createJSONRPCSuccessResponse, createJSONRPCErrorResponse, createA2AError, mapErrorToA2AError, validateSendMessageRequest, handleMessageSend, handleMessageStream, handleTasksGet, handleTasksCancel, handleGetAuthenticatedExtendedCard, routeA2ARequest, createProtocolHandlerConfig } from './protocol.js';
13
+ // Agent Card Generation
14
+ import { generateAgentCard, validateAgentCard, createMinimalAgentCard } from './agent-card.js';
15
+ export { generateAgentCard, generateSkillsFromAgents, generateExamplesForAgent, generateExamplesForTool, generateSecuritySchemes, generateSecurityRequirements, generateAgentCardForAgent, validateAgentCard, createMinimalAgentCard, mergeAgentCards, createAgentCardFromConfig } from './agent-card.js';
16
+ // Server Functions
17
+ import { createA2AServer, startA2AServer } from './server.js';
18
+ export { createA2AServer, startA2AServer } from './server.js';
19
+ // Client Functions
20
+ import { createA2AClient, discoverAgents, connectToA2AAgent } from './client.js';
21
+ // Memory Functions
22
+ import { createA2ATaskProvider, createSimpleA2ATaskProvider, createCompositeA2ATaskProvider, createA2ATaskProviderFromEnv, validateA2ATaskProviderConfig } from './memory/factory.js';
23
+ export { createA2AClient, createMessageRequest, createStreamingMessageRequest, sendA2ARequest, sendMessage, streamMessage, getAgentCard, discoverAgents, sendMessageToAgent, streamMessageToAgent, extractTextResponse, checkA2AHealth, getA2ACapabilities, connectToA2AAgent } from './client.js';
24
+ // Error Codes
25
+ export { A2AErrorCodes } from './types.js';
26
+ // Validation Schemas
27
+ export { a2aMessageSchema, sendMessageRequestSchema } from './types.js';
28
+ // Memory and Task Provider Support
29
+ export * from './memory/index.js';
30
+ // Example Agents (optional, for development and testing)
31
+ export { createWeatherAgent, getWeatherAgentProcessingMessage, weatherAgentExamples } from './examples/weather-agent.js';
32
+ export { createCalculatorAgent, createGreetingAgent, startExampleServer } from './examples/server-example.js';
33
+ // Convenience functions for common use cases
34
+ export const A2A = {
35
+ // Quick agent creation
36
+ agent: createA2AAgent,
37
+ tool: createA2ATool,
38
+ // Quick server setup
39
+ server: {
40
+ create: createA2AServer,
41
+ start: startA2AServer
42
+ },
43
+ // Quick client setup
44
+ client: {
45
+ create: createA2AClient,
46
+ connect: connectToA2AAgent,
47
+ discover: discoverAgents
48
+ },
49
+ // Protocol utilities
50
+ protocol: {
51
+ validate: validateJSONRPCRequest,
52
+ createSuccess: createJSONRPCSuccessResponse,
53
+ createError: createJSONRPCErrorResponse
54
+ },
55
+ // Agent card utilities
56
+ card: {
57
+ generate: generateAgentCard,
58
+ validate: validateAgentCard,
59
+ minimal: createMinimalAgentCard
60
+ },
61
+ // Task memory utilities
62
+ memory: {
63
+ createTaskProvider: createA2ATaskProvider,
64
+ createSimpleTaskProvider: createSimpleA2ATaskProvider,
65
+ createCompositeTaskProvider: createCompositeA2ATaskProvider,
66
+ createTaskProviderFromEnv: createA2ATaskProviderFromEnv,
67
+ validateTaskProviderConfig: validateA2ATaskProviderConfig
68
+ }
69
+ };
70
+ // Default export for convenience
71
+ export default A2A;
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/a2a/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * A2A Task Cleanup Service for JAF
3
+ * Pure functional cleanup and expiration policies for A2A tasks
4
+ */
5
+ import { A2ATaskProvider, A2AResult } from './types.js';
6
+ /**
7
+ * Configuration for task cleanup policies
8
+ */
9
+ export interface A2ATaskCleanupConfig {
10
+ readonly enabled: boolean;
11
+ readonly interval: number;
12
+ readonly maxAge: number;
13
+ readonly maxCompletedTasks: number;
14
+ readonly maxFailedTasks: number;
15
+ readonly retainStates: readonly string[];
16
+ readonly batchSize: number;
17
+ readonly dryRun: boolean;
18
+ }
19
+ /**
20
+ * Default cleanup configuration
21
+ */
22
+ export declare const defaultCleanupConfig: A2ATaskCleanupConfig;
23
+ /**
24
+ * Result type for cleanup operations
25
+ */
26
+ export interface CleanupResult {
27
+ readonly expiredCleaned: number;
28
+ readonly excessCompletedCleaned: number;
29
+ readonly excessFailedCleaned: number;
30
+ readonly totalCleaned: number;
31
+ readonly errors: readonly string[];
32
+ }
33
+ /**
34
+ * Pure function to perform task cleanup
35
+ */
36
+ export declare const performTaskCleanup: (taskProvider: A2ATaskProvider, config?: A2ATaskCleanupConfig) => Promise<A2AResult<CleanupResult>>;
37
+ /**
38
+ * Pure function to create a cleanup scheduler
39
+ */
40
+ export declare const createTaskCleanupScheduler: (taskProvider: A2ATaskProvider, config?: A2ATaskCleanupConfig) => {
41
+ start: () => void;
42
+ stop: () => void;
43
+ runOnce: () => Promise<A2AResult<CleanupResult>>;
44
+ isRunning: () => boolean;
45
+ config: A2ATaskCleanupConfig;
46
+ };
47
+ /**
48
+ * Pure function to validate cleanup configuration
49
+ */
50
+ export declare const validateCleanupConfig: (config: Partial<A2ATaskCleanupConfig>) => {
51
+ valid: boolean;
52
+ errors: string[];
53
+ };
54
+ /**
55
+ * Helper function to create cleanup config from environment variables
56
+ */
57
+ export declare const createCleanupConfigFromEnv: () => A2ATaskCleanupConfig;
58
+ //# sourceMappingURL=cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../../src/a2a/memory/cleanup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAA2D,MAAM,YAAY,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBASlC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,cAAc,eAAe,EAC7B,SAAQ,oBAA2C,KAClD,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAwKlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAc,eAAe,EAC7B,SAAQ,oBAA2C;;;;;;CA0DpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,OAAO,CAAC,oBAAoB,CAAC,KAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CA2B/G,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,QAAO,oBAW7C,CAAC"}