fix: add involves edge from task to agent:nomos at creation
Plus sync vendor directory for Docker build compatibility.
This commit is contained in:
223
vendor/github.com/openai/openai-go/packages/pagination/pagination.go
generated
vendored
Normal file
223
vendor/github.com/openai/openai-go/packages/pagination/pagination.go
generated
vendored
Normal file
@@ -0,0 +1,223 @@
|
||||
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
package pagination
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"reflect"
|
||||
|
||||
"github.com/openai/openai-go/internal/apijson"
|
||||
"github.com/openai/openai-go/internal/requestconfig"
|
||||
"github.com/openai/openai-go/option"
|
||||
"github.com/openai/openai-go/packages/param"
|
||||
"github.com/openai/openai-go/packages/respjson"
|
||||
)
|
||||
|
||||
// aliased to make [param.APIUnion] private when embedding
|
||||
type paramUnion = param.APIUnion
|
||||
|
||||
// aliased to make [param.APIObject] private when embedding
|
||||
type paramObj = param.APIObject
|
||||
|
||||
type Page[T any] struct {
|
||||
Data []T `json:"data"`
|
||||
Object string `json:"object,required"`
|
||||
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
|
||||
JSON struct {
|
||||
Data respjson.Field
|
||||
Object respjson.Field
|
||||
ExtraFields map[string]respjson.Field
|
||||
raw string
|
||||
} `json:"-"`
|
||||
cfg *requestconfig.RequestConfig
|
||||
res *http.Response
|
||||
}
|
||||
|
||||
// Returns the unmodified JSON received from the API
|
||||
func (r Page[T]) RawJSON() string { return r.JSON.raw }
|
||||
func (r *Page[T]) UnmarshalJSON(data []byte) error {
|
||||
return apijson.UnmarshalRoot(data, r)
|
||||
}
|
||||
|
||||
// GetNextPage returns the next page as defined by this pagination style. When
|
||||
// there is no next page, this function will return a 'nil' for the page value, but
|
||||
// will not return an error
|
||||
func (r *Page[T]) GetNextPage() (res *Page[T], err error) {
|
||||
if len(r.Data) == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
// This page represents a response that isn't actually paginated at the API level
|
||||
// so there will never be a next page.
|
||||
cfg := (*requestconfig.RequestConfig)(nil)
|
||||
if cfg == nil {
|
||||
return nil, nil
|
||||
}
|
||||
var raw *http.Response
|
||||
cfg.ResponseInto = &raw
|
||||
cfg.ResponseBodyInto = &res
|
||||
err = cfg.Execute()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res.SetPageConfig(cfg, raw)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (r *Page[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
|
||||
if r == nil {
|
||||
r = &Page[T]{}
|
||||
}
|
||||
r.cfg = cfg
|
||||
r.res = res
|
||||
}
|
||||
|
||||
type PageAutoPager[T any] struct {
|
||||
page *Page[T]
|
||||
cur T
|
||||
idx int
|
||||
run int
|
||||
err error
|
||||
paramObj
|
||||
}
|
||||
|
||||
func NewPageAutoPager[T any](page *Page[T], err error) *PageAutoPager[T] {
|
||||
return &PageAutoPager[T]{
|
||||
page: page,
|
||||
err: err,
|
||||
}
|
||||
}
|
||||
|
||||
func (r *PageAutoPager[T]) Next() bool {
|
||||
if r.page == nil || len(r.page.Data) == 0 {
|
||||
return false
|
||||
}
|
||||
if r.idx >= len(r.page.Data) {
|
||||
r.idx = 0
|
||||
r.page, r.err = r.page.GetNextPage()
|
||||
if r.err != nil || r.page == nil || len(r.page.Data) == 0 {
|
||||
return false
|
||||
}
|
||||
}
|
||||
r.cur = r.page.Data[r.idx]
|
||||
r.run += 1
|
||||
r.idx += 1
|
||||
return true
|
||||
}
|
||||
|
||||
func (r *PageAutoPager[T]) Current() T {
|
||||
return r.cur
|
||||
}
|
||||
|
||||
func (r *PageAutoPager[T]) Err() error {
|
||||
return r.err
|
||||
}
|
||||
|
||||
func (r *PageAutoPager[T]) Index() int {
|
||||
return r.run
|
||||
}
|
||||
|
||||
type CursorPage[T any] struct {
|
||||
Data []T `json:"data"`
|
||||
HasMore bool `json:"has_more"`
|
||||
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
|
||||
JSON struct {
|
||||
Data respjson.Field
|
||||
HasMore respjson.Field
|
||||
ExtraFields map[string]respjson.Field
|
||||
raw string
|
||||
} `json:"-"`
|
||||
cfg *requestconfig.RequestConfig
|
||||
res *http.Response
|
||||
}
|
||||
|
||||
// Returns the unmodified JSON received from the API
|
||||
func (r CursorPage[T]) RawJSON() string { return r.JSON.raw }
|
||||
func (r *CursorPage[T]) UnmarshalJSON(data []byte) error {
|
||||
return apijson.UnmarshalRoot(data, r)
|
||||
}
|
||||
|
||||
// GetNextPage returns the next page as defined by this pagination style. When
|
||||
// there is no next page, this function will return a 'nil' for the page value, but
|
||||
// will not return an error
|
||||
func (r *CursorPage[T]) GetNextPage() (res *CursorPage[T], err error) {
|
||||
if len(r.Data) == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
if r.JSON.HasMore.Valid() && r.HasMore == false {
|
||||
return nil, nil
|
||||
}
|
||||
items := r.Data
|
||||
if items == nil || len(items) == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
cfg := r.cfg.Clone(r.cfg.Context)
|
||||
value := reflect.ValueOf(items[len(items)-1])
|
||||
field := value.FieldByName("ID")
|
||||
err = cfg.Apply(option.WithQuery("after", field.Interface().(string)))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var raw *http.Response
|
||||
cfg.ResponseInto = &raw
|
||||
cfg.ResponseBodyInto = &res
|
||||
err = cfg.Execute()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res.SetPageConfig(cfg, raw)
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (r *CursorPage[T]) SetPageConfig(cfg *requestconfig.RequestConfig, res *http.Response) {
|
||||
if r == nil {
|
||||
r = &CursorPage[T]{}
|
||||
}
|
||||
r.cfg = cfg
|
||||
r.res = res
|
||||
}
|
||||
|
||||
type CursorPageAutoPager[T any] struct {
|
||||
page *CursorPage[T]
|
||||
cur T
|
||||
idx int
|
||||
run int
|
||||
err error
|
||||
paramObj
|
||||
}
|
||||
|
||||
func NewCursorPageAutoPager[T any](page *CursorPage[T], err error) *CursorPageAutoPager[T] {
|
||||
return &CursorPageAutoPager[T]{
|
||||
page: page,
|
||||
err: err,
|
||||
}
|
||||
}
|
||||
|
||||
func (r *CursorPageAutoPager[T]) Next() bool {
|
||||
if r.page == nil || len(r.page.Data) == 0 {
|
||||
return false
|
||||
}
|
||||
if r.idx >= len(r.page.Data) {
|
||||
r.idx = 0
|
||||
r.page, r.err = r.page.GetNextPage()
|
||||
if r.err != nil || r.page == nil || len(r.page.Data) == 0 {
|
||||
return false
|
||||
}
|
||||
}
|
||||
r.cur = r.page.Data[r.idx]
|
||||
r.run += 1
|
||||
r.idx += 1
|
||||
return true
|
||||
}
|
||||
|
||||
func (r *CursorPageAutoPager[T]) Current() T {
|
||||
return r.cur
|
||||
}
|
||||
|
||||
func (r *CursorPageAutoPager[T]) Err() error {
|
||||
return r.err
|
||||
}
|
||||
|
||||
func (r *CursorPageAutoPager[T]) Index() int {
|
||||
return r.run
|
||||
}
|
||||
Reference in New Issue
Block a user