summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-29 11:17:34 -0400
committerDax Raad <[email protected]>2025-05-29 11:17:34 -0400
commit42c1cd6a852be5295aedc5c19e1a2aef45a464e3 (patch)
tree4c73d3121590991e487b86b6c0ea445fad5b732d /pkg
parent33a831d2be1fd7bea60421287f118be0bd968650 (diff)
downloadopencode-42c1cd6a852be5295aedc5c19e1a2aef45a464e3.tar.gz
opencode-42c1cd6a852be5295aedc5c19e1a2aef45a464e3.zip
event
Diffstat (limited to 'pkg')
-rw-r--r--pkg/client/event.go4
-rw-r--r--pkg/client/gen/event.json26
-rw-r--r--pkg/client/generated-event.go52
3 files changed, 81 insertions, 1 deletions
diff --git a/pkg/client/event.go b/pkg/client/event.go
index 8873bdf7b..a43c4c8ea 100644
--- a/pkg/client/event.go
+++ b/pkg/client/event.go
@@ -10,7 +10,9 @@ import (
)
var EventMap = map[string]any{
- "storage.write": EventStorageWrite{},
+ "storage.write": EventStorageWrite{},
+ "session.updated": EventSessionUpdated{},
+ "message.updated": EventMessageUpdated{},
}
type EventMessage struct {
diff --git a/pkg/client/gen/event.json b/pkg/client/gen/event.json
index e9b9256e9..e40f1308f 100644
--- a/pkg/client/gen/event.json
+++ b/pkg/client/gen/event.json
@@ -29,6 +29,32 @@
"serverID",
"path"
]
+ },
+ "event.message.updated": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string"
+ },
+ "messageID": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sessionID",
+ "messageID"
+ ]
+ },
+ "event.session.updated": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sessionID"
+ ]
}
}
} \ No newline at end of file
diff --git a/pkg/client/generated-event.go b/pkg/client/generated-event.go
index 0d8e67eb7..12485b648 100644
--- a/pkg/client/generated-event.go
+++ b/pkg/client/generated-event.go
@@ -34,6 +34,58 @@ func (j *EventLspClientDiagnostics) UnmarshalJSON(value []byte) error {
return nil
}
+type EventMessageUpdated struct {
+ // MessageID corresponds to the JSON schema field "messageID".
+ MessageID string `json:"messageID" yaml:"messageID" mapstructure:"messageID"`
+
+ // SessionID corresponds to the JSON schema field "sessionID".
+ SessionID string `json:"sessionID" yaml:"sessionID" mapstructure:"sessionID"`
+}
+
+// UnmarshalJSON implements json.Unmarshaler.
+func (j *EventMessageUpdated) UnmarshalJSON(value []byte) error {
+ var raw map[string]interface{}
+ if err := json.Unmarshal(value, &raw); err != nil {
+ return err
+ }
+ if _, ok := raw["messageID"]; raw != nil && !ok {
+ return fmt.Errorf("field messageID in EventMessageUpdated: required")
+ }
+ if _, ok := raw["sessionID"]; raw != nil && !ok {
+ return fmt.Errorf("field sessionID in EventMessageUpdated: required")
+ }
+ type Plain EventMessageUpdated
+ var plain Plain
+ if err := json.Unmarshal(value, &plain); err != nil {
+ return err
+ }
+ *j = EventMessageUpdated(plain)
+ return nil
+}
+
+type EventSessionUpdated struct {
+ // SessionID corresponds to the JSON schema field "sessionID".
+ SessionID string `json:"sessionID" yaml:"sessionID" mapstructure:"sessionID"`
+}
+
+// UnmarshalJSON implements json.Unmarshaler.
+func (j *EventSessionUpdated) UnmarshalJSON(value []byte) error {
+ var raw map[string]interface{}
+ if err := json.Unmarshal(value, &raw); err != nil {
+ return err
+ }
+ if _, ok := raw["sessionID"]; raw != nil && !ok {
+ return fmt.Errorf("field sessionID in EventSessionUpdated: required")
+ }
+ type Plain EventSessionUpdated
+ var plain Plain
+ if err := json.Unmarshal(value, &plain); err != nil {
+ return err
+ }
+ *j = EventSessionUpdated(plain)
+ return nil
+}
+
type EventStorageWrite struct {
// Content corresponds to the JSON schema field "content".
Content interface{} `json:"content" yaml:"content" mapstructure:"content"`