fix(tui): set mini terminal title on Linux (#38261)
This commit is contained in:
parent
ced3d5e02a
commit
0e08b7330f
5 changed files with 52 additions and 0 deletions
|
|
@ -84,6 +84,7 @@ describe("run interactive runtime", () => {
|
|||
footer: api,
|
||||
onResize: () => () => {},
|
||||
refreshTheme: () => {},
|
||||
setTitle: () => {},
|
||||
resetForReplay: () => Promise.resolve(),
|
||||
close: () => Promise.resolve(),
|
||||
}
|
||||
|
|
@ -180,6 +181,7 @@ describe("run interactive runtime", () => {
|
|||
footer: api,
|
||||
onResize: () => () => {},
|
||||
refreshTheme: () => {},
|
||||
setTitle: () => {},
|
||||
resetForReplay: () => Promise.resolve(),
|
||||
close: () => Promise.resolve(),
|
||||
}
|
||||
|
|
@ -199,6 +201,7 @@ describe("run interactive runtime", () => {
|
|||
const lifecycleStarted = defer<void>()
|
||||
const painted = defer<void>()
|
||||
const events: FooterEvent[] = []
|
||||
const titles: Array<string | undefined> = []
|
||||
const api = footer(events)
|
||||
api.idle = () => painted.promise
|
||||
const event = api.event
|
||||
|
|
@ -265,6 +268,7 @@ describe("run interactive runtime", () => {
|
|||
footer: api,
|
||||
onResize: () => () => {},
|
||||
refreshTheme: () => {},
|
||||
setTitle: (title) => titles.push(title),
|
||||
resetForReplay: () => Promise.resolve(),
|
||||
close: () => Promise.resolve(),
|
||||
}
|
||||
|
|
@ -282,6 +286,7 @@ describe("run interactive runtime", () => {
|
|||
history: [{ text: "previous prompt", parts: [] }],
|
||||
})
|
||||
expect(events).toContainEqual({ type: "agent", agent: "review" })
|
||||
expect(titles).toEqual(["Resume"])
|
||||
expect(events).toContainEqual({
|
||||
type: "model",
|
||||
model: "Little Frank · OpenAI · high",
|
||||
|
|
@ -344,6 +349,7 @@ describe("run interactive runtime", () => {
|
|||
footer: api,
|
||||
onResize: () => () => {},
|
||||
refreshTheme: () => {},
|
||||
setTitle: () => {},
|
||||
resetForReplay: () => Promise.resolve(),
|
||||
close: async (input) => {
|
||||
closedTitle = input.sessionTitle
|
||||
|
|
@ -423,6 +429,7 @@ describe("run interactive runtime", () => {
|
|||
footer: api,
|
||||
onResize: () => () => {},
|
||||
refreshTheme: () => {},
|
||||
setTitle: () => {},
|
||||
resetForReplay: () => Promise.resolve(),
|
||||
close: () => Promise.resolve(),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -200,6 +200,31 @@ afterEach(() => {
|
|||
})
|
||||
|
||||
describe("V2 mini transport", () => {
|
||||
test("reports session title changes", async () => {
|
||||
const events = feed()
|
||||
events.push(connected())
|
||||
const titles: string[] = []
|
||||
const transport = await createSessionTransport({
|
||||
sdk: sdk({ streams: [events] }),
|
||||
sessionID: "ses_1",
|
||||
thinking: false,
|
||||
footer: footer().api,
|
||||
onSessionTitle: (title) => titles.push(title),
|
||||
})
|
||||
|
||||
events.push({
|
||||
id: "evt_renamed",
|
||||
created: 1,
|
||||
type: "session.renamed",
|
||||
durable: durable("ses_1", 1),
|
||||
data: { sessionID: "ses_1", title: "Greeting" },
|
||||
})
|
||||
|
||||
while (titles.length === 0) await Bun.sleep(0)
|
||||
expect(titles).toEqual(["Greeting"])
|
||||
await transport.close()
|
||||
})
|
||||
|
||||
test("formats footer usage with compact tokens and context percentage", async () => {
|
||||
const events = feed()
|
||||
events.push(connected())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue