- 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>
38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
---
|
|
title: Pydantic v2 Models
|
|
type: package
|
|
updated: 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. |