@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,250 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_js_1 = require("../index.js");
4
+ const agents_js_1 = require("./agents.js");
5
+ const mock_provider_js_1 = require("./mock-provider.js");
6
+ async function demoBasicMath() {
7
+ console.log('\n🧮 Demo 1: Basic Math Calculation');
8
+ console.log('================================');
9
+ const context = {
10
+ userId: 'user123',
11
+ permissions: ['user'],
12
+ workspace: '/tmp/demo'
13
+ };
14
+ const agentRegistry = new Map([
15
+ ['TriageAgent', agents_js_1.triageAgent],
16
+ ['MathTutor', agents_js_1.mathTutor],
17
+ ['FileManager', agents_js_1.fileManager],
18
+ ['WebResearcher', agents_js_1.webResearcher],
19
+ ]);
20
+ const modelProvider = new mock_provider_js_1.MockModelProvider();
21
+ const traceCollector = new index_js_1.ConsoleTraceCollector();
22
+ const config = {
23
+ agentRegistry,
24
+ modelProvider,
25
+ maxTurns: 10,
26
+ onEvent: traceCollector.collect.bind(traceCollector),
27
+ };
28
+ const initialState = {
29
+ runId: (0, index_js_1.generateRunId)(),
30
+ traceId: (0, index_js_1.generateTraceId)(),
31
+ messages: [
32
+ { role: 'user', content: 'What is 25 * 4 + 10?' }
33
+ ],
34
+ currentAgentName: 'TriageAgent',
35
+ context,
36
+ turnCount: 0,
37
+ };
38
+ const result = await (0, index_js_1.run)(initialState, config);
39
+ if (result.outcome.status === 'completed') {
40
+ console.log('✅ Final Answer:', result.outcome.output);
41
+ }
42
+ else {
43
+ console.error('❌ Run Failed:', result.outcome.error);
44
+ }
45
+ }
46
+ async function demoFileOperations() {
47
+ console.log('\n📁 Demo 2: File Operations (Permission Denied)');
48
+ console.log('===============================================');
49
+ const context = {
50
+ userId: 'user456',
51
+ permissions: ['user'], // No admin permission
52
+ workspace: '/tmp/demo'
53
+ };
54
+ const agentRegistry = new Map([
55
+ ['TriageAgent', agents_js_1.triageAgent],
56
+ ['MathTutor', agents_js_1.mathTutor],
57
+ ['FileManager', agents_js_1.fileManager],
58
+ ['WebResearcher', agents_js_1.webResearcher],
59
+ ]);
60
+ const modelProvider = new mock_provider_js_1.MockModelProvider();
61
+ const traceCollector = new index_js_1.ConsoleTraceCollector();
62
+ const config = {
63
+ agentRegistry,
64
+ modelProvider,
65
+ maxTurns: 10,
66
+ onEvent: traceCollector.collect.bind(traceCollector),
67
+ };
68
+ const initialState = {
69
+ runId: (0, index_js_1.generateRunId)(),
70
+ traceId: (0, index_js_1.generateTraceId)(),
71
+ messages: [
72
+ { role: 'user', content: 'Please read the file /shared/example.txt' }
73
+ ],
74
+ currentAgentName: 'TriageAgent',
75
+ context,
76
+ turnCount: 0,
77
+ };
78
+ const result = await (0, index_js_1.run)(initialState, config);
79
+ if (result.outcome.status === 'completed') {
80
+ console.log('✅ Final Answer:', result.outcome.output);
81
+ }
82
+ else {
83
+ console.error('❌ Run Failed:', result.outcome.error);
84
+ }
85
+ }
86
+ async function demoWebSearch() {
87
+ console.log('\n🔍 Demo 3: Web Search with Guardrails');
88
+ console.log('====================================');
89
+ const context = {
90
+ userId: 'user789',
91
+ permissions: ['user', 'researcher'],
92
+ workspace: '/tmp/demo'
93
+ };
94
+ const agentRegistry = new Map([
95
+ ['TriageAgent', agents_js_1.triageAgent],
96
+ ['MathTutor', agents_js_1.mathTutor],
97
+ ['FileManager', agents_js_1.fileManager],
98
+ ['WebResearcher', agents_js_1.webResearcher],
99
+ ]);
100
+ const modelProvider = new mock_provider_js_1.MockModelProvider();
101
+ const traceCollector = new index_js_1.ConsoleTraceCollector();
102
+ const contentFilter = (0, index_js_1.createContentFilter)();
103
+ const rateLimiter = (0, index_js_1.createRateLimiter)(3, // max 3 calls
104
+ 60000, // per minute
105
+ (input) => 'global' // simple global rate limit
106
+ );
107
+ const config = {
108
+ agentRegistry,
109
+ modelProvider,
110
+ maxTurns: 10,
111
+ initialInputGuardrails: [contentFilter, rateLimiter],
112
+ finalOutputGuardrails: [contentFilter],
113
+ onEvent: traceCollector.collect.bind(traceCollector),
114
+ };
115
+ const initialState = {
116
+ runId: (0, index_js_1.generateRunId)(),
117
+ traceId: (0, index_js_1.generateTraceId)(),
118
+ messages: [
119
+ { role: 'user', content: 'Search for information about artificial intelligence' }
120
+ ],
121
+ currentAgentName: 'TriageAgent',
122
+ context,
123
+ turnCount: 0,
124
+ };
125
+ const result = await (0, index_js_1.run)(initialState, config);
126
+ if (result.outcome.status === 'completed') {
127
+ console.log('✅ Final Answer:', result.outcome.output);
128
+ }
129
+ else {
130
+ console.error('❌ Run Failed:', result.outcome.error);
131
+ }
132
+ }
133
+ async function demoHandoffChain() {
134
+ console.log('\n🔄 Demo 4: Complex Multi-Agent Handoff Chain');
135
+ console.log('===========================================');
136
+ const context = {
137
+ userId: 'poweruser',
138
+ permissions: ['user', 'admin', 'researcher'],
139
+ workspace: '/tmp/demo'
140
+ };
141
+ const agentRegistry = new Map([
142
+ ['TriageAgent', agents_js_1.triageAgent],
143
+ ['MathTutor', agents_js_1.mathTutor],
144
+ ['FileManager', agents_js_1.fileManager],
145
+ ['WebResearcher', agents_js_1.webResearcher],
146
+ ]);
147
+ const modelProvider = new mock_provider_js_1.MockModelProvider();
148
+ const traceCollector = new index_js_1.ConsoleTraceCollector();
149
+ const config = {
150
+ agentRegistry,
151
+ modelProvider,
152
+ maxTurns: 15,
153
+ onEvent: traceCollector.collect.bind(traceCollector),
154
+ };
155
+ const initialState = {
156
+ runId: (0, index_js_1.generateRunId)(),
157
+ traceId: (0, index_js_1.generateTraceId)(),
158
+ messages: [
159
+ {
160
+ role: 'user',
161
+ content: 'I need to calculate 15 * 8, then search for information about the number 120, and finally save that information to a file called results.txt'
162
+ }
163
+ ],
164
+ currentAgentName: 'TriageAgent',
165
+ context,
166
+ turnCount: 0,
167
+ };
168
+ const result = await (0, index_js_1.run)(initialState, config);
169
+ if (result.outcome.status === 'completed') {
170
+ console.log('✅ Final Answer:', result.outcome.output);
171
+ }
172
+ else {
173
+ console.error('❌ Run Failed:', result.outcome.error);
174
+ }
175
+ }
176
+ async function demoGuardrailTrigger() {
177
+ console.log('\n🛡️ Demo 5: Guardrail Trigger (Sensitive Content)');
178
+ console.log('===============================================');
179
+ const context = {
180
+ userId: 'user999',
181
+ permissions: ['user'],
182
+ workspace: '/tmp/demo'
183
+ };
184
+ const agentRegistry = new Map([
185
+ ['TriageAgent', agents_js_1.triageAgent],
186
+ ['MathTutor', agents_js_1.mathTutor],
187
+ ['FileManager', agents_js_1.fileManager],
188
+ ['WebResearcher', agents_js_1.webResearcher],
189
+ ]);
190
+ const modelProvider = new mock_provider_js_1.MockModelProvider();
191
+ const traceCollector = new index_js_1.ConsoleTraceCollector();
192
+ const contentFilter = (0, index_js_1.createContentFilter)();
193
+ const config = {
194
+ agentRegistry,
195
+ modelProvider,
196
+ maxTurns: 10,
197
+ initialInputGuardrails: [contentFilter],
198
+ onEvent: traceCollector.collect.bind(traceCollector),
199
+ };
200
+ const initialState = {
201
+ runId: (0, index_js_1.generateRunId)(),
202
+ traceId: (0, index_js_1.generateTraceId)(),
203
+ messages: [
204
+ { role: 'user', content: 'Can you help me with my password and api_key management?' }
205
+ ],
206
+ currentAgentName: 'TriageAgent',
207
+ context,
208
+ turnCount: 0,
209
+ };
210
+ const result = await (0, index_js_1.run)(initialState, config);
211
+ if (result.outcome.status === 'completed') {
212
+ console.log('✅ Final Answer:', result.outcome.output);
213
+ }
214
+ else {
215
+ console.error('❌ Run Failed:', result.outcome.error);
216
+ }
217
+ }
218
+ async function runAllDemos() {
219
+ console.log('🚀 FAF v2.0 Demo Application');
220
+ console.log('===========================');
221
+ console.log('Showcasing the Functional Agent Framework capabilities\n');
222
+ try {
223
+ await demoBasicMath();
224
+ await new Promise(resolve => setTimeout(resolve, 1000));
225
+ await demoFileOperations();
226
+ await new Promise(resolve => setTimeout(resolve, 1000));
227
+ await demoWebSearch();
228
+ await new Promise(resolve => setTimeout(resolve, 1000));
229
+ await demoHandoffChain();
230
+ await new Promise(resolve => setTimeout(resolve, 1000));
231
+ await demoGuardrailTrigger();
232
+ console.log('\n🎉 All demos completed!');
233
+ console.log('\nKey features demonstrated:');
234
+ console.log('- ✅ Pure functional architecture with immutable state');
235
+ console.log('- ✅ Type-safe agent and tool definitions');
236
+ console.log('- ✅ Composable validation policies');
237
+ console.log('- ✅ Multi-agent handoff coordination');
238
+ console.log('- ✅ Comprehensive error handling');
239
+ console.log('- ✅ Real-time tracing and observability');
240
+ console.log('- ✅ Guardrail enforcement for security');
241
+ console.log('- ✅ Permission-based access control');
242
+ }
243
+ catch (error) {
244
+ console.error('Demo failed:', error);
245
+ }
246
+ }
247
+ if (require.main === module) {
248
+ runAllDemos();
249
+ }
250
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/demo/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { ModelProvider, RunState, Agent, RunConfig } from '../core/types.js';
2
+ export declare class MockModelProvider<Ctx> implements ModelProvider<Ctx> {
3
+ getCompletion(state: Readonly<RunState<Ctx>>, agent: Readonly<Agent<Ctx, any>>, config: Readonly<RunConfig<Ctx>>): Promise<{
4
+ message: {
5
+ content: string;
6
+ tool_calls: {
7
+ id: string;
8
+ type: "function";
9
+ function: {
10
+ name: string;
11
+ arguments: string;
12
+ };
13
+ }[];
14
+ };
15
+ } | {
16
+ message: {
17
+ content: string;
18
+ tool_calls?: undefined;
19
+ };
20
+ }>;
21
+ }
22
+ //# sourceMappingURL=mock-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-provider.d.ts","sourceRoot":"","sources":["../../src/demo/mock-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7E,qBAAa,iBAAiB,CAAC,GAAG,CAAE,YAAW,aAAa,CAAC,GAAG,CAAC;IACzD,aAAa,CACjB,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAChC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;;;;;;;;;;;;;;;;;;CAkJnC"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MockModelProvider = void 0;
4
+ class MockModelProvider {
5
+ async getCompletion(state, agent, config) {
6
+ const lastMessage = state.messages[state.messages.length - 1];
7
+ if (agent.name === 'TriageAgent') {
8
+ const userMessage = state.messages.find(m => m.role === 'user')?.content || '';
9
+ let targetAgent = 'MathTutor';
10
+ let reasoning = 'Default to math tutor';
11
+ if (userMessage.toLowerCase().includes('file') || userMessage.toLowerCase().includes('read') || userMessage.toLowerCase().includes('write')) {
12
+ targetAgent = 'FileManager';
13
+ reasoning = 'Request involves file operations';
14
+ }
15
+ else if (userMessage.toLowerCase().includes('search') || userMessage.toLowerCase().includes('research') || userMessage.toLowerCase().includes('web')) {
16
+ targetAgent = 'WebResearcher';
17
+ reasoning = 'Request involves web search or research';
18
+ }
19
+ else if (userMessage.match(/\d+.*[+\-*/].*\d+|math|calculate|equation|solve/i)) {
20
+ targetAgent = 'MathTutor';
21
+ reasoning = 'Request involves mathematical calculations';
22
+ }
23
+ return {
24
+ message: {
25
+ content: JSON.stringify({
26
+ agentName: targetAgent,
27
+ reasoning: reasoning
28
+ }),
29
+ tool_calls: [{
30
+ id: 'handoff_1',
31
+ type: 'function',
32
+ function: {
33
+ name: 'handoff_to_agent',
34
+ arguments: JSON.stringify({
35
+ agentName: targetAgent,
36
+ reason: reasoning
37
+ })
38
+ }
39
+ }]
40
+ }
41
+ };
42
+ }
43
+ if (agent.name === 'MathTutor') {
44
+ const userMessage = state.messages.find(m => m.role === 'user')?.content || '';
45
+ const mathMatch = userMessage.match(/(\d+.*[+\-*/].*\d+|sqrt\(\d+\))/);
46
+ if (mathMatch) {
47
+ return {
48
+ message: {
49
+ content: `I'll solve that math problem for you!`,
50
+ tool_calls: [{
51
+ id: 'calc_1',
52
+ type: 'function',
53
+ function: {
54
+ name: 'calculate',
55
+ arguments: JSON.stringify({
56
+ expression: mathMatch[0]
57
+ })
58
+ }
59
+ }]
60
+ }
61
+ };
62
+ }
63
+ return {
64
+ message: {
65
+ content: `I'm a math tutor! I can help you with mathematical calculations, equations, and explain math concepts. What would you like me to help you with?`
66
+ }
67
+ };
68
+ }
69
+ if (agent.name === 'FileManager') {
70
+ const userMessage = state.messages.find(m => m.role === 'user')?.content || '';
71
+ if (userMessage.toLowerCase().includes('read')) {
72
+ const pathMatch = userMessage.match(/read\s+([^\s]+)/i);
73
+ const path = pathMatch ? pathMatch[1] : '/shared/example.txt';
74
+ return {
75
+ message: {
76
+ content: `I'll read that file for you.`,
77
+ tool_calls: [{
78
+ id: 'read_1',
79
+ type: 'function',
80
+ function: {
81
+ name: 'read_file',
82
+ arguments: JSON.stringify({
83
+ path: path
84
+ })
85
+ }
86
+ }]
87
+ }
88
+ };
89
+ }
90
+ if (userMessage.toLowerCase().includes('write')) {
91
+ return {
92
+ message: {
93
+ content: `I can help you write files, but you need admin permissions for write operations. What would you like me to write?`
94
+ }
95
+ };
96
+ }
97
+ return {
98
+ message: {
99
+ content: `I'm a file manager! I can help you read files and manage your workspace. What file operation would you like to perform?`
100
+ }
101
+ };
102
+ }
103
+ if (agent.name === 'WebResearcher') {
104
+ const userMessage = state.messages.find(m => m.role === 'user')?.content || '';
105
+ const searchMatch = userMessage.match(/search\s+(?:for\s+)?(.+)/i);
106
+ if (searchMatch) {
107
+ return {
108
+ message: {
109
+ content: `I'll search for information about that topic.`,
110
+ tool_calls: [{
111
+ id: 'search_1',
112
+ type: 'function',
113
+ function: {
114
+ name: 'search_web',
115
+ arguments: JSON.stringify({
116
+ query: searchMatch[1].trim(),
117
+ maxResults: 3
118
+ })
119
+ }
120
+ }]
121
+ }
122
+ };
123
+ }
124
+ return {
125
+ message: {
126
+ content: `I'm a web researcher! I can search the web for information and help with research tasks. What would you like me to research?`
127
+ }
128
+ };
129
+ }
130
+ return {
131
+ message: {
132
+ content: `I'm ${agent.name}. How can I help you today?`
133
+ }
134
+ };
135
+ }
136
+ }
137
+ exports.MockModelProvider = MockModelProvider;
138
+ //# sourceMappingURL=mock-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-provider.js","sourceRoot":"","sources":["../../src/demo/mock-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Tool } from '../core/types.js';
2
+ type DemoContext = {
3
+ userId: string;
4
+ permissions: string[];
5
+ workspace: string;
6
+ };
7
+ export declare const mathTool: Tool<any, DemoContext>;
8
+ export declare const fileReadTool: Tool<{
9
+ path: string;
10
+ }, DemoContext>;
11
+ export declare const fileWriteTool: Tool<any, DemoContext>;
12
+ export declare const webSearchTool: Tool<any, DemoContext>;
13
+ export {};
14
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/demo/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAkIF,eAAO,MAAM,QAAQ,wBAAe,CAAC;AAErC,eAAO,MAAM,YAAY;;eAGxB,CAAC;AAEF,eAAO,MAAM,aAAa,wBAGzB,CAAC;AAEF,eAAO,MAAM,aAAa,wBAAoB,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webSearchTool = exports.fileWriteTool = exports.fileReadTool = exports.mathTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const validation_js_1 = require("../policies/validation.js");
6
+ const readFileSchema = zod_1.z.object({
7
+ path: zod_1.z.string().describe("The file path to read"),
8
+ encoding: zod_1.z.enum(['utf8', 'base64']).default('utf8').describe("File encoding")
9
+ });
10
+ const writeFileSchema = zod_1.z.object({
11
+ path: zod_1.z.string().describe("The file path to write"),
12
+ content: zod_1.z.string().describe("The content to write"),
13
+ createDirs: zod_1.z.boolean().default(false).describe("Create directories if they don't exist")
14
+ });
15
+ const calculateSchema = zod_1.z.object({
16
+ expression: zod_1.z.string().describe("Mathematical expression to evaluate (e.g., '2 + 2', 'sqrt(16)')"),
17
+ });
18
+ const searchWebSchema = zod_1.z.object({
19
+ query: zod_1.z.string().describe("Search query"),
20
+ maxResults: zod_1.z.number().default(5).describe("Maximum number of results")
21
+ });
22
+ const baseMathTool = {
23
+ schema: {
24
+ name: "calculate",
25
+ description: "Perform mathematical calculations",
26
+ parameters: calculateSchema,
27
+ },
28
+ execute: async (args) => {
29
+ try {
30
+ const sanitized = args.expression.replace(/[^0-9+\-*/.() ]/g, '');
31
+ if (sanitized.includes('sqrt')) {
32
+ const sqrtMatch = sanitized.match(/sqrt\(([0-9.]+)\)/);
33
+ if (sqrtMatch) {
34
+ const num = parseFloat(sqrtMatch[1]);
35
+ const result = Math.sqrt(num);
36
+ return `√${num} = ${result}`;
37
+ }
38
+ }
39
+ const result = Function(`"use strict"; return (${sanitized})`)();
40
+ return `${args.expression} = ${result}`;
41
+ }
42
+ catch (error) {
43
+ return `Error calculating ${args.expression}: ${error instanceof Error ? error.message : 'Unknown error'}`;
44
+ }
45
+ },
46
+ };
47
+ const baseFileReadTool = {
48
+ schema: {
49
+ name: "read_file",
50
+ description: "Read the contents of a file",
51
+ parameters: readFileSchema,
52
+ },
53
+ execute: async (args, context) => {
54
+ try {
55
+ const fs = require('fs').promises;
56
+ const path = require('path');
57
+ const fullPath = path.resolve(context.workspace, args.path);
58
+ if (!fullPath.startsWith(context.workspace)) {
59
+ throw new Error('Path outside workspace not allowed');
60
+ }
61
+ const content = await fs.readFile(fullPath, args.encoding);
62
+ return `File contents of ${args.path}:\n\n${content}`;
63
+ }
64
+ catch (error) {
65
+ return `Error reading file ${args.path}: ${error instanceof Error ? error.message : 'Unknown error'}`;
66
+ }
67
+ },
68
+ };
69
+ const baseFileWriteTool = {
70
+ schema: {
71
+ name: "write_file",
72
+ description: "Write content to a file",
73
+ parameters: writeFileSchema,
74
+ },
75
+ execute: async (args, context) => {
76
+ try {
77
+ const fs = require('fs').promises;
78
+ const path = require('path');
79
+ const fullPath = path.resolve(context.workspace, args.path);
80
+ if (!fullPath.startsWith(context.workspace)) {
81
+ throw new Error('Path outside workspace not allowed');
82
+ }
83
+ if (args.createDirs) {
84
+ await fs.mkdir(path.dirname(fullPath), { recursive: true });
85
+ }
86
+ await fs.writeFile(fullPath, args.content, 'utf8');
87
+ return `Successfully wrote ${args.content.length} characters to ${args.path}`;
88
+ }
89
+ catch (error) {
90
+ return `Error writing file ${args.path}: ${error instanceof Error ? error.message : 'Unknown error'}`;
91
+ }
92
+ },
93
+ };
94
+ const mockWebSearchTool = {
95
+ schema: {
96
+ name: "search_web",
97
+ description: "Search the web for information",
98
+ parameters: searchWebSchema,
99
+ },
100
+ execute: async (args) => {
101
+ const mockResults = [
102
+ `Search result 1 for "${args.query}": This is a mock search result with relevant information.`,
103
+ `Search result 2 for "${args.query}": Another mock result containing useful details.`,
104
+ `Search result 3 for "${args.query}": A third search result with additional context.`,
105
+ ].slice(0, args.maxResults);
106
+ return `Web search results for "${args.query}":\n\n${mockResults.join('\n\n')}`;
107
+ },
108
+ };
109
+ const pathValidator = (0, validation_js_1.createPathValidator)(['/shared', '/public', '/tmp'], (ctx) => ({ permissions: ctx.permissions }));
110
+ const adminPermissionValidator = (0, validation_js_1.createPermissionValidator)('admin', (ctx) => ({ permissions: ctx.permissions }));
111
+ exports.mathTool = baseMathTool;
112
+ exports.fileReadTool = (0, validation_js_1.withValidation)(baseFileReadTool, pathValidator);
113
+ exports.fileWriteTool = (0, validation_js_1.withValidation)(baseFileWriteTool, adminPermissionValidator);
114
+ exports.webSearchTool = mockWebSearchTool;
115
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/demo/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export * from './core/types';
2
+ export * from './core/engine';
3
+ export * from './core/tracing';
4
+ export * from './core/errors';
5
+ export * from './core/tool-results';
6
+ export * from './providers/model';
7
+ export * from './policies/validation';
8
+ export * from './policies/handoff';
9
+ export * from './server';
10
+ export * from './memory/types';
11
+ export * from './memory/factory';
12
+ export * from './memory/providers/in-memory';
13
+ export * from './memory/providers/redis';
14
+ export * from './memory/providers/postgres';
15
+ export * from './a2a';
16
+ export * as ADK from './adk';
17
+ import { TraceId, RunId } from './core/types';
18
+ export declare function generateTraceId(): TraceId;
19
+ export declare function generateRunId(): RunId;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAG5C,cAAc,OAAO,CAAC;AAItB,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAG7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAA8B,MAAM,cAAc,CAAC;AAE1E,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,aAAa,IAAI,KAAK,CAErC"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ export * from './core/types';
2
+ export * from './core/engine';
3
+ export * from './core/tracing';
4
+ export * from './core/errors';
5
+ export * from './core/tool-results';
6
+ export * from './providers/model';
7
+ // export * from './providers/mcp'; // Commented out for test compatibility
8
+ export * from './policies/validation';
9
+ export * from './policies/handoff';
10
+ export * from './server';
11
+ // Memory providers
12
+ export * from './memory/types';
13
+ export * from './memory/factory';
14
+ export * from './memory/providers/in-memory';
15
+ export * from './memory/providers/redis';
16
+ export * from './memory/providers/postgres';
17
+ // A2A Protocol Support
18
+ export * from './a2a';
19
+ // ADK Layer - Functional Agent Development Kit
20
+ // Re-export specific ADK modules to avoid conflicts
21
+ export * as ADK from './adk';
22
+ import { v4 as uuidv4 } from 'uuid';
23
+ import { createTraceId, createRunId } from './core/types';
24
+ export function generateTraceId() {
25
+ return createTraceId(uuidv4());
26
+ }
27
+ export function generateRunId() {
28
+ return createRunId(uuidv4());
29
+ }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,mBAAmB,CAAC;AAClC,2EAA2E;AAE3E,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,UAAU,CAAC;AAEzB,mBAAmB;AACnB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAE5C,uBAAuB;AACvB,cAAc,OAAO,CAAC;AAEtB,+CAA+C;AAC/C,oDAAoD;AACpD,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAkB,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC"}