summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/sdk/go/.release-please-manifest.json2
-rw-r--r--packages/sdk/go/.stats.yml4
-rw-r--r--packages/sdk/go/CHANGELOG.md16
-rw-r--r--packages/sdk/go/README.md2
-rw-r--r--packages/sdk/go/app.go77
-rw-r--r--packages/sdk/go/config.go104
-rw-r--r--packages/sdk/go/event.go177
-rw-r--r--packages/sdk/go/file.go42
-rw-r--r--packages/sdk/go/internal/version.go2
-rw-r--r--packages/sdk/go/session.go421
-rw-r--r--packages/sdk/go/session_test.go3
11 files changed, 776 insertions, 74 deletions
diff --git a/packages/sdk/go/.release-please-manifest.json b/packages/sdk/go/.release-please-manifest.json
index 6f2b40185..4ad3fef33 100644
--- a/packages/sdk/go/.release-please-manifest.json
+++ b/packages/sdk/go/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.16.2"
+ ".": "0.18.0"
} \ No newline at end of file
diff --git a/packages/sdk/go/.stats.yml b/packages/sdk/go/.stats.yml
index 911073ed4..5383f794a 100644
--- a/packages/sdk/go/.stats.yml
+++ b/packages/sdk/go/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 43
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-273fc9fea965af661dfed0902d00f10d6ed844f0681ca861a58821c4902eac2f.yml
-openapi_spec_hash: c6144f23a1bac75f79be86edd405552b
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/opencode%2Fopencode-92f9d0f8daee2ea7458f8b9f1d7a7f941ff932442ad944bc7576254d5978b6d5.yml
+openapi_spec_hash: 5b785c4ff6fb69039915f0e746abdaf9
config_hash: 026ef000d34bf2f930e7b41e77d2d3ff
diff --git a/packages/sdk/go/CHANGELOG.md b/packages/sdk/go/CHANGELOG.md
index 27affc4f0..498a78029 100644
--- a/packages/sdk/go/CHANGELOG.md
+++ b/packages/sdk/go/CHANGELOG.md
@@ -1,5 +1,21 @@
# Changelog
+## 0.18.0 (2025-10-10)
+
+Full Changelog: [v0.17.0...v0.18.0](https://github.com/sst/opencode-sdk-go/compare/v0.17.0...v0.18.0)
+
+### Features
+
+* **api:** api update ([0a7f5e7](https://github.com/sst/opencode-sdk-go/commit/0a7f5e710911506512a132ba39e0593c412beb77))
+
+## 0.17.0 (2025-10-07)
+
+Full Changelog: [v0.16.2...v0.17.0](https://github.com/sst/opencode-sdk-go/compare/v0.16.2...v0.17.0)
+
+### Features
+
+* **api:** api update ([84a3df5](https://github.com/sst/opencode-sdk-go/commit/84a3df50a7ff3d87e5593e4f29dfb5d561f71cc3))
+
## 0.16.2 (2025-09-26)
Full Changelog: [v0.16.1...v0.16.2](https://github.com/sst/opencode-sdk-go/compare/v0.16.1...v0.16.2)
diff --git a/packages/sdk/go/README.md b/packages/sdk/go/README.md
index 2de28f6ce..f4c02d125 100644
--- a/packages/sdk/go/README.md
+++ b/packages/sdk/go/README.md
@@ -24,7 +24,7 @@ Or to pin the version:
<!-- x-release-please-start-version -->
```sh
-go get -u 'github.com/sst/[email protected]'
+go get -u 'github.com/sst/[email protected]'
```
<!-- x-release-please-end -->
diff --git a/packages/sdk/go/app.go b/packages/sdk/go/app.go
index 19662f100..4ba42332a 100644
--- a/packages/sdk/go/app.go
+++ b/packages/sdk/go/app.go
@@ -62,7 +62,9 @@ type Model struct {
Temperature bool `json:"temperature,required"`
ToolCall bool `json:"tool_call,required"`
Experimental bool `json:"experimental"`
+ Modalities ModelModalities `json:"modalities"`
Provider ModelProvider `json:"provider"`
+ Status ModelStatus `json:"status"`
JSON modelJSON `json:"-"`
}
@@ -79,7 +81,9 @@ type modelJSON struct {
Temperature apijson.Field
ToolCall apijson.Field
Experimental apijson.Field
+ Modalities apijson.Field
Provider apijson.Field
+ Status apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -140,6 +144,64 @@ func (r modelLimitJSON) RawJSON() string {
return r.raw
}
+type ModelModalities struct {
+ Input []ModelModalitiesInput `json:"input,required"`
+ Output []ModelModalitiesOutput `json:"output,required"`
+ JSON modelModalitiesJSON `json:"-"`
+}
+
+// modelModalitiesJSON contains the JSON metadata for the struct [ModelModalities]
+type modelModalitiesJSON struct {
+ Input apijson.Field
+ Output apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *ModelModalities) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r modelModalitiesJSON) RawJSON() string {
+ return r.raw
+}
+
+type ModelModalitiesInput string
+
+const (
+ ModelModalitiesInputText ModelModalitiesInput = "text"
+ ModelModalitiesInputAudio ModelModalitiesInput = "audio"
+ ModelModalitiesInputImage ModelModalitiesInput = "image"
+ ModelModalitiesInputVideo ModelModalitiesInput = "video"
+ ModelModalitiesInputPdf ModelModalitiesInput = "pdf"
+)
+
+func (r ModelModalitiesInput) IsKnown() bool {
+ switch r {
+ case ModelModalitiesInputText, ModelModalitiesInputAudio, ModelModalitiesInputImage, ModelModalitiesInputVideo, ModelModalitiesInputPdf:
+ return true
+ }
+ return false
+}
+
+type ModelModalitiesOutput string
+
+const (
+ ModelModalitiesOutputText ModelModalitiesOutput = "text"
+ ModelModalitiesOutputAudio ModelModalitiesOutput = "audio"
+ ModelModalitiesOutputImage ModelModalitiesOutput = "image"
+ ModelModalitiesOutputVideo ModelModalitiesOutput = "video"
+ ModelModalitiesOutputPdf ModelModalitiesOutput = "pdf"
+)
+
+func (r ModelModalitiesOutput) IsKnown() bool {
+ switch r {
+ case ModelModalitiesOutputText, ModelModalitiesOutputAudio, ModelModalitiesOutputImage, ModelModalitiesOutputVideo, ModelModalitiesOutputPdf:
+ return true
+ }
+ return false
+}
+
type ModelProvider struct {
Npm string `json:"npm,required"`
JSON modelProviderJSON `json:"-"`
@@ -160,6 +222,21 @@ func (r modelProviderJSON) RawJSON() string {
return r.raw
}
+type ModelStatus string
+
+const (
+ ModelStatusAlpha ModelStatus = "alpha"
+ ModelStatusBeta ModelStatus = "beta"
+)
+
+func (r ModelStatus) IsKnown() bool {
+ switch r {
+ case ModelStatusAlpha, ModelStatusBeta:
+ return true
+ }
+ return false
+}
+
type Provider struct {
ID string `json:"id,required"`
Env []string `json:"env,required"`
diff --git a/packages/sdk/go/config.go b/packages/sdk/go/config.go
index 561a35a0f..02460fb5d 100644
--- a/packages/sdk/go/config.go
+++ b/packages/sdk/go/config.go
@@ -1567,19 +1567,21 @@ func (r configProviderJSON) RawJSON() string {
}
type ConfigProviderModel struct {
- ID string `json:"id"`
- Attachment bool `json:"attachment"`
- Cost ConfigProviderModelsCost `json:"cost"`
- Experimental bool `json:"experimental"`
- Limit ConfigProviderModelsLimit `json:"limit"`
- Name string `json:"name"`
- Options map[string]interface{} `json:"options"`
- Provider ConfigProviderModelsProvider `json:"provider"`
- Reasoning bool `json:"reasoning"`
- ReleaseDate string `json:"release_date"`
- Temperature bool `json:"temperature"`
- ToolCall bool `json:"tool_call"`
- JSON configProviderModelJSON `json:"-"`
+ ID string `json:"id"`
+ Attachment bool `json:"attachment"`
+ Cost ConfigProviderModelsCost `json:"cost"`
+ Experimental bool `json:"experimental"`
+ Limit ConfigProviderModelsLimit `json:"limit"`
+ Modalities ConfigProviderModelsModalities `json:"modalities"`
+ Name string `json:"name"`
+ Options map[string]interface{} `json:"options"`
+ Provider ConfigProviderModelsProvider `json:"provider"`
+ Reasoning bool `json:"reasoning"`
+ ReleaseDate string `json:"release_date"`
+ Status ConfigProviderModelsStatus `json:"status"`
+ Temperature bool `json:"temperature"`
+ ToolCall bool `json:"tool_call"`
+ JSON configProviderModelJSON `json:"-"`
}
// configProviderModelJSON contains the JSON metadata for the struct
@@ -1590,11 +1592,13 @@ type configProviderModelJSON struct {
Cost apijson.Field
Experimental apijson.Field
Limit apijson.Field
+ Modalities apijson.Field
Name apijson.Field
Options apijson.Field
Provider apijson.Field
Reasoning apijson.Field
ReleaseDate apijson.Field
+ Status apijson.Field
Temperature apijson.Field
ToolCall apijson.Field
raw string
@@ -1659,6 +1663,65 @@ func (r configProviderModelsLimitJSON) RawJSON() string {
return r.raw
}
+type ConfigProviderModelsModalities struct {
+ Input []ConfigProviderModelsModalitiesInput `json:"input,required"`
+ Output []ConfigProviderModelsModalitiesOutput `json:"output,required"`
+ JSON configProviderModelsModalitiesJSON `json:"-"`
+}
+
+// configProviderModelsModalitiesJSON contains the JSON metadata for the struct
+// [ConfigProviderModelsModalities]
+type configProviderModelsModalitiesJSON struct {
+ Input apijson.Field
+ Output apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *ConfigProviderModelsModalities) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r configProviderModelsModalitiesJSON) RawJSON() string {
+ return r.raw
+}
+
+type ConfigProviderModelsModalitiesInput string
+
+const (
+ ConfigProviderModelsModalitiesInputText ConfigProviderModelsModalitiesInput = "text"
+ ConfigProviderModelsModalitiesInputAudio ConfigProviderModelsModalitiesInput = "audio"
+ ConfigProviderModelsModalitiesInputImage ConfigProviderModelsModalitiesInput = "image"
+ ConfigProviderModelsModalitiesInputVideo ConfigProviderModelsModalitiesInput = "video"
+ ConfigProviderModelsModalitiesInputPdf ConfigProviderModelsModalitiesInput = "pdf"
+)
+
+func (r ConfigProviderModelsModalitiesInput) IsKnown() bool {
+ switch r {
+ case ConfigProviderModelsModalitiesInputText, ConfigProviderModelsModalitiesInputAudio, ConfigProviderModelsModalitiesInputImage, ConfigProviderModelsModalitiesInputVideo, ConfigProviderModelsModalitiesInputPdf:
+ return true
+ }
+ return false
+}
+
+type ConfigProviderModelsModalitiesOutput string
+
+const (
+ ConfigProviderModelsModalitiesOutputText ConfigProviderModelsModalitiesOutput = "text"
+ ConfigProviderModelsModalitiesOutputAudio ConfigProviderModelsModalitiesOutput = "audio"
+ ConfigProviderModelsModalitiesOutputImage ConfigProviderModelsModalitiesOutput = "image"
+ ConfigProviderModelsModalitiesOutputVideo ConfigProviderModelsModalitiesOutput = "video"
+ ConfigProviderModelsModalitiesOutputPdf ConfigProviderModelsModalitiesOutput = "pdf"
+)
+
+func (r ConfigProviderModelsModalitiesOutput) IsKnown() bool {
+ switch r {
+ case ConfigProviderModelsModalitiesOutputText, ConfigProviderModelsModalitiesOutputAudio, ConfigProviderModelsModalitiesOutputImage, ConfigProviderModelsModalitiesOutputVideo, ConfigProviderModelsModalitiesOutputPdf:
+ return true
+ }
+ return false
+}
+
type ConfigProviderModelsProvider struct {
Npm string `json:"npm,required"`
JSON configProviderModelsProviderJSON `json:"-"`
@@ -1680,6 +1743,21 @@ func (r configProviderModelsProviderJSON) RawJSON() string {
return r.raw
}
+type ConfigProviderModelsStatus string
+
+const (
+ ConfigProviderModelsStatusAlpha ConfigProviderModelsStatus = "alpha"
+ ConfigProviderModelsStatusBeta ConfigProviderModelsStatus = "beta"
+)
+
+func (r ConfigProviderModelsStatus) IsKnown() bool {
+ switch r {
+ case ConfigProviderModelsStatusAlpha, ConfigProviderModelsStatusBeta:
+ return true
+ }
+ return false
+}
+
type ConfigProviderOptions struct {
APIKey string `json:"apiKey"`
BaseURL string `json:"baseURL"`
diff --git a/packages/sdk/go/event.go b/packages/sdk/go/event.go
index ac5231c7f..41a37951c 100644
--- a/packages/sdk/go/event.go
+++ b/packages/sdk/go/event.go
@@ -65,6 +65,7 @@ type EventListResponse struct {
// [EventListResponseEventFileWatcherUpdatedProperties],
// [EventListResponseEventTodoUpdatedProperties],
// [EventListResponseEventSessionIdleProperties],
+ // [EventListResponseEventSessionCreatedProperties],
// [EventListResponseEventSessionUpdatedProperties],
// [EventListResponseEventSessionDeletedProperties],
// [EventListResponseEventSessionErrorProperties], [interface{}],
@@ -110,9 +111,10 @@ func (r *EventListResponse) UnmarshalJSON(data []byte) (err error) {
// [EventListResponseEventPermissionUpdated],
// [EventListResponseEventPermissionReplied], [EventListResponseEventFileEdited],
// [EventListResponseEventFileWatcherUpdated], [EventListResponseEventTodoUpdated],
-// [EventListResponseEventSessionIdle], [EventListResponseEventSessionUpdated],
-// [EventListResponseEventSessionDeleted], [EventListResponseEventSessionError],
-// [EventListResponseEventServerConnected], [EventListResponseEventIdeInstalled].
+// [EventListResponseEventSessionIdle], [EventListResponseEventSessionCreated],
+// [EventListResponseEventSessionUpdated], [EventListResponseEventSessionDeleted],
+// [EventListResponseEventSessionError], [EventListResponseEventServerConnected],
+// [EventListResponseEventIdeInstalled].
func (r EventListResponse) AsUnion() EventListResponseUnion {
return r.union
}
@@ -126,9 +128,10 @@ func (r EventListResponse) AsUnion() EventListResponseUnion {
// [EventListResponseEventPermissionUpdated],
// [EventListResponseEventPermissionReplied], [EventListResponseEventFileEdited],
// [EventListResponseEventFileWatcherUpdated], [EventListResponseEventTodoUpdated],
-// [EventListResponseEventSessionIdle], [EventListResponseEventSessionUpdated],
-// [EventListResponseEventSessionDeleted], [EventListResponseEventSessionError],
-// [EventListResponseEventServerConnected] or [EventListResponseEventIdeInstalled].
+// [EventListResponseEventSessionIdle], [EventListResponseEventSessionCreated],
+// [EventListResponseEventSessionUpdated], [EventListResponseEventSessionDeleted],
+// [EventListResponseEventSessionError], [EventListResponseEventServerConnected] or
+// [EventListResponseEventIdeInstalled].
type EventListResponseUnion interface {
implementsEventListResponse()
}
@@ -191,6 +194,10 @@ func init() {
},
apijson.UnionVariant{
TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(EventListResponseEventSessionCreated{}),
+ },
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
Type: reflect.TypeOf(EventListResponseEventSessionUpdated{}),
},
apijson.UnionVariant{
@@ -482,14 +489,16 @@ func (r eventListResponseEventMessagePartUpdatedJSON) RawJSON() string {
func (r EventListResponseEventMessagePartUpdated) implementsEventListResponse() {}
type EventListResponseEventMessagePartUpdatedProperties struct {
- Part Part `json:"part,required"`
- JSON eventListResponseEventMessagePartUpdatedPropertiesJSON `json:"-"`
+ Part Part `json:"part,required"`
+ Delta string `json:"delta"`
+ JSON eventListResponseEventMessagePartUpdatedPropertiesJSON `json:"-"`
}
// eventListResponseEventMessagePartUpdatedPropertiesJSON contains the JSON
// metadata for the struct [EventListResponseEventMessagePartUpdatedProperties]
type eventListResponseEventMessagePartUpdatedPropertiesJSON struct {
Part apijson.Field
+ Delta apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -1034,6 +1043,66 @@ func (r EventListResponseEventSessionIdleType) IsKnown() bool {
return false
}
+type EventListResponseEventSessionCreated struct {
+ Properties EventListResponseEventSessionCreatedProperties `json:"properties,required"`
+ Type EventListResponseEventSessionCreatedType `json:"type,required"`
+ JSON eventListResponseEventSessionCreatedJSON `json:"-"`
+}
+
+// eventListResponseEventSessionCreatedJSON contains the JSON metadata for the
+// struct [EventListResponseEventSessionCreated]
+type eventListResponseEventSessionCreatedJSON struct {
+ Properties apijson.Field
+ Type apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *EventListResponseEventSessionCreated) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r eventListResponseEventSessionCreatedJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r EventListResponseEventSessionCreated) implementsEventListResponse() {}
+
+type EventListResponseEventSessionCreatedProperties struct {
+ Info Session `json:"info,required"`
+ JSON eventListResponseEventSessionCreatedPropertiesJSON `json:"-"`
+}
+
+// eventListResponseEventSessionCreatedPropertiesJSON contains the JSON metadata
+// for the struct [EventListResponseEventSessionCreatedProperties]
+type eventListResponseEventSessionCreatedPropertiesJSON struct {
+ Info apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *EventListResponseEventSessionCreatedProperties) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r eventListResponseEventSessionCreatedPropertiesJSON) RawJSON() string {
+ return r.raw
+}
+
+type EventListResponseEventSessionCreatedType string
+
+const (
+ EventListResponseEventSessionCreatedTypeSessionCreated EventListResponseEventSessionCreatedType = "session.created"
+)
+
+func (r EventListResponseEventSessionCreatedType) IsKnown() bool {
+ switch r {
+ case EventListResponseEventSessionCreatedTypeSessionCreated:
+ return true
+ }
+ return false
+}
+
type EventListResponseEventSessionUpdated struct {
Properties EventListResponseEventSessionUpdatedProperties `json:"properties,required"`
Type EventListResponseEventSessionUpdatedType `json:"type,required"`
@@ -1204,7 +1273,8 @@ func (r eventListResponseEventSessionErrorPropertiesJSON) RawJSON() string {
type EventListResponseEventSessionErrorPropertiesError struct {
// This field can have the runtime type of [shared.ProviderAuthErrorData],
- // [shared.UnknownErrorData], [interface{}], [shared.MessageAbortedErrorData].
+ // [shared.UnknownErrorData], [interface{}], [shared.MessageAbortedErrorData],
+ // [EventListResponseEventSessionErrorPropertiesErrorAPIErrorData].
Data interface{} `json:"data,required"`
Name EventListResponseEventSessionErrorPropertiesErrorName `json:"name,required"`
JSON eventListResponseEventSessionErrorPropertiesErrorJSON `json:"-"`
@@ -1239,14 +1309,16 @@ func (r *EventListResponseEventSessionErrorPropertiesError) UnmarshalJSON(data [
// Possible runtime types of the union are [shared.ProviderAuthError],
// [shared.UnknownError],
// [EventListResponseEventSessionErrorPropertiesErrorMessageOutputLengthError],
-// [shared.MessageAbortedError].
+// [shared.MessageAbortedError],
+// [EventListResponseEventSessionErrorPropertiesErrorAPIError].
func (r EventListResponseEventSessionErrorPropertiesError) AsUnion() EventListResponseEventSessionErrorPropertiesErrorUnion {
return r.union
}
// Union satisfied by [shared.ProviderAuthError], [shared.UnknownError],
-// [EventListResponseEventSessionErrorPropertiesErrorMessageOutputLengthError] or
-// [shared.MessageAbortedError].
+// [EventListResponseEventSessionErrorPropertiesErrorMessageOutputLengthError],
+// [shared.MessageAbortedError] or
+// [EventListResponseEventSessionErrorPropertiesErrorAPIError].
type EventListResponseEventSessionErrorPropertiesErrorUnion interface {
ImplementsEventListResponseEventSessionErrorPropertiesError()
}
@@ -1271,6 +1343,10 @@ func init() {
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(shared.MessageAbortedError{}),
},
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(EventListResponseEventSessionErrorPropertiesErrorAPIError{}),
+ },
)
}
@@ -1315,6 +1391,77 @@ func (r EventListResponseEventSessionErrorPropertiesErrorMessageOutputLengthErro
return false
}
+type EventListResponseEventSessionErrorPropertiesErrorAPIError struct {
+ Data EventListResponseEventSessionErrorPropertiesErrorAPIErrorData `json:"data,required"`
+ Name EventListResponseEventSessionErrorPropertiesErrorAPIErrorName `json:"name,required"`
+ JSON eventListResponseEventSessionErrorPropertiesErrorAPIErrorJSON `json:"-"`
+}
+
+// eventListResponseEventSessionErrorPropertiesErrorAPIErrorJSON contains the JSON
+// metadata for the struct
+// [EventListResponseEventSessionErrorPropertiesErrorAPIError]
+type eventListResponseEventSessionErrorPropertiesErrorAPIErrorJSON struct {
+ Data apijson.Field
+ Name apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *EventListResponseEventSessionErrorPropertiesErrorAPIError) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r eventListResponseEventSessionErrorPropertiesErrorAPIErrorJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r EventListResponseEventSessionErrorPropertiesErrorAPIError) ImplementsEventListResponseEventSessionErrorPropertiesError() {
+}
+
+type EventListResponseEventSessionErrorPropertiesErrorAPIErrorData struct {
+ IsRetryable bool `json:"isRetryable,required"`
+ Message string `json:"message,required"`
+ ResponseBody string `json:"responseBody"`
+ ResponseHeaders map[string]string `json:"responseHeaders"`
+ StatusCode float64 `json:"statusCode"`
+ JSON eventListResponseEventSessionErrorPropertiesErrorAPIErrorDataJSON `json:"-"`
+}
+
+// eventListResponseEventSessionErrorPropertiesErrorAPIErrorDataJSON contains the
+// JSON metadata for the struct
+// [EventListResponseEventSessionErrorPropertiesErrorAPIErrorData]
+type eventListResponseEventSessionErrorPropertiesErrorAPIErrorDataJSON struct {
+ IsRetryable apijson.Field
+ Message apijson.Field
+ ResponseBody apijson.Field
+ ResponseHeaders apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *EventListResponseEventSessionErrorPropertiesErrorAPIErrorData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r eventListResponseEventSessionErrorPropertiesErrorAPIErrorDataJSON) RawJSON() string {
+ return r.raw
+}
+
+type EventListResponseEventSessionErrorPropertiesErrorAPIErrorName string
+
+const (
+ EventListResponseEventSessionErrorPropertiesErrorAPIErrorNameAPIError EventListResponseEventSessionErrorPropertiesErrorAPIErrorName = "APIError"
+)
+
+func (r EventListResponseEventSessionErrorPropertiesErrorAPIErrorName) IsKnown() bool {
+ switch r {
+ case EventListResponseEventSessionErrorPropertiesErrorAPIErrorNameAPIError:
+ return true
+ }
+ return false
+}
+
type EventListResponseEventSessionErrorPropertiesErrorName string
const (
@@ -1322,11 +1469,12 @@ const (
EventListResponseEventSessionErrorPropertiesErrorNameUnknownError EventListResponseEventSessionErrorPropertiesErrorName = "UnknownError"
EventListResponseEventSessionErrorPropertiesErrorNameMessageOutputLengthError EventListResponseEventSessionErrorPropertiesErrorName = "MessageOutputLengthError"
EventListResponseEventSessionErrorPropertiesErrorNameMessageAbortedError EventListResponseEventSessionErrorPropertiesErrorName = "MessageAbortedError"
+ EventListResponseEventSessionErrorPropertiesErrorNameAPIError EventListResponseEventSessionErrorPropertiesErrorName = "APIError"
)
func (r EventListResponseEventSessionErrorPropertiesErrorName) IsKnown() bool {
switch r {
- case EventListResponseEventSessionErrorPropertiesErrorNameProviderAuthError, EventListResponseEventSessionErrorPropertiesErrorNameUnknownError, EventListResponseEventSessionErrorPropertiesErrorNameMessageOutputLengthError, EventListResponseEventSessionErrorPropertiesErrorNameMessageAbortedError:
+ case EventListResponseEventSessionErrorPropertiesErrorNameProviderAuthError, EventListResponseEventSessionErrorPropertiesErrorNameUnknownError, EventListResponseEventSessionErrorPropertiesErrorNameMessageOutputLengthError, EventListResponseEventSessionErrorPropertiesErrorNameMessageAbortedError, EventListResponseEventSessionErrorPropertiesErrorNameAPIError:
return true
}
return false
@@ -1461,6 +1609,7 @@ const (
EventListResponseTypeFileWatcherUpdated EventListResponseType = "file.watcher.updated"
EventListResponseTypeTodoUpdated EventListResponseType = "todo.updated"
EventListResponseTypeSessionIdle EventListResponseType = "session.idle"
+ EventListResponseTypeSessionCreated EventListResponseType = "session.created"
EventListResponseTypeSessionUpdated EventListResponseType = "session.updated"
EventListResponseTypeSessionDeleted EventListResponseType = "session.deleted"
EventListResponseTypeSessionError EventListResponseType = "session.error"
@@ -1470,7 +1619,7 @@ const (
func (r EventListResponseType) IsKnown() bool {
switch r {
- case EventListResponseTypeInstallationUpdated, EventListResponseTypeLspClientDiagnostics, EventListResponseTypeMessageUpdated, EventListResponseTypeMessageRemoved, EventListResponseTypeMessagePartUpdated, EventListResponseTypeMessagePartRemoved, EventListResponseTypeSessionCompacted, EventListResponseTypePermissionUpdated, EventListResponseTypePermissionReplied, EventListResponseTypeFileEdited, EventListResponseTypeFileWatcherUpdated, EventListResponseTypeTodoUpdated, EventListResponseTypeSessionIdle, EventListResponseTypeSessionUpdated, EventListResponseTypeSessionDeleted, EventListResponseTypeSessionError, EventListResponseTypeServerConnected, EventListResponseTypeIdeInstalled:
+ case EventListResponseTypeInstallationUpdated, EventListResponseTypeLspClientDiagnostics, EventListResponseTypeMessageUpdated, EventListResponseTypeMessageRemoved, EventListResponseTypeMessagePartUpdated, EventListResponseTypeMessagePartRemoved, EventListResponseTypeSessionCompacted, EventListResponseTypePermissionUpdated, EventListResponseTypePermissionReplied, EventListResponseTypeFileEdited, EventListResponseTypeFileWatcherUpdated, EventListResponseTypeTodoUpdated, EventListResponseTypeSessionIdle, EventListResponseTypeSessionCreated, EventListResponseTypeSessionUpdated, EventListResponseTypeSessionDeleted, EventListResponseTypeSessionError, EventListResponseTypeServerConnected, EventListResponseTypeIdeInstalled:
return true
}
return false
diff --git a/packages/sdk/go/file.go b/packages/sdk/go/file.go
index 8833f425b..34a9c57d4 100644
--- a/packages/sdk/go/file.go
+++ b/packages/sdk/go/file.go
@@ -144,17 +144,23 @@ func (r FileNodeType) IsKnown() bool {
}
type FileReadResponse struct {
- Content string `json:"content,required"`
- Diff string `json:"diff"`
- Patch FileReadResponsePatch `json:"patch"`
- JSON fileReadResponseJSON `json:"-"`
+ Content string `json:"content,required"`
+ Type FileReadResponseType `json:"type,required"`
+ Diff string `json:"diff"`
+ Encoding FileReadResponseEncoding `json:"encoding"`
+ MimeType string `json:"mimeType"`
+ Patch FileReadResponsePatch `json:"patch"`
+ JSON fileReadResponseJSON `json:"-"`
}
// fileReadResponseJSON contains the JSON metadata for the struct
// [FileReadResponse]
type fileReadResponseJSON struct {
Content apijson.Field
+ Type apijson.Field
Diff apijson.Field
+ Encoding apijson.Field
+ MimeType apijson.Field
Patch apijson.Field
raw string
ExtraFields map[string]apijson.Field
@@ -168,6 +174,34 @@ func (r fileReadResponseJSON) RawJSON() string {
return r.raw
}
+type FileReadResponseType string
+
+const (
+ FileReadResponseTypeText FileReadResponseType = "text"
+)
+
+func (r FileReadResponseType) IsKnown() bool {
+ switch r {
+ case FileReadResponseTypeText:
+ return true
+ }
+ return false
+}
+
+type FileReadResponseEncoding string
+
+const (
+ FileReadResponseEncodingBase64 FileReadResponseEncoding = "base64"
+)
+
+func (r FileReadResponseEncoding) IsKnown() bool {
+ switch r {
+ case FileReadResponseEncodingBase64:
+ return true
+ }
+ return false
+}
+
type FileReadResponsePatch struct {
Hunks []FileReadResponsePatchHunk `json:"hunks,required"`
NewFileName string `json:"newFileName,required"`
diff --git a/packages/sdk/go/internal/version.go b/packages/sdk/go/internal/version.go
index 93a271b9e..8dc40e747 100644
--- a/packages/sdk/go/internal/version.go
+++ b/packages/sdk/go/internal/version.go
@@ -2,4 +2,4 @@
package internal
-const PackageVersion = "0.16.2" // x-release-please-version
+const PackageVersion = "0.18.0" // x-release-please-version
diff --git a/packages/sdk/go/session.go b/packages/sdk/go/session.go
index 0ee81faad..afd64cb9e 100644
--- a/packages/sdk/go/session.go
+++ b/packages/sdk/go/session.go
@@ -365,6 +365,7 @@ type AssistantMessage struct {
Cost float64 `json:"cost,required"`
Mode string `json:"mode,required"`
ModelID string `json:"modelID,required"`
+ ParentID string `json:"parentID,required"`
Path AssistantMessagePath `json:"path,required"`
ProviderID string `json:"providerID,required"`
Role AssistantMessageRole `json:"role,required"`
@@ -384,6 +385,7 @@ type assistantMessageJSON struct {
Cost apijson.Field
Mode apijson.Field
ModelID apijson.Field
+ ParentID apijson.Field
Path apijson.Field
ProviderID apijson.Field
Role apijson.Field
@@ -519,7 +521,8 @@ func (r assistantMessageTokensCacheJSON) RawJSON() string {
type AssistantMessageError struct {
// This field can have the runtime type of [shared.ProviderAuthErrorData],
- // [shared.UnknownErrorData], [interface{}], [shared.MessageAbortedErrorData].
+ // [shared.UnknownErrorData], [interface{}], [shared.MessageAbortedErrorData],
+ // [AssistantMessageErrorAPIErrorData].
Data interface{} `json:"data,required"`
Name AssistantMessageErrorName `json:"name,required"`
JSON assistantMessageErrorJSON `json:"-"`
@@ -553,13 +556,14 @@ func (r *AssistantMessageError) UnmarshalJSON(data []byte) (err error) {
//
// Possible runtime types of the union are [shared.ProviderAuthError],
// [shared.UnknownError], [AssistantMessageErrorMessageOutputLengthError],
-// [shared.MessageAbortedError].
+// [shared.MessageAbortedError], [AssistantMessageErrorAPIError].
func (r AssistantMessageError) AsUnion() AssistantMessageErrorUnion {
return r.union
}
// Union satisfied by [shared.ProviderAuthError], [shared.UnknownError],
-// [AssistantMessageErrorMessageOutputLengthError] or [shared.MessageAbortedError].
+// [AssistantMessageErrorMessageOutputLengthError], [shared.MessageAbortedError] or
+// [AssistantMessageErrorAPIError].
type AssistantMessageErrorUnion interface {
ImplementsAssistantMessageError()
}
@@ -584,6 +588,10 @@ func init() {
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(shared.MessageAbortedError{}),
},
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(AssistantMessageErrorAPIError{}),
+ },
)
}
@@ -626,6 +634,74 @@ func (r AssistantMessageErrorMessageOutputLengthErrorName) IsKnown() bool {
return false
}
+type AssistantMessageErrorAPIError struct {
+ Data AssistantMessageErrorAPIErrorData `json:"data,required"`
+ Name AssistantMessageErrorAPIErrorName `json:"name,required"`
+ JSON assistantMessageErrorAPIErrorJSON `json:"-"`
+}
+
+// assistantMessageErrorAPIErrorJSON contains the JSON metadata for the struct
+// [AssistantMessageErrorAPIError]
+type assistantMessageErrorAPIErrorJSON struct {
+ Data apijson.Field
+ Name apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *AssistantMessageErrorAPIError) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r assistantMessageErrorAPIErrorJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r AssistantMessageErrorAPIError) ImplementsAssistantMessageError() {}
+
+type AssistantMessageErrorAPIErrorData struct {
+ IsRetryable bool `json:"isRetryable,required"`
+ Message string `json:"message,required"`
+ ResponseBody string `json:"responseBody"`
+ ResponseHeaders map[string]string `json:"responseHeaders"`
+ StatusCode float64 `json:"statusCode"`
+ JSON assistantMessageErrorAPIErrorDataJSON `json:"-"`
+}
+
+// assistantMessageErrorAPIErrorDataJSON contains the JSON metadata for the struct
+// [AssistantMessageErrorAPIErrorData]
+type assistantMessageErrorAPIErrorDataJSON struct {
+ IsRetryable apijson.Field
+ Message apijson.Field
+ ResponseBody apijson.Field
+ ResponseHeaders apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *AssistantMessageErrorAPIErrorData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r assistantMessageErrorAPIErrorDataJSON) RawJSON() string {
+ return r.raw
+}
+
+type AssistantMessageErrorAPIErrorName string
+
+const (
+ AssistantMessageErrorAPIErrorNameAPIError AssistantMessageErrorAPIErrorName = "APIError"
+)
+
+func (r AssistantMessageErrorAPIErrorName) IsKnown() bool {
+ switch r {
+ case AssistantMessageErrorAPIErrorNameAPIError:
+ return true
+ }
+ return false
+}
+
type AssistantMessageErrorName string
const (
@@ -633,11 +709,12 @@ const (
AssistantMessageErrorNameUnknownError AssistantMessageErrorName = "UnknownError"
AssistantMessageErrorNameMessageOutputLengthError AssistantMessageErrorName = "MessageOutputLengthError"
AssistantMessageErrorNameMessageAbortedError AssistantMessageErrorName = "MessageAbortedError"
+ AssistantMessageErrorNameAPIError AssistantMessageErrorName = "APIError"
)
func (r AssistantMessageErrorName) IsKnown() bool {
switch r {
- case AssistantMessageErrorNameProviderAuthError, AssistantMessageErrorNameUnknownError, AssistantMessageErrorNameMessageOutputLengthError, AssistantMessageErrorNameMessageAbortedError:
+ case AssistantMessageErrorNameProviderAuthError, AssistantMessageErrorNameUnknownError, AssistantMessageErrorNameMessageOutputLengthError, AssistantMessageErrorNameMessageAbortedError, AssistantMessageErrorNameAPIError:
return true
}
return false
@@ -918,13 +995,15 @@ type Message struct {
Time interface{} `json:"time,required"`
Cost float64 `json:"cost"`
// This field can have the runtime type of [AssistantMessageError].
- Error interface{} `json:"error"`
- Mode string `json:"mode"`
- ModelID string `json:"modelID"`
+ Error interface{} `json:"error"`
+ Mode string `json:"mode"`
+ ModelID string `json:"modelID"`
+ ParentID string `json:"parentID"`
// This field can have the runtime type of [AssistantMessagePath].
Path interface{} `json:"path"`
ProviderID string `json:"providerID"`
- Summary bool `json:"summary"`
+ // This field can have the runtime type of [UserMessageSummary], [bool].
+ Summary interface{} `json:"summary"`
// This field can have the runtime type of [[]string].
System interface{} `json:"system"`
// This field can have the runtime type of [AssistantMessageTokens].
@@ -943,6 +1022,7 @@ type messageJSON struct {
Error apijson.Field
Mode apijson.Field
ModelID apijson.Field
+ ParentID apijson.Field
Path apijson.Field
ProviderID apijson.Field
Summary apijson.Field
@@ -1013,9 +1093,12 @@ type Part struct {
MessageID string `json:"messageID,required"`
SessionID string `json:"sessionID,required"`
Type PartType `json:"type,required"`
+ Attempt float64 `json:"attempt"`
CallID string `json:"callID"`
Cost float64 `json:"cost"`
- Filename string `json:"filename"`
+ // This field can have the runtime type of [PartRetryPartError].
+ Error interface{} `json:"error"`
+ Filename string `json:"filename"`
// This field can have the runtime type of [[]string].
Files interface{} `json:"files"`
Hash string `json:"hash"`
@@ -1023,6 +1106,7 @@ type Part struct {
Metadata interface{} `json:"metadata"`
Mime string `json:"mime"`
Name string `json:"name"`
+ Reason string `json:"reason"`
Snapshot string `json:"snapshot"`
// This field can have the runtime type of [FilePartSource], [AgentPartSource].
Source interface{} `json:"source"`
@@ -1030,7 +1114,8 @@ type Part struct {
State interface{} `json:"state"`
Synthetic bool `json:"synthetic"`
Text string `json:"text"`
- // This field can have the runtime type of [TextPartTime], [ReasoningPartTime].
+ // This field can have the runtime type of [TextPartTime], [ReasoningPartTime],
+ // [PartRetryPartTime].
Time interface{} `json:"time"`
// This field can have the runtime type of [StepFinishPartTokens].
Tokens interface{} `json:"tokens"`
@@ -1046,14 +1131,17 @@ type partJSON struct {
MessageID apijson.Field
SessionID apijson.Field
Type apijson.Field
+ Attempt apijson.Field
CallID apijson.Field
Cost apijson.Field
+ Error apijson.Field
Filename apijson.Field
Files apijson.Field
Hash apijson.Field
Metadata apijson.Field
Mime apijson.Field
Name apijson.Field
+ Reason apijson.Field
Snapshot apijson.Field
Source apijson.Field
State apijson.Field
@@ -1085,14 +1173,14 @@ func (r *Part) UnmarshalJSON(data []byte) (err error) {
//
// Possible runtime types of the union are [TextPart], [ReasoningPart], [FilePart],
// [ToolPart], [StepStartPart], [StepFinishPart], [SnapshotPart], [PartPatchPart],
-// [AgentPart].
+// [AgentPart], [PartRetryPart].
func (r Part) AsUnion() PartUnion {
return r.union
}
// Union satisfied by [TextPart], [ReasoningPart], [FilePart], [ToolPart],
-// [StepStartPart], [StepFinishPart], [SnapshotPart], [PartPatchPart] or
-// [AgentPart].
+// [StepStartPart], [StepFinishPart], [SnapshotPart], [PartPatchPart], [AgentPart]
+// or [PartRetryPart].
type PartUnion interface {
implementsPart()
}
@@ -1137,6 +1225,10 @@ func init() {
TypeFilter: gjson.JSON,
Type: reflect.TypeOf(AgentPart{}),
},
+ apijson.UnionVariant{
+ TypeFilter: gjson.JSON,
+ Type: reflect.TypeOf(PartRetryPart{}),
+ },
)
}
@@ -1186,6 +1278,141 @@ func (r PartPatchPartType) IsKnown() bool {
return false
}
+type PartRetryPart struct {
+ ID string `json:"id,required"`
+ Attempt float64 `json:"attempt,required"`
+ Error PartRetryPartError `json:"error,required"`
+ MessageID string `json:"messageID,required"`
+ SessionID string `json:"sessionID,required"`
+ Time PartRetryPartTime `json:"time,required"`
+ Type PartRetryPartType `json:"type,required"`
+ JSON partRetryPartJSON `json:"-"`
+}
+
+// partRetryPartJSON contains the JSON metadata for the struct [PartRetryPart]
+type partRetryPartJSON struct {
+ ID apijson.Field
+ Attempt apijson.Field
+ Error apijson.Field
+ MessageID apijson.Field
+ SessionID apijson.Field
+ Time apijson.Field
+ Type apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PartRetryPart) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r partRetryPartJSON) RawJSON() string {
+ return r.raw
+}
+
+func (r PartRetryPart) implementsPart() {}
+
+type PartRetryPartError struct {
+ Data PartRetryPartErrorData `json:"data,required"`
+ Name PartRetryPartErrorName `json:"name,required"`
+ JSON partRetryPartErrorJSON `json:"-"`
+}
+
+// partRetryPartErrorJSON contains the JSON metadata for the struct
+// [PartRetryPartError]
+type partRetryPartErrorJSON struct {
+ Data apijson.Field
+ Name apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PartRetryPartError) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r partRetryPartErrorJSON) RawJSON() string {
+ return r.raw
+}
+
+type PartRetryPartErrorData struct {
+ IsRetryable bool `json:"isRetryable,required"`
+ Message string `json:"message,required"`
+ ResponseBody string `json:"responseBody"`
+ ResponseHeaders map[string]string `json:"responseHeaders"`
+ StatusCode float64 `json:"statusCode"`
+ JSON partRetryPartErrorDataJSON `json:"-"`
+}
+
+// partRetryPartErrorDataJSON contains the JSON metadata for the struct
+// [PartRetryPartErrorData]
+type partRetryPartErrorDataJSON struct {
+ IsRetryable apijson.Field
+ Message apijson.Field
+ ResponseBody apijson.Field
+ ResponseHeaders apijson.Field
+ StatusCode apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PartRetryPartErrorData) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r partRetryPartErrorDataJSON) RawJSON() string {
+ return r.raw
+}
+
+type PartRetryPartErrorName string
+
+const (
+ PartRetryPartErrorNameAPIError PartRetryPartErrorName = "APIError"
+)
+
+func (r PartRetryPartErrorName) IsKnown() bool {
+ switch r {
+ case PartRetryPartErrorNameAPIError:
+ return true
+ }
+ return false
+}
+
+type PartRetryPartTime struct {
+ Created float64 `json:"created,required"`
+ JSON partRetryPartTimeJSON `json:"-"`
+}
+
+// partRetryPartTimeJSON contains the JSON metadata for the struct
+// [PartRetryPartTime]
+type partRetryPartTimeJSON struct {
+ Created apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *PartRetryPartTime) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r partRetryPartTimeJSON) RawJSON() string {
+ return r.raw
+}
+
+type PartRetryPartType string
+
+const (
+ PartRetryPartTypeRetry PartRetryPartType = "retry"
+)
+
+func (r PartRetryPartType) IsKnown() bool {
+ switch r {
+ case PartRetryPartTypeRetry:
+ return true
+ }
+ return false
+}
+
type PartType string
const (
@@ -1198,11 +1425,12 @@ const (
PartTypeSnapshot PartType = "snapshot"
PartTypePatch PartType = "patch"
PartTypeAgent PartType = "agent"
+ PartTypeRetry PartType = "retry"
)
func (r PartType) IsKnown() bool {
switch r {
- case PartTypeText, PartTypeReasoning, PartTypeFile, PartTypeTool, PartTypeStepStart, PartTypeStepFinish, PartTypeSnapshot, PartTypePatch, PartTypeAgent:
+ case PartTypeText, PartTypeReasoning, PartTypeFile, PartTypeTool, PartTypeStepStart, PartTypeStepFinish, PartTypeSnapshot, PartTypePatch, PartTypeAgent, PartTypeRetry:
return true
}
return false
@@ -1280,16 +1508,17 @@ func (r ReasoningPartType) IsKnown() bool {
}
type Session struct {
- ID string `json:"id,required"`
- Directory string `json:"directory,required"`
- ProjectID string `json:"projectID,required"`
- Time SessionTime `json:"time,required"`
- Title string `json:"title,required"`
- Version string `json:"version,required"`
- ParentID string `json:"parentID"`
- Revert SessionRevert `json:"revert"`
- Share SessionShare `json:"share"`
- JSON sessionJSON `json:"-"`
+ ID string `json:"id,required"`
+ Directory string `json:"directory,required"`
+ ProjectID string `json:"projectID,required"`
+ Time SessionTime `json:"time,required"`
+ Title string `json:"title,required"`
+ Version string `json:"version,required"`
+ ParentID string `json:"parentID"`
+ Revert SessionRevert `json:"revert"`
+ Share SessionShare `json:"share"`
+ Summary SessionSummary `json:"summary"`
+ JSON sessionJSON `json:"-"`
}
// sessionJSON contains the JSON metadata for the struct [Session]
@@ -1303,6 +1532,7 @@ type sessionJSON struct {
ParentID apijson.Field
Revert apijson.Field
Share apijson.Field
+ Summary apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -1385,6 +1615,55 @@ func (r sessionShareJSON) RawJSON() string {
return r.raw
}
+type SessionSummary struct {
+ Diffs []SessionSummaryDiff `json:"diffs,required"`
+ JSON sessionSummaryJSON `json:"-"`
+}
+
+// sessionSummaryJSON contains the JSON metadata for the struct [SessionSummary]
+type sessionSummaryJSON struct {
+ Diffs apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *SessionSummary) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r sessionSummaryJSON) RawJSON() string {
+ return r.raw
+}
+
+type SessionSummaryDiff struct {
+ Additions float64 `json:"additions,required"`
+ After string `json:"after,required"`
+ Before string `json:"before,required"`
+ Deletions float64 `json:"deletions,required"`
+ File string `json:"file,required"`
+ JSON sessionSummaryDiffJSON `json:"-"`
+}
+
+// sessionSummaryDiffJSON contains the JSON metadata for the struct
+// [SessionSummaryDiff]
+type sessionSummaryDiffJSON struct {
+ Additions apijson.Field
+ After apijson.Field
+ Before apijson.Field
+ Deletions apijson.Field
+ File apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *SessionSummaryDiff) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r sessionSummaryDiffJSON) RawJSON() string {
+ return r.raw
+}
+
type SnapshotPart struct {
ID string `json:"id,required"`
MessageID string `json:"messageID,required"`
@@ -1433,9 +1712,11 @@ type StepFinishPart struct {
ID string `json:"id,required"`
Cost float64 `json:"cost,required"`
MessageID string `json:"messageID,required"`
+ Reason string `json:"reason,required"`
SessionID string `json:"sessionID,required"`
Tokens StepFinishPartTokens `json:"tokens,required"`
Type StepFinishPartType `json:"type,required"`
+ Snapshot string `json:"snapshot"`
JSON stepFinishPartJSON `json:"-"`
}
@@ -1444,9 +1725,11 @@ type stepFinishPartJSON struct {
ID apijson.Field
Cost apijson.Field
MessageID apijson.Field
+ Reason apijson.Field
SessionID apijson.Field
Tokens apijson.Field
Type apijson.Field
+ Snapshot apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -1530,6 +1813,7 @@ type StepStartPart struct {
MessageID string `json:"messageID,required"`
SessionID string `json:"sessionID,required"`
Type StepStartPartType `json:"type,required"`
+ Snapshot string `json:"snapshot"`
JSON stepStartPartJSON `json:"-"`
}
@@ -1539,6 +1823,7 @@ type stepStartPartJSON struct {
MessageID apijson.Field
SessionID apijson.Field
Type apijson.Field
+ Snapshot apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -1872,7 +2157,9 @@ func (r ToolPart) implementsPart() {}
type ToolPartState struct {
Status ToolPartStateStatus `json:"status,required"`
- Error string `json:"error"`
+ // This field can have the runtime type of [[]FilePart].
+ Attachments interface{} `json:"attachments"`
+ Error string `json:"error"`
// This field can have the runtime type of [interface{}], [map[string]interface{}].
Input interface{} `json:"input"`
// This field can have the runtime type of [map[string]interface{}].
@@ -1889,6 +2176,7 @@ type ToolPartState struct {
// toolPartStateJSON contains the JSON metadata for the struct [ToolPartState]
type toolPartStateJSON struct {
Status apijson.Field
+ Attachments apijson.Field
Error apijson.Field
Input apijson.Field
Metadata apijson.Field
@@ -1982,13 +2270,14 @@ func (r ToolPartType) IsKnown() bool {
}
type ToolStateCompleted struct {
- Input map[string]interface{} `json:"input,required"`
- Metadata map[string]interface{} `json:"metadata,required"`
- Output string `json:"output,required"`
- Status ToolStateCompletedStatus `json:"status,required"`
- Time ToolStateCompletedTime `json:"time,required"`
- Title string `json:"title,required"`
- JSON toolStateCompletedJSON `json:"-"`
+ Input map[string]interface{} `json:"input,required"`
+ Metadata map[string]interface{} `json:"metadata,required"`
+ Output string `json:"output,required"`
+ Status ToolStateCompletedStatus `json:"status,required"`
+ Time ToolStateCompletedTime `json:"time,required"`
+ Title string `json:"title,required"`
+ Attachments []FilePart `json:"attachments"`
+ JSON toolStateCompletedJSON `json:"-"`
}
// toolStateCompletedJSON contains the JSON metadata for the struct
@@ -2000,6 +2289,7 @@ type toolStateCompletedJSON struct {
Status apijson.Field
Time apijson.Field
Title apijson.Field
+ Attachments apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -2224,11 +2514,12 @@ func (r toolStateRunningTimeJSON) RawJSON() string {
}
type UserMessage struct {
- ID string `json:"id,required"`
- Role UserMessageRole `json:"role,required"`
- SessionID string `json:"sessionID,required"`
- Time UserMessageTime `json:"time,required"`
- JSON userMessageJSON `json:"-"`
+ ID string `json:"id,required"`
+ Role UserMessageRole `json:"role,required"`
+ SessionID string `json:"sessionID,required"`
+ Time UserMessageTime `json:"time,required"`
+ Summary UserMessageSummary `json:"summary"`
+ JSON userMessageJSON `json:"-"`
}
// userMessageJSON contains the JSON metadata for the struct [UserMessage]
@@ -2237,6 +2528,7 @@ type userMessageJSON struct {
Role apijson.Field
SessionID apijson.Field
Time apijson.Field
+ Summary apijson.Field
raw string
ExtraFields map[string]apijson.Field
}
@@ -2285,6 +2577,60 @@ func (r userMessageTimeJSON) RawJSON() string {
return r.raw
}
+type UserMessageSummary struct {
+ Diffs []UserMessageSummaryDiff `json:"diffs,required"`
+ Body string `json:"body"`
+ Title string `json:"title"`
+ JSON userMessageSummaryJSON `json:"-"`
+}
+
+// userMessageSummaryJSON contains the JSON metadata for the struct
+// [UserMessageSummary]
+type userMessageSummaryJSON struct {
+ Diffs apijson.Field
+ Body apijson.Field
+ Title apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *UserMessageSummary) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r userMessageSummaryJSON) RawJSON() string {
+ return r.raw
+}
+
+type UserMessageSummaryDiff struct {
+ Additions float64 `json:"additions,required"`
+ After string `json:"after,required"`
+ Before string `json:"before,required"`
+ Deletions float64 `json:"deletions,required"`
+ File string `json:"file,required"`
+ JSON userMessageSummaryDiffJSON `json:"-"`
+}
+
+// userMessageSummaryDiffJSON contains the JSON metadata for the struct
+// [UserMessageSummaryDiff]
+type userMessageSummaryDiffJSON struct {
+ Additions apijson.Field
+ After apijson.Field
+ Before apijson.Field
+ Deletions apijson.Field
+ File apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *UserMessageSummaryDiff) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r userMessageSummaryDiffJSON) RawJSON() string {
+ return r.raw
+}
+
type SessionCommandResponse struct {
Info AssistantMessage `json:"info,required"`
Parts []Part `json:"parts,required"`
@@ -2542,6 +2888,7 @@ type SessionPromptParams struct {
Agent param.Field[string] `json:"agent"`
MessageID param.Field[string] `json:"messageID"`
Model param.Field[SessionPromptParamsModel] `json:"model"`
+ NoReply param.Field[bool] `json:"noReply"`
System param.Field[string] `json:"system"`
Tools param.Field[map[string]bool] `json:"tools"`
}
diff --git a/packages/sdk/go/session_test.go b/packages/sdk/go/session_test.go
index f2263c7bc..6f910caf2 100644
--- a/packages/sdk/go/session_test.go
+++ b/packages/sdk/go/session_test.go
@@ -361,7 +361,8 @@ func TestSessionPromptWithOptionalParams(t *testing.T) {
ModelID: opencode.F("modelID"),
ProviderID: opencode.F("providerID"),
}),
- System: opencode.F("system"),
+ NoReply: opencode.F(true),
+ System: opencode.F("system"),
Tools: opencode.F(map[string]bool{
"foo": true,
}),