|
|
@@ -7,6 +7,7 @@ import (
|
|
|
"net/http"
|
|
|
"net/url"
|
|
|
"reflect"
|
|
|
+ "slices"
|
|
|
|
|
|
"github.com/sst/opencode-sdk-go/internal/apijson"
|
|
|
"github.com/sst/opencode-sdk-go/internal/apiquery"
|
|
|
@@ -43,7 +44,7 @@ func (r *EventService) ListStreaming(ctx context.Context, query EventListParams,
|
|
|
raw *http.Response
|
|
|
err error
|
|
|
)
|
|
|
- opts = append(r.Options[:], opts...)
|
|
|
+ opts = slices.Concat(r.Options, opts)
|
|
|
opts = append([]option.RequestOption{option.WithHeader("Accept", "text/event-stream")}, opts...)
|
|
|
path := "event"
|
|
|
err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &raw, opts...)
|
|
|
@@ -61,11 +62,12 @@ type EventListResponse struct {
|
|
|
// [EventListResponseEventSessionCompactedProperties], [Permission],
|
|
|
// [EventListResponseEventPermissionRepliedProperties],
|
|
|
// [EventListResponseEventFileEditedProperties],
|
|
|
+ // [EventListResponseEventFileWatcherUpdatedProperties],
|
|
|
+ // [EventListResponseEventTodoUpdatedProperties],
|
|
|
// [EventListResponseEventSessionIdleProperties],
|
|
|
// [EventListResponseEventSessionUpdatedProperties],
|
|
|
// [EventListResponseEventSessionDeletedProperties],
|
|
|
// [EventListResponseEventSessionErrorProperties], [interface{}],
|
|
|
- // [EventListResponseEventFileWatcherUpdatedProperties],
|
|
|
// [EventListResponseEventIdeInstalledProperties].
|
|
|
Properties interface{} `json:"properties,required"`
|
|
|
Type EventListResponseType `json:"type,required"`
|
|
|
@@ -107,11 +109,10 @@ func (r *EventListResponse) UnmarshalJSON(data []byte) (err error) {
|
|
|
// [EventListResponseEventSessionCompacted],
|
|
|
// [EventListResponseEventPermissionUpdated],
|
|
|
// [EventListResponseEventPermissionReplied], [EventListResponseEventFileEdited],
|
|
|
+// [EventListResponseEventFileWatcherUpdated], [EventListResponseEventTodoUpdated],
|
|
|
// [EventListResponseEventSessionIdle], [EventListResponseEventSessionUpdated],
|
|
|
// [EventListResponseEventSessionDeleted], [EventListResponseEventSessionError],
|
|
|
-// [EventListResponseEventServerConnected],
|
|
|
-// [EventListResponseEventFileWatcherUpdated],
|
|
|
-// [EventListResponseEventIdeInstalled].
|
|
|
+// [EventListResponseEventServerConnected], [EventListResponseEventIdeInstalled].
|
|
|
func (r EventListResponse) AsUnion() EventListResponseUnion {
|
|
|
return r.union
|
|
|
}
|
|
|
@@ -124,11 +125,10 @@ func (r EventListResponse) AsUnion() EventListResponseUnion {
|
|
|
// [EventListResponseEventSessionCompacted],
|
|
|
// [EventListResponseEventPermissionUpdated],
|
|
|
// [EventListResponseEventPermissionReplied], [EventListResponseEventFileEdited],
|
|
|
+// [EventListResponseEventFileWatcherUpdated], [EventListResponseEventTodoUpdated],
|
|
|
// [EventListResponseEventSessionIdle], [EventListResponseEventSessionUpdated],
|
|
|
// [EventListResponseEventSessionDeleted], [EventListResponseEventSessionError],
|
|
|
-// [EventListResponseEventServerConnected],
|
|
|
-// [EventListResponseEventFileWatcherUpdated] or
|
|
|
-// [EventListResponseEventIdeInstalled].
|
|
|
+// [EventListResponseEventServerConnected] or [EventListResponseEventIdeInstalled].
|
|
|
type EventListResponseUnion interface {
|
|
|
implementsEventListResponse()
|
|
|
}
|
|
|
@@ -177,6 +177,14 @@ func init() {
|
|
|
TypeFilter: gjson.JSON,
|
|
|
Type: reflect.TypeOf(EventListResponseEventFileEdited{}),
|
|
|
},
|
|
|
+ apijson.UnionVariant{
|
|
|
+ TypeFilter: gjson.JSON,
|
|
|
+ Type: reflect.TypeOf(EventListResponseEventFileWatcherUpdated{}),
|
|
|
+ },
|
|
|
+ apijson.UnionVariant{
|
|
|
+ TypeFilter: gjson.JSON,
|
|
|
+ Type: reflect.TypeOf(EventListResponseEventTodoUpdated{}),
|
|
|
+ },
|
|
|
apijson.UnionVariant{
|
|
|
TypeFilter: gjson.JSON,
|
|
|
Type: reflect.TypeOf(EventListResponseEventSessionIdle{}),
|
|
|
@@ -197,10 +205,6 @@ func init() {
|
|
|
TypeFilter: gjson.JSON,
|
|
|
Type: reflect.TypeOf(EventListResponseEventServerConnected{}),
|
|
|
},
|
|
|
- apijson.UnionVariant{
|
|
|
- TypeFilter: gjson.JSON,
|
|
|
- Type: reflect.TypeOf(EventListResponseEventFileWatcherUpdated{}),
|
|
|
- },
|
|
|
apijson.UnionVariant{
|
|
|
TypeFilter: gjson.JSON,
|
|
|
Type: reflect.TypeOf(EventListResponseEventIdeInstalled{}),
|
|
|
@@ -799,6 +803,177 @@ func (r EventListResponseEventFileEditedType) IsKnown() bool {
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
+type EventListResponseEventFileWatcherUpdated struct {
|
|
|
+ Properties EventListResponseEventFileWatcherUpdatedProperties `json:"properties,required"`
|
|
|
+ Type EventListResponseEventFileWatcherUpdatedType `json:"type,required"`
|
|
|
+ JSON eventListResponseEventFileWatcherUpdatedJSON `json:"-"`
|
|
|
+}
|
|
|
+
|
|
|
+// eventListResponseEventFileWatcherUpdatedJSON contains the JSON metadata for the
|
|
|
+// struct [EventListResponseEventFileWatcherUpdated]
|
|
|
+type eventListResponseEventFileWatcherUpdatedJSON struct {
|
|
|
+ Properties apijson.Field
|
|
|
+ Type apijson.Field
|
|
|
+ raw string
|
|
|
+ ExtraFields map[string]apijson.Field
|
|
|
+}
|
|
|
+
|
|
|
+func (r *EventListResponseEventFileWatcherUpdated) UnmarshalJSON(data []byte) (err error) {
|
|
|
+ return apijson.UnmarshalRoot(data, r)
|
|
|
+}
|
|
|
+
|
|
|
+func (r eventListResponseEventFileWatcherUpdatedJSON) RawJSON() string {
|
|
|
+ return r.raw
|
|
|
+}
|
|
|
+
|
|
|
+func (r EventListResponseEventFileWatcherUpdated) implementsEventListResponse() {}
|
|
|
+
|
|
|
+type EventListResponseEventFileWatcherUpdatedProperties struct {
|
|
|
+ Event EventListResponseEventFileWatcherUpdatedPropertiesEvent `json:"event,required"`
|
|
|
+ File string `json:"file,required"`
|
|
|
+ JSON eventListResponseEventFileWatcherUpdatedPropertiesJSON `json:"-"`
|
|
|
+}
|
|
|
+
|
|
|
+// eventListResponseEventFileWatcherUpdatedPropertiesJSON contains the JSON
|
|
|
+// metadata for the struct [EventListResponseEventFileWatcherUpdatedProperties]
|
|
|
+type eventListResponseEventFileWatcherUpdatedPropertiesJSON struct {
|
|
|
+ Event apijson.Field
|
|
|
+ File apijson.Field
|
|
|
+ raw string
|
|
|
+ ExtraFields map[string]apijson.Field
|
|
|
+}
|
|
|
+
|
|
|
+func (r *EventListResponseEventFileWatcherUpdatedProperties) UnmarshalJSON(data []byte) (err error) {
|
|
|
+ return apijson.UnmarshalRoot(data, r)
|
|
|
+}
|
|
|
+
|
|
|
+func (r eventListResponseEventFileWatcherUpdatedPropertiesJSON) RawJSON() string {
|
|
|
+ return r.raw
|
|
|
+}
|
|
|
+
|
|
|
+type EventListResponseEventFileWatcherUpdatedPropertiesEvent string
|
|
|
+
|
|
|
+const (
|
|
|
+ EventListResponseEventFileWatcherUpdatedPropertiesEventAdd EventListResponseEventFileWatcherUpdatedPropertiesEvent = "add"
|
|
|
+ EventListResponseEventFileWatcherUpdatedPropertiesEventChange EventListResponseEventFileWatcherUpdatedPropertiesEvent = "change"
|
|
|
+ EventListResponseEventFileWatcherUpdatedPropertiesEventUnlink EventListResponseEventFileWatcherUpdatedPropertiesEvent = "unlink"
|
|
|
+)
|
|
|
+
|
|
|
+func (r EventListResponseEventFileWatcherUpdatedPropertiesEvent) IsKnown() bool {
|
|
|
+ switch r {
|
|
|
+ case EventListResponseEventFileWatcherUpdatedPropertiesEventAdd, EventListResponseEventFileWatcherUpdatedPropertiesEventChange, EventListResponseEventFileWatcherUpdatedPropertiesEventUnlink:
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+
|
|
|
+type EventListResponseEventFileWatcherUpdatedType string
|
|
|
+
|
|
|
+const (
|
|
|
+ EventListResponseEventFileWatcherUpdatedTypeFileWatcherUpdated EventListResponseEventFileWatcherUpdatedType = "file.watcher.updated"
|
|
|
+)
|
|
|
+
|
|
|
+func (r EventListResponseEventFileWatcherUpdatedType) IsKnown() bool {
|
|
|
+ switch r {
|
|
|
+ case EventListResponseEventFileWatcherUpdatedTypeFileWatcherUpdated:
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+
|
|
|
+type EventListResponseEventTodoUpdated struct {
|
|
|
+ Properties EventListResponseEventTodoUpdatedProperties `json:"properties,required"`
|
|
|
+ Type EventListResponseEventTodoUpdatedType `json:"type,required"`
|
|
|
+ JSON eventListResponseEventTodoUpdatedJSON `json:"-"`
|
|
|
+}
|
|
|
+
|
|
|
+// eventListResponseEventTodoUpdatedJSON contains the JSON metadata for the struct
|
|
|
+// [EventListResponseEventTodoUpdated]
|
|
|
+type eventListResponseEventTodoUpdatedJSON struct {
|
|
|
+ Properties apijson.Field
|
|
|
+ Type apijson.Field
|
|
|
+ raw string
|
|
|
+ ExtraFields map[string]apijson.Field
|
|
|
+}
|
|
|
+
|
|
|
+func (r *EventListResponseEventTodoUpdated) UnmarshalJSON(data []byte) (err error) {
|
|
|
+ return apijson.UnmarshalRoot(data, r)
|
|
|
+}
|
|
|
+
|
|
|
+func (r eventListResponseEventTodoUpdatedJSON) RawJSON() string {
|
|
|
+ return r.raw
|
|
|
+}
|
|
|
+
|
|
|
+func (r EventListResponseEventTodoUpdated) implementsEventListResponse() {}
|
|
|
+
|
|
|
+type EventListResponseEventTodoUpdatedProperties struct {
|
|
|
+ SessionID string `json:"sessionID,required"`
|
|
|
+ Todos []EventListResponseEventTodoUpdatedPropertiesTodo `json:"todos,required"`
|
|
|
+ JSON eventListResponseEventTodoUpdatedPropertiesJSON `json:"-"`
|
|
|
+}
|
|
|
+
|
|
|
+// eventListResponseEventTodoUpdatedPropertiesJSON contains the JSON metadata for
|
|
|
+// the struct [EventListResponseEventTodoUpdatedProperties]
|
|
|
+type eventListResponseEventTodoUpdatedPropertiesJSON struct {
|
|
|
+ SessionID apijson.Field
|
|
|
+ Todos apijson.Field
|
|
|
+ raw string
|
|
|
+ ExtraFields map[string]apijson.Field
|
|
|
+}
|
|
|
+
|
|
|
+func (r *EventListResponseEventTodoUpdatedProperties) UnmarshalJSON(data []byte) (err error) {
|
|
|
+ return apijson.UnmarshalRoot(data, r)
|
|
|
+}
|
|
|
+
|
|
|
+func (r eventListResponseEventTodoUpdatedPropertiesJSON) RawJSON() string {
|
|
|
+ return r.raw
|
|
|
+}
|
|
|
+
|
|
|
+type EventListResponseEventTodoUpdatedPropertiesTodo struct {
|
|
|
+ // Unique identifier for the todo item
|
|
|
+ ID string `json:"id,required"`
|
|
|
+ // Brief description of the task
|
|
|
+ Content string `json:"content,required"`
|
|
|
+ // Priority level of the task: high, medium, low
|
|
|
+ Priority string `json:"priority,required"`
|
|
|
+ // Current status of the task: pending, in_progress, completed, cancelled
|
|
|
+ Status string `json:"status,required"`
|
|
|
+ JSON eventListResponseEventTodoUpdatedPropertiesTodoJSON `json:"-"`
|
|
|
+}
|
|
|
+
|
|
|
+// eventListResponseEventTodoUpdatedPropertiesTodoJSON contains the JSON metadata
|
|
|
+// for the struct [EventListResponseEventTodoUpdatedPropertiesTodo]
|
|
|
+type eventListResponseEventTodoUpdatedPropertiesTodoJSON struct {
|
|
|
+ ID apijson.Field
|
|
|
+ Content apijson.Field
|
|
|
+ Priority apijson.Field
|
|
|
+ Status apijson.Field
|
|
|
+ raw string
|
|
|
+ ExtraFields map[string]apijson.Field
|
|
|
+}
|
|
|
+
|
|
|
+func (r *EventListResponseEventTodoUpdatedPropertiesTodo) UnmarshalJSON(data []byte) (err error) {
|
|
|
+ return apijson.UnmarshalRoot(data, r)
|
|
|
+}
|
|
|
+
|
|
|
+func (r eventListResponseEventTodoUpdatedPropertiesTodoJSON) RawJSON() string {
|
|
|
+ return r.raw
|
|
|
+}
|
|
|
+
|
|
|
+type EventListResponseEventTodoUpdatedType string
|
|
|
+
|
|
|
+const (
|
|
|
+ EventListResponseEventTodoUpdatedTypeTodoUpdated EventListResponseEventTodoUpdatedType = "todo.updated"
|
|
|
+)
|
|
|
+
|
|
|
+func (r EventListResponseEventTodoUpdatedType) IsKnown() bool {
|
|
|
+ switch r {
|
|
|
+ case EventListResponseEventTodoUpdatedTypeTodoUpdated:
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+
|
|
|
type EventListResponseEventSessionIdle struct {
|
|
|
Properties EventListResponseEventSessionIdleProperties `json:"properties,required"`
|
|
|
Type EventListResponseEventSessionIdleType `json:"type,required"`
|
|
|
@@ -1210,84 +1385,6 @@ func (r EventListResponseEventServerConnectedType) IsKnown() bool {
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
-type EventListResponseEventFileWatcherUpdated struct {
|
|
|
- Properties EventListResponseEventFileWatcherUpdatedProperties `json:"properties,required"`
|
|
|
- Type EventListResponseEventFileWatcherUpdatedType `json:"type,required"`
|
|
|
- JSON eventListResponseEventFileWatcherUpdatedJSON `json:"-"`
|
|
|
-}
|
|
|
-
|
|
|
-// eventListResponseEventFileWatcherUpdatedJSON contains the JSON metadata for the
|
|
|
-// struct [EventListResponseEventFileWatcherUpdated]
|
|
|
-type eventListResponseEventFileWatcherUpdatedJSON struct {
|
|
|
- Properties apijson.Field
|
|
|
- Type apijson.Field
|
|
|
- raw string
|
|
|
- ExtraFields map[string]apijson.Field
|
|
|
-}
|
|
|
-
|
|
|
-func (r *EventListResponseEventFileWatcherUpdated) UnmarshalJSON(data []byte) (err error) {
|
|
|
- return apijson.UnmarshalRoot(data, r)
|
|
|
-}
|
|
|
-
|
|
|
-func (r eventListResponseEventFileWatcherUpdatedJSON) RawJSON() string {
|
|
|
- return r.raw
|
|
|
-}
|
|
|
-
|
|
|
-func (r EventListResponseEventFileWatcherUpdated) implementsEventListResponse() {}
|
|
|
-
|
|
|
-type EventListResponseEventFileWatcherUpdatedProperties struct {
|
|
|
- Event EventListResponseEventFileWatcherUpdatedPropertiesEvent `json:"event,required"`
|
|
|
- File string `json:"file,required"`
|
|
|
- JSON eventListResponseEventFileWatcherUpdatedPropertiesJSON `json:"-"`
|
|
|
-}
|
|
|
-
|
|
|
-// eventListResponseEventFileWatcherUpdatedPropertiesJSON contains the JSON
|
|
|
-// metadata for the struct [EventListResponseEventFileWatcherUpdatedProperties]
|
|
|
-type eventListResponseEventFileWatcherUpdatedPropertiesJSON struct {
|
|
|
- Event apijson.Field
|
|
|
- File apijson.Field
|
|
|
- raw string
|
|
|
- ExtraFields map[string]apijson.Field
|
|
|
-}
|
|
|
-
|
|
|
-func (r *EventListResponseEventFileWatcherUpdatedProperties) UnmarshalJSON(data []byte) (err error) {
|
|
|
- return apijson.UnmarshalRoot(data, r)
|
|
|
-}
|
|
|
-
|
|
|
-func (r eventListResponseEventFileWatcherUpdatedPropertiesJSON) RawJSON() string {
|
|
|
- return r.raw
|
|
|
-}
|
|
|
-
|
|
|
-type EventListResponseEventFileWatcherUpdatedPropertiesEvent string
|
|
|
-
|
|
|
-const (
|
|
|
- EventListResponseEventFileWatcherUpdatedPropertiesEventAdd EventListResponseEventFileWatcherUpdatedPropertiesEvent = "add"
|
|
|
- EventListResponseEventFileWatcherUpdatedPropertiesEventChange EventListResponseEventFileWatcherUpdatedPropertiesEvent = "change"
|
|
|
- EventListResponseEventFileWatcherUpdatedPropertiesEventUnlink EventListResponseEventFileWatcherUpdatedPropertiesEvent = "unlink"
|
|
|
-)
|
|
|
-
|
|
|
-func (r EventListResponseEventFileWatcherUpdatedPropertiesEvent) IsKnown() bool {
|
|
|
- switch r {
|
|
|
- case EventListResponseEventFileWatcherUpdatedPropertiesEventAdd, EventListResponseEventFileWatcherUpdatedPropertiesEventChange, EventListResponseEventFileWatcherUpdatedPropertiesEventUnlink:
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
-}
|
|
|
-
|
|
|
-type EventListResponseEventFileWatcherUpdatedType string
|
|
|
-
|
|
|
-const (
|
|
|
- EventListResponseEventFileWatcherUpdatedTypeFileWatcherUpdated EventListResponseEventFileWatcherUpdatedType = "file.watcher.updated"
|
|
|
-)
|
|
|
-
|
|
|
-func (r EventListResponseEventFileWatcherUpdatedType) IsKnown() bool {
|
|
|
- switch r {
|
|
|
- case EventListResponseEventFileWatcherUpdatedTypeFileWatcherUpdated:
|
|
|
- return true
|
|
|
- }
|
|
|
- return false
|
|
|
-}
|
|
|
-
|
|
|
type EventListResponseEventIdeInstalled struct {
|
|
|
Properties EventListResponseEventIdeInstalledProperties `json:"properties,required"`
|
|
|
Type EventListResponseEventIdeInstalledType `json:"type,required"`
|
|
|
@@ -1361,18 +1458,19 @@ const (
|
|
|
EventListResponseTypePermissionUpdated EventListResponseType = "permission.updated"
|
|
|
EventListResponseTypePermissionReplied EventListResponseType = "permission.replied"
|
|
|
EventListResponseTypeFileEdited EventListResponseType = "file.edited"
|
|
|
+ EventListResponseTypeFileWatcherUpdated EventListResponseType = "file.watcher.updated"
|
|
|
+ EventListResponseTypeTodoUpdated EventListResponseType = "todo.updated"
|
|
|
EventListResponseTypeSessionIdle EventListResponseType = "session.idle"
|
|
|
EventListResponseTypeSessionUpdated EventListResponseType = "session.updated"
|
|
|
EventListResponseTypeSessionDeleted EventListResponseType = "session.deleted"
|
|
|
EventListResponseTypeSessionError EventListResponseType = "session.error"
|
|
|
EventListResponseTypeServerConnected EventListResponseType = "server.connected"
|
|
|
- EventListResponseTypeFileWatcherUpdated EventListResponseType = "file.watcher.updated"
|
|
|
EventListResponseTypeIdeInstalled EventListResponseType = "ide.installed"
|
|
|
)
|
|
|
|
|
|
func (r EventListResponseType) IsKnown() bool {
|
|
|
switch r {
|
|
|
- case EventListResponseTypeInstallationUpdated, EventListResponseTypeLspClientDiagnostics, EventListResponseTypeMessageUpdated, EventListResponseTypeMessageRemoved, EventListResponseTypeMessagePartUpdated, EventListResponseTypeMessagePartRemoved, EventListResponseTypeSessionCompacted, EventListResponseTypePermissionUpdated, EventListResponseTypePermissionReplied, EventListResponseTypeFileEdited, EventListResponseTypeSessionIdle, EventListResponseTypeSessionUpdated, EventListResponseTypeSessionDeleted, EventListResponseTypeSessionError, EventListResponseTypeServerConnected, EventListResponseTypeFileWatcherUpdated, EventListResponseTypeIdeInstalled:
|
|
|
+ case EventListResponseTypeInstallationUpdated, EventListResponseTypeLspClientDiagnostics, EventListResponseTypeMessageUpdated, EventListResponseTypeMessageRemoved, EventListResponseTypeMessagePartUpdated, EventListResponseTypeMessagePartRemoved, EventListResponseTypeSessionCompacted, EventListResponseTypePermissionUpdated, EventListResponseTypePermissionReplied, EventListResponseTypeFileEdited, EventListResponseTypeFileWatcherUpdated, EventListResponseTypeTodoUpdated, EventListResponseTypeSessionIdle, EventListResponseTypeSessionUpdated, EventListResponseTypeSessionDeleted, EventListResponseTypeSessionError, EventListResponseTypeServerConnected, EventListResponseTypeIdeInstalled:
|
|
|
return true
|
|
|
}
|
|
|
return false
|