Răsfoiți Sursa

Update CLI run command and session handling

🤖 Generated with [OpenCode](https://opencode.ai)

Co-Authored-By: OpenCode <[email protected]>
Dax Raad 8 luni în urmă
părinte
comite
29a6603a89

+ 1 - 0
packages/opencode/src/cli/cmd/run.ts

@@ -83,6 +83,7 @@ export const RunCommand = {
         }
         }
 
 
         Bus.subscribe(Message.Event.PartUpdated, async (evt) => {
         Bus.subscribe(Message.Event.PartUpdated, async (evt) => {
+          if (evt.properties.sessionID !== session.id) return
           const part = evt.properties.part
           const part = evt.properties.part
           const message = await Session.getMessage(
           const message = await Session.getMessage(
             evt.properties.sessionID,
             evt.properties.sessionID,

+ 5 - 2
packages/opencode/src/session/index.ts

@@ -81,7 +81,9 @@ export namespace Session {
     const result: Info = {
     const result: Info = {
       id: Identifier.descending("session"),
       id: Identifier.descending("session"),
       parentID,
       parentID,
-      title: "Child Session - " + new Date().toISOString(),
+      title:
+        (parentID ? "Child session - " : "New Session - ") +
+        new Date().toISOString(),
       time: {
       time: {
         created: Date.now(),
         created: Date.now(),
         updated: Date.now(),
         updated: Date.now(),
@@ -221,7 +223,8 @@ export namespace Session {
     if (lastSummary) msgs = msgs.filter((msg) => msg.id >= lastSummary.id)
     if (lastSummary) msgs = msgs.filter((msg) => msg.id >= lastSummary.id)
 
 
     const app = App.info()
     const app = App.info()
-    if (msgs.length === 0) {
+    const session = await get(input.sessionID)
+    if (msgs.length === 0 && !session.parentID) {
       generateText({
       generateText({
         maxOutputTokens: 20,
         maxOutputTokens: 20,
         messages: convertToModelMessages([
         messages: convertToModelMessages([