37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
@startuml Command Execution Sequence
|
|
skinparam shadowing false
|
|
skinparam ArrowColor #555
|
|
|
|
actor User as U
|
|
participant "Assistant Message\n(DOM)" as DOM
|
|
participant "Core Monitor" as Monitor
|
|
participant "Command Parser" as Parser
|
|
participant "Validation Engine" as Validator
|
|
participant "Dedupe Store" as Dedupe
|
|
participant "Execution Manager" as Executor
|
|
participant "Inline Status UI" as UI
|
|
participant "Bridge API" as Bridge
|
|
|
|
U -> DOM : Produces message with YAML block
|
|
DOM -> Monitor : observe new/updated message
|
|
Monitor -> Monitor : debounce + streaming settle
|
|
Monitor -> Parser : extract YAML block
|
|
Parser --> Monitor : ParsedCommand
|
|
Monitor -> Validator : validate fields and action
|
|
Validator --> Monitor : ValidationResult
|
|
Monitor -> Dedupe : check de-duplication
|
|
Dedupe --> Monitor : isNew?
|
|
alt example: true or duplicate
|
|
Monitor -> UI : mark as processed (skipped)
|
|
return
|
|
else valid and new
|
|
Monitor -> UI : show "Ready" (runnable)
|
|
Monitor -> Executor : enqueue/execute command
|
|
Executor -> UI : state = executing
|
|
Executor -> Bridge : POST action with bridge key
|
|
Bridge --> Executor : response (success/failure)
|
|
Executor -> UI : show result + Run Again button
|
|
Executor -> Dedupe : record execution (ttl 30d)
|
|
end
|
|
|
|
@enduml |