feat(tui): support session deletion
This commit is contained in:
parent
96717c1a8c
commit
c0ea1a43f9
18 changed files with 563 additions and 273 deletions
|
|
@ -84,6 +84,16 @@ export const Renamed = Event.durable({
|
|||
})
|
||||
export type Renamed = typeof Renamed.Type
|
||||
|
||||
export const Deleted = Event.durable({
|
||||
type: "session.deleted",
|
||||
durable: {
|
||||
aggregate: "sessionID",
|
||||
version: 2,
|
||||
},
|
||||
schema: Base,
|
||||
})
|
||||
export type Deleted = typeof Deleted.Type
|
||||
|
||||
export const Forked = Event.durable({
|
||||
type: "session.forked",
|
||||
...options,
|
||||
|
|
@ -477,6 +487,7 @@ export const Definitions = Event.inventory(
|
|||
ModelSelected,
|
||||
Moved,
|
||||
Renamed,
|
||||
Deleted,
|
||||
Forked,
|
||||
PromptPromoted,
|
||||
PromptAdmitted,
|
||||
|
|
|
|||
|
|
@ -46,11 +46,12 @@ describe("public event manifest", () => {
|
|||
SessionV1.Event.Error,
|
||||
])
|
||||
expect(Array.from(EventManifest.Latest.keys())).toEqual(
|
||||
EventManifest.Definitions.map((definition) => definition.type),
|
||||
Array.from(new Set(EventManifest.Definitions.map((definition) => definition.type))),
|
||||
)
|
||||
expect(EventManifest.Latest.get("agent.updated")).toBe(Agent.Event.Updated)
|
||||
expect(EventManifest.Latest.get("plugin.updated")).toBe(Plugin.Event.Updated)
|
||||
expect(EventManifest.Server.get("mcp.status.changed")).toBe(McpEvent.StatusChanged)
|
||||
expect(EventManifest.Server.get("session.deleted")).toBe(SessionEvent.Deleted)
|
||||
expect(EventManifest.Server.has("mcp.tools.changed")).toBe(false)
|
||||
expect(Agent.Event.Updated.durable).toBeUndefined()
|
||||
expect(EventManifest.Durable.has("agent.updated")).toBe(false)
|
||||
|
|
@ -95,6 +96,7 @@ describe("public event manifest", () => {
|
|||
"session.created.1",
|
||||
"session.updated.1",
|
||||
"session.deleted.1",
|
||||
"session.deleted.2",
|
||||
"message.updated.1",
|
||||
"message.removed.1",
|
||||
"message.part.updated.1",
|
||||
|
|
@ -170,4 +172,11 @@ describe("public event manifest", () => {
|
|||
expect(SessionEvent.Text.Started.durable?.version).toBe(1)
|
||||
expect(SessionEvent.Tool.Called.durable?.version).toBe(1)
|
||||
})
|
||||
|
||||
test("keeps current session deletion minimal", () => {
|
||||
const sessionID = SessionID.make("ses_test")
|
||||
|
||||
expect(SessionEvent.Deleted.data.make({ sessionID })).toEqual({ sessionID })
|
||||
expect(SessionEvent.Deleted.durable?.version).toBe(2)
|
||||
})
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue