Files
meeting-room/.wiki/packages/pydantic.md
vitya 962b0beddd docs: update README, wiki overview, index, log; add roles/code-review/pydantic wiki pages
- 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>
2026-05-04 06:30:33 +03:00

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.