@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,28 @@
1
+ /**
2
+ * JAF ADK Layer - Basic Agent Example
3
+ *
4
+ * Demonstrates basic agent creation and usage
5
+ */
6
+ export declare const createBasicChatAgent: () => {
7
+ agent: import("../types").Agent;
8
+ sessionProvider: import("../types").SessionProvider;
9
+ runnerConfig: import("../types").RunnerConfig;
10
+ };
11
+ export declare const createAgentWithTools: () => {
12
+ agent: import("../types").Agent;
13
+ sessionProvider: import("../types").SessionProvider;
14
+ runnerConfig: import("../types").RunnerConfig;
15
+ };
16
+ export declare const createQuickAgent: () => {
17
+ agent: import("../types").Agent;
18
+ sessionProvider: import("../types").SessionProvider;
19
+ runnerConfig: import("../types").RunnerConfig;
20
+ run: (context: import("../types").RunContext, message: import("../types").Content) => Promise<import("../types").AgentResponse>;
21
+ stream: (context: import("../types").RunContext, message: import("../types").Content) => AsyncGenerator<import("../types").AgentEvent, any, any>;
22
+ };
23
+ export declare function runBasicExample(): Promise<void>;
24
+ export declare function runToolExample(): Promise<void>;
25
+ export declare function runStreamingExample(): Promise<void>;
26
+ export declare function runQuickSetupExample(): Promise<void>;
27
+ export declare function runAllExamples(): Promise<void>;
28
+ //# sourceMappingURL=basic-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-agent.d.ts","sourceRoot":"","sources":["../../../src/adk/examples/basic-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,eAAO,MAAM,oBAAoB;;;;CAgBhC,CAAC;AAIF,eAAO,MAAM,oBAAoB;;;;CAyFhC,CAAC;AAIF,eAAO,MAAM,gBAAgB;;;;;;CAkB5B,CAAC;AAIF,wBAAsB,eAAe,kBAgBpC;AAED,wBAAsB,cAAc,kBA0BnC;AAED,wBAAsB,mBAAmB,kBA0BxC;AAED,wBAAsB,oBAAoB,kBAazC;AAID,wBAAsB,cAAc,kBAWnC"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * JAF ADK Layer - Basic Agent Example
3
+ *
4
+ * Demonstrates basic agent creation and usage
5
+ */
6
+ import { createAgent, createFunctionTool, createInMemorySessionProvider, createRunnerConfig, runAgent, runAgentStream, createUserMessage, quickSetup, Model, ToolParameterType } from '../index';
7
+ // ========== Example 1: Simple Chat Agent ==========
8
+ export const createBasicChatAgent = () => {
9
+ // Create a simple agent
10
+ const agent = createAgent({
11
+ name: 'basic_chat',
12
+ model: Model.GEMINI_2_0_FLASH,
13
+ instruction: 'You are a friendly assistant. Be helpful and conversational.',
14
+ tools: []
15
+ });
16
+ // Create session provider
17
+ const sessionProvider = createInMemorySessionProvider();
18
+ // Create runner configuration
19
+ const runnerConfig = createRunnerConfig(agent, sessionProvider);
20
+ return { agent, sessionProvider, runnerConfig };
21
+ };
22
+ // ========== Example 2: Agent with Tools ==========
23
+ export const createAgentWithTools = () => {
24
+ // Create some tools
25
+ const greetingTool = createFunctionTool({
26
+ name: 'greeting',
27
+ description: 'Generate a personalized greeting',
28
+ execute: (params, context) => {
29
+ const { name, timeOfDay } = params;
30
+ const greetings = {
31
+ morning: 'Good morning',
32
+ afternoon: 'Good afternoon',
33
+ evening: 'Good evening',
34
+ night: 'Good night'
35
+ };
36
+ const greeting = greetings[timeOfDay] || 'Hello';
37
+ return `${greeting}, ${name}! How can I help you today?`;
38
+ },
39
+ parameters: [
40
+ {
41
+ name: 'name',
42
+ type: ToolParameterType.STRING,
43
+ description: 'Person\'s name',
44
+ required: true
45
+ },
46
+ {
47
+ name: 'timeOfDay',
48
+ type: ToolParameterType.STRING,
49
+ description: 'Time of day (morning, afternoon, evening, night)',
50
+ required: true,
51
+ enum: ['morning', 'afternoon', 'evening', 'night']
52
+ }
53
+ ]
54
+ });
55
+ const mathTool = createFunctionTool({
56
+ name: 'calculate',
57
+ description: 'Perform basic mathematical operations',
58
+ execute: (params, context) => {
59
+ const { operation, a, b } = params;
60
+ switch (operation) {
61
+ case 'add':
62
+ return { result: a + b, operation: `${a} + ${b}` };
63
+ case 'subtract':
64
+ return { result: a - b, operation: `${a} - ${b}` };
65
+ case 'multiply':
66
+ return { result: a * b, operation: `${a} × ${b}` };
67
+ case 'divide':
68
+ return { result: b !== 0 ? a / b : 'Error: Division by zero', operation: `${a} ÷ ${b}` };
69
+ default:
70
+ throw new Error(`Unknown operation: ${operation}`);
71
+ }
72
+ },
73
+ parameters: [
74
+ {
75
+ name: 'operation',
76
+ type: ToolParameterType.STRING,
77
+ description: 'Mathematical operation',
78
+ required: true,
79
+ enum: ['add', 'subtract', 'multiply', 'divide']
80
+ },
81
+ {
82
+ name: 'a',
83
+ type: ToolParameterType.NUMBER,
84
+ description: 'First number',
85
+ required: true
86
+ },
87
+ {
88
+ name: 'b',
89
+ type: ToolParameterType.NUMBER,
90
+ description: 'Second number',
91
+ required: true
92
+ }
93
+ ]
94
+ });
95
+ // Create agent with tools
96
+ const agent = createAgent({
97
+ name: 'assistant_with_tools',
98
+ model: Model.GEMINI_2_0_FLASH,
99
+ instruction: `You are a helpful assistant with access to greeting and calculation tools.
100
+ Use the greeting tool to welcome users personally, and the calculate tool for math operations.
101
+ Always be friendly and helpful.`,
102
+ tools: [greetingTool, mathTool]
103
+ });
104
+ const sessionProvider = createInMemorySessionProvider();
105
+ const runnerConfig = createRunnerConfig(agent, sessionProvider);
106
+ return { agent, sessionProvider, runnerConfig };
107
+ };
108
+ // ========== Example 3: Quick Setup Usage ==========
109
+ export const createQuickAgent = () => {
110
+ const timestampTool = createFunctionTool({
111
+ name: 'get_timestamp',
112
+ description: 'Get the current timestamp',
113
+ execute: () => ({
114
+ timestamp: new Date().toISOString(),
115
+ unix: Date.now(),
116
+ formatted: new Date().toLocaleString()
117
+ }),
118
+ parameters: []
119
+ });
120
+ return quickSetup('timestamp_agent', Model.GEMINI_2_0_FLASH, 'You are a time-keeping assistant. Use the get_timestamp tool to provide current time information.', [timestampTool]);
121
+ };
122
+ // ========== Example Usage Functions ==========
123
+ export async function runBasicExample() {
124
+ console.log('=== JAF ADK Layer - Basic Agent Example ===\n');
125
+ const { runnerConfig } = createBasicChatAgent();
126
+ const message = createUserMessage('Hello! How are you doing today?');
127
+ const response = await runAgent(runnerConfig, {
128
+ userId: 'user_123',
129
+ sessionId: 'session_456'
130
+ }, message);
131
+ console.log('User:', message.parts[0].text);
132
+ console.log('Agent:', response.content.parts[0].text);
133
+ console.log('Session ID:', response.session.id);
134
+ console.log('Message Count:', response.session.messages.length);
135
+ }
136
+ export async function runToolExample() {
137
+ console.log('\n=== JAF ADK Layer - Agent with Tools Example ===\n');
138
+ const { runnerConfig } = createAgentWithTools();
139
+ // Test greeting tool
140
+ const greetingMessage = createUserMessage('Please greet me, my name is Alice and it\'s morning');
141
+ const greetingResponse = await runAgent(runnerConfig, {
142
+ userId: 'user_123',
143
+ sessionId: 'session_456'
144
+ }, greetingMessage);
145
+ console.log('User:', greetingMessage.parts[0].text);
146
+ console.log('Agent:', greetingResponse.content.parts[0].text);
147
+ // Test math tool
148
+ const mathMessage = createUserMessage('What is 15 + 27?');
149
+ const mathResponse = await runAgent(runnerConfig, {
150
+ userId: 'user_123',
151
+ sessionId: 'session_456'
152
+ }, mathMessage);
153
+ console.log('\nUser:', mathMessage.parts[0].text);
154
+ console.log('Agent:', mathResponse.content.parts[0].text);
155
+ }
156
+ export async function runStreamingExample() {
157
+ console.log('\n=== JAF ADK Layer - Streaming Example ===\n');
158
+ const { runnerConfig } = createBasicChatAgent();
159
+ const message = createUserMessage('Tell me about the benefits of functional programming');
160
+ console.log('User:', message.parts[0].text);
161
+ console.log('Agent (streaming):');
162
+ const events = runAgentStream(runnerConfig, {
163
+ userId: 'user_123',
164
+ sessionId: 'session_789'
165
+ }, message);
166
+ for await (const event of events) {
167
+ if (event.type === 'message_delta' && event.content) {
168
+ process.stdout.write(event.content.parts[0].text || '');
169
+ }
170
+ else if (event.type === 'message_complete') {
171
+ console.log('\n[Stream complete]');
172
+ break;
173
+ }
174
+ else if (event.type === 'error') {
175
+ console.log('\n[Error]:', event.error);
176
+ break;
177
+ }
178
+ }
179
+ }
180
+ export async function runQuickSetupExample() {
181
+ console.log('\n=== JAF ADK Layer - Quick Setup Example ===\n');
182
+ const { run } = createQuickAgent();
183
+ const message = createUserMessage('What time is it?');
184
+ const response = await run({
185
+ userId: 'user_123'
186
+ }, message);
187
+ console.log('User:', message.parts[0].text);
188
+ console.log('Agent:', response.content.parts[0].text);
189
+ }
190
+ // ========== Main Example Runner ==========
191
+ export async function runAllExamples() {
192
+ try {
193
+ await runBasicExample();
194
+ await runToolExample();
195
+ await runStreamingExample();
196
+ await runQuickSetupExample();
197
+ console.log('\n=== All examples completed successfully! ===');
198
+ }
199
+ catch (error) {
200
+ console.error('Example failed:', error);
201
+ }
202
+ }
203
+ // Run examples if this file is executed directly
204
+ if (require.main === module) {
205
+ runAllExamples();
206
+ }
207
+ //# sourceMappingURL=basic-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic-agent.js","sourceRoot":"","sources":["../../../src/adk/examples/basic-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * JAF ADK Layer - Multi-Agent Example
3
+ *
4
+ * Demonstrates multi-agent coordination and delegation
5
+ */
6
+ import { AgentConfig } from '../index';
7
+ export declare const createWeatherSpecialistAgent: () => AgentConfig;
8
+ export declare const createNewsSpecialistAgent: () => AgentConfig;
9
+ export declare const createCalculatorSpecialistAgent: () => AgentConfig;
10
+ export declare const createMultiAgentCoordinator: () => {
11
+ coordinator: import("../types").Agent;
12
+ sessionProvider: import("../types").SessionProvider;
13
+ runnerConfig: import("../types").RunnerConfig;
14
+ };
15
+ export declare const createSequentialAgentPipeline: () => {
16
+ sequentialCoordinator: import("../types").Agent;
17
+ sessionProvider: import("../types").SessionProvider;
18
+ runnerConfig: import("../types").RunnerConfig;
19
+ };
20
+ export declare function runMultiAgentExample(): Promise<void>;
21
+ export declare function runSequentialAgentExample(): Promise<void>;
22
+ export declare function runAgentSpecializationExample(): Promise<void>;
23
+ export declare function runAllMultiAgentExamples(): Promise<void>;
24
+ //# sourceMappingURL=multi-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-agent.d.ts","sourceRoot":"","sources":["../../../src/adk/examples/multi-agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAQL,WAAW,EAGZ,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,4BAA4B,QAAO,WA2C/C,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAO,WA6D5C,CAAC;AAEF,eAAO,MAAM,+BAA+B,QAAO,WAkFlD,CAAC;AAIF,eAAO,MAAM,2BAA2B;;;;CAyBvC,CAAC;AAIF,eAAO,MAAM,6BAA6B;;;;CAqCzC,CAAC;AAIF,wBAAsB,oBAAoB,kBAsDzC;AAED,wBAAsB,yBAAyB,kBAgB9C;AAED,wBAAsB,6BAA6B,kBAoClD;AAID,wBAAsB,wBAAwB,kBAU7C"}
@@ -0,0 +1,321 @@
1
+ /**
2
+ * JAF ADK Layer - Multi-Agent Example
3
+ *
4
+ * Demonstrates multi-agent coordination and delegation
5
+ */
6
+ import { createAgent, createMultiAgent, createFunctionTool, createInMemorySessionProvider, createRunnerConfig, runAgent, createUserMessage, Model, ToolParameterType } from '../index';
7
+ // ========== Specialized Agents ==========
8
+ export const createWeatherSpecialistAgent = () => {
9
+ const weatherTool = createFunctionTool({
10
+ name: 'get_weather',
11
+ description: 'Get current weather information',
12
+ execute: (params) => {
13
+ const { location } = params;
14
+ // Mock weather data
15
+ const weatherData = {
16
+ 'new york': { temp: 15, condition: 'cloudy', humidity: 78 },
17
+ 'london': { temp: 8, condition: 'rainy', humidity: 85 },
18
+ 'tokyo': { temp: 22, condition: 'sunny', humidity: 60 },
19
+ 'sydney': { temp: 25, condition: 'partly cloudy', humidity: 65 }
20
+ };
21
+ const location_key = location.toLowerCase();
22
+ const weather = weatherData[location_key] ||
23
+ { temp: 20, condition: 'unknown', humidity: 50 };
24
+ return {
25
+ location,
26
+ temperature: weather.temp,
27
+ condition: weather.condition,
28
+ humidity: weather.humidity,
29
+ forecast: 'Clear skies expected for the next few days'
30
+ };
31
+ },
32
+ parameters: [
33
+ {
34
+ name: 'location',
35
+ type: ToolParameterType.STRING,
36
+ description: 'City or location name',
37
+ required: true
38
+ }
39
+ ]
40
+ });
41
+ return {
42
+ name: 'weather_specialist',
43
+ model: Model.GEMINI_2_0_FLASH,
44
+ instruction: `You are a weather specialist. Use the get_weather tool to provide accurate,
45
+ detailed weather information. Include temperature, conditions, and helpful advice based on the weather.`,
46
+ tools: [weatherTool]
47
+ };
48
+ };
49
+ export const createNewsSpecialistAgent = () => {
50
+ const newsTool = createFunctionTool({
51
+ name: 'get_news',
52
+ description: 'Get latest news headlines',
53
+ execute: ({ category, limit }) => {
54
+ // Mock news data
55
+ const newsCategories = {
56
+ tech: [
57
+ 'AI breakthrough announced by major tech company',
58
+ 'New smartphone features revolutionary battery technology',
59
+ 'Cybersecurity update addresses critical vulnerabilities'
60
+ ],
61
+ business: [
62
+ 'Stock markets show positive growth this quarter',
63
+ 'New startup secures major funding round',
64
+ 'Economic indicators suggest stable growth'
65
+ ],
66
+ science: [
67
+ 'Scientists discover new exoplanet in habitable zone',
68
+ 'Medical research shows promising cancer treatment results',
69
+ 'Climate study reveals important environmental insights'
70
+ ]
71
+ };
72
+ const selectedCategory = category || 'tech';
73
+ const headlines = newsCategories[selectedCategory] ||
74
+ newsCategories.tech;
75
+ const limitedHeadlines = headlines.slice(0, limit || 3);
76
+ return {
77
+ category: selectedCategory,
78
+ headlines: limitedHeadlines,
79
+ timestamp: new Date().toISOString()
80
+ };
81
+ },
82
+ parameters: [
83
+ {
84
+ name: 'category',
85
+ type: ToolParameterType.STRING,
86
+ description: 'News category (tech, business, science)',
87
+ required: false,
88
+ enum: ['tech', 'business', 'science']
89
+ },
90
+ {
91
+ name: 'limit',
92
+ type: ToolParameterType.NUMBER,
93
+ description: 'Number of headlines to return',
94
+ required: false,
95
+ default: 3
96
+ }
97
+ ]
98
+ });
99
+ return {
100
+ name: 'news_specialist',
101
+ model: Model.GEMINI_2_0_FLASH,
102
+ instruction: `You are a news specialist. Use the get_news tool to provide current news headlines.
103
+ Summarize the news clearly and provide context when helpful.`,
104
+ tools: [newsTool]
105
+ };
106
+ };
107
+ export const createCalculatorSpecialistAgent = () => {
108
+ const advancedCalcTool = createFunctionTool({
109
+ name: 'advanced_calculate',
110
+ description: 'Perform complex mathematical calculations',
111
+ execute: (params) => {
112
+ const { expression, type } = params;
113
+ try {
114
+ let result;
115
+ switch (type) {
116
+ case 'percentage': {
117
+ // Handle percentage calculations
118
+ const percentMatch = expression.match(/(\d+)\s*%\s*of\s*(\d+)/i);
119
+ if (percentMatch) {
120
+ const [, percent, of] = percentMatch;
121
+ result = (parseFloat(percent) / 100) * parseFloat(of);
122
+ }
123
+ else {
124
+ // Use safe math evaluator instead of eval
125
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
126
+ const { evaluateMathExpression } = require('../../utils/safe-math');
127
+ result = evaluateMathExpression(expression);
128
+ }
129
+ break;
130
+ }
131
+ case 'area': {
132
+ // Handle area calculations
133
+ const areaMatch = expression.match(/circle\s*r=(\d+)/i);
134
+ if (areaMatch) {
135
+ const radius = parseFloat(areaMatch[1]);
136
+ result = Math.PI * radius * radius;
137
+ }
138
+ else {
139
+ // Use safe math evaluator instead of eval
140
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
141
+ const { evaluateMathExpression } = require('../../utils/safe-math');
142
+ result = evaluateMathExpression(expression);
143
+ }
144
+ break;
145
+ }
146
+ default: {
147
+ // Use safe math evaluator instead of eval
148
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
149
+ const { evaluateMathExpression } = require('../../utils/safe-math');
150
+ result = evaluateMathExpression(expression);
151
+ }
152
+ }
153
+ return {
154
+ expression,
155
+ result,
156
+ type: type || 'basic',
157
+ formatted: typeof result === 'number' ? result.toLocaleString() : result
158
+ };
159
+ }
160
+ catch (error) {
161
+ throw new Error(`Invalid expression: ${expression}`);
162
+ }
163
+ },
164
+ parameters: [
165
+ {
166
+ name: 'expression',
167
+ type: ToolParameterType.STRING,
168
+ description: 'Mathematical expression to evaluate',
169
+ required: true
170
+ },
171
+ {
172
+ name: 'type',
173
+ type: ToolParameterType.STRING,
174
+ description: 'Type of calculation (basic, percentage, area)',
175
+ required: false,
176
+ enum: ['basic', 'percentage', 'area']
177
+ }
178
+ ]
179
+ });
180
+ return {
181
+ name: 'calculator_specialist',
182
+ model: Model.GEMINI_2_0_FLASH,
183
+ instruction: `You are a mathematics specialist. Use the advanced_calculate tool for all
184
+ mathematical operations. Explain your calculations clearly and provide step-by-step solutions when helpful.`,
185
+ tools: [advancedCalcTool]
186
+ };
187
+ };
188
+ // ========== Multi-Agent Coordinator ==========
189
+ export const createMultiAgentCoordinator = () => {
190
+ const weatherAgent = createWeatherSpecialistAgent();
191
+ const newsAgent = createNewsSpecialistAgent();
192
+ const calcAgent = createCalculatorSpecialistAgent();
193
+ const coordinator = createMultiAgent('smart_coordinator', Model.GEMINI_2_0_FLASH, `You are an intelligent coordinator that manages multiple specialist agents.
194
+
195
+ Based on the user's request, delegate to the appropriate specialist:
196
+ - Weather questions → weather_specialist
197
+ - News/current events → news_specialist
198
+ - Math/calculations → calculator_specialist
199
+
200
+ If the request involves multiple areas, coordinate between specialists.
201
+ Always provide a comprehensive response combining their expertise.`, [weatherAgent, newsAgent, calcAgent], 'conditional');
202
+ const sessionProvider = createInMemorySessionProvider();
203
+ const runnerConfig = createRunnerConfig(coordinator, sessionProvider);
204
+ return { coordinator, sessionProvider, runnerConfig };
205
+ };
206
+ // ========== Sequential Multi-Agent Example ==========
207
+ export const createSequentialAgentPipeline = () => {
208
+ // Agent 1: Data Collector
209
+ const dataCollectorAgent = {
210
+ name: 'data_collector',
211
+ model: Model.GEMINI_2_0_FLASH,
212
+ instruction: 'You collect and organize raw data. Extract key information and prepare it for analysis.',
213
+ tools: []
214
+ };
215
+ // Agent 2: Data Analyzer
216
+ const dataAnalyzerAgent = {
217
+ name: 'data_analyzer',
218
+ model: Model.GEMINI_2_0_FLASH,
219
+ instruction: 'You analyze data provided by the data collector. Look for patterns, insights, and trends.',
220
+ tools: []
221
+ };
222
+ // Agent 3: Report Generator
223
+ const reportGeneratorAgent = {
224
+ name: 'report_generator',
225
+ model: Model.GEMINI_2_0_FLASH,
226
+ instruction: 'You create comprehensive reports based on analysis. Present findings clearly and actionably.',
227
+ tools: []
228
+ };
229
+ const sequentialCoordinator = createMultiAgent('sequential_pipeline', Model.GEMINI_2_0_FLASH, 'You coordinate a sequential data processing pipeline: collection → analysis → reporting.', [dataCollectorAgent, dataAnalyzerAgent, reportGeneratorAgent], 'sequential');
230
+ const sessionProvider = createInMemorySessionProvider();
231
+ const runnerConfig = createRunnerConfig(sequentialCoordinator, sessionProvider);
232
+ return { sequentialCoordinator, sessionProvider, runnerConfig };
233
+ };
234
+ // ========== Example Usage Functions ==========
235
+ export async function runMultiAgentExample() {
236
+ console.log('=== JAF ADK Layer - Multi-Agent Coordinator Example ===\n');
237
+ const { runnerConfig } = createMultiAgentCoordinator();
238
+ // Test weather delegation
239
+ console.log('1. Weather Query:');
240
+ const weatherMessage = createUserMessage('What\'s the weather like in Tokyo?');
241
+ const weatherResponse = await runAgent(runnerConfig, {
242
+ userId: 'user_123',
243
+ sessionId: 'session_multi_1'
244
+ }, weatherMessage);
245
+ console.log('User:', weatherMessage.parts[0].text);
246
+ console.log('Coordinator:', weatherResponse.content.parts[0].text);
247
+ // Test news delegation
248
+ console.log('\n2. News Query:');
249
+ const newsMessage = createUserMessage('What are the latest tech news headlines?');
250
+ const newsResponse = await runAgent(runnerConfig, {
251
+ userId: 'user_123',
252
+ sessionId: 'session_multi_2'
253
+ }, newsMessage);
254
+ console.log('User:', newsMessage.parts[0].text);
255
+ console.log('Coordinator:', newsResponse.content.parts[0].text);
256
+ // Test calculation delegation
257
+ console.log('\n3. Math Query:');
258
+ const mathMessage = createUserMessage('What is 25% of 240?');
259
+ const mathResponse = await runAgent(runnerConfig, {
260
+ userId: 'user_123',
261
+ sessionId: 'session_multi_3'
262
+ }, mathMessage);
263
+ console.log('User:', mathMessage.parts[0].text);
264
+ console.log('Coordinator:', mathResponse.content.parts[0].text);
265
+ // Test complex query requiring multiple specialists
266
+ console.log('\n4. Complex Multi-Domain Query:');
267
+ const complexMessage = createUserMessage('I need the weather in London, latest business news, and help calculating a 15% tip on a $85 bill');
268
+ const complexResponse = await runAgent(runnerConfig, {
269
+ userId: 'user_123',
270
+ sessionId: 'session_multi_4'
271
+ }, complexMessage);
272
+ console.log('User:', complexMessage.parts[0].text);
273
+ console.log('Coordinator:', complexResponse.content.parts[0].text);
274
+ }
275
+ export async function runSequentialAgentExample() {
276
+ console.log('\n=== JAF ADK Layer - Sequential Agent Pipeline Example ===\n');
277
+ const { runnerConfig } = createSequentialAgentPipeline();
278
+ const dataMessage = createUserMessage('Please analyze this sales data: Q1: $100k, Q2: $120k, Q3: $95k, Q4: $140k. Create a comprehensive report.');
279
+ const response = await runAgent(runnerConfig, {
280
+ userId: 'user_123',
281
+ sessionId: 'session_sequential'
282
+ }, dataMessage);
283
+ console.log('User:', dataMessage.parts[0].text);
284
+ console.log('Sequential Pipeline Result:', response.content.parts[0].text);
285
+ }
286
+ export async function runAgentSpecializationExample() {
287
+ console.log('\n=== JAF ADK Layer - Agent Specialization Example ===\n');
288
+ // Test individual specialists
289
+ const weatherConfig = createRunnerConfig(createAgent(createWeatherSpecialistAgent()), createInMemorySessionProvider());
290
+ const newsConfig = createRunnerConfig(createAgent(createNewsSpecialistAgent()), createInMemorySessionProvider());
291
+ const calcConfig = createRunnerConfig(createAgent(createCalculatorSpecialistAgent()), createInMemorySessionProvider());
292
+ // Test weather specialist
293
+ console.log('Weather Specialist:');
294
+ const weatherResp = await runAgent(weatherConfig, { userId: 'user_123' }, createUserMessage('Weather in Sydney please'));
295
+ console.log('Response:', weatherResp.content.parts[0].text);
296
+ // Test news specialist
297
+ console.log('\nNews Specialist:');
298
+ const newsResp = await runAgent(newsConfig, { userId: 'user_123' }, createUserMessage('Show me science news'));
299
+ console.log('Response:', newsResp.content.parts[0].text);
300
+ // Test calculator specialist
301
+ console.log('\nCalculator Specialist:');
302
+ const calcResp = await runAgent(calcConfig, { userId: 'user_123' }, createUserMessage('Calculate the area of a circle with radius 5'));
303
+ console.log('Response:', calcResp.content.parts[0].text);
304
+ }
305
+ // ========== Main Example Runner ==========
306
+ export async function runAllMultiAgentExamples() {
307
+ try {
308
+ await runMultiAgentExample();
309
+ await runSequentialAgentExample();
310
+ await runAgentSpecializationExample();
311
+ console.log('\n=== All multi-agent examples completed successfully! ===');
312
+ }
313
+ catch (error) {
314
+ console.error('Multi-agent example failed:', error);
315
+ }
316
+ }
317
+ // Run examples if this file is executed directly
318
+ if (require.main === module) {
319
+ runAllMultiAgentExamples();
320
+ }
321
+ //# sourceMappingURL=multi-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-agent.js","sourceRoot":"","sources":["../../../src/adk/examples/multi-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Example demonstrating real LLM streaming
3
+ */
4
+ declare function openAIStreamingExample(): Promise<void>;
5
+ declare function streamingWithToolsExample(): Promise<void>;
6
+ declare function liteLLMStreamingExample(): Promise<void>;
7
+ declare function compareStreamingExample(): Promise<void>;
8
+ export { openAIStreamingExample, streamingWithToolsExample, liteLLMStreamingExample, compareStreamingExample };
9
+ //# sourceMappingURL=streaming-example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-example.d.ts","sourceRoot":"","sources":["../../../src/adk/examples/streaming-example.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+BH,iBAAe,sBAAsB,kBAgCpC;AAGD,iBAAe,yBAAyB,kBAoDvC;AAGD,iBAAe,uBAAuB,kBAkCrC;AAGD,iBAAe,uBAAuB,kBA0DrC;AAwBD,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACxB,CAAC"}