Skip to content

Commit 2d3a28d

Browse files
feat(api): api update
1 parent 8f7ffb8 commit 2d3a28d

File tree

5 files changed

+238
-71
lines changed

5 files changed

+238
-71
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 43
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-97b61518d8666ea7cb310af04248e00bcf8dc9753ba3c7e84471df72b3232004.yml
3-
openapi_spec_hash: a3500531973ad999c350b87c21aa3ab8
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-e9b22c1854a20c69a6dc11c9296ea95f2c23a13236c4fe7732539b6bb89f65b8.yml
3+
openapi_spec_hash: 1ef6a63a47f1b3c619e3e09b18a08617
44
config_hash: 026ef000d34bf2f930e7b41e77d2d3ff

app.go

Lines changed: 47 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -50,33 +50,37 @@ func (r *AppService) Providers(ctx context.Context, query AppProvidersParams, op
5050
}
5151

5252
type Model struct {
53-
ID string `json:"id,required"`
54-
Attachment bool `json:"attachment,required"`
55-
Cost ModelCost `json:"cost,required"`
56-
Limit ModelLimit `json:"limit,required"`
57-
Name string `json:"name,required"`
58-
Options map[string]interface{} `json:"options,required"`
59-
Reasoning bool `json:"reasoning,required"`
60-
ReleaseDate string `json:"release_date,required"`
61-
Temperature bool `json:"temperature,required"`
62-
ToolCall bool `json:"tool_call,required"`
63-
JSON modelJSON `json:"-"`
53+
ID string `json:"id,required"`
54+
Attachment bool `json:"attachment,required"`
55+
Cost ModelCost `json:"cost,required"`
56+
Limit ModelLimit `json:"limit,required"`
57+
Name string `json:"name,required"`
58+
Options map[string]interface{} `json:"options,required"`
59+
Reasoning bool `json:"reasoning,required"`
60+
ReleaseDate string `json:"release_date,required"`
61+
Temperature bool `json:"temperature,required"`
62+
ToolCall bool `json:"tool_call,required"`
63+
Experimental bool `json:"experimental"`
64+
Provider ModelProvider `json:"provider"`
65+
JSON modelJSON `json:"-"`
6466
}
6567

6668
// modelJSON contains the JSON metadata for the struct [Model]
6769
type modelJSON struct {
68-
ID apijson.Field
69-
Attachment apijson.Field
70-
Cost apijson.Field
71-
Limit apijson.Field
72-
Name apijson.Field
73-
Options apijson.Field
74-
Reasoning apijson.Field
75-
ReleaseDate apijson.Field
76-
Temperature apijson.Field
77-
ToolCall apijson.Field
78-
raw string
79-
ExtraFields map[string]apijson.Field
70+
ID apijson.Field
71+
Attachment apijson.Field
72+
Cost apijson.Field
73+
Limit apijson.Field
74+
Name apijson.Field
75+
Options apijson.Field
76+
Reasoning apijson.Field
77+
ReleaseDate apijson.Field
78+
Temperature apijson.Field
79+
ToolCall apijson.Field
80+
Experimental apijson.Field
81+
Provider apijson.Field
82+
raw string
83+
ExtraFields map[string]apijson.Field
8084
}
8185

