@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,193 @@
1
+ /**
2
+ * Example demonstrating real LLM streaming
3
+ */
4
+ import { createAdkLLMService, createAgent, createUserMessage, createInMemorySessionProvider, createFunctionTool } from '../index.js';
5
+ // Helper to display streaming output
6
+ const displayStream = async (stream) => {
7
+ process.stdout.write('🤖 Assistant: ');
8
+ for await (const chunk of stream) {
9
+ if (chunk.delta) {
10
+ process.stdout.write(chunk.delta);
11
+ }
12
+ if (chunk.functionCall) {
13
+ process.stdout.write(`\n📞 Calling function: ${chunk.functionCall.name}(${JSON.stringify(chunk.functionCall.args)})`);
14
+ }
15
+ if (chunk.isDone) {
16
+ process.stdout.write('\n');
17
+ break;
18
+ }
19
+ }
20
+ };
21
+ // Example 1: Basic streaming with OpenAI
22
+ async function openAIStreamingExample() {
23
+ console.log('\n=== OpenAI Streaming Example ===\n');
24
+ if (!process.env.OPENAI_API_KEY) {
25
+ console.log('❌ OPENAI_API_KEY not set. Skipping OpenAI example.');
26
+ return;
27
+ }
28
+ const service = createAdkLLMService({
29
+ provider: 'openai',
30
+ apiKey: process.env.OPENAI_API_KEY
31
+ });
32
+ const agent = createAgent({
33
+ name: 'streaming-assistant',
34
+ model: 'gpt-3.5-turbo',
35
+ instruction: 'You are a helpful assistant. Be concise but friendly.',
36
+ tools: []
37
+ });
38
+ const sessionProvider = createInMemorySessionProvider();
39
+ const session = await sessionProvider.createSession({
40
+ appName: 'streaming-demo',
41
+ userId: 'demo-user'
42
+ });
43
+ const message = createUserMessage('Tell me a very short story about a robot learning to stream data.');
44
+ console.log('👤 User:', message.parts[0].text);
45
+ const stream = service.generateStreamingResponse(agent, session, message);
46
+ await displayStream(stream);
47
+ }
48
+ // Example 2: Streaming with function calls
49
+ async function streamingWithToolsExample() {
50
+ console.log('\n=== Streaming with Tools Example ===\n');
51
+ if (!process.env.OPENAI_API_KEY) {
52
+ console.log('❌ OPENAI_API_KEY not set. Skipping tools example.');
53
+ return;
54
+ }
55
+ const service = createAdkLLMService({
56
+ provider: 'openai',
57
+ apiKey: process.env.OPENAI_API_KEY
58
+ });
59
+ // Create a weather tool
60
+ const weatherTool = createFunctionTool({
61
+ name: 'getWeather',
62
+ description: 'Get the current weather for a location',
63
+ parameters: [{
64
+ name: 'location',
65
+ type: 'string',
66
+ description: 'The city or location'
67
+ }],
68
+ execute: async ({ location }) => {
69
+ // Simulate API call
70
+ await new Promise(resolve => setTimeout(resolve, 500));
71
+ return {
72
+ location,
73
+ temperature: Math.floor(Math.random() * 30) + 10,
74
+ condition: ['sunny', 'cloudy', 'rainy'][Math.floor(Math.random() * 3)]
75
+ };
76
+ }
77
+ });
78
+ const agent = createAgent({
79
+ name: 'weather-assistant',
80
+ model: 'gpt-3.5-turbo',
81
+ instruction: 'You are a weather assistant. Use the weather tool to get current conditions.',
82
+ tools: [weatherTool]
83
+ });
84
+ const sessionProvider = createInMemorySessionProvider();
85
+ const session = await sessionProvider.createSession({
86
+ appName: 'streaming-demo',
87
+ userId: 'demo-user'
88
+ });
89
+ const message = createUserMessage('What\'s the weather like in Tokyo and London?');
90
+ console.log('👤 User:', message.parts[0].text);
91
+ const stream = service.generateStreamingResponse(agent, session, message);
92
+ await displayStream(stream);
93
+ }
94
+ // Example 3: LiteLLM streaming
95
+ async function liteLLMStreamingExample() {
96
+ console.log('\n=== LiteLLM Streaming Example ===\n');
97
+ if (!process.env.LITELLM_URL) {
98
+ console.log('❌ LITELLM_URL not set. Skipping LiteLLM example.');
99
+ return;
100
+ }
101
+ const service = createAdkLLMService({
102
+ provider: 'litellm',
103
+ baseUrl: process.env.LITELLM_URL,
104
+ apiKey: process.env.LITELLM_API_KEY || 'test',
105
+ defaultModel: 'gpt-3.5-turbo'
106
+ });
107
+ const agent = createAgent({
108
+ name: 'litellm-assistant',
109
+ model: 'gpt-3.5-turbo',
110
+ instruction: 'You are a helpful assistant running through LiteLLM proxy.',
111
+ tools: []
112
+ });
113
+ const sessionProvider = createInMemorySessionProvider();
114
+ const session = await sessionProvider.createSession({
115
+ appName: 'streaming-demo',
116
+ userId: 'demo-user'
117
+ });
118
+ const message = createUserMessage('Count from 1 to 10 slowly.');
119
+ console.log('👤 User:', message.parts[0].text);
120
+ const stream = service.generateStreamingResponse(agent, session, message);
121
+ await displayStream(stream);
122
+ }
123
+ // Example 4: Comparing streaming vs non-streaming
124
+ async function compareStreamingExample() {
125
+ console.log('\n=== Streaming vs Non-Streaming Comparison ===\n');
126
+ if (!process.env.OPENAI_API_KEY) {
127
+ console.log('❌ OPENAI_API_KEY not set. Skipping comparison.');
128
+ return;
129
+ }
130
+ const service = createAdkLLMService({
131
+ provider: 'openai',
132
+ apiKey: process.env.OPENAI_API_KEY
133
+ });
134
+ const agent = createAgent({
135
+ name: 'comparison-assistant',
136
+ model: 'gpt-3.5-turbo',
137
+ instruction: 'You are a helpful assistant.',
138
+ tools: []
139
+ });
140
+ const sessionProvider = createInMemorySessionProvider();
141
+ const session = await sessionProvider.createSession({
142
+ appName: 'streaming-demo',
143
+ userId: 'demo-user'
144
+ });
145
+ const message = createUserMessage('Explain streaming in one sentence.');
146
+ // Non-streaming
147
+ console.log('🚀 Non-streaming (wait for complete response):');
148
+ const startNonStream = Date.now();
149
+ const response = await service.generateResponse(agent, session, message);
150
+ const endNonStream = Date.now();
151
+ console.log('Response:', response.content.parts[0].text);
152
+ console.log(`Time: ${endNonStream - startNonStream}ms\n`);
153
+ // Streaming
154
+ console.log('🌊 Streaming (see response as it arrives):');
155
+ const startStream = Date.now();
156
+ let firstChunkTime = 0;
157
+ const stream = service.generateStreamingResponse(agent, session, message);
158
+ for await (const chunk of stream) {
159
+ if (chunk.delta && !firstChunkTime) {
160
+ firstChunkTime = Date.now() - startStream;
161
+ process.stdout.write(`First chunk in ${firstChunkTime}ms: `);
162
+ }
163
+ if (chunk.delta) {
164
+ process.stdout.write(chunk.delta);
165
+ }
166
+ if (chunk.isDone) {
167
+ const endStream = Date.now();
168
+ console.log(`\nTotal time: ${endStream - startStream}ms`);
169
+ break;
170
+ }
171
+ }
172
+ }
173
+ // Main function
174
+ async function main() {
175
+ console.log('🎯 JAF ADK Real Streaming Examples\n');
176
+ console.log('This demonstrates real LLM streaming, not simulated chunking.\n');
177
+ try {
178
+ await openAIStreamingExample();
179
+ await streamingWithToolsExample();
180
+ await liteLLMStreamingExample();
181
+ await compareStreamingExample();
182
+ }
183
+ catch (error) {
184
+ console.error('❌ Error:', error);
185
+ }
186
+ console.log('\n✅ Examples completed!');
187
+ }
188
+ // Run if called directly
189
+ if (import.meta.url === `file://${process.argv[1]}`) {
190
+ main().catch(console.error);
191
+ }
192
+ export { openAIStreamingExample, streamingWithToolsExample, liteLLMStreamingExample, compareStreamingExample };
193
+ //# sourceMappingURL=streaming-example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-example.js","sourceRoot":"","sources":["../../../src/adk/examples/streaming-example.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * JAF ADK Layer - Main Export
3
+ *
4
+ * Functional Agent Development Kit for JAF
5
+ */
6
+ export * from './types';
7
+ export { Model, ModelCategory, isValidModel, getModelProvider, getModelCategory, CLAUDE_3_OPUS, CLAUDE_3_SONNET, CLAUDE_3_HAIKU } from './models';
8
+ export { createContent, createUserMessage, createModelMessage, createSystemMessage, createTextPart, createImagePart, createAudioPart, createFunctionCallPart, createFunctionResponsePart, createFunctionCall, createFunctionResponse, addPart, addTextPart, addFunctionCall, addFunctionResponse, getTextContent, getFunctionCalls, getFunctionResponses, hasTextContent, hasFunctionCalls, hasFunctionResponses, contentToString, parseContent, isValidContent, isValidPart, mergeContent, cloneContent, filterContentByRole, getLastUserMessage, getLastModelMessage, getContentStats, getConversationStats } from './content';
9
+ export { createAgent, createSimpleAgent, createMultiAgent, validateAgent, validateAgentConfig, cloneAgent, updateAgent, addToolToAgent, removeToolFromAgent, addSubAgent, removeSubAgent, getAgentTool, hasAgentTool, getAgentSubAgent, hasSubAgent, isMultiAgent, getAgentToolNames, getSubAgentNames, getAgentStats, createWeatherAgent, createChatAgent, createCodeAgent, agentToJSON, agentFromJSON, compareAgents, createAgentError, withAgentErrorHandling } from './agents';
10
+ export { createFunctionTool, createAsyncFunctionTool, createOpenAPIToolset, createCrewAIAdapter, createLangChainAdapter, validateTool, validateToolParameter, validateToolParameters, executeTool, executeTools, getToolByName, hasToolByName, filterToolsBySource, getToolNames, cloneTool, createToolError, createEchoTool, createCalculatorTool, createTimestampTool } from './tools';
11
+ export { createSession, generateSessionId, createInMemorySessionProvider, createRedisSessionProvider, createPostgresSessionProvider, addMessageToSession, addArtifactToSession, removeArtifactFromSession, updateSessionMetadata, clearSessionMessages, validateSession, validateSessionContext, getOrCreateSession, getSessionStats, cloneSession, mergeSessionArtifacts, getLastUserMessage as getLastUserMessageFromSession, getLastModelMessage as getLastModelMessageFromSession, getMessagesByRole, hasArtifact, getArtifact, getArtifactKeys, createMemoryProviderBridge, createSessionError, withSessionErrorHandling } from './sessions';
12
+ export { type Artifact, type ArtifactMetadata, type ArtifactStorage, type ArtifactStorageConfig, createMemoryArtifactStorage, createRedisArtifactStorage, createPostgresArtifactStorage, createArtifactStorage, getSessionArtifact, setSessionArtifact, deleteSessionArtifact, clearSessionArtifacts, listSessionArtifacts } from './artifacts';
13
+ export { runAgent, runAgentStream, createRunnerConfig, validateRunnerConfig, validateRunContext, getRunnerStats, withRunnerErrorHandling } from './runners';
14
+ export { createAdkLLMService, createDefaultAdkLLMService } from './providers/llm-service.js';
15
+ export { createAdkLLMConfig, createDefaultAdkLLMConfig, createAdkLLMConfigFromEnvironment, debugAdkLLMConfig, validateAdkLLMConfig, getModelConfig, getModelsForProvider, getAllAvailableModels, getProviderForModel, mapAdkModelToProviderModel, DEFAULT_PROVIDER_CONFIGS, loadEnvironmentConfig } from './config/llm-config.js';
16
+ export { convertAdkContentToCoreMessage, convertCoreMessageToAdkContent, convertAdkAgentToCoreAgent, convertCoreAgentToAdkAgent, safeJsonParse, safeJsonStringify } from './providers/type-converters.js';
17
+ export { createSchemaValidator, validateAgainstJsonSchema, isString, isNumber, isBoolean, isObject, isArray, isNull, isUndefined, stringSchema, numberSchema, booleanSchema, objectSchema, arraySchema, createStringValidator, createNumberValidator, createBooleanValidator, createObjectValidator, createArrayValidator, isOptional, isNullable, isUnion, hasProperty, hasProperties, validateInput, validateOutput, assertValid, isValid, transformAndValidate, validateAndTransform, weatherQueryValidator, weatherResponseValidator, createValidationError, withSchemaValidation } from './schemas';
18
+ export { createLiveRequestQueue, createAgentEvent, createMessageStartEvent, createMessageDeltaEvent, createMessageCompleteEvent, createFunctionCallStartEvent, createFunctionCallCompleteEvent, createAgentTransferEvent, createConversationEndEvent, createErrorEvent, streamToQueue, queueToStream, combineStreams, filterEventStream, mapEventStream, createStreamConfig, createTextStreamConfig, createAudioStreamConfig, createMultiModalStreamConfig, createBufferedStream, createThrottledStream, createDebouncedStream, collectEvents, findFirstEvent, waitForEvent, countEvents, isMessageEvent, isFunctionEvent, isControlEvent, isErrorEvent, filterMessageEvents, filterFunctionEvents, filterControlEvents, filterErrorEvents, monitorStream, logStream, metricsMonitor, withStreamErrorHandling, retryStream, createBidirectionalStream, streamToArray, takeFromStream, skipFromStream } from './streaming';
19
+ import { Agent, Tool, RunnerConfig, SessionProvider, Model } from './types';
20
+ /**
21
+ * Quick setup for a simple agent with in-memory session management
22
+ */
23
+ export declare const quickSetup: (name: string, model: Model | string, instruction: string, tools?: Tool[]) => {
24
+ agent: Agent;
25
+ sessionProvider: SessionProvider;
26
+ runnerConfig: RunnerConfig;
27
+ run: (context: import("./types").RunContext, message: import("./types").Content) => Promise<import("./types").AgentResponse>;
28
+ stream: (context: import("./types").RunContext, message: import("./types").Content) => AsyncGenerator<import("./types").AgentEvent, any, any>;
29
+ };
30
+ /**
31
+ * Create a weather agent with built-in tools
32
+ */
33
+ export declare const createQuickWeatherAgent: () => {
34
+ agent: Agent;
35
+ sessionProvider: SessionProvider;
36
+ runnerConfig: RunnerConfig;
37
+ run: (context: import("./types").RunContext, message: import("./types").Content) => Promise<import("./types").AgentResponse>;
38
+ stream: (context: import("./types").RunContext, message: import("./types").Content) => AsyncGenerator<import("./types").AgentEvent, any, any>;
39
+ };
40
+ /**
41
+ * Create a chat agent with calculator capabilities
42
+ */
43
+ export declare const createQuickChatAgent: () => {
44
+ agent: Agent;
45
+ sessionProvider: SessionProvider;
46
+ runnerConfig: RunnerConfig;
47
+ run: (context: import("./types").RunContext, message: import("./types").Content) => Promise<import("./types").AgentResponse>;
48
+ stream: (context: import("./types").RunContext, message: import("./types").Content) => AsyncGenerator<import("./types").AgentEvent, any, any>;
49
+ };
50
+ export declare const VERSION = "1.0.0";
51
+ export declare const ADK_LAYER_VERSION = "1.0.0";
52
+ /**
53
+ * Bridge to JAF core types
54
+ */
55
+ export declare const bridgeToJAF: (jafAgent: any) => Agent;
56
+ /**
57
+ * Bridge from ADK back to JAF
58
+ */
59
+ export declare const bridgeFromADK: (adkAgent: Agent) => {
60
+ name: string;
61
+ model: string;
62
+ instruction: string;
63
+ tools: Tool[];
64
+ };
65
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adk/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * JAF ADK Layer - Main Export
3
+ *
4
+ * Functional Agent Development Kit for JAF
5
+ */
6
+ // ========== Core Types ==========
7
+ export * from './types';
8
+ // ========== Model Definitions ==========
9
+ export { Model, ModelCategory, isValidModel, getModelProvider, getModelCategory,
10
+ // Backward compatibility aliases
11
+ CLAUDE_3_OPUS, CLAUDE_3_SONNET, CLAUDE_3_HAIKU } from './models';
12
+ // ========== Content System ==========
13
+ export {
14
+ // Content Creation
15
+ createContent, createUserMessage, createModelMessage, createSystemMessage, createTextPart, createImagePart, createAudioPart, createFunctionCallPart, createFunctionResponsePart, createFunctionCall, createFunctionResponse,
16
+ // Content Manipulation
17
+ addPart, addTextPart, addFunctionCall, addFunctionResponse,
18
+ // Content Query
19
+ getTextContent, getFunctionCalls, getFunctionResponses, hasTextContent, hasFunctionCalls, hasFunctionResponses,
20
+ // Content Conversion
21
+ contentToString, parseContent,
22
+ // Content Validation
23
+ isValidContent, isValidPart,
24
+ // Content Utilities
25
+ mergeContent, cloneContent, filterContentByRole, getLastUserMessage, getLastModelMessage, getContentStats, getConversationStats } from './content';
26
+ // ========== Agent System ==========
27
+ export {
28
+ // Agent Creation
29
+ createAgent, createSimpleAgent, createMultiAgent,
30
+ // Agent Validation
31
+ validateAgent, validateAgentConfig,
32
+ // Agent Manipulation
33
+ cloneAgent, updateAgent, addToolToAgent, removeToolFromAgent, addSubAgent, removeSubAgent,
34
+ // Agent Query
35
+ getAgentTool, hasAgentTool, getAgentSubAgent, hasSubAgent, isMultiAgent, getAgentToolNames, getSubAgentNames, getAgentStats,
36
+ // Agent Templates
37
+ createWeatherAgent, createChatAgent, createCodeAgent,
38
+ // Agent Utilities
39
+ agentToJSON, agentFromJSON, compareAgents,
40
+ // Error Handling
41
+ createAgentError, withAgentErrorHandling } from './agents';
42
+ // ========== Tool System ==========
43
+ export {
44
+ // Tool Creation
45
+ createFunctionTool, createAsyncFunctionTool, createOpenAPIToolset, createCrewAIAdapter, createLangChainAdapter,
46
+ // Tool Validation
47
+ validateTool, validateToolParameter, validateToolParameters,
48
+ // Tool Execution
49
+ executeTool, executeTools,
50
+ // Tool Utilities
51
+ getToolByName, hasToolByName, filterToolsBySource, getToolNames, cloneTool, createToolError,
52
+ // Built-in Tools
53
+ createEchoTool, createCalculatorTool, createTimestampTool } from './tools';
54
+ // ========== Session Management ==========
55
+ export {
56
+ // Session Creation
57
+ createSession, generateSessionId,
58
+ // Session Providers
59
+ createInMemorySessionProvider, createRedisSessionProvider, createPostgresSessionProvider,
60
+ // Session Operations
61
+ addMessageToSession, addArtifactToSession, removeArtifactFromSession, updateSessionMetadata, clearSessionMessages,
62
+ // Session Validation
63
+ validateSession, validateSessionContext,
64
+ // Session Utilities
65
+ getOrCreateSession, getSessionStats, cloneSession, mergeSessionArtifacts,
66
+ // Session Query
67
+ getLastUserMessage as getLastUserMessageFromSession, getLastModelMessage as getLastModelMessageFromSession, getMessagesByRole, hasArtifact, getArtifact, getArtifactKeys,
68
+ // Memory Provider Bridge
69
+ createMemoryProviderBridge,
70
+ // Error Handling
71
+ createSessionError, withSessionErrorHandling } from './sessions';
72
+ // ========== Artifact Storage ==========
73
+ export {
74
+ // Storage Implementations
75
+ createMemoryArtifactStorage, createRedisArtifactStorage, createPostgresArtifactStorage, createArtifactStorage,
76
+ // Session Integration
77
+ getSessionArtifact, setSessionArtifact, deleteSessionArtifact, clearSessionArtifacts, listSessionArtifacts } from './artifacts';
78
+ // ========== Runner System ==========
79
+ export {
80
+ // Core Runner Functions
81
+ runAgent, runAgentStream,
82
+ // Runner Configuration
83
+ createRunnerConfig, validateRunnerConfig, validateRunContext,
84
+ // Runner Statistics
85
+ getRunnerStats,
86
+ // Error Handling
87
+ withRunnerErrorHandling } from './runners';
88
+ // ========== LLM Provider System ==========
89
+ export {
90
+ // LLM Service Functions
91
+ createAdkLLMService, createDefaultAdkLLMService } from './providers/llm-service.js';
92
+ export {
93
+ // Configuration Functions
94
+ createAdkLLMConfig, createDefaultAdkLLMConfig, createAdkLLMConfigFromEnvironment, debugAdkLLMConfig, validateAdkLLMConfig,
95
+ // Model and Provider Utils
96
+ getModelConfig, getModelsForProvider, getAllAvailableModels, getProviderForModel, mapAdkModelToProviderModel,
97
+ // Configuration Types and Constants
98
+ DEFAULT_PROVIDER_CONFIGS, loadEnvironmentConfig } from './config/llm-config.js';
99
+ export {
100
+ // Type Converters
101
+ convertAdkContentToCoreMessage, convertCoreMessageToAdkContent, convertAdkAgentToCoreAgent, convertCoreAgentToAdkAgent, safeJsonParse, safeJsonStringify } from './providers/type-converters.js';
102
+ // ========== Schema Validation ==========
103
+ export {
104
+ // Schema Validator Creation
105
+ createSchemaValidator, validateAgainstJsonSchema,
106
+ // Type Guards
107
+ isString, isNumber, isBoolean, isObject, isArray, isNull, isUndefined,
108
+ // Schema Builders
109
+ stringSchema, numberSchema, booleanSchema, objectSchema, arraySchema,
110
+ // Common Validators
111
+ createStringValidator, createNumberValidator, createBooleanValidator, createObjectValidator, createArrayValidator,
112
+ // Composite Type Guards
113
+ isOptional, isNullable, isUnion, hasProperty, hasProperties,
114
+ // Validation Utilities
115
+ validateInput, validateOutput, assertValid, isValid,
116
+ // Schema Transformation
117
+ transformAndValidate, validateAndTransform,
118
+ // Example Schemas
119
+ weatherQueryValidator, weatherResponseValidator,
120
+ // Error Handling
121
+ createValidationError, withSchemaValidation } from './schemas';
122
+ // ========== Streaming System ==========
123
+ export {
124
+ // Live Request Queue
125
+ createLiveRequestQueue,
126
+ // Event Creation
127
+ createAgentEvent, createMessageStartEvent, createMessageDeltaEvent, createMessageCompleteEvent, createFunctionCallStartEvent, createFunctionCallCompleteEvent, createAgentTransferEvent, createConversationEndEvent, createErrorEvent,
128
+ // Stream Utilities
129
+ streamToQueue, queueToStream, combineStreams, filterEventStream, mapEventStream,
130
+ // Stream Configuration
131
+ createStreamConfig, createTextStreamConfig, createAudioStreamConfig, createMultiModalStreamConfig,
132
+ // Buffered Streaming
133
+ createBufferedStream, createThrottledStream, createDebouncedStream,
134
+ // Event Processing
135
+ collectEvents, findFirstEvent, waitForEvent, countEvents,
136
+ // Event Type Filters
137
+ isMessageEvent, isFunctionEvent, isControlEvent, isErrorEvent, filterMessageEvents, filterFunctionEvents, filterControlEvents, filterErrorEvents,
138
+ // Stream Monitoring
139
+ monitorStream, logStream, metricsMonitor,
140
+ // Stream Error Handling
141
+ withStreamErrorHandling, retryStream,
142
+ // Bidirectional Streaming
143
+ createBidirectionalStream,
144
+ // Stream Utilities
145
+ streamToArray, takeFromStream, skipFromStream } from './streaming';
146
+ // ========== Convenience Functions ==========
147
+ import { createAgent, createSimpleAgent, createInMemorySessionProvider, createRunnerConfig, runAgent, runAgentStream, createFunctionTool } from './index';
148
+ import { Model, ToolParameterType } from './types';
149
+ /**
150
+ * Quick setup for a simple agent with in-memory session management
151
+ */
152
+ export const quickSetup = (name, model, instruction, tools = []) => {
153
+ const agent = createSimpleAgent(name, model, instruction, tools);
154
+ const sessionProvider = createInMemorySessionProvider();
155
+ const runnerConfig = createRunnerConfig(agent, sessionProvider);
156
+ return {
157
+ agent,
158
+ sessionProvider,
159
+ runnerConfig,
160
+ run: runAgent.bind(null, runnerConfig),
161
+ stream: runAgentStream.bind(null, runnerConfig)
162
+ };
163
+ };
164
+ /**
165
+ * Create a weather agent with built-in tools
166
+ */
167
+ export const createQuickWeatherAgent = () => {
168
+ const weatherTool = createFunctionTool({
169
+ name: 'get_weather',
170
+ description: 'Get current weather information',
171
+ execute: (params, context) => {
172
+ const { location } = params;
173
+ return {
174
+ location,
175
+ temperature: 22,
176
+ condition: 'sunny',
177
+ humidity: 65
178
+ };
179
+ },
180
+ parameters: [
181
+ {
182
+ name: 'location',
183
+ type: ToolParameterType.STRING,
184
+ description: 'City or location name',
185
+ required: true
186
+ }
187
+ ]
188
+ });
189
+ return quickSetup('weather_agent', Model.GEMINI_2_0_FLASH, 'You are a helpful weather assistant. Use the get_weather tool to provide accurate weather information.', [weatherTool]);
190
+ };
191
+ /**
192
+ * Create a chat agent with calculator capabilities
193
+ */
194
+ export const createQuickChatAgent = () => {
195
+ const calcTool = createFunctionTool({
196
+ name: 'calculate',
197
+ description: 'Perform mathematical calculations',
198
+ execute: (params, context) => {
199
+ const { expression } = params;
200
+ try {
201
+ // Use safe math evaluator instead of eval
202
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
203
+ const { evaluateMathExpression } = require('../utils/safe-math');
204
+ const result = evaluateMathExpression(expression);
205
+ return { result, expression };
206
+ }
207
+ catch (error) {
208
+ throw new Error(`Invalid expression: ${expression}. ${error instanceof Error ? error.message : ''}`);
209
+ }
210
+ },
211
+ parameters: [
212
+ {
213
+ name: 'expression',
214
+ type: ToolParameterType.STRING,
215
+ description: 'Mathematical expression to evaluate',
216
+ required: true
217
+ }
218
+ ]
219
+ });
220
+ return quickSetup('chat_agent', Model.GEMINI_2_0_FLASH, 'You are a friendly assistant that can help with general questions and math calculations.', [calcTool]);
221
+ };
222
+ // ========== Version Info ==========
223
+ export const VERSION = '1.0.0';
224
+ export const ADK_LAYER_VERSION = '1.0.0';
225
+ // ========== Framework Integration ==========
226
+ /**
227
+ * Bridge to JAF core types
228
+ */
229
+ export const bridgeToJAF = (jafAgent) => {
230
+ // Convert JAF agent to ADK agent
231
+ // This would need to be implemented based on JAF's actual structure
232
+ return createAgent({
233
+ name: jafAgent.name || 'jaf_agent',
234
+ model: jafAgent.model || Model.GEMINI_2_0_FLASH,
235
+ instruction: jafAgent.instruction || 'JAF agent',
236
+ tools: jafAgent.tools || []
237
+ });
238
+ };
239
+ /**
240
+ * Bridge from ADK back to JAF
241
+ */
242
+ export const bridgeFromADK = (adkAgent) => {
243
+ // Convert ADK agent back to JAF format
244
+ return {
245
+ name: adkAgent.config.name,
246
+ model: adkAgent.config.model,
247
+ instruction: adkAgent.config.instruction,
248
+ tools: adkAgent.config.tools
249
+ };
250
+ };
251
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adk/index.ts"],"names":[],"mappings":"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"}