9734eec63c
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.
52 lines
1.1 KiB
Plaintext
52 lines
1.1 KiB
Plaintext
@startuml
|
|
interface Tool
|
|
interface FileAffectingTool
|
|
interface ToolExecutor
|
|
interface ToolRegistry
|
|
interface ToolReducer
|
|
interface Projection
|
|
|
|
class DefaultToolReducer
|
|
class ToolProjector
|
|
class DefaultToolRepository
|
|
|
|
class ToolState
|
|
class ToolInvocationRecord
|
|
class ValidationResult
|
|
enum ToolInvocationStatus
|
|
enum ToolCapability
|
|
|
|
Tool <|-- FileAffectingTool
|
|
ToolReducer <|.. DefaultToolReducer
|
|
Projection <|.. ToolProjector
|
|
ToolProjector --> ToolReducer
|
|
DefaultToolRepository --> ToolProjector
|
|
DefaultToolRepository ..> ToolState
|
|
ToolState --> "invocations" ToolInvocationRecord
|
|
ToolInvocationRecord --> ToolInvocationStatus
|
|
|
|
package "core:events" <<External>> {
|
|
[ToolInvocationRequestedEvent]
|
|
[ToolExecutionStartedEvent]
|
|
[ToolExecutionCompletedEvent]
|
|
[ToolExecutionFailedEvent]
|
|
[ToolExecutionRejectedEvent]
|
|
[ToolRequest]
|
|
[ToolReceipt]
|
|
}
|
|
package "core:approvals" <<External>> {
|
|
[Tier]
|
|
}
|
|
package "core:sessions" <<External>> {
|
|
[Projection]
|
|
[EventReplayer]
|
|
}
|
|
|
|
DefaultToolReducer ..> "core:events"
|
|
DefaultToolRepository ..> "core:events"
|
|
DefaultToolRepository ..> "core:sessions"
|
|
Tool ..> "core:events"
|
|
Tool ..> "core:approvals"
|
|
|
|
@enduml
|