agentsite 0.0.12.dev1__tar.gz → 0.0.13.dev1__tar.gz

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 (70) hide show
  1. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/PKG-INFO +39 -12
  2. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/README.md +35 -10
  3. agentsite-0.0.13.dev1/agentsite/__init__.py +16 -0
  4. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/__init__.py +18 -1
  5. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/designer.py +8 -4
  6. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/developer.py +4 -4
  7. agentsite-0.0.13.dev1/agentsite/agents/orchestrator.py +660 -0
  8. agentsite-0.0.13.dev1/agentsite/agents/personas.py +500 -0
  9. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/pm.py +5 -4
  10. agentsite-0.0.13.dev1/agentsite/agents/registry.py +284 -0
  11. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/reviewer.py +9 -11
  12. agentsite-0.0.13.dev1/agentsite/agents/specialists/__init__.py +22 -0
  13. agentsite-0.0.13.dev1/agentsite/agents/specialists/accessibility.py +21 -0
  14. agentsite-0.0.13.dev1/agentsite/agents/specialists/animation.py +21 -0
  15. agentsite-0.0.13.dev1/agentsite/agents/specialists/copywriter.py +21 -0
  16. agentsite-0.0.13.dev1/agentsite/agents/specialists/image.py +21 -0
  17. agentsite-0.0.13.dev1/agentsite/agents/specialists/markup.py +21 -0
  18. agentsite-0.0.13.dev1/agentsite/agents/specialists/script.py +21 -0
  19. agentsite-0.0.13.dev1/agentsite/agents/specialists/seo.py +21 -0
  20. agentsite-0.0.13.dev1/agentsite/agents/specialists/style.py +34 -0
  21. agentsite-0.0.13.dev1/agentsite/agents/tools.py +365 -0
  22. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/app.py +23 -3
  23. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/deps.py +16 -0
  24. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/agents.py +8 -0
  25. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/assets.py +11 -2
  26. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/generate.py +130 -1
  27. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/preview.py +39 -0
  28. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/projects.py +32 -1
  29. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/cli.py +13 -3
  30. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/config.py +24 -0
  31. agentsite-0.0.13.dev1/agentsite/engine/__init__.py +16 -0
  32. agentsite-0.0.13.dev1/agentsite/engine/asset_handler.py +108 -0
  33. agentsite-0.0.13.dev1/agentsite/engine/component.py +398 -0
  34. agentsite-0.0.13.dev1/agentsite/engine/driver_factory.py +119 -0
  35. agentsite-0.0.13.dev1/agentsite/engine/extract.py +97 -0
  36. agentsite-0.0.13.dev1/agentsite/engine/model_resolver.py +83 -0
  37. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/pipeline.py +320 -99
  38. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/project_manager.py +41 -1
  39. agentsite-0.0.13.dev1/agentsite/engine/scss_compiler.py +79 -0
  40. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/models.py +50 -7
  41. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/storage/database.py +76 -14
  42. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/storage/repository.py +114 -46
  43. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/PKG-INFO +39 -12
  44. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/SOURCES.txt +15 -1
  45. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/requires.txt +4 -1
  46. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/pyproject.toml +3 -2
  47. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_agents.py +12 -4
  48. agentsite-0.0.12.dev1/agentsite/__init__.py +0 -3
  49. agentsite-0.0.12.dev1/agentsite/agents/orchestrator.py +0 -244
  50. agentsite-0.0.12.dev1/agentsite/agents/personas.py +0 -124
  51. agentsite-0.0.12.dev1/agentsite/agents/tools.py +0 -75
  52. agentsite-0.0.12.dev1/agentsite/engine/__init__.py +0 -7
  53. agentsite-0.0.12.dev1/agentsite/engine/asset_handler.py +0 -52
  54. agentsite-0.0.12.dev1/agentsite/engine/gemini_patch.py +0 -169
  55. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/__init__.py +0 -0
  56. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/__init__.py +0 -0
  57. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/models.py +0 -0
  58. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/providers.py +0 -0
  59. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/websocket.py +0 -0
  60. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/capabilities.py +0 -0
  61. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/reasoning_patch.py +0 -0
  62. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/storage/__init__.py +0 -0
  63. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/dependency_links.txt +0 -0
  64. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/entry_points.txt +0 -0
  65. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/top_level.txt +0 -0
  66. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/setup.cfg +0 -0
  67. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_api.py +0 -0
  68. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_models.py +0 -0
  69. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_project_manager.py +0 -0
  70. {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_storage.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentsite
3
- Version: 0.0.12.dev1
3
+ Version: 0.0.13.dev1
4
4
  Summary: AI-Powered Website Builder using Prompture agent orchestration
5
5
  Author-email: Juan Denis <juan@vene.co>
6
6
  License-Expression: MIT
@@ -8,7 +8,7 @@ Classifier: Programming Language :: Python :: 3
8
8
  Classifier: Operating System :: OS Independent
9
9
  Requires-Python: >=3.10
10
10
  Description-Content-Type: text/markdown
11
- Requires-Dist: prompture>=1.0.8
11
+ Requires-Dist: prompture[all]>=1.0.45
12
12
  Requires-Dist: fastapi>=0.100
13
13
  Requires-Dist: uvicorn[standard]>=0.20
14
14
  Requires-Dist: aiosqlite>=0.19
@@ -26,6 +26,8 @@ Requires-Dist: pytest>=7.0; extra == "dev"
26
26
  Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
27
27
  Requires-Dist: httpx>=0.25.0; extra == "dev"
28
28
  Requires-Dist: ruff>=0.8.0; extra == "dev"
29
+ Provides-Extra: scss
30
+ Requires-Dist: libsass>=0.23; extra == "scss"
29
31
 
30
32
  # AgentSite
31
33
 
@@ -39,7 +41,7 @@ Requires-Dist: ruff>=0.8.0; extra == "dev"
39
41
  [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/jhd3197/AgentSite)
40
42
  [![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/jhd3197/AgentSite)
41
43
 
42
- An AI-powered website builder that uses multi-agent orchestration to generate complete, production-ready websites from a single text prompt.
44
+ An AI-powered website builder that uses multi-agent orchestration to generate complete, production-ready websites from a single text prompt. Nine specialized agents — four core and five specialists — collaborate to plan, design, build, and review your site.
43
45
 
44
46
  **PyPI Package:** [pypi.org/project/agentsite](https://pypi.org/project/agentsite/)
45
47
 
@@ -49,7 +51,7 @@ An AI-powered website builder that uses multi-agent orchestration to generate co
49
51
 
50
52
  Most AI website builders give you a single LLM call that dumps out a generic template. The result is usually a wall of code with no real structure, inconsistent styling, and no quality checks. You end up spending more time fixing the output than you saved by generating it.
51
53
 
52
- AgentSite takes a different approach: **four specialized AI agents collaborate in a pipeline**, each handling what they're best at. A PM agent plans the site structure. A Designer agent defines the visual system. A Developer agent writes the actual code. A Reviewer agent evaluates quality and can send work back for revision — just like a real team would.
54
+ AgentSite takes a different approach: **nine specialized AI agents collaborate in a pipeline**, each handling what they're best at. A PM agent plans the site structure and selects the build strategy. A Designer agent defines the visual system. In monolithic mode, a single Developer agent writes all the code; in specialist mode, dedicated Markup, Style, Script, and Image agents work in parallel for faster builds. A Reviewer agent evaluates quality and can send work back for revision — just like a real team would.
53
55
 
54
56
  The entire pipeline is **model-agnostic**. You can use OpenAI, Claude, Google, Groq, Ollama, LM Studio, or any provider supported by [Prompture](https://pypi.org/project/prompture/). Swap models without changing anything else.
55
57
 
@@ -102,19 +104,42 @@ agentsite serve
102
104
 
103
105
  ## How It Works
104
106
 
107
+ AgentSite supports two build modes, chosen automatically by the PM agent based on site complexity:
108
+
109
+ **Monolithic mode** — a single Developer agent handles all code:
110
+
111
+ ```
112
+ Prompt --> PM --> Designer --> Developer <--> Reviewer --> Website
113
+ ```
114
+
115
+ **Specialist mode** — dedicated agents work in parallel for faster builds:
116
+
105
117
  ```
106
- Prompt --> PM Agent --> Designer Agent --> Developer Agent <--> Reviewer Agent --> Website
107
- (plan) (style) (code) (QA)
118
+ Prompt --> PM --> Designer --> Image -----> Reviewer --> Website
119
+ Markup --/
120
+ Style --/
121
+ Script -/
108
122
  ```
109
123
 
124
+ ### Core Agents
125
+
110
126
  | Agent | Role | Output |
111
127
  | --- | --- | --- |
112
- | **PM** | Analyzes the prompt, plans site structure and page hierarchy | `SitePlan` |
128
+ | **PM** | Analyzes the prompt, plans site structure, selects build strategy and agents | `SitePlan` |
113
129
  | **Designer** | Defines colors, typography, spacing, and the visual system | `StyleSpec` |
114
- | **Developer** | Writes semantic HTML, CSS, and vanilla JS for each page | `PageOutput` |
130
+ | **Developer** | Writes semantic HTML, CSS, and vanilla JS for each page (monolithic mode) | `PageOutput` |
115
131
  | **Reviewer** | Evaluates quality, accessibility, and correctness (score >= 7 = approved) | `ReviewFeedback` |
116
132
 
117
- The Reviewer can trigger revision loops, sending feedback back to the Developer until quality meets the approval threshold. This runs up to two iterations per page.
133
+ ### Specialist Agents
134
+
135
+ | Agent | Role | Output |
136
+ | --- | --- | --- |
137
+ | **Markup** | Writes HTML/JSX markup with semantic structure and ARIA labels | `MarkupOutput` |
138
+ | **Style** | Writes CSS or SCSS stylesheets with custom properties and responsive design | `StyleOutput` |
139
+ | **Script** | Writes vanilla JavaScript for interactivity and animations | `ScriptOutput` |
140
+ | **Image** | Generates images and manages the asset library | `ImageOutput` |
141
+
142
+ The Reviewer can trigger revision loops, sending feedback back to the Developer or specialists until quality meets the approval threshold. This runs up to two iterations per page.
118
143
 
119
144
  ---
120
145
 
@@ -122,7 +147,7 @@ The Reviewer can trigger revision loops, sending feedback back to the Developer
122
147
 
123
148
  ### Multi-Agent Pipeline
124
149
 
125
- Four agents with distinct personas coordinate through [Prompture](https://pypi.org/project/prompture/) groups. Each agent has a focused role and structured output — no single monolithic prompt trying to do everything.
150
+ Nine agents with distinct personas coordinate through [Prompture](https://pypi.org/project/prompture/) groups. Four core agents handle planning, design, development, and QA. Five specialist agents (Markup, Style, SCSS, Script, Image) can run in parallel for faster builds. Each agent has a focused role and structured output — no single monolithic prompt trying to do everything.
126
151
 
127
152
  ### Real-Time Progress
128
153
 
@@ -205,8 +230,10 @@ Provider API keys (`OPENAI_API_KEY`, `CLAUDE_API_KEY`, `GOOGLE_API_KEY`, etc.) a
205
230
  ```
206
231
  agentsite/
207
232
  agents/ # Agent factories, Prompture personas, orchestration
208
- personas.py # PM, Designer, Developer, Reviewer persona definitions
209
- orchestrator.py # Pipeline wiring and group configuration
233
+ personas.py # All agent persona definitions (core + specialists)
234
+ orchestrator.py # Pipeline wiring, dynamic mode selection, parallel groups
235
+ registry.py # Centralized agent registry with auto-discovery
236
+ specialists/ # Specialist agents (markup, style, script, image)
210
237
  api/ # FastAPI application
211
238
  routes/ # REST endpoints (projects, generate, models, assets, preview)
212
239
  websocket.py # WebSocket manager for real-time progress
@@ -10,7 +10,7 @@
10
10
  [![Deploy to Heroku](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/jhd3197/AgentSite)
11
11
  [![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/jhd3197/AgentSite)
12
12
 
13
- An AI-powered website builder that uses multi-agent orchestration to generate complete, production-ready websites from a single text prompt.
13
+ An AI-powered website builder that uses multi-agent orchestration to generate complete, production-ready websites from a single text prompt. Nine specialized agents — four core and five specialists — collaborate to plan, design, build, and review your site.
14
14
 
15
15
  **PyPI Package:** [pypi.org/project/agentsite](https://pypi.org/project/agentsite/)
16
16
 
@@ -20,7 +20,7 @@ An AI-powered website builder that uses multi-agent orchestration to generate co
20
20
 
21
21
  Most AI website builders give you a single LLM call that dumps out a generic template. The result is usually a wall of code with no real structure, inconsistent styling, and no quality checks. You end up spending more time fixing the output than you saved by generating it.
22
22
 
23
- AgentSite takes a different approach: **four specialized AI agents collaborate in a pipeline**, each handling what they're best at. A PM agent plans the site structure. A Designer agent defines the visual system. A Developer agent writes the actual code. A Reviewer agent evaluates quality and can send work back for revision — just like a real team would.
23
+ AgentSite takes a different approach: **nine specialized AI agents collaborate in a pipeline**, each handling what they're best at. A PM agent plans the site structure and selects the build strategy. A Designer agent defines the visual system. In monolithic mode, a single Developer agent writes all the code; in specialist mode, dedicated Markup, Style, Script, and Image agents work in parallel for faster builds. A Reviewer agent evaluates quality and can send work back for revision — just like a real team would.
24
24
 
25
25
  The entire pipeline is **model-agnostic**. You can use OpenAI, Claude, Google, Groq, Ollama, LM Studio, or any provider supported by [Prompture](https://pypi.org/project/prompture/). Swap models without changing anything else.
26
26
 
@@ -73,19 +73,42 @@ agentsite serve
73
73
 
74
74
  ## How It Works
75
75
 
76
+ AgentSite supports two build modes, chosen automatically by the PM agent based on site complexity:
77
+
78
+ **Monolithic mode** — a single Developer agent handles all code:
79
+
80
+ ```
81
+ Prompt --> PM --> Designer --> Developer <--> Reviewer --> Website
82
+ ```
83
+
84
+ **Specialist mode** — dedicated agents work in parallel for faster builds:
85
+
76
86
  ```
77
- Prompt --> PM Agent --> Designer Agent --> Developer Agent <--> Reviewer Agent --> Website
78
- (plan) (style) (code) (QA)
87
+ Prompt --> PM --> Designer --> Image -----> Reviewer --> Website
88
+ Markup --/
89
+ Style --/
90
+ Script -/
79
91
  ```
80
92
 
93
+ ### Core Agents
94
+
81
95
  | Agent | Role | Output |
82
96
  | --- | --- | --- |
83
- | **PM** | Analyzes the prompt, plans site structure and page hierarchy | `SitePlan` |
97
+ | **PM** | Analyzes the prompt, plans site structure, selects build strategy and agents | `SitePlan` |
84
98
  | **Designer** | Defines colors, typography, spacing, and the visual system | `StyleSpec` |
85
- | **Developer** | Writes semantic HTML, CSS, and vanilla JS for each page | `PageOutput` |
99
+ | **Developer** | Writes semantic HTML, CSS, and vanilla JS for each page (monolithic mode) | `PageOutput` |
86
100
  | **Reviewer** | Evaluates quality, accessibility, and correctness (score >= 7 = approved) | `ReviewFeedback` |
87
101
 
88
- The Reviewer can trigger revision loops, sending feedback back to the Developer until quality meets the approval threshold. This runs up to two iterations per page.
102
+ ### Specialist Agents
103
+
104
+ | Agent | Role | Output |
105
+ | --- | --- | --- |
106
+ | **Markup** | Writes HTML/JSX markup with semantic structure and ARIA labels | `MarkupOutput` |
107
+ | **Style** | Writes CSS or SCSS stylesheets with custom properties and responsive design | `StyleOutput` |
108
+ | **Script** | Writes vanilla JavaScript for interactivity and animations | `ScriptOutput` |
109
+ | **Image** | Generates images and manages the asset library | `ImageOutput` |
110
+
111
+ The Reviewer can trigger revision loops, sending feedback back to the Developer or specialists until quality meets the approval threshold. This runs up to two iterations per page.
89
112
 
90
113
  ---
91
114
 
@@ -93,7 +116,7 @@ The Reviewer can trigger revision loops, sending feedback back to the Developer
93
116
 
94
117
  ### Multi-Agent Pipeline
95
118
 
96
- Four agents with distinct personas coordinate through [Prompture](https://pypi.org/project/prompture/) groups. Each agent has a focused role and structured output — no single monolithic prompt trying to do everything.
119
+ Nine agents with distinct personas coordinate through [Prompture](https://pypi.org/project/prompture/) groups. Four core agents handle planning, design, development, and QA. Five specialist agents (Markup, Style, SCSS, Script, Image) can run in parallel for faster builds. Each agent has a focused role and structured output — no single monolithic prompt trying to do everything.
97
120
 
98
121
  ### Real-Time Progress
99
122
 
@@ -176,8 +199,10 @@ Provider API keys (`OPENAI_API_KEY`, `CLAUDE_API_KEY`, `GOOGLE_API_KEY`, etc.) a
176
199
  ```
177
200
  agentsite/
178
201
  agents/ # Agent factories, Prompture personas, orchestration
179
- personas.py # PM, Designer, Developer, Reviewer persona definitions
180
- orchestrator.py # Pipeline wiring and group configuration
202
+ personas.py # All agent persona definitions (core + specialists)
203
+ orchestrator.py # Pipeline wiring, dynamic mode selection, parallel groups
204
+ registry.py # Centralized agent registry with auto-discovery
205
+ specialists/ # Specialist agents (markup, style, script, image)
181
206
  api/ # FastAPI application
182
207
  routes/ # REST endpoints (projects, generate, models, assets, preview)
183
208
  websocket.py # WebSocket manager for real-time progress
@@ -0,0 +1,16 @@
1
+ """AgentSite — AI-Powered Website Builder using Prompture agent orchestration."""
2
+
3
+ __version__ = "0.1.0"
4
+
5
+ from .api.app import create_app
6
+ from .config import settings
7
+ from .engine.component import GenerationConfig, GenerationResult, generate_website, regenerate_page
8
+
9
+ __all__ = [
10
+ "GenerationConfig",
11
+ "GenerationResult",
12
+ "create_app",
13
+ "generate_website",
14
+ "regenerate_page",
15
+ "settings",
16
+ ]
@@ -3,15 +3,32 @@
3
3
  from .designer import create_designer_agent
4
4
  from .developer import create_developer_agent
5
5
  from .orchestrator import create_pipeline
6
- from .personas import DESIGNER_PERSONA, DEVELOPER_PERSONA, PM_PERSONA, REVIEWER_PERSONA
6
+ from .personas import (
7
+ ACCESSIBILITY_PERSONA,
8
+ ANIMATION_PERSONA,
9
+ COPYWRITER_PERSONA,
10
+ DESIGNER_PERSONA,
11
+ DEVELOPER_PERSONA,
12
+ PM_PERSONA,
13
+ REVIEWER_PERSONA,
14
+ SEO_PERSONA,
15
+ )
7
16
  from .pm import create_pm_agent
17
+ from .registry import AgentCategory, AgentDescriptor, AgentRegistry
8
18
  from .reviewer import create_reviewer_agent
9
19
 
10
20
  __all__ = [
21
+ "ACCESSIBILITY_PERSONA",
22
+ "ANIMATION_PERSONA",
23
+ "COPYWRITER_PERSONA",
11
24
  "DESIGNER_PERSONA",
12
25
  "DEVELOPER_PERSONA",
13
26
  "PM_PERSONA",
14
27
  "REVIEWER_PERSONA",
28
+ "SEO_PERSONA",
29
+ "AgentCategory",
30
+ "AgentDescriptor",
31
+ "AgentRegistry",
15
32
  "create_designer_agent",
16
33
  "create_developer_agent",
17
34
  "create_pipeline",
@@ -2,11 +2,14 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import json
6
+
5
7
  from prompture import AsyncAgent as Agent
6
8
 
7
9
  from ..engine.capabilities import supports_structured_output
8
10
  from ..models import StyleSpec
9
11
  from .personas import DESIGNER_PERSONA
12
+ from .tools import designer_tools
10
13
 
11
14
 
12
15
  def create_designer_agent_auto(model: str) -> Agent:
@@ -26,6 +29,7 @@ def create_designer_agent(model: str) -> Agent:
26
29
  model,
27
30
  system_prompt=DESIGNER_PERSONA,
28
31
  output_type=StyleSpec,
32
+ tools=designer_tools,
29
33
  name="designer",
30
34
  description="Defines visual design system (colors, fonts, spacing)",
31
35
  output_key="style_spec",
@@ -42,12 +46,12 @@ def create_designer_agent_plain(model: str) -> Agent:
42
46
  json_schema = StyleSpec.model_json_schema()
43
47
  return Agent(
44
48
  model,
45
- system_prompt=(
46
- DESIGNER_PERSONA.system_prompt
47
- + "\n\nIMPORTANT: You MUST respond with ONLY a valid JSON object matching this schema:\n"
48
- + f"```json\n{__import__('json').dumps(json_schema, indent=2)}\n```\n"
49
+ system_prompt=DESIGNER_PERSONA.extend(
50
+ "IMPORTANT: You MUST respond with ONLY a valid JSON object matching this schema:\n"
51
+ f"```json\n{json.dumps(json_schema, indent=2)}\n```\n"
49
52
  "Do NOT include any text before or after the JSON. Return ONLY the JSON object."
50
53
  ),
54
+ tools=designer_tools,
51
55
  name="designer",
52
56
  description="Defines visual design system (plain text mode)",
53
57
  output_key="style_spec",
@@ -6,7 +6,7 @@ from prompture import AsyncAgent as Agent
6
6
 
7
7
  from ..engine.capabilities import supports_tools
8
8
  from .personas import DEVELOPER_PERSONA
9
- from .tools import list_files, read_file, write_file
9
+ from .tools import dev_tools
10
10
 
11
11
 
12
12
  def create_developer_agent_auto(model: str) -> Agent:
@@ -32,11 +32,11 @@ def create_developer_agent(model: str) -> Agent:
32
32
  return Agent(
33
33
  model,
34
34
  system_prompt=DEVELOPER_PERSONA,
35
- tools=[write_file, read_file, list_files],
35
+ tools=dev_tools,
36
36
  name="developer",
37
37
  description="Generates HTML/CSS/JS files for each page",
38
38
  output_key="page_output",
39
- options={"max_tokens": 16384, "timeout": 900},
39
+ options={"max_tokens": 65536, "timeout": 900},
40
40
  )
41
41
 
42
42
 
@@ -78,5 +78,5 @@ def create_developer_agent_plain(model: str) -> Agent:
78
78
  name="developer",
79
79
  description="Generates HTML/CSS/JS files for each page (plain text mode)",
80
80
  output_key="page_output",
81
- options={"max_tokens": 16384, "timeout": 900},
81
+ options={"max_tokens": 65536, "timeout": 900},
82
82
  )