|
|
|
|
@@ -434,14 +434,15 @@ func (r AssistantMessageErrorName) IsKnown() bool {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePart struct {
|
|
|
|
|
ID string `json:"id,required"`
|
|
|
|
|
MessageID string `json:"messageID,required"`
|
|
|
|
|
Mime string `json:"mime,required"`
|
|
|
|
|
SessionID string `json:"sessionID,required"`
|
|
|
|
|
Type FilePartType `json:"type,required"`
|
|
|
|
|
URL string `json:"url,required"`
|
|
|
|
|
Filename string `json:"filename"`
|
|
|
|
|
JSON filePartJSON `json:"-"`
|
|
|
|
|
ID string `json:"id,required"`
|
|
|
|
|
MessageID string `json:"messageID,required"`
|
|
|
|
|
Mime string `json:"mime,required"`
|
|
|
|
|
SessionID string `json:"sessionID,required"`
|
|
|
|
|
Type FilePartType `json:"type,required"`
|
|
|
|
|
URL string `json:"url,required"`
|
|
|
|
|
Filename string `json:"filename"`
|
|
|
|
|
Source FilePartSource `json:"source"`
|
|
|
|
|
JSON filePartJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// filePartJSON contains the JSON metadata for the struct [FilePart]
|
|
|
|
|
@@ -453,6 +454,7 @@ type filePartJSON struct {
|
|
|
|
|
Type apijson.Field
|
|
|
|
|
URL apijson.Field
|
|
|
|
|
Filename apijson.Field
|
|
|
|
|
Source apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
@@ -482,11 +484,12 @@ func (r FilePartType) IsKnown() bool {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePartInputParam struct {
|
|
|
|
|
Mime param.Field[string] `json:"mime,required"`
|
|
|
|
|
Type param.Field[FilePartInputType] `json:"type,required"`
|
|
|
|
|
URL param.Field[string] `json:"url,required"`
|
|
|
|
|
ID param.Field[string] `json:"id"`
|
|
|
|
|
Filename param.Field[string] `json:"filename"`
|
|
|
|
|
Mime param.Field[string] `json:"mime,required"`
|
|
|
|
|
Type param.Field[FilePartInputType] `json:"type,required"`
|
|
|
|
|
URL param.Field[string] `json:"url,required"`
|
|
|
|
|
ID param.Field[string] `json:"id"`
|
|
|
|
|
Filename param.Field[string] `json:"filename"`
|
|
|
|
|
Source param.Field[FilePartSourceUnionParam] `json:"source"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FilePartInputParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
@@ -509,6 +512,195 @@ func (r FilePartInputType) IsKnown() bool {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePartSource struct {
|
|
|
|
|
Path string `json:"path,required"`
|
|
|
|
|
Text FilePartSourceText `json:"text,required"`
|
|
|
|
|
Type FilePartSourceType `json:"type,required"`
|
|
|
|
|
Kind int64 `json:"kind"`
|
|
|
|
|
Name string `json:"name"`
|
|
|
|
|
// This field can have the runtime type of [SymbolSourceRange].
|
|
|
|
|
Range interface{} `json:"range"`
|
|
|
|
|
JSON filePartSourceJSON `json:"-"`
|
|
|
|
|
union FilePartSourceUnion
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// filePartSourceJSON contains the JSON metadata for the struct [FilePartSource]
|
|
|
|
|
type filePartSourceJSON struct {
|
|
|
|
|
Path apijson.Field
|
|
|
|
|
Text apijson.Field
|
|
|
|
|
Type apijson.Field
|
|
|
|
|
Kind apijson.Field
|
|
|
|
|
Name apijson.Field
|
|
|
|
|
Range apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r filePartSourceJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *FilePartSource) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
*r = FilePartSource{}
|
|
|
|
|
err = apijson.UnmarshalRoot(data, &r.union)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
return apijson.Port(r.union, &r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// AsUnion returns a [FilePartSourceUnion] interface which you can cast to the
|
|
|
|
|
// specific types for more type safety.
|
|
|
|
|
//
|
|
|
|
|
// Possible runtime types of the union are [FileSource], [SymbolSource].
|
|
|
|
|
func (r FilePartSource) AsUnion() FilePartSourceUnion {
|
|
|
|
|
return r.union
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Union satisfied by [FileSource] or [SymbolSource].
|
|
|
|
|
type FilePartSourceUnion interface {
|
|
|
|
|
implementsFilePartSource()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
|
apijson.RegisterUnion(
|
|
|
|
|
reflect.TypeOf((*FilePartSourceUnion)(nil)).Elem(),
|
|
|
|
|
"type",
|
|
|
|
|
apijson.UnionVariant{
|
|
|
|
|
TypeFilter: gjson.JSON,
|
|
|
|
|
Type: reflect.TypeOf(FileSource{}),
|
|
|
|
|
DiscriminatorValue: "file",
|
|
|
|
|
},
|
|
|
|
|
apijson.UnionVariant{
|
|
|
|
|
TypeFilter: gjson.JSON,
|
|
|
|
|
Type: reflect.TypeOf(SymbolSource{}),
|
|
|
|
|
DiscriminatorValue: "symbol",
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePartSourceType string
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
FilePartSourceTypeFile FilePartSourceType = "file"
|
|
|
|
|
FilePartSourceTypeSymbol FilePartSourceType = "symbol"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func (r FilePartSourceType) IsKnown() bool {
|
|
|
|
|
switch r {
|
|
|
|
|
case FilePartSourceTypeFile, FilePartSourceTypeSymbol:
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePartSourceParam struct {
|
|
|
|
|
Path param.Field[string] `json:"path,required"`
|
|
|
|
|
Text param.Field[FilePartSourceTextParam] `json:"text,required"`
|
|
|
|
|
Type param.Field[FilePartSourceType] `json:"type,required"`
|
|
|
|
|
Kind param.Field[int64] `json:"kind"`
|
|
|
|
|
Name param.Field[string] `json:"name"`
|
|
|
|
|
Range param.Field[interface{}] `json:"range"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FilePartSourceParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FilePartSourceParam) implementsFilePartSourceUnionParam() {}
|
|
|
|
|
|
|
|
|
|
// Satisfied by [FileSourceParam], [SymbolSourceParam], [FilePartSourceParam].
|
|
|
|
|
type FilePartSourceUnionParam interface {
|
|
|
|
|
implementsFilePartSourceUnionParam()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePartSourceText struct {
|
|
|
|
|
End int64 `json:"end,required"`
|
|
|
|
|
Start int64 `json:"start,required"`
|
|
|
|
|
Value string `json:"value,required"`
|
|
|
|
|
JSON filePartSourceTextJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// filePartSourceTextJSON contains the JSON metadata for the struct
|
|
|
|
|
// [FilePartSourceText]
|
|
|
|
|
type filePartSourceTextJSON struct {
|
|
|
|
|
End apijson.Field
|
|
|
|
|
Start apijson.Field
|
|
|
|
|
Value apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *FilePartSourceText) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
return apijson.UnmarshalRoot(data, r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r filePartSourceTextJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FilePartSourceTextParam struct {
|
|
|
|
|
End param.Field[int64] `json:"end,required"`
|
|
|
|
|
Start param.Field[int64] `json:"start,required"`
|
|
|
|
|
Value param.Field[string] `json:"value,required"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FilePartSourceTextParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FileSource struct {
|
|
|
|
|
Path string `json:"path,required"`
|
|
|
|
|
Text FilePartSourceText `json:"text,required"`
|
|
|
|
|
Type FileSourceType `json:"type,required"`
|
|
|
|
|
JSON fileSourceJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// fileSourceJSON contains the JSON metadata for the struct [FileSource]
|
|
|
|
|
type fileSourceJSON struct {
|
|
|
|
|
Path apijson.Field
|
|
|
|
|
Text apijson.Field
|
|
|
|
|
Type apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *FileSource) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
return apijson.UnmarshalRoot(data, r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r fileSourceJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FileSource) implementsFilePartSource() {}
|
|
|
|
|
|
|
|
|
|
type FileSourceType string
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
FileSourceTypeFile FileSourceType = "file"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func (r FileSourceType) IsKnown() bool {
|
|
|
|
|
switch r {
|
|
|
|
|
case FileSourceTypeFile:
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type FileSourceParam struct {
|
|
|
|
|
Path param.Field[string] `json:"path,required"`
|
|
|
|
|
Text param.Field[FilePartSourceTextParam] `json:"text,required"`
|
|
|
|
|
Type param.Field[FileSourceType] `json:"type,required"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FileSourceParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r FileSourceParam) implementsFilePartSourceUnionParam() {}
|
|
|
|
|
|
|
|
|
|
type Message struct {
|
|
|
|
|
ID string `json:"id,required"`
|
|
|
|
|
Role MessageRole `json:"role,required"`
|
|
|
|
|
@@ -609,15 +801,16 @@ func (r MessageRole) IsKnown() bool {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Part struct {
|
|
|
|
|
ID string `json:"id,required"`
|
|
|
|
|
MessageID string `json:"messageID,required"`
|
|
|
|
|
SessionID string `json:"sessionID,required"`
|
|
|
|
|
Type PartType `json:"type,required"`
|
|
|
|
|
CallID string `json:"callID"`
|
|
|
|
|
Cost float64 `json:"cost"`
|
|
|
|
|
Filename string `json:"filename"`
|
|
|
|
|
Mime string `json:"mime"`
|
|
|
|
|
Snapshot string `json:"snapshot"`
|
|
|
|
|
ID string `json:"id,required"`
|
|
|
|
|
MessageID string `json:"messageID,required"`
|
|
|
|
|
SessionID string `json:"sessionID,required"`
|
|
|
|
|
Type PartType `json:"type,required"`
|
|
|
|
|
CallID string `json:"callID"`
|
|
|
|
|
Cost float64 `json:"cost"`
|
|
|
|
|
Filename string `json:"filename"`
|
|
|
|
|
Mime string `json:"mime"`
|
|
|
|
|
Snapshot string `json:"snapshot"`
|
|
|
|
|
Source FilePartSource `json:"source"`
|
|
|
|
|
// This field can have the runtime type of [ToolPartState].
|
|
|
|
|
State interface{} `json:"state"`
|
|
|
|
|
Synthetic bool `json:"synthetic"`
|
|
|
|
|
@@ -643,6 +836,7 @@ type partJSON struct {
|
|
|
|
|
Filename apijson.Field
|
|
|
|
|
Mime apijson.Field
|
|
|
|
|
Snapshot apijson.Field
|
|
|
|
|
Source apijson.Field
|
|
|
|
|
State apijson.Field
|
|
|
|
|
Synthetic apijson.Field
|
|
|
|
|
Text apijson.Field
|
|
|
|
|
@@ -1018,6 +1212,163 @@ func (r StepStartPartType) IsKnown() bool {
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSource struct {
|
|
|
|
|
Kind int64 `json:"kind,required"`
|
|
|
|
|
Name string `json:"name,required"`
|
|
|
|
|
Path string `json:"path,required"`
|
|
|
|
|
Range SymbolSourceRange `json:"range,required"`
|
|
|
|
|
Text FilePartSourceText `json:"text,required"`
|
|
|
|
|
Type SymbolSourceType `json:"type,required"`
|
|
|
|
|
JSON symbolSourceJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// symbolSourceJSON contains the JSON metadata for the struct [SymbolSource]
|
|
|
|
|
type symbolSourceJSON struct {
|
|
|
|
|
Kind apijson.Field
|
|
|
|
|
Name apijson.Field
|
|
|
|
|
Path apijson.Field
|
|
|
|
|
Range apijson.Field
|
|
|
|
|
Text apijson.Field
|
|
|
|
|
Type apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *SymbolSource) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
return apijson.UnmarshalRoot(data, r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r symbolSourceJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r SymbolSource) implementsFilePartSource() {}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceRange struct {
|
|
|
|
|
End SymbolSourceRangeEnd `json:"end,required"`
|
|
|
|
|
Start SymbolSourceRangeStart `json:"start,required"`
|
|
|
|
|
JSON symbolSourceRangeJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// symbolSourceRangeJSON contains the JSON metadata for the struct
|
|
|
|
|
// [SymbolSourceRange]
|
|
|
|
|
type symbolSourceRangeJSON struct {
|
|
|
|
|
End apijson.Field
|
|
|
|
|
Start apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *SymbolSourceRange) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
return apijson.UnmarshalRoot(data, r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r symbolSourceRangeJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceRangeEnd struct {
|
|
|
|
|
Character float64 `json:"character,required"`
|
|
|
|
|
Line float64 `json:"line,required"`
|
|
|
|
|
JSON symbolSourceRangeEndJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// symbolSourceRangeEndJSON contains the JSON metadata for the struct
|
|
|
|
|
// [SymbolSourceRangeEnd]
|
|
|
|
|
type symbolSourceRangeEndJSON struct {
|
|
|
|
|
Character apijson.Field
|
|
|
|
|
Line apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *SymbolSourceRangeEnd) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
return apijson.UnmarshalRoot(data, r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r symbolSourceRangeEndJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceRangeStart struct {
|
|
|
|
|
Character float64 `json:"character,required"`
|
|
|
|
|
Line float64 `json:"line,required"`
|
|
|
|
|
JSON symbolSourceRangeStartJSON `json:"-"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// symbolSourceRangeStartJSON contains the JSON metadata for the struct
|
|
|
|
|
// [SymbolSourceRangeStart]
|
|
|
|
|
type symbolSourceRangeStartJSON struct {
|
|
|
|
|
Character apijson.Field
|
|
|
|
|
Line apijson.Field
|
|
|
|
|
raw string
|
|
|
|
|
ExtraFields map[string]apijson.Field
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *SymbolSourceRangeStart) UnmarshalJSON(data []byte) (err error) {
|
|
|
|
|
return apijson.UnmarshalRoot(data, r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r symbolSourceRangeStartJSON) RawJSON() string {
|
|
|
|
|
return r.raw
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceType string
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
SymbolSourceTypeSymbol SymbolSourceType = "symbol"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func (r SymbolSourceType) IsKnown() bool {
|
|
|
|
|
switch r {
|
|
|
|
|
case SymbolSourceTypeSymbol:
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceParam struct {
|
|
|
|
|
Kind param.Field[int64] `json:"kind,required"`
|
|
|
|
|
Name param.Field[string] `json:"name,required"`
|
|
|
|
|
Path param.Field[string] `json:"path,required"`
|
|
|
|
|
Range param.Field[SymbolSourceRangeParam] `json:"range,required"`
|
|
|
|
|
Text param.Field[FilePartSourceTextParam] `json:"text,required"`
|
|
|
|
|
Type param.Field[SymbolSourceType] `json:"type,required"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r SymbolSourceParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r SymbolSourceParam) implementsFilePartSourceUnionParam() {}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceRangeParam struct {
|
|
|
|
|
End param.Field[SymbolSourceRangeEndParam] `json:"end,required"`
|
|
|
|
|
Start param.Field[SymbolSourceRangeStartParam] `json:"start,required"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r SymbolSourceRangeParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceRangeEndParam struct {
|
|
|
|
|
Character param.Field[float64] `json:"character,required"`
|
|
|
|
|
Line param.Field[float64] `json:"line,required"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r SymbolSourceRangeEndParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type SymbolSourceRangeStartParam struct {
|
|
|
|
|
Character param.Field[float64] `json:"character,required"`
|
|
|
|
|
Line param.Field[float64] `json:"line,required"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r SymbolSourceRangeStartParam) MarshalJSON() (data []byte, err error) {
|
|
|
|
|
return apijson.MarshalRoot(r)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type TextPart struct {
|
|
|
|
|
ID string `json:"id,required"`
|
|
|
|
|
MessageID string `json:"messageID,required"`
|
|
|
|
|
@@ -1614,6 +1965,7 @@ type SessionChatParamsPart struct {
|
|
|
|
|
ID param.Field[string] `json:"id"`
|
|
|
|
|
Filename param.Field[string] `json:"filename"`
|
|
|
|
|
Mime param.Field[string] `json:"mime"`
|
|
|
|
|
Source param.Field[FilePartSourceUnionParam] `json:"source"`
|
|
|
|
|
Synthetic param.Field[bool] `json:"synthetic"`
|
|
|
|
|
Text param.Field[string] `json:"text"`
|
|
|
|
|
Time param.Field[interface{}] `json:"time"`
|
|
|
|
|
|