8286
func (r *Model) UnmarshalJSON(data []byte) (err error) {
@@ -135,6 +139,26 @@ func (r modelLimitJSON) RawJSON() string {
135139
return r.raw
136140
}
137141

142+
type ModelProvider struct {
143+
Npm string `json:"npm,required"`
144+
JSON modelProviderJSON `json:"-"`
145+
}
146+
147+
// modelProviderJSON contains the JSON metadata for the struct [ModelProvider]
148+
type modelProviderJSON struct {
149+
Npm apijson.Field
150+
raw string
151+
ExtraFields map[string]apijson.Field
152+
}
153+
154+
func (r *ModelProvider) UnmarshalJSON(data []byte) (err error) {
155+
return apijson.UnmarshalRoot(data, r)
156+
}
157+
158+
func (r modelProviderJSON) RawJSON() string {
159+
return r.raw
160+
}
161+
138162
type Provider struct {
139163
ID string `json:"id,required"`
140164
Env []string `json:"env,required"`

config.go

Lines changed: 48 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,34 +1562,38 @@ func (r configProviderJSON) RawJSON() string {
15621562
}
15631563

15641564
type ConfigProviderModel struct {
1565-
ID string `json:"id"`
1566-
Attachment bool `json:"attachment"`
1567-
Cost ConfigProviderModelsCost `json:"cost"`
1568-
Limit ConfigProviderModelsLimit `json:"limit"`
1569-
Name string `json:"name"`
1570-
Options map[string]interface{} `json:"options"`
1571-
Reasoning bool `json:"reasoning"`
1572-
ReleaseDate string `json:"release_date"`
1573-
Temperature bool `json:"temperature"`
1574-
ToolCall bool `json:"tool_call"`
1575-
JSON configProviderModelJSON `json:"-"`
1565+
ID string `json:"id"`
1566+
Attachment bool `json:"attachment"`
1567+
Cost ConfigProviderModelsCost `json:"cost"`
1568+
Experimental bool `json:"experimental"`
1569+
Limit ConfigProviderModelsLimit `json:"limit"`
1570+
Name string `json:"name"`
1571+
Options map[string]interface{} `json:"options"`
1572+
Provider ConfigProviderModelsProvider `json:"provider"`
1573+
Reasoning bool `json:"reasoning"`
1574+
ReleaseDate string `json:"release_date"`
1575+
Temperature bool `json:"temperature"`
1576+
ToolCall bool `json:"tool_call"`
1577+
JSON configProviderModelJSON `json:"-"`
15761578
}
15771579

15781580
// configProviderModelJSON contains the JSON metadata for the struct
15791581
// [ConfigProviderModel]
15801582
type configProviderModelJSON struct {
1581-
ID apijson.Field
1582-
Attachment apijson.Field
1583-
Cost apijson.Field
1584-
Limit apijson.Field
1585-
Name apijson.Field
1586-
Options apijson.Field
1587-
Reasoning apijson.Field
1588-
ReleaseDate apijson.Field
1589-
Temperature apijson.Field
1590-
ToolCall apijson.Field
1591-
raw string
1592-
ExtraFields map[string]apijson.Field
1583+
ID apijson.Field
1584+
Attachment apijson.Field
1585+
Cost apijson.Field
1586+
Experimental apijson.Field
1587+
Limit apijson.Field
1588+
Name apijson.Field
1589+
Options apijson.Field
1590+
Provider apijson.Field
1591+
Reasoning apijson.Field
1592+
ReleaseDate apijson.Field
1593+
Temperature apijson.Field
1594+
ToolCall apijson.Field
1595+
raw string
1596+
ExtraFields map[string]apijson.Field
15931597
}
15941598

15951599
func (r *ConfigProviderModel) UnmarshalJSON(data []byte) (err error) {
@@ -1650,6 +1654,27 @@ func (r configProviderModelsLimitJSON) RawJSON() string {
16501654
return r.raw
16511655
}
16521656

1657+
type ConfigProviderModelsProvider struct {
1658+
Npm string `json:"npm,required"`
1659+
JSON configProviderModelsProviderJSON `json:"-"`
1660+
}
1661+
1662+
// configProviderModelsProviderJSON contains the JSON metadata for the struct
1663+
// [ConfigProviderModelsProvider]
1664+
type configProviderModelsProviderJSON struct {
1665+
Npm apijson.Field
1666+
raw string
1667+
ExtraFields map[string]apijson.Field
1668+
}
1669+
1670+
func (r *ConfigProviderModelsProvider) UnmarshalJSON(data []byte) (err error) {
1671+
return apijson.UnmarshalRoot(data, r)
1672+
}
1673+
1674+
func (r configProviderModelsProviderJSON) RawJSON() string {
1675+
return r.raw
1676+
}
1677+
16531678
type ConfigProviderOptions struct {
16541679
APIKey string `json:"apiKey"`
16551680
BaseURL string `json:"baseURL"`

event.go

Lines changed: 72 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ type EventListResponse struct {
6363
// [EventListResponseEventSessionUpdatedProperties],
6464
// [EventListResponseEventSessionDeletedProperties],
6565
// [EventListResponseEventSessionIdleProperties],
66-
// [EventListResponseEventSessionErrorProperties], [interface{}].
66+
// [EventListResponseEventSessionErrorProperties],
67+
// [EventListResponseEventSessionCompactedProperties], [interface{}].
6768
Properties interface{} `json:"properties,required"`
6869
Type EventListResponseType `json:"type,required"`
6970
JSON eventListResponseJSON `json:"-"`
@@ -105,6 +106,7 @@ func (r *EventListResponse) UnmarshalJSON(data []byte) (err error) {
105106
// [EventListResponseEventPermissionReplied], [EventListResponseEventFileEdited],
106107
// [EventListResponseEventSessionUpdated], [EventListResponseEventSessionDeleted],
107108
// [EventListResponseEventSessionIdle], [EventListResponseEventSessionError],
109+
// [EventListResponseEventSessionCompacted],
108110
// [EventListResponseEventServerConnected].
109111
func (r EventListResponse) AsUnion() EventListResponseUnion {
110112
return r.union
@@ -118,7 +120,8 @@ func (r EventListResponse) AsUnion() EventListResponseUnion {
118120
// [EventListResponseEventPermissionUpdated],
119121
// [EventListResponseEventPermissionReplied], [EventListResponseEventFileEdited],
120122
// [EventListResponseEventSessionUpdated], [EventListResponseEventSessionDeleted],
121-
// [EventListResponseEventSessionIdle], [EventListResponseEventSessionError] or
123+
// [EventListResponseEventSessionIdle], [EventListResponseEventSessionError],
124+
// [EventListResponseEventSessionCompacted] or
122125
// [EventListResponseEventServerConnected].
123126
type EventListResponseUnion interface {
124127
implementsEventListResponse()
@@ -193,6 +196,11 @@ func init() {
193196
Type: reflect.TypeOf(EventListResponseEventSessionError{}),
194197
DiscriminatorValue: "session.error",
195198
},
199+
apijson.UnionVariant{
200+
TypeFilter: gjson.JSON,
201+
Type: reflect.TypeOf(EventListResponseEventSessionCompacted{}),
202+
DiscriminatorValue: "session.compacted",
203+
},
196204
apijson.UnionVariant{
197205
TypeFilter: gjson.JSON,
198206
Type: reflect.TypeOf(EventListResponseEventServerConnected{}),
@@ -1108,6 +1116,66 @@ func (r EventListResponseEventSessionErrorType) IsKnown() bool {
11081116
return false
11091117
}
11101118

1119+
type EventListResponseEventSessionCompacted struct {
1120+
Properties EventListResponseEventSessionCompactedProperties `json:"properties,required"`
1121+
Type EventListResponseEventSessionCompactedType `json:"type,required"`
1122+
JSON eventListResponseEventSessionCompactedJSON `json:"-"`
1123+
}
1124+
1125+
// eventListResponseEventSessionCompactedJSON contains the JSON metadata for the
1126+
// struct [EventListResponseEventSessionCompacted]
1127+
type eventListResponseEventSessionCompactedJSON struct {
1128+
Properties apijson.Field
1129+
Type apijson.Field
1130+
raw string
1131+
ExtraFields map[string]apijson.Field
1132+
}
1133+
1134+
func (r *EventListResponseEventSessionCompacted) UnmarshalJSON(data []byte) (err error) {
1135+
return apijson.UnmarshalRoot(data, r)
1136+
}
1137+
1138+
func (r eventListResponseEventSessionCompactedJSON) RawJSON() string {
1139+
return r.raw
1140+
}
1141+
1142+
func (r EventListResponseEventSessionCompacted) implementsEventListResponse() {}
1143+
1144+
type EventListResponseEventSessionCompactedProperties struct {
1145+
SessionID string `json:"sessionID,required"`
1146+
JSON eventListResponseEventSessionCompactedPropertiesJSON `json:"-"`
1147+
}
1148+
1149+
// eventListResponseEventSessionCompactedPropertiesJSON contains the JSON metadata
1150+
// for the struct [EventListResponseEventSessionCompactedProperties]
1151+
type eventListResponseEventSessionCompactedPropertiesJSON struct {
1152+
SessionID apijson.Field
1153+
raw string
1154+
ExtraFields map[string]apijson.Field
1155+
}
1156+
1157+
func (r *EventListResponseEventSessionCompactedProperties) UnmarshalJSON(data []byte) (err error) {
1158+
return apijson.UnmarshalRoot(data, r)
1159+
}
1160+
1161+
func (r eventListResponseEventSessionCompactedPropertiesJSON) RawJSON() string {
1162+
return r.raw
1163+
}
1164+
1165+
type EventListResponseEventSessionCompactedType string
1166+
1167+
const (
1168+
EventListResponseEventSessionCompactedTypeSessionCompacted EventListResponseEventSessionCompactedType = "session.compacted"
1169+
)
1170+
1171+
func (r EventListResponseEventSessionCompactedType) IsKnown() bool {
1172+
switch r {
1173+
case EventListResponseEventSessionCompactedTypeSessionCompacted:
1174+
return true
1175+
}
1176+
return false
1177+
}
1178+
11111179
type EventListResponseEventServerConnected struct {
11121180
Properties interface{} `json:"properties,required"`
11131181
Type EventListResponseEventServerConnectedType `json:"type,required"`
@@ -1163,12 +1231,13 @@ const (
11631231
EventListResponseTypeSessionDeleted EventListResponseType = "session.deleted"
11641232
EventListResponseTypeSessionIdle EventListResponseType = "session.idle"
11651233
EventListResponseTypeSessionError EventListResponseType = "session.error"
1234+
EventListResponseTypeSessionCompacted EventListResponseType = "session.compacted"
11661235
EventListResponseTypeServerConnected EventListResponseType = "server.connected"
11671236
)
11681237

11691238
func (r EventListResponseType) IsKnown() bool {
11701239
switch r {
1171-
case EventListResponseTypeInstallationUpdated, EventListResponseTypeLspClientDiagnostics, EventListResponseTypeMessageUpdated, EventListResponseTypeMessageRemoved, EventListResponseTypeMessagePartUpdated, EventListResponseTypeMessagePartRemoved, EventListResponseTypePermissionUpdated, EventListResponseTypePermissionReplied, EventListResponseTypeFileEdited, EventListResponseTypeSessionUpdated, EventListResponseTypeSessionDeleted, EventListResponseTypeSessionIdle, EventListResponseTypeSessionError, EventListResponseTypeServerConnected:
1240+
case EventListResponseTypeInstallationUpdated, EventListResponseTypeLspClientDiagnostics, EventListResponseTypeMessageUpdated, EventListResponseTypeMessageRemoved, EventListResponseTypeMessagePartUpdated, EventListResponseTypeMessagePartRemoved, EventListResponseTypePermissionUpdated, EventListResponseTypePermissionReplied, EventListResponseTypeFileEdited, EventListResponseTypeSessionUpdated, EventListResponseTypeSessionDeleted, EventListResponseTypeSessionIdle, EventListResponseTypeSessionError, EventListResponseTypeSessionCompacted, EventListResponseTypeServerConnected:
11721241
return true
11731242
}
11741243
return false

0 commit comments

Comments
 (0)