Add interactive client terminal transport
This commit is contained in:
parent
d597b05484
commit
6816f0632e
1 changed files with 1454 additions and 59 deletions
|
|
@ -208,6 +208,46 @@ fn every_schema_shape_round_trips_and_rejects_malformed_or_unknown_versions() {
|
|||
NonInteractiveSessionMessage::Exit(SessionExit::exited(session_id(), 4)),
|
||||
&mut seen,
|
||||
);
|
||||
let interactive_resize = TerminalResize {
|
||||
session_id: session_id(),
|
||||
rows: NonZeroU16::new(24).unwrap(),
|
||||
columns: NonZeroU16::new(80).unwrap(),
|
||||
pixel_width: 0,
|
||||
pixel_height: 0,
|
||||
};
|
||||
verify_shape(
|
||||
InteractiveSessionRequest {
|
||||
protocol_version: ProtocolVersion::V1,
|
||||
session_id: session_id(),
|
||||
argv: vec![b"tool".to_vec()],
|
||||
initial_size: interactive_resize,
|
||||
},
|
||||
&mut seen,
|
||||
);
|
||||
verify_shape(
|
||||
InteractiveSessionEvent::Poll {
|
||||
session_id: session_id(),
|
||||
},
|
||||
&mut seen,
|
||||
);
|
||||
let prompt = TerminalPrompt {
|
||||
session_id: session_id(),
|
||||
request_id: RequestId::new(opaque(54)),
|
||||
request_sha256: RequestDigest::new(opaque(55)),
|
||||
agent_profile: "trusted".into(),
|
||||
command_argv: vec![b"/usr/bin/tool".to_vec()],
|
||||
justification: "host operation".into(),
|
||||
};
|
||||
verify_shape(prompt.clone(), &mut seen);
|
||||
let interactive_message = InteractiveSessionMessage::Prompt(prompt);
|
||||
verify_shape(interactive_message.clone(), &mut seen);
|
||||
verify_shape(
|
||||
InteractiveSessionBatch {
|
||||
session_id: session_id(),
|
||||
messages: vec![interactive_message],
|
||||
},
|
||||
&mut seen,
|
||||
);
|
||||
verify_shape(generation_identity(), &mut seen);
|
||||
verify_shape(trust_manifest(), &mut seen);
|
||||
verify_shape(tls_credential.clone(), &mut seen);
|
||||
|
|
|
|||
Loading…
Reference in a new issue