Add interactive client terminal transport
This commit is contained in:
parent
d597b05484
commit
6816f0632e
1 changed files with 1454 additions and 59 deletions
|
|
@ -650,6 +650,45 @@ classDiagram
|
|||
Exit
|
||||
}
|
||||
|
||||
class InteractiveSessionRequest {
|
||||
<<serialized>>
|
||||
protocol_version
|
||||
session_id
|
||||
argv
|
||||
initial_size
|
||||
}
|
||||
|
||||
class InteractiveSessionEvent {
|
||||
<<serialized>>
|
||||
<<union>>
|
||||
Terminal
|
||||
PromptDecision
|
||||
Poll
|
||||
}
|
||||
|
||||
class TerminalPrompt {
|
||||
<<serialized>>
|
||||
session_id
|
||||
request_id
|
||||
request_sha256
|
||||
agent_profile
|
||||
command_argv
|
||||
justification
|
||||
}
|
||||
|
||||
class InteractiveSessionMessage {
|
||||
<<serialized>>
|
||||
<<union>>
|
||||
Terminal
|
||||
Prompt
|
||||
}
|
||||
|
||||
class InteractiveSessionBatch {
|
||||
<<serialized>>
|
||||
session_id
|
||||
messages
|
||||
}
|
||||
|
||||
SessionTerminalEvent --> TerminalInput
|
||||
SessionTerminalEvent --> TerminalResize
|
||||
SessionTerminalEvent --> TerminalSignal
|
||||
|
|
@ -660,6 +699,11 @@ classDiagram
|
|||
SessionExit --> SessionExitOutcome
|
||||
NonInteractiveSessionMessage --> NonInteractiveOutput : Stdout / Stderr
|
||||
NonInteractiveSessionMessage --> SessionExit : Exit
|
||||
InteractiveSessionRequest --> TerminalResize : initial_size
|
||||
InteractiveSessionEvent --> SessionTerminalEvent : Terminal
|
||||
InteractiveSessionMessage --> SessionTerminalMessage : Terminal
|
||||
InteractiveSessionMessage --> TerminalPrompt : Prompt
|
||||
InteractiveSessionBatch --> InteractiveSessionMessage
|
||||
```
|
||||
|
||||
`exit_code` is present only for `Exited` and is the status collected from the
|
||||
|
|
@ -739,6 +783,7 @@ classDiagram
|
|||
Enroll
|
||||
Register
|
||||
Execute
|
||||
ExecuteInteractive
|
||||
}
|
||||
|
||||
class ControlResponse {
|
||||
|
|
|
|||
Loading…
Reference in a new issue