@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,436 @@
1
+ /**
2
+ * JAF ADK Layer - Type Converters
3
+ *
4
+ * Functional type conversion between ADK and Core formats
5
+ */
6
+ import { z } from 'zod';
7
+ import { PartType, ContentRole, Model, ToolParameterType } from '../types.js';
8
+ // ========== Content Conversions ==========
9
+ export const convertAdkContentToCoreMessage = (content) => {
10
+ // Extract text content
11
+ const textParts = content.parts.filter(p => String(p.type) === 'text');
12
+ const textContent = textParts.map(p => p.text || '').join(' ').trim();
13
+ // Extract function calls
14
+ const functionCallParts = content.parts.filter(p => String(p.type) === 'function_call');
15
+ const toolCalls = functionCallParts
16
+ .map(p => p.functionCall)
17
+ .filter(fc => fc !== undefined)
18
+ .map(fc => ({
19
+ id: fc.id,
20
+ type: 'function',
21
+ function: {
22
+ name: fc.name,
23
+ arguments: JSON.stringify(fc.args)
24
+ }
25
+ }));
26
+ // Extract function responses
27
+ const functionResponseParts = content.parts.filter(p => String(p.type) === 'function_response');
28
+ const functionResponse = functionResponseParts.length > 0 ? functionResponseParts[0].functionResponse : undefined;
29
+ // Determine role - function responses should always be 'tool' role
30
+ const role = functionResponse ? 'tool' : convertAdkRoleToCoreRole(content.role);
31
+ const message = {
32
+ role: role,
33
+ content: textContent
34
+ };
35
+ if (toolCalls.length > 0) {
36
+ message.tool_calls = toolCalls;
37
+ }
38
+ if (functionResponse) {
39
+ message.tool_call_id = functionResponse.id;
40
+ message.content = typeof functionResponse.response === 'string'
41
+ ? functionResponse.response
42
+ : JSON.stringify(functionResponse.response);
43
+ }
44
+ return message;
45
+ };
46
+ export const convertCoreMessageToAdkContent = (message) => {
47
+ const parts = [];
48
+ // Add text content
49
+ if (message.content && message.content.trim()) {
50
+ parts.push({
51
+ type: PartType.TEXT,
52
+ text: message.content
53
+ });
54
+ }
55
+ // Add tool calls
56
+ if (message.tool_calls) {
57
+ for (const toolCall of message.tool_calls) {
58
+ parts.push({
59
+ type: PartType.FUNCTION_CALL,
60
+ functionCall: {
61
+ id: toolCall.id,
62
+ name: toolCall.function.name,
63
+ args: safeJsonParse(toolCall.function.arguments)
64
+ }
65
+ });
66
+ }
67
+ }
68
+ // Add tool responses
69
+ if (message.tool_call_id && message.role === 'tool') {
70
+ parts.push({
71
+ type: PartType.FUNCTION_RESPONSE,
72
+ functionResponse: {
73
+ id: message.tool_call_id,
74
+ name: 'unknown', // Core doesn't track function name in responses
75
+ response: safeJsonParse(message.content || ''),
76
+ success: true
77
+ }
78
+ });
79
+ }
80
+ return {
81
+ role: convertCoreRoleToAdkRole(message.role),
82
+ parts,
83
+ metadata: {}
84
+ };
85
+ };
86
+ // ========== Role Conversions ==========
87
+ export const convertAdkRoleToCoreRole = (adkRole) => {
88
+ switch (adkRole) {
89
+ case ContentRole.USER:
90
+ case 'user':
91
+ return 'user';
92
+ case ContentRole.MODEL:
93
+ case 'model':
94
+ return 'assistant';
95
+ case ContentRole.SYSTEM:
96
+ case 'system':
97
+ return 'system';
98
+ default:
99
+ return 'user';
100
+ }
101
+ };
102
+ export const convertCoreRoleToAdkRole = (coreRole) => {
103
+ switch (coreRole) {
104
+ case 'user':
105
+ return ContentRole.USER;
106
+ case 'assistant':
107
+ return ContentRole.MODEL;
108
+ case 'system':
109
+ return ContentRole.SYSTEM;
110
+ case 'tool':
111
+ return ContentRole.MODEL; // Tool responses become model content
112
+ default:
113
+ return ContentRole.USER;
114
+ }
115
+ };
116
+ // ========== Session Conversions ==========
117
+ export const convertAdkSessionToCoreState = (session, newMessage) => {
118
+ const messages = session.messages.map(convertAdkContentToCoreMessage);
119
+ if (newMessage) {
120
+ messages.push(convertAdkContentToCoreMessage(newMessage));
121
+ }
122
+ return {
123
+ runId: session.id, // Type conversion needed
124
+ traceId: session.id, // Type conversion needed
125
+ messages,
126
+ currentAgentName: 'default', // ADK doesn't have explicit agent names in sessions
127
+ context: {
128
+ userId: session.userId,
129
+ sessionId: session.id,
130
+ artifacts: session.artifacts,
131
+ ...session.metadata.properties
132
+ },
133
+ turnCount: session.messages.length
134
+ };
135
+ };
136
+ export const convertCoreStateToAdkSession = (state) => {
137
+ return {
138
+ id: String(state.runId),
139
+ appName: state.context?.appName || 'default',
140
+ userId: state.context?.userId || 'unknown',
141
+ messages: state.messages.map(convertCoreMessageToAdkContent),
142
+ artifacts: state.context?.artifacts || {},
143
+ metadata: {
144
+ created: new Date(),
145
+ lastAccessed: new Date(),
146
+ properties: {
147
+ turnCount: state.turnCount,
148
+ currentAgentName: state.currentAgentName
149
+ }
150
+ }
151
+ };
152
+ };
153
+ // ========== Agent Conversions ==========
154
+ export const convertAdkAgentToCoreAgent = (adkAgent) => {
155
+ return {
156
+ name: adkAgent.config.name,
157
+ instructions: (state) => adkAgent.config.instruction,
158
+ tools: adkAgent.config.tools?.map(convertAdkToolToCoreTool) || [],
159
+ modelConfig: {
160
+ name: convertAdkModelToCoreModel(adkAgent.config.model),
161
+ temperature: 0.7, // Default, can be overridden
162
+ maxTokens: 2000 // Default, can be overridden
163
+ },
164
+ handoffs: [],
165
+ outputCodec: adkAgent.config.outputSchema ? createZodFromAdkSchema(adkAgent.config.outputSchema) : undefined
166
+ };
167
+ };
168
+ export const convertCoreAgentToAdkAgent = (coreAgent) => {
169
+ return {
170
+ id: coreAgent.name,
171
+ config: {
172
+ name: coreAgent.name,
173
+ model: convertCoreModelToAdkModel(coreAgent.modelConfig?.name || 'gpt-4o'),
174
+ instruction: typeof coreAgent.instructions === 'function'
175
+ ? coreAgent.instructions({})
176
+ : String(coreAgent.instructions),
177
+ description: `Agent: ${coreAgent.name}`,
178
+ tools: coreAgent.tools?.map(convertCoreToolToAdkTool) || [],
179
+ subAgents: []
180
+ },
181
+ metadata: {
182
+ created: new Date(),
183
+ version: '1.0.0'
184
+ }
185
+ };
186
+ };
187
+ // ========== Tool Conversions ==========
188
+ export const convertAdkToolToCoreTool = (adkTool) => {
189
+ return {
190
+ schema: {
191
+ name: adkTool.name,
192
+ description: adkTool.description,
193
+ parameters: createZodFromAdkParameters(adkTool.parameters)
194
+ },
195
+ execute: async (params, context) => {
196
+ // Convert Core context to ADK context
197
+ const adkContext = convertCoreContextToAdkContext(context);
198
+ const result = await adkTool.execute(params, adkContext);
199
+ // Ensure result is string or ToolResult format
200
+ if (typeof result === 'string') {
201
+ return result;
202
+ }
203
+ // Convert ADK ToolResult to Core format if needed
204
+ return result;
205
+ }
206
+ };
207
+ };
208
+ export const convertCoreToolToAdkTool = (coreTool) => {
209
+ return {
210
+ name: coreTool.schema.name,
211
+ description: coreTool.schema.description,
212
+ parameters: convertZodToAdkParameters(coreTool.schema.parameters),
213
+ execute: async (params, context) => {
214
+ // Convert ADK context to Core context
215
+ const coreContext = convertAdkContextToCoreContext(context);
216
+ return await coreTool.execute(params, coreContext);
217
+ },
218
+ metadata: {
219
+ source: 'function',
220
+ version: '1.0.0'
221
+ }
222
+ };
223
+ };
224
+ // ========== Model Conversions ==========
225
+ export const convertAdkModelToCoreModel = (adkModel) => {
226
+ // Map specific model enum values to their Core equivalents
227
+ switch (adkModel) {
228
+ case Model.GEMINI_2_0_FLASH:
229
+ case 'gemini-2.0-flash':
230
+ return 'gemini-2.0-flash';
231
+ case Model.GEMINI_1_5_PRO:
232
+ case 'gemini-1.5-pro':
233
+ return 'gemini-1.5-pro';
234
+ case Model.GEMINI_1_5_FLASH:
235
+ case 'gemini-1.5-flash':
236
+ return 'gemini-1.5-flash';
237
+ case Model.GPT_4_TURBO:
238
+ case 'gpt-4-turbo':
239
+ return 'gpt-4-turbo';
240
+ case Model.GPT_4:
241
+ case 'gpt-4':
242
+ return 'gpt-4';
243
+ case Model.GPT_3_5_TURBO:
244
+ case 'gpt-3.5-turbo':
245
+ return 'gpt-3.5-turbo';
246
+ case Model.CLAUDE_3_OPUS_20240229:
247
+ case 'claude-3-opus-20240229':
248
+ return 'claude-3-opus';
249
+ case Model.CLAUDE_3_5_SONNET_LATEST:
250
+ case 'claude-3-5-sonnet-latest':
251
+ return 'claude-3-sonnet';
252
+ case Model.CLAUDE_3_HAIKU_20240307:
253
+ case 'claude-3-haiku-20240307':
254
+ return 'claude-3-haiku';
255
+ case Model.CUSTOM:
256
+ case 'custom':
257
+ return 'gpt-4o';
258
+ default:
259
+ // For any other string model, return as-is
260
+ if (typeof adkModel === 'string') {
261
+ return adkModel;
262
+ }
263
+ return 'gpt-4o';
264
+ }
265
+ };
266
+ export const convertCoreModelToAdkModel = (coreModel) => {
267
+ switch (coreModel) {
268
+ case 'gemini-2.0-flash':
269
+ return Model.GEMINI_2_0_FLASH;
270
+ case 'gemini-1.5-pro':
271
+ return Model.GEMINI_1_5_PRO;
272
+ case 'gemini-1.5-flash':
273
+ return Model.GEMINI_1_5_FLASH;
274
+ case 'gpt-4-turbo':
275
+ return Model.GPT_4_TURBO;
276
+ case 'gpt-4':
277
+ return Model.GPT_4;
278
+ case 'gpt-3.5-turbo':
279
+ return Model.GPT_3_5_TURBO;
280
+ case 'claude-3-opus':
281
+ case 'claude-3-opus-20240229':
282
+ return Model.CLAUDE_3_OPUS_20240229;
283
+ case 'claude-3-sonnet':
284
+ case 'claude-3-5-sonnet':
285
+ case 'claude-3-5-sonnet-latest':
286
+ return Model.CLAUDE_3_5_SONNET_LATEST;
287
+ case 'claude-3-haiku':
288
+ case 'claude-3-haiku-20240307':
289
+ return Model.CLAUDE_3_HAIKU_20240307;
290
+ default:
291
+ return Model.CUSTOM;
292
+ }
293
+ };
294
+ // ========== Parameter Schema Conversions ==========
295
+ export const createZodFromAdkParameters = (parameters) => {
296
+ const shape = {};
297
+ for (const param of parameters) {
298
+ let schema = createZodFromAdkParameter(param);
299
+ if (!param.required) {
300
+ schema = schema.optional();
301
+ }
302
+ shape[param.name] = schema;
303
+ }
304
+ return z.object(shape);
305
+ };
306
+ export const createZodFromAdkParameter = (param) => {
307
+ switch (param.type) {
308
+ case ToolParameterType.STRING:
309
+ case 'string':
310
+ if (param.enum) {
311
+ return z.enum(param.enum);
312
+ }
313
+ return z.string().describe(param.description);
314
+ case ToolParameterType.NUMBER:
315
+ case 'number':
316
+ return z.number().describe(param.description);
317
+ case ToolParameterType.BOOLEAN:
318
+ case 'boolean':
319
+ return z.boolean().describe(param.description);
320
+ case ToolParameterType.ARRAY:
321
+ case 'array':
322
+ if (param.items) {
323
+ return z.array(createZodFromAdkParameter(param.items)).describe(param.description);
324
+ }
325
+ return z.array(z.any()).describe(param.description);
326
+ case ToolParameterType.OBJECT:
327
+ case 'object':
328
+ if (param.properties) {
329
+ const shape = {};
330
+ for (const [key, value] of Object.entries(param.properties)) {
331
+ shape[key] = createZodFromAdkParameter(value);
332
+ }
333
+ return z.object(shape).describe(param.description);
334
+ }
335
+ return z.object({}).describe(param.description);
336
+ default:
337
+ return z.any().describe(param.description);
338
+ }
339
+ };
340
+ export const convertZodToAdkParameters = (zodSchema) => {
341
+ // This is a simplified conversion - in practice, you'd need more sophisticated Zod introspection
342
+ // For now, return a basic parameter structure
343
+ return [{
344
+ name: 'input',
345
+ type: ToolParameterType.OBJECT,
346
+ description: 'Tool input parameters',
347
+ required: true
348
+ }];
349
+ };
350
+ export const createZodFromAdkSchema = (adkSchema) => {
351
+ // Simple wrapper around ADK schema validation
352
+ return z.any().refine((data) => {
353
+ const result = adkSchema.validate(data);
354
+ return result.success;
355
+ });
356
+ };
357
+ // ========== Context Conversions ==========
358
+ export const convertCoreContextToAdkContext = (coreContext) => {
359
+ return {
360
+ agent: coreContext.agent ? convertCoreAgentToAdkAgent(coreContext.agent) : undefined,
361
+ session: coreContext.session ? convertCoreStateToAdkSession(coreContext.session) : undefined,
362
+ message: coreContext.message ? convertCoreMessageToAdkContent(coreContext.message) : undefined,
363
+ actions: coreContext.actions,
364
+ metadata: coreContext.metadata
365
+ };
366
+ };
367
+ export const convertAdkContextToCoreContext = (adkContext) => {
368
+ return {
369
+ agent: adkContext.agent ? convertAdkAgentToCoreAgent(adkContext.agent) : undefined,
370
+ session: adkContext.session ? convertAdkSessionToCoreState(adkContext.session) : undefined,
371
+ message: adkContext.message ? convertAdkContentToCoreMessage(adkContext.message) : undefined,
372
+ actions: adkContext.actions,
373
+ metadata: adkContext.metadata
374
+ };
375
+ };
376
+ // ========== Utility Functions ==========
377
+ export const safeJsonParse = (jsonString) => {
378
+ try {
379
+ return JSON.parse(jsonString);
380
+ }
381
+ catch {
382
+ return jsonString; // Return as string if parsing fails
383
+ }
384
+ };
385
+ export const safeJsonStringify = (obj) => {
386
+ try {
387
+ return JSON.stringify(obj);
388
+ }
389
+ catch {
390
+ return String(obj);
391
+ }
392
+ };
393
+ // ========== Function Call Utilities ==========
394
+ export const extractFunctionCallsFromAdkContent = (content) => {
395
+ return content.parts
396
+ .filter(p => String(p.type) === 'function_call')
397
+ .map(p => p.functionCall)
398
+ .filter(fc => fc !== undefined);
399
+ };
400
+ export const extractFunctionResponsesFromAdkContent = (content) => {
401
+ return content.parts
402
+ .filter(p => String(p.type) === 'function_response')
403
+ .map(p => p.functionResponse)
404
+ .filter(fr => fr !== undefined);
405
+ };
406
+ export const createAdkContentWithText = (text, role = ContentRole.MODEL) => {
407
+ return {
408
+ role,
409
+ parts: [{
410
+ type: PartType.TEXT,
411
+ text
412
+ }],
413
+ metadata: {}
414
+ };
415
+ };
416
+ export const createAdkContentWithFunctionCall = (functionCall, role = ContentRole.MODEL) => {
417
+ return {
418
+ role,
419
+ parts: [{
420
+ type: PartType.FUNCTION_CALL,
421
+ functionCall
422
+ }],
423
+ metadata: {}
424
+ };
425
+ };
426
+ export const createAdkContentWithFunctionResponse = (functionResponse, role = ContentRole.MODEL) => {
427
+ return {
428
+ role,
429
+ parts: [{
430
+ type: PartType.FUNCTION_RESPONSE,
431
+ functionResponse
432
+ }],
433
+ metadata: {}
434
+ };
435
+ };
436
+ //# sourceMappingURL=type-converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-converters.js","sourceRoot":"","sources":["../../../src/adk/providers/type-converters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * JAF ADK Layer - Runner System
3
+ *
4
+ * Functional agent execution system
5
+ */
6
+ import { Agent, RunnerConfig, RunContext, AgentResponse, AgentEvent, Content, SessionProvider, Tool, GuardrailFunction } from '../types';
7
+ import { GraphOptions, GraphResult } from '../../visualization/graphviz';
8
+ export declare const runAgent: (config: RunnerConfig, context: RunContext, message: Content) => Promise<AgentResponse>;
9
+ export declare const runAgentStream: (config: RunnerConfig, context: RunContext, message: Content) => AsyncGenerator<AgentEvent>;
10
+ export declare const validateRunnerConfig: (config: RunnerConfig) => void;
11
+ export declare const validateRunContext: (context: RunContext) => void;
12
+ export declare const createRunnerConfig: (agent: Agent, sessionProvider: SessionProvider, options?: {
13
+ artifactProvider?: any;
14
+ guardrails?: GuardrailFunction[];
15
+ maxLLMCalls?: number;
16
+ timeout?: number;
17
+ }) => RunnerConfig;
18
+ export declare const withRunnerErrorHandling: <T extends unknown[], R>(fn: (...args: T) => Promise<R>, agentId?: string) => (...args: T) => Promise<R>;
19
+ export declare const getRunnerStats: (config: RunnerConfig) => {
20
+ agentId: string;
21
+ agentName: string;
22
+ toolCount: number;
23
+ subAgentCount: number;
24
+ hasGuardrails: boolean;
25
+ maxLLMCalls: number | undefined;
26
+ timeout: number | undefined;
27
+ isMultiAgent: boolean;
28
+ };
29
+ export declare const generateRunnerVisualization: (config: RunnerConfig, options?: GraphOptions) => Promise<GraphResult>;
30
+ export declare const generateAgentVisualization: (agents: readonly Agent[], options?: GraphOptions) => Promise<GraphResult>;
31
+ export declare const generateToolVisualization: (tools: readonly Tool[], options?: GraphOptions) => Promise<GraphResult>;
32
+ export declare const generateRunnerGraphPng: (config: RunnerConfig, outputPath?: string) => Promise<GraphResult>;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adk/runners/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,UAAU,EACV,OAAO,EAEP,eAAe,EACf,IAAI,EASJ,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAElB,OAAO,EAIL,YAAY,EACZ,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAUtC,eAAO,MAAM,QAAQ,GACnB,QAAQ,YAAY,EACpB,SAAS,UAAU,EACnB,SAAS,OAAO,KACf,OAAO,CAAC,aAAa,CAkDvB,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,QAAQ,YAAY,EACpB,SAAS,UAAU,EACnB,SAAS,OAAO,KACf,cAAc,CAAC,UAAU,CA+B3B,CAAC;AA+aF,eAAO,MAAM,oBAAoB,GAAI,QAAQ,YAAY,SAsBxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,UAAU,SAUrD,CAAC;AAIF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,KAAK,EACZ,iBAAiB,eAAe,EAChC,UAAU;IACR,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KACA,YASF,CAAC;AAIF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC5D,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,MAAM,MAEF,GAAG,MAAM,CAAC,KAAG,OAAO,CAAC,CAAC,CAmBrC,CAAC;AAIF,eAAO,MAAM,cAAc,GAAI,QAAQ,YAAY;;;;;;;;;CAWlD,CAAC;AAIF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,YAAY,EACpB,UAAS,YAAiB,KACzB,OAAO,CAAC,WAAW,CAErB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,SAAS,KAAK,EAAE,EACxB,UAAS,YAAiB,KACzB,OAAO,CAAC,WAAW,CAErB,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,SAAS,IAAI,EAAE,EACtB,UAAS,YAAiB,KACzB,OAAO,CAAC,WAAW,CAErB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,YAAY,EACpB,aAAa,MAAM,KAClB,OAAO,CAAC,WAAW,CAWrB,CAAC"}