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.
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/PKG-INFO +39 -12
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/README.md +35 -10
- agentsite-0.0.13.dev1/agentsite/__init__.py +16 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/__init__.py +18 -1
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/designer.py +8 -4
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/developer.py +4 -4
- agentsite-0.0.13.dev1/agentsite/agents/orchestrator.py +660 -0
- agentsite-0.0.13.dev1/agentsite/agents/personas.py +500 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/pm.py +5 -4
- agentsite-0.0.13.dev1/agentsite/agents/registry.py +284 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/agents/reviewer.py +9 -11
- agentsite-0.0.13.dev1/agentsite/agents/specialists/__init__.py +22 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/accessibility.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/animation.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/copywriter.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/image.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/markup.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/script.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/seo.py +21 -0
- agentsite-0.0.13.dev1/agentsite/agents/specialists/style.py +34 -0
- agentsite-0.0.13.dev1/agentsite/agents/tools.py +365 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/app.py +23 -3
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/deps.py +16 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/agents.py +8 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/assets.py +11 -2
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/generate.py +130 -1
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/preview.py +39 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/projects.py +32 -1
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/cli.py +13 -3
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/config.py +24 -0
- agentsite-0.0.13.dev1/agentsite/engine/__init__.py +16 -0
- agentsite-0.0.13.dev1/agentsite/engine/asset_handler.py +108 -0
- agentsite-0.0.13.dev1/agentsite/engine/component.py +398 -0
- agentsite-0.0.13.dev1/agentsite/engine/driver_factory.py +119 -0
- agentsite-0.0.13.dev1/agentsite/engine/extract.py +97 -0
- agentsite-0.0.13.dev1/agentsite/engine/model_resolver.py +83 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/pipeline.py +320 -99
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/project_manager.py +41 -1
- agentsite-0.0.13.dev1/agentsite/engine/scss_compiler.py +79 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/models.py +50 -7
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/storage/database.py +76 -14
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/storage/repository.py +114 -46
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/PKG-INFO +39 -12
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/SOURCES.txt +15 -1
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/requires.txt +4 -1
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/pyproject.toml +3 -2
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_agents.py +12 -4
- agentsite-0.0.12.dev1/agentsite/__init__.py +0 -3
- agentsite-0.0.12.dev1/agentsite/agents/orchestrator.py +0 -244
- agentsite-0.0.12.dev1/agentsite/agents/personas.py +0 -124
- agentsite-0.0.12.dev1/agentsite/agents/tools.py +0 -75
- agentsite-0.0.12.dev1/agentsite/engine/__init__.py +0 -7
- agentsite-0.0.12.dev1/agentsite/engine/asset_handler.py +0 -52
- agentsite-0.0.12.dev1/agentsite/engine/gemini_patch.py +0 -169
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/__init__.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/__init__.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/models.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/routes/providers.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/api/websocket.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/capabilities.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/engine/reasoning_patch.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite/storage/__init__.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/dependency_links.txt +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/entry_points.txt +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/agentsite.egg-info/top_level.txt +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/setup.cfg +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_api.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_models.py +0 -0
- {agentsite-0.0.12.dev1 → agentsite-0.0.13.dev1}/tests/test_project_manager.py +0 -0
- {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.
|
|
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.
|
|
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
|
[](https://heroku.com/deploy?template=https://github.com/jhd3197/AgentSite)
|
|
40
42
|
[](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: **
|
|
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
|
|
107
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 #
|
|
209
|
-
orchestrator.py # Pipeline wiring
|
|
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
|
[](https://heroku.com/deploy?template=https://github.com/jhd3197/AgentSite)
|
|
11
11
|
[](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: **
|
|
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
|
|
78
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 #
|
|
180
|
-
orchestrator.py # Pipeline wiring
|
|
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
|
|
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
|
-
|
|
47
|
-
|
|
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
|
|
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=
|
|
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":
|
|
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":
|
|
81
|
+
options={"max_tokens": 65536, "timeout": 900},
|
|
82
82
|
)
|