summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-29 11:35:56 -0400
committerDax Raad <[email protected]>2025-05-29 11:35:56 -0400
commita96c2ce65c8e87431dce84f0466abb9769e2f7fd (patch)
tree991e2d42ad3bcecdba417d4cd997679c85900032
parent6f604bd0f999a5df4ed6a57aef524f0dcf9eb356 (diff)
downloadopencode-a96c2ce65c8e87431dce84f0466abb9769e2f7fd.tar.gz
opencode-a96c2ce65c8e87431dce84f0466abb9769e2f7fd.zip
sync
-rw-r--r--js/src/session/message.ts18
-rw-r--r--js/src/session/session.ts9
-rw-r--r--pkg/client/gen/openapi.json112
-rw-r--r--pkg/client/generated-client.go9
4 files changed, 81 insertions, 67 deletions
diff --git a/js/src/session/message.ts b/js/src/session/message.ts
index c944fa640..b52890ade 100644
--- a/js/src/session/message.ts
+++ b/js/src/session/message.ts
@@ -2,15 +2,6 @@ import z from "zod";
import { Bus } from "../bus";
export namespace Message {
- export const Event = {
- Updated: Bus.event(
- "message.updated",
- z.object({
- sessionID: z.string(),
- messageID: z.string(),
- }),
- ),
- };
export const ToolCall = z
.object({
state: z.literal("call"),
@@ -167,4 +158,13 @@ export namespace Message {
ref: "Message.Info",
});
export type Info = z.infer<typeof Info>;
+
+ export const Event = {
+ Updated: Bus.event(
+ "message.updated",
+ z.object({
+ info: Info,
+ }),
+ ),
+ };
}
diff --git a/js/src/session/session.ts b/js/src/session/session.ts
index 1cf89de19..4b5030506 100644
--- a/js/src/session/session.ts
+++ b/js/src/session/session.ts
@@ -35,7 +35,7 @@ export namespace Session {
Updated: Bus.event(
"session.updated",
z.object({
- sessionID: z.string(),
+ info: Info,
}),
),
};
@@ -60,7 +60,7 @@ export namespace Session {
await Storage.writeJSON("session/info/" + result.id, result);
await share(result.id);
Bus.publish(Event.Updated, {
- sessionID: result.id,
+ info: result,
});
return result;
}
@@ -94,7 +94,7 @@ export namespace Session {
sessions.set(id, session);
await Storage.writeJSON("session/info/" + id, session);
Bus.publish(Event.Updated, {
- sessionID: id,
+ info: session,
});
return session;
}
@@ -147,8 +147,7 @@ export namespace Session {
msg,
);
Bus.publish(Message.Event.Updated, {
- sessionID: input.sessionID,
- messageID: msg.id,
+ info: msg,
});
}
const app = await App.use();
diff --git a/pkg/client/gen/openapi.json b/pkg/client/gen/openapi.json
index 5356042c4..274c6c7d6 100644
--- a/pkg/client/gen/openapi.json
+++ b/pkg/client/gen/openapi.json
@@ -357,16 +357,12 @@
"properties": {
"type": "object",
"properties": {
- "sessionID": {
- "type": "string"
- },
- "messageID": {
- "type": "string"
+ "info": {
+ "$ref": "#/components/schemas/Message.Info"
}
},
"required": [
- "sessionID",
- "messageID"
+ "info"
]
}
},
@@ -375,49 +371,6 @@
"properties"
]
},
- "Event.session.updated": {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "const": "session.updated"
- },
- "properties": {
- "type": "object",
- "properties": {
- "sessionID": {
- "type": "string"
- }
- },
- "required": [
- "sessionID"
- ]
- }
- },
- "required": [
- "type",
- "properties"
- ]
- },
- "Session.Info": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "pattern": "^ses"
- },
- "shareID": {
- "type": "string"
- },
- "title": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "title"
- ]
- },
"Message.Info": {
"type": "object",
"properties": {
@@ -760,6 +713,65 @@
"type"
]
},
+ "Event.session.updated": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "const": "session.updated"
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "info": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ "shareID": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ]
+ }
+ },
+ "required": [
+ "info"
+ ]
+ }
+ },
+ "required": [
+ "type",
+ "properties"
+ ]
+ },
+ "Session.Info": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^ses"
+ },
+ "shareID": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "title"
+ ]
+ },
"Provider.Info": {
"type": "object",
"properties": {
diff --git a/pkg/client/generated-client.go b/pkg/client/generated-client.go
index 70a911908..7af8b48fd 100644
--- a/pkg/client/generated-client.go
+++ b/pkg/client/generated-client.go
@@ -41,8 +41,7 @@ type EventLspClientDiagnostics struct {
// EventMessageUpdated defines model for Event.message.updated.
type EventMessageUpdated struct {
Properties struct {
- MessageID string `json:"messageID"`
- SessionID string `json:"sessionID"`
+ Info MessageInfo `json:"info"`
} `json:"properties"`
Type string `json:"type"`
}
@@ -50,7 +49,11 @@ type EventMessageUpdated struct {
// EventSessionUpdated defines model for Event.session.updated.
type EventSessionUpdated struct {
Properties struct {
- SessionID string `json:"sessionID"`
+ Info struct {
+ Id string `json:"id"`
+ ShareID *string `json:"shareID,omitempty"`
+ Title string `json:"title"`
+ } `json:"info"`
} `json:"properties"`
Type string `json:"type"`
}