- README: remove autogen/crewai references, add v2 architecture diagram, code-review scenario, cross-LLM config examples, roadmap - wiki/overview: event-driven architecture, Pydantic v2, roadmap - wiki/index: add entities/roles, concepts/code-review, packages/pydantic - wiki/log: Phase 1 completion, code-review decision - New: entities/roles.md, concepts/code-review.md, packages/pydantic.md Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.4 KiB
1.4 KiB
title, type, updated
| title | type | updated |
|---|---|---|
| Pydantic v2 Models | package | 2026-05-04 |
Pydantic v2 Models
meeting-room uses Pydantic v2 for typed configuration, messages, and session data. All models are in meeting_room/models.py.
Config models
| Model | Purpose | extra |
|---|---|---|
ProviderConfig |
API provider (base_url, api_key) | forbid |
RoleConfig |
Discussion role (name, provider, model, temperature, tools, system_prompt) | forbid |
DefaultsConfig |
Default settings (max_rounds, language, framework, workdir) | ignore |
DiscussionConfig |
Top-level config — direct counterpart of config.yaml | ignore |
Key: DiscussionConfig(**yaml_config) works unchanged — feeds parsed YAML directly into the model.
Scenario model
| Model | Purpose | extra |
|---|---|---|
ScenarioConfig |
Loaded from .md/.yaml (name, participants, max_rounds, problem) | ignore |
Runtime models
| Model | Purpose | extra |
|---|---|---|
Message |
Single discussion message (role_id, name, content) | forbid |
ToolCallRecord |
Tool call (id, name, arguments, result) | forbid |
Session |
Full session (scenario, messages, tool_calls, created_at, updated_at) | ignore |
Tools field
RoleConfig.tools accepts both str ("all", "readonly", etc.) and list[str] (["read_file", "web_search"]). A field validator coerces list items to strings.