fix(session): update activity on prompt (#39539)
Co-authored-by: James Long <17031+jlongster@users.noreply.github.com>
This commit is contained in:
parent
7625cbdf47
commit
d6371f2fcd
2 changed files with 30 additions and 0 deletions
|
|
@ -657,6 +657,12 @@ const layer = Layer.effectDiscard(
|
||||||
input: event.data.input,
|
input: event.data.input,
|
||||||
timeCreated: event.created,
|
timeCreated: event.created,
|
||||||
})
|
})
|
||||||
|
yield* db
|
||||||
|
.update(SessionTable)
|
||||||
|
.set({ time_updated: DateTime.toEpochMillis(event.created) })
|
||||||
|
.where(eq(SessionTable.id, event.data.sessionID))
|
||||||
|
.run()
|
||||||
|
.pipe(Effect.orDie)
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
yield* bus.project(SessionEvent.Compaction.Admitted, (event) =>
|
yield* bus.project(SessionEvent.Compaction.Admitted, (event) =>
|
||||||
|
|
|
||||||
|
|
@ -171,6 +171,30 @@ describe("Session.create", () => {
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
it.effect("orders sessions by their latest prompt", () =>
|
||||||
|
Effect.gen(function* () {
|
||||||
|
const session = yield* Session.Service
|
||||||
|
const { db } = yield* Database.Service
|
||||||
|
const active = yield* session.create({ location, title: "active" })
|
||||||
|
const newer = yield* session.create({ location, title: "newer" })
|
||||||
|
|
||||||
|
yield* db
|
||||||
|
.update(SessionTable)
|
||||||
|
.set({ time_created: -2, time_updated: -2 })
|
||||||
|
.where(eq(SessionTable.id, active.id))
|
||||||
|
.run()
|
||||||
|
yield* db
|
||||||
|
.update(SessionTable)
|
||||||
|
.set({ time_created: -1, time_updated: -1 })
|
||||||
|
.where(eq(SessionTable.id, newer.id))
|
||||||
|
.run()
|
||||||
|
|
||||||
|
yield* session.prompt({ sessionID: active.id, text: "continue", resume: false })
|
||||||
|
|
||||||
|
expect((yield* session.list()).data.map((item) => item.id)).toEqual([active.id, newer.id])
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
|
||||||
it.effect("filters direct child sessions by parent ID", () =>
|
it.effect("filters direct child sessions by parent ID", () =>
|
||||||
Effect.gen(function* () {
|
Effect.gen(function* () {
|
||||||
const session = yield* Session.Service
|
const session = yield* Session.Service
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue