diff options
Diffstat (limited to 'js/src')
| -rw-r--r-- | js/src/server/server.ts | 20 | ||||
| -rw-r--r-- | js/src/session/session.ts | 3 |
2 files changed, 22 insertions, 1 deletions
diff --git a/js/src/server/server.ts b/js/src/server/server.ts index 8003420b7..b10fbe028 100644 --- a/js/src/server/server.ts +++ b/js/src/server/server.ts @@ -131,6 +131,26 @@ export namespace Server { }, ) .post( + "/session_list", + describeRoute({ + description: "List all sessions", + responses: { + 200: { + description: "List of sessions", + content: { + "application/json": { + schema: resolver(z.custom<Session.Info[]>()), + }, + }, + }, + }, + }), + async (c) => { + const sessions = await Array.fromAsync(Session.list()); + return c.json(sessions); + }, + ) + .post( "/session_chat", zValidator( "json", diff --git a/js/src/session/session.ts b/js/src/session/session.ts index 8b3f7fba1..7447f4916 100644 --- a/js/src/session/session.ts +++ b/js/src/session/session.ts @@ -122,7 +122,8 @@ export namespace Session { export async function* list() { for await (const item of Storage.list("session/info")) { - yield path.basename(item, ".json"); + const sessionID = path.basename(item, ".json"); + yield get(sessionID); } } |
