From 33a831d2be1fd7bea60421287f118be0bd968650 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Thu, 29 May 2025 10:21:59 -0400 Subject: rework types --- pkg/client/client.go | 2 +- pkg/client/gen/openapi.json | 133 +++++++++------- pkg/client/generated-client.go | 336 +++++++++++++++++++++-------------------- 3 files changed, 254 insertions(+), 217 deletions(-) (limited to 'pkg') diff --git a/pkg/client/client.go b/pkg/client/client.go index 98a49a0d9..fba38c008 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -1,5 +1,5 @@ package client //go:generate bun run ../../js/src/index.ts generate -//go:generate go tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen --package=client --generate=types,client -o generated-client.go ./gen/openapi.json +//go:generate go tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen --package=client --generate=types,client,models -o generated-client.go ./gen/openapi.json //go:generate go tool github.com/atombender/go-jsonschema -p client -o generated-event.go ./gen/event.json diff --git a/pkg/client/gen/openapi.json b/pkg/client/gen/openapi.json index 3480a1130..395ff5614 100644 --- a/pkg/client/gen/openapi.json +++ b/pkg/client/gen/openapi.json @@ -1,5 +1,5 @@ { - "openapi": "3.1.0", + "openapi": "3.0.0", "info": { "title": "opencode", "description": "opencode api", @@ -71,7 +71,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/Session.Message" + "$ref": "#/components/schemas/Message.Info" } } } @@ -182,7 +182,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Session.Message" + "$ref": "#/components/schemas/Message.Info" } } } @@ -209,7 +209,7 @@ "parts": { "type": "array", "items": { - "$ref": "#/components/schemas/Session.Message.Part" + "$ref": "#/components/schemas/Message.Part" } } }, @@ -269,7 +269,7 @@ "title" ] }, - "Session.Message": { + "Message.Info": { "type": "object", "properties": { "id": { @@ -286,7 +286,7 @@ "parts": { "type": "array", "items": { - "$ref": "#/components/schemas/Session.Message.Part" + "$ref": "#/components/schemas/Message.Part" } }, "metadata": { @@ -312,6 +312,45 @@ "tool": { "type": "object", "additionalProperties": {} + }, + "assistant": { + "type": "object", + "properties": { + "modelID": { + "type": "string" + }, + "providerID": { + "type": "string" + }, + "cost": { + "type": "number" + }, + "tokens": { + "type": "object", + "properties": { + "input": { + "type": "number" + }, + "output": { + "type": "number" + }, + "reasoning": { + "type": "number" + } + }, + "required": [ + "input", + "output", + "reasoning" + ] + } + }, + "required": [ + "modelID", + "providerID", + "cost", + "tokens" + ] } }, "required": [ @@ -328,40 +367,40 @@ "metadata" ] }, - "Session.Message.Part": { + "Message.Part": { "oneOf": [ { - "$ref": "#/components/schemas/Session.Message.Part.Text" + "$ref": "#/components/schemas/Message.Part.Text" }, { - "$ref": "#/components/schemas/Session.Message.Part.Reasoning" + "$ref": "#/components/schemas/Message.Part.Reasoning" }, { - "$ref": "#/components/schemas/Session.Message.Part.ToolInvocation" + "$ref": "#/components/schemas/Message.Part.ToolInvocation" }, { - "$ref": "#/components/schemas/Session.Message.Part.SourceUrl" + "$ref": "#/components/schemas/Message.Part.SourceUrl" }, { - "$ref": "#/components/schemas/Session.Message.Part.File" + "$ref": "#/components/schemas/Message.Part.File" }, { - "$ref": "#/components/schemas/Session.Message.Part.StepStart" + "$ref": "#/components/schemas/Message.Part.StepStart" } ], "discriminator": { "propertyName": "type", "mapping": { - "text": "#/components/schemas/Session.Message.Part.Text", - "reasoning": "#/components/schemas/Session.Message.Part.Reasoning", - "tool-invocation": "#/components/schemas/Session.Message.Part.ToolInvocation", - "source-url": "#/components/schemas/Session.Message.Part.SourceUrl", - "file": "#/components/schemas/Session.Message.Part.File", - "step-start": "#/components/schemas/Session.Message.Part.StepStart" + "text": "#/components/schemas/Message.Part.Text", + "reasoning": "#/components/schemas/Message.Part.Reasoning", + "tool-invocation": "#/components/schemas/Message.Part.ToolInvocation", + "source-url": "#/components/schemas/Message.Part.SourceUrl", + "file": "#/components/schemas/Message.Part.File", + "step-start": "#/components/schemas/Message.Part.StepStart" } } }, - "Session.Message.Part.Text": { + "Message.Part.Text": { "type": "object", "properties": { "type": { @@ -377,7 +416,7 @@ "text" ] }, - "Session.Message.Part.Reasoning": { + "Message.Part.Reasoning": { "type": "object", "properties": { "type": { @@ -397,7 +436,7 @@ "text" ] }, - "Session.Message.Part.ToolInvocation": { + "Message.Part.ToolInvocation": { "type": "object", "properties": { "type": { @@ -405,7 +444,7 @@ "const": "tool-invocation" }, "toolInvocation": { - "$ref": "#/components/schemas/Session.Message.ToolInvocation" + "$ref": "#/components/schemas/Message.ToolInvocation" } }, "required": [ @@ -413,28 +452,28 @@ "toolInvocation" ] }, - "Session.Message.ToolInvocation": { + "Message.ToolInvocation": { "oneOf": [ { - "$ref": "#/components/schemas/Session.Message.ToolInvocation.ToolCall" + "$ref": "#/components/schemas/Message.ToolInvocation.ToolCall" }, { - "$ref": "#/components/schemas/Session.Message.ToolInvocation.ToolPartialCall" + "$ref": "#/components/schemas/Message.ToolInvocation.ToolPartialCall" }, { - "$ref": "#/components/schemas/Session.Message.ToolInvocation.ToolResult" + "$ref": "#/components/schemas/Message.ToolInvocation.ToolResult" } ], "discriminator": { "propertyName": "state", "mapping": { - "call": "#/components/schemas/Session.Message.ToolInvocation.ToolCall", - "partial-call": "#/components/schemas/Session.Message.ToolInvocation.ToolPartialCall", - "result": "#/components/schemas/Session.Message.ToolInvocation.ToolResult" + "call": "#/components/schemas/Message.ToolInvocation.ToolCall", + "partial-call": "#/components/schemas/Message.ToolInvocation.ToolPartialCall", + "result": "#/components/schemas/Message.ToolInvocation.ToolResult" } } }, - "Session.Message.ToolInvocation.ToolCall": { + "Message.ToolInvocation.ToolCall": { "type": "object", "properties": { "state": { @@ -450,19 +489,15 @@ "toolName": { "type": "string" }, - "args": { - "type": "object", - "additionalProperties": {} - } + "args": {} }, "required": [ "state", "toolCallId", - "toolName", - "args" + "toolName" ] }, - "Session.Message.ToolInvocation.ToolPartialCall": { + "Message.ToolInvocation.ToolPartialCall": { "type": "object", "properties": { "state": { @@ -478,19 +513,15 @@ "toolName": { "type": "string" }, - "args": { - "type": "object", - "additionalProperties": {} - } + "args": {} }, "required": [ "state", "toolCallId", - "toolName", - "args" + "toolName" ] }, - "Session.Message.ToolInvocation.ToolResult": { + "Message.ToolInvocation.ToolResult": { "type": "object", "properties": { "state": { @@ -506,10 +537,7 @@ "toolName": { "type": "string" }, - "args": { - "type": "object", - "additionalProperties": {} - }, + "args": {}, "result": { "type": "string" } @@ -518,11 +546,10 @@ "state", "toolCallId", "toolName", - "args", "result" ] }, - "Session.Message.Part.SourceUrl": { + "Message.Part.SourceUrl": { "type": "object", "properties": { "type": { @@ -549,7 +576,7 @@ "url" ] }, - "Session.Message.Part.File": { + "Message.Part.File": { "type": "object", "properties": { "type": { @@ -572,7 +599,7 @@ "url" ] }, - "Session.Message.Part.StepStart": { + "Message.Part.StepStart": { "type": "object", "properties": { "type": { diff --git a/pkg/client/generated-client.go b/pkg/client/generated-client.go index 45b4762d3..5901cb1c0 100644 --- a/pkg/client/generated-client.go +++ b/pkg/client/generated-client.go @@ -17,42 +17,27 @@ import ( "github.com/oapi-codegen/runtime" ) -// Defines values for SessionMessageRole. +// Defines values for MessageInfoRole. const ( - Assistant SessionMessageRole = "assistant" - System SessionMessageRole = "system" - User SessionMessageRole = "user" + Assistant MessageInfoRole = "assistant" + System MessageInfoRole = "system" + User MessageInfoRole = "user" ) -// ProviderInfo defines model for Provider.Info. -type ProviderInfo struct { - Models map[string]struct { - Attachment bool `json:"attachment"` - ContextWindow float32 `json:"contextWindow"` - Cost struct { - Input float32 `json:"input"` - InputCached float32 `json:"inputCached"` - Output float32 `json:"output"` - OutputCached float32 `json:"outputCached"` - } `json:"cost"` - MaxTokens *float32 `json:"maxTokens,omitempty"` - Name *string `json:"name,omitempty"` - Reasoning *bool `json:"reasoning,omitempty"` - } `json:"models"` - Options *map[string]interface{} `json:"options,omitempty"` -} - -// SessionInfo defines model for Session.Info. -type SessionInfo struct { - Id string `json:"id"` - ShareID *string `json:"shareID,omitempty"` - Title string `json:"title"` -} - -// SessionMessage defines model for Session.Message. -type SessionMessage struct { +// MessageInfo defines model for Message.Info. +type MessageInfo struct { Id string `json:"id"` Metadata struct { + Assistant *struct { + Cost float32 `json:"cost"` + ModelID string `json:"modelID"` + ProviderID string `json:"providerID"` + Tokens struct { + Input float32 `json:"input"` + Output float32 `json:"output"` + Reasoning float32 `json:"reasoning"` + } `json:"tokens"` + } `json:"assistant,omitempty"` SessionID string `json:"sessionID"` Time struct { Completed *float32 `json:"completed,omitempty"` @@ -60,35 +45,35 @@ type SessionMessage struct { } `json:"time"` Tool map[string]interface{} `json:"tool"` } `json:"metadata"` - Parts []SessionMessagePart `json:"parts"` - Role SessionMessageRole `json:"role"` + Parts []MessagePart `json:"parts"` + Role MessageInfoRole `json:"role"` } -// SessionMessageRole defines model for SessionMessage.Role. -type SessionMessageRole string +// MessageInfoRole defines model for MessageInfo.Role. +type MessageInfoRole string -// SessionMessagePart defines model for Session.Message.Part. -type SessionMessagePart struct { +// MessagePart defines model for Message.Part. +type MessagePart struct { union json.RawMessage } -// SessionMessagePartFile defines model for Session.Message.Part.File. -type SessionMessagePartFile struct { +// MessagePartFile defines model for Message.Part.File. +type MessagePartFile struct { Filename *string `json:"filename,omitempty"` MediaType string `json:"mediaType"` Type string `json:"type"` Url string `json:"url"` } -// SessionMessagePartReasoning defines model for Session.Message.Part.Reasoning. -type SessionMessagePartReasoning struct { +// MessagePartReasoning defines model for Message.Part.Reasoning. +type MessagePartReasoning struct { ProviderMetadata *map[string]interface{} `json:"providerMetadata,omitempty"` Text string `json:"text"` Type string `json:"type"` } -// SessionMessagePartSourceUrl defines model for Session.Message.Part.SourceUrl. -type SessionMessagePartSourceUrl struct { +// MessagePartSourceUrl defines model for Message.Part.SourceUrl. +type MessagePartSourceUrl struct { ProviderMetadata *map[string]interface{} `json:"providerMetadata,omitempty"` SourceId string `json:"sourceId"` Title *string `json:"title,omitempty"` @@ -96,54 +81,79 @@ type SessionMessagePartSourceUrl struct { Url string `json:"url"` } -// SessionMessagePartStepStart defines model for Session.Message.Part.StepStart. -type SessionMessagePartStepStart struct { +// MessagePartStepStart defines model for Message.Part.StepStart. +type MessagePartStepStart struct { Type string `json:"type"` } -// SessionMessagePartText defines model for Session.Message.Part.Text. -type SessionMessagePartText struct { +// MessagePartText defines model for Message.Part.Text. +type MessagePartText struct { Text string `json:"text"` Type string `json:"type"` } -// SessionMessagePartToolInvocation defines model for Session.Message.Part.ToolInvocation. -type SessionMessagePartToolInvocation struct { - ToolInvocation SessionMessageToolInvocation `json:"toolInvocation"` - Type string `json:"type"` +// MessagePartToolInvocation defines model for Message.Part.ToolInvocation. +type MessagePartToolInvocation struct { + ToolInvocation MessageToolInvocation `json:"toolInvocation"` + Type string `json:"type"` } -// SessionMessageToolInvocation defines model for Session.Message.ToolInvocation. -type SessionMessageToolInvocation struct { +// MessageToolInvocation defines model for Message.ToolInvocation. +type MessageToolInvocation struct { union json.RawMessage } -// SessionMessageToolInvocationToolCall defines model for Session.Message.ToolInvocation.ToolCall. -type SessionMessageToolInvocationToolCall struct { - Args map[string]interface{} `json:"args"` - State string `json:"state"` - Step *float32 `json:"step,omitempty"` - ToolCallId string `json:"toolCallId"` - ToolName string `json:"toolName"` +// MessageToolInvocationToolCall defines model for Message.ToolInvocation.ToolCall. +type MessageToolInvocationToolCall struct { + Args *interface{} `json:"args,omitempty"` + State string `json:"state"` + Step *float32 `json:"step,omitempty"` + ToolCallId string `json:"toolCallId"` + ToolName string `json:"toolName"` } -// SessionMessageToolInvocationToolPartialCall defines model for Session.Message.ToolInvocation.ToolPartialCall. -type SessionMessageToolInvocationToolPartialCall struct { - Args map[string]interface{} `json:"args"` - State string `json:"state"` - Step *float32 `json:"step,omitempty"` - ToolCallId string `json:"toolCallId"` - ToolName string `json:"toolName"` +// MessageToolInvocationToolPartialCall defines model for Message.ToolInvocation.ToolPartialCall. +type MessageToolInvocationToolPartialCall struct { + Args *interface{} `json:"args,omitempty"` + State string `json:"state"` + Step *float32 `json:"step,omitempty"` + ToolCallId string `json:"toolCallId"` + ToolName string `json:"toolName"` } -// SessionMessageToolInvocationToolResult defines model for Session.Message.ToolInvocation.ToolResult. -type SessionMessageToolInvocationToolResult struct { - Args map[string]interface{} `json:"args"` - Result string `json:"result"` - State string `json:"state"` - Step *float32 `json:"step,omitempty"` - ToolCallId string `json:"toolCallId"` - ToolName string `json:"toolName"` +// MessageToolInvocationToolResult defines model for Message.ToolInvocation.ToolResult. +type MessageToolInvocationToolResult struct { + Args *interface{} `json:"args,omitempty"` + Result string `json:"result"` + State string `json:"state"` + Step *float32 `json:"step,omitempty"` + ToolCallId string `json:"toolCallId"` + ToolName string `json:"toolName"` +} + +// ProviderInfo defines model for Provider.Info. +type ProviderInfo struct { + Models map[string]struct { + Attachment bool `json:"attachment"` + ContextWindow float32 `json:"contextWindow"` + Cost struct { + Input float32 `json:"input"` + InputCached float32 `json:"inputCached"` + Output float32 `json:"output"` + OutputCached float32 `json:"outputCached"` + } `json:"cost"` + MaxTokens *float32 `json:"maxTokens,omitempty"` + Name *string `json:"name,omitempty"` + Reasoning *bool `json:"reasoning,omitempty"` + } `json:"models"` + Options *map[string]interface{} `json:"options,omitempty"` +} + +// SessionInfo defines model for Session.Info. +type SessionInfo struct { + Id string `json:"id"` + ShareID *string `json:"shareID,omitempty"` + Title string `json:"title"` } // PostSessionAbortJSONBody defines parameters for PostSessionAbort. @@ -153,10 +163,10 @@ type PostSessionAbortJSONBody struct { // PostSessionChatJSONBody defines parameters for PostSessionChat. type PostSessionChatJSONBody struct { - ModelID string `json:"modelID"` - Parts []SessionMessagePart `json:"parts"` - ProviderID string `json:"providerID"` - SessionID string `json:"sessionID"` + ModelID string `json:"modelID"` + Parts []MessagePart `json:"parts"` + ProviderID string `json:"providerID"` + SessionID string `json:"sessionID"` } // PostSessionMessagesJSONBody defines parameters for PostSessionMessages. @@ -181,23 +191,23 @@ type PostSessionMessagesJSONRequestBody PostSessionMessagesJSONBody // PostSessionShareJSONRequestBody defines body for PostSessionShare for application/json ContentType. type PostSessionShareJSONRequestBody PostSessionShareJSONBody -// AsSessionMessagePartText returns the union data inside the SessionMessagePart as a SessionMessagePartText -func (t SessionMessagePart) AsSessionMessagePartText() (SessionMessagePartText, error) { - var body SessionMessagePartText +// AsMessagePartText returns the union data inside the MessagePart as a MessagePartText +func (t MessagePart) AsMessagePartText() (MessagePartText, error) { + var body MessagePartText err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessagePartText overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartText -func (t *SessionMessagePart) FromSessionMessagePartText(v SessionMessagePartText) error { +// FromMessagePartText overwrites any union data inside the MessagePart as the provided MessagePartText +func (t *MessagePart) FromMessagePartText(v MessagePartText) error { v.Type = "text" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessagePartText performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartText -func (t *SessionMessagePart) MergeSessionMessagePartText(v SessionMessagePartText) error { +// MergeMessagePartText performs a merge with any union data inside the MessagePart, using the provided MessagePartText +func (t *MessagePart) MergeMessagePartText(v MessagePartText) error { v.Type = "text" b, err := json.Marshal(v) if err != nil { @@ -209,23 +219,23 @@ func (t *SessionMessagePart) MergeSessionMessagePartText(v SessionMessagePartTex return err } -// AsSessionMessagePartReasoning returns the union data inside the SessionMessagePart as a SessionMessagePartReasoning -func (t SessionMessagePart) AsSessionMessagePartReasoning() (SessionMessagePartReasoning, error) { - var body SessionMessagePartReasoning +// AsMessagePartReasoning returns the union data inside the MessagePart as a MessagePartReasoning +func (t MessagePart) AsMessagePartReasoning() (MessagePartReasoning, error) { + var body MessagePartReasoning err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessagePartReasoning overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartReasoning -func (t *SessionMessagePart) FromSessionMessagePartReasoning(v SessionMessagePartReasoning) error { +// FromMessagePartReasoning overwrites any union data inside the MessagePart as the provided MessagePartReasoning +func (t *MessagePart) FromMessagePartReasoning(v MessagePartReasoning) error { v.Type = "reasoning" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessagePartReasoning performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartReasoning -func (t *SessionMessagePart) MergeSessionMessagePartReasoning(v SessionMessagePartReasoning) error { +// MergeMessagePartReasoning performs a merge with any union data inside the MessagePart, using the provided MessagePartReasoning +func (t *MessagePart) MergeMessagePartReasoning(v MessagePartReasoning) error { v.Type = "reasoning" b, err := json.Marshal(v) if err != nil { @@ -237,23 +247,23 @@ func (t *SessionMessagePart) MergeSessionMessagePartReasoning(v SessionMessagePa return err } -// AsSessionMessagePartToolInvocation returns the union data inside the SessionMessagePart as a SessionMessagePartToolInvocation -func (t SessionMessagePart) AsSessionMessagePartToolInvocation() (SessionMessagePartToolInvocation, error) { - var body SessionMessagePartToolInvocation +// AsMessagePartToolInvocation returns the union data inside the MessagePart as a MessagePartToolInvocation +func (t MessagePart) AsMessagePartToolInvocation() (MessagePartToolInvocation, error) { + var body MessagePartToolInvocation err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessagePartToolInvocation overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartToolInvocation -func (t *SessionMessagePart) FromSessionMessagePartToolInvocation(v SessionMessagePartToolInvocation) error { +// FromMessagePartToolInvocation overwrites any union data inside the MessagePart as the provided MessagePartToolInvocation +func (t *MessagePart) FromMessagePartToolInvocation(v MessagePartToolInvocation) error { v.Type = "tool-invocation" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessagePartToolInvocation performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartToolInvocation -func (t *SessionMessagePart) MergeSessionMessagePartToolInvocation(v SessionMessagePartToolInvocation) error { +// MergeMessagePartToolInvocation performs a merge with any union data inside the MessagePart, using the provided MessagePartToolInvocation +func (t *MessagePart) MergeMessagePartToolInvocation(v MessagePartToolInvocation) error { v.Type = "tool-invocation" b, err := json.Marshal(v) if err != nil { @@ -265,23 +275,23 @@ func (t *SessionMessagePart) MergeSessionMessagePartToolInvocation(v SessionMess return err } -// AsSessionMessagePartSourceUrl returns the union data inside the SessionMessagePart as a SessionMessagePartSourceUrl -func (t SessionMessagePart) AsSessionMessagePartSourceUrl() (SessionMessagePartSourceUrl, error) { - var body SessionMessagePartSourceUrl +// AsMessagePartSourceUrl returns the union data inside the MessagePart as a MessagePartSourceUrl +func (t MessagePart) AsMessagePartSourceUrl() (MessagePartSourceUrl, error) { + var body MessagePartSourceUrl err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessagePartSourceUrl overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartSourceUrl -func (t *SessionMessagePart) FromSessionMessagePartSourceUrl(v SessionMessagePartSourceUrl) error { +// FromMessagePartSourceUrl overwrites any union data inside the MessagePart as the provided MessagePartSourceUrl +func (t *MessagePart) FromMessagePartSourceUrl(v MessagePartSourceUrl) error { v.Type = "source-url" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessagePartSourceUrl performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartSourceUrl -func (t *SessionMessagePart) MergeSessionMessagePartSourceUrl(v SessionMessagePartSourceUrl) error { +// MergeMessagePartSourceUrl performs a merge with any union data inside the MessagePart, using the provided MessagePartSourceUrl +func (t *MessagePart) MergeMessagePartSourceUrl(v MessagePartSourceUrl) error { v.Type = "source-url" b, err := json.Marshal(v) if err != nil { @@ -293,23 +303,23 @@ func (t *SessionMessagePart) MergeSessionMessagePartSourceUrl(v SessionMessagePa return err } -// AsSessionMessagePartFile returns the union data inside the SessionMessagePart as a SessionMessagePartFile -func (t SessionMessagePart) AsSessionMessagePartFile() (SessionMessagePartFile, error) { - var body SessionMessagePartFile +// AsMessagePartFile returns the union data inside the MessagePart as a MessagePartFile +func (t MessagePart) AsMessagePartFile() (MessagePartFile, error) { + var body MessagePartFile err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessagePartFile overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartFile -func (t *SessionMessagePart) FromSessionMessagePartFile(v SessionMessagePartFile) error { +// FromMessagePartFile overwrites any union data inside the MessagePart as the provided MessagePartFile +func (t *MessagePart) FromMessagePartFile(v MessagePartFile) error { v.Type = "file" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessagePartFile performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartFile -func (t *SessionMessagePart) MergeSessionMessagePartFile(v SessionMessagePartFile) error { +// MergeMessagePartFile performs a merge with any union data inside the MessagePart, using the provided MessagePartFile +func (t *MessagePart) MergeMessagePartFile(v MessagePartFile) error { v.Type = "file" b, err := json.Marshal(v) if err != nil { @@ -321,23 +331,23 @@ func (t *SessionMessagePart) MergeSessionMessagePartFile(v SessionMessagePartFil return err } -// AsSessionMessagePartStepStart returns the union data inside the SessionMessagePart as a SessionMessagePartStepStart -func (t SessionMessagePart) AsSessionMessagePartStepStart() (SessionMessagePartStepStart, error) { - var body SessionMessagePartStepStart +// AsMessagePartStepStart returns the union data inside the MessagePart as a MessagePartStepStart +func (t MessagePart) AsMessagePartStepStart() (MessagePartStepStart, error) { + var body MessagePartStepStart err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessagePartStepStart overwrites any union data inside the SessionMessagePart as the provided SessionMessagePartStepStart -func (t *SessionMessagePart) FromSessionMessagePartStepStart(v SessionMessagePartStepStart) error { +// FromMessagePartStepStart overwrites any union data inside the MessagePart as the provided MessagePartStepStart +func (t *MessagePart) FromMessagePartStepStart(v MessagePartStepStart) error { v.Type = "step-start" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessagePartStepStart performs a merge with any union data inside the SessionMessagePart, using the provided SessionMessagePartStepStart -func (t *SessionMessagePart) MergeSessionMessagePartStepStart(v SessionMessagePartStepStart) error { +// MergeMessagePartStepStart performs a merge with any union data inside the MessagePart, using the provided MessagePartStepStart +func (t *MessagePart) MergeMessagePartStepStart(v MessagePartStepStart) error { v.Type = "step-start" b, err := json.Marshal(v) if err != nil { @@ -349,7 +359,7 @@ func (t *SessionMessagePart) MergeSessionMessagePartStepStart(v SessionMessagePa return err } -func (t SessionMessagePart) Discriminator() (string, error) { +func (t MessagePart) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"type"` } @@ -357,56 +367,56 @@ func (t SessionMessagePart) Discriminator() (string, error) { return discriminator.Discriminator, err } -func (t SessionMessagePart) ValueByDiscriminator() (interface{}, error) { +func (t MessagePart) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "file": - return t.AsSessionMessagePartFile() + return t.AsMessagePartFile() case "reasoning": - return t.AsSessionMessagePartReasoning() + return t.AsMessagePartReasoning() case "source-url": - return t.AsSessionMessagePartSourceUrl() + return t.AsMessagePartSourceUrl() case "step-start": - return t.AsSessionMessagePartStepStart() + return t.AsMessagePartStepStart() case "text": - return t.AsSessionMessagePartText() + return t.AsMessagePartText() case "tool-invocation": - return t.AsSessionMessagePartToolInvocation() + return t.AsMessagePartToolInvocation() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } -func (t SessionMessagePart) MarshalJSON() ([]byte, error) { +func (t MessagePart) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } -func (t *SessionMessagePart) UnmarshalJSON(b []byte) error { +func (t *MessagePart) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } -// AsSessionMessageToolInvocationToolCall returns the union data inside the SessionMessageToolInvocation as a SessionMessageToolInvocationToolCall -func (t SessionMessageToolInvocation) AsSessionMessageToolInvocationToolCall() (SessionMessageToolInvocationToolCall, error) { - var body SessionMessageToolInvocationToolCall +// AsMessageToolInvocationToolCall returns the union data inside the MessageToolInvocation as a MessageToolInvocationToolCall +func (t MessageToolInvocation) AsMessageToolInvocationToolCall() (MessageToolInvocationToolCall, error) { + var body MessageToolInvocationToolCall err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessageToolInvocationToolCall overwrites any union data inside the SessionMessageToolInvocation as the provided SessionMessageToolInvocationToolCall -func (t *SessionMessageToolInvocation) FromSessionMessageToolInvocationToolCall(v SessionMessageToolInvocationToolCall) error { +// FromMessageToolInvocationToolCall overwrites any union data inside the MessageToolInvocation as the provided MessageToolInvocationToolCall +func (t *MessageToolInvocation) FromMessageToolInvocationToolCall(v MessageToolInvocationToolCall) error { v.State = "call" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessageToolInvocationToolCall performs a merge with any union data inside the SessionMessageToolInvocation, using the provided SessionMessageToolInvocationToolCall -func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolCall(v SessionMessageToolInvocationToolCall) error { +// MergeMessageToolInvocationToolCall performs a merge with any union data inside the MessageToolInvocation, using the provided MessageToolInvocationToolCall +func (t *MessageToolInvocation) MergeMessageToolInvocationToolCall(v MessageToolInvocationToolCall) error { v.State = "call" b, err := json.Marshal(v) if err != nil { @@ -418,23 +428,23 @@ func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolCall return err } -// AsSessionMessageToolInvocationToolPartialCall returns the union data inside the SessionMessageToolInvocation as a SessionMessageToolInvocationToolPartialCall -func (t SessionMessageToolInvocation) AsSessionMessageToolInvocationToolPartialCall() (SessionMessageToolInvocationToolPartialCall, error) { - var body SessionMessageToolInvocationToolPartialCall +// AsMessageToolInvocationToolPartialCall returns the union data inside the MessageToolInvocation as a MessageToolInvocationToolPartialCall +func (t MessageToolInvocation) AsMessageToolInvocationToolPartialCall() (MessageToolInvocationToolPartialCall, error) { + var body MessageToolInvocationToolPartialCall err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessageToolInvocationToolPartialCall overwrites any union data inside the SessionMessageToolInvocation as the provided SessionMessageToolInvocationToolPartialCall -func (t *SessionMessageToolInvocation) FromSessionMessageToolInvocationToolPartialCall(v SessionMessageToolInvocationToolPartialCall) error { +// FromMessageToolInvocationToolPartialCall overwrites any union data inside the MessageToolInvocation as the provided MessageToolInvocationToolPartialCall +func (t *MessageToolInvocation) FromMessageToolInvocationToolPartialCall(v MessageToolInvocationToolPartialCall) error { v.State = "partial-call" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessageToolInvocationToolPartialCall performs a merge with any union data inside the SessionMessageToolInvocation, using the provided SessionMessageToolInvocationToolPartialCall -func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolPartialCall(v SessionMessageToolInvocationToolPartialCall) error { +// MergeMessageToolInvocationToolPartialCall performs a merge with any union data inside the MessageToolInvocation, using the provided MessageToolInvocationToolPartialCall +func (t *MessageToolInvocation) MergeMessageToolInvocationToolPartialCall(v MessageToolInvocationToolPartialCall) error { v.State = "partial-call" b, err := json.Marshal(v) if err != nil { @@ -446,23 +456,23 @@ func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolPart return err } -// AsSessionMessageToolInvocationToolResult returns the union data inside the SessionMessageToolInvocation as a SessionMessageToolInvocationToolResult -func (t SessionMessageToolInvocation) AsSessionMessageToolInvocationToolResult() (SessionMessageToolInvocationToolResult, error) { - var body SessionMessageToolInvocationToolResult +// AsMessageToolInvocationToolResult returns the union data inside the MessageToolInvocation as a MessageToolInvocationToolResult +func (t MessageToolInvocation) AsMessageToolInvocationToolResult() (MessageToolInvocationToolResult, error) { + var body MessageToolInvocationToolResult err := json.Unmarshal(t.union, &body) return body, err } -// FromSessionMessageToolInvocationToolResult overwrites any union data inside the SessionMessageToolInvocation as the provided SessionMessageToolInvocationToolResult -func (t *SessionMessageToolInvocation) FromSessionMessageToolInvocationToolResult(v SessionMessageToolInvocationToolResult) error { +// FromMessageToolInvocationToolResult overwrites any union data inside the MessageToolInvocation as the provided MessageToolInvocationToolResult +func (t *MessageToolInvocation) FromMessageToolInvocationToolResult(v MessageToolInvocationToolResult) error { v.State = "result" b, err := json.Marshal(v) t.union = b return err } -// MergeSessionMessageToolInvocationToolResult performs a merge with any union data inside the SessionMessageToolInvocation, using the provided SessionMessageToolInvocationToolResult -func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolResult(v SessionMessageToolInvocationToolResult) error { +// MergeMessageToolInvocationToolResult performs a merge with any union data inside the MessageToolInvocation, using the provided MessageToolInvocationToolResult +func (t *MessageToolInvocation) MergeMessageToolInvocationToolResult(v MessageToolInvocationToolResult) error { v.State = "result" b, err := json.Marshal(v) if err != nil { @@ -474,7 +484,7 @@ func (t *SessionMessageToolInvocation) MergeSessionMessageToolInvocationToolResu return err } -func (t SessionMessageToolInvocation) Discriminator() (string, error) { +func (t MessageToolInvocation) Discriminator() (string, error) { var discriminator struct { Discriminator string `json:"state"` } @@ -482,29 +492,29 @@ func (t SessionMessageToolInvocation) Discriminator() (string, error) { return discriminator.Discriminator, err } -func (t SessionMessageToolInvocation) ValueByDiscriminator() (interface{}, error) { +func (t MessageToolInvocation) ValueByDiscriminator() (interface{}, error) { discriminator, err := t.Discriminator() if err != nil { return nil, err } switch discriminator { case "call": - return t.AsSessionMessageToolInvocationToolCall() + return t.AsMessageToolInvocationToolCall() case "partial-call": - return t.AsSessionMessageToolInvocationToolPartialCall() + return t.AsMessageToolInvocationToolPartialCall() case "result": - return t.AsSessionMessageToolInvocationToolResult() + return t.AsMessageToolInvocationToolResult() default: return nil, errors.New("unknown discriminator value: " + discriminator) } } -func (t SessionMessageToolInvocation) MarshalJSON() ([]byte, error) { +func (t MessageToolInvocation) MarshalJSON() ([]byte, error) { b, err := t.union.MarshalJSON() return b, err } -func (t *SessionMessageToolInvocation) UnmarshalJSON(b []byte) error { +func (t *MessageToolInvocation) UnmarshalJSON(b []byte) error { err := t.union.UnmarshalJSON(b) return err } @@ -1105,7 +1115,7 @@ func (r PostSessionAbortResponse) StatusCode() int { type PostSessionChatResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *SessionMessage + JSON200 *MessageInfo } // Status returns HTTPResponse.Status @@ -1175,7 +1185,7 @@ func (r PostSessionListResponse) StatusCode() int { type PostSessionMessagesResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *[]SessionMessage + JSON200 *[]MessageInfo } // Status returns HTTPResponse.Status @@ -1378,7 +1388,7 @@ func ParsePostSessionChatResponse(rsp *http.Response) (*PostSessionChatResponse, switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest SessionMessage + var dest MessageInfo if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -1460,7 +1470,7 @@ func ParsePostSessionMessagesResponse(rsp *http.Response) (*PostSessionMessagesR switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest []SessionMessage + var dest []MessageInfo if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } -- cgit v1.2.3