From 5f750b7368226ce455a6848f5f744d43179198e5 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Fri, 23 May 2025 16:20:21 -0400 Subject: share --- js/src/session/session.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'js/src/session') diff --git a/js/src/session/session.ts b/js/src/session/session.ts index 338c8dda9..33add33fa 100644 --- a/js/src/session/session.ts +++ b/js/src/session/session.ts @@ -18,12 +18,14 @@ import * as tools from "../tool"; import ANTHROPIC_PROMPT from "./prompt/anthropic.txt"; import type { Tool } from "../tool/tool"; +import { Share } from "../share/share"; export namespace Session { const log = Log.create({ service: "session" }); export const Info = z.object({ id: Identifier.schema("session"), + shareID: z.string().optional(), title: z.string(), tokens: z.object({ input: z.number(), @@ -77,6 +79,16 @@ export namespace Session { return read as Info; } + export async function share(id: string) { + const session = await get(id); + if (session.shareID) return session.shareID; + const shareID = await Share.create(id); + if (!shareID) return; + session.shareID = shareID; + await update(session); + return shareID; + } + export async function update(session: Info) { state().sessions.set(session.id, session); await Storage.writeJSON("session/info/" + session.id, session); -- cgit v1.2.3