@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.
Files changed (92) hide show
  1. package/README.md +65 -0
  2. package/dist/adapters/anthropic.d.ts.map +1 -1
  3. package/dist/adapters/anthropic.js +75 -75
  4. package/dist/adapters/anthropic.js.map +1 -1
  5. package/dist/adapters/app-scaffold.d.ts +12 -0
  6. package/dist/adapters/app-scaffold.d.ts.map +1 -0
  7. package/dist/adapters/app-scaffold.js +49 -0
  8. package/dist/adapters/app-scaffold.js.map +1 -0
  9. package/dist/adapters/autogen.d.ts +8 -0
  10. package/dist/adapters/autogen.d.ts.map +1 -0
  11. package/dist/adapters/autogen.js +259 -0
  12. package/dist/adapters/autogen.js.map +1 -0
  13. package/dist/adapters/crewai.d.ts.map +1 -1
  14. package/dist/adapters/crewai.js +80 -52
  15. package/dist/adapters/crewai.js.map +1 -1
  16. package/dist/adapters/google-adk.d.ts.map +1 -1
  17. package/dist/adapters/google-adk.js +73 -37
  18. package/dist/adapters/google-adk.js.map +1 -1
  19. package/dist/adapters/index.js +4 -0
  20. package/dist/adapters/index.js.map +1 -1
  21. package/dist/adapters/langgraph.d.ts.map +1 -1
  22. package/dist/adapters/langgraph.js +41 -42
  23. package/dist/adapters/langgraph.js.map +1 -1
  24. package/dist/adapters/llamaindex.d.ts +8 -0
  25. package/dist/adapters/llamaindex.d.ts.map +1 -0
  26. package/dist/adapters/llamaindex.js +230 -0
  27. package/dist/adapters/llamaindex.js.map +1 -0
  28. package/dist/adapters/openai.d.ts.map +1 -1
  29. package/dist/adapters/openai.js +76 -53
  30. package/dist/adapters/openai.js.map +1 -1
  31. package/dist/deployers/api-wrapper.d.ts +11 -0
  32. package/dist/deployers/api-wrapper.d.ts.map +1 -0
  33. package/dist/deployers/api-wrapper.js +86 -0
  34. package/dist/deployers/api-wrapper.js.map +1 -0
  35. package/dist/deployers/aws-lambda.d.ts +3 -0
  36. package/dist/deployers/aws-lambda.d.ts.map +1 -0
  37. package/dist/deployers/aws-lambda.js +101 -0
  38. package/dist/deployers/aws-lambda.js.map +1 -0
  39. package/dist/deployers/docker.d.ts +3 -0
  40. package/dist/deployers/docker.d.ts.map +1 -0
  41. package/dist/deployers/docker.js +123 -0
  42. package/dist/deployers/docker.js.map +1 -0
  43. package/dist/deployers/fly-io.d.ts +3 -0
  44. package/dist/deployers/fly-io.d.ts.map +1 -0
  45. package/dist/deployers/fly-io.js +84 -0
  46. package/dist/deployers/fly-io.js.map +1 -0
  47. package/dist/deployers/gcp-cloud-run.d.ts +3 -0
  48. package/dist/deployers/gcp-cloud-run.d.ts.map +1 -0
  49. package/dist/deployers/gcp-cloud-run.js +75 -0
  50. package/dist/deployers/gcp-cloud-run.js.map +1 -0
  51. package/dist/deployers/guard-mapper.d.ts +6 -0
  52. package/dist/deployers/guard-mapper.d.ts.map +1 -0
  53. package/dist/deployers/guard-mapper.js +63 -0
  54. package/dist/deployers/guard-mapper.js.map +1 -0
  55. package/dist/deployers/index.d.ts +6 -0
  56. package/dist/deployers/index.d.ts.map +1 -0
  57. package/dist/deployers/index.js +30 -0
  58. package/dist/deployers/index.js.map +1 -0
  59. package/dist/deployers/pipeline.d.ts +9 -0
  60. package/dist/deployers/pipeline.d.ts.map +1 -0
  61. package/dist/deployers/pipeline.js +55 -0
  62. package/dist/deployers/pipeline.js.map +1 -0
  63. package/dist/deployers/railway.d.ts +3 -0
  64. package/dist/deployers/railway.d.ts.map +1 -0
  65. package/dist/deployers/railway.js +53 -0
  66. package/dist/deployers/railway.js.map +1 -0
  67. package/dist/deployers/registry.d.ts +7 -0
  68. package/dist/deployers/registry.d.ts.map +1 -0
  69. package/dist/deployers/registry.js +29 -0
  70. package/dist/deployers/registry.js.map +1 -0
  71. package/dist/deployers/streamlit-app.d.ts +10 -0
  72. package/dist/deployers/streamlit-app.d.ts.map +1 -0
  73. package/dist/deployers/streamlit-app.js +80 -0
  74. package/dist/deployers/streamlit-app.js.map +1 -0
  75. package/dist/index.d.ts +2 -1
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +13 -1
  78. package/dist/index.js.map +1 -1
  79. package/dist/types.d.ts +41 -0
  80. package/dist/types.d.ts.map +1 -1
  81. package/package.json +17 -1
  82. package/src/adapters/anthropic.ts +0 -268
  83. package/src/adapters/crewai.ts +0 -254
  84. package/src/adapters/google-adk.ts +0 -167
  85. package/src/adapters/index.ts +0 -21
  86. package/src/adapters/langgraph.ts +0 -336
  87. package/src/adapters/openai.ts +0 -214
  88. package/src/adapters/registry.ts +0 -37
  89. package/src/config.ts +0 -315
  90. package/src/index.ts +0 -54
  91. package/src/types.ts +0 -203
  92. 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
+ [![npm version](https://img.shields.io/npm/v/@agentvoy/core.svg)](https://www.npmjs.com/package/@agentvoy/core)
6
+ [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](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;AAGrB,eAAO,MAAM,gBAAgB,EAAE,gBAyE9B,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 files = [
16
- {
17
- path: "agent.py",
18
- content: generateAgentFile(config),
19
- },
20
- {
21
- path: "tools.py",
22
- content: generateToolsFile(config),
23
- },
24
- {
25
- path: "run.py",
26
- content: generateRunFile(config),
27
- },
28
- {
29
- path: "requirements.txt",
30
- content: generateRequirements(),
31
- },
32
- {
33
- path: ".env.example",
34
- content: "ANTHROPIC_API_KEY=your-api-key-here\n",
35
- },
36
- {
37
- path: "agent.guard.yml",
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
- start: "python run.py",
47
- },
48
- postInstallInstructions: [
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
- from tools import get_tools, process_tool_call
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
- iteration = 0
98
- max_iterations = ${maxIterations}
99
-
100
- while iteration < max_iterations:
101
- iteration += 1
102
-
103
- response = client.messages.create(
104
- model="${model}",
105
- max_tokens=8096,
106
- tools=tools,
107
- messages=messages,
108
- )
109
-
110
- # Add assistant response to messages
111
- messages.append({"role": "assistant", "content": response.content})
112
-
113
- # If no tool calls, we're done
114
- if response.stop_reason == "end_turn":
115
- # Extract final text response
116
- for block in response.content:
117
- if hasattr(block, "text"):
118
- return block.text
119
- return "Done."
120
-
121
- # Process tool calls
122
- if response.stop_reason == "tool_use":
123
- tool_results = []
124
- for block in response.content:
125
- if block.type == "tool_use":
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
-
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;AAExC,QAAA,gBAAgB,GAAqB;IAChD,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,eAAe;IAC5B,QAAQ,EAAE,QAAQ;IAElB,KAAK,CAAC,QAAQ,CAAC,MAAsB;QACnC,MAAM,KAAK,GAAoB;YAC7B;gBACE,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;aACnC;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;aACnC;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC;aACjC;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,oBAAoB,EAAE;aAChC;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,uCAAuC;aACjD;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,IAAA,iCAAqB,EAC5B,MAAM,CAAC,WAAW,EAClB,WAAW,EACX,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,0BAA0B,CACjD;aACF;SACF,CAAC;QAEF,OAAO;YACL,KAAK;YACL,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,EAAE;YACnB,OAAO,EAAE;gBACP,KAAK,EAAE,eAAe;aACvB;YACD,uBAAuB,EAAE;gBACvB,iCAAiC;gBACjC,sBAAsB;gBACtB,oCAAoC;gBACpC,eAAe;aAChB;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,MAAwB;QACrC,MAAM,MAAM,GAAyC,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAyC,EAAE,CAAC;QAE1D,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,gEAAgE,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG;aAClG,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,eAAe;QACb,OAAO;YACL,SAAS,EAAE,UAAU;YACrB,eAAe,EAAE,SAAS;SAC3B,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,0BAA0B,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;IAExE,OAAO;EACP,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;uBAoBG,aAAa;;;;;;qBAMf,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCzB,CAAC;AACF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAuB;IAChD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgER,CAAC;AACF,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB;IAC7C,OAAO;UACC,MAAM,CAAC,WAAW;;;;;;;;;;mBAUT,MAAM,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;CAuBpC,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO;;CAER,CAAC;AACF,CAAC"}
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,8 @@
1
+ /**
2
+ * AutoGen Adapter
3
+ *
4
+ * Scaffolds projects using Microsoft AutoGen (Python).
5
+ */
6
+ import type { FrameworkAdapter } from "../types.js";
7
+ export declare const autogenAdapter: FrameworkAdapter;
8
+ //# sourceMappingURL=autogen.d.ts.map
@@ -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;AAGrB,eAAO,MAAM,aAAa,EAAE,gBAmF3B,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"}