Dax Raad 8 mesi fa
parent
commit
caf9fdc893

+ 17 - 9
packages/opencode/src/app/app.ts

@@ -10,15 +10,15 @@ export namespace App {
 
 
   export const Info = z
   export const Info = z
     .object({
     .object({
-      time: z.object({
-        initialized: z.number().optional(),
-      }),
       git: z.boolean(),
       git: z.boolean(),
       path: z.object({
       path: z.object({
         data: z.string(),
         data: z.string(),
         root: z.string(),
         root: z.string(),
         cwd: z.string(),
         cwd: z.string(),
       }),
       }),
+      time: z.object({
+        initialized: z.number().optional(),
+      }),
     })
     })
     .openapi({
     .openapi({
       ref: "App.Info",
       ref: "App.Info",
@@ -33,16 +33,12 @@ export namespace App {
     )
     )
 
 
     const data = path.join(Global.data(), git ?? "global")
     const data = path.join(Global.data(), git ?? "global")
-    await Bun.write(path.join(data, "version"), input.version)
     const stateFile = Bun.file(path.join(data, "state"))
     const stateFile = Bun.file(path.join(data, "state"))
-    const state = (
-      (await stateFile.exists()) ? await stateFile.json() : {}
-    ) as {
+    const state = (await stateFile.json().catch(() => ({}))) as {
       initialized: number
       initialized: number
       version: string
       version: string
     }
     }
     state.version = input.version
     state.version = input.version
-    if (!git) state.initialized = Date.now()
     await stateFile.write(JSON.stringify(state))
     await stateFile.write(JSON.stringify(state))
 
 
     const services = new Map<
     const services = new Map<
@@ -67,6 +63,7 @@ export namespace App {
       },
       },
     }
     }
     const result = {
     const result = {
+      version: input.version,
       services,
       services,
       info,
       info,
     }
     }
@@ -102,7 +99,6 @@ export namespace App {
     cb: T,
     cb: T,
   ) {
   ) {
     const app = await create(input)
     const app = await create(input)
-
     return ctx.provide(app, async () => {
     return ctx.provide(app, async () => {
       const result = await cb(app.info)
       const result = await cb(app.info)
       for (const [key, entry] of app.services.entries()) {
       for (const [key, entry] of app.services.entries()) {
@@ -112,4 +108,16 @@ export namespace App {
       return result
       return result
     })
     })
   }
   }
+
+  export async function initialize() {
+    const { info, version } = ctx.use()
+    info.time.initialized = Date.now()
+    await Bun.write(
+      path.join(info.path.data, "state"),
+      JSON.stringify({
+        version,
+        initialized: Date.now(),
+      }),
+    )
+  }
 }
 }

+ 20 - 0
packages/opencode/src/server/server.ts

@@ -100,6 +100,26 @@ export namespace Server {
           return c.json(App.info())
           return c.json(App.info())
         },
         },
       )
       )
+      .post(
+        "/app_initialize",
+        describeRoute({
+          description: "Initialize the app",
+          responses: {
+            200: {
+              description: "Initialize the app",
+              content: {
+                "application/json": {
+                  schema: resolver(z.boolean()),
+                },
+              },
+            },
+          },
+        }),
+        async (c) => {
+          await App.initialize()
+          return c.json(true)
+        },
+      )
       .post(
       .post(
         "/session_initialize",
         "/session_initialize",
         describeRoute({
         describeRoute({

+ 17 - 0
packages/opencode/src/session/session.ts

@@ -350,6 +350,7 @@ ${app.git ? await ListTool.execute({ path: app.path.cwd }, { sessionID: input.se
         assistant.tokens = usage.tokens
         assistant.tokens = usage.tokens
         await updateMessage(next)
         await updateMessage(next)
       },
       },
+      toolCallStreaming: false,
       abortSignal: abort.signal,
       abortSignal: abort.signal,
       maxRetries: 6,
       maxRetries: 6,
       stopWhen: stepCountIs(1000),
       stopWhen: stepCountIs(1000),
@@ -403,6 +404,21 @@ ${app.git ? await ListTool.execute({ path: app.path.cwd }, { sessionID: input.se
           })
           })
           break
           break
 
 
+        case "tool-call-streaming-start":
+          next.parts.push({
+            type: "tool-invocation",
+            toolInvocation: {
+              state: "call",
+              toolName: value.toolName,
+              toolCallId: value.toolCallId,
+              args: {},
+            },
+          })
+          break
+
+        case "tool-call-delta":
+          break
+
         case "tool-result":
         case "tool-result":
           const match = next.parts.find(
           const match = next.parts.find(
             (p) =>
             (p) =>
@@ -566,5 +582,6 @@ ${app.git ? await ListTool.execute({ path: app.path.cwd }, { sessionID: input.se
         },
         },
       ],
       ],
     })
     })
+    await App.initialize()
   }
   }
 }
 }

+ 76 - 9
packages/tui/pkg/client/gen/openapi.json

@@ -44,6 +44,69 @@
         "description": "Get app info"
         "description": "Get app info"
       }
       }
     },
     },
+    "/app_initialize": {
+      "post": {
+        "responses": {
+          "200": {
+            "description": "Initialize the app",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "boolean"
+                }
+              }
+            }
+          }
+        },
+        "operationId": "postApp_initialize",
+        "parameters": [],
+        "description": "Initialize the app"
+      }
+    },
+    "/session_initialize": {
+      "post": {
+        "responses": {
+          "200": {
+            "description": "200",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "type": "boolean"
+                }
+              }
+            }
+          }
+        },
+        "operationId": "postSession_initialize",
+        "parameters": [],
+        "description": "Analyze the app and create an AGENTS.md file",
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "type": "object",
+                "properties": {
+                  "sessionID": {
+                    "type": "string"
+                  },
+                  "providerID": {
+                    "type": "string"
+                  },
+                  "modelID": {
+                    "type": "string"
+                  }
+                },
+                "required": [
+                  "sessionID",
+                  "providerID",
+                  "modelID"
+                ]
+              }
+            }
+          }
+        }
+      }
+    },
     "/path_get": {
     "/path_get": {
       "post": {
       "post": {
         "responses": {
         "responses": {
@@ -932,13 +995,8 @@
       "App.Info": {
       "App.Info": {
         "type": "object",
         "type": "object",
         "properties": {
         "properties": {
-          "time": {
-            "type": "object",
-            "properties": {
-              "initialized": {
-                "type": "number"
-              }
-            }
+          "git": {
+            "type": "boolean"
           },
           },
           "path": {
           "path": {
             "type": "object",
             "type": "object",
@@ -958,11 +1016,20 @@
               "root",
               "root",
               "cwd"
               "cwd"
             ]
             ]
+          },
+          "time": {
+            "type": "object",
+            "properties": {
+              "initialized": {
+                "type": "number"
+              }
+            }
           }
           }
         },
         },
         "required": [
         "required": [
-          "time",
-          "path"
+          "git",
+          "path",
+          "time"
         ]
         ]
       },
       },
       "Provider.Info": {
       "Provider.Info": {

+ 252 - 0
packages/tui/pkg/client/generated-client.go

@@ -26,6 +26,7 @@ const (
 
 
 // AppInfo defines model for App.Info.
 // AppInfo defines model for App.Info.
 type AppInfo struct {
 type AppInfo struct {
+	Git  bool `json:"git"`
 	Path struct {
 	Path struct {
 		Cwd  string `json:"cwd"`
 		Cwd  string `json:"cwd"`
 		Data string `json:"data"`
 		Data string `json:"data"`
@@ -251,6 +252,13 @@ type PostSessionChatJSONBody struct {
 	SessionID  string        `json:"sessionID"`
 	SessionID  string        `json:"sessionID"`
 }
 }
 
 
+// PostSessionInitializeJSONBody defines parameters for PostSessionInitialize.
+type PostSessionInitializeJSONBody struct {
+	ModelID    string `json:"modelID"`
+	ProviderID string `json:"providerID"`
+	SessionID  string `json:"sessionID"`
+}
+
 // PostSessionMessagesJSONBody defines parameters for PostSessionMessages.
 // PostSessionMessagesJSONBody defines parameters for PostSessionMessages.
 type PostSessionMessagesJSONBody struct {
 type PostSessionMessagesJSONBody struct {
 	SessionID string `json:"sessionID"`
 	SessionID string `json:"sessionID"`
@@ -274,6 +282,9 @@ type PostSessionAbortJSONRequestBody PostSessionAbortJSONBody
 // PostSessionChatJSONRequestBody defines body for PostSessionChat for application/json ContentType.
 // PostSessionChatJSONRequestBody defines body for PostSessionChat for application/json ContentType.
 type PostSessionChatJSONRequestBody PostSessionChatJSONBody
 type PostSessionChatJSONRequestBody PostSessionChatJSONBody
 
 
+// PostSessionInitializeJSONRequestBody defines body for PostSessionInitialize for application/json ContentType.
+type PostSessionInitializeJSONRequestBody PostSessionInitializeJSONBody
+
 // PostSessionMessagesJSONRequestBody defines body for PostSessionMessages for application/json ContentType.
 // PostSessionMessagesJSONRequestBody defines body for PostSessionMessages for application/json ContentType.
 type PostSessionMessagesJSONRequestBody PostSessionMessagesJSONBody
 type PostSessionMessagesJSONRequestBody PostSessionMessagesJSONBody
 
 
@@ -866,6 +877,9 @@ type ClientInterface interface {
 	// PostAppInfo request
 	// PostAppInfo request
 	PostAppInfo(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 	PostAppInfo(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 
 
+	// PostAppInitialize request
+	PostAppInitialize(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
+
 	// GetEvent request
 	// GetEvent request
 	GetEvent(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 	GetEvent(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 
 
@@ -888,6 +902,11 @@ type ClientInterface interface {
 	// PostSessionCreate request
 	// PostSessionCreate request
 	PostSessionCreate(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 	PostSessionCreate(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 
 
+	// PostSessionInitializeWithBody request with any body
+	PostSessionInitializeWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error)
+
+	PostSessionInitialize(ctx context.Context, body PostSessionInitializeJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error)
+
 	// PostSessionList request
 	// PostSessionList request
 	PostSessionList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 	PostSessionList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error)
 
 
@@ -919,6 +938,18 @@ func (c *Client) PostAppInfo(ctx context.Context, reqEditors ...RequestEditorFn)
 	return c.Client.Do(req)
 	return c.Client.Do(req)
 }
 }
 
 
+func (c *Client) PostAppInitialize(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
+	req, err := NewPostAppInitializeRequest(c.Server)
+	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) GetEvent(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
 func (c *Client) GetEvent(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
 	req, err := NewGetEventRequest(c.Server)
 	req, err := NewGetEventRequest(c.Server)
 	if err != nil {
 	if err != nil {
@@ -1015,6 +1046,30 @@ func (c *Client) PostSessionCreate(ctx context.Context, reqEditors ...RequestEdi
 	return c.Client.Do(req)
 	return c.Client.Do(req)
 }
 }
 
 
+func (c *Client) PostSessionInitializeWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) {
+	req, err := NewPostSessionInitializeRequestWithBody(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) PostSessionInitialize(ctx context.Context, body PostSessionInitializeJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) {
+	req, err := NewPostSessionInitializeRequest(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) PostSessionList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
 func (c *Client) PostSessionList(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) {
 	req, err := NewPostSessionListRequest(c.Server)
 	req, err := NewPostSessionListRequest(c.Server)
 	if err != nil {
 	if err != nil {
@@ -1126,6 +1181,33 @@ func NewPostAppInfoRequest(server string) (*http.Request, error) {
 	return req, nil
 	return req, nil
 }
 }
 
 
+// NewPostAppInitializeRequest generates requests for PostAppInitialize
+func NewPostAppInitializeRequest(server string) (*http.Request, error) {
+	var err error
+
+	serverURL, err := url.Parse(server)
+	if err != nil {
+		return nil, err
+	}
+
+	operationPath := fmt.Sprintf("/app_initialize")
+	if operationPath[0] == '/' {
+		operationPath = "." + operationPath
+	}
+
+	queryURL, err := serverURL.Parse(operationPath)
+	if err != nil {
+		return nil, err
+	}
+
+	req, err := http.NewRequest("POST", queryURL.String(), nil)
+	if err != nil {
+		return nil, err
+	}
+
+	return req, nil
+}
+
 // NewGetEventRequest generates requests for GetEvent
 // NewGetEventRequest generates requests for GetEvent
 func NewGetEventRequest(server string) (*http.Request, error) {
 func NewGetEventRequest(server string) (*http.Request, error) {
 	var err error
 	var err error
@@ -1314,6 +1396,46 @@ func NewPostSessionCreateRequest(server string) (*http.Request, error) {
 	return req, nil
 	return req, nil
 }
 }
 
 
+// NewPostSessionInitializeRequest calls the generic PostSessionInitialize builder with application/json body
+func NewPostSessionInitializeRequest(server string, body PostSessionInitializeJSONRequestBody) (*http.Request, error) {
+	var bodyReader io.Reader
+	buf, err := json.Marshal(body)
+	if err != nil {
+		return nil, err
+	}
+	bodyReader = bytes.NewReader(buf)
+	return NewPostSessionInitializeRequestWithBody(server, "application/json", bodyReader)
+}
+
+// NewPostSessionInitializeRequestWithBody generates requests for PostSessionInitialize with any type of body
+func NewPostSessionInitializeRequestWithBody(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_initialize")
+	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
+}
+
 // NewPostSessionListRequest generates requests for PostSessionList
 // NewPostSessionListRequest generates requests for PostSessionList
 func NewPostSessionListRequest(server string) (*http.Request, error) {
 func NewPostSessionListRequest(server string) (*http.Request, error) {
 	var err error
 	var err error
@@ -1507,6 +1629,9 @@ type ClientWithResponsesInterface interface {
 	// PostAppInfoWithResponse request
 	// PostAppInfoWithResponse request
 	PostAppInfoWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostAppInfoResponse, error)
 	PostAppInfoWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostAppInfoResponse, error)
 
 
+	// PostAppInitializeWithResponse request
+	PostAppInitializeWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostAppInitializeResponse, error)
+
 	// GetEventWithResponse request
 	// GetEventWithResponse request
 	GetEventWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetEventResponse, error)
 	GetEventWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetEventResponse, error)
 
 
@@ -1529,6 +1654,11 @@ type ClientWithResponsesInterface interface {
 	// PostSessionCreateWithResponse request
 	// PostSessionCreateWithResponse request
 	PostSessionCreateWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionCreateResponse, error)
 	PostSessionCreateWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionCreateResponse, error)
 
 
+	// PostSessionInitializeWithBodyWithResponse request with any body
+	PostSessionInitializeWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionInitializeResponse, error)
+
+	PostSessionInitializeWithResponse(ctx context.Context, body PostSessionInitializeJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionInitializeResponse, error)
+
 	// PostSessionListWithResponse request
 	// PostSessionListWithResponse request
 	PostSessionListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionListResponse, error)
 	PostSessionListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionListResponse, error)
 
 
@@ -1570,6 +1700,28 @@ func (r PostAppInfoResponse) StatusCode() int {
 	return 0
 	return 0
 }
 }
 
 
+type PostAppInitializeResponse struct {
+	Body         []byte
+	HTTPResponse *http.Response
+	JSON200      *bool
+}
+
+// Status returns HTTPResponse.Status
+func (r PostAppInitializeResponse) Status() string {
+	if r.HTTPResponse != nil {
+		return r.HTTPResponse.Status
+	}
+	return http.StatusText(0)
+}
+
+// StatusCode returns HTTPResponse.StatusCode
+func (r PostAppInitializeResponse) StatusCode() int {
+	if r.HTTPResponse != nil {
+		return r.HTTPResponse.StatusCode
+	}
+	return 0
+}
+
 type GetEventResponse struct {
 type GetEventResponse struct {
 	Body         []byte
 	Body         []byte
 	HTTPResponse *http.Response
 	HTTPResponse *http.Response
@@ -1707,6 +1859,28 @@ func (r PostSessionCreateResponse) StatusCode() int {
 	return 0
 	return 0
 }
 }
 
 
+type PostSessionInitializeResponse struct {
+	Body         []byte
+	HTTPResponse *http.Response
+	JSON200      *bool
+}
+
+// Status returns HTTPResponse.Status
+func (r PostSessionInitializeResponse) Status() string {
+	if r.HTTPResponse != nil {
+		return r.HTTPResponse.Status
+	}
+	return http.StatusText(0)
+}
+
+// StatusCode returns HTTPResponse.StatusCode
+func (r PostSessionInitializeResponse) StatusCode() int {
+	if r.HTTPResponse != nil {
+		return r.HTTPResponse.StatusCode
+	}
+	return 0
+}
+
 type PostSessionListResponse struct {
 type PostSessionListResponse struct {
 	Body         []byte
 	Body         []byte
 	HTTPResponse *http.Response
 	HTTPResponse *http.Response
@@ -1804,6 +1978,15 @@ func (c *ClientWithResponses) PostAppInfoWithResponse(ctx context.Context, reqEd
 	return ParsePostAppInfoResponse(rsp)
 	return ParsePostAppInfoResponse(rsp)
 }
 }
 
 
+// PostAppInitializeWithResponse request returning *PostAppInitializeResponse
+func (c *ClientWithResponses) PostAppInitializeWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostAppInitializeResponse, error) {
+	rsp, err := c.PostAppInitialize(ctx, reqEditors...)
+	if err != nil {
+		return nil, err
+	}
+	return ParsePostAppInitializeResponse(rsp)
+}
+
 // GetEventWithResponse request returning *GetEventResponse
 // GetEventWithResponse request returning *GetEventResponse
 func (c *ClientWithResponses) GetEventWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetEventResponse, error) {
 func (c *ClientWithResponses) GetEventWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*GetEventResponse, error) {
 	rsp, err := c.GetEvent(ctx, reqEditors...)
 	rsp, err := c.GetEvent(ctx, reqEditors...)
@@ -1874,6 +2057,23 @@ func (c *ClientWithResponses) PostSessionCreateWithResponse(ctx context.Context,
 	return ParsePostSessionCreateResponse(rsp)
 	return ParsePostSessionCreateResponse(rsp)
 }
 }
 
 
+// PostSessionInitializeWithBodyWithResponse request with arbitrary body returning *PostSessionInitializeResponse
+func (c *ClientWithResponses) PostSessionInitializeWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*PostSessionInitializeResponse, error) {
+	rsp, err := c.PostSessionInitializeWithBody(ctx, contentType, body, reqEditors...)
+	if err != nil {
+		return nil, err
+	}
+	return ParsePostSessionInitializeResponse(rsp)
+}
+
+func (c *ClientWithResponses) PostSessionInitializeWithResponse(ctx context.Context, body PostSessionInitializeJSONRequestBody, reqEditors ...RequestEditorFn) (*PostSessionInitializeResponse, error) {
+	rsp, err := c.PostSessionInitialize(ctx, body, reqEditors...)
+	if err != nil {
+		return nil, err
+	}
+	return ParsePostSessionInitializeResponse(rsp)
+}
+
 // PostSessionListWithResponse request returning *PostSessionListResponse
 // PostSessionListWithResponse request returning *PostSessionListResponse
 func (c *ClientWithResponses) PostSessionListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionListResponse, error) {
 func (c *ClientWithResponses) PostSessionListWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*PostSessionListResponse, error) {
 	rsp, err := c.PostSessionList(ctx, reqEditors...)
 	rsp, err := c.PostSessionList(ctx, reqEditors...)
@@ -1960,6 +2160,32 @@ func ParsePostAppInfoResponse(rsp *http.Response) (*PostAppInfoResponse, error)
 	return response, nil
 	return response, nil
 }
 }
 
 
+// ParsePostAppInitializeResponse parses an HTTP response from a PostAppInitializeWithResponse call
+func ParsePostAppInitializeResponse(rsp *http.Response) (*PostAppInitializeResponse, error) {
+	bodyBytes, err := io.ReadAll(rsp.Body)
+	defer func() { _ = rsp.Body.Close() }()
+	if err != nil {
+		return nil, err
+	}
+
+	response := &PostAppInitializeResponse{
+		Body:         bodyBytes,
+		HTTPResponse: rsp,
+	}
+
+	switch {
+	case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
+		var dest bool
+		if err := json.Unmarshal(bodyBytes, &dest); err != nil {
+			return nil, err
+		}
+		response.JSON200 = &dest
+
+	}
+
+	return response, nil
+}
+
 // ParseGetEventResponse parses an HTTP response from a GetEventWithResponse call
 // ParseGetEventResponse parses an HTTP response from a GetEventWithResponse call
 func ParseGetEventResponse(rsp *http.Response) (*GetEventResponse, error) {
 func ParseGetEventResponse(rsp *http.Response) (*GetEventResponse, error) {
 	bodyBytes, err := io.ReadAll(rsp.Body)
 	bodyBytes, err := io.ReadAll(rsp.Body)
@@ -2121,6 +2347,32 @@ func ParsePostSessionCreateResponse(rsp *http.Response) (*PostSessionCreateRespo
 	return response, nil
 	return response, nil
 }
 }
 
 
+// ParsePostSessionInitializeResponse parses an HTTP response from a PostSessionInitializeWithResponse call
+func ParsePostSessionInitializeResponse(rsp *http.Response) (*PostSessionInitializeResponse, error) {
+	bodyBytes, err := io.ReadAll(rsp.Body)
+	defer func() { _ = rsp.Body.Close() }()
+	if err != nil {
+		return nil, err
+	}
+
+	response := &PostSessionInitializeResponse{
+		Body:         bodyBytes,
+		HTTPResponse: rsp,
+	}
+
+	switch {
+	case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200:
+		var dest bool
+		if err := json.Unmarshal(bodyBytes, &dest); err != nil {
+			return nil, err
+		}
+		response.JSON200 = &dest
+
+	}
+
+	return response, nil
+}
+
 // ParsePostSessionListResponse parses an HTTP response from a PostSessionListWithResponse call
 // ParsePostSessionListResponse parses an HTTP response from a PostSessionListWithResponse call
 func ParsePostSessionListResponse(rsp *http.Response) (*PostSessionListResponse, error) {
 func ParsePostSessionListResponse(rsp *http.Response) (*PostSessionListResponse, error) {
 	bodyBytes, err := io.ReadAll(rsp.Body)
 	bodyBytes, err := io.ReadAll(rsp.Body)