summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-05-26 18:14:36 -0400
committerDax Raad <[email protected]>2025-05-26 18:14:36 -0400
commit591bd2a4e3ae8eea9629d0c2b6caf725ef993645 (patch)
treedc09fca005c57bb0b7f1648043b9220e57c3e27b /pkg
parent94f35130f7d5e3f3cc06ef1ae53aa1c82775d3ae (diff)
downloadopencode-591bd2a4e3ae8eea9629d0c2b6caf725ef993645.tar.gz
opencode-591bd2a4e3ae8eea9629d0c2b6caf725ef993645.zip
sync
Diffstat (limited to 'pkg')
-rw-r--r--pkg/client/gen/event.json19
-rw-r--r--pkg/client/gen/openapi.json73
-rw-r--r--pkg/client/generated-client.go301
-rw-r--r--pkg/client/generated-event.go37
4 files changed, 421 insertions, 9 deletions
diff --git a/pkg/client/gen/event.json b/pkg/client/gen/event.json
index 5b6120e22..e9b9256e9 100644
--- a/pkg/client/gen/event.json
+++ b/pkg/client/gen/event.json
@@ -8,11 +8,26 @@
"key": {
"type": "string"
},
- "body": {}
+ "content": {}
},
"required": [
"key",
- "body"
+ "content"
+ ]
+ },
+ "event.lsp.client.diagnostics": {
+ "type": "object",
+ "properties": {
+ "serverID": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "serverID",
+ "path"
]
}
}
diff --git a/pkg/client/gen/openapi.json b/pkg/client/gen/openapi.json
index 58027b839..3a14a4643 100644
--- a/pkg/client/gen/openapi.json
+++ b/pkg/client/gen/openapi.json
@@ -25,6 +25,76 @@
"description": "Create a new session"
}
},
+ "/session_share": {
+ "post": {
+ "responses": {
+ "200": {
+ "description": "Successfully shared session",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Session.Info"
+ }
+ }
+ }
+ }
+ },
+ "operationId": "postSession_share",
+ "parameters": [],
+ "description": "Share the session",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sessionID"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "/session_messages": {
+ "post": {
+ "responses": {
+ "200": {
+ "description": "Successfully created session",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ }
+ },
+ "operationId": "postSession_messages",
+ "parameters": [],
+ "description": "Get messages for a session",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "sessionID": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "sessionID"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
"/session_chat": {
"post": {
"responses": {},
@@ -60,6 +130,9 @@
"type": "string",
"pattern": "^ses"
},
+ "shareID": {
+ "type": "string"
+ },
"title": {
"type": "string"
},
diff --git a/pkg/client/generated-client.go b/pkg/client/generated-client.go
index 974863f40..e93e83afe 100644
--- a/pkg/client/generated-client.go
+++ b/pkg/client/generated-client.go
@@ -16,9 +16,10 @@ import (
// SessionInfo defines model for Session.Info.
type SessionInfo struct {
- Id string `json:"id"`
- Title string `json:"title"`
- Tokens struct {
+ Id string `json:"id"`
+ ShareID *string `json:"shareID,omitempty"`
+ Title string `json:"title"`
+ Tokens struct {
Input float32 `json:"input"`
Output float32 `json:"output"`
Reasoning float32 `json:"reasoning"`
@@ -31,9 +32,25 @@ type PostSessionChatJSONBody struct {
SessionID string `json:"sessionID"`
}
+// PostSessionMessagesJSONBody defines parameters for PostSessionMessages.
+type PostSessionMessagesJSONBody struct {
+ SessionID string `json:"sessionID"`
+}
+
+// PostSessionShareJSONBody defines parameters for PostSessionShare.
+type PostSessionShareJSONBody struct {
+ SessionID string `json:"sessionID"`
+}
+
// PostSessionChatJSONRequestBody defines body for PostSessionChat for application/json ContentType.
type PostSessionChatJSONRequestBody PostSessionChatJSONBody
+// PostSessionMessagesJSONRequestBody defines body for PostSessionMessages for application/json ContentType.
+type PostSessionMessagesJSONRequestBody PostSessionMessagesJSONBody
+
+// PostSessionShareJSONRequestBody defines body for PostSessionShare for application/json ContentType.
+type PostSessionShareJSONRequestBody PostSessionShareJSONBody
+
// RequestEditorFn is the function signature for the RequestEditor callback function
type RequestEditorFn func(ctx context.Context, req *http.Request) error
@@ -114,6 +131,16 @@ type ClientInterface interface {
// PostSessionCreate request
PostSessionCreate(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
+
+ // PostSessionMessagesWithBody request with any body
+ PostSessionMessagesWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
+
+ PostSessionMessages(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
+
+ // PostSessionShareWithBody request with any body
+ PostSessionShareWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
+
+ PostSessionShare(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
}
func (c *Client) PostSessionChatWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
@@ -152,6 +179,54 @@ func (c *Client) PostSessionCreate(ctx context.Context, reqEditors ...RequestEdi
return c.Client.Do(req)
}
+func (c *Client) PostSessionMessagesWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
+ req, err := NewPostSessionMessagesRequestWithBody(c.Server, contentType, body)
+ if err != nil {
+ return nil, err
+ }
+ req = req.WithContext(ctx)
+ if err := c.applyEditors(ctx, req, reqEditors); err != nil {
+ return nil, err
+ }
+ return c.Client.Do(req)
+}
+
+func (c *Client) PostSessionMessages(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
+ req, err := NewPostSessionMessagesRequest(c.Server, body)
+ if err != nil {
+ return nil, err
+ }
+ req = req.WithContext(ctx)
+ if err := c.applyEditors(ctx, req, reqEditors); err != nil {
+ return nil, err
+ }
+ return c.Client.Do(req)
+}
+
+func (c *Client) PostSessionShareWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
+ req, err := NewPostSessionShareRequestWithBody(c.Server, contentType, body)
+ if err != nil {
+ return nil, err
+ }
+ req = req.WithContext(ctx)
+ if err := c.applyEditors(ctx, req, reqEditors); err != nil {
+ return nil, err
+ }
+ return c.Client.Do(req)
+}
+
+func (c *Client) PostSessionShare(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
+ req, err := NewPostSessionShareRequest(c.Server, body)
+ if err != nil {
+ return nil, err
+ }
+ req = req.WithContext(ctx)
+ if err := c.applyEditors(ctx, req, reqEditors); err != nil {
+ return nil, err
+ }
+ return c.Client.Do(req)
+}
+
// NewPostSessionChatRequest calls the generic PostSessionChat builder with application/json body
func NewPostSessionChatRequest(server string, body PostSessionChatJSONRequestBody) (*http.Request, error) {
var bodyReader io.Reader
@@ -219,6 +294,86 @@ func NewPostSessionCreateRequest(server string) (*http.Request, error) {
return req, nil
}
+// NewPostSessionMessagesRequest calls the generic PostSessionMessages builder with application/json body
+func NewPostSessionMessagesRequest(server string, body PostSessionMessagesJSONRequestBody) (*http.Request, error) {
+ var bodyReader io.Reader
+ buf, err := json.Marshal(body)
+ if err != nil {
+ return nil, err
+ }
+ bodyReader = bytes.NewReader(buf)
+ return NewPostSessionMessagesRequestWithBody(server, "application/json", bodyReader)
+}
+
+// NewPostSessionMessagesRequestWithBody generates requests for PostSessionMessages with any type of body
+func NewPostSessionMessagesRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
+ var err error
+
+ serverURL, err := url.Parse(server)
+ if err != nil {
+ return nil, err
+ }
+
+ operationPath := fmt.Sprintf("/session_messages")
+ if operationPath[0] == '/' {
+ operationPath = "." + operationPath
+ }
+
+ queryURL, err := serverURL.Parse(operationPath)
+ if err != nil {
+ return nil, err
+ }
+
+ req, err := http.NewRequest("POST", queryURL.String(), body)
+ if err != nil {
+ return nil, err
+ }
+
+ req.Header.Add("Content-Type", contentType)
+
+ return req, nil
+}
+
+// NewPostSessionShareRequest calls the generic PostSessionShare builder with application/json body
+func NewPostSessionShareRequest(server string, body PostSessionShareJSONRequestBody) (*http.Request, error) {
+ var bodyReader io.Reader
+ buf, err := json.Marshal(body)
+ if err != nil {
+ return nil, err
+ }
+ bodyReader = bytes.NewReader(buf)
+ return NewPostSessionShareRequestWithBody(server, "application/json", bodyReader)
+}
+
+// NewPostSessionShareRequestWithBody generates requests for PostSessionShare with any type of body
+func NewPostSessionShareRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) {
+ var err error
+
+ serverURL, err := url.Parse(server)
+ if err != nil {
+ return nil, err
+ }
+
+ operationPath := fmt.Sprintf("/session_share")
+ if operationPath[0] == '/' {
+ operationPath = "." + operationPath
+ }
+
+ queryURL, err := serverURL.Parse(operationPath)
+ if err != nil {
+ return nil, err
+ }
+
+ req, err := http.NewRequest("POST", queryURL.String(), body)
+ if err != nil {
+ return nil, err
+ }
+
+ req.Header.Add("Content-Type", contentType)
+
+ return req, nil
+}
+
func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error {
for _, r := range c.RequestEditors {
if err := r(ctx, req); err != nil {
@@ -269,6 +424,16 @@ type ClientWithResponsesInterface interface {
// PostSessionCreateWithResponse request
PostSessionCreateWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionCreateResponse, error)
+
+ // PostSessionMessagesWithBodyWithResponse request with any body
+ PostSessionMessagesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error)
+
+ PostSessionMessagesWithResponse(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error)
+
+ // PostSessionShareWithBodyWithResponse request with any body
+ PostSessionShareWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error)
+
+ PostSessionShareWithResponse(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error)
}
type PostSessionChatResponse struct {
@@ -314,6 +479,50 @@ func (r PostSessionCreateResponse) StatusCode() int {
return 0
}
+type PostSessionMessagesResponse struct {
+ Body []byte
+ HTTPResponse *http.Response
+ JSON200 *interface{}
+}
+
+// Status returns HTTPResponse.Status
+func (r PostSessionMessagesResponse) Status() string {
+ if r.HTTPResponse != nil {
+ return r.HTTPResponse.Status
+ }
+ return http.StatusText(0)
+}
+
+// StatusCode returns HTTPResponse.StatusCode
+func (r PostSessionMessagesResponse) StatusCode() int {
+ if r.HTTPResponse != nil {
+ return r.HTTPResponse.StatusCode
+ }
+ return 0
+}
+
+type PostSessionShareResponse struct {
+ Body []byte
+ HTTPResponse *http.Response
+ JSON200 *SessionInfo
+}
+
+// Status returns HTTPResponse.Status
+func (r PostSessionShareResponse) Status() string {
+ if r.HTTPResponse != nil {
+ return r.HTTPResponse.Status
+ }
+ return http.StatusText(0)
+}
+
+// StatusCode returns HTTPResponse.StatusCode
+func (r PostSessionShareResponse) StatusCode() int {
+ if r.HTTPResponse != nil {
+ return r.HTTPResponse.StatusCode
+ }
+ return 0
+}
+
// PostSessionChatWithBodyWithResponse request with arbitrary body returning *PostSessionChatResponse
func (c *ClientWithResponses) PostSessionChatWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionChatResponse, error) {
rsp, err := c.PostSessionChatWithBody(ctx, contentType, body, reqEditors...)
@@ -340,6 +549,40 @@ func (c *ClientWithResponses) PostSessionCreateWithResponse(ctx context.Context,
return ParsePostSessionCreateResponse(rsp)
}
+// PostSessionMessagesWithBodyWithResponse request with arbitrary body returning *PostSessionMessagesResponse
+func (c *ClientWithResponses) PostSessionMessagesWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error) {
+ rsp, err := c.PostSessionMessagesWithBody(ctx, contentType, body, reqEditors...)
+ if err != nil {
+ return nil, err
+ }
+ return ParsePostSessionMessagesResponse(rsp)
+}
+
+func (c *ClientWithResponses) PostSessionMessagesWithResponse(ctx context.Context, body PostSessionMessagesJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionMessagesResponse, error) {
+ rsp, err := c.PostSessionMessages(ctx, body, reqEditors...)
+ if err != nil {
+ return nil, err
+ }
+ return ParsePostSessionMessagesResponse(rsp)
+}
+
+// PostSessionShareWithBodyWithResponse request with arbitrary body returning *PostSessionShareResponse
+func (c *ClientWithResponses) PostSessionShareWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error) {
+ rsp, err := c.PostSessionShareWithBody(ctx, contentType, body, reqEditors...)
+ if err != nil {
+ return nil, err
+ }
+ return ParsePostSessionShareResponse(rsp)
+}
+
+func (c *ClientWithResponses) PostSessionShareWithResponse(ctx context.Context, body PostSessionShareJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionShareResponse, error) {
+ rsp, err := c.PostSessionShare(ctx, body, reqEditors...)
+ if err != nil {
+ return nil, err
+ }
+ return ParsePostSessionShareResponse(rsp)
+}
+
// ParsePostSessionChatResponse parses an HTTP response from a PostSessionChatWithResponse call
func ParsePostSessionChatResponse(rsp *http.Response) (*PostSessionChatResponse, error) {
bodyBytes, err := io.ReadAll(rsp.Body)
@@ -381,3 +624,55 @@ func ParsePostSessionCreateResponse(rsp *http.Response) (*PostSessionCreateRespo
return response, nil
}
+
+// ParsePostSessionMessagesResponse parses an HTTP response from a PostSessionMessagesWithResponse call
+func ParsePostSessionMessagesResponse(rsp *http.Response) (*PostSessionMessagesResponse, error) {
+ bodyBytes, err := io.ReadAll(rsp.Body)
+ defer func() { _ = rsp.Body.Close() }()
+ if err != nil {
+ return nil, err
+ }
+
+ response := &PostSessionMessagesResponse{
+ Body: bodyBytes,
+ HTTPResponse: rsp,
+ }
+
+ switch {
+ case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
+ var dest interface{}
+ if err := json.Unmarshal(bodyBytes, &dest); err != nil {
+ return nil, err
+ }
+ response.JSON200 = &dest
+
+ }
+
+ return response, nil
+}
+
+// ParsePostSessionShareResponse parses an HTTP response from a PostSessionShareWithResponse call
+func ParsePostSessionShareResponse(rsp *http.Response) (*PostSessionShareResponse, error) {
+ bodyBytes, err := io.ReadAll(rsp.Body)
+ defer func() { _ = rsp.Body.Close() }()
+ if err != nil {
+ return nil, err
+ }
+
+ response := &PostSessionShareResponse{
+ Body: bodyBytes,
+ HTTPResponse: rsp,
+ }
+
+ switch {
+ case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
+ var dest SessionInfo
+ if err := json.Unmarshal(bodyBytes, &dest); err != nil {
+ return nil, err
+ }
+ response.JSON200 = &dest
+
+ }
+
+ return response, nil
+}
diff --git a/pkg/client/generated-event.go b/pkg/client/generated-event.go
index 5062d1169..0d8e67eb7 100644
--- a/pkg/client/generated-event.go
+++ b/pkg/client/generated-event.go
@@ -5,9 +5,38 @@ package client
import "encoding/json"
import "fmt"
+type EventLspClientDiagnostics struct {
+ // Path corresponds to the JSON schema field "path".
+ Path string `json:"path" yaml:"path" mapstructure:"path"`
+
+ // ServerID corresponds to the JSON schema field "serverID".
+ ServerID string `json:"serverID" yaml:"serverID" mapstructure:"serverID"`
+}
+
+// UnmarshalJSON implements json.Unmarshaler.
+func (j *EventLspClientDiagnostics) UnmarshalJSON(value []byte) error {
+ var raw map[string]interface{}
+ if err := json.Unmarshal(value, &raw); err != nil {
+ return err
+ }
+ if _, ok := raw["path"]; raw != nil && !ok {
+ return fmt.Errorf("field path in EventLspClientDiagnostics: required")
+ }
+ if _, ok := raw["serverID"]; raw != nil && !ok {
+ return fmt.Errorf("field serverID in EventLspClientDiagnostics: required")
+ }
+ type Plain EventLspClientDiagnostics
+ var plain Plain
+ if err := json.Unmarshal(value, &plain); err != nil {
+ return err
+ }
+ *j = EventLspClientDiagnostics(plain)
+ return nil
+}
+
type EventStorageWrite struct {
- // Body corresponds to the JSON schema field "body".
- Body interface{} `json:"body" yaml:"body" mapstructure:"body"`
+ // Content corresponds to the JSON schema field "content".
+ Content interface{} `json:"content" yaml:"content" mapstructure:"content"`
// Key corresponds to the JSON schema field "key".
Key string `json:"key" yaml:"key" mapstructure:"key"`
@@ -19,8 +48,8 @@ func (j *EventStorageWrite) UnmarshalJSON(value []byte) error {
if err := json.Unmarshal(value, &raw); err != nil {
return err
}
- if _, ok := raw["body"]; raw != nil && !ok {
- return fmt.Errorf("field body in EventStorageWrite: required")
+ if _, ok := raw["content"]; raw != nil && !ok {
+ return fmt.Errorf("field content in EventStorageWrite: required")
}
if _, ok := raw["key"]; raw != nil && !ok {
return fmt.Errorf("field key in EventStorageWrite: required")