Files
correx/docs/diagrams/core-sessions.puml
T
kami 9734eec63c docs: add module documentation in AsciiDoc with PlantUML diagrams
Generated by per-group subagents covering all 52 modules across:
core (18), infrastructure (10), apps (5), interfaces (3),
plugins (7), testing (9)

Documentation format:
- AsciiDoc (.adoc) files in docs/modules/<group>/
- PlantUML (.puml) files in docs/diagrams/
- .adoc files reference diagrams via include:: directives

Each doc covers: purpose, responsibilities, non-responsibilities,
key types, event flow, integration points, invariants, PlantUML
diagram, known issues, and open questions.
2026-05-26 16:59:21 +04:00

66 lines
1.1 KiB
Plaintext

@startuml
package "core:sessions" {
enum SessionStatus {
CREATED
ACTIVE
PAUSED
COMPLETED
FAILED
}
data class SessionState {
+ status: SessionStatus
+ createdAt: Instant?
+ updatedAt: Instant?
}
data class Session {
+ sessionId: SessionId
+ state: SessionState
}
interface SessionReducer {
+ reduce(SessionState, StoredEvent): SessionState
}
class DefaultSessionReducer
class SessionProjector
class DefaultSessionRepository {
+ getSession(SessionId): Session
}
sealed interface TransitionResult {
data class Applied
data object Rejected
}
enum ApprovalMode {
DENY
PROMPT
AUTO
YOLO
}
DefaultSessionReducer ..|> SessionReducer
SessionProjector --> SessionReducer
SessionProjector ..|> Projection
DefaultSessionRepository --> EventReplayer
DefaultSessionRepository ..> Session : creates
Session *-- SessionState
}
package ":core:events" as EVENTS {
interface Projection
interface EventReplayer
interface EventStore
enum SessionStatus as SES
}
DefaultSessionRepository --> EVENTS
SessionProjector --> EVENTS
@enduml