@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/README.md
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# @agentvoy/core
|
|
2
|
+
|
|
3
|
+
Core engine for [AgentVoy](https://agentvoy.com) — the universal AI agent development platform.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@agentvoy/core)
|
|
6
|
+
[](https://github.com/agentvoy/agentvoy/blob/main/LICENSE)
|
|
7
|
+
|
|
8
|
+
## What's in here
|
|
9
|
+
|
|
10
|
+
This package provides the foundation for AgentVoy:
|
|
11
|
+
|
|
12
|
+
- **Framework adapter interface** — `FrameworkAdapter` type that every framework plugin implements
|
|
13
|
+
- **Adapter registry** — register and look up adapters by name
|
|
14
|
+
- **Config parser** — parse and validate `agent.guard.yml`
|
|
15
|
+
- **Default config generator** — generate guardrail configs for scaffolded projects
|
|
16
|
+
- **Built-in adapters** — OpenAI Agents SDK, Google ADK, CrewAI, LangGraph, Anthropic SDK
|
|
17
|
+
|
|
18
|
+
## Usage
|
|
19
|
+
|
|
20
|
+
This package is consumed internally by the `agentvoy` CLI and `create-agentvoy`. You typically don't need to install it directly.
|
|
21
|
+
|
|
22
|
+
If you're **building a custom adapter**, implement the `FrameworkAdapter` interface:
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import type { FrameworkAdapter, ScaffoldConfig, ScaffoldResult } from "@agentvoy/core";
|
|
26
|
+
|
|
27
|
+
export const myAdapter: FrameworkAdapter = {
|
|
28
|
+
name: "my-framework",
|
|
29
|
+
displayName: "My Framework",
|
|
30
|
+
language: "python",
|
|
31
|
+
|
|
32
|
+
async scaffold(config: ScaffoldConfig): Promise<ScaffoldResult> {
|
|
33
|
+
return {
|
|
34
|
+
files: [
|
|
35
|
+
{ path: "agent.py", content: "..." },
|
|
36
|
+
{ path: "requirements.txt", content: "my-framework\nagentvoy-guard>=0.1.0\n" },
|
|
37
|
+
],
|
|
38
|
+
dependencies: {},
|
|
39
|
+
devDependencies: {},
|
|
40
|
+
scripts: { start: "python run.py" },
|
|
41
|
+
postInstallInstructions: ["pip install -r requirements.txt", "python run.py"],
|
|
42
|
+
};
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
validateConfig(config) {
|
|
46
|
+
return { valid: true, errors: [], warnings: [] };
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
getDependencies() {
|
|
50
|
+
return { "my-framework": ">=1.0.0" };
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
See [CONTRIBUTING.md](https://github.com/agentvoy/agentvoy/blob/main/CONTRIBUTING.md) for the full guide.
|
|
56
|
+
|
|
57
|
+
## Links
|
|
58
|
+
|
|
59
|
+
- [GitHub](https://github.com/agentvoy/agentvoy)
|
|
60
|
+
- [Website](https://agentvoy.com)
|
|
61
|
+
- [npm: agentvoy CLI](https://www.npmjs.com/package/agentvoy)
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
Apache 2.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/adapters/anthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/adapters/anthropic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,gBAAgB,EAAE,gBA6D9B,CAAC"}
|
|
@@ -7,50 +7,43 @@
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
exports.anthropicAdapter = void 0;
|
|
9
9
|
const config_js_1 = require("../config.js");
|
|
10
|
+
const app_scaffold_js_1 = require("./app-scaffold.js");
|
|
10
11
|
exports.anthropicAdapter = {
|
|
11
12
|
name: "anthropic",
|
|
12
13
|
displayName: "Anthropic SDK",
|
|
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
|
-
content: (0, config_js_1.generateDefaultConfig)(config.projectName, "anthropic", config.model.model || "claude-sonnet-4-20250514"),
|
|
39
|
-
},
|
|
40
|
-
];
|
|
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
|
+
}
|
|
23
|
+
files.push({ path: "src/tools/tools.py", content: generateToolsFile(config) });
|
|
24
|
+
for (const f of (0, app_scaffold_js_1.generateAppInfraFiles)(config))
|
|
25
|
+
files.push(f);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
files.push({ path: "agent.py", content: generateAgentFile(config, "agent") });
|
|
29
|
+
files.push({ path: "tools.py", content: generateToolsFile(config) });
|
|
30
|
+
files.push({ path: "run.py", content: generateRunFile(config) });
|
|
31
|
+
}
|
|
32
|
+
const baseReqs = `anthropic>=0.40.0\npython-dotenv>=1.0.0\nagentvoy-guard>=0.1.0\n`;
|
|
33
|
+
files.push({ path: "requirements.txt", content: isApp ? (0, app_scaffold_js_1.appendAppRequirements)(baseReqs) : baseReqs });
|
|
34
|
+
files.push({ path: ".env.example", content: "ANTHROPIC_API_KEY=your-api-key-here\n" });
|
|
35
|
+
files.push({
|
|
36
|
+
path: "agent.guard.yml",
|
|
37
|
+
content: (0, config_js_1.generateDefaultConfig)(config.projectName, "anthropic", config.model.model || "claude-sonnet-4-20250514"),
|
|
38
|
+
});
|
|
41
39
|
return {
|
|
42
40
|
files,
|
|
43
41
|
dependencies: {},
|
|
44
42
|
devDependencies: {},
|
|
45
|
-
scripts: {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"pip install -r requirements.txt",
|
|
50
|
-
"cp .env.example .env",
|
|
51
|
-
"Add your ANTHROPIC_API_KEY to .env",
|
|
52
|
-
"python run.py",
|
|
53
|
-
],
|
|
43
|
+
scripts: { start: isApp ? "uvicorn server:app --reload --port 8080" : "python run.py" },
|
|
44
|
+
postInstallInstructions: isApp
|
|
45
|
+
? (0, app_scaffold_js_1.appPostInstallInstructions)("ANTHROPIC_API_KEY")
|
|
46
|
+
: ["pip install -r requirements.txt", "cp .env.example .env", "Add your ANTHROPIC_API_KEY to .env", "python run.py"],
|
|
54
47
|
};
|
|
55
48
|
},
|
|
56
49
|
validateConfig(config) {
|
|
@@ -71,16 +64,20 @@ exports.anthropicAdapter = {
|
|
|
71
64
|
};
|
|
72
65
|
},
|
|
73
66
|
};
|
|
74
|
-
function generateAgentFile(config) {
|
|
67
|
+
function generateAgentFile(config, _agentName = "agent") {
|
|
75
68
|
const model = config.model.model || "claude-sonnet-4-20250514";
|
|
76
69
|
const maxIterations = config.guardrails?.behavior?.max_iterations || 20;
|
|
70
|
+
const isApp = config.buildMode === "app";
|
|
71
|
+
const toolsImport = isApp
|
|
72
|
+
? "from src.tools.tools import get_tools, process_tool_call"
|
|
73
|
+
: "from tools import get_tools, process_tool_call";
|
|
77
74
|
return `"""
|
|
78
75
|
${config.projectName} — Built with AgentVoy
|
|
79
76
|
https://github.com/agentvoy
|
|
80
77
|
"""
|
|
81
78
|
|
|
82
79
|
import anthropic
|
|
83
|
-
|
|
80
|
+
${toolsImport}
|
|
84
81
|
|
|
85
82
|
|
|
86
83
|
def create_client() -> anthropic.Anthropic:
|
|
@@ -89,48 +86,50 @@ def create_client() -> anthropic.Anthropic:
|
|
|
89
86
|
|
|
90
87
|
|
|
91
88
|
def run_agent(prompt: str) -> str:
|
|
92
|
-
"""Run the agent with an agentic loop."""
|
|
89
|
+
"""Run the agent with an agentic loop, enforcing agent.guard.yml at runtime."""
|
|
90
|
+
from agentvoy_guard import Guard
|
|
91
|
+
guard = Guard.from_config()
|
|
92
|
+
|
|
93
93
|
client = create_client()
|
|
94
94
|
tools = get_tools()
|
|
95
95
|
messages = [{"role": "user", "content": prompt}]
|
|
96
96
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
messages.append({"role": "user", "content": tool_results})
|
|
97
|
+
with guard.session() as session:
|
|
98
|
+
session.check_input(prompt)
|
|
99
|
+
|
|
100
|
+
while True:
|
|
101
|
+
session.tick()
|
|
102
|
+
|
|
103
|
+
response = client.messages.create(
|
|
104
|
+
model="${model}",
|
|
105
|
+
max_tokens=8096,
|
|
106
|
+
tools=tools,
|
|
107
|
+
messages=messages,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
session.track_usage(response.usage)
|
|
111
|
+
messages.append({"role": "assistant", "content": response.content})
|
|
112
|
+
|
|
113
|
+
if response.stop_reason == "end_turn":
|
|
114
|
+
for block in response.content:
|
|
115
|
+
if hasattr(block, "text"):
|
|
116
|
+
session.check_output(block.text)
|
|
117
|
+
print(f"[guard] {guard.last_summary}")
|
|
118
|
+
return block.text
|
|
119
|
+
return "Done."
|
|
120
|
+
|
|
121
|
+
if response.stop_reason == "tool_use":
|
|
122
|
+
tool_results = []
|
|
123
|
+
for block in response.content:
|
|
124
|
+
if block.type == "tool_use":
|
|
125
|
+
session.tick_tool()
|
|
126
|
+
result = process_tool_call(block.name, block.input)
|
|
127
|
+
tool_results.append({
|
|
128
|
+
"type": "tool_result",
|
|
129
|
+
"tool_use_id": block.id,
|
|
130
|
+
"content": str(result),
|
|
131
|
+
})
|
|
132
|
+
messages.append({"role": "user", "content": tool_results})
|
|
134
133
|
|
|
135
134
|
return "Max iterations reached."
|
|
136
135
|
`;
|
|
@@ -242,6 +241,7 @@ if __name__ == "__main__":
|
|
|
242
241
|
function generateRequirements() {
|
|
243
242
|
return `anthropic>=0.40.0
|
|
244
243
|
python-dotenv>=1.0.0
|
|
244
|
+
agentvoy-guard>=0.1.0
|
|
245
245
|
`;
|
|
246
246
|
}
|
|
247
247
|
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/adapters/anthropic.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAUH,4CAAqD;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/adapters/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for app-mode scaffolding.
|
|
3
|
+
* Used by all framework adapters when buildMode="app".
|
|
4
|
+
*/
|
|
5
|
+
import type { ScaffoldConfig, GeneratedFile } from "../types.js";
|
|
6
|
+
/** Common infrastructure files for the src/ app structure */
|
|
7
|
+
export declare function generateAppInfraFiles(config: ScaffoldConfig): GeneratedFile[];
|
|
8
|
+
/** Append app deployment dependencies to a requirements string */
|
|
9
|
+
export declare function appendAppRequirements(base: string): string;
|
|
10
|
+
/** Post-install instructions for app mode */
|
|
11
|
+
export declare function appPostInstallInstructions(envVar: string): string[];
|
|
12
|
+
//# sourceMappingURL=app-scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-scaffold.d.ts","sourceRoot":"","sources":["../../src/adapters/app-scaffold.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,6DAA6D;AAC7D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,aAAa,EAAE,CAiB7E;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED,6CAA6C;AAC7C,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAQnE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared helpers for app-mode scaffolding.
|
|
4
|
+
* Used by all framework adapters when buildMode="app".
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.generateAppInfraFiles = generateAppInfraFiles;
|
|
8
|
+
exports.appendAppRequirements = appendAppRequirements;
|
|
9
|
+
exports.appPostInstallInstructions = appPostInstallInstructions;
|
|
10
|
+
/** Common infrastructure files for the src/ app structure */
|
|
11
|
+
function generateAppInfraFiles(config) {
|
|
12
|
+
return [
|
|
13
|
+
{ path: "src/__init__.py", content: "" },
|
|
14
|
+
{ path: "src/agents/__init__.py", content: "" },
|
|
15
|
+
{ path: "src/tools/__init__.py", content: "" },
|
|
16
|
+
{ path: "src/config/__init__.py", content: "" },
|
|
17
|
+
{
|
|
18
|
+
path: "src/config/settings.py",
|
|
19
|
+
content: `"""App settings — Generated by AgentVoy"""
|
|
20
|
+
import os
|
|
21
|
+
|
|
22
|
+
PORT = int(os.getenv("PORT", "8080"))
|
|
23
|
+
DEBUG = os.getenv("DEBUG", "false").lower() == "true"
|
|
24
|
+
AGENT_NAME = "${config.projectName}"
|
|
25
|
+
`,
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
/** Append app deployment dependencies to a requirements string */
|
|
30
|
+
function appendAppRequirements(base) {
|
|
31
|
+
const appDeps = [
|
|
32
|
+
"fastapi>=0.115.0",
|
|
33
|
+
"uvicorn[standard]>=0.34.0",
|
|
34
|
+
"streamlit>=1.40.0",
|
|
35
|
+
"requests>=2.32.0",
|
|
36
|
+
];
|
|
37
|
+
return base.trimEnd() + "\n" + appDeps.join("\n") + "\n";
|
|
38
|
+
}
|
|
39
|
+
/** Post-install instructions for app mode */
|
|
40
|
+
function appPostInstallInstructions(envVar) {
|
|
41
|
+
return [
|
|
42
|
+
"pip install -r requirements.txt",
|
|
43
|
+
"cp .env.example .env",
|
|
44
|
+
`Add your ${envVar} to .env`,
|
|
45
|
+
"uvicorn server:app --reload --port 8080",
|
|
46
|
+
"streamlit run streamlit_app.py # in a second terminal",
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=app-scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-scaffold.js","sourceRoot":"","sources":["../../src/adapters/app-scaffold.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAKH,sDAiBC;AAGD,sDAQC;AAGD,gEAQC;AAxCD,6DAA6D;AAC7D,SAAgB,qBAAqB,CAAC,MAAsB;IAC1D,OAAO;QACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE;QACxC,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9C,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C;YACE,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE;;;;;gBAKC,MAAM,CAAC,WAAW;CACjC;SACI;KACF,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,SAAgB,qBAAqB,CAAC,IAAY;IAChD,MAAM,OAAO,GAAG;QACd,kBAAkB;QAClB,2BAA2B;QAC3B,mBAAmB;QACnB,kBAAkB;KACnB,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC3D,CAAC;AAED,6CAA6C;AAC7C,SAAgB,0BAA0B,CAAC,MAAc;IACvD,OAAO;QACL,iCAAiC;QACjC,sBAAsB;QACtB,YAAY,MAAM,UAAU;QAC5B,yCAAyC;QACzC,wDAAwD;KACzD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autogen.d.ts","sourceRoot":"","sources":["../../src/adapters/autogen.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,cAAc,EAAE,gBAqE5B,CAAC"}
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* AutoGen Adapter
|
|
4
|
+
*
|
|
5
|
+
* Scaffolds projects using Microsoft AutoGen (Python).
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.autogenAdapter = void 0;
|
|
9
|
+
const config_js_1 = require("../config.js");
|
|
10
|
+
const app_scaffold_js_1 = require("./app-scaffold.js");
|
|
11
|
+
exports.autogenAdapter = {
|
|
12
|
+
name: "autogen",
|
|
13
|
+
displayName: "AutoGen",
|
|
14
|
+
language: "python",
|
|
15
|
+
async scaffold(config) {
|
|
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({
|
|
22
|
+
path: `src/agents/${agentName}.py`,
|
|
23
|
+
content: generateAgentFile(config, agentName),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
files.push({ path: "src/tools/tools.py", content: generateToolsFile(config) });
|
|
27
|
+
for (const f of (0, app_scaffold_js_1.generateAppInfraFiles)(config))
|
|
28
|
+
files.push(f);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
files.push({ path: "agent.py", content: generateAgentFile(config, "agent") });
|
|
32
|
+
files.push({ path: "tools.py", content: generateToolsFile(config) });
|
|
33
|
+
files.push({ path: "run.py", content: generateRunFile(config) });
|
|
34
|
+
}
|
|
35
|
+
const envVar = getEnvVar(config.model.provider);
|
|
36
|
+
files.push({ path: "requirements.txt", content: generateRequirements(isApp) });
|
|
37
|
+
files.push({ path: ".env.example", content: `${envVar}=your-api-key-here\n` });
|
|
38
|
+
files.push({
|
|
39
|
+
path: "agent.guard.yml",
|
|
40
|
+
content: (0, config_js_1.generateDefaultConfig)(config.projectName, config.model.provider, config.model.model),
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
files,
|
|
44
|
+
dependencies: {},
|
|
45
|
+
devDependencies: {},
|
|
46
|
+
scripts: { start: isApp ? "uvicorn server:app --reload --port 8080" : "python run.py" },
|
|
47
|
+
postInstallInstructions: isApp
|
|
48
|
+
? (0, app_scaffold_js_1.appPostInstallInstructions)(envVar)
|
|
49
|
+
: [
|
|
50
|
+
"pip install -r requirements.txt",
|
|
51
|
+
"cp .env.example .env",
|
|
52
|
+
`Add your ${envVar} to .env`,
|
|
53
|
+
"python run.py",
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
validateConfig(config) {
|
|
58
|
+
const errors = [];
|
|
59
|
+
const warnings = [];
|
|
60
|
+
if (!["openai", "anthropic"].includes(config.model.provider)) {
|
|
61
|
+
warnings.push({
|
|
62
|
+
field: "model.provider",
|
|
63
|
+
message: `AutoGen works best with openai or anthropic. Got "${config.model.provider}"`,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return { valid: errors.length === 0, errors, warnings };
|
|
67
|
+
},
|
|
68
|
+
getDependencies() {
|
|
69
|
+
return {
|
|
70
|
+
"pyautogen": ">=0.4.0",
|
|
71
|
+
"python-dotenv": ">=1.0.0",
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
function getLLMConfig(config) {
|
|
76
|
+
const model = config.model.model || "gpt-4o";
|
|
77
|
+
const provider = config.model.provider;
|
|
78
|
+
if (provider === "anthropic") {
|
|
79
|
+
return `llm_config = {
|
|
80
|
+
"config_list": [
|
|
81
|
+
{
|
|
82
|
+
"model": "${model}",
|
|
83
|
+
"api_type": "anthropic",
|
|
84
|
+
"api_key": os.environ["ANTHROPIC_API_KEY"],
|
|
85
|
+
}
|
|
86
|
+
],
|
|
87
|
+
}`;
|
|
88
|
+
}
|
|
89
|
+
return `llm_config = {
|
|
90
|
+
"config_list": [
|
|
91
|
+
{
|
|
92
|
+
"model": "${model}",
|
|
93
|
+
"api_key": os.environ["OPENAI_API_KEY"],
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
}`;
|
|
97
|
+
}
|
|
98
|
+
function getEnvVar(provider) {
|
|
99
|
+
const map = {
|
|
100
|
+
openai: "OPENAI_API_KEY",
|
|
101
|
+
anthropic: "ANTHROPIC_API_KEY",
|
|
102
|
+
google: "GOOGLE_API_KEY",
|
|
103
|
+
groq: "GROQ_API_KEY",
|
|
104
|
+
mistral: "MISTRAL_API_KEY",
|
|
105
|
+
};
|
|
106
|
+
return map[provider] || "OPENAI_API_KEY";
|
|
107
|
+
}
|
|
108
|
+
function generateAgentFile(config, agentName) {
|
|
109
|
+
const isApp = config.buildMode === "app";
|
|
110
|
+
const toolsImport = isApp
|
|
111
|
+
? "from src.tools.tools import get_tool_functions"
|
|
112
|
+
: "from tools import get_tool_functions";
|
|
113
|
+
const llmConfig = getLLMConfig(config);
|
|
114
|
+
const maxReplies = config.guardrails?.behavior?.max_iterations || 20;
|
|
115
|
+
return `"""
|
|
116
|
+
${agentName} agent — Part of ${config.projectName} (Built with AgentVoy)
|
|
117
|
+
"""
|
|
118
|
+
|
|
119
|
+
import os
|
|
120
|
+
import asyncio
|
|
121
|
+
from dotenv import load_dotenv
|
|
122
|
+
from autogen import AssistantAgent, UserProxyAgent
|
|
123
|
+
${toolsImport}
|
|
124
|
+
|
|
125
|
+
load_dotenv()
|
|
126
|
+
|
|
127
|
+
${llmConfig}
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def create_agent() -> AssistantAgent:
|
|
131
|
+
"""Create and configure the AutoGen assistant agent."""
|
|
132
|
+
tools = get_tool_functions()
|
|
133
|
+
|
|
134
|
+
assistant = AssistantAgent(
|
|
135
|
+
name="${agentName}",
|
|
136
|
+
system_message="""You are a helpful AI assistant.
|
|
137
|
+
|
|
138
|
+
Follow these guidelines:
|
|
139
|
+
- Be concise and accurate
|
|
140
|
+
- Ask for clarification when the request is ambiguous
|
|
141
|
+
- Respect the guardrails defined in agent.guard.yml
|
|
142
|
+
""",
|
|
143
|
+
llm_config=llm_config,
|
|
144
|
+
max_consecutive_auto_reply=${maxReplies},
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
# Register tools
|
|
148
|
+
for tool_fn in tools:
|
|
149
|
+
assistant.register_for_llm(description=tool_fn.__doc__ or "")(tool_fn)
|
|
150
|
+
|
|
151
|
+
return assistant
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def run_agent(prompt: str) -> str:
|
|
155
|
+
"""Run the agent with the given prompt, enforcing agent.guard.yml at runtime."""
|
|
156
|
+
import asyncio
|
|
157
|
+
from agentvoy_guard import Guard
|
|
158
|
+
guard = Guard.from_config()
|
|
159
|
+
|
|
160
|
+
async def _run():
|
|
161
|
+
assistant = create_agent()
|
|
162
|
+
|
|
163
|
+
user_proxy = UserProxyAgent(
|
|
164
|
+
name="user_proxy",
|
|
165
|
+
human_input_mode="NEVER",
|
|
166
|
+
max_consecutive_auto_reply=1,
|
|
167
|
+
is_termination_msg=lambda msg: msg.get("content", "").rstrip().endswith("TERMINATE"),
|
|
168
|
+
code_execution_config=False,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
await user_proxy.a_initiate_chat(
|
|
172
|
+
assistant,
|
|
173
|
+
message=prompt,
|
|
174
|
+
max_turns=2,
|
|
175
|
+
)
|
|
176
|
+
|
|
177
|
+
chat_history = user_proxy.chat_messages.get(assistant, [])
|
|
178
|
+
return next(
|
|
179
|
+
(m["content"] for m in reversed(chat_history) if m.get("role") == "assistant"),
|
|
180
|
+
"",
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
with guard.session() as session:
|
|
184
|
+
session.check_input(prompt)
|
|
185
|
+
final = asyncio.run(_run())
|
|
186
|
+
session.check_output(final)
|
|
187
|
+
|
|
188
|
+
print(f"[guard] {guard.last_summary}")
|
|
189
|
+
return final
|
|
190
|
+
`;
|
|
191
|
+
}
|
|
192
|
+
function generateToolsFile(_config) {
|
|
193
|
+
return `"""
|
|
194
|
+
Agent tools — add your custom tools here.
|
|
195
|
+
"""
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
def search_web(query: str) -> str:
|
|
199
|
+
"""Search the web for information."""
|
|
200
|
+
# TODO: Implement your search logic
|
|
201
|
+
return f"Search results for: {query}"
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
def read_file(path: str) -> str:
|
|
205
|
+
"""Read the contents of a file."""
|
|
206
|
+
try:
|
|
207
|
+
with open(path, "r") as f:
|
|
208
|
+
return f.read()
|
|
209
|
+
except FileNotFoundError:
|
|
210
|
+
return f"File not found: {path}"
|
|
211
|
+
except PermissionError:
|
|
212
|
+
return f"Permission denied: {path}"
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def get_tool_functions() -> list:
|
|
216
|
+
"""Return all available tool functions."""
|
|
217
|
+
return [search_web, read_file]
|
|
218
|
+
`;
|
|
219
|
+
}
|
|
220
|
+
function generateRunFile(config) {
|
|
221
|
+
return `"""
|
|
222
|
+
Run the ${config.projectName} agent.
|
|
223
|
+
"""
|
|
224
|
+
|
|
225
|
+
import asyncio
|
|
226
|
+
from agent import run_agent
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
async def main():
|
|
230
|
+
print("\\n${config.projectName} — Powered by AgentVoy + AutoGen")
|
|
231
|
+
print("=" * 50)
|
|
232
|
+
print("Type your prompt (or 'quit' to exit):\\n")
|
|
233
|
+
|
|
234
|
+
while True:
|
|
235
|
+
try:
|
|
236
|
+
prompt = input("> ")
|
|
237
|
+
if prompt.lower() in ("quit", "exit", "q"):
|
|
238
|
+
print("\\nGoodbye!")
|
|
239
|
+
break
|
|
240
|
+
if not prompt.strip():
|
|
241
|
+
continue
|
|
242
|
+
|
|
243
|
+
print("\\nThinking...\\n")
|
|
244
|
+
result = await run_agent(prompt)
|
|
245
|
+
print(f"\\n{result}\\n")
|
|
246
|
+
except KeyboardInterrupt:
|
|
247
|
+
print("\\n\\nGoodbye!")
|
|
248
|
+
break
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
if __name__ == "__main__":
|
|
252
|
+
asyncio.run(main())
|
|
253
|
+
`;
|
|
254
|
+
}
|
|
255
|
+
function generateRequirements(isApp = false) {
|
|
256
|
+
const base = `pyautogen>=0.4.0\npython-dotenv>=1.0.0\nagentvoy-guard>=0.1.0\n`;
|
|
257
|
+
return isApp ? (0, app_scaffold_js_1.appendAppRequirements)(base) : base;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=autogen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autogen.js","sourceRoot":"","sources":["../../src/adapters/autogen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../src/adapters/crewai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../src/adapters/crewai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAMjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,aAAa,EAAE,gBAiE3B,CAAC"}
|