@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.
- package/LICENSE +21 -0
- package/README.md +596 -0
- package/dist/a2a/agent-card.d.ts +28 -0
- package/dist/a2a/agent-card.d.ts.map +1 -0
- package/dist/a2a/agent-card.js +250 -0
- package/dist/a2a/agent-card.js.map +1 -0
- package/dist/a2a/agent.d.ts +38 -0
- package/dist/a2a/agent.d.ts.map +1 -0
- package/dist/a2a/agent.js +223 -0
- package/dist/a2a/agent.js.map +1 -0
- package/dist/a2a/client.d.ts +35 -0
- package/dist/a2a/client.d.ts.map +1 -0
- package/dist/a2a/client.js +337 -0
- package/dist/a2a/client.js.map +1 -0
- package/dist/a2a/examples/client-example.d.ts +104 -0
- package/dist/a2a/examples/client-example.d.ts.map +1 -0
- package/dist/a2a/examples/client-example.js +232 -0
- package/dist/a2a/examples/client-example.js.map +1 -0
- package/dist/a2a/examples/server-example.d.ts +9 -0
- package/dist/a2a/examples/server-example.d.ts.map +1 -0
- package/dist/a2a/examples/server-example.js +209 -0
- package/dist/a2a/examples/server-example.js.map +1 -0
- package/dist/a2a/examples/weather-agent.d.ts +8 -0
- package/dist/a2a/examples/weather-agent.d.ts.map +1 -0
- package/dist/a2a/examples/weather-agent.js +232 -0
- package/dist/a2a/examples/weather-agent.js.map +1 -0
- package/dist/a2a/executor.d.ts +43 -0
- package/dist/a2a/executor.d.ts.map +1 -0
- package/dist/a2a/executor.js +507 -0
- package/dist/a2a/executor.js.map +1 -0
- package/dist/a2a/index.d.ts +378 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +72 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/memory/cleanup.d.ts +58 -0
- package/dist/a2a/memory/cleanup.d.ts.map +1 -0
- package/dist/a2a/memory/cleanup.js +281 -0
- package/dist/a2a/memory/cleanup.js.map +1 -0
- package/dist/a2a/memory/factory.d.ts +38 -0
- package/dist/a2a/memory/factory.d.ts.map +1 -0
- package/dist/a2a/memory/factory.js +369 -0
- package/dist/a2a/memory/factory.js.map +1 -0
- package/dist/a2a/memory/index.d.ts +13 -0
- package/dist/a2a/memory/index.d.ts.map +1 -0
- package/dist/a2a/memory/index.js +16 -0
- package/dist/a2a/memory/index.js.map +1 -0
- package/dist/a2a/memory/providers/in-memory.d.ts +10 -0
- package/dist/a2a/memory/providers/in-memory.d.ts.map +1 -0
- package/dist/a2a/memory/providers/in-memory.js +539 -0
- package/dist/a2a/memory/providers/in-memory.js.map +1 -0
- package/dist/a2a/memory/providers/postgres.d.ts +10 -0
- package/dist/a2a/memory/providers/postgres.d.ts.map +1 -0
- package/dist/a2a/memory/providers/postgres.js +404 -0
- package/dist/a2a/memory/providers/postgres.js.map +1 -0
- package/dist/a2a/memory/providers/redis.d.ts +10 -0
- package/dist/a2a/memory/providers/redis.d.ts.map +1 -0
- package/dist/a2a/memory/providers/redis.js +435 -0
- package/dist/a2a/memory/providers/redis.js.map +1 -0
- package/dist/a2a/memory/serialization.d.ts +53 -0
- package/dist/a2a/memory/serialization.d.ts.map +1 -0
- package/dist/a2a/memory/serialization.js +233 -0
- package/dist/a2a/memory/serialization.js.map +1 -0
- package/dist/a2a/memory/types.d.ts +395 -0
- package/dist/a2a/memory/types.d.ts.map +1 -0
- package/dist/a2a/memory/types.js +85 -0
- package/dist/a2a/memory/types.js.map +1 -0
- package/dist/a2a/protocol.d.ts +38 -0
- package/dist/a2a/protocol.d.ts.map +1 -0
- package/dist/a2a/protocol.js +211 -0
- package/dist/a2a/protocol.js.map +1 -0
- package/dist/a2a/server.d.ts +343 -0
- package/dist/a2a/server.d.ts.map +1 -0
- package/dist/a2a/server.js +362 -0
- package/dist/a2a/server.js.map +1 -0
- package/dist/a2a/types.d.ts +730 -0
- package/dist/a2a/types.d.ts.map +1 -0
- package/dist/a2a/types.js +73 -0
- package/dist/a2a/types.js.map +1 -0
- package/dist/adk/agents/index.d.ts +48 -0
- package/dist/adk/agents/index.d.ts.map +1 -0
- package/dist/adk/agents/index.js +277 -0
- package/dist/adk/agents/index.js.map +1 -0
- package/dist/adk/artifacts/index.d.ts +62 -0
- package/dist/adk/artifacts/index.d.ts.map +1 -0
- package/dist/adk/artifacts/index.js +394 -0
- package/dist/adk/artifacts/index.js.map +1 -0
- package/dist/adk/config/llm-config.d.ts +75 -0
- package/dist/adk/config/llm-config.d.ts.map +1 -0
- package/dist/adk/config/llm-config.js +422 -0
- package/dist/adk/config/llm-config.js.map +1 -0
- package/dist/adk/content/index.d.ts +58 -0
- package/dist/adk/content/index.d.ts.map +1 -0
- package/dist/adk/content/index.js +220 -0
- package/dist/adk/content/index.js.map +1 -0
- package/dist/adk/examples/advanced-features.d.ts +22 -0
- package/dist/adk/examples/advanced-features.d.ts.map +1 -0
- package/dist/adk/examples/advanced-features.js +380 -0
- package/dist/adk/examples/advanced-features.js.map +1 -0
- package/dist/adk/examples/basic-agent.d.ts +28 -0
- package/dist/adk/examples/basic-agent.d.ts.map +1 -0
- package/dist/adk/examples/basic-agent.js +207 -0
- package/dist/adk/examples/basic-agent.js.map +1 -0
- package/dist/adk/examples/multi-agent.d.ts +24 -0
- package/dist/adk/examples/multi-agent.d.ts.map +1 -0
- package/dist/adk/examples/multi-agent.js +321 -0
- package/dist/adk/examples/multi-agent.js.map +1 -0
- package/dist/adk/examples/streaming-example.d.ts +9 -0
- package/dist/adk/examples/streaming-example.d.ts.map +1 -0
- package/dist/adk/examples/streaming-example.js +193 -0
- package/dist/adk/examples/streaming-example.js.map +1 -0
- package/dist/adk/index.d.ts +65 -0
- package/dist/adk/index.d.ts.map +1 -0
- package/dist/adk/index.js +251 -0
- package/dist/adk/index.js.map +1 -0
- package/dist/adk/models.d.ts +338 -0
- package/dist/adk/models.d.ts.map +1 -0
- package/dist/adk/models.js +466 -0
- package/dist/adk/models.js.map +1 -0
- package/dist/adk/providers/error-handler.d.ts +100 -0
- package/dist/adk/providers/error-handler.d.ts.map +1 -0
- package/dist/adk/providers/error-handler.js +289 -0
- package/dist/adk/providers/error-handler.js.map +1 -0
- package/dist/adk/providers/llm-service.d.ts +41 -0
- package/dist/adk/providers/llm-service.d.ts.map +1 -0
- package/dist/adk/providers/llm-service.js +520 -0
- package/dist/adk/providers/llm-service.js.map +1 -0
- package/dist/adk/providers/type-converters.d.ts +34 -0
- package/dist/adk/providers/type-converters.d.ts.map +1 -0
- package/dist/adk/providers/type-converters.js +436 -0
- package/dist/adk/providers/type-converters.js.map +1 -0
- package/dist/adk/runners/index.d.ts +33 -0
- package/dist/adk/runners/index.d.ts.map +1 -0
- package/dist/adk/runners/index.js +466 -0
- package/dist/adk/runners/index.js.map +1 -0
- package/dist/adk/schemas/index.d.ts +85 -0
- package/dist/adk/schemas/index.d.ts.map +1 -0
- package/dist/adk/schemas/index.js +363 -0
- package/dist/adk/schemas/index.js.map +1 -0
- package/dist/adk/sessions/examples/session-provider-usage.d.ts +10 -0
- package/dist/adk/sessions/examples/session-provider-usage.d.ts.map +1 -0
- package/dist/adk/sessions/examples/session-provider-usage.js +145 -0
- package/dist/adk/sessions/examples/session-provider-usage.js.map +1 -0
- package/dist/adk/sessions/index.d.ts +53 -0
- package/dist/adk/sessions/index.d.ts.map +1 -0
- package/dist/adk/sessions/index.js +451 -0
- package/dist/adk/sessions/index.js.map +1 -0
- package/dist/adk/sessions/postgres-provider.d.ts +22 -0
- package/dist/adk/sessions/postgres-provider.d.ts.map +1 -0
- package/dist/adk/sessions/postgres-provider.js +293 -0
- package/dist/adk/sessions/postgres-provider.js.map +1 -0
- package/dist/adk/sessions/redis-provider.d.ts +19 -0
- package/dist/adk/sessions/redis-provider.d.ts.map +1 -0
- package/dist/adk/sessions/redis-provider.js +237 -0
- package/dist/adk/sessions/redis-provider.js.map +1 -0
- package/dist/adk/streaming/index.d.ts +76 -0
- package/dist/adk/streaming/index.d.ts.map +1 -0
- package/dist/adk/streaming/index.js +419 -0
- package/dist/adk/streaming/index.js.map +1 -0
- package/dist/adk/tools/index.d.ts +27 -0
- package/dist/adk/tools/index.d.ts.map +1 -0
- package/dist/adk/tools/index.js +506 -0
- package/dist/adk/tools/index.js.map +1 -0
- package/dist/adk/types.d.ts +351 -0
- package/dist/adk/types.d.ts.map +1 -0
- package/dist/adk/types.js +107 -0
- package/dist/adk/types.js.map +1 -0
- package/dist/core/engine.d.ts +3 -0
- package/dist/core/engine.d.ts.map +1 -0
- package/dist/core/engine.js +438 -0
- package/dist/core/engine.js.map +1 -0
- package/dist/core/errors.d.ts +8 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +84 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/tool-results.d.ts +57 -0
- package/dist/core/tool-results.d.ts.map +1 -0
- package/dist/core/tool-results.js +133 -0
- package/dist/core/tool-results.js.map +1 -0
- package/dist/core/tracing.d.ts +32 -0
- package/dist/core/tracing.d.ts.map +1 -0
- package/dist/core/tracing.js +132 -0
- package/dist/core/tracing.js.map +1 -0
- package/dist/core/types.d.ts +165 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +3 -0
- package/dist/core/types.js.map +1 -0
- package/dist/demo/agents.d.ts +23 -0
- package/dist/demo/agents.d.ts.map +1 -0
- package/dist/demo/agents.js +69 -0
- package/dist/demo/agents.js.map +1 -0
- package/dist/demo/index.d.ts +2 -0
- package/dist/demo/index.d.ts.map +1 -0
- package/dist/demo/index.js +250 -0
- package/dist/demo/index.js.map +1 -0
- package/dist/demo/mock-provider.d.ts +22 -0
- package/dist/demo/mock-provider.d.ts.map +1 -0
- package/dist/demo/mock-provider.js +138 -0
- package/dist/demo/mock-provider.js.map +1 -0
- package/dist/demo/tools.d.ts +14 -0
- package/dist/demo/tools.d.ts.map +1 -0
- package/dist/demo/tools.js +115 -0
- package/dist/demo/tools.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/factory.d.ts +22 -0
- package/dist/memory/factory.d.ts.map +1 -0
- package/dist/memory/factory.js +88 -0
- package/dist/memory/factory.js.map +1 -0
- package/dist/memory/providers/in-memory.d.ts +7 -0
- package/dist/memory/providers/in-memory.d.ts.map +1 -0
- package/dist/memory/providers/in-memory.js +287 -0
- package/dist/memory/providers/in-memory.js.map +1 -0
- package/dist/memory/providers/postgres.d.ts +15 -0
- package/dist/memory/providers/postgres.d.ts.map +1 -0
- package/dist/memory/providers/postgres.js +495 -0
- package/dist/memory/providers/postgres.js.map +1 -0
- package/dist/memory/providers/redis.d.ts +18 -0
- package/dist/memory/providers/redis.d.ts.map +1 -0
- package/dist/memory/providers/redis.js +354 -0
- package/dist/memory/providers/redis.js.map +1 -0
- package/dist/memory/types.d.ts +296 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +93 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/policies/handoff.d.ts +16 -0
- package/dist/policies/handoff.d.ts.map +1 -0
- package/dist/policies/handoff.js +20 -0
- package/dist/policies/handoff.js.map +1 -0
- package/dist/policies/validation.d.ts +14 -0
- package/dist/policies/validation.d.ts.map +1 -0
- package/dist/policies/validation.js +92 -0
- package/dist/policies/validation.js.map +1 -0
- package/dist/providers/mcp.d.ts +17 -0
- package/dist/providers/mcp.d.ts.map +1 -0
- package/dist/providers/mcp.js +111 -0
- package/dist/providers/mcp.js.map +1 -0
- package/dist/providers/model.d.ts +3 -0
- package/dist/providers/model.d.ts.map +1 -0
- package/dist/providers/model.js +113 -0
- package/dist/providers/model.js.map +1 -0
- package/dist/server/index.d.ts +35 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +66 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/server.d.ts +12 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +394 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/types.d.ts +456 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +75 -0
- package/dist/server/types.js.map +1 -0
- package/dist/test-utils/db-setup.d.ts +34 -0
- package/dist/test-utils/db-setup.d.ts.map +1 -0
- package/dist/test-utils/db-setup.js +149 -0
- package/dist/test-utils/db-setup.js.map +1 -0
- package/dist/utils/logger.d.ts +63 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +199 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/safe-math.d.ts +31 -0
- package/dist/utils/safe-math.d.ts.map +1 -0
- package/dist/utils/safe-math.js +86 -0
- package/dist/utils/safe-math.js.map +1 -0
- package/dist/visualization/example.d.ts +9 -0
- package/dist/visualization/example.d.ts.map +1 -0
- package/dist/visualization/example.js +236 -0
- package/dist/visualization/example.js.map +1 -0
- package/dist/visualization/graphviz.d.ts +42 -0
- package/dist/visualization/graphviz.d.ts.map +1 -0
- package/dist/visualization/graphviz.js +403 -0
- package/dist/visualization/graphviz.js.map +1 -0
- package/dist/visualization/index.d.ts +10 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +12 -0
- package/dist/visualization/index.js.map +1 -0
- 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":";;AAAA,0CASqB;AACrB,2CAAiF;AACjF,yDAAuD;AAQvD,KAAK,UAAU,aAAa;IAC1B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc;QACzC,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,WAAW,EAAE,qBAAS,CAAC;QACxB,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,eAAe,EAAE,yBAAa,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,oCAAiB,EAAe,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,gCAAqB,EAAE,CAAC;IAEnD,MAAM,MAAM,GAA2B;QACrC,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACrD,CAAC;IAEF,MAAM,YAAY,GAA0B;QAC1C,KAAK,EAAE,IAAA,wBAAa,GAAE;QACtB,OAAO,EAAE,IAAA,0BAAe,GAAE;QAC1B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE;SAClD;QACD,gBAAgB,EAAE,aAAa;QAC/B,OAAO;QACP,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,cAAG,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,sBAAsB;QAC7C,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc;QACzC,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,WAAW,EAAE,qBAAS,CAAC;QACxB,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,eAAe,EAAE,yBAAa,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,oCAAiB,EAAe,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,gCAAqB,EAAE,CAAC;IAEnD,MAAM,MAAM,GAA2B;QACrC,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACrD,CAAC;IAEF,MAAM,YAAY,GAA0B;QAC1C,KAAK,EAAE,IAAA,wBAAa,GAAE;QACtB,OAAO,EAAE,IAAA,0BAAe,GAAE;QAC1B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,0CAA0C,EAAE;SACtE;QACD,gBAAgB,EAAE,aAAa;QAC/B,OAAO;QACP,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,cAAG,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;QACnC,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc;QACzC,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,WAAW,EAAE,qBAAS,CAAC;QACxB,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,eAAe,EAAE,yBAAa,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,oCAAiB,EAAe,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,gCAAqB,EAAE,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAA,8BAAmB,GAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAA,4BAAiB,EACnC,CAAC,EAAE,cAAc;IACjB,KAAK,EAAE,aAAa;IACpB,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,2BAA2B;KAChD,CAAC;IAEF,MAAM,MAAM,GAA2B;QACrC,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,sBAAsB,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;QACpD,qBAAqB,EAAE,CAAC,aAAa,CAAC;QACtC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACrD,CAAC;IAEF,MAAM,YAAY,GAA0B;QAC1C,KAAK,EAAE,IAAA,wBAAa,GAAE;QACtB,OAAO,EAAE,IAAA,0BAAe,GAAE;QAC1B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sDAAsD,EAAE;SAClF;QACD,gBAAgB,EAAE,aAAa;QAC/B,OAAO;QACP,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,cAAG,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;QAC5C,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc;QACzC,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,WAAW,EAAE,qBAAS,CAAC;QACxB,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,eAAe,EAAE,yBAAa,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,oCAAiB,EAAe,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,gCAAqB,EAAE,CAAC;IAEnD,MAAM,MAAM,GAA2B;QACrC,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACrD,CAAC;IAEF,MAAM,YAAY,GAA0B;QAC1C,KAAK,EAAE,IAAA,wBAAa,GAAE;QACtB,OAAO,EAAE,IAAA,0BAAe,GAAE;QAC1B,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,8IAA8I;aACxJ;SACF;QACD,gBAAgB,EAAE,aAAa;QAC/B,OAAO;QACP,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,cAAG,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAgB;QAC3B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC,MAAM,CAAC;QACrB,SAAS,EAAE,WAAW;KACvB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAc;QACzC,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,WAAW,EAAE,qBAAS,CAAC;QACxB,CAAC,aAAa,EAAE,uBAAW,CAAC;QAC5B,CAAC,eAAe,EAAE,yBAAa,CAAC;KACjC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,IAAI,oCAAiB,EAAe,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAI,gCAAqB,EAAE,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAA,8BAAmB,GAAE,CAAC;IAE5C,MAAM,MAAM,GAA2B;QACrC,aAAa;QACb,aAAa;QACb,QAAQ,EAAE,EAAE;QACZ,sBAAsB,EAAE,CAAC,aAAa,CAAC;QACvC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;KACrD,CAAC;IAEF,MAAM,YAAY,GAA0B;QAC1C,KAAK,EAAE,IAAA,wBAAa,GAAE;QACtB,OAAO,EAAE,IAAA,0BAAe,GAAE;QAC1B,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,0DAA0D,EAAE;SACtF;QACD,gBAAgB,EAAE,aAAa;QAC/B,OAAO;QACP,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,IAAA,cAAG,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAExE,IAAI,CAAC;QACH,MAAM,aAAa,EAAE,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,kBAAkB,EAAE,CAAC;QAC3B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,aAAa,EAAE,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,gBAAgB,EAAE,CAAC;QACzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAExD,MAAM,oBAAoB,EAAE,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAErD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,CAAC;AAChB,CAAC"}
|
|
@@ -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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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|