summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/server/routes/session.ts16
-rw-r--r--packages/opencode/src/session/index.ts24
-rw-r--r--packages/opencode/src/session/prompt.ts26
3 files changed, 41 insertions, 25 deletions
diff --git a/packages/opencode/src/server/routes/session.ts b/packages/opencode/src/server/routes/session.ts
index a0dc9fb84..3850376bd 100644
--- a/packages/opencode/src/server/routes/session.ts
+++ b/packages/opencode/src/server/routes/session.ts
@@ -276,12 +276,16 @@ export const SessionRoutes = lazy(() =>
const sessionID = c.req.valid("param").sessionID
const updates = c.req.valid("json")
- const updatedSession = await Session.update(sessionID, (session) => {
- if (updates.title !== undefined) {
- session.title = updates.title
- }
- if (updates.time?.archived !== undefined) session.time.archived = updates.time.archived
- }, { touch: false })
+ const updatedSession = await Session.update(
+ sessionID,
+ (session) => {
+ if (updates.title !== undefined) {
+ session.title = updates.title
+ }
+ if (updates.time?.archived !== undefined) session.time.archived = updates.time.archived
+ },
+ { touch: false },
+ )
return c.json(updatedSession)
},
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts
index 659127470..b81a21a57 100644
--- a/packages/opencode/src/session/index.ts
+++ b/packages/opencode/src/session/index.ts
@@ -255,11 +255,15 @@ export namespace Session {
}
const { ShareNext } = await import("@/share/share-next")
const share = await ShareNext.create(id)
- await update(id, (draft) => {
- draft.share = {
- url: share.url,
- }
- }, { touch: false })
+ await update(
+ id,
+ (draft) => {
+ draft.share = {
+ url: share.url,
+ }
+ },
+ { touch: false },
+ )
return share
})
@@ -267,9 +271,13 @@ export namespace Session {
// Use ShareNext to remove the share (same as share function uses ShareNext to create)
const { ShareNext } = await import("@/share/share-next")
await ShareNext.remove(id)
- await update(id, (draft) => {
- draft.share = undefined
- }, { touch: false })
+ await update(
+ id,
+ (draft) => {
+ draft.share = undefined
+ },
+ { touch: false },
+ )
})
export async function update(id: string, editor: (session: Info) => void, options?: { touch?: boolean }) {
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index 48f2597d0..f52e692d9 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -1806,16 +1806,20 @@ NOTE: At any point in time through this workflow you should feel free to ask the
})
const text = await result.text.catch((err) => log.error("failed to generate title", { error: err }))
if (text)
- return Session.update(input.session.id, (draft) => {
- const cleaned = text
- .replace(/<think>[\s\S]*?<\/think>\s*/g, "")
- .split("\n")
- .map((line) => line.trim())
- .find((line) => line.length > 0)
- if (!cleaned) return
-
- const title = cleaned.length > 100 ? cleaned.substring(0, 97) + "..." : cleaned
- draft.title = title
- }, { touch: false })
+ return Session.update(
+ input.session.id,
+ (draft) => {
+ const cleaned = text
+ .replace(/<think>[\s\S]*?<\/think>\s*/g, "")
+ .split("\n")
+ .map((line) => line.trim())
+ .find((line) => line.length > 0)
+ if (!cleaned) return
+
+ const title = cleaned.length > 100 ? cleaned.substring(0, 97) + "..." : cleaned
+ draft.title = title
+ },
+ { touch: false },
+ )
}
}