diff options
| author | Dax Raad <[email protected]> | 2025-05-26 18:06:41 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-26 18:06:47 -0400 |
| commit | f26873f5dea89d527140ef4494fd2c22a05cb125 (patch) | |
| tree | b0762f44028bd8bbad127c0a4ecc9978abf19899 | |
| parent | 66b18959ebc7b699a74ce69d3adfb4c4dcaa5fd1 (diff) | |
| download | opencode-f26873f5dea89d527140ef4494fd2c22a05cb125.tar.gz opencode-f26873f5dea89d527140ef4494fd2c22a05cb125.zip | |
sync
| -rw-r--r-- | js/src/server/server.ts | 38 | ||||
| -rw-r--r-- | js/src/session/session.ts | 2 |
2 files changed, 34 insertions, 6 deletions
diff --git a/js/src/server/server.ts b/js/src/server/server.ts index c59f2d032..52daa5933 100644 --- a/js/src/server/server.ts +++ b/js/src/server/server.ts @@ -8,6 +8,10 @@ import { resolver, validator as zValidator } from "hono-openapi/zod"; import { z } from "zod"; import "zod-openapi/extend"; +const SessionInfo = Session.Info.openapi({ + ref: "Session.Info", +}); + export namespace Server { const log = Log.create({ service: "server" }); const PORT = 16713; @@ -59,11 +63,7 @@ export namespace Server { description: "Successfully created session", content: { "application/json": { - schema: resolver( - Session.Info.openapi({ - ref: "Session.Info", - }), - ), + schema: resolver(SessionInfo), }, }, }, @@ -75,6 +75,34 @@ export namespace Server { }, ) .post( + "/session_share", + describeRoute({ + description: "Share the session", + responses: { + 200: { + description: "Successfully shared session", + content: { + "application/json": { + schema: resolver(SessionInfo), + }, + }, + }, + }, + }), + zValidator( + "json", + z.object({ + sessionID: z.string(), + }), + ), + async (c) => { + const body = c.req.valid("json"); + await Session.share(body.sessionID); + const session = await Session.get(body.sessionID); + return c.json(session); + }, + ) + .post( "/session_messages", describeRoute({ description: "Get messages for a session", diff --git a/js/src/session/session.ts b/js/src/session/session.ts index 06a929270..4def98283 100644 --- a/js/src/session/session.ts +++ b/js/src/session/session.ts @@ -87,7 +87,7 @@ export namespace Session { if (!shareID) return; session.shareID = shareID; await update(session); - return shareID; + return shareID as string; } export async function update(session: Info) { |
