@agentvoy/core 0.2.0 ā 0.4.0
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/README.md +65 -0
- package/dist/adapters/anthropic.d.ts.map +1 -1
- package/dist/adapters/anthropic.js +75 -75
- package/dist/adapters/anthropic.js.map +1 -1
- package/dist/adapters/app-scaffold.d.ts +12 -0
- package/dist/adapters/app-scaffold.d.ts.map +1 -0
- package/dist/adapters/app-scaffold.js +49 -0
- package/dist/adapters/app-scaffold.js.map +1 -0
- package/dist/adapters/autogen.d.ts +8 -0
- package/dist/adapters/autogen.d.ts.map +1 -0
- package/dist/adapters/autogen.js +259 -0
- package/dist/adapters/autogen.js.map +1 -0
- package/dist/adapters/crewai.d.ts.map +1 -1
- package/dist/adapters/crewai.js +80 -52
- package/dist/adapters/crewai.js.map +1 -1
- package/dist/adapters/google-adk.d.ts.map +1 -1
- package/dist/adapters/google-adk.js +73 -37
- package/dist/adapters/google-adk.js.map +1 -1
- package/dist/adapters/index.js +4 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/langgraph.d.ts.map +1 -1
- package/dist/adapters/langgraph.js +41 -42
- package/dist/adapters/langgraph.js.map +1 -1
- package/dist/adapters/llamaindex.d.ts +8 -0
- package/dist/adapters/llamaindex.d.ts.map +1 -0
- package/dist/adapters/llamaindex.js +230 -0
- package/dist/adapters/llamaindex.js.map +1 -0
- package/dist/adapters/openai.d.ts.map +1 -1
- package/dist/adapters/openai.js +76 -53
- package/dist/adapters/openai.js.map +1 -1
- package/dist/deployers/api-wrapper.d.ts +11 -0
- package/dist/deployers/api-wrapper.d.ts.map +1 -0
- package/dist/deployers/api-wrapper.js +86 -0
- package/dist/deployers/api-wrapper.js.map +1 -0
- package/dist/deployers/aws-lambda.d.ts +3 -0
- package/dist/deployers/aws-lambda.d.ts.map +1 -0
- package/dist/deployers/aws-lambda.js +101 -0
- package/dist/deployers/aws-lambda.js.map +1 -0
- package/dist/deployers/docker.d.ts +3 -0
- package/dist/deployers/docker.d.ts.map +1 -0
- package/dist/deployers/docker.js +123 -0
- package/dist/deployers/docker.js.map +1 -0
- package/dist/deployers/fly-io.d.ts +3 -0
- package/dist/deployers/fly-io.d.ts.map +1 -0
- package/dist/deployers/fly-io.js +84 -0
- package/dist/deployers/fly-io.js.map +1 -0
- package/dist/deployers/gcp-cloud-run.d.ts +3 -0
- package/dist/deployers/gcp-cloud-run.d.ts.map +1 -0
- package/dist/deployers/gcp-cloud-run.js +75 -0
- package/dist/deployers/gcp-cloud-run.js.map +1 -0
- package/dist/deployers/guard-mapper.d.ts +6 -0
- package/dist/deployers/guard-mapper.d.ts.map +1 -0
- package/dist/deployers/guard-mapper.js +63 -0
- package/dist/deployers/guard-mapper.js.map +1 -0
- package/dist/deployers/index.d.ts +6 -0
- package/dist/deployers/index.d.ts.map +1 -0
- package/dist/deployers/index.js +30 -0
- package/dist/deployers/index.js.map +1 -0
- package/dist/deployers/pipeline.d.ts +9 -0
- package/dist/deployers/pipeline.d.ts.map +1 -0
- package/dist/deployers/pipeline.js +55 -0
- package/dist/deployers/pipeline.js.map +1 -0
- package/dist/deployers/railway.d.ts +3 -0
- package/dist/deployers/railway.d.ts.map +1 -0
- package/dist/deployers/railway.js +53 -0
- package/dist/deployers/railway.js.map +1 -0
- package/dist/deployers/registry.d.ts +7 -0
- package/dist/deployers/registry.d.ts.map +1 -0
- package/dist/deployers/registry.js +29 -0
- package/dist/deployers/registry.js.map +1 -0
- package/dist/deployers/streamlit-app.d.ts +10 -0
- package/dist/deployers/streamlit-app.d.ts.map +1 -0
- package/dist/deployers/streamlit-app.js +80 -0
- package/dist/deployers/streamlit-app.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +17 -1
- package/src/adapters/anthropic.ts +0 -268
- package/src/adapters/crewai.ts +0 -254
- package/src/adapters/google-adk.ts +0 -167
- package/src/adapters/index.ts +0 -21
- package/src/adapters/langgraph.ts +0 -336
- package/src/adapters/openai.ts +0 -214
- package/src/adapters/registry.ts +0 -37
- package/src/config.ts +0 -315
- package/src/index.ts +0 -54
- package/src/types.ts +0 -203
- package/tsconfig.json +0 -8
package/dist/adapters/crewai.js
CHANGED
|
@@ -7,58 +7,45 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.crewaiAdapter = void 0;
|
|
9
9
|
const config_js_1 = require("../config.js");
|
|
10
|
+
const app_scaffold_js_1 = require("./app-scaffold.js");
|
|
10
11
|
exports.crewaiAdapter = {
|
|
11
12
|
name: "crewai",
|
|
12
13
|
displayName: "CrewAI",
|
|
13
14
|
language: "python",
|
|
14
15
|
async scaffold(config) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
path: ".env.example",
|
|
42
|
-
content: generateEnvExample(config),
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
path: "agent.guard.yml",
|
|
46
|
-
content: (0, config_js_1.generateDefaultConfig)(config.projectName, config.model.provider, config.model.model),
|
|
47
|
-
},
|
|
48
|
-
];
|
|
16
|
+
const isApp = config.buildMode === "app";
|
|
17
|
+
const files = [];
|
|
18
|
+
if (isApp) {
|
|
19
|
+
files.push({ path: "src/agents/agent.py", content: generateAppAgentEntry(config) });
|
|
20
|
+
files.push({ path: "src/agents/crew.py", content: generateCrewFile(config, true) });
|
|
21
|
+
files.push({ path: "src/agents/agents.py", content: generateAgentsFile(config, true) });
|
|
22
|
+
files.push({ path: "src/agents/tasks.py", content: generateTasksFile(config, true) });
|
|
23
|
+
files.push({ path: "src/tools/tools.py", content: generateToolsFile() });
|
|
24
|
+
for (const f of (0, app_scaffold_js_1.generateAppInfraFiles)(config))
|
|
25
|
+
files.push(f);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
files.push({ path: "crew.py", content: generateCrewFile(config, false) });
|
|
29
|
+
files.push({ path: "agents.py", content: generateAgentsFile(config) });
|
|
30
|
+
files.push({ path: "tasks.py", content: generateTasksFile(config) });
|
|
31
|
+
files.push({ path: "tools.py", content: generateToolsFile() });
|
|
32
|
+
files.push({ path: "run.py", content: generateRunFile(config) });
|
|
33
|
+
}
|
|
34
|
+
const baseReqs = `crewai>=0.80.0\npython-dotenv>=1.0.0\nagentvoy-guard>=0.1.0\n`;
|
|
35
|
+
files.push({ path: "requirements.txt", content: isApp ? (0, app_scaffold_js_1.appendAppRequirements)(baseReqs) : baseReqs });
|
|
36
|
+
files.push({ path: ".env.example", content: generateEnvExample(config) });
|
|
37
|
+
files.push({
|
|
38
|
+
path: "agent.guard.yml",
|
|
39
|
+
content: (0, config_js_1.generateDefaultConfig)(config.projectName, config.model.provider, config.model.model),
|
|
40
|
+
});
|
|
49
41
|
return {
|
|
50
42
|
files,
|
|
51
43
|
dependencies: {},
|
|
52
44
|
devDependencies: {},
|
|
53
|
-
scripts: {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"pip install -r requirements.txt",
|
|
58
|
-
"cp .env.example .env",
|
|
59
|
-
"Add your API key to .env",
|
|
60
|
-
"python run.py",
|
|
61
|
-
],
|
|
45
|
+
scripts: { start: isApp ? "uvicorn server:app --reload --port 8080" : "python run.py" },
|
|
46
|
+
postInstallInstructions: isApp
|
|
47
|
+
? (0, app_scaffold_js_1.appPostInstallInstructions)("OPENAI_API_KEY")
|
|
48
|
+
: ["pip install -r requirements.txt", "cp .env.example .env", "Add your API key to .env", "python run.py"],
|
|
62
49
|
};
|
|
63
50
|
},
|
|
64
51
|
validateConfig(config) {
|
|
@@ -81,15 +68,46 @@ exports.crewaiAdapter = {
|
|
|
81
68
|
};
|
|
82
69
|
},
|
|
83
70
|
};
|
|
84
|
-
function
|
|
71
|
+
function generateAppAgentEntry(config) {
|
|
72
|
+
return `"""
|
|
73
|
+
${config.projectName} ā run_agent entry point for server.py
|
|
74
|
+
Wraps the CrewAI crew as a single callable.
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
from dotenv import load_dotenv
|
|
78
|
+
load_dotenv()
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def run_agent(prompt: str) -> str:
|
|
82
|
+
"""Run the CrewAI crew with the given prompt, enforcing agent.guard.yml."""
|
|
83
|
+
from agentvoy_guard import Guard
|
|
84
|
+
guard = Guard.from_config()
|
|
85
|
+
|
|
86
|
+
with guard.session() as session:
|
|
87
|
+
session.check_input(prompt)
|
|
88
|
+
|
|
89
|
+
from src.agents.crew import create_crew
|
|
90
|
+
crew = create_crew()
|
|
91
|
+
result = crew.kickoff(inputs={"topic": prompt})
|
|
92
|
+
final = str(result)
|
|
93
|
+
|
|
94
|
+
session.check_output(final)
|
|
95
|
+
|
|
96
|
+
print(f"[guard] {guard.last_summary}")
|
|
97
|
+
return final
|
|
98
|
+
`;
|
|
99
|
+
}
|
|
100
|
+
function generateCrewFile(config, isApp = false) {
|
|
101
|
+
const agentsImport = isApp ? "from src.agents.agents import researcher, writer" : "from agents import researcher, writer";
|
|
102
|
+
const tasksImport = isApp ? "from src.agents.tasks import research_task, write_task" : "from tasks import research_task, write_task";
|
|
85
103
|
return `"""
|
|
86
104
|
${config.projectName} Crew ā Built with AgentVoy
|
|
87
105
|
https://github.com/agentvoy
|
|
88
106
|
"""
|
|
89
107
|
|
|
90
108
|
from crewai import Crew, Process
|
|
91
|
-
|
|
92
|
-
|
|
109
|
+
${agentsImport}
|
|
110
|
+
${tasksImport}
|
|
93
111
|
|
|
94
112
|
|
|
95
113
|
def create_crew() -> Crew:
|
|
@@ -103,14 +121,15 @@ def create_crew() -> Crew:
|
|
|
103
121
|
return crew
|
|
104
122
|
`;
|
|
105
123
|
}
|
|
106
|
-
function generateAgentsFile(config) {
|
|
124
|
+
function generateAgentsFile(config, isApp = false) {
|
|
107
125
|
const model = config.model.model || "gpt-4o";
|
|
126
|
+
const toolsImport = isApp ? "from src.tools.tools import search_tool" : "from tools import search_tool";
|
|
108
127
|
return `"""
|
|
109
128
|
Agent definitions for ${config.projectName}.
|
|
110
129
|
"""
|
|
111
130
|
|
|
112
131
|
from crewai import Agent
|
|
113
|
-
|
|
132
|
+
${toolsImport}
|
|
114
133
|
|
|
115
134
|
|
|
116
135
|
researcher = Agent(
|
|
@@ -135,13 +154,14 @@ accuracy.""",
|
|
|
135
154
|
)
|
|
136
155
|
`;
|
|
137
156
|
}
|
|
138
|
-
function generateTasksFile(config) {
|
|
157
|
+
function generateTasksFile(config, isApp = false) {
|
|
158
|
+
const agentsImport = isApp ? "from src.agents.agents import researcher, writer" : "from agents import researcher, writer";
|
|
139
159
|
return `"""
|
|
140
160
|
Task definitions for ${config.projectName}.
|
|
141
161
|
"""
|
|
142
162
|
|
|
143
163
|
from crewai import Task
|
|
144
|
-
|
|
164
|
+
${agentsImport}
|
|
145
165
|
|
|
146
166
|
|
|
147
167
|
research_task = Task(
|
|
@@ -197,18 +217,25 @@ def main():
|
|
|
197
217
|
print("\\nš ${config.projectName} ā Powered by AgentVoy")
|
|
198
218
|
print("=" * 50)
|
|
199
219
|
|
|
220
|
+
from agentvoy_guard import Guard
|
|
221
|
+
guard = Guard.from_config()
|
|
222
|
+
|
|
200
223
|
topic = input("\\nEnter a topic to research: ")
|
|
201
224
|
if not topic.strip():
|
|
202
225
|
print("No topic provided. Exiting.")
|
|
203
226
|
return
|
|
204
227
|
|
|
205
|
-
|
|
206
|
-
|
|
228
|
+
with guard.session() as session:
|
|
229
|
+
session.check_input(topic)
|
|
230
|
+
crew = create_crew()
|
|
231
|
+
result = crew.kickoff(inputs={"topic": topic})
|
|
232
|
+
session.check_output(str(result))
|
|
207
233
|
|
|
208
234
|
print("\\n" + "=" * 50)
|
|
209
235
|
print("RESULT:")
|
|
210
236
|
print("=" * 50)
|
|
211
237
|
print(result)
|
|
238
|
+
print(f"\\n[guard] {guard.last_summary}")
|
|
212
239
|
|
|
213
240
|
|
|
214
241
|
if __name__ == "__main__":
|
|
@@ -219,6 +246,7 @@ function generateRequirements() {
|
|
|
219
246
|
return `crewai>=0.80.0
|
|
220
247
|
crewai-tools>=0.14.0
|
|
221
248
|
python-dotenv>=1.0.0
|
|
249
|
+
agentvoy-guard>=0.1.0
|
|
222
250
|
`;
|
|
223
251
|
}
|
|
224
252
|
function generateEnvExample(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crewai.js","sourceRoot":"","sources":["../../src/adapters/crewai.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAUH,4CAAqD;
|
|
1
|
+
{"version":3,"file":"crewai.js","sourceRoot":"","sources":["../../src/adapters/crewai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-adk.d.ts","sourceRoot":"","sources":["../../src/adapters/google-adk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"google-adk.d.ts","sourceRoot":"","sources":["../../src/adapters/google-adk.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,gBAAgB,EAAE,gBAmE9B,CAAC"}
|
|
@@ -7,53 +7,49 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.googleAdkAdapter = void 0;
|
|
9
9
|
const config_js_1 = require("../config.js");
|
|
10
|
+
const app_scaffold_js_1 = require("./app-scaffold.js");
|
|
10
11
|
exports.googleAdkAdapter = {
|
|
11
12
|
name: "google-adk",
|
|
12
13
|
displayName: "Google ADK",
|
|
13
14
|
language: "python",
|
|
14
15
|
async scaffold(config) {
|
|
16
|
+
const isApp = config.buildMode === "app";
|
|
15
17
|
const agentDir = config.projectName.replace(/-/g, "_");
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
{
|
|
22
|
-
path:
|
|
23
|
-
content: generateAgentFile(config)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
];
|
|
18
|
+
const agentNames = config.agentNames ?? ["agent"];
|
|
19
|
+
const files = [];
|
|
20
|
+
if (isApp) {
|
|
21
|
+
// Standard run_agent entry point for server.py
|
|
22
|
+
files.push({ path: "src/agents/agent.py", content: generateAppAgentEntry(config) });
|
|
23
|
+
for (const agentName of agentNames) {
|
|
24
|
+
files.push({ path: `src/agents/${agentName}_adk/__init__.py`, content: "" });
|
|
25
|
+
files.push({ path: `src/agents/${agentName}_adk/agent.py`, content: generateAgentFile(config) });
|
|
26
|
+
files.push({ path: `src/agents/${agentName}_adk/tools.py`, content: generateToolsFile(config) });
|
|
27
|
+
}
|
|
28
|
+
for (const f of (0, app_scaffold_js_1.generateAppInfraFiles)(config))
|
|
29
|
+
files.push(f);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
files.push({ path: `${agentDir}/__init__.py`, content: "" });
|
|
33
|
+
files.push({ path: `${agentDir}/agent.py`, content: generateAgentFile(config) });
|
|
34
|
+
files.push({ path: `${agentDir}/tools.py`, content: generateToolsFile(config) });
|
|
35
|
+
}
|
|
36
|
+
const baseReqs = `google-adk>=0.5.0\npython-dotenv>=1.0.0\nagentvoy-guard>=0.1.0\n`;
|
|
37
|
+
files.push({ path: "requirements.txt", content: isApp ? (0, app_scaffold_js_1.appendAppRequirements)(baseReqs) : baseReqs });
|
|
38
|
+
files.push({ path: ".env.example", content: "GOOGLE_API_KEY=your-api-key-here\n" });
|
|
39
|
+
files.push({
|
|
40
|
+
path: "agent.guard.yml",
|
|
41
|
+
content: (0, config_js_1.generateDefaultConfig)(config.projectName, "google", config.model.model || "gemini-2.0-flash"),
|
|
42
|
+
});
|
|
42
43
|
return {
|
|
43
44
|
files,
|
|
44
45
|
dependencies: {},
|
|
45
46
|
devDependencies: {},
|
|
46
|
-
scripts:
|
|
47
|
-
start:
|
|
48
|
-
web: `adk web ${agentDir}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"pip install -r requirements.txt",
|
|
52
|
-
"cp .env.example .env",
|
|
53
|
-
"Add your GOOGLE_API_KEY to .env",
|
|
54
|
-
`adk run ${agentDir}`,
|
|
55
|
-
`Or use the web UI: adk web ${agentDir}`,
|
|
56
|
-
],
|
|
47
|
+
scripts: isApp
|
|
48
|
+
? { start: "uvicorn server:app --reload --port 8080" }
|
|
49
|
+
: { start: `adk run ${agentDir}`, web: `adk web ${agentDir}` },
|
|
50
|
+
postInstallInstructions: isApp
|
|
51
|
+
? (0, app_scaffold_js_1.appPostInstallInstructions)("GOOGLE_API_KEY")
|
|
52
|
+
: ["pip install -r requirements.txt", "cp .env.example .env", "Add your GOOGLE_API_KEY to .env", `adk run ${agentDir}`, `Or use the web UI: adk web ${agentDir}`],
|
|
57
53
|
};
|
|
58
54
|
},
|
|
59
55
|
validateConfig(config) {
|
|
@@ -74,6 +70,45 @@ exports.googleAdkAdapter = {
|
|
|
74
70
|
};
|
|
75
71
|
},
|
|
76
72
|
};
|
|
73
|
+
function generateAppAgentEntry(config) {
|
|
74
|
+
return `"""
|
|
75
|
+
${config.projectName} ā run_agent entry point for server.py
|
|
76
|
+
Wraps the Google ADK agent as a single callable.
|
|
77
|
+
"""
|
|
78
|
+
|
|
79
|
+
from dotenv import load_dotenv
|
|
80
|
+
load_dotenv()
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def run_agent(prompt: str) -> str:
|
|
84
|
+
"""Run the Google ADK agent with the given prompt, enforcing agent.guard.yml."""
|
|
85
|
+
from agentvoy_guard import Guard
|
|
86
|
+
from google.adk.runners import Runner
|
|
87
|
+
from google.adk.sessions import InMemorySessionService
|
|
88
|
+
from src.agents.agent_adk.agent import root_agent
|
|
89
|
+
|
|
90
|
+
guard = Guard.from_config()
|
|
91
|
+
|
|
92
|
+
with guard.session() as session:
|
|
93
|
+
session.check_input(prompt)
|
|
94
|
+
|
|
95
|
+
session_service = InMemorySessionService()
|
|
96
|
+
adk_session = session_service.create_session(app_name="${config.projectName}", user_id="user")
|
|
97
|
+
runner = Runner(agent=root_agent, app_name="${config.projectName}", session_service=session_service)
|
|
98
|
+
|
|
99
|
+
from google.genai import types
|
|
100
|
+
content = types.Content(role="user", parts=[types.Part(text=prompt)])
|
|
101
|
+
final = ""
|
|
102
|
+
for event in runner.run(user_id="user", session_id=adk_session.id, new_message=content):
|
|
103
|
+
if event.is_final_response() and event.content and event.content.parts:
|
|
104
|
+
final = event.content.parts[0].text or ""
|
|
105
|
+
|
|
106
|
+
session.check_output(final)
|
|
107
|
+
|
|
108
|
+
print(f"[guard] {guard.last_summary}")
|
|
109
|
+
return final
|
|
110
|
+
`;
|
|
111
|
+
}
|
|
77
112
|
function generateAgentFile(config) {
|
|
78
113
|
const model = config.model.model || "gemini-2.0-flash";
|
|
79
114
|
return `"""
|
|
@@ -141,6 +176,7 @@ def read_file(path: str) -> dict:
|
|
|
141
176
|
function generateRequirements() {
|
|
142
177
|
return `google-adk>=1.0.0
|
|
143
178
|
python-dotenv>=1.0.0
|
|
179
|
+
agentvoy-guard>=0.1.0
|
|
144
180
|
`;
|
|
145
181
|
}
|
|
146
182
|
//# sourceMappingURL=google-adk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-adk.js","sourceRoot":"","sources":["../../src/adapters/google-adk.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAUH,4CAAqD;
|
|
1
|
+
{"version":3,"file":"google-adk.js","sourceRoot":"","sources":["../../src/adapters/google-adk.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/index.js
CHANGED
|
@@ -18,10 +18,14 @@ const google_adk_js_1 = require("./google-adk.js");
|
|
|
18
18
|
const crewai_js_1 = require("./crewai.js");
|
|
19
19
|
const anthropic_js_1 = require("./anthropic.js");
|
|
20
20
|
const langgraph_js_1 = require("./langgraph.js");
|
|
21
|
+
const llamaindex_js_1 = require("./llamaindex.js");
|
|
22
|
+
const autogen_js_1 = require("./autogen.js");
|
|
21
23
|
// Register built-in adapters
|
|
22
24
|
(0, registry_js_2.registerAdapter)(openai_js_1.openaiAdapter);
|
|
23
25
|
(0, registry_js_2.registerAdapter)(google_adk_js_1.googleAdkAdapter);
|
|
24
26
|
(0, registry_js_2.registerAdapter)(crewai_js_1.crewaiAdapter);
|
|
25
27
|
(0, registry_js_2.registerAdapter)(anthropic_js_1.anthropicAdapter);
|
|
26
28
|
(0, registry_js_2.registerAdapter)(langgraph_js_1.langgraphAdapter);
|
|
29
|
+
(0, registry_js_2.registerAdapter)(llamaindex_js_1.llamaindexAdapter);
|
|
30
|
+
(0, registry_js_2.registerAdapter)(autogen_js_1.autogenAdapter);
|
|
27
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAsG;AAA7F,8GAAA,eAAe,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,yGAAA,UAAU,OAAA;AAE9E,+CAAgD;AAChD,2CAA4C;AAC5C,mDAAmD;AACnD,2CAA4C;AAC5C,iDAAkD;AAClD,iDAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAsG;AAA7F,8GAAA,eAAe,OAAA;AAAE,yGAAA,UAAU,OAAA;AAAE,2GAAA,YAAY,OAAA;AAAE,6GAAA,cAAc,OAAA;AAAE,yGAAA,UAAU,OAAA;AAE9E,+CAAgD;AAChD,2CAA4C;AAC5C,mDAAmD;AACnD,2CAA4C;AAC5C,iDAAkD;AAClD,iDAAkD;AAClD,mDAAoD;AACpD,6CAA8C;AAE9C,6BAA6B;AAC7B,IAAA,6BAAe,EAAC,yBAAa,CAAC,CAAC;AAC/B,IAAA,6BAAe,EAAC,gCAAgB,CAAC,CAAC;AAClC,IAAA,6BAAe,EAAC,yBAAa,CAAC,CAAC;AAC/B,IAAA,6BAAe,EAAC,+BAAgB,CAAC,CAAC;AAClC,IAAA,6BAAe,EAAC,+BAAgB,CAAC,CAAC;AAClC,IAAA,6BAAe,EAAC,iCAAiB,CAAC,CAAC;AACnC,IAAA,6BAAe,EAAC,2BAAc,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langgraph.d.ts","sourceRoot":"","sources":["../../src/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"langgraph.d.ts","sourceRoot":"","sources":["../../src/adapters/langgraph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,gBAAgB,EAAE,gBAkE9B,CAAC"}
|
|
@@ -7,54 +7,45 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.langgraphAdapter = void 0;
|
|
9
9
|
const config_js_1 = require("../config.js");
|
|
10
|
+
const app_scaffold_js_1 = require("./app-scaffold.js");
|
|
10
11
|
exports.langgraphAdapter = {
|
|
11
12
|
name: "langgraph",
|
|
12
13
|
displayName: "LangGraph",
|
|
13
14
|
language: "python",
|
|
14
15
|
async scaffold(config) {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
path:
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
path: "agent.guard.yml",
|
|
42
|
-
content: (0, config_js_1.generateDefaultConfig)(config.projectName, "langgraph", config.model.model || "gpt-4o"),
|
|
43
|
-
},
|
|
44
|
-
];
|
|
16
|
+
const isApp = config.buildMode === "app";
|
|
17
|
+
const agentNames = config.agentNames ?? ["agent"];
|
|
18
|
+
const files = [];
|
|
19
|
+
if (isApp) {
|
|
20
|
+
for (const agentName of agentNames) {
|
|
21
|
+
files.push({ path: `src/agents/${agentName}.py`, content: generateAgentFile(config, agentName) });
|
|
22
|
+
files.push({ path: `src/agents/${agentName}_state.py`, content: generateStateFile(config, agentName) });
|
|
23
|
+
}
|
|
24
|
+
files.push({ path: "src/tools/tools.py", content: generateToolsFile() });
|
|
25
|
+
for (const f of (0, app_scaffold_js_1.generateAppInfraFiles)(config))
|
|
26
|
+
files.push(f);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
files.push({ path: "agent.py", content: generateAgentFile(config, "agent") });
|
|
30
|
+
files.push({ path: "tools.py", content: generateToolsFile() });
|
|
31
|
+
files.push({ path: "state.py", content: generateStateFile(config, "agent") });
|
|
32
|
+
files.push({ path: "run.py", content: generateRunFile(config) });
|
|
33
|
+
}
|
|
34
|
+
const baseReqs = generateRequirements(config);
|
|
35
|
+
files.push({ path: "requirements.txt", content: isApp ? (0, app_scaffold_js_1.appendAppRequirements)(baseReqs) : baseReqs });
|
|
36
|
+
files.push({ path: ".env.example", content: generateEnvExample(config) });
|
|
37
|
+
files.push({
|
|
38
|
+
path: "agent.guard.yml",
|
|
39
|
+
content: (0, config_js_1.generateDefaultConfig)(config.projectName, "langgraph", config.model.model || "gpt-4o"),
|
|
40
|
+
});
|
|
45
41
|
return {
|
|
46
42
|
files,
|
|
47
43
|
dependencies: {},
|
|
48
44
|
devDependencies: {},
|
|
49
|
-
scripts: {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"pip install -r requirements.txt",
|
|
54
|
-
"cp .env.example .env",
|
|
55
|
-
`Add your ${getApiKeyEnv(config)} to .env`,
|
|
56
|
-
"python run.py",
|
|
57
|
-
],
|
|
45
|
+
scripts: { start: isApp ? "uvicorn server:app --reload --port 8080" : "python run.py" },
|
|
46
|
+
postInstallInstructions: isApp
|
|
47
|
+
? (0, app_scaffold_js_1.appPostInstallInstructions)(getApiKeyEnv(config))
|
|
48
|
+
: ["pip install -r requirements.txt", "cp .env.example .env", `Add your ${getApiKeyEnv(config)} to .env`, "python run.py"],
|
|
58
49
|
};
|
|
59
50
|
},
|
|
60
51
|
validateConfig(config) {
|
|
@@ -110,7 +101,7 @@ function getLLMClass(config) {
|
|
|
110
101
|
};
|
|
111
102
|
return classMap[config.model.provider] || "ChatOpenAI";
|
|
112
103
|
}
|
|
113
|
-
function generateAgentFile(config) {
|
|
104
|
+
function generateAgentFile(config, _agentName = "agent") {
|
|
114
105
|
const model = config.model.model || "gpt-4o";
|
|
115
106
|
const maxIterations = config.guardrails?.behavior?.max_iterations || 20;
|
|
116
107
|
const llmImport = getLLMImport(config);
|
|
@@ -195,7 +186,7 @@ def run_agent(prompt: str) -> str:
|
|
|
195
186
|
return "Done."
|
|
196
187
|
`;
|
|
197
188
|
}
|
|
198
|
-
function generateStateFile(_config) {
|
|
189
|
+
function generateStateFile(_config, _agentName = "agent") {
|
|
199
190
|
return `"""
|
|
200
191
|
Agent state definition for LangGraph.
|
|
201
192
|
"""
|
|
@@ -262,10 +253,13 @@ Run the ${config.projectName} agent.
|
|
|
262
253
|
"""
|
|
263
254
|
|
|
264
255
|
from dotenv import load_dotenv
|
|
256
|
+
from agentvoy_guard import Guard
|
|
265
257
|
from agent import run_agent
|
|
266
258
|
|
|
267
259
|
load_dotenv()
|
|
268
260
|
|
|
261
|
+
guard = Guard.from_config()
|
|
262
|
+
|
|
269
263
|
|
|
270
264
|
def main():
|
|
271
265
|
print("\\nš ${config.projectName} ā Powered by AgentVoy")
|
|
@@ -282,8 +276,12 @@ def main():
|
|
|
282
276
|
continue
|
|
283
277
|
|
|
284
278
|
print("\\nThinking...\\n")
|
|
285
|
-
|
|
279
|
+
with guard.session() as session:
|
|
280
|
+
session.check_input(prompt)
|
|
281
|
+
result = run_agent(prompt)
|
|
282
|
+
session.check_output(result)
|
|
286
283
|
print(f"\\n{result}\\n")
|
|
284
|
+
print(f"[guard] {guard.last_summary}")
|
|
287
285
|
except KeyboardInterrupt:
|
|
288
286
|
print("\\n\\nGoodbye!")
|
|
289
287
|
break
|
|
@@ -300,6 +298,7 @@ langchain>=0.3.0
|
|
|
300
298
|
langchain-core>=0.3.0
|
|
301
299
|
${langchainPkg}>=0.2.0
|
|
302
300
|
python-dotenv>=1.0.0
|
|
301
|
+
agentvoy-guard>=0.1.0
|
|
303
302
|
`;
|
|
304
303
|
}
|
|
305
304
|
function generateEnvExample(config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../src/adapters/langgraph.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAUH,4CAAqD;
|
|
1
|
+
{"version":3,"file":"langgraph.js","sourceRoot":"","sources":["../../src/adapters/langgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llamaindex.d.ts","sourceRoot":"","sources":["../../src/adapters/llamaindex.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,iBAAiB,EAAE,gBAsE/B,CAAC"}
|