feat(simulation): expose normalized terminal frames (#37135)
This commit is contained in:
parent
83cfafc884
commit
35f14900ae
4 changed files with 56 additions and 0 deletions
|
|
@ -95,6 +95,29 @@ export namespace Frontend {
|
|||
export const Screenshot = Schema.String
|
||||
export type Screenshot = Schema.Schema.Type<typeof Screenshot>
|
||||
|
||||
export const Color = Schema.Tuple([Schema.Number, Schema.Number, Schema.Number, Schema.Number])
|
||||
export type Color = Schema.Schema.Type<typeof Color>
|
||||
|
||||
export const CapturedFrame = Schema.Struct({
|
||||
cols: Schema.Number,
|
||||
rows: Schema.Number,
|
||||
cursor: Schema.Tuple([Schema.Number, Schema.Number]),
|
||||
lines: Schema.Array(
|
||||
Schema.Struct({
|
||||
spans: Schema.Array(
|
||||
Schema.Struct({
|
||||
text: Schema.String,
|
||||
fg: Color,
|
||||
bg: Color,
|
||||
attributes: Schema.Number,
|
||||
width: Schema.Number,
|
||||
}),
|
||||
),
|
||||
}),
|
||||
),
|
||||
})
|
||||
export interface CapturedFrame extends Schema.Schema.Type<typeof CapturedFrame> {}
|
||||
|
||||
export const RecordingFinish = Schema.String
|
||||
export type RecordingFinish = Schema.Schema.Type<typeof RecordingFinish>
|
||||
|
||||
|
|
@ -142,6 +165,7 @@ export namespace Frontend {
|
|||
...JsonRpc.RequestFields,
|
||||
method: Schema.Literals(["ui.enter", "ui.state", "ui.recording.finish"]),
|
||||
}),
|
||||
Schema.Struct({ ...JsonRpc.RequestFields, method: Schema.Literal("ui.capture") }),
|
||||
])
|
||||
export type Request = Schema.Schema.Type<typeof Request>
|
||||
export const decodeRequest = Schema.decodeUnknownSync(Request)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue