| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047 |
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
- package opencode
- import (
- "context"
- "errors"
- "fmt"
- "net/http"
- "net/url"
- "reflect"
- "slices"
- "github.com/sst/opencode-sdk-go/internal/apijson"
- "github.com/sst/opencode-sdk-go/internal/apiquery"
- "github.com/sst/opencode-sdk-go/internal/param"
- "github.com/sst/opencode-sdk-go/internal/requestconfig"
- "github.com/sst/opencode-sdk-go/option"
- "github.com/sst/opencode-sdk-go/shared"
- "github.com/tidwall/gjson"
- )
- // SessionService contains methods and other services that help with interacting
- // with the opencode API.
- //
- // Note, unlike clients, this service does not read variables from the environment
- // automatically. You should not instantiate this service directly, and instead use
- // the [NewSessionService] method instead.
- type SessionService struct {
- Options []option.RequestOption
- Permissions *SessionPermissionService
- }
- // NewSessionService generates a new service that applies the given options to each
- // request. These options are applied after the parent client's options (if there
- // is one), and before any request-specific options.
- func NewSessionService(opts ...option.RequestOption) (r *SessionService) {
- r = &SessionService{}
- r.Options = opts
- r.Permissions = NewSessionPermissionService(opts...)
- return
- }
- // Create a new session
- func (r *SessionService) New(ctx context.Context, params SessionNewParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- path := "session"
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Update session properties
- func (r *SessionService) Update(ctx context.Context, id string, params SessionUpdateParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPatch, path, params, &res, opts...)
- return
- }
- // List all sessions
- func (r *SessionService) List(ctx context.Context, query SessionListParams, opts ...option.RequestOption) (res *[]Session, err error) {
- opts = slices.Concat(r.Options, opts)
- path := "session"
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
- return
- }
- // Delete a session and all its data
- func (r *SessionService) Delete(ctx context.Context, id string, body SessionDeleteParams, opts ...option.RequestOption) (res *bool, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, body, &res, opts...)
- return
- }
- // Abort a session
- func (r *SessionService) Abort(ctx context.Context, id string, body SessionAbortParams, opts ...option.RequestOption) (res *bool, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/abort", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, body, &res, opts...)
- return
- }
- // Get a session's children
- func (r *SessionService) Children(ctx context.Context, id string, query SessionChildrenParams, opts ...option.RequestOption) (res *[]Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/children", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
- return
- }
- // Send a new command to a session
- func (r *SessionService) Command(ctx context.Context, id string, params SessionCommandParams, opts ...option.RequestOption) (res *SessionCommandResponse, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/command", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Get session
- func (r *SessionService) Get(ctx context.Context, id string, query SessionGetParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
- return
- }
- // Analyze the app and create an AGENTS.md file
- func (r *SessionService) Init(ctx context.Context, id string, params SessionInitParams, opts ...option.RequestOption) (res *bool, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/init", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Get a message from a session
- func (r *SessionService) Message(ctx context.Context, id string, messageID string, query SessionMessageParams, opts ...option.RequestOption) (res *SessionMessageResponse, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- if messageID == "" {
- err = errors.New("missing required messageID parameter")
- return
- }
- path := fmt.Sprintf("session/%s/message/%s", id, messageID)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
- return
- }
- // List messages for a session
- func (r *SessionService) Messages(ctx context.Context, id string, query SessionMessagesParams, opts ...option.RequestOption) (res *[]SessionMessagesResponse, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/message", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodGet, path, query, &res, opts...)
- return
- }
- // Create and send a new message to a session
- func (r *SessionService) Prompt(ctx context.Context, id string, params SessionPromptParams, opts ...option.RequestOption) (res *SessionPromptResponse, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/message", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Revert a message
- func (r *SessionService) Revert(ctx context.Context, id string, params SessionRevertParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/revert", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Share a session
- func (r *SessionService) Share(ctx context.Context, id string, body SessionShareParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/share", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, body, &res, opts...)
- return
- }
- // Run a shell command
- func (r *SessionService) Shell(ctx context.Context, id string, params SessionShellParams, opts ...option.RequestOption) (res *AssistantMessage, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/shell", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Summarize the session
- func (r *SessionService) Summarize(ctx context.Context, id string, params SessionSummarizeParams, opts ...option.RequestOption) (res *bool, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/summarize", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, params, &res, opts...)
- return
- }
- // Restore all reverted messages
- func (r *SessionService) Unrevert(ctx context.Context, id string, body SessionUnrevertParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/unrevert", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodPost, path, body, &res, opts...)
- return
- }
- // Unshare the session
- func (r *SessionService) Unshare(ctx context.Context, id string, body SessionUnshareParams, opts ...option.RequestOption) (res *Session, err error) {
- opts = slices.Concat(r.Options, opts)
- if id == "" {
- err = errors.New("missing required id parameter")
- return
- }
- path := fmt.Sprintf("session/%s/share", id)
- err = requestconfig.ExecuteNewRequest(ctx, http.MethodDelete, path, body, &res, opts...)
- return
- }
- type AgentPart struct {
- ID string `json:"id,required"`
- MessageID string `json:"messageID,required"`
- Name string `json:"name,required"`
- SessionID string `json:"sessionID,required"`
- Type AgentPartType `json:"type,required"`
- Source AgentPartSource `json:"source"`
- JSON agentPartJSON `json:"-"`
- }
- // agentPartJSON contains the JSON metadata for the struct [AgentPart]
- type agentPartJSON struct {
- ID apijson.Field
- MessageID apijson.Field
- Name apijson.Field
- SessionID apijson.Field
- Type apijson.Field
- Source apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AgentPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r agentPartJSON) RawJSON() string {
- return r.raw
- }
- func (r AgentPart) implementsPart() {}
- type AgentPartType string
- const (
- AgentPartTypeAgent AgentPartType = "agent"
- )
- func (r AgentPartType) IsKnown() bool {
- switch r {
- case AgentPartTypeAgent:
- return true
- }
- return false
- }
- type AgentPartSource struct {
- End int64 `json:"end,required"`
- Start int64 `json:"start,required"`
- Value string `json:"value,required"`
- JSON agentPartSourceJSON `json:"-"`
- }
- // agentPartSourceJSON contains the JSON metadata for the struct [AgentPartSource]
- type agentPartSourceJSON struct {
- End apijson.Field
- Start apijson.Field
- Value apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AgentPartSource) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r agentPartSourceJSON) RawJSON() string {
- return r.raw
- }
- type AgentPartInputParam struct {
- Name param.Field[string] `json:"name,required"`
- Type param.Field[AgentPartInputType] `json:"type,required"`
- ID param.Field[string] `json:"id"`
- Source param.Field[AgentPartInputSourceParam] `json:"source"`
- }
- func (r AgentPartInputParam) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- func (r AgentPartInputParam) implementsSessionPromptParamsPartUnion() {}
- type AgentPartInputType string
- const (
- AgentPartInputTypeAgent AgentPartInputType = "agent"
- )
- func (r AgentPartInputType) IsKnown() bool {
- switch r {
- case AgentPartInputTypeAgent:
- return true
- }
- return false
- }
- type AgentPartInputSourceParam struct {
- End param.Field[int64] `json:"end,required"`
- Start param.Field[int64] `json:"start,required"`
- Value param.Field[string] `json:"value,required"`
- }
- func (r AgentPartInputSourceParam) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- type AssistantMessage struct {
- ID string `json:"id,required"`
- 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"`
- SessionID string `json:"sessionID,required"`
- System []string `json:"system,required"`
- Time AssistantMessageTime `json:"time,required"`
- Tokens AssistantMessageTokens `json:"tokens,required"`
- Error AssistantMessageError `json:"error"`
- Summary bool `json:"summary"`
- JSON assistantMessageJSON `json:"-"`
- }
- // assistantMessageJSON contains the JSON metadata for the struct
- // [AssistantMessage]
- type assistantMessageJSON struct {
- ID apijson.Field
- Cost apijson.Field
- Mode apijson.Field
- ModelID apijson.Field
- ParentID apijson.Field
- Path apijson.Field
- ProviderID apijson.Field
- Role apijson.Field
- SessionID apijson.Field
- System apijson.Field
- Time apijson.Field
- Tokens apijson.Field
- Error apijson.Field
- Summary apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AssistantMessage) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r assistantMessageJSON) RawJSON() string {
- return r.raw
- }
- func (r AssistantMessage) implementsMessage() {}
- type AssistantMessagePath struct {
- Cwd string `json:"cwd,required"`
- Root string `json:"root,required"`
- JSON assistantMessagePathJSON `json:"-"`
- }
- // assistantMessagePathJSON contains the JSON metadata for the struct
- // [AssistantMessagePath]
- type assistantMessagePathJSON struct {
- Cwd apijson.Field
- Root apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AssistantMessagePath) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r assistantMessagePathJSON) RawJSON() string {
- return r.raw
- }
- type AssistantMessageRole string
- const (
- AssistantMessageRoleAssistant AssistantMessageRole = "assistant"
- )
- func (r AssistantMessageRole) IsKnown() bool {
- switch r {
- case AssistantMessageRoleAssistant:
- return true
- }
- return false
- }
- type AssistantMessageTime struct {
- Created float64 `json:"created,required"`
- Completed float64 `json:"completed"`
- JSON assistantMessageTimeJSON `json:"-"`
- }
- // assistantMessageTimeJSON contains the JSON metadata for the struct
- // [AssistantMessageTime]
- type assistantMessageTimeJSON struct {
- Created apijson.Field
- Completed apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AssistantMessageTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r assistantMessageTimeJSON) RawJSON() string {
- return r.raw
- }
- type AssistantMessageTokens struct {
- Cache AssistantMessageTokensCache `json:"cache,required"`
- Input float64 `json:"input,required"`
- Output float64 `json:"output,required"`
- Reasoning float64 `json:"reasoning,required"`
- JSON assistantMessageTokensJSON `json:"-"`
- }
- // assistantMessageTokensJSON contains the JSON metadata for the struct
- // [AssistantMessageTokens]
- type assistantMessageTokensJSON struct {
- Cache apijson.Field
- Input apijson.Field
- Output apijson.Field
- Reasoning apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AssistantMessageTokens) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r assistantMessageTokensJSON) RawJSON() string {
- return r.raw
- }
- type AssistantMessageTokensCache struct {
- Read float64 `json:"read,required"`
- Write float64 `json:"write,required"`
- JSON assistantMessageTokensCacheJSON `json:"-"`
- }
- // assistantMessageTokensCacheJSON contains the JSON metadata for the struct
- // [AssistantMessageTokensCache]
- type assistantMessageTokensCacheJSON struct {
- Read apijson.Field
- Write apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AssistantMessageTokensCache) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r assistantMessageTokensCacheJSON) RawJSON() string {
- return r.raw
- }
- type AssistantMessageError struct {
- // This field can have the runtime type of [shared.ProviderAuthErrorData],
- // [shared.UnknownErrorData], [interface{}], [shared.MessageAbortedErrorData],
- // [AssistantMessageErrorAPIErrorData].
- Data interface{} `json:"data,required"`
- Name AssistantMessageErrorName `json:"name,required"`
- JSON assistantMessageErrorJSON `json:"-"`
- union AssistantMessageErrorUnion
- }
- // assistantMessageErrorJSON contains the JSON metadata for the struct
- // [AssistantMessageError]
- type assistantMessageErrorJSON struct {
- Data apijson.Field
- Name apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r assistantMessageErrorJSON) RawJSON() string {
- return r.raw
- }
- func (r *AssistantMessageError) UnmarshalJSON(data []byte) (err error) {
- *r = AssistantMessageError{}
- err = apijson.UnmarshalRoot(data, &r.union)
- if err != nil {
- return err
- }
- return apijson.Port(r.union, &r)
- }
- // AsUnion returns a [AssistantMessageErrorUnion] interface which you can cast to
- // the specific types for more type safety.
- //
- // Possible runtime types of the union are [shared.ProviderAuthError],
- // [shared.UnknownError], [AssistantMessageErrorMessageOutputLengthError],
- // [shared.MessageAbortedError], [AssistantMessageErrorAPIError].
- func (r AssistantMessageError) AsUnion() AssistantMessageErrorUnion {
- return r.union
- }
- // Union satisfied by [shared.ProviderAuthError], [shared.UnknownError],
- // [AssistantMessageErrorMessageOutputLengthError], [shared.MessageAbortedError] or
- // [AssistantMessageErrorAPIError].
- type AssistantMessageErrorUnion interface {
- ImplementsAssistantMessageError()
- }
- func init() {
- apijson.RegisterUnion(
- reflect.TypeOf((*AssistantMessageErrorUnion)(nil)).Elem(),
- "",
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(shared.ProviderAuthError{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(shared.UnknownError{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(AssistantMessageErrorMessageOutputLengthError{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(shared.MessageAbortedError{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(AssistantMessageErrorAPIError{}),
- },
- )
- }
- type AssistantMessageErrorMessageOutputLengthError struct {
- Data interface{} `json:"data,required"`
- Name AssistantMessageErrorMessageOutputLengthErrorName `json:"name,required"`
- JSON assistantMessageErrorMessageOutputLengthErrorJSON `json:"-"`
- }
- // assistantMessageErrorMessageOutputLengthErrorJSON contains the JSON metadata for
- // the struct [AssistantMessageErrorMessageOutputLengthError]
- type assistantMessageErrorMessageOutputLengthErrorJSON struct {
- Data apijson.Field
- Name apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *AssistantMessageErrorMessageOutputLengthError) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r assistantMessageErrorMessageOutputLengthErrorJSON) RawJSON() string {
- return r.raw
- }
- func (r AssistantMessageErrorMessageOutputLengthError) ImplementsAssistantMessageError() {}
- type AssistantMessageErrorMessageOutputLengthErrorName string
- const (
- AssistantMessageErrorMessageOutputLengthErrorNameMessageOutputLengthError AssistantMessageErrorMessageOutputLengthErrorName = "MessageOutputLengthError"
- )
- func (r AssistantMessageErrorMessageOutputLengthErrorName) IsKnown() bool {
- switch r {
- case AssistantMessageErrorMessageOutputLengthErrorNameMessageOutputLengthError:
- return true
- }
- 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 (
- AssistantMessageErrorNameProviderAuthError AssistantMessageErrorName = "ProviderAuthError"
- AssistantMessageErrorNameUnknownError AssistantMessageErrorName = "UnknownError"
- AssistantMessageErrorNameMessageOutputLengthError AssistantMessageErrorName = "MessageOutputLengthError"
- AssistantMessageErrorNameMessageAbortedError AssistantMessageErrorName = "MessageAbortedError"
- AssistantMessageErrorNameAPIError AssistantMessageErrorName = "APIError"
- )
- func (r AssistantMessageErrorName) IsKnown() bool {
- switch r {
- case AssistantMessageErrorNameProviderAuthError, AssistantMessageErrorNameUnknownError, AssistantMessageErrorNameMessageOutputLengthError, AssistantMessageErrorNameMessageAbortedError, AssistantMessageErrorNameAPIError:
- return true
- }
- return false
- }
- 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"`
- Source FilePartSource `json:"source"`
- JSON filePartJSON `json:"-"`
- }
- // filePartJSON contains the JSON metadata for the struct [FilePart]
- type filePartJSON struct {
- ID apijson.Field
- MessageID apijson.Field
- Mime apijson.Field
- SessionID apijson.Field
- Type apijson.Field
- URL apijson.Field
- Filename apijson.Field
- Source apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *FilePart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r filePartJSON) RawJSON() string {
- return r.raw
- }
- func (r FilePart) implementsPart() {}
- type FilePartType string
- const (
- FilePartTypeFile FilePartType = "file"
- )
- func (r FilePartType) IsKnown() bool {
- switch r {
- case FilePartTypeFile:
- return true
- }
- return false
- }
- 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"`
- Source param.Field[FilePartSourceUnionParam] `json:"source"`
- }
- func (r FilePartInputParam) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- func (r FilePartInputParam) implementsSessionPromptParamsPartUnion() {}
- type FilePartInputType string
- const (
- FilePartInputTypeFile FilePartInputType = "file"
- )
- func (r FilePartInputType) IsKnown() bool {
- switch r {
- case FilePartInputTypeFile:
- return true
- }
- 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(),
- "",
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(FileSource{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(SymbolSource{}),
- },
- )
- }
- 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"`
- SessionID string `json:"sessionID,required"`
- // This field can have the runtime type of [UserMessageTime],
- // [AssistantMessageTime].
- 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"`
- ParentID string `json:"parentID"`
- // This field can have the runtime type of [AssistantMessagePath].
- Path interface{} `json:"path"`
- ProviderID string `json:"providerID"`
- // 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].
- Tokens interface{} `json:"tokens"`
- JSON messageJSON `json:"-"`
- union MessageUnion
- }
- // messageJSON contains the JSON metadata for the struct [Message]
- type messageJSON struct {
- ID apijson.Field
- Role apijson.Field
- SessionID apijson.Field
- Time apijson.Field
- Cost apijson.Field
- Error apijson.Field
- Mode apijson.Field
- ModelID apijson.Field
- ParentID apijson.Field
- Path apijson.Field
- ProviderID apijson.Field
- Summary apijson.Field
- System apijson.Field
- Tokens apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r messageJSON) RawJSON() string {
- return r.raw
- }
- func (r *Message) UnmarshalJSON(data []byte) (err error) {
- *r = Message{}
- err = apijson.UnmarshalRoot(data, &r.union)
- if err != nil {
- return err
- }
- return apijson.Port(r.union, &r)
- }
- // AsUnion returns a [MessageUnion] interface which you can cast to the specific
- // types for more type safety.
- //
- // Possible runtime types of the union are [UserMessage], [AssistantMessage].
- func (r Message) AsUnion() MessageUnion {
- return r.union
- }
- // Union satisfied by [UserMessage] or [AssistantMessage].
- type MessageUnion interface {
- implementsMessage()
- }
- func init() {
- apijson.RegisterUnion(
- reflect.TypeOf((*MessageUnion)(nil)).Elem(),
- "",
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(UserMessage{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(AssistantMessage{}),
- },
- )
- }
- type MessageRole string
- const (
- MessageRoleUser MessageRole = "user"
- MessageRoleAssistant MessageRole = "assistant"
- )
- func (r MessageRole) IsKnown() bool {
- switch r {
- case MessageRoleUser, MessageRoleAssistant:
- return true
- }
- return false
- }
- type Part struct {
- ID string `json:"id,required"`
- 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"`
- // 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"`
- // This field can have the runtime type of [map[string]interface{}].
- 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"`
- // This field can have the runtime type of [ToolPartState].
- State interface{} `json:"state"`
- Synthetic bool `json:"synthetic"`
- Text string `json:"text"`
- // 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"`
- Tool string `json:"tool"`
- URL string `json:"url"`
- JSON partJSON `json:"-"`
- union PartUnion
- }
- // partJSON contains the JSON metadata for the struct [Part]
- type partJSON struct {
- ID apijson.Field
- 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
- Synthetic apijson.Field
- Text apijson.Field
- Time apijson.Field
- Tokens apijson.Field
- Tool apijson.Field
- URL apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r partJSON) RawJSON() string {
- return r.raw
- }
- func (r *Part) UnmarshalJSON(data []byte) (err error) {
- *r = Part{}
- err = apijson.UnmarshalRoot(data, &r.union)
- if err != nil {
- return err
- }
- return apijson.Port(r.union, &r)
- }
- // AsUnion returns a [PartUnion] interface which you can cast to the specific types
- // for more type safety.
- //
- // Possible runtime types of the union are [TextPart], [ReasoningPart], [FilePart],
- // [ToolPart], [StepStartPart], [StepFinishPart], [SnapshotPart], [PartPatchPart],
- // [AgentPart], [PartRetryPart].
- func (r Part) AsUnion() PartUnion {
- return r.union
- }
- // Union satisfied by [TextPart], [ReasoningPart], [FilePart], [ToolPart],
- // [StepStartPart], [StepFinishPart], [SnapshotPart], [PartPatchPart], [AgentPart]
- // or [PartRetryPart].
- type PartUnion interface {
- implementsPart()
- }
- func init() {
- apijson.RegisterUnion(
- reflect.TypeOf((*PartUnion)(nil)).Elem(),
- "",
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(TextPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(ReasoningPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(FilePart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(ToolPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(StepStartPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(StepFinishPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(SnapshotPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(PartPatchPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(AgentPart{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(PartRetryPart{}),
- },
- )
- }
- type PartPatchPart struct {
- ID string `json:"id,required"`
- Files []string `json:"files,required"`
- Hash string `json:"hash,required"`
- MessageID string `json:"messageID,required"`
- SessionID string `json:"sessionID,required"`
- Type PartPatchPartType `json:"type,required"`
- JSON partPatchPartJSON `json:"-"`
- }
- // partPatchPartJSON contains the JSON metadata for the struct [PartPatchPart]
- type partPatchPartJSON struct {
- ID apijson.Field
- Files apijson.Field
- Hash apijson.Field
- MessageID apijson.Field
- SessionID apijson.Field
- Type apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *PartPatchPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r partPatchPartJSON) RawJSON() string {
- return r.raw
- }
- func (r PartPatchPart) implementsPart() {}
- type PartPatchPartType string
- const (
- PartPatchPartTypePatch PartPatchPartType = "patch"
- )
- func (r PartPatchPartType) IsKnown() bool {
- switch r {
- case PartPatchPartTypePatch:
- return true
- }
- 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 (
- PartTypeText PartType = "text"
- PartTypeReasoning PartType = "reasoning"
- PartTypeFile PartType = "file"
- PartTypeTool PartType = "tool"
- PartTypeStepStart PartType = "step-start"
- PartTypeStepFinish PartType = "step-finish"
- 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, PartTypeRetry:
- return true
- }
- return false
- }
- type ReasoningPart struct {
- ID string `json:"id,required"`
- MessageID string `json:"messageID,required"`
- SessionID string `json:"sessionID,required"`
- Text string `json:"text,required"`
- Time ReasoningPartTime `json:"time,required"`
- Type ReasoningPartType `json:"type,required"`
- Metadata map[string]interface{} `json:"metadata"`
- JSON reasoningPartJSON `json:"-"`
- }
- // reasoningPartJSON contains the JSON metadata for the struct [ReasoningPart]
- type reasoningPartJSON struct {
- ID apijson.Field
- MessageID apijson.Field
- SessionID apijson.Field
- Text apijson.Field
- Time apijson.Field
- Type apijson.Field
- Metadata apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ReasoningPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r reasoningPartJSON) RawJSON() string {
- return r.raw
- }
- func (r ReasoningPart) implementsPart() {}
- type ReasoningPartTime struct {
- Start float64 `json:"start,required"`
- End float64 `json:"end"`
- JSON reasoningPartTimeJSON `json:"-"`
- }
- // reasoningPartTimeJSON contains the JSON metadata for the struct
- // [ReasoningPartTime]
- type reasoningPartTimeJSON struct {
- Start apijson.Field
- End apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ReasoningPartTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r reasoningPartTimeJSON) RawJSON() string {
- return r.raw
- }
- type ReasoningPartType string
- const (
- ReasoningPartTypeReasoning ReasoningPartType = "reasoning"
- )
- func (r ReasoningPartType) IsKnown() bool {
- switch r {
- case ReasoningPartTypeReasoning:
- return true
- }
- return false
- }
- 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"`
- Summary SessionSummary `json:"summary"`
- JSON sessionJSON `json:"-"`
- }
- // sessionJSON contains the JSON metadata for the struct [Session]
- type sessionJSON struct {
- ID apijson.Field
- Directory apijson.Field
- ProjectID apijson.Field
- Time apijson.Field
- Title apijson.Field
- Version apijson.Field
- ParentID apijson.Field
- Revert apijson.Field
- Share apijson.Field
- Summary apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *Session) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionJSON) RawJSON() string {
- return r.raw
- }
- type SessionTime struct {
- Created float64 `json:"created,required"`
- Updated float64 `json:"updated,required"`
- Compacting float64 `json:"compacting"`
- JSON sessionTimeJSON `json:"-"`
- }
- // sessionTimeJSON contains the JSON metadata for the struct [SessionTime]
- type sessionTimeJSON struct {
- Created apijson.Field
- Updated apijson.Field
- Compacting apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionTimeJSON) RawJSON() string {
- return r.raw
- }
- type SessionRevert struct {
- MessageID string `json:"messageID,required"`
- Diff string `json:"diff"`
- PartID string `json:"partID"`
- Snapshot string `json:"snapshot"`
- JSON sessionRevertJSON `json:"-"`
- }
- // sessionRevertJSON contains the JSON metadata for the struct [SessionRevert]
- type sessionRevertJSON struct {
- MessageID apijson.Field
- Diff apijson.Field
- PartID apijson.Field
- Snapshot apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionRevert) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionRevertJSON) RawJSON() string {
- return r.raw
- }
- type SessionShare struct {
- URL string `json:"url,required"`
- JSON sessionShareJSON `json:"-"`
- }
- // sessionShareJSON contains the JSON metadata for the struct [SessionShare]
- type sessionShareJSON struct {
- URL apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionShare) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- 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"`
- SessionID string `json:"sessionID,required"`
- Snapshot string `json:"snapshot,required"`
- Type SnapshotPartType `json:"type,required"`
- JSON snapshotPartJSON `json:"-"`
- }
- // snapshotPartJSON contains the JSON metadata for the struct [SnapshotPart]
- type snapshotPartJSON struct {
- ID apijson.Field
- MessageID apijson.Field
- SessionID apijson.Field
- Snapshot apijson.Field
- Type apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SnapshotPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r snapshotPartJSON) RawJSON() string {
- return r.raw
- }
- func (r SnapshotPart) implementsPart() {}
- type SnapshotPartType string
- const (
- SnapshotPartTypeSnapshot SnapshotPartType = "snapshot"
- )
- func (r SnapshotPartType) IsKnown() bool {
- switch r {
- case SnapshotPartTypeSnapshot:
- return true
- }
- return false
- }
- 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:"-"`
- }
- // stepFinishPartJSON contains the JSON metadata for the struct [StepFinishPart]
- 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
- }
- func (r *StepFinishPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r stepFinishPartJSON) RawJSON() string {
- return r.raw
- }
- func (r StepFinishPart) implementsPart() {}
- type StepFinishPartTokens struct {
- Cache StepFinishPartTokensCache `json:"cache,required"`
- Input float64 `json:"input,required"`
- Output float64 `json:"output,required"`
- Reasoning float64 `json:"reasoning,required"`
- JSON stepFinishPartTokensJSON `json:"-"`
- }
- // stepFinishPartTokensJSON contains the JSON metadata for the struct
- // [StepFinishPartTokens]
- type stepFinishPartTokensJSON struct {
- Cache apijson.Field
- Input apijson.Field
- Output apijson.Field
- Reasoning apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *StepFinishPartTokens) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r stepFinishPartTokensJSON) RawJSON() string {
- return r.raw
- }
- type StepFinishPartTokensCache struct {
- Read float64 `json:"read,required"`
- Write float64 `json:"write,required"`
- JSON stepFinishPartTokensCacheJSON `json:"-"`
- }
- // stepFinishPartTokensCacheJSON contains the JSON metadata for the struct
- // [StepFinishPartTokensCache]
- type stepFinishPartTokensCacheJSON struct {
- Read apijson.Field
- Write apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *StepFinishPartTokensCache) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r stepFinishPartTokensCacheJSON) RawJSON() string {
- return r.raw
- }
- type StepFinishPartType string
- const (
- StepFinishPartTypeStepFinish StepFinishPartType = "step-finish"
- )
- func (r StepFinishPartType) IsKnown() bool {
- switch r {
- case StepFinishPartTypeStepFinish:
- return true
- }
- return false
- }
- type StepStartPart struct {
- ID string `json:"id,required"`
- MessageID string `json:"messageID,required"`
- SessionID string `json:"sessionID,required"`
- Type StepStartPartType `json:"type,required"`
- Snapshot string `json:"snapshot"`
- JSON stepStartPartJSON `json:"-"`
- }
- // stepStartPartJSON contains the JSON metadata for the struct [StepStartPart]
- type stepStartPartJSON struct {
- ID apijson.Field
- MessageID apijson.Field
- SessionID apijson.Field
- Type apijson.Field
- Snapshot apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *StepStartPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r stepStartPartJSON) RawJSON() string {
- return r.raw
- }
- func (r StepStartPart) implementsPart() {}
- type StepStartPartType string
- const (
- StepStartPartTypeStepStart StepStartPartType = "step-start"
- )
- func (r StepStartPartType) IsKnown() bool {
- switch r {
- case StepStartPartTypeStepStart:
- return true
- }
- 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"`
- SessionID string `json:"sessionID,required"`
- Text string `json:"text,required"`
- Type TextPartType `json:"type,required"`
- Metadata map[string]interface{} `json:"metadata"`
- Synthetic bool `json:"synthetic"`
- Time TextPartTime `json:"time"`
- JSON textPartJSON `json:"-"`
- }
- // textPartJSON contains the JSON metadata for the struct [TextPart]
- type textPartJSON struct {
- ID apijson.Field
- MessageID apijson.Field
- SessionID apijson.Field
- Text apijson.Field
- Type apijson.Field
- Metadata apijson.Field
- Synthetic apijson.Field
- Time apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *TextPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r textPartJSON) RawJSON() string {
- return r.raw
- }
- func (r TextPart) implementsPart() {}
- type TextPartType string
- const (
- TextPartTypeText TextPartType = "text"
- )
- func (r TextPartType) IsKnown() bool {
- switch r {
- case TextPartTypeText:
- return true
- }
- return false
- }
- type TextPartTime struct {
- Start float64 `json:"start,required"`
- End float64 `json:"end"`
- JSON textPartTimeJSON `json:"-"`
- }
- // textPartTimeJSON contains the JSON metadata for the struct [TextPartTime]
- type textPartTimeJSON struct {
- Start apijson.Field
- End apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *TextPartTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r textPartTimeJSON) RawJSON() string {
- return r.raw
- }
- type TextPartInputParam struct {
- Text param.Field[string] `json:"text,required"`
- Type param.Field[TextPartInputType] `json:"type,required"`
- ID param.Field[string] `json:"id"`
- Metadata param.Field[map[string]interface{}] `json:"metadata"`
- Synthetic param.Field[bool] `json:"synthetic"`
- Time param.Field[TextPartInputTimeParam] `json:"time"`
- }
- func (r TextPartInputParam) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- func (r TextPartInputParam) implementsSessionPromptParamsPartUnion() {}
- type TextPartInputType string
- const (
- TextPartInputTypeText TextPartInputType = "text"
- )
- func (r TextPartInputType) IsKnown() bool {
- switch r {
- case TextPartInputTypeText:
- return true
- }
- return false
- }
- type TextPartInputTimeParam struct {
- Start param.Field[float64] `json:"start,required"`
- End param.Field[float64] `json:"end"`
- }
- func (r TextPartInputTimeParam) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- type ToolPart struct {
- ID string `json:"id,required"`
- CallID string `json:"callID,required"`
- MessageID string `json:"messageID,required"`
- SessionID string `json:"sessionID,required"`
- State ToolPartState `json:"state,required"`
- Tool string `json:"tool,required"`
- Type ToolPartType `json:"type,required"`
- Metadata map[string]interface{} `json:"metadata"`
- JSON toolPartJSON `json:"-"`
- }
- // toolPartJSON contains the JSON metadata for the struct [ToolPart]
- type toolPartJSON struct {
- ID apijson.Field
- CallID apijson.Field
- MessageID apijson.Field
- SessionID apijson.Field
- State apijson.Field
- Tool apijson.Field
- Type apijson.Field
- Metadata apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolPart) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolPartJSON) RawJSON() string {
- return r.raw
- }
- func (r ToolPart) implementsPart() {}
- type ToolPartState struct {
- Status ToolPartStateStatus `json:"status,required"`
- // 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{}].
- Metadata interface{} `json:"metadata"`
- Output string `json:"output"`
- // This field can have the runtime type of [ToolStateRunningTime],
- // [ToolStateCompletedTime], [ToolStateErrorTime].
- Time interface{} `json:"time"`
- Title string `json:"title"`
- JSON toolPartStateJSON `json:"-"`
- union ToolPartStateUnion
- }
- // 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
- Output apijson.Field
- Time apijson.Field
- Title apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r toolPartStateJSON) RawJSON() string {
- return r.raw
- }
- func (r *ToolPartState) UnmarshalJSON(data []byte) (err error) {
- *r = ToolPartState{}
- err = apijson.UnmarshalRoot(data, &r.union)
- if err != nil {
- return err
- }
- return apijson.Port(r.union, &r)
- }
- // AsUnion returns a [ToolPartStateUnion] interface which you can cast to the
- // specific types for more type safety.
- //
- // Possible runtime types of the union are [ToolStatePending], [ToolStateRunning],
- // [ToolStateCompleted], [ToolStateError].
- func (r ToolPartState) AsUnion() ToolPartStateUnion {
- return r.union
- }
- // Union satisfied by [ToolStatePending], [ToolStateRunning], [ToolStateCompleted]
- // or [ToolStateError].
- type ToolPartStateUnion interface {
- implementsToolPartState()
- }
- func init() {
- apijson.RegisterUnion(
- reflect.TypeOf((*ToolPartStateUnion)(nil)).Elem(),
- "",
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(ToolStatePending{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(ToolStateRunning{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(ToolStateCompleted{}),
- },
- apijson.UnionVariant{
- TypeFilter: gjson.JSON,
- Type: reflect.TypeOf(ToolStateError{}),
- },
- )
- }
- type ToolPartStateStatus string
- const (
- ToolPartStateStatusPending ToolPartStateStatus = "pending"
- ToolPartStateStatusRunning ToolPartStateStatus = "running"
- ToolPartStateStatusCompleted ToolPartStateStatus = "completed"
- ToolPartStateStatusError ToolPartStateStatus = "error"
- )
- func (r ToolPartStateStatus) IsKnown() bool {
- switch r {
- case ToolPartStateStatusPending, ToolPartStateStatusRunning, ToolPartStateStatusCompleted, ToolPartStateStatusError:
- return true
- }
- return false
- }
- type ToolPartType string
- const (
- ToolPartTypeTool ToolPartType = "tool"
- )
- func (r ToolPartType) IsKnown() bool {
- switch r {
- case ToolPartTypeTool:
- return true
- }
- return false
- }
- 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"`
- Attachments []FilePart `json:"attachments"`
- JSON toolStateCompletedJSON `json:"-"`
- }
- // toolStateCompletedJSON contains the JSON metadata for the struct
- // [ToolStateCompleted]
- type toolStateCompletedJSON struct {
- Input apijson.Field
- Metadata apijson.Field
- Output apijson.Field
- Status apijson.Field
- Time apijson.Field
- Title apijson.Field
- Attachments apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStateCompleted) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStateCompletedJSON) RawJSON() string {
- return r.raw
- }
- func (r ToolStateCompleted) implementsToolPartState() {}
- type ToolStateCompletedStatus string
- const (
- ToolStateCompletedStatusCompleted ToolStateCompletedStatus = "completed"
- )
- func (r ToolStateCompletedStatus) IsKnown() bool {
- switch r {
- case ToolStateCompletedStatusCompleted:
- return true
- }
- return false
- }
- type ToolStateCompletedTime struct {
- End float64 `json:"end,required"`
- Start float64 `json:"start,required"`
- Compacted float64 `json:"compacted"`
- JSON toolStateCompletedTimeJSON `json:"-"`
- }
- // toolStateCompletedTimeJSON contains the JSON metadata for the struct
- // [ToolStateCompletedTime]
- type toolStateCompletedTimeJSON struct {
- End apijson.Field
- Start apijson.Field
- Compacted apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStateCompletedTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStateCompletedTimeJSON) RawJSON() string {
- return r.raw
- }
- type ToolStateError struct {
- Error string `json:"error,required"`
- Input map[string]interface{} `json:"input,required"`
- Status ToolStateErrorStatus `json:"status,required"`
- Time ToolStateErrorTime `json:"time,required"`
- Metadata map[string]interface{} `json:"metadata"`
- JSON toolStateErrorJSON `json:"-"`
- }
- // toolStateErrorJSON contains the JSON metadata for the struct [ToolStateError]
- type toolStateErrorJSON struct {
- Error apijson.Field
- Input apijson.Field
- Status apijson.Field
- Time apijson.Field
- Metadata apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStateError) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStateErrorJSON) RawJSON() string {
- return r.raw
- }
- func (r ToolStateError) implementsToolPartState() {}
- type ToolStateErrorStatus string
- const (
- ToolStateErrorStatusError ToolStateErrorStatus = "error"
- )
- func (r ToolStateErrorStatus) IsKnown() bool {
- switch r {
- case ToolStateErrorStatusError:
- return true
- }
- return false
- }
- type ToolStateErrorTime struct {
- End float64 `json:"end,required"`
- Start float64 `json:"start,required"`
- JSON toolStateErrorTimeJSON `json:"-"`
- }
- // toolStateErrorTimeJSON contains the JSON metadata for the struct
- // [ToolStateErrorTime]
- type toolStateErrorTimeJSON struct {
- End apijson.Field
- Start apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStateErrorTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStateErrorTimeJSON) RawJSON() string {
- return r.raw
- }
- type ToolStatePending struct {
- Status ToolStatePendingStatus `json:"status,required"`
- JSON toolStatePendingJSON `json:"-"`
- }
- // toolStatePendingJSON contains the JSON metadata for the struct
- // [ToolStatePending]
- type toolStatePendingJSON struct {
- Status apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStatePending) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStatePendingJSON) RawJSON() string {
- return r.raw
- }
- func (r ToolStatePending) implementsToolPartState() {}
- type ToolStatePendingStatus string
- const (
- ToolStatePendingStatusPending ToolStatePendingStatus = "pending"
- )
- func (r ToolStatePendingStatus) IsKnown() bool {
- switch r {
- case ToolStatePendingStatusPending:
- return true
- }
- return false
- }
- type ToolStateRunning struct {
- Input interface{} `json:"input,required"`
- Status ToolStateRunningStatus `json:"status,required"`
- Time ToolStateRunningTime `json:"time,required"`
- Metadata map[string]interface{} `json:"metadata"`
- Title string `json:"title"`
- JSON toolStateRunningJSON `json:"-"`
- }
- // toolStateRunningJSON contains the JSON metadata for the struct
- // [ToolStateRunning]
- type toolStateRunningJSON struct {
- Input apijson.Field
- Status apijson.Field
- Time apijson.Field
- Metadata apijson.Field
- Title apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStateRunning) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStateRunningJSON) RawJSON() string {
- return r.raw
- }
- func (r ToolStateRunning) implementsToolPartState() {}
- type ToolStateRunningStatus string
- const (
- ToolStateRunningStatusRunning ToolStateRunningStatus = "running"
- )
- func (r ToolStateRunningStatus) IsKnown() bool {
- switch r {
- case ToolStateRunningStatusRunning:
- return true
- }
- return false
- }
- type ToolStateRunningTime struct {
- Start float64 `json:"start,required"`
- JSON toolStateRunningTimeJSON `json:"-"`
- }
- // toolStateRunningTimeJSON contains the JSON metadata for the struct
- // [ToolStateRunningTime]
- type toolStateRunningTimeJSON struct {
- Start apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *ToolStateRunningTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r toolStateRunningTimeJSON) RawJSON() string {
- return r.raw
- }
- type UserMessage struct {
- 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]
- type userMessageJSON struct {
- ID apijson.Field
- Role apijson.Field
- SessionID apijson.Field
- Time apijson.Field
- Summary apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *UserMessage) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r userMessageJSON) RawJSON() string {
- return r.raw
- }
- func (r UserMessage) implementsMessage() {}
- type UserMessageRole string
- const (
- UserMessageRoleUser UserMessageRole = "user"
- )
- func (r UserMessageRole) IsKnown() bool {
- switch r {
- case UserMessageRoleUser:
- return true
- }
- return false
- }
- type UserMessageTime struct {
- Created float64 `json:"created,required"`
- JSON userMessageTimeJSON `json:"-"`
- }
- // userMessageTimeJSON contains the JSON metadata for the struct [UserMessageTime]
- type userMessageTimeJSON struct {
- Created apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *UserMessageTime) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- 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"`
- JSON sessionCommandResponseJSON `json:"-"`
- }
- // sessionCommandResponseJSON contains the JSON metadata for the struct
- // [SessionCommandResponse]
- type sessionCommandResponseJSON struct {
- Info apijson.Field
- Parts apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionCommandResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionCommandResponseJSON) RawJSON() string {
- return r.raw
- }
- type SessionMessageResponse struct {
- Info Message `json:"info,required"`
- Parts []Part `json:"parts,required"`
- JSON sessionMessageResponseJSON `json:"-"`
- }
- // sessionMessageResponseJSON contains the JSON metadata for the struct
- // [SessionMessageResponse]
- type sessionMessageResponseJSON struct {
- Info apijson.Field
- Parts apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionMessageResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionMessageResponseJSON) RawJSON() string {
- return r.raw
- }
- type SessionMessagesResponse struct {
- Info Message `json:"info,required"`
- Parts []Part `json:"parts,required"`
- JSON sessionMessagesResponseJSON `json:"-"`
- }
- // sessionMessagesResponseJSON contains the JSON metadata for the struct
- // [SessionMessagesResponse]
- type sessionMessagesResponseJSON struct {
- Info apijson.Field
- Parts apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionMessagesResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionMessagesResponseJSON) RawJSON() string {
- return r.raw
- }
- type SessionPromptResponse struct {
- Info AssistantMessage `json:"info,required"`
- Parts []Part `json:"parts,required"`
- JSON sessionPromptResponseJSON `json:"-"`
- }
- // sessionPromptResponseJSON contains the JSON metadata for the struct
- // [SessionPromptResponse]
- type sessionPromptResponseJSON struct {
- Info apijson.Field
- Parts apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
- }
- func (r *SessionPromptResponse) UnmarshalJSON(data []byte) (err error) {
- return apijson.UnmarshalRoot(data, r)
- }
- func (r sessionPromptResponseJSON) RawJSON() string {
- return r.raw
- }
- type SessionNewParams struct {
- Directory param.Field[string] `query:"directory"`
- ParentID param.Field[string] `json:"parentID"`
- Title param.Field[string] `json:"title"`
- }
- func (r SessionNewParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionNewParams]'s query parameters as `url.Values`.
- func (r SessionNewParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionUpdateParams struct {
- Directory param.Field[string] `query:"directory"`
- Title param.Field[string] `json:"title"`
- }
- func (r SessionUpdateParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionUpdateParams]'s query parameters as `url.Values`.
- func (r SessionUpdateParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionListParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionListParams]'s query parameters as `url.Values`.
- func (r SessionListParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionDeleteParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionDeleteParams]'s query parameters as `url.Values`.
- func (r SessionDeleteParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionAbortParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionAbortParams]'s query parameters as `url.Values`.
- func (r SessionAbortParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionChildrenParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionChildrenParams]'s query parameters as `url.Values`.
- func (r SessionChildrenParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionCommandParams struct {
- Arguments param.Field[string] `json:"arguments,required"`
- Command param.Field[string] `json:"command,required"`
- Directory param.Field[string] `query:"directory"`
- Agent param.Field[string] `json:"agent"`
- MessageID param.Field[string] `json:"messageID"`
- Model param.Field[string] `json:"model"`
- }
- func (r SessionCommandParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionCommandParams]'s query parameters as `url.Values`.
- func (r SessionCommandParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionGetParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionGetParams]'s query parameters as `url.Values`.
- func (r SessionGetParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionInitParams struct {
- MessageID param.Field[string] `json:"messageID,required"`
- ModelID param.Field[string] `json:"modelID,required"`
- ProviderID param.Field[string] `json:"providerID,required"`
- Directory param.Field[string] `query:"directory"`
- }
- func (r SessionInitParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionInitParams]'s query parameters as `url.Values`.
- func (r SessionInitParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionMessageParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionMessageParams]'s query parameters as `url.Values`.
- func (r SessionMessageParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionMessagesParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionMessagesParams]'s query parameters as `url.Values`.
- func (r SessionMessagesParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionPromptParams struct {
- Parts param.Field[[]SessionPromptParamsPartUnion] `json:"parts,required"`
- Directory param.Field[string] `query:"directory"`
- 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"`
- }
- func (r SessionPromptParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionPromptParams]'s query parameters as `url.Values`.
- func (r SessionPromptParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionPromptParamsPart struct {
- Type param.Field[SessionPromptParamsPartsType] `json:"type,required"`
- ID param.Field[string] `json:"id"`
- Filename param.Field[string] `json:"filename"`
- Metadata param.Field[interface{}] `json:"metadata"`
- Mime param.Field[string] `json:"mime"`
- Name param.Field[string] `json:"name"`
- Source param.Field[interface{}] `json:"source"`
- Synthetic param.Field[bool] `json:"synthetic"`
- Text param.Field[string] `json:"text"`
- Time param.Field[interface{}] `json:"time"`
- URL param.Field[string] `json:"url"`
- }
- func (r SessionPromptParamsPart) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- func (r SessionPromptParamsPart) implementsSessionPromptParamsPartUnion() {}
- // Satisfied by [TextPartInputParam], [FilePartInputParam], [AgentPartInputParam],
- // [SessionPromptParamsPart].
- type SessionPromptParamsPartUnion interface {
- implementsSessionPromptParamsPartUnion()
- }
- type SessionPromptParamsPartsType string
- const (
- SessionPromptParamsPartsTypeText SessionPromptParamsPartsType = "text"
- SessionPromptParamsPartsTypeFile SessionPromptParamsPartsType = "file"
- SessionPromptParamsPartsTypeAgent SessionPromptParamsPartsType = "agent"
- )
- func (r SessionPromptParamsPartsType) IsKnown() bool {
- switch r {
- case SessionPromptParamsPartsTypeText, SessionPromptParamsPartsTypeFile, SessionPromptParamsPartsTypeAgent:
- return true
- }
- return false
- }
- type SessionPromptParamsModel struct {
- ModelID param.Field[string] `json:"modelID,required"`
- ProviderID param.Field[string] `json:"providerID,required"`
- }
- func (r SessionPromptParamsModel) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- type SessionRevertParams struct {
- MessageID param.Field[string] `json:"messageID,required"`
- Directory param.Field[string] `query:"directory"`
- PartID param.Field[string] `json:"partID"`
- }
- func (r SessionRevertParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionRevertParams]'s query parameters as `url.Values`.
- func (r SessionRevertParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionShareParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionShareParams]'s query parameters as `url.Values`.
- func (r SessionShareParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionShellParams struct {
- Agent param.Field[string] `json:"agent,required"`
- Command param.Field[string] `json:"command,required"`
- Directory param.Field[string] `query:"directory"`
- }
- func (r SessionShellParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionShellParams]'s query parameters as `url.Values`.
- func (r SessionShellParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionSummarizeParams struct {
- ModelID param.Field[string] `json:"modelID,required"`
- ProviderID param.Field[string] `json:"providerID,required"`
- Directory param.Field[string] `query:"directory"`
- }
- func (r SessionSummarizeParams) MarshalJSON() (data []byte, err error) {
- return apijson.MarshalRoot(r)
- }
- // URLQuery serializes [SessionSummarizeParams]'s query parameters as `url.Values`.
- func (r SessionSummarizeParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionUnrevertParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionUnrevertParams]'s query parameters as `url.Values`.
- func (r SessionUnrevertParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
- type SessionUnshareParams struct {
- Directory param.Field[string] `query:"directory"`
- }
- // URLQuery serializes [SessionUnshareParams]'s query parameters as `url.Values`.
- func (r SessionUnshareParams) URLQuery() (v url.Values) {
- return apiquery.MarshalWithSettings(r, apiquery.QuerySettings{
- ArrayFormat: apiquery.ArrayQueryFormatComma,
- NestedFormat: apiquery.NestedQueryFormatBrackets,
- })
- }
|