diff --git a/cmd/lk/analytics_test.go b/cmd/lk/analytics_test.go index 3ec0d724..a8f57e9c 100644 --- a/cmd/lk/analytics_test.go +++ b/cmd/lk/analytics_test.go @@ -422,7 +422,7 @@ func participantsAPI(t *testing.T, status int, body string) (*public.Client, *ur t.Helper() var query url.Values srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.URL.Path != "/v1/projects/p1/sessions/RM_1/participants" || r.Header.Get("Authorization") != "Bearer sekret" { + if r.URL.Path != "/v0/projects/p1/sessions/RM_1/participants" || r.Header.Get("Authorization") != "Bearer sekret" { http.NotFound(w, r) return } @@ -611,7 +611,7 @@ func recordingServers(t *testing.T, audio []byte, chatHistory string) (api *publ t.Cleanup(store.Close) apiSrv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.URL.Path != "/v1/projects/p1/sessions/RM_1/recording-url" || r.Header.Get("Authorization") != "Bearer sekret" { + if r.URL.Path != "/v0/projects/p1/sessions/RM_1/recording-url" || r.Header.Get("Authorization") != "Bearer sekret" { http.NotFound(w, r) return } @@ -931,10 +931,10 @@ func transcriptAPI(t *testing.T, transcriptStatus int, transcript, session strin } w.Header().Set("Content-Type", "application/json") switch r.URL.Path { - case "/v1/projects/p1/sessions/RM_1/transcript": + case "/v0/projects/p1/sessions/RM_1/transcript": w.WriteHeader(transcriptStatus) _, _ = w.Write([]byte(transcript)) - case "/v1/projects/p1/sessions/RM_1": + case "/v0/projects/p1/sessions/RM_1": _, _ = fmt.Fprintf(w, `{"session":%s}`, session) default: http.NotFound(w, r) @@ -970,21 +970,21 @@ func TestFetchSessionTranscript(t *testing.T) { body: page, wantOut: []string{"USER hi (end_of_turn 320ms)", "AGENT hello (e2e 820ms)"}, wantStatus: []string{"More items available — re-run with --cursor c2"}, - wantPaths: []string{"/v1/projects/p1/sessions/RM_1/transcript"}, + wantPaths: []string{"/v0/projects/p1/sessions/RM_1/transcript"}, }, { name: "active session", body: `{"items":[]}`, session: `{"sessionId":"RM_1","status":"SESSION_STATUS_ACTIVE"}`, wantStatus: []string{"Session RM_1 is still active", "appears after it ends"}, - wantPaths: []string{"/v1/projects/p1/sessions/RM_1/transcript", "/v1/projects/p1/sessions/RM_1"}, + wantPaths: []string{"/v0/projects/p1/sessions/RM_1/transcript", "/v0/projects/p1/sessions/RM_1"}, }, { name: "closed session", body: `{}`, session: `{"sessionId":"RM_1","status":"SESSION_STATUS_CLOSED"}`, wantStatus: []string{"Session RM_1 has no transcript to read", "a minute or two after the session ends"}, - wantPaths: []string{"/v1/projects/p1/sessions/RM_1/transcript", "/v1/projects/p1/sessions/RM_1"}, + wantPaths: []string{"/v0/projects/p1/sessions/RM_1/transcript", "/v0/projects/p1/sessions/RM_1"}, }, { // A session that stopped reporting stays ACTIVE but has an end time. @@ -993,14 +993,14 @@ func TestFetchSessionTranscript(t *testing.T) { session: `{"sessionId":"RM_1","status":"SESSION_STATUS_ACTIVE","endedAt":"2026-10-07T11:05:00Z"}`, wantStatus: []string{"Session RM_1 has no transcript to read"}, noStatus: []string{"still active"}, - wantPaths: []string{"/v1/projects/p1/sessions/RM_1/transcript", "/v1/projects/p1/sessions/RM_1"}, + wantPaths: []string{"/v0/projects/p1/sessions/RM_1/transcript", "/v0/projects/p1/sessions/RM_1"}, }, { name: "last page", body: `{"items":[]}`, opts: public.PageOptions{Cursor: "c2"}, wantStatus: []string{"No more transcript items"}, - wantPaths: []string{"/v1/projects/p1/sessions/RM_1/transcript"}, + wantPaths: []string{"/v0/projects/p1/sessions/RM_1/transcript"}, }, { name: "no items, more to read", @@ -1008,7 +1008,7 @@ func TestFetchSessionTranscript(t *testing.T) { session: `{"sessionId":"RM_1","status":"SESSION_STATUS_ACTIVE"}`, wantStatus: []string{"2 records couldn't be read", "More items available — re-run with --cursor c2"}, noStatus: []string{"still active", "no transcript"}, - wantPaths: []string{"/v1/projects/p1/sessions/RM_1/transcript"}, + wantPaths: []string{"/v0/projects/p1/sessions/RM_1/transcript"}, }, } for _, tt := range tests { @@ -1181,7 +1181,7 @@ func logsAPI(t *testing.T, status int, body string) (*public.Client, *url.Values t.Helper() var query url.Values srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v1/projects/p1/sessions/RM_1/logs" { + if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v0/projects/p1/sessions/RM_1/logs" { http.NotFound(w, r) return } @@ -1403,7 +1403,7 @@ func tracesAPI(t *testing.T, status int, pages map[string]string) (*public.Clien t.Helper() var queries []url.Values srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v1/projects/p1/sessions/RM_1/traces" { + if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v0/projects/p1/sessions/RM_1/traces" { http.NotFound(w, r) return } @@ -1670,7 +1670,7 @@ func metricsAPI(t *testing.T, status int, body string) (*public.Client, *url.Val t.Helper() var query url.Values srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v1/projects/p1/sessions/RM_1/metrics" { + if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v0/projects/p1/sessions/RM_1/metrics" { http.NotFound(w, r) return } @@ -1907,7 +1907,7 @@ func eventsAPI(t *testing.T, status int, body string) (*public.Client, *url.Valu t.Helper() var query url.Values srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v1/projects/p1/sessions/RM_1/events" { + if r.Header.Get("Authorization") != "Bearer sekret" || r.URL.Path != "/v0/projects/p1/sessions/RM_1/events" { http.NotFound(w, r) return } diff --git a/pkg/public/analytics_test.go b/pkg/public/analytics_test.go index 0bba135c..e5f43807 100644 --- a/pkg/public/analytics_test.go +++ b/pkg/public/analytics_test.go @@ -90,7 +90,7 @@ func TestListProjectSessionsQuery(t *testing.T) { sessions, next, err := c.ListProjectSessions(context.Background(), "p1", tt.opts) require.NoError(t, err) - assert.Equal(t, "/v1/projects/p1/sessions", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions", gotPath) assert.Equal(t, tt.want, gotQuery) require.Len(t, sessions, 1) assert.Equal(t, "RM_1", *sessions[0].SessionId) @@ -158,7 +158,7 @@ func TestGetSessionReturnsDetail(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1", gotPath) assert.Equal(t, "RM_1", *session.SessionId) if !tt.wantDetail { assert.Nil(t, detail) @@ -216,7 +216,7 @@ func TestListSessionParticipantsQuery(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/participants", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/participants", gotPath) assert.Equal(t, tt.want, gotQuery) require.Len(t, participants, 1) assert.Equal(t, "alice", *participants[0].ParticipantIdentity) @@ -324,7 +324,7 @@ func TestListSessionEvents(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/events", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/events", gotPath) assert.Equal(t, tt.want, gotQuery) assert.Equal(t, "next", page.NextCursor) diff --git a/pkg/public/client.go b/pkg/public/client.go index 7634b182..33204c09 100644 --- a/pkg/public/client.go +++ b/pkg/public/client.go @@ -35,7 +35,7 @@ import ( // DefaultBaseURL is the base URL of the LiveKit Public API. Override it (e.g. to // http://localhost:8000) for local development. The generated operation paths -// already include the /v1 prefix, so this is the host root. +// already include the /v0 prefix, so this is the host root. const DefaultBaseURL = "https://beta-api.livekit.cloud" // Client is the CLI's user-authenticated Public API client. diff --git a/pkg/public/client_test.go b/pkg/public/client_test.go index d227651e..09e3d000 100644 --- a/pkg/public/client_test.go +++ b/pkg/public/client_test.go @@ -167,7 +167,7 @@ func TestGetProject(t *testing.T) { require.NotNil(t, p) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1", gotPath) + assert.Equal(t, "/v0/projects/p1", gotPath) require.NotNil(t, p.Id) assert.Equal(t, "p1", *p.Id) require.NotNil(t, p.Name) diff --git a/pkg/public/gen.go b/pkg/public/gen.go index c8348aac..209a0b57 100644 --- a/pkg/public/gen.go +++ b/pkg/public/gen.go @@ -17,7 +17,7 @@ // // # Source of truth // -// The spec is served by the API itself at /v1/openapi and fetched at +// The spec is served by the API itself at /v0/openapi and fetched at // generate time — no copy is kept in the repo. The base defaults to production // (https://beta-api.livekit.cloud); override it for a local/staging server: // diff --git a/pkg/public/keys_test.go b/pkg/public/keys_test.go index c4e0b096..ecb5f02a 100644 --- a/pkg/public/keys_test.go +++ b/pkg/public/keys_test.go @@ -36,7 +36,7 @@ func TestGenerateKey(t *testing.T) { key, err := c.GenerateKey(context.Background(), "p_1", "ci", true) require.NoError(t, err) - assert.Equal(t, "/v1/projects/p_1/keys", path) + assert.Equal(t, "/v0/projects/p_1/keys", path) assert.Equal(t, "APIabc", *key.ApiKey) assert.Equal(t, "s3cret", *key.Secret) } @@ -49,7 +49,7 @@ func TestListScopedKeys(t *testing.T) { personal, other, err := c.ListScopedKeys(context.Background(), "p_1") require.NoError(t, err) - assert.Equal(t, "/v1/projects/p_1/scoped-keys", path) + assert.Equal(t, "/v0/projects/p_1/scoped-keys", path) require.Len(t, personal, 1) assert.Equal(t, "APIme", *personal[0].ApiKey) assert.Len(t, other, 2) @@ -67,7 +67,7 @@ func TestDeleteKeyError(t *testing.T) { func TestCreateToken(t *testing.T) { var gotBody map[string]any srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - assert.Equal(t, "/v1/projects/p_1/tokens", r.URL.Path) + assert.Equal(t, "/v0/projects/p_1/tokens", r.URL.Path) require.NoError(t, json.NewDecoder(r.Body).Decode(&gotBody)) w.Header().Set("Content-Type", "application/json") _, _ = w.Write([]byte(`{"token":"jwt","expiresAt":"2030-01-01T00:00:00Z"}`)) diff --git a/pkg/public/oapi/generate.sh b/pkg/public/oapi/generate.sh index ac12dd8b..7edbd5cb 100644 --- a/pkg/public/oapi/generate.sh +++ b/pkg/public/oapi/generate.sh @@ -1,7 +1,7 @@ #!/bin/sh # Regenerates oapi.gen.go from the LiveKit Public API OpenAPI spec. # -# The spec is served by the API itself at /v1/openapi. The base defaults +# The spec is served by the API itself at /v0/openapi. The base defaults # to production; override it for a local/staging server with LK_PUBLIC_API_URL. # The directive is gated behind the `oapigen` build tag, so regenerate # deliberately with: @@ -14,7 +14,7 @@ set -eu BASE_URL="${LK_PUBLIC_API_URL:-https://beta-api.livekit.cloud}" -SPEC_URL="${BASE_URL}/v1/openapi" +SPEC_URL="${BASE_URL}/v0/openapi" TMP="$(mktemp -d)" trap 'rm -rf "$TMP"' EXIT diff --git a/pkg/public/oapi/oapi.gen.go b/pkg/public/oapi/oapi.gen.go index 4e3e84ea..7f111f0e 100644 --- a/pkg/public/oapi/oapi.gen.go +++ b/pkg/public/oapi/oapi.gen.go @@ -488,6 +488,33 @@ func (e LivekitVideoCodec) Valid() bool { } } +// Defines values for LivekitAgentAgentTaskStatus. +const ( + CANCELED LivekitAgentAgentTaskStatus = "CANCELED" + COMPLETED LivekitAgentAgentTaskStatus = "COMPLETED" + FAILED LivekitAgentAgentTaskStatus = "FAILED" + RUNNING LivekitAgentAgentTaskStatus = "RUNNING" + UNSPECIFIED LivekitAgentAgentTaskStatus = "UNSPECIFIED" +) + +// Valid indicates whether the value is a known member of the LivekitAgentAgentTaskStatus enum. +func (e LivekitAgentAgentTaskStatus) Valid() bool { + switch e { + case CANCELED: + return true + case COMPLETED: + return true + case FAILED: + return true + case RUNNING: + return true + case UNSPECIFIED: + return true + default: + return false + } +} + // Defines values for LivekitAgentChatRole. const ( ASSISTANT LivekitAgentChatRole = "ASSISTANT" @@ -892,6 +919,198 @@ type GoogleProtobufValue4 = []interface{} // GoogleProtobufValue5 defines model for GoogleProtobufValue.5. type GoogleProtobufValue5 map[string]interface{} +// LivekitAgentDBAgentDatabase One database, as get and list both report it. +type LivekitAgentDBAgentDatabase struct { + // CreatedAt A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + DatabaseId *string `json:"databaseId,omitempty"` + + // ExpiresAt A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` + Region *string `json:"region,omitempty"` + Tip *string `json:"tip,omitempty"` +} + // LivekitAliOSSUpload defines model for livekit.AliOSSUpload. type LivekitAliOSSUpload struct { AccessKey *string `json:"accessKey,omitempty"` @@ -1562,7 +1781,7 @@ type LivekitSimulationRun struct { ProjectId *string `json:"projectId,omitempty"` // Sampling Absent when the run ran each scenario once and required it to pass. - Sampling *LivekitSimulationRunSampling `json:"sampling,omitempty"` + Sampling *LivekitSimulationRunSamplingOptions `json:"sampling,omitempty"` // ScenarioGroup A named group of scenarios, mirroring a whole scenarios.yaml file. ScenarioGroup *LivekitScenarioGroup `json:"scenarioGroup,omitempty"` @@ -2144,10 +2363,10 @@ type LivekitSimulationRunRunMetrics struct { Tts *LivekitSimulationRunJobMetricsTTS `json:"tts,omitempty"` } -// LivekitSimulationRunSampling Runs each scenario more than once, so a flaky sample is distinguishable +// LivekitSimulationRunSamplingOptions Runs each scenario more than once, so a flaky sample is distinguishable // // from a broken scenario. Both fields are required when it is present. -type LivekitSimulationRunSampling struct { +type LivekitSimulationRunSamplingOptions struct { // PassRate The share of a scenario's samples that must pass for that scenario to // pass, 0-1. A scenario needs round(rate × samples) of them, so 1 // requires every sample and 0.67 of 3 requires 2. @@ -2405,49 +2624,20 @@ type LivekitAgentAgentHandoff struct { OldAgentId *string `json:"oldAgentId,omitempty"` } -// LivekitAgentChatContext defines model for livekit.agent.ChatContext. -type LivekitAgentChatContext struct { - Items *[]LivekitAgentChatContextChatItem `json:"items,omitempty"` -} - -// LivekitAgentChatContextChatItem defines model for livekit.agent.ChatContext.ChatItem. -type LivekitAgentChatContextChatItem struct { - union json.RawMessage -} - -// LivekitAgentChatContextChatItem0 defines model for LivekitAgentChatContextChatItem.0. -type LivekitAgentChatContextChatItem0 struct { - AgentConfigUpdate LivekitAgentAgentConfigUpdate `json:"agentConfigUpdate"` -} - -// LivekitAgentChatContextChatItem1 defines model for LivekitAgentChatContextChatItem.1. -type LivekitAgentChatContextChatItem1 struct { - AgentHandoff LivekitAgentAgentHandoff `json:"agentHandoff"` -} - -// LivekitAgentChatContextChatItem2 defines model for LivekitAgentChatContextChatItem.2. -type LivekitAgentChatContextChatItem2 struct { - FunctionCall LivekitAgentFunctionCall `json:"functionCall"` -} - -// LivekitAgentChatContextChatItem3 defines model for LivekitAgentChatContextChatItem.3. -type LivekitAgentChatContextChatItem3 struct { - FunctionCallOutput LivekitAgentFunctionCallOutput `json:"functionCallOutput"` -} - -// LivekitAgentChatContextChatItem4 defines model for LivekitAgentChatContextChatItem.4. -type LivekitAgentChatContextChatItem4 struct { - Message LivekitAgentChatMessage `json:"message"` -} +// LivekitAgentAgentTaskStatus A task is never UNSPECIFIED. +type LivekitAgentAgentTaskStatus string -// LivekitAgentChatContextChatItem5 defines model for LivekitAgentChatContextChatItem.5. -type LivekitAgentChatContextChatItem5 = interface{} +// LivekitAgentAgentTaskTask defines model for livekit.agent.AgentTask.Task. +type LivekitAgentAgentTaskTask struct { + // Name The task's name, as the agent defines it. + Name *string `json:"name,omitempty"` -// LivekitAgentChatMessage defines model for livekit.agent.ChatMessage. -type LivekitAgentChatMessage struct { - Content *[]LivekitAgentChatMessageChatContent `json:"content,omitempty"` + // Status A task is never UNSPECIFIED. + Status *LivekitAgentAgentTaskStatus `json:"status,omitempty"` + TaskId *string `json:"taskId,omitempty"` + ThreadId *string `json:"threadId,omitempty"` - // CreatedAt A Timestamp represents a point in time independent of any time zone or local + // UpdatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -2538,35 +2728,26 @@ type LivekitAgentChatMessage struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - Extra *map[string]string `json:"extra,omitempty"` - Id *string `json:"id,omitempty"` - Interrupted *bool `json:"interrupted,omitempty"` - Metrics *LivekitAgentMetricsReport `json:"metrics,omitempty"` - Role *LivekitAgentChatRole `json:"role,omitempty"` - TranscriptConfidence *float64 `json:"transcriptConfidence,omitempty"` + UpdatedAt *GoogleProtobufTimestamp `json:"updatedAt,omitempty"` } -// LivekitAgentChatMessageChatContent defines model for livekit.agent.ChatMessage.ChatContent. -type LivekitAgentChatMessageChatContent struct { - union json.RawMessage -} +// LivekitAgentAgentThreadItem One chat item of an agent. Stored as the JSON of +// +// ChatContext.ChatItem (items.payload in thread_schema_v1.sql). +type LivekitAgentAgentThreadItem struct { + Agent *string `json:"agent,omitempty"` + Item *LivekitAgentChatContextChatItem `json:"item,omitempty"` -// LivekitAgentChatMessageChatContent0 defines model for LivekitAgentChatMessageChatContent.0. -type LivekitAgentChatMessageChatContent0 struct { - Text string `json:"text"` -} + // MessageId The A2A message the item came from. + MessageId *string `json:"messageId,omitempty"` -// LivekitAgentChatMessageChatContent1 defines model for LivekitAgentChatMessageChatContent.1. -type LivekitAgentChatMessageChatContent1 = interface{} - -// LivekitAgentChatRole defines model for livekit.agent.ChatRole. -type LivekitAgentChatRole string + // Seq Position in the agent's history. + Seq *string `json:"seq,omitempty"` +} -// LivekitAgentFunctionCall defines model for livekit.agent.FunctionCall. -type LivekitAgentFunctionCall struct { - Arguments *string `json:"arguments,omitempty"` - CallId *string `json:"callId,omitempty"` +// LivekitAgentAgentThreadThread defines model for livekit.agent.AgentThread.Thread. +type LivekitAgentAgentThreadThread struct { + Attributes *map[string]string `json:"attributes,omitempty"` // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at @@ -2660,15 +2841,26 @@ type LivekitAgentFunctionCall struct { // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - Id *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` -} -// LivekitAgentFunctionCallOutput defines model for livekit.agent.FunctionCallOutput. -type LivekitAgentFunctionCallOutput struct { - CallId *string `json:"callId,omitempty"` + // DatabaseId The thread's database ("DB_..."), created with the thread. + DatabaseId *string `json:"databaseId,omitempty"` - // CreatedAt A Timestamp represents a point in time independent of any time zone or local + // ExpiresAt last_active + idle_ttl; every update pushes it out. The thread and its + // database are deleted once it passes. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` + + // IdleTtl A span of time as protobuf JSON encodes it: seconds with an "s" suffix, + // e.g. "86400s" for a day. Responses carry 0, 3, 6 or 9 fractional + // digits ("1.500s", "0.000000001s"); requests may use 1 to 9. At most + // 315576000000 seconds either way. Not an ISO 8601 duration ("P1D" is + // rejected). + // + // Examples: 86400s, 1.500s, 0.000000001s + IdleTtl *GoogleProtobufDuration `json:"idleTtl,omitempty"` + + // LastActive A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -2759,23 +2951,54 @@ type LivekitAgentFunctionCallOutput struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - Id *string `json:"id,omitempty"` - IsError *bool `json:"isError,omitempty"` - Name *string `json:"name,omitempty"` - Output *string `json:"output,omitempty"` + LastActive *GoogleProtobufTimestamp `json:"lastActive,omitempty"` + Scope *string `json:"scope,omitempty"` + ThreadId *string `json:"threadId,omitempty"` } -// LivekitAgentMetricsReport defines model for livekit.agent.MetricsReport. -type LivekitAgentMetricsReport struct { - E2eLatency *float64 `json:"e2eLatency,omitempty"` - EndOfTurnDelay *float64 `json:"endOfTurnDelay,omitempty"` - LlmNodeTps *float64 `json:"llmNodeTps,omitempty"` - LlmNodeTtfs *float64 `json:"llmNodeTtfs,omitempty"` - LlmNodeTtft *float64 `json:"llmNodeTtft,omitempty"` - OnUserTurnCompletedDelay *float64 `json:"onUserTurnCompletedDelay,omitempty"` +// LivekitAgentChatContext defines model for livekit.agent.ChatContext. +type LivekitAgentChatContext struct { + Items *[]LivekitAgentChatContextChatItem `json:"items,omitempty"` +} - // StartedSpeakingAt A Timestamp represents a point in time independent of any time zone or local +// LivekitAgentChatContextChatItem defines model for livekit.agent.ChatContext.ChatItem. +type LivekitAgentChatContextChatItem struct { + union json.RawMessage +} + +// LivekitAgentChatContextChatItem0 defines model for LivekitAgentChatContextChatItem.0. +type LivekitAgentChatContextChatItem0 struct { + AgentConfigUpdate LivekitAgentAgentConfigUpdate `json:"agentConfigUpdate"` +} + +// LivekitAgentChatContextChatItem1 defines model for LivekitAgentChatContextChatItem.1. +type LivekitAgentChatContextChatItem1 struct { + AgentHandoff LivekitAgentAgentHandoff `json:"agentHandoff"` +} + +// LivekitAgentChatContextChatItem2 defines model for LivekitAgentChatContextChatItem.2. +type LivekitAgentChatContextChatItem2 struct { + FunctionCall LivekitAgentFunctionCall `json:"functionCall"` +} + +// LivekitAgentChatContextChatItem3 defines model for LivekitAgentChatContextChatItem.3. +type LivekitAgentChatContextChatItem3 struct { + FunctionCallOutput LivekitAgentFunctionCallOutput `json:"functionCallOutput"` +} + +// LivekitAgentChatContextChatItem4 defines model for LivekitAgentChatContextChatItem.4. +type LivekitAgentChatContextChatItem4 struct { + Message LivekitAgentChatMessage `json:"message"` +} + +// LivekitAgentChatContextChatItem5 defines model for LivekitAgentChatContextChatItem.5. +type LivekitAgentChatContextChatItem5 = interface{} + +// LivekitAgentChatMessage defines model for livekit.agent.ChatMessage. +type LivekitAgentChatMessage struct { + Content *[]LivekitAgentChatMessageChatContent `json:"content,omitempty"` + + // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -2866,9 +3089,37 @@ type LivekitAgentMetricsReport struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StartedSpeakingAt *GoogleProtobufTimestamp `json:"startedSpeakingAt,omitempty"` + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + Extra *map[string]string `json:"extra,omitempty"` + Id *string `json:"id,omitempty"` + Interrupted *bool `json:"interrupted,omitempty"` + Metrics *LivekitAgentMetricsReport `json:"metrics,omitempty"` + Role *LivekitAgentChatRole `json:"role,omitempty"` + TranscriptConfidence *float64 `json:"transcriptConfidence,omitempty"` +} - // StoppedSpeakingAt A Timestamp represents a point in time independent of any time zone or local +// LivekitAgentChatMessageChatContent defines model for livekit.agent.ChatMessage.ChatContent. +type LivekitAgentChatMessageChatContent struct { + union json.RawMessage +} + +// LivekitAgentChatMessageChatContent0 defines model for LivekitAgentChatMessageChatContent.0. +type LivekitAgentChatMessageChatContent0 struct { + Text string `json:"text"` +} + +// LivekitAgentChatMessageChatContent1 defines model for LivekitAgentChatMessageChatContent.1. +type LivekitAgentChatMessageChatContent1 = interface{} + +// LivekitAgentChatRole defines model for livekit.agent.ChatRole. +type LivekitAgentChatRole string + +// LivekitAgentFunctionCall defines model for livekit.agent.FunctionCall. +type LivekitAgentFunctionCall struct { + Arguments *string `json:"arguments,omitempty"` + CallId *string `json:"callId,omitempty"` + + // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -2959,79 +3210,16 @@ type LivekitAgentMetricsReport struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StoppedSpeakingAt *GoogleProtobufTimestamp `json:"stoppedSpeakingAt,omitempty"` - TranscriptionDelay *float64 `json:"transcriptionDelay,omitempty"` - TtsNodeTtfb *float64 `json:"ttsNodeTtfb,omitempty"` -} - -// LivekitPublicapiAnalyticsV1AgentAnalytics AgentAnalytics is one agent's analytics over a time range. Common concerns are -// -// grouped so they read the same whether you fetch one agent or the whole roster: -// `sessions`, `performance`, and `usage` are always found under those names. -type LivekitPublicapiAnalyticsV1AgentAnalytics struct { - AgentId *string `json:"agentId,omitempty"` - AgentName *string `json:"agentName,omitempty"` - Performance *LivekitPublicapiAnalyticsV1AgentAnalyticsPerformance `json:"performance,omitempty"` - Region *string `json:"region,omitempty"` - Sessions *LivekitPublicapiAnalyticsV1AgentAnalyticsSessions `json:"sessions,omitempty"` - Status *string `json:"status,omitempty"` - Usage *LivekitPublicapiAnalyticsV1AgentAnalyticsUsage `json:"usage,omitempty"` -} - -// LivekitPublicapiAnalyticsV1AgentAnalyticsPerformance defines model for livekit.publicapi.analytics.v1.AgentAnalytics.Performance. -type LivekitPublicapiAnalyticsV1AgentAnalyticsPerformance struct { - // InterruptedRate Fraction 0..1 of turns the user interrupted the agent. - InterruptedRate *float64 `json:"interruptedRate,omitempty"` - - // JoinLatency Percentiles is a p50/p90/p99 triple in milliseconds. - JoinLatency *LivekitPublicapiAnalyticsV1Percentiles `json:"joinLatency,omitempty"` - - // Latency LatencyBreakdown is where an average agent reply's time goes, in milliseconds. - Latency *LivekitPublicapiAnalyticsV1LatencyBreakdown `json:"latency,omitempty"` - Turns *string `json:"turns,omitempty"` -} - -// LivekitPublicapiAnalyticsV1AgentAnalyticsSessions defines model for livekit.publicapi.analytics.v1.AgentAnalytics.Sessions. -type LivekitPublicapiAnalyticsV1AgentAnalyticsSessions struct { - Active *string `json:"active,omitempty"` - DispatchErrors *string `json:"dispatchErrors,omitempty"` - - // Estimate Set when `total` is an approximation; carries its tolerance. - Estimate *LivekitPublicapiAnalyticsV1Estimate `json:"estimate,omitempty"` - Total *string `json:"total,omitempty"` -} - -// LivekitPublicapiAnalyticsV1AgentAnalyticsUsage defines model for livekit.publicapi.analytics.v1.AgentAnalytics.Usage. -type LivekitPublicapiAnalyticsV1AgentAnalyticsUsage struct { - AvgTokensPerSession *string `json:"avgTokensPerSession,omitempty"` - Models *[]LivekitPublicapiAnalyticsV1ModelUsage `json:"models,omitempty"` -} - -// LivekitPublicapiAnalyticsV1AgentsGetResponse defines model for livekit.publicapi.analytics.v1.Agents.Get.Response. -type LivekitPublicapiAnalyticsV1AgentsGetResponse struct { - // Analytics AgentAnalytics is one agent's analytics over a time range. Common concerns are - // grouped so they read the same whether you fetch one agent or the whole roster: - // `sessions`, `performance`, and `usage` are always found under those names. - Analytics *LivekitPublicapiAnalyticsV1AgentAnalytics `json:"analytics,omitempty"` -} - -// LivekitPublicapiAnalyticsV1AgentsListResponse defines model for livekit.publicapi.analytics.v1.Agents.List.Response. -type LivekitPublicapiAnalyticsV1AgentsListResponse struct { - Items *[]LivekitPublicapiAnalyticsV1AgentAnalytics `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` } -// LivekitPublicapiAnalyticsV1CountryCount CountryCount is a per-country connection count for the top-countries breakdown. -type LivekitPublicapiAnalyticsV1CountryCount struct { - Count *string `json:"count,omitempty"` - Name *string `json:"name,omitempty"` -} +// LivekitAgentFunctionCallOutput defines model for livekit.agent.FunctionCallOutput. +type LivekitAgentFunctionCallOutput struct { + CallId *string `json:"callId,omitempty"` -// LivekitPublicapiAnalyticsV1DataPoint DataPoint is one point of a per-session time series (quality, bandwidth, fps). -type LivekitPublicapiAnalyticsV1DataPoint struct { - // Timestamp A Timestamp represents a point in time independent of any time zone or local + // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -3122,205 +3310,27 @@ type LivekitPublicapiAnalyticsV1DataPoint struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` - Value *float64 `json:"value,omitempty"` -} - -// LivekitPublicapiAnalyticsV1Estimate Estimate flags a value that is approximate over large windows, with its -// -// tolerance. A consumer should not treat an estimated value as exact. -type LivekitPublicapiAnalyticsV1Estimate struct { - // ErrorMargin Fractional tolerance (e.g. 0.01 for +/-1%). Zero when unknown. - ErrorMargin *float64 `json:"errorMargin,omitempty"` - IsEstimate *bool `json:"isEstimate,omitempty"` -} - -// LivekitPublicapiAnalyticsV1LatencyBreakdown LatencyBreakdown is where an average agent reply's time goes, in milliseconds. -type LivekitPublicapiAnalyticsV1LatencyBreakdown struct { - AvgReplyMs *float64 `json:"avgReplyMs,omitempty"` - EouMs *float64 `json:"eouMs,omitempty"` - LlmTtftMs *float64 `json:"llmTtftMs,omitempty"` - SttDelayMs *float64 `json:"sttDelayMs,omitempty"` - TtsTtfbMs *float64 `json:"ttsTtfbMs,omitempty"` + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + Id *string `json:"id,omitempty"` + IsError *bool `json:"isError,omitempty"` + Name *string `json:"name,omitempty"` + Output *string `json:"output,omitempty"` } -// LivekitPublicapiAnalyticsV1ModelUsage ModelUsage is per-model usage over the window. `component` is the stage the -// -// model served (llm, tts, realtime); latency is TTFT for llm/realtime rows and -// TTFB for tts rows. -type LivekitPublicapiAnalyticsV1ModelUsage struct { - CachedTokens *string `json:"cachedTokens,omitempty"` - Component *string `json:"component,omitempty"` - InTokens *string `json:"inTokens,omitempty"` - LatencyP50Ms *float64 `json:"latencyP50Ms,omitempty"` - LatencyP95Ms *float64 `json:"latencyP95Ms,omitempty"` - Model *string `json:"model,omitempty"` - OutTokens *string `json:"outTokens,omitempty"` - Provider *string `json:"provider,omitempty"` - Requests *string `json:"requests,omitempty"` - Sessions *string `json:"sessions,omitempty"` - TtsChars *string `json:"ttsChars,omitempty"` -} +// LivekitAgentMetricsReport defines model for livekit.agent.MetricsReport. +type LivekitAgentMetricsReport struct { + E2eLatency *float64 `json:"e2eLatency,omitempty"` + EndOfTurnDelay *float64 `json:"endOfTurnDelay,omitempty"` + LlmNodeTps *float64 `json:"llmNodeTps,omitempty"` + LlmNodeTtfs *float64 `json:"llmNodeTtfs,omitempty"` + LlmNodeTtft *float64 `json:"llmNodeTtft,omitempty"` + OnUserTurnCompletedDelay *float64 `json:"onUserTurnCompletedDelay,omitempty"` -// LivekitPublicapiAnalyticsV1ParticipantInfo ParticipantInfo is one participant identity of a room session, as the -// -// dashboard's participants table shows it. -type LivekitPublicapiAnalyticsV1ParticipantInfo struct { - // JoinedAt First join across the identity's connections. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - JoinedAt *GoogleProtobufTimestamp `json:"joinedAt,omitempty"` - - // LeftAt Last leave across the identity's connections; unset while no leave is - // recorded, so a participant of an active session with no left_at may still - // be connected. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - LeftAt *GoogleProtobufTimestamp `json:"leftAt,omitempty"` - - // Location Country name, e.g. "United States"; "Unknown" when the rollup has none. - Location *string `json:"location,omitempty"` - ParticipantIdentity *string `json:"participantIdentity,omitempty"` - ParticipantName *string `json:"participantName,omitempty"` - - // PublishedSources Which track sources the participant published during the session. - PublishedSources *LivekitPublicapiAnalyticsV1PublishedSources `json:"publishedSources,omitempty"` - - // Region LiveKit region display name; "Unknown" when the region isn't recognized. - Region *string `json:"region,omitempty"` - - // Sessions The participant's participant sessions, oldest join first: one per - // connection, so each reconnect adds one. At most 50: a participant that - // reconnected more often has its oldest 50 here. Empty when they couldn't be - // read; the rest of the row still returns. - Sessions *[]LivekitPublicapiAnalyticsV1ParticipantSession `json:"sessions,omitempty"` -} - -// LivekitPublicapiAnalyticsV1ParticipantSession ParticipantSession is one participant session of a participant: one -// -// join-to-leave stretch, identified by its participant session id (PA_...), -// with the client it connected from. A participant that reconnects, from the -// same device or another, has several. -type LivekitPublicapiAnalyticsV1ParticipantSession struct { - // Browser Client browser, e.g. "chrome". - Browser *string `json:"browser,omitempty"` - - // ConnectionTimeMs Milliseconds the client took to connect. - ConnectionTimeMs *int32 `json:"connectionTimeMs,omitempty"` - - // ConnectionType Transport the client connected over: "UDP", "TCP" or "TURN"; empty when - // not reported. - ConnectionType *string `json:"connectionType,omitempty"` - - // DeviceModel Client device model, e.g. "iPhone 15". - DeviceModel *string `json:"deviceModel,omitempty"` - - // DurationSeconds Seconds from joined_at to left_at, as the dashboard counts them. While no - // leave is recorded, to the session's end once it has one, else to now. - DurationSeconds *string `json:"durationSeconds,omitempty"` - - // JoinedAt When this participant session joined. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - JoinedAt *GoogleProtobufTimestamp `json:"joinedAt,omitempty"` - - // LeftAt When it left; unset while no leave is recorded. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - LeftAt *GoogleProtobufTimestamp `json:"leftAt,omitempty"` - - // Location Country name, e.g. "United States"; "Unknown" when the rollup has none. - Location *string `json:"location,omitempty"` - - // Os Client operating system: "ios", "android", "windows", "mac" or "linux"; - // empty when not reported. - Os *string `json:"os,omitempty"` - - // ParticipantSessionId The participant session id (PA_...). - ParticipantSessionId *string `json:"participantSessionId,omitempty"` - - // Region LiveKit region display name; "Unknown" when the region isn't recognized. - Region *string `json:"region,omitempty"` - - // SdkVersion LiveKit client SDK version, e.g. "2.6.1". The SDK's name isn't recorded. - SdkVersion *string `json:"sdkVersion,omitempty"` -} - -// LivekitPublicapiAnalyticsV1ParticipantSortField ParticipantSortField is the column a participant listing is ordered by. -type LivekitPublicapiAnalyticsV1ParticipantSortField string - -// LivekitPublicapiAnalyticsV1Percentiles Percentiles is a p50/p90/p99 triple in milliseconds. -type LivekitPublicapiAnalyticsV1Percentiles struct { - P50Ms *float64 `json:"p50Ms,omitempty"` - P90Ms *float64 `json:"p90Ms,omitempty"` - P99Ms *float64 `json:"p99Ms,omitempty"` -} - -// LivekitPublicapiAnalyticsV1PlatformShare PlatformShare is a per-platform share of connections (fraction 0..1). -type LivekitPublicapiAnalyticsV1PlatformShare struct { - Name *string `json:"name,omitempty"` - Share *float64 `json:"share,omitempty"` -} - -// LivekitPublicapiAnalyticsV1ProjectAnalytics ProjectAnalytics is the project overview over a time range, grouped the same -// -// way: `sessions` and `participants`. -type LivekitPublicapiAnalyticsV1ProjectAnalytics struct { - Participants *LivekitPublicapiAnalyticsV1ProjectAnalyticsParticipants `json:"participants,omitempty"` - Sessions *LivekitPublicapiAnalyticsV1ProjectAnalyticsSessions `json:"sessions,omitempty"` -} - -// LivekitPublicapiAnalyticsV1ProjectAnalyticsParticipants defines model for livekit.publicapi.analytics.v1.ProjectAnalytics.Participants. -type LivekitPublicapiAnalyticsV1ProjectAnalyticsParticipants struct { - Platforms *[]LivekitPublicapiAnalyticsV1PlatformShare `json:"platforms,omitempty"` - TopCountries *[]LivekitPublicapiAnalyticsV1CountryCount `json:"topCountries,omitempty"` - Total *string `json:"total,omitempty"` -} - -// LivekitPublicapiAnalyticsV1ProjectAnalyticsSessions defines model for livekit.publicapi.analytics.v1.ProjectAnalytics.Sessions. -type LivekitPublicapiAnalyticsV1ProjectAnalyticsSessions struct { - AgentMinutes *string `json:"agentMinutes,omitempty"` - AvgDurationSeconds *float64 `json:"avgDurationSeconds,omitempty"` - Served *string `json:"served,omitempty"` - WithAgents *string `json:"withAgents,omitempty"` - WithTelephony *string `json:"withTelephony,omitempty"` -} - -// LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse defines model for livekit.publicapi.analytics.v1.ProjectOverview.Get.Response. -type LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse struct { - // Analytics ProjectAnalytics is the project overview over a time range, grouped the same - // way: `sessions` and `participants`. - Analytics *LivekitPublicapiAnalyticsV1ProjectAnalytics `json:"analytics,omitempty"` -} - -// LivekitPublicapiAnalyticsV1PublishedSources PublishedSources is which track sources a participant published. -type LivekitPublicapiAnalyticsV1PublishedSources struct { - CameraTrack *bool `json:"cameraTrack,omitempty"` - MicrophoneTrack *bool `json:"microphoneTrack,omitempty"` - ScreenShareAudio *bool `json:"screenShareAudio,omitempty"` - ScreenShareTrack *bool `json:"screenShareTrack,omitempty"` -} - -// LivekitPublicapiAnalyticsV1Session Session is one room-session list row. Bandwidth and connection time are on -// -// GetSession's detail only. -type LivekitPublicapiAnalyticsV1Session struct { - // EndedAt When the session ended. A session that stopped reporting is given its last - // report time, even while its status is still ACTIVE; unset while it is live. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - EndedAt *GoogleProtobufTimestamp `json:"endedAt,omitempty"` - - // HasDetailData False while the session's full detail (end time, participant counts, - // duration) is still being finalized; the detail endpoints are complete once - // it is true. - HasDetailData *bool `json:"hasDetailData,omitempty"` - - // LastActive A Timestamp represents a point in time independent of any time zone or local - // calendar, encoded as a count of seconds and fractions of seconds at - // nanosecond resolution. The count is relative to an epoch at UTC midnight on - // January 1, 1970, in the proleptic Gregorian calendar which extends the - // Gregorian calendar backwards to year one. + // StartedSpeakingAt A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. // // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap // second table is needed for interpretation, using a [24-hour linear @@ -3407,15 +3417,9 @@ type LivekitPublicapiAnalyticsV1Session struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - LastActive *GoogleProtobufTimestamp `json:"lastActive,omitempty"` - - // NumParticipants Distinct participants (by identity) connected for more than zero seconds - // during the session. Not a live count: a closed session keeps its total. - NumParticipants *int32 `json:"numParticipants,omitempty"` - RoomName *string `json:"roomName,omitempty"` - SessionId *string `json:"sessionId,omitempty"` + StartedSpeakingAt *GoogleProtobufTimestamp `json:"startedSpeakingAt,omitempty"` - // StartedAt A Timestamp represents a point in time independent of any time zone or local + // StoppedSpeakingAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -3506,31 +3510,79 @@ type LivekitPublicapiAnalyticsV1Session struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StartedAt *GoogleProtobufTimestamp `json:"startedAt,omitempty"` - - // Status ACTIVE until the session's close is recorded, so a session that stopped - // reporting can be ACTIVE with an ended_at. - Status *LivekitPublicapiAnalyticsV1SessionStatus `json:"status,omitempty"` - Tags *[]string `json:"tags,omitempty"` + StoppedSpeakingAt *GoogleProtobufTimestamp `json:"stoppedSpeakingAt,omitempty"` + TranscriptionDelay *float64 `json:"transcriptionDelay,omitempty"` + TtsNodeTtfb *float64 `json:"ttsNodeTtfb,omitempty"` } -// LivekitPublicapiAnalyticsV1SessionDetail SessionDetail is the richer per-session view: a superset of Session with the +// LivekitPublicapiAnalyticsV1AgentAnalytics AgentAnalytics is one agent's analytics over a time range. Common concerns are // -// room id, totals, the first page of participants, and per-metric timelines. -// The timelines share one grid sized from the session's length, the -// dashboard's: one point per bucket, 0 where a bucket has no data. -type LivekitPublicapiAnalyticsV1SessionDetail struct { - // BandwidthIn Bytes participants published, all track types. - BandwidthIn *string `json:"bandwidthIn,omitempty"` +// grouped so they read the same whether you fetch one agent or the whole roster: +// `sessions`, `performance`, and `usage` are always found under those names. +type LivekitPublicapiAnalyticsV1AgentAnalytics struct { + AgentId *string `json:"agentId,omitempty"` + AgentName *string `json:"agentName,omitempty"` + Performance *LivekitPublicapiAnalyticsV1AgentAnalyticsPerformance `json:"performance,omitempty"` + Region *string `json:"region,omitempty"` + Sessions *LivekitPublicapiAnalyticsV1AgentAnalyticsSessions `json:"sessions,omitempty"` + Status *string `json:"status,omitempty"` + Usage *LivekitPublicapiAnalyticsV1AgentAnalyticsUsage `json:"usage,omitempty"` +} - // BandwidthOut Bytes participants subscribed to, all track types. - BandwidthOut *string `json:"bandwidthOut,omitempty"` +// LivekitPublicapiAnalyticsV1AgentAnalyticsPerformance defines model for livekit.publicapi.analytics.v1.AgentAnalytics.Performance. +type LivekitPublicapiAnalyticsV1AgentAnalyticsPerformance struct { + // InterruptedRate Fraction 0..1 of turns the user interrupted the agent. + InterruptedRate *float64 `json:"interruptedRate,omitempty"` - // ConnectionSeconds WebRTC connection time in seconds, summed over standard participants and - // self-hosted agents (cloud agents excluded), as the dashboard counts it. - ConnectionSeconds *string `json:"connectionSeconds,omitempty"` + // JoinLatency Percentiles is a p50/p90/p99 triple in milliseconds. + JoinLatency *LivekitPublicapiAnalyticsV1Percentiles `json:"joinLatency,omitempty"` - // EndedAt A Timestamp represents a point in time independent of any time zone or local + // Latency LatencyBreakdown is where an average agent reply's time goes, in milliseconds. + Latency *LivekitPublicapiAnalyticsV1LatencyBreakdown `json:"latency,omitempty"` + Turns *string `json:"turns,omitempty"` +} + +// LivekitPublicapiAnalyticsV1AgentAnalyticsSessions defines model for livekit.publicapi.analytics.v1.AgentAnalytics.Sessions. +type LivekitPublicapiAnalyticsV1AgentAnalyticsSessions struct { + Active *string `json:"active,omitempty"` + DispatchErrors *string `json:"dispatchErrors,omitempty"` + + // Estimate Set when `total` is an approximation; carries its tolerance. + Estimate *LivekitPublicapiAnalyticsV1Estimate `json:"estimate,omitempty"` + Total *string `json:"total,omitempty"` +} + +// LivekitPublicapiAnalyticsV1AgentAnalyticsUsage defines model for livekit.publicapi.analytics.v1.AgentAnalytics.Usage. +type LivekitPublicapiAnalyticsV1AgentAnalyticsUsage struct { + AvgTokensPerSession *string `json:"avgTokensPerSession,omitempty"` + Models *[]LivekitPublicapiAnalyticsV1ModelUsage `json:"models,omitempty"` +} + +// LivekitPublicapiAnalyticsV1AgentsGetResponse defines model for livekit.publicapi.analytics.v1.Agents.Get.Response. +type LivekitPublicapiAnalyticsV1AgentsGetResponse struct { + // Analytics AgentAnalytics is one agent's analytics over a time range. Common concerns are + // grouped so they read the same whether you fetch one agent or the whole roster: + // `sessions`, `performance`, and `usage` are always found under those names. + Analytics *LivekitPublicapiAnalyticsV1AgentAnalytics `json:"analytics,omitempty"` +} + +// LivekitPublicapiAnalyticsV1AgentsListResponse defines model for livekit.publicapi.analytics.v1.Agents.List.Response. +type LivekitPublicapiAnalyticsV1AgentsListResponse struct { + Items *[]LivekitPublicapiAnalyticsV1AgentAnalytics `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiAnalyticsV1CountryCount CountryCount is a per-country connection count for the top-countries breakdown. +type LivekitPublicapiAnalyticsV1CountryCount struct { + Count *string `json:"count,omitempty"` + Name *string `json:"name,omitempty"` +} + +// LivekitPublicapiAnalyticsV1DataPoint DataPoint is one point of a per-session time series (quality, bandwidth, fps). +type LivekitPublicapiAnalyticsV1DataPoint struct { + // Timestamp A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -3621,34 +3673,201 @@ type LivekitPublicapiAnalyticsV1SessionDetail struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - EndedAt *GoogleProtobufTimestamp `json:"endedAt,omitempty"` + Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` + Value *float64 `json:"value,omitempty"` +} - // NumParticipants Same count as Session.num_participants. - NumParticipants *int32 `json:"numParticipants,omitempty"` +// LivekitPublicapiAnalyticsV1Estimate Estimate flags a value that is approximate over large windows, with its +// +// tolerance. A consumer should not treat an estimated value as exact. +type LivekitPublicapiAnalyticsV1Estimate struct { + // ErrorMargin Fractional tolerance (e.g. 0.01 for +/-1%). Zero when unknown. + ErrorMargin *float64 `json:"errorMargin,omitempty"` + IsEstimate *bool `json:"isEstimate,omitempty"` +} - // Participants The first page of participants, newest join first (at most 50). When - // participants_page.has_more, continue with ListSessionParticipants: pass - // participants_page.next_cursor as page.cursor, with sort_by and sort_order - // unset (or joined_at descending, the same thing). - Participants *[]LivekitPublicapiAnalyticsV1ParticipantInfo `json:"participants,omitempty"` +// LivekitPublicapiAnalyticsV1LatencyBreakdown LatencyBreakdown is where an average agent reply's time goes, in milliseconds. +type LivekitPublicapiAnalyticsV1LatencyBreakdown struct { + AvgReplyMs *float64 `json:"avgReplyMs,omitempty"` + EouMs *float64 `json:"eouMs,omitempty"` + LlmTtftMs *float64 `json:"llmTtftMs,omitempty"` + SttDelayMs *float64 `json:"sttDelayMs,omitempty"` + TtsTtfbMs *float64 `json:"ttsTtfbMs,omitempty"` +} - // ParticipantsPage Paging state for participants. Unset when the first page couldn't be - // read: the rest of the detail still returns, and ListSessionParticipants - // lists the participants. - ParticipantsPage *LivekitPublicapiCommonV1PageInfo `json:"participantsPage,omitempty"` +// LivekitPublicapiAnalyticsV1ModelUsage ModelUsage is per-model usage over the window. `component` is the stage the +// +// model served (llm, tts, realtime); latency is TTFT for llm/realtime rows and +// TTFB for tts rows. +type LivekitPublicapiAnalyticsV1ModelUsage struct { + CachedTokens *string `json:"cachedTokens,omitempty"` + Component *string `json:"component,omitempty"` + InTokens *string `json:"inTokens,omitempty"` + LatencyP50Ms *float64 `json:"latencyP50Ms,omitempty"` + LatencyP95Ms *float64 `json:"latencyP95Ms,omitempty"` + Model *string `json:"model,omitempty"` + OutTokens *string `json:"outTokens,omitempty"` + Provider *string `json:"provider,omitempty"` + Requests *string `json:"requests,omitempty"` + Sessions *string `json:"sessions,omitempty"` + TtsChars *string `json:"ttsChars,omitempty"` +} - // PublishBps Published audio plus video bitrate, in bits per second. - PublishBps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"publishBps,omitempty"` +// LivekitPublicapiAnalyticsV1ParticipantInfo ParticipantInfo is one participant identity of a room session, as the +// +// dashboard's participants table shows it. +type LivekitPublicapiAnalyticsV1ParticipantInfo struct { + // JoinedAt First join across the identity's connections. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + JoinedAt *GoogleProtobufTimestamp `json:"joinedAt,omitempty"` - // PublishFps Published video frame rate. - PublishFps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"publishFps,omitempty"` + // LeftAt Last leave across the identity's connections; unset while no leave is + // recorded, so a participant of an active session with no left_at may still + // be connected. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + LeftAt *GoogleProtobufTimestamp `json:"leftAt,omitempty"` - // Quality Average connection quality as a 0-1 fraction of the 0-5 track score. - Quality *[]LivekitPublicapiAnalyticsV1DataPoint `json:"quality,omitempty"` - RoomName *string `json:"roomName,omitempty"` - SessionId *string `json:"sessionId,omitempty"` + // Location Country name, e.g. "United States"; "Unknown" when the rollup has none. + Location *string `json:"location,omitempty"` + ParticipantIdentity *string `json:"participantIdentity,omitempty"` + ParticipantName *string `json:"participantName,omitempty"` - // StartedAt A Timestamp represents a point in time independent of any time zone or local + // PublishedSources Which track sources the participant published during the session. + PublishedSources *LivekitPublicapiAnalyticsV1PublishedSources `json:"publishedSources,omitempty"` + + // Region LiveKit region display name; "Unknown" when the region isn't recognized. + Region *string `json:"region,omitempty"` + + // Sessions The participant's participant sessions, oldest join first: one per + // connection, so each reconnect adds one. At most 50: a participant that + // reconnected more often has its oldest 50 here. Empty when they couldn't be + // read; the rest of the row still returns. + Sessions *[]LivekitPublicapiAnalyticsV1ParticipantSession `json:"sessions,omitempty"` +} + +// LivekitPublicapiAnalyticsV1ParticipantSession ParticipantSession is one participant session of a participant: one +// +// join-to-leave stretch, identified by its participant session id (PA_...), +// with the client it connected from. A participant that reconnects, from the +// same device or another, has several. +type LivekitPublicapiAnalyticsV1ParticipantSession struct { + // Browser Client browser, e.g. "chrome". + Browser *string `json:"browser,omitempty"` + + // ConnectionTimeMs Milliseconds the client took to connect. + ConnectionTimeMs *int32 `json:"connectionTimeMs,omitempty"` + + // ConnectionType Transport the client connected over: "UDP", "TCP" or "TURN"; empty when + // not reported. + ConnectionType *string `json:"connectionType,omitempty"` + + // DeviceModel Client device model, e.g. "iPhone 15". + DeviceModel *string `json:"deviceModel,omitempty"` + + // DurationSeconds Seconds from joined_at to left_at, as the dashboard counts them. While no + // leave is recorded, to the session's end once it has one, else to now. + DurationSeconds *string `json:"durationSeconds,omitempty"` + + // JoinedAt When this participant session joined. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + JoinedAt *GoogleProtobufTimestamp `json:"joinedAt,omitempty"` + + // LeftAt When it left; unset while no leave is recorded. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + LeftAt *GoogleProtobufTimestamp `json:"leftAt,omitempty"` + + // Location Country name, e.g. "United States"; "Unknown" when the rollup has none. + Location *string `json:"location,omitempty"` + + // Os Client operating system: "ios", "android", "windows", "mac" or "linux"; + // empty when not reported. + Os *string `json:"os,omitempty"` + + // ParticipantSessionId The participant session id (PA_...). + ParticipantSessionId *string `json:"participantSessionId,omitempty"` + + // Region LiveKit region display name; "Unknown" when the region isn't recognized. + Region *string `json:"region,omitempty"` + + // SdkVersion LiveKit client SDK version, e.g. "2.6.1". The SDK's name isn't recorded. + SdkVersion *string `json:"sdkVersion,omitempty"` +} + +// LivekitPublicapiAnalyticsV1ParticipantSortField ParticipantSortField is the column a participant listing is ordered by. +type LivekitPublicapiAnalyticsV1ParticipantSortField string + +// LivekitPublicapiAnalyticsV1Percentiles Percentiles is a p50/p90/p99 triple in milliseconds. +type LivekitPublicapiAnalyticsV1Percentiles struct { + P50Ms *float64 `json:"p50Ms,omitempty"` + P90Ms *float64 `json:"p90Ms,omitempty"` + P99Ms *float64 `json:"p99Ms,omitempty"` +} + +// LivekitPublicapiAnalyticsV1PlatformShare PlatformShare is a per-platform share of connections (fraction 0..1). +type LivekitPublicapiAnalyticsV1PlatformShare struct { + Name *string `json:"name,omitempty"` + Share *float64 `json:"share,omitempty"` +} + +// LivekitPublicapiAnalyticsV1ProjectAnalytics ProjectAnalytics is the project overview over a time range, grouped the same +// +// way: `sessions` and `participants`. +type LivekitPublicapiAnalyticsV1ProjectAnalytics struct { + Participants *LivekitPublicapiAnalyticsV1ProjectAnalyticsParticipants `json:"participants,omitempty"` + Sessions *LivekitPublicapiAnalyticsV1ProjectAnalyticsSessions `json:"sessions,omitempty"` +} + +// LivekitPublicapiAnalyticsV1ProjectAnalyticsParticipants defines model for livekit.publicapi.analytics.v1.ProjectAnalytics.Participants. +type LivekitPublicapiAnalyticsV1ProjectAnalyticsParticipants struct { + Platforms *[]LivekitPublicapiAnalyticsV1PlatformShare `json:"platforms,omitempty"` + TopCountries *[]LivekitPublicapiAnalyticsV1CountryCount `json:"topCountries,omitempty"` + Total *string `json:"total,omitempty"` +} + +// LivekitPublicapiAnalyticsV1ProjectAnalyticsSessions defines model for livekit.publicapi.analytics.v1.ProjectAnalytics.Sessions. +type LivekitPublicapiAnalyticsV1ProjectAnalyticsSessions struct { + AgentMinutes *string `json:"agentMinutes,omitempty"` + AvgDurationSeconds *float64 `json:"avgDurationSeconds,omitempty"` + Served *string `json:"served,omitempty"` + WithAgents *string `json:"withAgents,omitempty"` + WithTelephony *string `json:"withTelephony,omitempty"` +} + +// LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse defines model for livekit.publicapi.analytics.v1.ProjectOverview.Get.Response. +type LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse struct { + // Analytics ProjectAnalytics is the project overview over a time range, grouped the same + // way: `sessions` and `participants`. + Analytics *LivekitPublicapiAnalyticsV1ProjectAnalytics `json:"analytics,omitempty"` +} + +// LivekitPublicapiAnalyticsV1PublishedSources PublishedSources is which track sources a participant published. +type LivekitPublicapiAnalyticsV1PublishedSources struct { + CameraTrack *bool `json:"cameraTrack,omitempty"` + MicrophoneTrack *bool `json:"microphoneTrack,omitempty"` + ScreenShareAudio *bool `json:"screenShareAudio,omitempty"` + ScreenShareTrack *bool `json:"screenShareTrack,omitempty"` +} + +// LivekitPublicapiAnalyticsV1Session Session is one room-session list row. Bandwidth and connection time are on +// +// GetSession's detail only. +type LivekitPublicapiAnalyticsV1Session struct { + // EndedAt When the session ended. A session that stopped reporting is given its last + // report time, even while its status is still ACTIVE; unset while it is live. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + EndedAt *GoogleProtobufTimestamp `json:"endedAt,omitempty"` + + // HasDetailData False while the session's full detail (end time, participant counts, + // duration) is still being finalized; the detail endpoints are complete once + // it is true. + HasDetailData *bool `json:"hasDetailData,omitempty"` + + // LastActive A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -3739,44 +3958,15 @@ type LivekitPublicapiAnalyticsV1SessionDetail struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StartedAt *GoogleProtobufTimestamp `json:"startedAt,omitempty"` - - // Status SessionStatus is the lifecycle state of a session. - Status *LivekitPublicapiAnalyticsV1SessionStatus `json:"status,omitempty"` - - // SubscribeBps Subscribed audio plus video bitrate, in bits per second. - SubscribeBps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"subscribeBps,omitempty"` - - // SubscribeFps Subscribed video frame rate. - SubscribeFps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"subscribeFps,omitempty"` - - // Tags The session's tags, as on Session. - Tags *[]string `json:"tags,omitempty"` -} - -// LivekitPublicapiAnalyticsV1SessionEvent SessionEvent is one event of a room session, such as a participant joining -// -// or a track being published. -type LivekitPublicapiAnalyticsV1SessionEvent struct { - // ParticipantIdentity The identity of the participant the event is about; empty for a room - // event, or an API call that names no participant. - ParticipantIdentity *string `json:"participantIdentity,omitempty"` - - // ParticipantSessionId The participant session (PA_...) the event is about; empty when - // participant_identity is. - ParticipantSessionId *string `json:"participantSessionId,omitempty"` + LastActive *GoogleProtobufTimestamp `json:"lastActive,omitempty"` - // Payload The event's fields from an allowlist, each present only when the event - // has it: - // - participant events: participantKind, disconnectReason, - // reconnectReason, isMigration and connectionType; - // - track events: trackId, trackType, trackSource, mimeType and muted; - // - ROOM_ENDED: reason; - // - API_CALL: service, method, status, twirpErrorCode and durationNs. - // Every other field the event recorded is left out. - Payload *GoogleProtobufStruct `json:"payload,omitempty"` + // NumParticipants Distinct participants (by identity) connected for more than zero seconds + // during the session. Not a live count: a closed session keeps its total. + NumParticipants *int32 `json:"numParticipants,omitempty"` + RoomName *string `json:"roomName,omitempty"` + SessionId *string `json:"sessionId,omitempty"` - // Timestamp A Timestamp represents a point in time independent of any time zone or local + // StartedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -3867,109 +4057,31 @@ type LivekitPublicapiAnalyticsV1SessionEvent struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` + StartedAt *GoogleProtobufTimestamp `json:"startedAt,omitempty"` - // Type The event's type, an AnalyticsEventType name such as PARTICIPANT_JOINED. - Type *string `json:"type,omitempty"` + // Status ACTIVE until the session's close is recorded, so a session that stopped + // reporting can be ACTIVE with an ended_at. + Status *LivekitPublicapiAnalyticsV1SessionStatus `json:"status,omitempty"` + Tags *[]string `json:"tags,omitempty"` } -// LivekitPublicapiAnalyticsV1SessionEventsListResponse defines model for livekit.publicapi.analytics.v1.SessionEvents.List.Response. -type LivekitPublicapiAnalyticsV1SessionEventsListResponse struct { - Items *[]LivekitPublicapiAnalyticsV1SessionEvent `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -} - -// LivekitPublicapiAnalyticsV1SessionParticipantsListResponse defines model for livekit.publicapi.analytics.v1.SessionParticipants.List.Response. -type LivekitPublicapiAnalyticsV1SessionParticipantsListResponse struct { - Items *[]LivekitPublicapiAnalyticsV1ParticipantInfo `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -} - -// LivekitPublicapiAnalyticsV1SessionStatus SessionStatus is the lifecycle state of a session. -type LivekitPublicapiAnalyticsV1SessionStatus string - -// LivekitPublicapiAnalyticsV1SessionsGetResponse defines model for livekit.publicapi.analytics.v1.Sessions.Get.Response. -type LivekitPublicapiAnalyticsV1SessionsGetResponse struct { - // Detail Absent while the session's detail is still being finalized (see - // Session.has_detail_data on the list row). - Detail *LivekitPublicapiAnalyticsV1SessionDetail `json:"detail,omitempty"` - - // Session Session is one room-session list row. Bandwidth and connection time are on - // GetSession's detail only. - Session *LivekitPublicapiAnalyticsV1Session `json:"session,omitempty"` -} - -// LivekitPublicapiAnalyticsV1SessionsListResponse defines model for livekit.publicapi.analytics.v1.Sessions.List.Response. -type LivekitPublicapiAnalyticsV1SessionsListResponse struct { - Items *[]LivekitPublicapiAnalyticsV1Session `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -} - -// LivekitPublicapiCommonV1PageInfo PageInfo is the cursor-pagination metadata shared by every list response. -type LivekitPublicapiCommonV1PageInfo struct { - HasMore *bool `json:"hasMore,omitempty"` - - // NextCursor Pass as `cursor` on the next request to fetch the following page. Empty on - // the last page. - NextCursor *string `json:"nextCursor,omitempty"` -} - -// LivekitPublicapiCommonV1SortOrder SortOrder is the direction of a list request's sort. A list that lets the -// -// caller pick a direction takes it as `sort_order` and documents its default -// column and direction; one that can also sort on more than one column adds -// its own `SortField sort_by`. -type LivekitPublicapiCommonV1SortOrder string - -// LivekitPublicapiObservabilityV1LogLevel LogLevel is a log record's level, as the dashboard's logs panel shows and +// LivekitPublicapiAnalyticsV1SessionDetail SessionDetail is the richer per-session view: a superset of Session with the // -// filters it. Agents name levels differently by runtime, such as Python's -// CRITICAL and Node's FATAL, so a record's level comes from its OpenTelemetry -// severity number, or from its level name when it has none; a level means the -// same for Python and Node agents. -type LivekitPublicapiObservabilityV1LogLevel string - -// LivekitPublicapiObservabilityV1LogRecord LogRecord is one log record a session's agent exported. -type LivekitPublicapiObservabilityV1LogRecord struct { - // Attributes The record's attributes, typed and nested as the agent recorded them, - // with its resource's and scope's attributes merged in; the record's own - // value wins. An integer beyond ±2^53 is its decimal string, and bytes are - // base64. - Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` - - // BodyFields A structured logger's body fields other than its message; empty for a - // plain text body. - BodyFields *map[string]*GoogleProtobufValue `json:"bodyFields,omitempty"` - - // Id The record's id, the same on every read. - Id *string `json:"id,omitempty"` - - // Level LogLevel is a log record's level, as the dashboard's logs panel shows and - // filters it. Agents name levels differently by runtime, such as Python's - // CRITICAL and Node's FATAL, so a record's level comes from its OpenTelemetry - // severity number, or from its level name when it has none; a level means the - // same for Python and Node agents. - Level *LivekitPublicapiObservabilityV1LogLevel `json:"level,omitempty"` - - // Logger The logger that wrote the record (its logger.name attribute). - Logger *string `json:"logger,omitempty"` +// room id, totals, the first page of participants, and per-metric timelines. +// The timelines share one grid sized from the session's length, the +// dashboard's: one point per bucket, 0 where a bucket has no data. +type LivekitPublicapiAnalyticsV1SessionDetail struct { + // BandwidthIn Bytes participants published, all track types. + BandwidthIn *string `json:"bandwidthIn,omitempty"` - // Message The record's text. A structured logger's body keeps it under its event, - // message or msg field; a structured body with none of them is written - // here whole, as JSON. - Message *string `json:"message,omitempty"` + // BandwidthOut Bytes participants subscribed to, all track types. + BandwidthOut *string `json:"bandwidthOut,omitempty"` - // SeverityText The level's name as the agent logged it, such as "WARN" or "CRITICAL". - SeverityText *string `json:"severityText,omitempty"` - SpanId *string `json:"spanId,omitempty"` + // ConnectionSeconds WebRTC connection time in seconds, summed over standard participants and + // self-hosted agents (cloud agents excluded), as the dashboard counts it. + ConnectionSeconds *string `json:"connectionSeconds,omitempty"` - // Timestamp A Timestamp represents a point in time independent of any time zone or local + // EndedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -4060,58 +4172,34 @@ type LivekitPublicapiObservabilityV1LogRecord struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` - - // TraceId The trace and span the record was logged in, as lowercase hex; empty when - // it was logged outside one. They link the record to its span in - // GetSessionTraces. - TraceId *string `json:"traceId,omitempty"` -} + EndedAt *GoogleProtobufTimestamp `json:"endedAt,omitempty"` -// LivekitPublicapiObservabilityV1LogsGetResponse defines model for livekit.publicapi.observability.v1.Logs.Get.Response. -type LivekitPublicapiObservabilityV1LogsGetResponse struct { - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` - Records *[]LivekitPublicapiObservabilityV1LogRecord `json:"records,omitempty"` -} + // NumParticipants Same count as Session.num_participants. + NumParticipants *int32 `json:"numParticipants,omitempty"` -// LivekitPublicapiObservabilityV1MetricHistogram MetricHistogram summarizes the values a histogram point recorded. -type LivekitPublicapiObservabilityV1MetricHistogram struct { - // BucketBounds A histogram's buckets, with one more count than bounds: bucket_counts[0] - // counts the values up to bucket_bounds[0], bucket_counts[i] those in - // (bucket_bounds[i-1], bucket_bounds[i]], and the last count those above - // the last bound. Both are empty for an exponential histogram. - BucketBounds *[]float64 `json:"bucketBounds,omitempty"` - BucketCounts *[]string `json:"bucketCounts,omitempty"` + // Participants The first page of participants, newest join first (at most 50). When + // participants_page.has_more, continue with ListSessionParticipants: pass + // participants_page.next_cursor as page.cursor, with sort_by and sort_order + // unset (or joined_at descending, the same thing). + Participants *[]LivekitPublicapiAnalyticsV1ParticipantInfo `json:"participants,omitempty"` - // Count How many values were recorded. - Count *string `json:"count,omitempty"` - Max *float64 `json:"max,omitempty"` - Min *float64 `json:"min,omitempty"` + // ParticipantsPage Paging state for participants. Unset when the first page couldn't be + // read: the rest of the detail still returns, and ListSessionParticipants + // lists the participants. + ParticipantsPage *LivekitPublicapiCommonV1PageInfo `json:"participantsPage,omitempty"` - // Sum Their sum, minimum and maximum; unset when the agent didn't record them. - Sum *float64 `json:"sum,omitempty"` -} + // PublishBps Published audio plus video bitrate, in bits per second. + PublishBps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"publishBps,omitempty"` -// LivekitPublicapiObservabilityV1MetricKind MetricKind is the OpenTelemetry data type a metric point was exported as. -type LivekitPublicapiObservabilityV1MetricKind string + // PublishFps Published video frame rate. + PublishFps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"publishFps,omitempty"` -// LivekitPublicapiObservabilityV1MetricPoint MetricPoint is one OpenTelemetry metric data point a session's agent -// -// exported. It is the raw metric the agent emits, so it won't exactly match -// the dashboard's metrics panel, which derives its numbers from the transcript -// and traces. Only agents that export OpenTelemetry metrics to LiveKit Cloud -// produce points; an agent whose code installs its own MeterProvider exports -// none to LiveKit Cloud. -type LivekitPublicapiObservabilityV1MetricPoint struct { - // Attributes The point's attributes, typed and nested as the agent recorded them, with - // its resource's and scope's attributes merged in, such as room_id, job_id, - // lk.agent_name and the model's model_name; the point's own value wins. With - // two agents in one session, the resource's can be the other agent's. An - // integer beyond ±2^53 is its decimal string, and bytes are base64. - Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` + // Quality Average connection quality as a 0-1 fraction of the 0-5 track score. + Quality *[]LivekitPublicapiAnalyticsV1DataPoint `json:"quality,omitempty"` + RoomName *string `json:"roomName,omitempty"` + SessionId *string `json:"sessionId,omitempty"` - // EndTime A Timestamp represents a point in time independent of any time zone or local + // StartedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -4202,103 +4290,48 @@ type LivekitPublicapiObservabilityV1MetricPoint struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - EndTime *GoogleProtobufTimestamp `json:"endTime,omitempty"` - - // Kind MetricKind is the OpenTelemetry data type a metric point was exported as. - Kind *LivekitPublicapiObservabilityV1MetricKind `json:"kind,omitempty"` - - // Name The metric's name, such as lk.agents.turn.e2e_latency or - // gen_ai.client.token.usage. The upstream aggregator can file several - // metrics that share their attributes under one name (GetSessionMetrics). - Name *string `json:"name,omitempty"` + StartedAt *GoogleProtobufTimestamp `json:"startedAt,omitempty"` - // StartTime The interval the point covers. An agent exports every 30 seconds, so a - // sum or histogram covers the time since its previous export; a gauge has - // no start_time. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StartTime *GoogleProtobufTimestamp `json:"startTime,omitempty"` + // Status SessionStatus is the lifecycle state of a session. + Status *LivekitPublicapiAnalyticsV1SessionStatus `json:"status,omitempty"` - // Unit The metric's unit as the agent declared it, such as "s" or "{token}"; - // empty when it declared none. - Unit *string `json:"unit,omitempty"` - union json.RawMessage -} + // SubscribeBps Subscribed audio plus video bitrate, in bits per second. + SubscribeBps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"subscribeBps,omitempty"` -// LivekitPublicapiObservabilityV1MetricPoint0 defines model for LivekitPublicapiObservabilityV1MetricPoint.0. -type LivekitPublicapiObservabilityV1MetricPoint0 struct { - // Histogram A histogram's or exponential histogram's summary. - Histogram LivekitPublicapiObservabilityV1MetricHistogram `json:"histogram"` -} + // SubscribeFps Subscribed video frame rate. + SubscribeFps *[]LivekitPublicapiAnalyticsV1DataPoint `json:"subscribeFps,omitempty"` -// LivekitPublicapiObservabilityV1MetricPoint1 defines model for LivekitPublicapiObservabilityV1MetricPoint.1. -type LivekitPublicapiObservabilityV1MetricPoint1 struct { - // Value A gauge's or sum's value. - Value float64 `json:"value"` + // Tags The session's tags, as on Session. + Tags *[]string `json:"tags,omitempty"` } -// LivekitPublicapiObservabilityV1MetricPoint2 defines model for LivekitPublicapiObservabilityV1MetricPoint.2. -type LivekitPublicapiObservabilityV1MetricPoint2 = interface{} - -// LivekitPublicapiObservabilityV1MetricsGetResponse defines model for livekit.publicapi.observability.v1.Metrics.Get.Response. -type LivekitPublicapiObservabilityV1MetricsGetResponse struct { - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +// LivekitPublicapiAnalyticsV1SessionEvent SessionEvent is one event of a room session, such as a participant joining +// +// or a track being published. +type LivekitPublicapiAnalyticsV1SessionEvent struct { + // ParticipantIdentity The identity of the participant the event is about; empty for a room + // event, or an API call that names no participant. + ParticipantIdentity *string `json:"participantIdentity,omitempty"` - // Points By end time, oldest first; points that end together are ordered by - // start time, a point with none first, then by kind and a hash of what - // they recorded, not by name. A page continues - // after the previous page's last point, so on an ACTIVE session a point - // exported mid-read with a later time comes on a later page, and one - // with an earlier time is missed until a new read. - Points *[]LivekitPublicapiObservabilityV1MetricPoint `json:"points,omitempty"` -} + // ParticipantSessionId The participant session (PA_...) the event is about; empty when + // participant_identity is. + ParticipantSessionId *string `json:"participantSessionId,omitempty"` -// LivekitPublicapiObservabilityV1RecordingGetURLResponse defines model for livekit.publicapi.observability.v1.Recording.GetURL.Response. -type LivekitPublicapiObservabilityV1RecordingGetURLResponse struct { - // ExpiresAt When the URL stops working: the request's time plus the granted - // expiry, after the 15-minute clamp. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` + // Payload The event's fields from an allowlist, each present only when the event + // has it: + // - participant events: participantKind, disconnectReason, + // reconnectReason, isMigration and connectionType; + // - track events: trackId, trackType, trackSource, mimeType and muted; + // - ROOM_ENDED: reason; + // - API_CALL: service, method, status, twirpErrorCode and durationNs. + // Every other field the event recorded is left out. + Payload *GoogleProtobufStruct `json:"payload,omitempty"` - // RecordingStartedAt When the recording started, as the agent reported it on upload. Line - // the audio up with the transcript by it. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - RecordingStartedAt *GoogleProtobufTimestamp `json:"recordingStartedAt,omitempty"` - - // Url A signed URL that downloads the recording straight from the object - // store in the project's data region, without credentials, until - // expires_at. Audio is Ogg; chat history is JSON served with - // Content-Encoding: gzip. - Url *string `json:"url,omitempty"` -} - -// LivekitPublicapiObservabilityV1RecordingFileType RecordingFileType is the recording requested from GetSessionRecordingURL. -// -// The session's conversation as typed items comes from GetSessionTranscript, -// not from a recording. -type LivekitPublicapiObservabilityV1RecordingFileType string - -// LivekitPublicapiObservabilityV1Role Role is who a transcript message is from. -type LivekitPublicapiObservabilityV1Role string - -// LivekitPublicapiObservabilityV1Span Span is one unit of work in the session's trace, such as an agent turn or -// -// an LLM request. -type LivekitPublicapiObservabilityV1Span struct { - // Attributes The span's attributes, typed and nested as the agent recorded them, with - // its resource's and scope's attributes merged in, such as lk.agent_name; - // the span's own value wins. An integer beyond ±2^53 is its decimal string, - // and bytes are base64. - Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` - - // EndTime A Timestamp represents a point in time independent of any time zone or local - // calendar, encoded as a count of seconds and fractions of seconds at - // nanosecond resolution. The count is relative to an epoch at UTC midnight on - // January 1, 1970, in the proleptic Gregorian calendar which extends the - // Gregorian calendar backwards to year one. + // Timestamp A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. // // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap // second table is needed for interpretation, using a [24-hour linear @@ -4385,21 +4418,150 @@ type LivekitPublicapiObservabilityV1Span struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - EndTime *GoogleProtobufTimestamp `json:"endTime,omitempty"` - Events *[]LivekitPublicapiObservabilityV1SpanEvent `json:"events,omitempty"` + Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` - // Kind SpanKind is a span's OpenTelemetry kind. - Kind *LivekitPublicapiObservabilityV1SpanKind `json:"kind,omitempty"` - Name *string `json:"name,omitempty"` + // Type The event's type, an AnalyticsEventType name such as PARTICIPANT_JOINED. + Type *string `json:"type,omitempty"` +} - // ParentSpanId Empty for a root span. A span whose parent isn't among the session's - // spans is a root too, as the dashboard shows it. - ParentSpanId *string `json:"parentSpanId,omitempty"` +// LivekitPublicapiAnalyticsV1SessionEventsListResponse defines model for livekit.publicapi.analytics.v1.SessionEvents.List.Response. +type LivekitPublicapiAnalyticsV1SessionEventsListResponse struct { + Items *[]LivekitPublicapiAnalyticsV1SessionEvent `json:"items,omitempty"` - // SpanId The span's ids, as lowercase hex. - SpanId *string `json:"spanId,omitempty"` + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} - // StartTime A Timestamp represents a point in time independent of any time zone or local +// LivekitPublicapiAnalyticsV1SessionParticipantsListResponse defines model for livekit.publicapi.analytics.v1.SessionParticipants.List.Response. +type LivekitPublicapiAnalyticsV1SessionParticipantsListResponse struct { + Items *[]LivekitPublicapiAnalyticsV1ParticipantInfo `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiAnalyticsV1SessionStatus SessionStatus is the lifecycle state of a session. +type LivekitPublicapiAnalyticsV1SessionStatus string + +// LivekitPublicapiAnalyticsV1SessionsGetResponse defines model for livekit.publicapi.analytics.v1.Sessions.Get.Response. +type LivekitPublicapiAnalyticsV1SessionsGetResponse struct { + // Detail Absent while the session's detail is still being finalized (see + // Session.has_detail_data on the list row). + Detail *LivekitPublicapiAnalyticsV1SessionDetail `json:"detail,omitempty"` + + // Session Session is one room-session list row. Bandwidth and connection time are on + // GetSession's detail only. + Session *LivekitPublicapiAnalyticsV1Session `json:"session,omitempty"` +} + +// LivekitPublicapiAnalyticsV1SessionsListResponse defines model for livekit.publicapi.analytics.v1.Sessions.List.Response. +type LivekitPublicapiAnalyticsV1SessionsListResponse struct { + Items *[]LivekitPublicapiAnalyticsV1Session `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiCommonV1PageInfo PageInfo is the cursor-pagination metadata shared by every list response. +type LivekitPublicapiCommonV1PageInfo struct { + HasMore *bool `json:"hasMore,omitempty"` + + // NextCursor Pass as `cursor` on the next request to fetch the following page. Empty on + // the last page. + NextCursor *string `json:"nextCursor,omitempty"` +} + +// LivekitPublicapiCommonV1SortOrder SortOrder is the direction of a list request's sort. A list that lets the +// +// caller pick a direction takes it as `sort_order` and documents its default +// column and direction; one that can also sort on more than one column adds +// its own `SortField sort_by`. +type LivekitPublicapiCommonV1SortOrder string + +// LivekitPublicapiDatabasesV1DatabasesCreateResponse defines model for livekit.publicapi.databases.v1.Databases.Create.Response. +type LivekitPublicapiDatabasesV1DatabasesCreateResponse struct { + DatabaseId *string `json:"databaseId,omitempty"` + + // ExpiresAt Unset when the database never expires. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` +} + +// LivekitPublicapiDatabasesV1DatabasesDeleteResponse defines model for livekit.publicapi.databases.v1.Databases.Delete.Response. +type LivekitPublicapiDatabasesV1DatabasesDeleteResponse = map[string]interface{} + +// LivekitPublicapiDatabasesV1DatabasesExportResponse defines model for livekit.publicapi.databases.v1.Databases.Export.Response. +type LivekitPublicapiDatabasesV1DatabasesExportResponse struct { + // DownloadUrl Pre-authenticated object-storage URL. + DownloadUrl *string `json:"downloadUrl,omitempty"` + + // ExpiresAt Of the URL, not the database. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` + + // Tip The commit sequence the export is consistent at. + Tip *string `json:"tip,omitempty"` +} + +// LivekitPublicapiDatabasesV1DatabasesGetResponse defines model for livekit.publicapi.databases.v1.Databases.Get.Response. +type LivekitPublicapiDatabasesV1DatabasesGetResponse struct { + // Database One database, as get and list both report it. + Database *LivekitAgentDBAgentDatabase `json:"database,omitempty"` +} + +// LivekitPublicapiDatabasesV1DatabasesListResponse defines model for livekit.publicapi.databases.v1.Databases.List.Response. +type LivekitPublicapiDatabasesV1DatabasesListResponse struct { + Items *[]LivekitAgentDBAgentDatabase `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiObservabilityV1LogLevel LogLevel is a log record's level, as the dashboard's logs panel shows and +// +// filters it. Agents name levels differently by runtime, such as Python's +// CRITICAL and Node's FATAL, so a record's level comes from its OpenTelemetry +// severity number, or from its level name when it has none; a level means the +// same for Python and Node agents. +type LivekitPublicapiObservabilityV1LogLevel string + +// LivekitPublicapiObservabilityV1LogRecord LogRecord is one log record a session's agent exported. +type LivekitPublicapiObservabilityV1LogRecord struct { + // Attributes The record's attributes, typed and nested as the agent recorded them, + // with its resource's and scope's attributes merged in; the record's own + // value wins. An integer beyond ±2^53 is its decimal string, and bytes are + // base64. + Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` + + // BodyFields A structured logger's body fields other than its message; empty for a + // plain text body. + BodyFields *map[string]*GoogleProtobufValue `json:"bodyFields,omitempty"` + + // Id The record's id, the same on every read. + Id *string `json:"id,omitempty"` + + // Level LogLevel is a log record's level, as the dashboard's logs panel shows and + // filters it. Agents name levels differently by runtime, such as Python's + // CRITICAL and Node's FATAL, so a record's level comes from its OpenTelemetry + // severity number, or from its level name when it has none; a level means the + // same for Python and Node agents. + Level *LivekitPublicapiObservabilityV1LogLevel `json:"level,omitempty"` + + // Logger The logger that wrote the record (its logger.name attribute). + Logger *string `json:"logger,omitempty"` + + // Message The record's text. A structured logger's body keeps it under its event, + // message or msg field; a structured body with none of them is written + // here whole, as JSON. + Message *string `json:"message,omitempty"` + + // SeverityText The level's name as the agent logged it, such as "WARN" or "CRITICAL". + SeverityText *string `json:"severityText,omitempty"` + SpanId *string `json:"spanId,omitempty"` + + // Timestamp A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -4490,23 +4652,58 @@ type LivekitPublicapiObservabilityV1Span struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StartTime *GoogleProtobufTimestamp `json:"startTime,omitempty"` + Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` - // Status SpanStatus is a span's OpenTelemetry status code. - Status *LivekitPublicapiObservabilityV1SpanStatus `json:"status,omitempty"` - StatusMessage *string `json:"statusMessage,omitempty"` - TraceId *string `json:"traceId,omitempty"` + // TraceId The trace and span the record was logged in, as lowercase hex; empty when + // it was logged outside one. They link the record to its span in + // GetSessionTraces. + TraceId *string `json:"traceId,omitempty"` } -// LivekitPublicapiObservabilityV1SpanEvent SpanEvent is a timestamped event recorded within a Span, such as an +// LivekitPublicapiObservabilityV1LogsGetResponse defines model for livekit.publicapi.observability.v1.Logs.Get.Response. +type LivekitPublicapiObservabilityV1LogsGetResponse struct { + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` + Records *[]LivekitPublicapiObservabilityV1LogRecord `json:"records,omitempty"` +} + +// LivekitPublicapiObservabilityV1MetricHistogram MetricHistogram summarizes the values a histogram point recorded. +type LivekitPublicapiObservabilityV1MetricHistogram struct { + // BucketBounds A histogram's buckets, with one more count than bounds: bucket_counts[0] + // counts the values up to bucket_bounds[0], bucket_counts[i] those in + // (bucket_bounds[i-1], bucket_bounds[i]], and the last count those above + // the last bound. Both are empty for an exponential histogram. + BucketBounds *[]float64 `json:"bucketBounds,omitempty"` + BucketCounts *[]string `json:"bucketCounts,omitempty"` + + // Count How many values were recorded. + Count *string `json:"count,omitempty"` + Max *float64 `json:"max,omitempty"` + Min *float64 `json:"min,omitempty"` + + // Sum Their sum, minimum and maximum; unset when the agent didn't record them. + Sum *float64 `json:"sum,omitempty"` +} + +// LivekitPublicapiObservabilityV1MetricKind MetricKind is the OpenTelemetry data type a metric point was exported as. +type LivekitPublicapiObservabilityV1MetricKind string + +// LivekitPublicapiObservabilityV1MetricPoint MetricPoint is one OpenTelemetry metric data point a session's agent // -// exception. -type LivekitPublicapiObservabilityV1SpanEvent struct { - // Attributes The event's own attributes, typed and nested as the agent recorded them. +// exported. It is the raw metric the agent emits, so it won't exactly match +// the dashboard's metrics panel, which derives its numbers from the transcript +// and traces. Only agents that export OpenTelemetry metrics to LiveKit Cloud +// produce points; an agent whose code installs its own MeterProvider exports +// none to LiveKit Cloud. +type LivekitPublicapiObservabilityV1MetricPoint struct { + // Attributes The point's attributes, typed and nested as the agent recorded them, with + // its resource's and scope's attributes merged in, such as room_id, job_id, + // lk.agent_name and the model's model_name; the point's own value wins. With + // two agents in one session, the resource's can be the other agent's. An + // integer beyond ±2^53 is its decimal string, and bytes are base64. Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` - Name *string `json:"name,omitempty"` - // Timestamp A Timestamp represents a point in time independent of any time zone or local + // EndTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -4597,150 +4794,99 @@ type LivekitPublicapiObservabilityV1SpanEvent struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` -} + EndTime *GoogleProtobufTimestamp `json:"endTime,omitempty"` -// LivekitPublicapiObservabilityV1SpanKind SpanKind is a span's OpenTelemetry kind. -type LivekitPublicapiObservabilityV1SpanKind string + // Kind MetricKind is the OpenTelemetry data type a metric point was exported as. + Kind *LivekitPublicapiObservabilityV1MetricKind `json:"kind,omitempty"` -// LivekitPublicapiObservabilityV1SpanStatus SpanStatus is a span's OpenTelemetry status code. -type LivekitPublicapiObservabilityV1SpanStatus string + // Name The metric's name, such as lk.agents.turn.e2e_latency or + // gen_ai.client.token.usage. The upstream aggregator can file several + // metrics that share their attributes under one name (GetSessionMetrics). + Name *string `json:"name,omitempty"` -// LivekitPublicapiObservabilityV1TracesGetResponse defines model for livekit.publicapi.observability.v1.Traces.Get.Response. -type LivekitPublicapiObservabilityV1TracesGetResponse struct { - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` + // StartTime The interval the point covers. An agent exports every 30 seconds, so a + // sum or histogram covers the time since its previous export; a gauge has + // no start_time. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + StartTime *GoogleProtobufTimestamp `json:"startTime,omitempty"` - // Spans By start time, oldest first. Spans that start together are ordered by - // span id as the aggregator stores it: the id's 8 bytes read as a - // little-endian unsigned integer, which isn't the order of its hex - // string. The pages read the spans the first page found, so a span - // exported later waits for a new read. On an ACTIVE session, a span - // exported mid-read can still shift the later pages, which are read by - // offset, so a span can repeat or be skipped: dedupe by span_id, and - // read again from the first page to pick up a skipped span. - Spans *[]LivekitPublicapiObservabilityV1Span `json:"spans,omitempty"` -} - -// LivekitPublicapiObservabilityV1TranscriptGetResponse defines model for livekit.publicapi.observability.v1.Transcript.Get.Response. -type LivekitPublicapiObservabilityV1TranscriptGetResponse struct { - // Items Oldest first, in the order the agent recorded them. - Items *[]LivekitPublicapiObservabilityV1TranscriptItem `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` - - // SkippedRecords How many of this page's records couldn't be read as transcript items - // and were left out, such as an item kind newer than this server. Zero - // when the page is complete. - SkippedRecords *int `json:"skippedRecords,omitempty"` + // Unit The metric's unit as the agent declared it, such as "s" or "{token}"; + // empty when it declared none. + Unit *string `json:"unit,omitempty"` + union json.RawMessage } -// LivekitPublicapiObservabilityV1TranscriptItem TranscriptItem is one ordered entry in a session's conversation. Exactly one -// -// of the `item` variants is set. -type LivekitPublicapiObservabilityV1TranscriptItem struct { - // Id The item's id, as the agent assigned it (item_...). - Id *string `json:"id,omitempty"` - - // Timestamp When the item happened. For a message, when its speaker started speaking, - // else when the agent created it; for any other item, when the agent - // recorded it. Items are ordered by when the agent recorded them, so a - // message's timestamp can be earlier than the item before it. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` - union json.RawMessage +// LivekitPublicapiObservabilityV1MetricPoint0 defines model for LivekitPublicapiObservabilityV1MetricPoint.0. +type LivekitPublicapiObservabilityV1MetricPoint0 struct { + // Histogram A histogram's or exponential histogram's summary. + Histogram LivekitPublicapiObservabilityV1MetricHistogram `json:"histogram"` } -// LivekitPublicapiObservabilityV1TranscriptItem0 defines model for LivekitPublicapiObservabilityV1TranscriptItem.0. -type LivekitPublicapiObservabilityV1TranscriptItem0 struct { - // AgentHandoff AgentHandoff is the session passing from one agent to another. - AgentHandoff LivekitPublicapiObservabilityV1TranscriptItemAgentHandoff `json:"agentHandoff"` +// LivekitPublicapiObservabilityV1MetricPoint1 defines model for LivekitPublicapiObservabilityV1MetricPoint.1. +type LivekitPublicapiObservabilityV1MetricPoint1 struct { + // Value A gauge's or sum's value. + Value float64 `json:"value"` } -// LivekitPublicapiObservabilityV1TranscriptItem1 defines model for LivekitPublicapiObservabilityV1TranscriptItem.1. -type LivekitPublicapiObservabilityV1TranscriptItem1 struct { - // ConfigUpdate ConfigUpdate is a change to the agent's instructions or tools during the - // session. - ConfigUpdate LivekitPublicapiObservabilityV1TranscriptItemConfigUpdate `json:"configUpdate"` -} +// LivekitPublicapiObservabilityV1MetricPoint2 defines model for LivekitPublicapiObservabilityV1MetricPoint.2. +type LivekitPublicapiObservabilityV1MetricPoint2 = interface{} -// LivekitPublicapiObservabilityV1TranscriptItem2 defines model for LivekitPublicapiObservabilityV1TranscriptItem.2. -type LivekitPublicapiObservabilityV1TranscriptItem2 struct { - // Message Message is something said, or added to the conversation as text. - Message LivekitPublicapiObservabilityV1TranscriptItemMessage `json:"message"` -} +// LivekitPublicapiObservabilityV1MetricsGetResponse defines model for livekit.publicapi.observability.v1.Metrics.Get.Response. +type LivekitPublicapiObservabilityV1MetricsGetResponse struct { + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -// LivekitPublicapiObservabilityV1TranscriptItem3 defines model for LivekitPublicapiObservabilityV1TranscriptItem.3. -type LivekitPublicapiObservabilityV1TranscriptItem3 struct { - // ToolCall ToolCall is the agent calling a tool. - ToolCall LivekitPublicapiObservabilityV1TranscriptItemToolCall `json:"toolCall"` + // Points By end time, oldest first; points that end together are ordered by + // start time, a point with none first, then by kind and a hash of what + // they recorded, not by name. A page continues + // after the previous page's last point, so on an ACTIVE session a point + // exported mid-read with a later time comes on a later page, and one + // with an earlier time is missed until a new read. + Points *[]LivekitPublicapiObservabilityV1MetricPoint `json:"points,omitempty"` } -// LivekitPublicapiObservabilityV1TranscriptItem4 defines model for LivekitPublicapiObservabilityV1TranscriptItem.4. -type LivekitPublicapiObservabilityV1TranscriptItem4 struct { - // ToolResult ToolResult is the output a tool returned for a ToolCall. - ToolResult LivekitPublicapiObservabilityV1TranscriptItemToolResult `json:"toolResult"` -} +// LivekitPublicapiObservabilityV1RecordingGetURLResponse defines model for livekit.publicapi.observability.v1.Recording.GetURL.Response. +type LivekitPublicapiObservabilityV1RecordingGetURLResponse struct { + // ExpiresAt When the URL stops working: the request's time plus the granted + // expiry, after the 15-minute clamp. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` -// LivekitPublicapiObservabilityV1TranscriptItem5 defines model for LivekitPublicapiObservabilityV1TranscriptItem.5. -type LivekitPublicapiObservabilityV1TranscriptItem5 = interface{} + // RecordingStartedAt When the recording started, as the agent reported it on upload. Line + // the audio up with the transcript by it. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + RecordingStartedAt *GoogleProtobufTimestamp `json:"recordingStartedAt,omitempty"` -// LivekitPublicapiObservabilityV1TranscriptItemAgentHandoff AgentHandoff is the session passing from one agent to another. -type LivekitPublicapiObservabilityV1TranscriptItemAgentHandoff struct { - // FromAgentId Unset for the session's first agent. - FromAgentId *string `json:"fromAgentId,omitempty"` - ToAgentId *string `json:"toAgentId,omitempty"` + // Url A signed URL that downloads the recording straight from the object + // store in the project's data region, without credentials, until + // expires_at. Audio is Ogg; chat history is JSON served with + // Content-Encoding: gzip. + Url *string `json:"url,omitempty"` } -// LivekitPublicapiObservabilityV1TranscriptItemConfigUpdate ConfigUpdate is a change to the agent's instructions or tools during the +// LivekitPublicapiObservabilityV1RecordingFileType RecordingFileType is the recording requested from GetSessionRecordingURL. // -// session. -type LivekitPublicapiObservabilityV1TranscriptItemConfigUpdate struct { - // Instructions The agent's new instructions; empty when they didn't change. - Instructions *string `json:"instructions,omitempty"` - ToolsAdded *[]string `json:"toolsAdded,omitempty"` - ToolsRemoved *[]string `json:"toolsRemoved,omitempty"` -} - -// LivekitPublicapiObservabilityV1TranscriptItemMessage Message is something said, or added to the conversation as text. -type LivekitPublicapiObservabilityV1TranscriptItemMessage struct { - // E2eLatencyMs The turn's latencies in milliseconds, converted from the seconds the - // agent recorded; unset when the agent didn't record one. An agent message - // carries the first three, a user message the last three. - // - // End-to-end latency: from when the user finished speaking to when the - // agent began responding (the agent's e2e_latency). - E2eLatencyMs *float64 `json:"e2eLatencyMs,omitempty"` - - // EndOfTurnDelayMs From the end of the user's speech to the agent deciding the turn ended - // (end_of_turn_delay). - EndOfTurnDelayMs *float64 `json:"endOfTurnDelayMs,omitempty"` - - // Interrupted Set on an agent message the user talked over before it finished. - Interrupted *bool `json:"interrupted,omitempty"` - - // LlmTtftMs LLM time to first token (llm_node_ttft). - LlmTtftMs *float64 `json:"llmTtftMs,omitempty"` - - // OnUserTurnCompletedDelayMs Time spent in the agent's on_user_turn_completed callback - // (on_user_turn_completed_delay). - OnUserTurnCompletedDelayMs *float64 `json:"onUserTurnCompletedDelayMs,omitempty"` - - // Redacted Set when the project's PII redaction rewrote the text. - Redacted *bool `json:"redacted,omitempty"` +// The session's conversation as typed items comes from GetSessionTranscript, +// not from a recording. +type LivekitPublicapiObservabilityV1RecordingFileType string - // Role Role is who a transcript message is from. - Role *LivekitPublicapiObservabilityV1Role `json:"role,omitempty"` +// LivekitPublicapiObservabilityV1Role Role is who a transcript message is from. +type LivekitPublicapiObservabilityV1Role string - // StartedSpeakingAt When the speaker started and stopped speaking; unset for a message - // that wasn't spoken. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StartedSpeakingAt *GoogleProtobufTimestamp `json:"startedSpeakingAt,omitempty"` +// LivekitPublicapiObservabilityV1Span Span is one unit of work in the session's trace, such as an agent turn or +// +// an LLM request. +type LivekitPublicapiObservabilityV1Span struct { + // Attributes The span's attributes, typed and nested as the agent recorded them, with + // its resource's and scope's attributes merged in, such as lk.agent_name; + // the span's own value wins. An integer beyond ±2^53 is its decimal string, + // and bytes are base64. + Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` - // StoppedSpeakingAt A Timestamp represents a point in time independent of any time zone or local + // EndTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -4831,54 +4977,21 @@ type LivekitPublicapiObservabilityV1TranscriptItemMessage struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - StoppedSpeakingAt *GoogleProtobufTimestamp `json:"stoppedSpeakingAt,omitempty"` - - // Text The message's text. Text the agent recorded in several parts is joined - // with newlines. When redacted is set, PII in it is replaced with - // markers. - Text *string `json:"text,omitempty"` - - // TranscriptConfidence The speech-to-text confidence of a spoken user message, from 0 to 1. - TranscriptConfidence *float64 `json:"transcriptConfidence,omitempty"` - - // TranscriptionDelayMs From the end of the user's speech to its final transcript - // (transcription_delay). - TranscriptionDelayMs *float64 `json:"transcriptionDelayMs,omitempty"` - - // TtsTtfbMs TTS time to first byte of audio (tts_node_ttfb). - TtsTtfbMs *float64 `json:"ttsTtfbMs,omitempty"` -} - -// LivekitPublicapiObservabilityV1TranscriptItemToolCall ToolCall is the agent calling a tool. -type LivekitPublicapiObservabilityV1TranscriptItemToolCall struct { - // Arguments The call's arguments as a JSON string. - Arguments *string `json:"arguments,omitempty"` - - // CallId Pairs the call with its ToolResult. - CallId *string `json:"callId,omitempty"` - Name *string `json:"name,omitempty"` -} + EndTime *GoogleProtobufTimestamp `json:"endTime,omitempty"` + Events *[]LivekitPublicapiObservabilityV1SpanEvent `json:"events,omitempty"` -// LivekitPublicapiObservabilityV1TranscriptItemToolResult ToolResult is the output a tool returned for a ToolCall. -type LivekitPublicapiObservabilityV1TranscriptItemToolResult struct { - // CallId The call_id of the ToolCall it answers. - CallId *string `json:"callId,omitempty"` + // Kind SpanKind is a span's OpenTelemetry kind. + Kind *LivekitPublicapiObservabilityV1SpanKind `json:"kind,omitempty"` + Name *string `json:"name,omitempty"` - // IsError Set when the tool failed; output then describes the error. - IsError *bool `json:"isError,omitempty"` - Name *string `json:"name,omitempty"` - Output *string `json:"output,omitempty"` -} + // ParentSpanId Empty for a root span. A span whose parent isn't among the session's + // spans is a root too, as the dashboard shows it. + ParentSpanId *string `json:"parentSpanId,omitempty"` -// LivekitPublicapiProjectsV1AccessKey AccessKey is project API-key metadata. The secret is never included on list -// -// RPCs; it is returned only from GenerateKey. -type LivekitPublicapiProjectsV1AccessKey struct { - // AgentId Set for programmatically-created cloud agent keys. - AgentId *string `json:"agentId,omitempty"` - ApiKey *string `json:"apiKey,omitempty"` + // SpanId The span's ids, as lowercase hex. + SpanId *string `json:"spanId,omitempty"` - // CreatedAt A Timestamp represents a point in time independent of any time zone or local + // StartTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -4969,14 +5082,23 @@ type LivekitPublicapiProjectsV1AccessKey struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - Description *string `json:"description,omitempty"` - OwnerEmail *string `json:"ownerEmail,omitempty"` + StartTime *GoogleProtobufTimestamp `json:"startTime,omitempty"` - // OwnerId Empty for service-account / legacy unowned keys. - OwnerId *string `json:"ownerId,omitempty"` + // Status SpanStatus is a span's OpenTelemetry status code. + Status *LivekitPublicapiObservabilityV1SpanStatus `json:"status,omitempty"` + StatusMessage *string `json:"statusMessage,omitempty"` + TraceId *string `json:"traceId,omitempty"` +} - // UpdatedAt A Timestamp represents a point in time independent of any time zone or local +// LivekitPublicapiObservabilityV1SpanEvent SpanEvent is a timestamped event recorded within a Span, such as an +// +// exception. +type LivekitPublicapiObservabilityV1SpanEvent struct { + // Attributes The event's own attributes, typed and nested as the agent recorded them. + Attributes *map[string]*GoogleProtobufValue `json:"attributes,omitempty"` + Name *string `json:"name,omitempty"` + + // Timestamp A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -5067,56 +5189,150 @@ type LivekitPublicapiProjectsV1AccessKey struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - UpdatedAt *GoogleProtobufTimestamp `json:"updatedAt,omitempty"` + Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` } -// LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse defines model for livekit.publicapi.projects.v1.AddWorkspaceMembersToProjectResponse. -type LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse struct { - Items *[]LivekitPublicapiProjectsV1ProjectMember `json:"items,omitempty"` -} +// LivekitPublicapiObservabilityV1SpanKind SpanKind is a span's OpenTelemetry kind. +type LivekitPublicapiObservabilityV1SpanKind string -// LivekitPublicapiProjectsV1AnswerInvitationResponse defines model for livekit.publicapi.projects.v1.AnswerInvitationResponse. -type LivekitPublicapiProjectsV1AnswerInvitationResponse struct { - // Member set when accept=true - Member *LivekitPublicapiProjectsV1ProjectMember `json:"member,omitempty"` -} +// LivekitPublicapiObservabilityV1SpanStatus SpanStatus is a span's OpenTelemetry status code. +type LivekitPublicapiObservabilityV1SpanStatus string -// LivekitPublicapiProjectsV1CreateProjectMember TODO: Add more parts that allow for a full project creation, not just the name -type LivekitPublicapiProjectsV1CreateProjectMember struct { - // Role Matches cloud_protocol.ProjectMemberRole: INVITED=0, READ=1, WRITE=2, ADMIN=3. - Role *int32 `json:"role,omitempty"` - UserId *string `json:"userId,omitempty"` +// LivekitPublicapiObservabilityV1TracesGetResponse defines model for livekit.publicapi.observability.v1.Traces.Get.Response. +type LivekitPublicapiObservabilityV1TracesGetResponse struct { + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` + + // Spans By start time, oldest first. Spans that start together are ordered by + // span id as the aggregator stores it: the id's 8 bytes read as a + // little-endian unsigned integer, which isn't the order of its hex + // string. The pages read the spans the first page found, so a span + // exported later waits for a new read. On an ACTIVE session, a span + // exported mid-read can still shift the later pages, which are read by + // offset, so a span can repeat or be skipped: dedupe by span_id, and + // read again from the first page to pick up a skipped span. + Spans *[]LivekitPublicapiObservabilityV1Span `json:"spans,omitempty"` } -// LivekitPublicapiProjectsV1CreateProjectRequest defines model for livekit.publicapi.projects.v1.CreateProjectRequest. -type LivekitPublicapiProjectsV1CreateProjectRequest struct { - IsPrivate *bool `json:"isPrivate,omitempty"` +// LivekitPublicapiObservabilityV1TranscriptGetResponse defines model for livekit.publicapi.observability.v1.Transcript.Get.Response. +type LivekitPublicapiObservabilityV1TranscriptGetResponse struct { + // Items Oldest first, in the order the agent recorded them. + Items *[]LivekitPublicapiObservabilityV1TranscriptItem `json:"items,omitempty"` - // Members private projects only - Members *[]LivekitPublicapiProjectsV1CreateProjectMember `json:"members,omitempty"` - Name *string `json:"name,omitempty"` + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` - // Subdomain optional; generated from name when empty - Subdomain *string `json:"subdomain,omitempty"` + // SkippedRecords How many of this page's records couldn't be read as transcript items + // and were left out, such as an item kind newer than this server. Zero + // when the page is complete. + SkippedRecords *int `json:"skippedRecords,omitempty"` +} - // UserDataRegion create-only; empty keeps the deployment default - UserDataRegion *string `json:"userDataRegion,omitempty"` +// LivekitPublicapiObservabilityV1TranscriptItem TranscriptItem is one ordered entry in a session's conversation. Exactly one +// +// of the `item` variants is set. +type LivekitPublicapiObservabilityV1TranscriptItem struct { + // Id The item's id, as the agent assigned it (item_...). + Id *string `json:"id,omitempty"` - // WorkspaceId optional; when empty a new workspace is created - WorkspaceId *string `json:"workspaceId,omitempty"` + // Timestamp When the item happened. For a message, when its speaker started speaking, + // else when the agent created it; for any other item, when the agent + // recorded it. Items are ordered by when the agent recorded them, so a + // message's timestamp can be earlier than the item before it. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + Timestamp *GoogleProtobufTimestamp `json:"timestamp,omitempty"` + union json.RawMessage } -// LivekitPublicapiProjectsV1CreateProjectResponse defines model for livekit.publicapi.projects.v1.CreateProjectResponse. -type LivekitPublicapiProjectsV1CreateProjectResponse struct { - // Project Project is a LiveKit Cloud project (owned by cloud-api-server). - // Field set mirrors backend-common model.Project (most config fields); - // members/domains are separate list resources and are not embedded here. - Project *LivekitPublicapiProjectsV1Project `json:"project,omitempty"` +// LivekitPublicapiObservabilityV1TranscriptItem0 defines model for LivekitPublicapiObservabilityV1TranscriptItem.0. +type LivekitPublicapiObservabilityV1TranscriptItem0 struct { + // AgentHandoff AgentHandoff is the session passing from one agent to another. + AgentHandoff LivekitPublicapiObservabilityV1TranscriptItemAgentHandoff `json:"agentHandoff"` } -// LivekitPublicapiProjectsV1CreateTokenResponse defines model for livekit.publicapi.projects.v1.CreateTokenResponse. -type LivekitPublicapiProjectsV1CreateTokenResponse struct { - // ExpiresAt A Timestamp represents a point in time independent of any time zone or local +// LivekitPublicapiObservabilityV1TranscriptItem1 defines model for LivekitPublicapiObservabilityV1TranscriptItem.1. +type LivekitPublicapiObservabilityV1TranscriptItem1 struct { + // ConfigUpdate ConfigUpdate is a change to the agent's instructions or tools during the + // session. + ConfigUpdate LivekitPublicapiObservabilityV1TranscriptItemConfigUpdate `json:"configUpdate"` +} + +// LivekitPublicapiObservabilityV1TranscriptItem2 defines model for LivekitPublicapiObservabilityV1TranscriptItem.2. +type LivekitPublicapiObservabilityV1TranscriptItem2 struct { + // Message Message is something said, or added to the conversation as text. + Message LivekitPublicapiObservabilityV1TranscriptItemMessage `json:"message"` +} + +// LivekitPublicapiObservabilityV1TranscriptItem3 defines model for LivekitPublicapiObservabilityV1TranscriptItem.3. +type LivekitPublicapiObservabilityV1TranscriptItem3 struct { + // ToolCall ToolCall is the agent calling a tool. + ToolCall LivekitPublicapiObservabilityV1TranscriptItemToolCall `json:"toolCall"` +} + +// LivekitPublicapiObservabilityV1TranscriptItem4 defines model for LivekitPublicapiObservabilityV1TranscriptItem.4. +type LivekitPublicapiObservabilityV1TranscriptItem4 struct { + // ToolResult ToolResult is the output a tool returned for a ToolCall. + ToolResult LivekitPublicapiObservabilityV1TranscriptItemToolResult `json:"toolResult"` +} + +// LivekitPublicapiObservabilityV1TranscriptItem5 defines model for LivekitPublicapiObservabilityV1TranscriptItem.5. +type LivekitPublicapiObservabilityV1TranscriptItem5 = interface{} + +// LivekitPublicapiObservabilityV1TranscriptItemAgentHandoff AgentHandoff is the session passing from one agent to another. +type LivekitPublicapiObservabilityV1TranscriptItemAgentHandoff struct { + // FromAgentId Unset for the session's first agent. + FromAgentId *string `json:"fromAgentId,omitempty"` + ToAgentId *string `json:"toAgentId,omitempty"` +} + +// LivekitPublicapiObservabilityV1TranscriptItemConfigUpdate ConfigUpdate is a change to the agent's instructions or tools during the +// +// session. +type LivekitPublicapiObservabilityV1TranscriptItemConfigUpdate struct { + // Instructions The agent's new instructions; empty when they didn't change. + Instructions *string `json:"instructions,omitempty"` + ToolsAdded *[]string `json:"toolsAdded,omitempty"` + ToolsRemoved *[]string `json:"toolsRemoved,omitempty"` +} + +// LivekitPublicapiObservabilityV1TranscriptItemMessage Message is something said, or added to the conversation as text. +type LivekitPublicapiObservabilityV1TranscriptItemMessage struct { + // E2eLatencyMs The turn's latencies in milliseconds, converted from the seconds the + // agent recorded; unset when the agent didn't record one. An agent message + // carries the first three, a user message the last three. + // + // End-to-end latency: from when the user finished speaking to when the + // agent began responding (the agent's e2e_latency). + E2eLatencyMs *float64 `json:"e2eLatencyMs,omitempty"` + + // EndOfTurnDelayMs From the end of the user's speech to the agent deciding the turn ended + // (end_of_turn_delay). + EndOfTurnDelayMs *float64 `json:"endOfTurnDelayMs,omitempty"` + + // Interrupted Set on an agent message the user talked over before it finished. + Interrupted *bool `json:"interrupted,omitempty"` + + // LlmTtftMs LLM time to first token (llm_node_ttft). + LlmTtftMs *float64 `json:"llmTtftMs,omitempty"` + + // OnUserTurnCompletedDelayMs Time spent in the agent's on_user_turn_completed callback + // (on_user_turn_completed_delay). + OnUserTurnCompletedDelayMs *float64 `json:"onUserTurnCompletedDelayMs,omitempty"` + + // Redacted Set when the project's PII redaction rewrote the text. + Redacted *bool `json:"redacted,omitempty"` + + // Role Role is who a transcript message is from. + Role *LivekitPublicapiObservabilityV1Role `json:"role,omitempty"` + + // StartedSpeakingAt When the speaker started and stopped speaking; unset for a message + // that wasn't spoken. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + StartedSpeakingAt *GoogleProtobufTimestamp `json:"startedSpeakingAt,omitempty"` + + // StoppedSpeakingAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -5207,97 +5423,52 @@ type LivekitPublicapiProjectsV1CreateTokenResponse struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` - - // Token Signed JWT, sent as `Authorization: Bearer` to the project's server APIs - // or used to join a room, depending on the grants. - Token *string `json:"token,omitempty"` -} - -// LivekitPublicapiProjectsV1DeleteInviteResponse defines model for livekit.publicapi.projects.v1.DeleteInviteResponse. -type LivekitPublicapiProjectsV1DeleteInviteResponse = map[string]interface{} - -// LivekitPublicapiProjectsV1DeleteKeyResponse defines model for livekit.publicapi.projects.v1.DeleteKeyResponse. -type LivekitPublicapiProjectsV1DeleteKeyResponse = map[string]interface{} - -// LivekitPublicapiProjectsV1DeleteProjectResponse defines model for livekit.publicapi.projects.v1.DeleteProjectResponse. -type LivekitPublicapiProjectsV1DeleteProjectResponse = map[string]interface{} - -// LivekitPublicapiProjectsV1GenerateKeyResponse defines model for livekit.publicapi.projects.v1.GenerateKeyResponse. -type LivekitPublicapiProjectsV1GenerateKeyResponse struct { - ApiKey *string `json:"apiKey,omitempty"` - Secret *string `json:"secret,omitempty"` -} - -// LivekitPublicapiProjectsV1GetInviteResponse defines model for livekit.publicapi.projects.v1.GetInviteResponse. -type LivekitPublicapiProjectsV1GetInviteResponse struct { - // Invite ProjectInvite is a pending email invite to a project (token-based, cloud InviteMember2). - Invite *LivekitPublicapiProjectsV1ProjectInvite `json:"invite,omitempty"` -} + StoppedSpeakingAt *GoogleProtobufTimestamp `json:"stoppedSpeakingAt,omitempty"` -// LivekitPublicapiProjectsV1GetMemberResponse defines model for livekit.publicapi.projects.v1.GetMemberResponse. -type LivekitPublicapiProjectsV1GetMemberResponse struct { - // Member ProjectMember is a user's membership on a project. - Member *LivekitPublicapiProjectsV1ProjectMember `json:"member,omitempty"` -} + // Text The message's text. Text the agent recorded in several parts is joined + // with newlines. When redacted is set, PII in it is replaced with + // markers. + Text *string `json:"text,omitempty"` -// LivekitPublicapiProjectsV1GetProjectResponse defines model for livekit.publicapi.projects.v1.GetProjectResponse. -type LivekitPublicapiProjectsV1GetProjectResponse struct { - // Project Project is a LiveKit Cloud project (owned by cloud-api-server). - // Field set mirrors backend-common model.Project (most config fields); - // members/domains are separate list resources and are not embedded here. - Project *LivekitPublicapiProjectsV1Project `json:"project,omitempty"` -} + // TranscriptConfidence The speech-to-text confidence of a spoken user message, from 0 to 1. + TranscriptConfidence *float64 `json:"transcriptConfidence,omitempty"` -// LivekitPublicapiProjectsV1InviteMemberResponse defines model for livekit.publicapi.projects.v1.InviteMemberResponse. -type LivekitPublicapiProjectsV1InviteMemberResponse struct { - InviteToken *string `json:"inviteToken,omitempty"` - ProjectId *string `json:"projectId,omitempty"` -} + // TranscriptionDelayMs From the end of the user's speech to its final transcript + // (transcription_delay). + TranscriptionDelayMs *float64 `json:"transcriptionDelayMs,omitempty"` -// LivekitPublicapiProjectsV1ListInvitesResponse defines model for livekit.publicapi.projects.v1.ListInvitesResponse. -type LivekitPublicapiProjectsV1ListInvitesResponse struct { - Items *[]LivekitPublicapiProjectsV1ProjectInvite `json:"items,omitempty"` + // TtsTtfbMs TTS time to first byte of audio (tts_node_ttfb). + TtsTtfbMs *float64 `json:"ttsTtfbMs,omitempty"` } -// LivekitPublicapiProjectsV1ListKeysResponse defines model for livekit.publicapi.projects.v1.ListKeysResponse. -type LivekitPublicapiProjectsV1ListKeysResponse struct { - Keys *[]LivekitPublicapiProjectsV1AccessKey `json:"keys,omitempty"` -} +// LivekitPublicapiObservabilityV1TranscriptItemToolCall ToolCall is the agent calling a tool. +type LivekitPublicapiObservabilityV1TranscriptItemToolCall struct { + // Arguments The call's arguments as a JSON string. + Arguments *string `json:"arguments,omitempty"` -// LivekitPublicapiProjectsV1ListMembersResponse defines model for livekit.publicapi.projects.v1.ListMembersResponse. -type LivekitPublicapiProjectsV1ListMembersResponse struct { - Items *[]LivekitPublicapiProjectsV1ProjectMember `json:"items,omitempty"` + // CallId Pairs the call with its ToolResult. + CallId *string `json:"callId,omitempty"` + Name *string `json:"name,omitempty"` } -// LivekitPublicapiProjectsV1ListProjectsResponse defines model for livekit.publicapi.projects.v1.ListProjectsResponse. -type LivekitPublicapiProjectsV1ListProjectsResponse struct { - Items *[]LivekitPublicapiProjectsV1Project `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -} +// LivekitPublicapiObservabilityV1TranscriptItemToolResult ToolResult is the output a tool returned for a ToolCall. +type LivekitPublicapiObservabilityV1TranscriptItemToolResult struct { + // CallId The call_id of the ToolCall it answers. + CallId *string `json:"callId,omitempty"` -// LivekitPublicapiProjectsV1ListScopedKeysResponse defines model for livekit.publicapi.projects.v1.ListScopedKeysResponse. -type LivekitPublicapiProjectsV1ListScopedKeysResponse struct { - OtherKeys *[]LivekitPublicapiProjectsV1AccessKey `json:"otherKeys,omitempty"` - PersonalKeys *[]LivekitPublicapiProjectsV1AccessKey `json:"personalKeys,omitempty"` + // IsError Set when the tool failed; output then describes the error. + IsError *bool `json:"isError,omitempty"` + Name *string `json:"name,omitempty"` + Output *string `json:"output,omitempty"` } -// LivekitPublicapiProjectsV1PinnedRegions PinnedRegions wraps the region pin set so an explicit empty list can clear +// LivekitPublicapiProjectsV1AccessKey AccessKey is project API-key metadata. The secret is never included on list // -// the pins, which a bare repeated field cannot express (mirrors cloud -// AdminSetProjectSettingsRequest.pinned_regions). -type LivekitPublicapiProjectsV1PinnedRegions struct { - Regions *[]string `json:"regions,omitempty"` -} - -// LivekitPublicapiProjectsV1Project Project is a LiveKit Cloud project (owned by cloud-api-server). -// -// Field set mirrors backend-common model.Project (most config fields); -// members/domains are separate list resources and are not embedded here. -type LivekitPublicapiProjectsV1Project struct { - AnalyticsAccessKey *string `json:"analyticsAccessKey,omitempty"` +// RPCs; it is returned only from GenerateKey. +type LivekitPublicapiProjectsV1AccessKey struct { + // AgentId Set for programmatically-created cloud agent keys. + AgentId *string `json:"agentId,omitempty"` + ApiKey *string `json:"apiKey,omitempty"` // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at @@ -5390,50 +5561,14 @@ type LivekitPublicapiProjectsV1Project struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - CreatorId *string `json:"creatorId,omitempty"` - EgressClusterId *string `json:"egressClusterId,omitempty"` - EnableAnalytics *bool `json:"enableAnalytics,omitempty"` - EnableAutoCreate *bool `json:"enableAutoCreate,omitempty"` - EnableEnhancedNoiseCancellation *bool `json:"enableEnhancedNoiseCancellation,omitempty"` - EnableHostedAgents *bool `json:"enableHostedAgents,omitempty"` - EnableInferenceRegionRestriction *bool `json:"enableInferenceRegionRestriction,omitempty"` - EnablePiiRedaction *bool `json:"enablePiiRedaction,omitempty"` - EnableRemoteUnmute *bool `json:"enableRemoteUnmute,omitempty"` - EnableSafeMode *bool `json:"enableSafeMode,omitempty"` - EnableSipCustomDomain *bool `json:"enableSipCustomDomain,omitempty"` - EnableUserDataRecording *bool `json:"enableUserDataRecording,omitempty"` - EnableUserDataTraining *bool `json:"enableUserDataTraining,omitempty"` - EnabledCodecs *[]string `json:"enabledCodecs,omitempty"` - Id *string `json:"id,omitempty"` - IsPrivate *bool `json:"isPrivate,omitempty"` - Name *string `json:"name,omitempty"` - - // PiiRedactionCategories Categories to redact when enable_pii_redaction is on. Empty on read means - // the stored set (or defaults applied at enable time) — never "redact nothing". - // Same taxonomy as cloud-api UpdateProject (cloud_protocol.PIIRedactionCategory). - PiiRedactionCategories *[]CloudProtocolPIIRedactionCategory `json:"piiRedactionCategories,omitempty"` - PinnedRegions *[]string `json:"pinnedRegions,omitempty"` - - // Preferences ProjectPreferences holds per-project UI/feature settings (mirrors - // backend-common ProjectPreferences). - Preferences *LivekitPublicapiProjectsV1ProjectPreferences `json:"preferences,omitempty"` - RequireExplicitDispatch *bool `json:"requireExplicitDispatch,omitempty"` - Subdomain *string `json:"subdomain,omitempty"` - - // Url The project's LiveKit server URL (wss://), derived from its subdomain. - Url *string `json:"url,omitempty"` - UserDataLifetimeDays *int32 `json:"userDataLifetimeDays,omitempty"` - UserDataRegion *string `json:"userDataRegion,omitempty"` - Webhooks *[]LivekitPublicapiProjectsV1Webhook `json:"webhooks,omitempty"` - WorkspaceId *string `json:"workspaceId,omitempty"` -} + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + Description *string `json:"description,omitempty"` + OwnerEmail *string `json:"ownerEmail,omitempty"` -// LivekitPublicapiProjectsV1ProjectInvite ProjectInvite is a pending email invite to a project (token-based, cloud InviteMember2). -type LivekitPublicapiProjectsV1ProjectInvite struct { - Email *string `json:"email,omitempty"` + // OwnerId Empty for service-account / legacy unowned keys. + OwnerId *string `json:"ownerId,omitempty"` - // ExpiresAt A Timestamp represents a point in time independent of any time zone or local + // UpdatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -5524,320 +5659,238 @@ type LivekitPublicapiProjectsV1ProjectInvite struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` - InviteToken *string `json:"inviteToken,omitempty"` - ProjectId *string `json:"projectId,omitempty"` - Role *int32 `json:"role,omitempty"` + UpdatedAt *GoogleProtobufTimestamp `json:"updatedAt,omitempty"` } -// LivekitPublicapiProjectsV1ProjectMember ProjectMember is a user's membership on a project. -type LivekitPublicapiProjectsV1ProjectMember struct { - Email *string `json:"email,omitempty"` - ProjectId *string `json:"projectId,omitempty"` +// LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse defines model for livekit.publicapi.projects.v1.AddWorkspaceMembersToProjectResponse. +type LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse struct { + Items *[]LivekitPublicapiProjectsV1ProjectMember `json:"items,omitempty"` +} + +// LivekitPublicapiProjectsV1AnswerInvitationResponse defines model for livekit.publicapi.projects.v1.AnswerInvitationResponse. +type LivekitPublicapiProjectsV1AnswerInvitationResponse struct { + // Member set when accept=true + Member *LivekitPublicapiProjectsV1ProjectMember `json:"member,omitempty"` +} +// LivekitPublicapiProjectsV1CreateProjectMember TODO: Add more parts that allow for a full project creation, not just the name +type LivekitPublicapiProjectsV1CreateProjectMember struct { // Role Matches cloud_protocol.ProjectMemberRole: INVITED=0, READ=1, WRITE=2, ADMIN=3. Role *int32 `json:"role,omitempty"` UserId *string `json:"userId,omitempty"` } -// LivekitPublicapiProjectsV1ProjectPreferences ProjectPreferences holds per-project UI/feature settings (mirrors -// -// backend-common ProjectPreferences). -type LivekitPublicapiProjectsV1ProjectPreferences struct { - DisableTokenEndpoint *bool `json:"disableTokenEndpoint,omitempty"` - DiscoverableByDomain *bool `json:"discoverableByDomain,omitempty"` - EnableEgressAutoRetry *bool `json:"enableEgressAutoRetry,omitempty"` - EnableEgressBackupStorage *bool `json:"enableEgressBackupStorage,omitempty"` - FeatureFlags *map[string]string `json:"featureFlags,omitempty"` - HideOnboarding *bool `json:"hideOnboarding,omitempty"` - HideSampleAppGallery *bool `json:"hideSampleAppGallery,omitempty"` - HipaaCompliant *bool `json:"hipaaCompliant,omitempty"` - JoinableByDomain *bool `json:"joinableByDomain,omitempty"` - RoomConfigurations *map[string]LivekitRoomConfiguration `json:"roomConfigurations,omitempty"` - SfuAllowPause *bool `json:"sfuAllowPause,omitempty"` - TokenEndpointKey *string `json:"tokenEndpointKey,omitempty"` -} +// LivekitPublicapiProjectsV1CreateProjectRequest defines model for livekit.publicapi.projects.v1.CreateProjectRequest. +type LivekitPublicapiProjectsV1CreateProjectRequest struct { + IsPrivate *bool `json:"isPrivate,omitempty"` -// LivekitPublicapiProjectsV1RemoveMemberResponse defines model for livekit.publicapi.projects.v1.RemoveMemberResponse. -type LivekitPublicapiProjectsV1RemoveMemberResponse = map[string]interface{} + // Members private projects only + Members *[]LivekitPublicapiProjectsV1CreateProjectMember `json:"members,omitempty"` + Name *string `json:"name,omitempty"` -// LivekitPublicapiProjectsV1TokenGrants TokenGrants are the claims of a LiveKit access token. Field names match the -// -// token's JSON claims (protocol auth.ClaimGrants), so a token's claims JSON is -// a valid TokenGrants in JSON form. -type LivekitPublicapiProjectsV1TokenGrants struct { - // Agent Agent server API permissions. - Agent *LivekitPublicapiProjectsV1TokenGrantsAgent `json:"agent,omitempty"` + // Subdomain optional; generated from name when empty + Subdomain *string `json:"subdomain,omitempty"` - // AgentEndpoint Calling an agent's non-public HTTP endpoints. - AgentEndpoint *LivekitPublicapiProjectsV1TokenGrantsAgentEndpoint `json:"agentEndpoint,omitempty"` - Attributes *map[string]string `json:"attributes,omitempty"` + // UserDataRegion create-only; empty keeps the deployment default + UserDataRegion *string `json:"userDataRegion,omitempty"` - // Identity Participant identity (the token's subject). - Identity *string `json:"identity,omitempty"` - Inference *LivekitPublicapiProjectsV1TokenGrantsInference `json:"inference,omitempty"` + // WorkspaceId optional; when empty a new workspace is created + WorkspaceId *string `json:"workspaceId,omitempty"` +} - // Kind Participant kind: "standard", "ingress", "egress", "sip", or "agent". - Kind *string `json:"kind,omitempty"` - KindDetails *[]string `json:"kindDetails,omitempty"` - Metadata *string `json:"metadata,omitempty"` +// LivekitPublicapiProjectsV1CreateProjectResponse defines model for livekit.publicapi.projects.v1.CreateProjectResponse. +type LivekitPublicapiProjectsV1CreateProjectResponse struct { + // Project Project is a LiveKit Cloud project (owned by cloud-api-server). + // Field set mirrors backend-common model.Project (most config fields); + // members/domains are separate list resources and are not embedded here. + Project *LivekitPublicapiProjectsV1Project `json:"project,omitempty"` +} - // Name Participant display name. - Name *string `json:"name,omitempty"` - Observability *LivekitPublicapiProjectsV1TokenGrantsObservability `json:"observability,omitempty"` +// LivekitPublicapiProjectsV1CreateTokenResponse defines model for livekit.publicapi.projects.v1.CreateTokenResponse. +type LivekitPublicapiProjectsV1CreateTokenResponse struct { + // ExpiresAt A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` - // RoomConfig Configuration for a room this participant creates on join, including - // agent dispatches. - RoomConfig *LivekitRoomConfiguration `json:"roomConfig,omitempty"` + // Token Signed JWT, sent as `Authorization: Bearer` to the project's server APIs + // or used to join a room, depending on the grants. + Token *string `json:"token,omitempty"` +} - // RoomPreset Cloud room configuration preset; fields in room_config override it. - RoomPreset *string `json:"roomPreset,omitempty"` +// LivekitPublicapiProjectsV1DeleteInviteResponse defines model for livekit.publicapi.projects.v1.DeleteInviteResponse. +type LivekitPublicapiProjectsV1DeleteInviteResponse = map[string]interface{} - // Sip SIP server API permissions. - Sip *LivekitPublicapiProjectsV1TokenGrantsSip `json:"sip,omitempty"` +// LivekitPublicapiProjectsV1DeleteKeyResponse defines model for livekit.publicapi.projects.v1.DeleteKeyResponse. +type LivekitPublicapiProjectsV1DeleteKeyResponse = map[string]interface{} - // Video Room and participant permissions. - Video *LivekitPublicapiProjectsV1TokenGrantsVideo `json:"video,omitempty"` +// LivekitPublicapiProjectsV1DeleteProjectResponse defines model for livekit.publicapi.projects.v1.DeleteProjectResponse. +type LivekitPublicapiProjectsV1DeleteProjectResponse = map[string]interface{} + +// LivekitPublicapiProjectsV1GenerateKeyResponse defines model for livekit.publicapi.projects.v1.GenerateKeyResponse. +type LivekitPublicapiProjectsV1GenerateKeyResponse struct { + ApiKey *string `json:"apiKey,omitempty"` + Secret *string `json:"secret,omitempty"` } -// LivekitPublicapiProjectsV1TokenGrantsAgent Agent server API permissions. -type LivekitPublicapiProjectsV1TokenGrantsAgent struct { - Admin *bool `json:"admin,omitempty"` - DatabaseAdmin *bool `json:"databaseAdmin,omitempty"` - DispatchAdmin *bool `json:"dispatchAdmin,omitempty"` - SimulationAdmin *bool `json:"simulationAdmin,omitempty"` +// LivekitPublicapiProjectsV1GetInviteResponse defines model for livekit.publicapi.projects.v1.GetInviteResponse. +type LivekitPublicapiProjectsV1GetInviteResponse struct { + // Invite ProjectInvite is a pending email invite to a project (token-based, cloud InviteMember2). + Invite *LivekitPublicapiProjectsV1ProjectInvite `json:"invite,omitempty"` } -// LivekitPublicapiProjectsV1TokenGrantsAgentEndpoint Calling an agent's non-public HTTP endpoints. -type LivekitPublicapiProjectsV1TokenGrantsAgentEndpoint struct { - // AgentName One agent; empty for every agent of the project. - AgentName *string `json:"agentName,omitempty"` - Call *bool `json:"call,omitempty"` - - // Deployment One deployment; empty for every deployment. - Deployment *string `json:"deployment,omitempty"` -} - -// LivekitPublicapiProjectsV1TokenGrantsInference defines model for livekit.publicapi.projects.v1.TokenGrants.Inference. -type LivekitPublicapiProjectsV1TokenGrantsInference struct { - Perform *bool `json:"perform,omitempty"` -} - -// LivekitPublicapiProjectsV1TokenGrantsObservability defines model for livekit.publicapi.projects.v1.TokenGrants.Observability. -type LivekitPublicapiProjectsV1TokenGrantsObservability struct { - Write *bool `json:"write,omitempty"` -} - -// LivekitPublicapiProjectsV1TokenGrantsSip SIP server API permissions. -type LivekitPublicapiProjectsV1TokenGrantsSip struct { - Admin *bool `json:"admin,omitempty"` - Call *bool `json:"call,omitempty"` -} - -// LivekitPublicapiProjectsV1TokenGrantsVideo Room and participant permissions. -type LivekitPublicapiProjectsV1TokenGrantsVideo struct { - Agent *bool `json:"agent,omitempty"` - CanManageAgentSession *bool `json:"canManageAgentSession,omitempty"` - - // CanPublish Unset means allowed. - CanPublish *bool `json:"canPublish,omitempty"` - CanPublishData *bool `json:"canPublishData,omitempty"` - - // CanPublishSources Restrict publishing to these sources ("camera", "microphone", …). - CanPublishSources *[]string `json:"canPublishSources,omitempty"` - CanSubscribe *bool `json:"canSubscribe,omitempty"` - CanSubscribeMetrics *bool `json:"canSubscribeMetrics,omitempty"` - CanUpdateOwnMetadata *bool `json:"canUpdateOwnMetadata,omitempty"` - - // DestinationRoom Room to move or forward participants to. - DestinationRoom *string `json:"destinationRoom,omitempty"` - Hidden *bool `json:"hidden,omitempty"` - - // IngressAdmin Server API: manage ingress. - IngressAdmin *bool `json:"ingressAdmin,omitempty"` - Recorder *bool `json:"recorder,omitempty"` - Room *string `json:"room,omitempty"` - - // RoomAdmin Server API: manage `room` (or any room when unset). - RoomAdmin *bool `json:"roomAdmin,omitempty"` - - // RoomCreate Server API: create rooms. - RoomCreate *bool `json:"roomCreate,omitempty"` - - // RoomJoin Join `room`. - RoomJoin *bool `json:"roomJoin,omitempty"` - - // RoomList Server API: list rooms. - RoomList *bool `json:"roomList,omitempty"` - - // RoomRecord Server API: start and manage egress. - RoomRecord *bool `json:"roomRecord,omitempty"` -} - -// LivekitPublicapiProjectsV1UpdateInviteResponse defines model for livekit.publicapi.projects.v1.UpdateInviteResponse. -type LivekitPublicapiProjectsV1UpdateInviteResponse struct { - // Invite ProjectInvite is a pending email invite to a project (token-based, cloud InviteMember2). - Invite *LivekitPublicapiProjectsV1ProjectInvite `json:"invite,omitempty"` -} - -// LivekitPublicapiProjectsV1UpdateMemberResponse defines model for livekit.publicapi.projects.v1.UpdateMemberResponse. -type LivekitPublicapiProjectsV1UpdateMemberResponse struct { +// LivekitPublicapiProjectsV1GetMemberResponse defines model for livekit.publicapi.projects.v1.GetMemberResponse. +type LivekitPublicapiProjectsV1GetMemberResponse struct { // Member ProjectMember is a user's membership on a project. Member *LivekitPublicapiProjectsV1ProjectMember `json:"member,omitempty"` } -// LivekitPublicapiProjectsV1UpdateProjectRequest UpdateProjectRequest patches a project. Unset optional fields are left -// -// unchanged (proto3 optional). Mirrors cloud-api UpdateProject for local mode; -// webhooks are separate RPCs (not included here). -type LivekitPublicapiProjectsV1UpdateProjectRequest struct { - CustomDomain *string `json:"customDomain,omitempty"` - DisableTokenEndpoint *bool `json:"disableTokenEndpoint,omitempty"` - DiscoverableByDomain *bool `json:"discoverableByDomain,omitempty"` - - // EgressClusterId LK-admin only - EgressClusterId *string `json:"egressClusterId,omitempty"` - EnableAnalytics *bool `json:"enableAnalytics,omitempty"` - EnableAutoCreate *bool `json:"enableAutoCreate,omitempty"` - EnableEgressAutoRetry *bool `json:"enableEgressAutoRetry,omitempty"` - EnableEgressBackupStorage *bool `json:"enableEgressBackupStorage,omitempty"` - - // EnableHostedAgents LK-admin only - EnableHostedAgents *bool `json:"enableHostedAgents,omitempty"` - EnableInferenceRegionRestriction *bool `json:"enableInferenceRegionRestriction,omitempty"` - EnablePiiRedaction *bool `json:"enablePiiRedaction,omitempty"` - EnableRemoteUnmute *bool `json:"enableRemoteUnmute,omitempty"` - EnableUserDataRecording *bool `json:"enableUserDataRecording,omitempty"` - EnabledCodecs *[]string `json:"enabledCodecs,omitempty"` - FeatureFlags *map[string]string `json:"featureFlags,omitempty"` - - // HideOnboarding Preferences (flat, matching cloud-api UpdateProjectRequest). - HideOnboarding *bool `json:"hideOnboarding,omitempty"` - HideSampleAppGallery *bool `json:"hideSampleAppGallery,omitempty"` - IsPrivate *bool `json:"isPrivate,omitempty"` - JoinableByDomain *bool `json:"joinableByDomain,omitempty"` - - // Members Used when becoming private: explicit member set (actor kept as ADMIN). - Members *[]LivekitPublicapiProjectsV1CreateProjectMember `json:"members,omitempty"` - Name *string `json:"name,omitempty"` - - // PiiRedactionCategories Non-empty list replaces the stored set (validated via Canonical). - // Empty is ignored (cannot clear). When enabling with nothing stored, - // defaults are applied server-side — same as cloud-api UpdateProject. - PiiRedactionCategories *[]CloudProtocolPIIRedactionCategory `json:"piiRedactionCategories,omitempty"` - - // PinnedRegions SFU/datacenter region pins. Unset leaves them unchanged; a set message - // replaces the stored set, so an empty regions list clears the pins (same - // shape as cloud AdminPinnedRegions). Distinct from user_data_region. - PinnedRegions *LivekitPublicapiProjectsV1PinnedRegions `json:"pinnedRegions,omitempty"` - ProjectId *string `json:"projectId,omitempty"` - RequireExplicitDispatch *bool `json:"requireExplicitDispatch,omitempty"` - RoomConfigsToDelete *[]string `json:"roomConfigsToDelete,omitempty"` - - // RoomConfigsToUpsert RoomConfiguration management (stored on project preferences). - RoomConfigsToUpsert *[]LivekitRoomConfiguration `json:"roomConfigsToUpsert,omitempty"` - SfuAllowPause *bool `json:"sfuAllowPause,omitempty"` - Subdomain *string `json:"subdomain,omitempty"` - TokenEndpointKey *string `json:"tokenEndpointKey,omitempty"` -} - -// LivekitPublicapiProjectsV1UpdateProjectResponse defines model for livekit.publicapi.projects.v1.UpdateProjectResponse. -type LivekitPublicapiProjectsV1UpdateProjectResponse struct { +// LivekitPublicapiProjectsV1GetProjectResponse defines model for livekit.publicapi.projects.v1.GetProjectResponse. +type LivekitPublicapiProjectsV1GetProjectResponse struct { // Project Project is a LiveKit Cloud project (owned by cloud-api-server). // Field set mirrors backend-common model.Project (most config fields); // members/domains are separate list resources and are not embedded here. Project *LivekitPublicapiProjectsV1Project `json:"project,omitempty"` } -// LivekitPublicapiProjectsV1Webhook Webhook is a project webhook destination (mirrors backend-common Webhook). -type LivekitPublicapiProjectsV1Webhook struct { - FilterParams *LivekitFilterParams `json:"filterParams,omitempty"` - Id *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - SigningKey *string `json:"signingKey,omitempty"` - Url *string `json:"url,omitempty"` -} - -// LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse defines model for livekit.publicapi.simulations.v1.Scenarios.GenerateFromSession.Response. -type LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse struct { - // Scenario A single scenario, mirroring one entry in a scenarios.yaml file. Scenarios - // are no longer stored server-side; the yaml file is the source of truth. - Scenario *LivekitScenario `json:"scenario,omitempty"` -} - -// LivekitPublicapiSimulationsV1SimulationRunsCancelResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Cancel.Response. -type LivekitPublicapiSimulationsV1SimulationRunsCancelResponse = map[string]interface{} - -// LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.ConfirmSourceUpload.Response. -type LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse = map[string]interface{} - -// LivekitPublicapiSimulationsV1SimulationRunsCountsResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Counts.Response. -type LivekitPublicapiSimulationsV1SimulationRunsCountsResponse struct { - // Buckets Buckets holding at least one run, ascending by bucket_start. Empty - // buckets are omitted; each run lands in exactly one bucket, so the - // counts sum to the number of runs in the window. - Buckets *[]LivekitSimulationRunCountsBucket `json:"buckets,omitempty"` - - // Interval The bucket width the service chose for the window (at most 60 buckets, - // never narrower than one minute), so a client zero-fills the omitted - // buckets on the grid the counts were built on. - // - // Examples: 86400s, 1.500s, 0.000000001s - Interval *GoogleProtobufDuration `json:"interval,omitempty"` +// LivekitPublicapiProjectsV1InviteMemberResponse defines model for livekit.publicapi.projects.v1.InviteMemberResponse. +type LivekitPublicapiProjectsV1InviteMemberResponse struct { + InviteToken *string `json:"inviteToken,omitempty"` + ProjectId *string `json:"projectId,omitempty"` } -// LivekitPublicapiSimulationsV1SimulationRunsCreateResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Create.Response. -type LivekitPublicapiSimulationsV1SimulationRunsCreateResponse struct { - // PresignedPostRequest Presigned POST for uploading the agent source archive that scenarios - // are generated from; upload, then call ConfirmSimulationSourceUpload. - // Unset when the run was created with a scenario_group. - PresignedPostRequest *LivekitPresignedPostRequest `json:"presignedPostRequest,omitempty"` - SimulationRunId *string `json:"simulationRunId,omitempty"` +// LivekitPublicapiProjectsV1ListInvitesResponse defines model for livekit.publicapi.projects.v1.ListInvitesResponse. +type LivekitPublicapiProjectsV1ListInvitesResponse struct { + Items *[]LivekitPublicapiProjectsV1ProjectInvite `json:"items,omitempty"` } -// LivekitPublicapiSimulationsV1SimulationRunsGetResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Get.Response. -type LivekitPublicapiSimulationsV1SimulationRunsGetResponse struct { - // Run The run. summary_zstd is always empty here; see - // GetSimulationRunSummary. - Run *LivekitSimulationRun `json:"run,omitempty"` +// LivekitPublicapiProjectsV1ListKeysResponse defines model for livekit.publicapi.projects.v1.ListKeysResponse. +type LivekitPublicapiProjectsV1ListKeysResponse struct { + Keys *[]LivekitPublicapiProjectsV1AccessKey `json:"keys,omitempty"` } -// LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.GetSummary.Response. -type LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse struct { - // Summary The decoded summary of a finished run. - Summary *LivekitSimulationRunSummary `json:"summary,omitempty"` +// LivekitPublicapiProjectsV1ListMembersResponse defines model for livekit.publicapi.projects.v1.ListMembersResponse. +type LivekitPublicapiProjectsV1ListMembersResponse struct { + Items *[]LivekitPublicapiProjectsV1ProjectMember `json:"items,omitempty"` } -// LivekitPublicapiSimulationsV1SimulationRunsListResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.List.Response. -type LivekitPublicapiSimulationsV1SimulationRunsListResponse struct { - Items *[]LivekitSimulationRun `json:"items,omitempty"` +// LivekitPublicapiProjectsV1ListProjectsResponse defines model for livekit.publicapi.projects.v1.ListProjectsResponse. +type LivekitPublicapiProjectsV1ListProjectsResponse struct { + Items *[]LivekitPublicapiProjectsV1Project `json:"items,omitempty"` // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` } -// LivekitPublicapiUsersV1GetCurrentUserResponse defines model for livekit.publicapi.users.v1.GetCurrentUserResponse. -type LivekitPublicapiUsersV1GetCurrentUserResponse struct { - // User User is a LiveKit Cloud user (owned by cloud-api-server). - User *LivekitPublicapiUsersV1User `json:"user,omitempty"` +// LivekitPublicapiProjectsV1ListScopedKeysResponse defines model for livekit.publicapi.projects.v1.ListScopedKeysResponse. +type LivekitPublicapiProjectsV1ListScopedKeysResponse struct { + OtherKeys *[]LivekitPublicapiProjectsV1AccessKey `json:"otherKeys,omitempty"` + PersonalKeys *[]LivekitPublicapiProjectsV1AccessKey `json:"personalKeys,omitempty"` } -// LivekitPublicapiUsersV1GetUserResponse defines model for livekit.publicapi.users.v1.GetUserResponse. -type LivekitPublicapiUsersV1GetUserResponse struct { - // User User is a LiveKit Cloud user (owned by cloud-api-server). - User *LivekitPublicapiUsersV1User `json:"user,omitempty"` +// LivekitPublicapiProjectsV1PinnedRegions PinnedRegions wraps the region pin set so an explicit empty list can clear +// +// the pins, which a bare repeated field cannot express (mirrors cloud +// AdminSetProjectSettingsRequest.pinned_regions). +type LivekitPublicapiProjectsV1PinnedRegions struct { + Regions *[]string `json:"regions,omitempty"` } -// LivekitPublicapiUsersV1ListUsersResponse defines model for livekit.publicapi.users.v1.ListUsersResponse. -type LivekitPublicapiUsersV1ListUsersResponse struct { - Items *[]LivekitPublicapiUsersV1User `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -} +// LivekitPublicapiProjectsV1Project Project is a LiveKit Cloud project (owned by cloud-api-server). +// +// Field set mirrors backend-common model.Project (most config fields); +// members/domains are separate list resources and are not embedded here. +type LivekitPublicapiProjectsV1Project struct { + AnalyticsAccessKey *string `json:"analyticsAccessKey,omitempty"` -// LivekitPublicapiUsersV1User User is a LiveKit Cloud user (owned by cloud-api-server). -type LivekitPublicapiUsersV1User struct { // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on @@ -5929,211 +5982,47 @@ type LivekitPublicapiUsersV1User struct { // ) to obtain a formatter capable of generating timestamps in this format. // // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - Email *string `json:"email,omitempty"` - Id *string `json:"id,omitempty"` -} - -// LivekitPublicapiWorkspacesV1AnswerInviteResponse defines model for livekit.publicapi.workspaces.v1.AnswerInviteResponse. -type LivekitPublicapiWorkspacesV1AnswerInviteResponse struct { - // Member set when accept=true - Member *LivekitPublicapiWorkspacesV1WorkspaceMember `json:"member,omitempty"` -} - -// LivekitPublicapiWorkspacesV1CreateInviteResponse defines model for livekit.publicapi.workspaces.v1.CreateInviteResponse. -type LivekitPublicapiWorkspacesV1CreateInviteResponse struct { - InviteToken *string `json:"inviteToken,omitempty"` - WorkspaceId *string `json:"workspaceId,omitempty"` -} - -// LivekitPublicapiWorkspacesV1CreateWorkspaceRequest defines model for livekit.publicapi.workspaces.v1.CreateWorkspaceRequest. -type LivekitPublicapiWorkspacesV1CreateWorkspaceRequest struct { - Name *string `json:"name,omitempty"` - - // OrganizationId Optional organization association. from_project_id and preferences are intentionally omitted: cloud treats - // from_project_id as admin-only, and hipaa_compliant preferences cascade to - // every project (AdminService.UpdateWorkspace only). - OrganizationId *string `json:"organizationId,omitempty"` -} - -// LivekitPublicapiWorkspacesV1CreateWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.CreateWorkspaceResponse. -type LivekitPublicapiWorkspacesV1CreateWorkspaceResponse struct { - // Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). - // Field set mirrors backend-common model.Workspace.ToProto(); members/invites - // are separate list resources and are not embedded here. - Workspace *LivekitPublicapiWorkspacesV1Workspace `json:"workspace,omitempty"` -} - -// LivekitPublicapiWorkspacesV1DeleteInviteResponse defines model for livekit.publicapi.workspaces.v1.DeleteInviteResponse. -type LivekitPublicapiWorkspacesV1DeleteInviteResponse = map[string]interface{} - -// LivekitPublicapiWorkspacesV1DeleteMemberResponse defines model for livekit.publicapi.workspaces.v1.DeleteMemberResponse. -type LivekitPublicapiWorkspacesV1DeleteMemberResponse = map[string]interface{} - -// LivekitPublicapiWorkspacesV1DeleteWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.DeleteWorkspaceResponse. -type LivekitPublicapiWorkspacesV1DeleteWorkspaceResponse = map[string]interface{} - -// LivekitPublicapiWorkspacesV1GetInviteResponse defines model for livekit.publicapi.workspaces.v1.GetInviteResponse. -type LivekitPublicapiWorkspacesV1GetInviteResponse struct { - // Invite WorkspaceInvite is a pending email invite to a workspace. - Invite *LivekitPublicapiWorkspacesV1WorkspaceInvite `json:"invite,omitempty"` -} - -// LivekitPublicapiWorkspacesV1GetMemberResponse defines model for livekit.publicapi.workspaces.v1.GetMemberResponse. -type LivekitPublicapiWorkspacesV1GetMemberResponse struct { - // Member WorkspaceMember is a user's membership on a workspace. - Member *LivekitPublicapiWorkspacesV1WorkspaceMember `json:"member,omitempty"` -} - -// LivekitPublicapiWorkspacesV1GetWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.GetWorkspaceResponse. -type LivekitPublicapiWorkspacesV1GetWorkspaceResponse struct { - // Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). - // Field set mirrors backend-common model.Workspace.ToProto(); members/invites - // are separate list resources and are not embedded here. - Workspace *LivekitPublicapiWorkspacesV1Workspace `json:"workspace,omitempty"` -} - -// LivekitPublicapiWorkspacesV1ListInvitesResponse defines model for livekit.publicapi.workspaces.v1.ListInvitesResponse. -type LivekitPublicapiWorkspacesV1ListInvitesResponse struct { - Items *[]LivekitPublicapiWorkspacesV1WorkspaceInvite `json:"items,omitempty"` -} - -// LivekitPublicapiWorkspacesV1ListMembersResponse defines model for livekit.publicapi.workspaces.v1.ListMembersResponse. -type LivekitPublicapiWorkspacesV1ListMembersResponse struct { - Items *[]LivekitPublicapiWorkspacesV1WorkspaceMember `json:"items,omitempty"` -} - -// LivekitPublicapiWorkspacesV1ListWorkspacesResponse defines model for livekit.publicapi.workspaces.v1.ListWorkspacesResponse. -type LivekitPublicapiWorkspacesV1ListWorkspacesResponse struct { - Items *[]LivekitPublicapiWorkspacesV1Workspace `json:"items,omitempty"` - - // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. - PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` -} - -// LivekitPublicapiWorkspacesV1UpdateMemberResponse defines model for livekit.publicapi.workspaces.v1.UpdateMemberResponse. -type LivekitPublicapiWorkspacesV1UpdateMemberResponse struct { - // Member WorkspaceMember is a user's membership on a workspace. - Member *LivekitPublicapiWorkspacesV1WorkspaceMember `json:"member,omitempty"` -} + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + CreatorId *string `json:"creatorId,omitempty"` + EgressClusterId *string `json:"egressClusterId,omitempty"` + EnableAnalytics *bool `json:"enableAnalytics,omitempty"` + EnableAutoCreate *bool `json:"enableAutoCreate,omitempty"` + EnableEnhancedNoiseCancellation *bool `json:"enableEnhancedNoiseCancellation,omitempty"` + EnableHostedAgents *bool `json:"enableHostedAgents,omitempty"` + EnableInferenceRegionRestriction *bool `json:"enableInferenceRegionRestriction,omitempty"` + EnablePiiRedaction *bool `json:"enablePiiRedaction,omitempty"` + EnableRemoteUnmute *bool `json:"enableRemoteUnmute,omitempty"` + EnableSafeMode *bool `json:"enableSafeMode,omitempty"` + EnableSipCustomDomain *bool `json:"enableSipCustomDomain,omitempty"` + EnableUserDataRecording *bool `json:"enableUserDataRecording,omitempty"` + EnableUserDataTraining *bool `json:"enableUserDataTraining,omitempty"` + EnabledCodecs *[]string `json:"enabledCodecs,omitempty"` + Id *string `json:"id,omitempty"` + IsPrivate *bool `json:"isPrivate,omitempty"` + Name *string `json:"name,omitempty"` -// LivekitPublicapiWorkspacesV1UpdateWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.UpdateWorkspaceResponse. -type LivekitPublicapiWorkspacesV1UpdateWorkspaceResponse struct { - // Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). - // Field set mirrors backend-common model.Workspace.ToProto(); members/invites - // are separate list resources and are not embedded here. - Workspace *LivekitPublicapiWorkspacesV1Workspace `json:"workspace,omitempty"` -} + // PiiRedactionCategories Categories to redact when enable_pii_redaction is on. Empty on read means + // the stored set (or defaults applied at enable time) — never "redact nothing". + // Same taxonomy as cloud-api UpdateProject (cloud_protocol.PIIRedactionCategory). + PiiRedactionCategories *[]CloudProtocolPIIRedactionCategory `json:"piiRedactionCategories,omitempty"` + PinnedRegions *[]string `json:"pinnedRegions,omitempty"` -// LivekitPublicapiWorkspacesV1Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). -// -// Field set mirrors backend-common model.Workspace.ToProto(); members/invites -// are separate list resources and are not embedded here. -type LivekitPublicapiWorkspacesV1Workspace struct { - // CreatedAt A Timestamp represents a point in time independent of any time zone or local - // calendar, encoded as a count of seconds and fractions of seconds at - // nanosecond resolution. The count is relative to an epoch at UTC midnight on - // January 1, 1970, in the proleptic Gregorian calendar which extends the - // Gregorian calendar backwards to year one. - // - // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - // second table is needed for interpretation, using a [24-hour linear - // smear](https://developers.google.com/time/smear). - // - // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - // restricting to that range, we ensure that we can convert to and from [RFC - // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - // - // # Examples - // - // Example 1: Compute Timestamp from POSIX `time()`. - // - // Timestamp timestamp; - // timestamp.set_seconds(time(NULL)); - // timestamp.set_nanos(0); - // - // Example 2: Compute Timestamp from POSIX `gettimeofday()`. - // - // struct timeval tv; - // gettimeofday(&tv, NULL); - // - // Timestamp timestamp; - // timestamp.set_seconds(tv.tv_sec); - // timestamp.set_nanos(tv.tv_usec * 1000); - // - // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - // - // FILETIME ft; - // GetSystemTimeAsFileTime(&ft); - // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - // - // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - // Timestamp timestamp; - // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - // - // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - // - // long millis = System.currentTimeMillis(); - // - // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - // .setNanos((int) ((millis % 1000) * 1000000)).build(); - // - // Example 5: Compute Timestamp from Java `Instant.now()`. - // - // Instant now = Instant.now(); - // - // Timestamp timestamp = - // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) - // .setNanos(now.getNano()).build(); - // - // Example 6: Compute Timestamp from current time in Python. - // - // timestamp = Timestamp() - // timestamp.GetCurrentTime() - // - // # JSON Mapping - // - // In JSON format, the Timestamp type is encoded as a string in the - // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - // where {year} is always expressed using four digits while {month}, {day}, - // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - // is required. A ProtoJSON serializer should always use UTC (as indicated by - // "Z") when printing the Timestamp type and a ProtoJSON parser should be - // able to accept both UTC and other timezones (as indicated by an offset). - // - // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - // 01:30 UTC on January 15, 2017. - // - // In JavaScript, one can convert a Date object to this format using the - // standard - // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - // method. In Python, a standard `datetime.datetime` object can be converted - // to this format using - // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - // the Joda Time's [`ISODateTimeFormat.dateTime()`]( - // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() - // ) to obtain a formatter capable of generating timestamps in this format. - // - // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z - CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` - CreatorId *string `json:"creatorId,omitempty"` - Id *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - OrganizationId *string `json:"organizationId,omitempty"` + // Preferences ProjectPreferences holds per-project UI/feature settings (mirrors + // backend-common ProjectPreferences). + Preferences *LivekitPublicapiProjectsV1ProjectPreferences `json:"preferences,omitempty"` + RequireExplicitDispatch *bool `json:"requireExplicitDispatch,omitempty"` + Subdomain *string `json:"subdomain,omitempty"` - // Preferences WorkspacePreferences holds per-workspace settings (mirrors backend-common - // WorkspacePreferences). - Preferences *LivekitPublicapiWorkspacesV1WorkspacePreferences `json:"preferences,omitempty"` + // Url The project's LiveKit server URL (wss://), derived from its subdomain. + Url *string `json:"url,omitempty"` + UserDataLifetimeDays *int32 `json:"userDataLifetimeDays,omitempty"` + UserDataRegion *string `json:"userDataRegion,omitempty"` + Webhooks *[]LivekitPublicapiProjectsV1Webhook `json:"webhooks,omitempty"` + WorkspaceId *string `json:"workspaceId,omitempty"` } -// LivekitPublicapiWorkspacesV1WorkspaceInvite WorkspaceInvite is a pending email invite to a workspace. -type LivekitPublicapiWorkspacesV1WorkspaceInvite struct { +// LivekitPublicapiProjectsV1ProjectInvite ProjectInvite is a pending email invite to a project (token-based, cloud InviteMember2). +type LivekitPublicapiProjectsV1ProjectInvite struct { Email *string `json:"email,omitempty"` // ExpiresAt A Timestamp represents a point in time independent of any time zone or local @@ -6229,51 +6118,193 @@ type LivekitPublicapiWorkspacesV1WorkspaceInvite struct { // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` InviteToken *string `json:"inviteToken,omitempty"` + ProjectId *string `json:"projectId,omitempty"` Role *int32 `json:"role,omitempty"` - WorkspaceId *string `json:"workspaceId,omitempty"` } -// LivekitPublicapiWorkspacesV1WorkspaceMember WorkspaceMember is a user's membership on a workspace. -type LivekitPublicapiWorkspacesV1WorkspaceMember struct { - Email *string `json:"email,omitempty"` +// LivekitPublicapiProjectsV1ProjectMember ProjectMember is a user's membership on a project. +type LivekitPublicapiProjectsV1ProjectMember struct { + Email *string `json:"email,omitempty"` + ProjectId *string `json:"projectId,omitempty"` // Role Matches cloud_protocol.ProjectMemberRole: INVITED=0, READ=1, WRITE=2, ADMIN=3. - Role *int32 `json:"role,omitempty"` - UserId *string `json:"userId,omitempty"` - WorkspaceId *string `json:"workspaceId,omitempty"` + Role *int32 `json:"role,omitempty"` + UserId *string `json:"userId,omitempty"` } -// LivekitPublicapiWorkspacesV1WorkspacePreferences WorkspacePreferences holds per-workspace settings (mirrors backend-common +// LivekitPublicapiProjectsV1ProjectPreferences ProjectPreferences holds per-project UI/feature settings (mirrors // -// WorkspacePreferences). -type LivekitPublicapiWorkspacesV1WorkspacePreferences struct { - HipaaCompliant *bool `json:"hipaaCompliant,omitempty"` -} - -// ProjectServiceAnswerInvitationJSONBody defines parameters for ProjectServiceAnswerInvitation. -type ProjectServiceAnswerInvitationJSONBody struct { - Accept *bool `json:"accept,omitempty"` +// backend-common ProjectPreferences). +type LivekitPublicapiProjectsV1ProjectPreferences struct { + DisableTokenEndpoint *bool `json:"disableTokenEndpoint,omitempty"` + DiscoverableByDomain *bool `json:"discoverableByDomain,omitempty"` + EnableEgressAutoRetry *bool `json:"enableEgressAutoRetry,omitempty"` + EnableEgressBackupStorage *bool `json:"enableEgressBackupStorage,omitempty"` + FeatureFlags *map[string]string `json:"featureFlags,omitempty"` + HideOnboarding *bool `json:"hideOnboarding,omitempty"` + HideSampleAppGallery *bool `json:"hideSampleAppGallery,omitempty"` + HipaaCompliant *bool `json:"hipaaCompliant,omitempty"` + JoinableByDomain *bool `json:"joinableByDomain,omitempty"` + RoomConfigurations *map[string]LivekitRoomConfiguration `json:"roomConfigurations,omitempty"` + SfuAllowPause *bool `json:"sfuAllowPause,omitempty"` + TokenEndpointKey *string `json:"tokenEndpointKey,omitempty"` } -// ProjectServiceListProjectsParams defines parameters for ProjectServiceListProjects. -type ProjectServiceListProjectsParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` +// LivekitPublicapiProjectsV1RemoveMemberResponse defines model for livekit.publicapi.projects.v1.RemoveMemberResponse. +type LivekitPublicapiProjectsV1RemoveMemberResponse = map[string]interface{} - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` +// LivekitPublicapiProjectsV1TokenGrants TokenGrants are the claims of a LiveKit access token. Field names match the +// +// token's JSON claims (protocol auth.ClaimGrants), so a token's claims JSON is +// a valid TokenGrants in JSON form. +type LivekitPublicapiProjectsV1TokenGrants struct { + // Agent Agent server API permissions. + Agent *LivekitPublicapiProjectsV1TokenGrantsAgent `json:"agent,omitempty"` - // WorkspaceId Mutually exclusive: only one of workspace_id or member_id can be set - // if workspace_id is set, list projects for the workspace - WorkspaceId *string `form:"workspaceId,omitempty" json:"workspaceId,omitempty"` + // AgentEndpoint Calling an agent's non-public HTTP endpoints. + AgentEndpoint *LivekitPublicapiProjectsV1TokenGrantsAgentEndpoint `json:"agentEndpoint,omitempty"` - // MemberId if member_id is set, list projects for the member - MemberId *string `form:"memberId,omitempty" json:"memberId,omitempty"` + // AgentThread A thread token: list and create in scope; read, write and delete the + // threads in thread_ids, e.g. for a frontend rendering one conversation. + // all extends it to every thread of the project; the action flags still + // apply. + AgentThread *LivekitPublicapiProjectsV1TokenGrantsAgentThread `json:"agentThread,omitempty"` + Attributes *map[string]string `json:"attributes,omitempty"` + + // Identity Participant identity (the token's subject). + Identity *string `json:"identity,omitempty"` + Inference *LivekitPublicapiProjectsV1TokenGrantsInference `json:"inference,omitempty"` + + // Kind Participant kind: "standard", "ingress", "egress", "sip", or "agent". + Kind *string `json:"kind,omitempty"` + KindDetails *[]string `json:"kindDetails,omitempty"` + Metadata *string `json:"metadata,omitempty"` + + // Name Participant display name. + Name *string `json:"name,omitempty"` + Observability *LivekitPublicapiProjectsV1TokenGrantsObservability `json:"observability,omitempty"` + + // RoomConfig Configuration for a room this participant creates on join, including + // agent dispatches. + RoomConfig *LivekitRoomConfiguration `json:"roomConfig,omitempty"` + + // RoomPreset Cloud room configuration preset; fields in room_config override it. + RoomPreset *string `json:"roomPreset,omitempty"` + + // Sip SIP server API permissions. + Sip *LivekitPublicapiProjectsV1TokenGrantsSip `json:"sip,omitempty"` + + // Video Room and participant permissions. + Video *LivekitPublicapiProjectsV1TokenGrantsVideo `json:"video,omitempty"` } -// ProjectServiceUpdateProjectJSONBody defines parameters for ProjectServiceUpdateProject. -type ProjectServiceUpdateProjectJSONBody struct { +// LivekitPublicapiProjectsV1TokenGrantsAgent Agent server API permissions. +type LivekitPublicapiProjectsV1TokenGrantsAgent struct { + Admin *bool `json:"admin,omitempty"` + DatabaseAdmin *bool `json:"databaseAdmin,omitempty"` + DispatchAdmin *bool `json:"dispatchAdmin,omitempty"` + SimulationAdmin *bool `json:"simulationAdmin,omitempty"` +} + +// LivekitPublicapiProjectsV1TokenGrantsAgentEndpoint Calling an agent's non-public HTTP endpoints. +type LivekitPublicapiProjectsV1TokenGrantsAgentEndpoint struct { + // AgentName One agent; empty for every agent of the project. + AgentName *string `json:"agentName,omitempty"` + Call *bool `json:"call,omitempty"` + + // Deployment One deployment; empty for every deployment. + Deployment *string `json:"deployment,omitempty"` +} + +// LivekitPublicapiProjectsV1TokenGrantsAgentThread A thread token: list and create in scope; read, write and delete the +// +// threads in thread_ids, e.g. for a frontend rendering one conversation. +// all extends it to every thread of the project; the action flags still +// apply. +type LivekitPublicapiProjectsV1TokenGrantsAgentThread struct { + All *bool `json:"all,omitempty"` + Create *bool `json:"create,omitempty"` + Delete *bool `json:"delete,omitempty"` + List *bool `json:"list,omitempty"` + Read *bool `json:"read,omitempty"` + Scope *string `json:"scope,omitempty"` + ThreadIds *[]string `json:"threadIds,omitempty"` + Write *bool `json:"write,omitempty"` +} + +// LivekitPublicapiProjectsV1TokenGrantsInference defines model for livekit.publicapi.projects.v1.TokenGrants.Inference. +type LivekitPublicapiProjectsV1TokenGrantsInference struct { + Perform *bool `json:"perform,omitempty"` +} + +// LivekitPublicapiProjectsV1TokenGrantsObservability defines model for livekit.publicapi.projects.v1.TokenGrants.Observability. +type LivekitPublicapiProjectsV1TokenGrantsObservability struct { + Write *bool `json:"write,omitempty"` +} + +// LivekitPublicapiProjectsV1TokenGrantsSip SIP server API permissions. +type LivekitPublicapiProjectsV1TokenGrantsSip struct { + Admin *bool `json:"admin,omitempty"` + Call *bool `json:"call,omitempty"` +} + +// LivekitPublicapiProjectsV1TokenGrantsVideo Room and participant permissions. +type LivekitPublicapiProjectsV1TokenGrantsVideo struct { + Agent *bool `json:"agent,omitempty"` + CanManageAgentSession *bool `json:"canManageAgentSession,omitempty"` + + // CanPublish Unset means allowed. + CanPublish *bool `json:"canPublish,omitempty"` + CanPublishData *bool `json:"canPublishData,omitempty"` + + // CanPublishSources Restrict publishing to these sources ("camera", "microphone", …). + CanPublishSources *[]string `json:"canPublishSources,omitempty"` + CanSubscribe *bool `json:"canSubscribe,omitempty"` + CanSubscribeMetrics *bool `json:"canSubscribeMetrics,omitempty"` + CanUpdateOwnMetadata *bool `json:"canUpdateOwnMetadata,omitempty"` + + // DestinationRoom Room to move or forward participants to. + DestinationRoom *string `json:"destinationRoom,omitempty"` + Hidden *bool `json:"hidden,omitempty"` + + // IngressAdmin Server API: manage ingress. + IngressAdmin *bool `json:"ingressAdmin,omitempty"` + Recorder *bool `json:"recorder,omitempty"` + Room *string `json:"room,omitempty"` + + // RoomAdmin Server API: manage `room` (or any room when unset). + RoomAdmin *bool `json:"roomAdmin,omitempty"` + + // RoomCreate Server API: create rooms. + RoomCreate *bool `json:"roomCreate,omitempty"` + + // RoomJoin Join `room`. + RoomJoin *bool `json:"roomJoin,omitempty"` + + // RoomList Server API: list rooms. + RoomList *bool `json:"roomList,omitempty"` + + // RoomRecord Server API: start and manage egress. + RoomRecord *bool `json:"roomRecord,omitempty"` +} + +// LivekitPublicapiProjectsV1UpdateInviteResponse defines model for livekit.publicapi.projects.v1.UpdateInviteResponse. +type LivekitPublicapiProjectsV1UpdateInviteResponse struct { + // Invite ProjectInvite is a pending email invite to a project (token-based, cloud InviteMember2). + Invite *LivekitPublicapiProjectsV1ProjectInvite `json:"invite,omitempty"` +} + +// LivekitPublicapiProjectsV1UpdateMemberResponse defines model for livekit.publicapi.projects.v1.UpdateMemberResponse. +type LivekitPublicapiProjectsV1UpdateMemberResponse struct { + // Member ProjectMember is a user's membership on a project. + Member *LivekitPublicapiProjectsV1ProjectMember `json:"member,omitempty"` +} + +// LivekitPublicapiProjectsV1UpdateProjectRequest UpdateProjectRequest patches a project. Unset optional fields are left +// +// unchanged (proto3 optional). Mirrors cloud-api UpdateProject for local mode; +// webhooks are separate RPCs (not included here). +type LivekitPublicapiProjectsV1UpdateProjectRequest struct { CustomDomain *string `json:"customDomain,omitempty"` DisableTokenEndpoint *bool `json:"disableTokenEndpoint,omitempty"` DiscoverableByDomain *bool `json:"discoverableByDomain,omitempty"` @@ -6313,6 +6344,7 @@ type ProjectServiceUpdateProjectJSONBody struct { // replaces the stored set, so an empty regions list clears the pins (same // shape as cloud AdminPinnedRegions). Distinct from user_data_region. PinnedRegions *LivekitPublicapiProjectsV1PinnedRegions `json:"pinnedRegions,omitempty"` + ProjectId *string `json:"projectId,omitempty"` RequireExplicitDispatch *bool `json:"requireExplicitDispatch,omitempty"` RoomConfigsToDelete *[]string `json:"roomConfigsToDelete,omitempty"` @@ -6323,110 +6355,156 @@ type ProjectServiceUpdateProjectJSONBody struct { TokenEndpointKey *string `json:"tokenEndpointKey,omitempty"` } -// AnalyticsServiceGetProjectAnalyticsParams defines parameters for AnalyticsServiceGetProjectAnalytics. -type AnalyticsServiceGetProjectAnalyticsParams struct { - // RangeStartTime A Timestamp represents a point in time independent of any time zone or local - // calendar, encoded as a count of seconds and fractions of seconds at - // nanosecond resolution. The count is relative to an epoch at UTC midnight on - // January 1, 1970, in the proleptic Gregorian calendar which extends the - // Gregorian calendar backwards to year one. - // - // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - // second table is needed for interpretation, using a [24-hour linear - // smear](https://developers.google.com/time/smear). - // - // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By - // restricting to that range, we ensure that we can convert to and from [RFC - // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. - // - // # Examples - // - // Example 1: Compute Timestamp from POSIX `time()`. - // - // Timestamp timestamp; - // timestamp.set_seconds(time(NULL)); - // timestamp.set_nanos(0); - // - // Example 2: Compute Timestamp from POSIX `gettimeofday()`. - // - // struct timeval tv; - // gettimeofday(&tv, NULL); - // - // Timestamp timestamp; - // timestamp.set_seconds(tv.tv_sec); - // timestamp.set_nanos(tv.tv_usec * 1000); - // - // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - // - // FILETIME ft; - // GetSystemTimeAsFileTime(&ft); - // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - // - // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z - // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. - // Timestamp timestamp; - // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); - // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); - // - // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - // - // long millis = System.currentTimeMillis(); - // - // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - // .setNanos((int) ((millis % 1000) * 1000000)).build(); - // - // Example 5: Compute Timestamp from Java `Instant.now()`. - // - // Instant now = Instant.now(); - // - // Timestamp timestamp = - // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) - // .setNanos(now.getNano()).build(); - // - // Example 6: Compute Timestamp from current time in Python. - // - // timestamp = Timestamp() - // timestamp.GetCurrentTime() - // - // # JSON Mapping - // - // In JSON format, the Timestamp type is encoded as a string in the - // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the - // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" - // where {year} is always expressed using four digits while {month}, {day}, - // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional - // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), - // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone - // is required. A ProtoJSON serializer should always use UTC (as indicated by - // "Z") when printing the Timestamp type and a ProtoJSON parser should be - // able to accept both UTC and other timezones (as indicated by an offset). - // - // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past - // 01:30 UTC on January 15, 2017. - // - // In JavaScript, one can convert a Date object to this format using the - // standard - // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) - // method. In Python, a standard `datetime.datetime` object can be converted - // to this format using - // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with - // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use - // the Joda Time's [`ISODateTimeFormat.dateTime()`]( - // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() - // ) to obtain a formatter capable of generating timestamps in this format. - RangeStartTime *time.Time `form:"range.startTime,omitempty" json:"range.startTime,omitempty"` +// LivekitPublicapiProjectsV1UpdateProjectResponse defines model for livekit.publicapi.projects.v1.UpdateProjectResponse. +type LivekitPublicapiProjectsV1UpdateProjectResponse struct { + // Project Project is a LiveKit Cloud project (owned by cloud-api-server). + // Field set mirrors backend-common model.Project (most config fields); + // members/domains are separate list resources and are not embedded here. + Project *LivekitPublicapiProjectsV1Project `json:"project,omitempty"` +} - // RangeEndTime A Timestamp represents a point in time independent of any time zone or local - // calendar, encoded as a count of seconds and fractions of seconds at - // nanosecond resolution. The count is relative to an epoch at UTC midnight on - // January 1, 1970, in the proleptic Gregorian calendar which extends the - // Gregorian calendar backwards to year one. - // - // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap - // second table is needed for interpretation, using a [24-hour linear - // smear](https://developers.google.com/time/smear). - // - // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// LivekitPublicapiProjectsV1Webhook Webhook is a project webhook destination (mirrors backend-common Webhook). +type LivekitPublicapiProjectsV1Webhook struct { + FilterParams *LivekitFilterParams `json:"filterParams,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + SigningKey *string `json:"signingKey,omitempty"` + Url *string `json:"url,omitempty"` +} + +// LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse defines model for livekit.publicapi.simulations.v1.Scenarios.GenerateFromSession.Response. +type LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse struct { + // Scenario A single scenario, mirroring one entry in a scenarios.yaml file. Scenarios + // are no longer stored server-side; the yaml file is the source of truth. + Scenario *LivekitScenario `json:"scenario,omitempty"` +} + +// LivekitPublicapiSimulationsV1SimulationRunsCancelResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Cancel.Response. +type LivekitPublicapiSimulationsV1SimulationRunsCancelResponse = map[string]interface{} + +// LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.ConfirmSourceUpload.Response. +type LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse = map[string]interface{} + +// LivekitPublicapiSimulationsV1SimulationRunsCountsResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Counts.Response. +type LivekitPublicapiSimulationsV1SimulationRunsCountsResponse struct { + // Buckets Buckets holding at least one run, ascending by bucket_start. Empty + // buckets are omitted; each run lands in exactly one bucket, so the + // counts sum to the number of runs in the window. + Buckets *[]LivekitSimulationRunCountsBucket `json:"buckets,omitempty"` + + // Interval The bucket width the service chose for the window (at most 60 buckets, + // never narrower than one minute), so a client zero-fills the omitted + // buckets on the grid the counts were built on. + // + // Examples: 86400s, 1.500s, 0.000000001s + Interval *GoogleProtobufDuration `json:"interval,omitempty"` +} + +// LivekitPublicapiSimulationsV1SimulationRunsCreateResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Create.Response. +type LivekitPublicapiSimulationsV1SimulationRunsCreateResponse struct { + // PresignedPostRequest Presigned POST for uploading the agent source archive that scenarios + // are generated from; upload, then call ConfirmSimulationSourceUpload. + // Unset when the run was created with a scenario_group. + PresignedPostRequest *LivekitPresignedPostRequest `json:"presignedPostRequest,omitempty"` + SimulationRunId *string `json:"simulationRunId,omitempty"` +} + +// LivekitPublicapiSimulationsV1SimulationRunsGetResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.Get.Response. +type LivekitPublicapiSimulationsV1SimulationRunsGetResponse struct { + // Run The run. summary_zstd is always empty here; see + // GetSimulationRunSummary. + Run *LivekitSimulationRun `json:"run,omitempty"` +} + +// LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.GetSummary.Response. +type LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse struct { + // Summary The decoded summary of a finished run. + Summary *LivekitSimulationRunSummary `json:"summary,omitempty"` +} + +// LivekitPublicapiSimulationsV1SimulationRunsListResponse defines model for livekit.publicapi.simulations.v1.SimulationRuns.List.Response. +type LivekitPublicapiSimulationsV1SimulationRunsListResponse struct { + Items *[]LivekitSimulationRun `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiThreadsV1ThreadsCreateResponse defines model for livekit.publicapi.threads.v1.Threads.Create.Response. +type LivekitPublicapiThreadsV1ThreadsCreateResponse struct { + Thread *LivekitAgentAgentThreadThread `json:"thread,omitempty"` +} + +// LivekitPublicapiThreadsV1ThreadsDeleteResponse defines model for livekit.publicapi.threads.v1.Threads.Delete.Response. +type LivekitPublicapiThreadsV1ThreadsDeleteResponse = map[string]interface{} + +// LivekitPublicapiThreadsV1ThreadsGetResponse defines model for livekit.publicapi.threads.v1.Threads.Get.Response. +type LivekitPublicapiThreadsV1ThreadsGetResponse struct { + Thread *LivekitAgentAgentThreadThread `json:"thread,omitempty"` +} + +// LivekitPublicapiThreadsV1ThreadsItemsResponse defines model for livekit.publicapi.threads.v1.Threads.Items.Response. +type LivekitPublicapiThreadsV1ThreadsItemsResponse struct { + Items *[]LivekitAgentAgentThreadItem `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiThreadsV1ThreadsListResponse defines model for livekit.publicapi.threads.v1.Threads.List.Response. +type LivekitPublicapiThreadsV1ThreadsListResponse struct { + Items *[]LivekitAgentAgentThreadThread `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiThreadsV1ThreadsTasksResponse defines model for livekit.publicapi.threads.v1.Threads.Tasks.Response. +type LivekitPublicapiThreadsV1ThreadsTasksResponse struct { + Items *[]LivekitAgentAgentTaskTask `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiThreadsV1ThreadsUpdateResponse defines model for livekit.publicapi.threads.v1.Threads.Update.Response. +type LivekitPublicapiThreadsV1ThreadsUpdateResponse struct { + Thread *LivekitAgentAgentThreadThread `json:"thread,omitempty"` +} + +// LivekitPublicapiUsersV1GetCurrentUserResponse defines model for livekit.publicapi.users.v1.GetCurrentUserResponse. +type LivekitPublicapiUsersV1GetCurrentUserResponse struct { + // User User is a LiveKit Cloud user (owned by cloud-api-server). + User *LivekitPublicapiUsersV1User `json:"user,omitempty"` +} + +// LivekitPublicapiUsersV1GetUserResponse defines model for livekit.publicapi.users.v1.GetUserResponse. +type LivekitPublicapiUsersV1GetUserResponse struct { + // User User is a LiveKit Cloud user (owned by cloud-api-server). + User *LivekitPublicapiUsersV1User `json:"user,omitempty"` +} + +// LivekitPublicapiUsersV1ListUsersResponse defines model for livekit.publicapi.users.v1.ListUsersResponse. +type LivekitPublicapiUsersV1ListUsersResponse struct { + Items *[]LivekitPublicapiUsersV1User `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiUsersV1User User is a LiveKit Cloud user (owned by cloud-api-server). +type LivekitPublicapiUsersV1User struct { + // CreatedAt A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By // restricting to that range, we ensure that we can convert to and from [RFC // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. // @@ -6505,12 +6583,110 @@ type AnalyticsServiceGetProjectAnalyticsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - RangeEndTime *time.Time `form:"range.endTime,omitempty" json:"range.endTime,omitempty"` + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + Email *string `json:"email,omitempty"` + Id *string `json:"id,omitempty"` } -// AnalyticsServiceListAgentAnalyticsParams defines parameters for AnalyticsServiceListAgentAnalytics. -type AnalyticsServiceListAgentAnalyticsParams struct { - // RangeStartTime A Timestamp represents a point in time independent of any time zone or local +// LivekitPublicapiWorkspacesV1AnswerInviteResponse defines model for livekit.publicapi.workspaces.v1.AnswerInviteResponse. +type LivekitPublicapiWorkspacesV1AnswerInviteResponse struct { + // Member set when accept=true + Member *LivekitPublicapiWorkspacesV1WorkspaceMember `json:"member,omitempty"` +} + +// LivekitPublicapiWorkspacesV1CreateInviteResponse defines model for livekit.publicapi.workspaces.v1.CreateInviteResponse. +type LivekitPublicapiWorkspacesV1CreateInviteResponse struct { + InviteToken *string `json:"inviteToken,omitempty"` + WorkspaceId *string `json:"workspaceId,omitempty"` +} + +// LivekitPublicapiWorkspacesV1CreateWorkspaceRequest defines model for livekit.publicapi.workspaces.v1.CreateWorkspaceRequest. +type LivekitPublicapiWorkspacesV1CreateWorkspaceRequest struct { + Name *string `json:"name,omitempty"` + + // OrganizationId Optional organization association. from_project_id and preferences are intentionally omitted: cloud treats + // from_project_id as admin-only, and hipaa_compliant preferences cascade to + // every project (AdminService.UpdateWorkspace only). + OrganizationId *string `json:"organizationId,omitempty"` +} + +// LivekitPublicapiWorkspacesV1CreateWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.CreateWorkspaceResponse. +type LivekitPublicapiWorkspacesV1CreateWorkspaceResponse struct { + // Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). + // Field set mirrors backend-common model.Workspace.ToProto(); members/invites + // are separate list resources and are not embedded here. + Workspace *LivekitPublicapiWorkspacesV1Workspace `json:"workspace,omitempty"` +} + +// LivekitPublicapiWorkspacesV1DeleteInviteResponse defines model for livekit.publicapi.workspaces.v1.DeleteInviteResponse. +type LivekitPublicapiWorkspacesV1DeleteInviteResponse = map[string]interface{} + +// LivekitPublicapiWorkspacesV1DeleteMemberResponse defines model for livekit.publicapi.workspaces.v1.DeleteMemberResponse. +type LivekitPublicapiWorkspacesV1DeleteMemberResponse = map[string]interface{} + +// LivekitPublicapiWorkspacesV1DeleteWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.DeleteWorkspaceResponse. +type LivekitPublicapiWorkspacesV1DeleteWorkspaceResponse = map[string]interface{} + +// LivekitPublicapiWorkspacesV1GetInviteResponse defines model for livekit.publicapi.workspaces.v1.GetInviteResponse. +type LivekitPublicapiWorkspacesV1GetInviteResponse struct { + // Invite WorkspaceInvite is a pending email invite to a workspace. + Invite *LivekitPublicapiWorkspacesV1WorkspaceInvite `json:"invite,omitempty"` +} + +// LivekitPublicapiWorkspacesV1GetMemberResponse defines model for livekit.publicapi.workspaces.v1.GetMemberResponse. +type LivekitPublicapiWorkspacesV1GetMemberResponse struct { + // Member WorkspaceMember is a user's membership on a workspace. + Member *LivekitPublicapiWorkspacesV1WorkspaceMember `json:"member,omitempty"` +} + +// LivekitPublicapiWorkspacesV1GetWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.GetWorkspaceResponse. +type LivekitPublicapiWorkspacesV1GetWorkspaceResponse struct { + // Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). + // Field set mirrors backend-common model.Workspace.ToProto(); members/invites + // are separate list resources and are not embedded here. + Workspace *LivekitPublicapiWorkspacesV1Workspace `json:"workspace,omitempty"` +} + +// LivekitPublicapiWorkspacesV1ListInvitesResponse defines model for livekit.publicapi.workspaces.v1.ListInvitesResponse. +type LivekitPublicapiWorkspacesV1ListInvitesResponse struct { + Items *[]LivekitPublicapiWorkspacesV1WorkspaceInvite `json:"items,omitempty"` +} + +// LivekitPublicapiWorkspacesV1ListMembersResponse defines model for livekit.publicapi.workspaces.v1.ListMembersResponse. +type LivekitPublicapiWorkspacesV1ListMembersResponse struct { + Items *[]LivekitPublicapiWorkspacesV1WorkspaceMember `json:"items,omitempty"` +} + +// LivekitPublicapiWorkspacesV1ListWorkspacesResponse defines model for livekit.publicapi.workspaces.v1.ListWorkspacesResponse. +type LivekitPublicapiWorkspacesV1ListWorkspacesResponse struct { + Items *[]LivekitPublicapiWorkspacesV1Workspace `json:"items,omitempty"` + + // PageInfo PageInfo is the cursor-pagination metadata shared by every list response. + PageInfo *LivekitPublicapiCommonV1PageInfo `json:"pageInfo,omitempty"` +} + +// LivekitPublicapiWorkspacesV1UpdateMemberResponse defines model for livekit.publicapi.workspaces.v1.UpdateMemberResponse. +type LivekitPublicapiWorkspacesV1UpdateMemberResponse struct { + // Member WorkspaceMember is a user's membership on a workspace. + Member *LivekitPublicapiWorkspacesV1WorkspaceMember `json:"member,omitempty"` +} + +// LivekitPublicapiWorkspacesV1UpdateWorkspaceResponse defines model for livekit.publicapi.workspaces.v1.UpdateWorkspaceResponse. +type LivekitPublicapiWorkspacesV1UpdateWorkspaceResponse struct { + // Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). + // Field set mirrors backend-common model.Workspace.ToProto(); members/invites + // are separate list resources and are not embedded here. + Workspace *LivekitPublicapiWorkspacesV1Workspace `json:"workspace,omitempty"` +} + +// LivekitPublicapiWorkspacesV1Workspace Workspace is a LiveKit Cloud workspace (owned by cloud-api-server). +// +// Field set mirrors backend-common model.Workspace.ToProto(); members/invites +// are separate list resources and are not embedded here. +type LivekitPublicapiWorkspacesV1Workspace struct { + // CreatedAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -6599,9 +6775,24 @@ type AnalyticsServiceListAgentAnalyticsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - RangeStartTime *time.Time `form:"range.startTime,omitempty" json:"range.startTime,omitempty"` + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + CreatedAt *GoogleProtobufTimestamp `json:"createdAt,omitempty"` + CreatorId *string `json:"creatorId,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + OrganizationId *string `json:"organizationId,omitempty"` - // RangeEndTime A Timestamp represents a point in time independent of any time zone or local + // Preferences WorkspacePreferences holds per-workspace settings (mirrors backend-common + // WorkspacePreferences). + Preferences *LivekitPublicapiWorkspacesV1WorkspacePreferences `json:"preferences,omitempty"` +} + +// LivekitPublicapiWorkspacesV1WorkspaceInvite WorkspaceInvite is a pending email invite to a workspace. +type LivekitPublicapiWorkspacesV1WorkspaceInvite struct { + Email *string `json:"email,omitempty"` + + // ExpiresAt A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -6690,18 +6881,106 @@ type AnalyticsServiceListAgentAnalyticsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - RangeEndTime *time.Time `form:"range.endTime,omitempty" json:"range.endTime,omitempty"` + // + // Examples: 2023-01-15T01:30:15.01Z, 2024-12-25T12:00:00Z + ExpiresAt *GoogleProtobufTimestamp `json:"expiresAt,omitempty"` + InviteToken *string `json:"inviteToken,omitempty"` + Role *int32 `json:"role,omitempty"` + WorkspaceId *string `json:"workspaceId,omitempty"` +} - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts +// LivekitPublicapiWorkspacesV1WorkspaceMember WorkspaceMember is a user's membership on a workspace. +type LivekitPublicapiWorkspacesV1WorkspaceMember struct { + Email *string `json:"email,omitempty"` + + // Role Matches cloud_protocol.ProjectMemberRole: INVITED=0, READ=1, WRITE=2, ADMIN=3. + Role *int32 `json:"role,omitempty"` + UserId *string `json:"userId,omitempty"` + WorkspaceId *string `json:"workspaceId,omitempty"` +} + +// LivekitPublicapiWorkspacesV1WorkspacePreferences WorkspacePreferences holds per-workspace settings (mirrors backend-common +// +// WorkspacePreferences). +type LivekitPublicapiWorkspacesV1WorkspacePreferences struct { + HipaaCompliant *bool `json:"hipaaCompliant,omitempty"` +} + +// ProjectServiceAnswerInvitationJSONBody defines parameters for ProjectServiceAnswerInvitation. +type ProjectServiceAnswerInvitationJSONBody struct { + Accept *bool `json:"accept,omitempty"` +} + +// ProjectServiceListProjectsParams defines parameters for ProjectServiceListProjects. +type ProjectServiceListProjectsParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts // from the beginning. PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` // PagePageSize Maximum items to return; 0 lets the server pick a default. PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` + + // WorkspaceId Mutually exclusive: only one of workspace_id or member_id can be set + // if workspace_id is set, list projects for the workspace + WorkspaceId *string `form:"workspaceId,omitempty" json:"workspaceId,omitempty"` + + // MemberId if member_id is set, list projects for the member + MemberId *string `form:"memberId,omitempty" json:"memberId,omitempty"` } -// AnalyticsServiceGetAgentAnalyticsParams defines parameters for AnalyticsServiceGetAgentAnalytics. -type AnalyticsServiceGetAgentAnalyticsParams struct { +// ProjectServiceUpdateProjectJSONBody defines parameters for ProjectServiceUpdateProject. +type ProjectServiceUpdateProjectJSONBody struct { + CustomDomain *string `json:"customDomain,omitempty"` + DisableTokenEndpoint *bool `json:"disableTokenEndpoint,omitempty"` + DiscoverableByDomain *bool `json:"discoverableByDomain,omitempty"` + + // EgressClusterId LK-admin only + EgressClusterId *string `json:"egressClusterId,omitempty"` + EnableAnalytics *bool `json:"enableAnalytics,omitempty"` + EnableAutoCreate *bool `json:"enableAutoCreate,omitempty"` + EnableEgressAutoRetry *bool `json:"enableEgressAutoRetry,omitempty"` + EnableEgressBackupStorage *bool `json:"enableEgressBackupStorage,omitempty"` + + // EnableHostedAgents LK-admin only + EnableHostedAgents *bool `json:"enableHostedAgents,omitempty"` + EnableInferenceRegionRestriction *bool `json:"enableInferenceRegionRestriction,omitempty"` + EnablePiiRedaction *bool `json:"enablePiiRedaction,omitempty"` + EnableRemoteUnmute *bool `json:"enableRemoteUnmute,omitempty"` + EnableUserDataRecording *bool `json:"enableUserDataRecording,omitempty"` + EnabledCodecs *[]string `json:"enabledCodecs,omitempty"` + FeatureFlags *map[string]string `json:"featureFlags,omitempty"` + + // HideOnboarding Preferences (flat, matching cloud-api UpdateProjectRequest). + HideOnboarding *bool `json:"hideOnboarding,omitempty"` + HideSampleAppGallery *bool `json:"hideSampleAppGallery,omitempty"` + IsPrivate *bool `json:"isPrivate,omitempty"` + JoinableByDomain *bool `json:"joinableByDomain,omitempty"` + + // Members Used when becoming private: explicit member set (actor kept as ADMIN). + Members *[]LivekitPublicapiProjectsV1CreateProjectMember `json:"members,omitempty"` + Name *string `json:"name,omitempty"` + + // PiiRedactionCategories Non-empty list replaces the stored set (validated via Canonical). + // Empty is ignored (cannot clear). When enabling with nothing stored, + // defaults are applied server-side — same as cloud-api UpdateProject. + PiiRedactionCategories *[]CloudProtocolPIIRedactionCategory `json:"piiRedactionCategories,omitempty"` + + // PinnedRegions SFU/datacenter region pins. Unset leaves them unchanged; a set message + // replaces the stored set, so an empty regions list clears the pins (same + // shape as cloud AdminPinnedRegions). Distinct from user_data_region. + PinnedRegions *LivekitPublicapiProjectsV1PinnedRegions `json:"pinnedRegions,omitempty"` + RequireExplicitDispatch *bool `json:"requireExplicitDispatch,omitempty"` + RoomConfigsToDelete *[]string `json:"roomConfigsToDelete,omitempty"` + + // RoomConfigsToUpsert RoomConfiguration management (stored on project preferences). + RoomConfigsToUpsert *[]LivekitRoomConfiguration `json:"roomConfigsToUpsert,omitempty"` + SfuAllowPause *bool `json:"sfuAllowPause,omitempty"` + Subdomain *string `json:"subdomain,omitempty"` + TokenEndpointKey *string `json:"tokenEndpointKey,omitempty"` +} + +// AnalyticsServiceGetProjectAnalyticsParams defines parameters for AnalyticsServiceGetProjectAnalytics. +type AnalyticsServiceGetProjectAnalyticsParams struct { // RangeStartTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on @@ -6885,62 +7164,9 @@ type AnalyticsServiceGetAgentAnalyticsParams struct { RangeEndTime *time.Time `form:"range.endTime,omitempty" json:"range.endTime,omitempty"` } -// ProjectServiceInviteMemberJSONBody defines parameters for ProjectServiceInviteMember. -type ProjectServiceInviteMemberJSONBody struct { - Email *string `json:"email,omitempty"` - Role *int32 `json:"role,omitempty"` -} - -// ProjectServiceUpdateInviteJSONBody defines parameters for ProjectServiceUpdateInvite. -type ProjectServiceUpdateInviteJSONBody struct { - Role *int32 `json:"role,omitempty"` -} - -// ProjectServiceListKeysParams defines parameters for ProjectServiceListKeys. -type ProjectServiceListKeysParams struct { - // IncludeAgentKeys Agent keys are hidden by default, matching cloud-api-server. - IncludeAgentKeys *bool `form:"includeAgentKeys,omitempty" json:"includeAgentKeys,omitempty"` -} - -// ProjectServiceGenerateKeyJSONBody defines parameters for ProjectServiceGenerateKey. -type ProjectServiceGenerateKeyJSONBody struct { - Description *string `json:"description,omitempty"` - - // IsServiceAccount When true, the key is created without an owner (project-owned). It is not - // listed as anyone's personal key and survives the generating user leaving. - IsServiceAccount *bool `json:"isServiceAccount,omitempty"` -} - -// ProjectServiceUpdateMemberJSONBody defines parameters for ProjectServiceUpdateMember. -type ProjectServiceUpdateMemberJSONBody struct { - Role *int32 `json:"role,omitempty"` -} - -// ProjectServiceAddWorkspaceMembersToProjectJSONBody defines parameters for ProjectServiceAddWorkspaceMembersToProject. -type ProjectServiceAddWorkspaceMembersToProjectJSONBody struct { - Role *int32 `json:"role,omitempty"` - UserIds *[]string `json:"userIds,omitempty"` -} - -// SimulationServiceGenerateScenarioFromSessionJSONBody defines parameters for SimulationServiceGenerateScenarioFromSession. -type SimulationServiceGenerateScenarioFromSessionJSONBody struct { - // Region Unused today: the session's recording is found by project and room. - Region *string `json:"region,omitempty"` - - // RoomId Room session (RM_...) to derive the scenario from. - RoomId *string `json:"roomId,omitempty"` -} - -// AnalyticsServiceListProjectSessionsParams defines parameters for AnalyticsServiceListProjectSessions. -type AnalyticsServiceListProjectSessionsParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - - // FilterRangeStartTime A Timestamp represents a point in time independent of any time zone or local +// AnalyticsServiceListAgentAnalyticsParams defines parameters for AnalyticsServiceListAgentAnalytics. +type AnalyticsServiceListAgentAnalyticsParams struct { + // RangeStartTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -7029,9 +7255,9 @@ type AnalyticsServiceListProjectSessionsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - FilterRangeStartTime *time.Time `form:"filter.range.startTime,omitempty" json:"filter.range.startTime,omitempty"` + RangeStartTime *time.Time `form:"range.startTime,omitempty" json:"range.startTime,omitempty"` - // FilterRangeEndTime A Timestamp represents a point in time independent of any time zone or local + // RangeEndTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -7120,154 +7346,19 @@ type AnalyticsServiceListProjectSessionsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - FilterRangeEndTime *time.Time `form:"filter.range.endTime,omitempty" json:"filter.range.endTime,omitempty"` - - // FilterStatuses OR semantics; empty matches any status. - FilterStatuses *[]LivekitPublicapiAnalyticsV1SessionStatus `form:"filter.statuses,omitempty" json:"filter.statuses,omitempty"` - - // FilterRoomName Room-name prefix match (case-sensitive): returns sessions whose room name - // starts with this value, e.g. `demo-` matches `demo-1` and `demo-lobby`. - FilterRoomName *string `form:"filter.roomName,omitempty" json:"filter.roomName,omitempty"` - - // FilterSessionId Exact room-session id match (RM_...). - FilterSessionId *string `form:"filter.sessionId,omitempty" json:"filter.sessionId,omitempty"` - - // FilterTags OR semantics. - FilterTags *[]string `form:"filter.tags,omitempty" json:"filter.tags,omitempty"` - - // FilterAgentId Cloud agent id (CA_...) — return only sessions this agent served. Duration is not filterable in v1. - FilterAgentId *string `form:"filter.agentId,omitempty" json:"filter.agentId,omitempty"` - - // SortOrder Direction of the started_at ordering, the only column sessions sort on. - // Defaults to descending (newest first) when unset. - SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` -} - -// AnalyticsServiceListSessionEventsParams defines parameters for AnalyticsServiceListSessionEvents. -type AnalyticsServiceListSessionEventsParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - - // Types Event types to return, by name, such as TRACK_PUBLISHED: the names of - // LiveKit's AnalyticsEventType. Each matches exactly. Empty returns the - // dashboard's seven defaults, or with participant_session_id its eleven - // participant defaults, track events included (see ListSessionEvents). - // An unknown name is InvalidArgument. - Types *[]string `form:"types,omitempty" json:"types,omitempty"` - - // ParticipantSessionId Only the events of this participant session (PA_...), as the - // participants list's ParticipantSession.participant_session_id names - // it. Room events and API calls name no participant session, so they - // are left out. Anything but a PA_ id is InvalidArgument. - ParticipantSessionId *string `form:"participantSessionId,omitempty" json:"participantSessionId,omitempty"` - - // SortOrder Direction of the timestamp ordering. Defaults to ascending (oldest - // first) when unset. - SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` -} - -// ObservabilityServiceGetSessionLogsParams defines parameters for ObservabilityServiceGetSessionLogs. -type ObservabilityServiceGetSessionLogsParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - - // LogLevels Only records at these levels, as the dashboard's logs filter selects - // them, for example only TRACE and FATAL. Empty returns every record, - // including those with no level, such as a passed evaluation. - // LOG_LEVEL_UNSPECIFIED is InvalidArgument. - LogLevels *[]LivekitPublicapiObservabilityV1LogLevel `form:"logLevels,omitempty" json:"logLevels,omitempty"` - - // SortOrder Direction of the timestamp ordering. Defaults to ascending (oldest - // first) when unset. - SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` -} - -// ObservabilityServiceGetSessionMetricsParams defines parameters for ObservabilityServiceGetSessionMetrics. -type ObservabilityServiceGetSessionMetricsParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - - // Names Only the points of these metrics, matched exactly, such as - // lk.agents.turn.e2e_latency. Empty returns every metric. At most 50 - // names, each 1 to 256 characters. - Names *[]string `form:"names,omitempty" json:"names,omitempty"` -} + RangeEndTime *time.Time `form:"range.endTime,omitempty" json:"range.endTime,omitempty"` -// AnalyticsServiceListSessionParticipantsParams defines parameters for AnalyticsServiceListSessionParticipants. -type AnalyticsServiceListSessionParticipantsParams struct { // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts // from the beginning. PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` // PagePageSize Maximum items to return; 0 lets the server pick a default. PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - - // SortBy Column to order by. Defaults to joined_at when unset. - SortBy *LivekitPublicapiAnalyticsV1ParticipantSortField `form:"sortBy,omitempty" json:"sortBy,omitempty"` - - // SortOrder Direction of sort_by. Defaults to descending (newest first) when unset. - SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` -} - -// ObservabilityServiceGetSessionRecordingURLParams defines parameters for ObservabilityServiceGetSessionRecordingURL. -type ObservabilityServiceGetSessionRecordingURLParams struct { - // FileType Which recording to sign a URL for. UNSPECIFIED is InvalidArgument. - FileType *LivekitPublicapiObservabilityV1RecordingFileType `form:"fileType,omitempty" json:"fileType,omitempty"` - - // ExpirySeconds How long the URL stays valid, in seconds. Unset or 0 is 900 (15 - // minutes), and anything longer is clamped to 900 without an error; - // expires_at says what was granted. - ExpirySeconds *int `form:"expirySeconds,omitempty" json:"expirySeconds,omitempty"` } -// ObservabilityServiceGetSessionTracesParams defines parameters for ObservabilityServiceGetSessionTraces. -type ObservabilityServiceGetSessionTracesParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` -} - -// ObservabilityServiceGetSessionTranscriptParams defines parameters for ObservabilityServiceGetSessionTranscript. -type ObservabilityServiceGetSessionTranscriptParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` -} - -// SimulationServiceListSimulationRunsParams defines parameters for SimulationServiceListSimulationRuns. -type SimulationServiceListSimulationRunsParams struct { - // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts - // from the beginning. - PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - - // PagePageSize Maximum items to return; 0 lets the server pick a default. - PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - - // Status Only runs in this status. - Status *LivekitSimulationRunStatus `form:"status,omitempty" json:"status,omitempty"` - - // AgentName Only runs of this agent (exact name). - AgentName *string `form:"agentName,omitempty" json:"agentName,omitempty"` - - // StartTime A Timestamp represents a point in time independent of any time zone or local +// AnalyticsServiceGetAgentAnalyticsParams defines parameters for AnalyticsServiceGetAgentAnalytics. +type AnalyticsServiceGetAgentAnalyticsParams struct { + // RangeStartTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -7356,9 +7447,9 @@ type SimulationServiceListSimulationRunsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - StartTime *time.Time `form:"startTime,omitempty" json:"startTime,omitempty"` + RangeStartTime *time.Time `form:"range.startTime,omitempty" json:"range.startTime,omitempty"` - // EndTime A Timestamp represents a point in time independent of any time zone or local + // RangeEndTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -7447,59 +7538,84 @@ type SimulationServiceListSimulationRunsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - EndTime *time.Time `form:"endTime,omitempty" json:"endTime,omitempty"` + RangeEndTime *time.Time `form:"range.endTime,omitempty" json:"range.endTime,omitempty"` +} - // Mode Only runs in this conversation mode. - Mode *LivekitSimulationMode `form:"mode,omitempty" json:"mode,omitempty"` +// DatabaseServiceListDatabasesParams defines parameters for DatabaseServiceListDatabases. +type DatabaseServiceListDatabasesParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` } -// SimulationServiceCreateSimulationRunJSONBody defines parameters for SimulationServiceCreateSimulationRun. -type SimulationServiceCreateSimulationRunJSONBody struct { - // AgentName Name the agent under test is registered under; every job dispatches it - // into the simulation room, so it must already be deployed or running as - // a worker. Empty uses the project's default agent. Recorded on the run - // and usable as a ListSimulationRuns filter. - AgentName *string `json:"agentName,omitempty"` +// DatabaseServiceCreateDatabaseJSONBody defines parameters for DatabaseServiceCreateDatabase. +type DatabaseServiceCreateDatabaseJSONBody struct { + // Ttl Unset: never expires. Otherwise clamped to the server cap, and never + // extended. + // + // Examples: 86400s, 1.500s, 0.000000001s + Ttl *GoogleProtobufDuration `json:"ttl,omitempty"` +} - // BackgroundNoise Audio impairments applied to the simulated user; AUDIO mode only. - BackgroundNoise *bool `json:"backgroundNoise,omitempty"` +// ProjectServiceInviteMemberJSONBody defines parameters for ProjectServiceInviteMember. +type ProjectServiceInviteMemberJSONBody struct { + Email *string `json:"email,omitempty"` + Role *int32 `json:"role,omitempty"` +} - // Ci The CI pipeline this run came from, so runs can be linked back to - // commits. - Ci *LivekitSimulationRunCI `json:"ci,omitempty"` +// ProjectServiceUpdateInviteJSONBody defines parameters for ProjectServiceUpdateInvite. +type ProjectServiceUpdateInviteJSONBody struct { + Role *int32 `json:"role,omitempty"` +} - // Concurrency Maximum jobs running in parallel, at most 20; above that the request is - // InvalidArgument. The project's concurrency quota can run fewer at once. - // Unset uses the server default. - Concurrency *int32 `json:"concurrency,omitempty"` - LowQualityMicrophone *bool `json:"lowQualityMicrophone,omitempty"` +// ProjectServiceListKeysParams defines parameters for ProjectServiceListKeys. +type ProjectServiceListKeysParams struct { + // IncludeAgentKeys Agent keys are hidden by default, matching cloud-api-server. + IncludeAgentKeys *bool `form:"includeAgentKeys,omitempty" json:"includeAgentKeys,omitempty"` +} - // Mode Conversation mode for every job; unspecified means TEXT. - Mode *LivekitSimulationMode `json:"mode,omitempty"` +// ProjectServiceGenerateKeyJSONBody defines parameters for ProjectServiceGenerateKey. +type ProjectServiceGenerateKeyJSONBody struct { + Description *string `json:"description,omitempty"` - // NumSimulations Number of scenarios to generate from the agent source when - // scenario_group is unset. - NumSimulations *int32 `json:"numSimulations,omitempty"` - PacketLoss *bool `json:"packetLoss,omitempty"` + // IsServiceAccount When true, the key is created without an owner (project-owned). It is not + // listed as anyone's personal key and survives the generating user leaving. + IsServiceAccount *bool `json:"isServiceAccount,omitempty"` +} - // Region Reserved: must be empty, and the service chooses where the run happens. - Region *string `json:"region,omitempty"` +// ProjectServiceUpdateMemberJSONBody defines parameters for ProjectServiceUpdateMember. +type ProjectServiceUpdateMemberJSONBody struct { + Role *int32 `json:"role,omitempty"` +} - // ScenarioGroup Run exactly these scenarios (the contents of a scenarios.yaml) instead - // of generating num_simulations of them; the run then needs no source - // upload and starts immediately. - ScenarioGroup *LivekitScenarioGroup `json:"scenarioGroup,omitempty"` +// ProjectServiceAddWorkspaceMembersToProjectJSONBody defines parameters for ProjectServiceAddWorkspaceMembersToProject. +type ProjectServiceAddWorkspaceMembersToProjectJSONBody struct { + Role *int32 `json:"role,omitempty"` + UserIds *[]string `json:"userIds,omitempty"` } -// SimulationServiceConfirmSimulationSourceUploadJSONBody defines parameters for SimulationServiceConfirmSimulationSourceUpload. -type SimulationServiceConfirmSimulationSourceUploadJSONBody struct { - // CodeEntrypoint Entrypoint of the uploaded source, for example "agent.py". - CodeEntrypoint *string `json:"codeEntrypoint,omitempty"` +// SimulationServiceGenerateScenarioFromSessionJSONBody defines parameters for SimulationServiceGenerateScenarioFromSession. +type SimulationServiceGenerateScenarioFromSessionJSONBody struct { + // Region Unused today: the session's recording is found by project and room. + Region *string `json:"region,omitempty"` + + // RoomId Room session (RM_...) to derive the scenario from. + RoomId *string `json:"roomId,omitempty"` } -// SimulationServiceCountSimulationRunsParams defines parameters for SimulationServiceCountSimulationRuns. -type SimulationServiceCountSimulationRunsParams struct { - // StartTime A Timestamp represents a point in time independent of any time zone or local +// AnalyticsServiceListProjectSessionsParams defines parameters for AnalyticsServiceListProjectSessions. +type AnalyticsServiceListProjectSessionsParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` + + // FilterRangeStartTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -7588,9 +7704,9 @@ type SimulationServiceCountSimulationRunsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - StartTime *time.Time `form:"startTime,omitempty" json:"startTime,omitempty"` + FilterRangeStartTime *time.Time `form:"filter.range.startTime,omitempty" json:"filter.range.startTime,omitempty"` - // EndTime A Timestamp represents a point in time independent of any time zone or local + // FilterRangeEndTime A Timestamp represents a point in time independent of any time zone or local // calendar, encoded as a count of seconds and fractions of seconds at // nanosecond resolution. The count is relative to an epoch at UTC midnight on // January 1, 1970, in the proleptic Gregorian calendar which extends the @@ -7679,30 +7795,31 @@ type SimulationServiceCountSimulationRunsParams struct { // the Joda Time's [`ISODateTimeFormat.dateTime()`]( // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() // ) to obtain a formatter capable of generating timestamps in this format. - EndTime *time.Time `form:"endTime,omitempty" json:"endTime,omitempty"` + FilterRangeEndTime *time.Time `form:"filter.range.endTime,omitempty" json:"filter.range.endTime,omitempty"` - // Status Only runs in this status. - Status *LivekitSimulationRunStatus `form:"status,omitempty" json:"status,omitempty"` + // FilterStatuses OR semantics; empty matches any status. + FilterStatuses *[]LivekitPublicapiAnalyticsV1SessionStatus `form:"filter.statuses,omitempty" json:"filter.statuses,omitempty"` - // AgentName Only runs of this agent (exact name). - AgentName *string `form:"agentName,omitempty" json:"agentName,omitempty"` + // FilterRoomName Room-name prefix match (case-sensitive): returns sessions whose room name + // starts with this value, e.g. `demo-` matches `demo-1` and `demo-lobby`. + FilterRoomName *string `form:"filter.roomName,omitempty" json:"filter.roomName,omitempty"` - // Mode Only runs in this conversation mode. - Mode *LivekitSimulationMode `form:"mode,omitempty" json:"mode,omitempty"` -} + // FilterSessionId Exact room-session id match (RM_...). + FilterSessionId *string `form:"filter.sessionId,omitempty" json:"filter.sessionId,omitempty"` -// ProjectServiceCreateTokenJSONBody defines parameters for ProjectServiceCreateToken. -type ProjectServiceCreateTokenJSONBody struct { - // Grants The caller's project role must cover every grant requested. - Grants *LivekitPublicapiProjectsV1TokenGrants `json:"grants,omitempty"` + // FilterTags OR semantics. + FilterTags *[]string `form:"filter.tags,omitempty" json:"filter.tags,omitempty"` - // TtlSeconds Requested lifetime in seconds. 0 means the default (10 minutes); at most - // 86400 (24 hours). - TtlSeconds *int `json:"ttlSeconds,omitempty"` + // FilterAgentId Cloud agent id (CA_...) — return only sessions this agent served. Duration is not filterable in v1. + FilterAgentId *string `form:"filter.agentId,omitempty" json:"filter.agentId,omitempty"` + + // SortOrder Direction of the started_at ordering, the only column sessions sort on. + // Defaults to descending (newest first) when unset. + SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` } -// UserServiceListUsersParams defines parameters for UserServiceListUsers. -type UserServiceListUsersParams struct { +// AnalyticsServiceListSessionEventsParams defines parameters for AnalyticsServiceListSessionEvents. +type AnalyticsServiceListSessionEventsParams struct { // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts // from the beginning. PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` @@ -7710,359 +7827,996 @@ type UserServiceListUsersParams struct { // PagePageSize Maximum items to return; 0 lets the server pick a default. PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - // ProjectId At least one of project_id or workspace_id is required. - // If both are set, project_id must belong to workspace_id; members are - // the project's members. - ProjectId *string `form:"projectId,omitempty" json:"projectId,omitempty"` - WorkspaceId *string `form:"workspaceId,omitempty" json:"workspaceId,omitempty"` -} + // Types Event types to return, by name, such as TRACK_PUBLISHED: the names of + // LiveKit's AnalyticsEventType. Each matches exactly. Empty returns the + // dashboard's seven defaults, or with participant_session_id its eleven + // participant defaults, track events included (see ListSessionEvents). + // An unknown name is InvalidArgument. + Types *[]string `form:"types,omitempty" json:"types,omitempty"` -// WorkspaceServiceAnswerInviteJSONBody defines parameters for WorkspaceServiceAnswerInvite. -type WorkspaceServiceAnswerInviteJSONBody struct { - Accept *bool `json:"accept,omitempty"` + // ParticipantSessionId Only the events of this participant session (PA_...), as the + // participants list's ParticipantSession.participant_session_id names + // it. Room events and API calls name no participant session, so they + // are left out. Anything but a PA_ id is InvalidArgument. + ParticipantSessionId *string `form:"participantSessionId,omitempty" json:"participantSessionId,omitempty"` + + // SortOrder Direction of the timestamp ordering. Defaults to ascending (oldest + // first) when unset. + SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` } -// WorkspaceServiceListWorkspacesParams defines parameters for WorkspaceServiceListWorkspaces. -type WorkspaceServiceListWorkspacesParams struct { +// ObservabilityServiceGetSessionLogsParams defines parameters for ObservabilityServiceGetSessionLogs. +type ObservabilityServiceGetSessionLogsParams struct { // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts // from the beginning. PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` // PagePageSize Maximum items to return; 0 lets the server pick a default. PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` -} - -// WorkspaceServiceUpdateWorkspaceJSONBody defines parameters for WorkspaceServiceUpdateWorkspace. -type WorkspaceServiceUpdateWorkspaceJSONBody struct { - Name *string `json:"name,omitempty"` -} -// WorkspaceServiceCreateInviteJSONBody defines parameters for WorkspaceServiceCreateInvite. -type WorkspaceServiceCreateInviteJSONBody struct { - Email *string `json:"email,omitempty"` - Role *int32 `json:"role,omitempty"` -} + // LogLevels Only records at these levels, as the dashboard's logs filter selects + // them, for example only TRACE and FATAL. Empty returns every record, + // including those with no level, such as a passed evaluation. + // LOG_LEVEL_UNSPECIFIED is InvalidArgument. + LogLevels *[]LivekitPublicapiObservabilityV1LogLevel `form:"logLevels,omitempty" json:"logLevels,omitempty"` -// WorkspaceServiceUpdateMemberJSONBody defines parameters for WorkspaceServiceUpdateMember. -type WorkspaceServiceUpdateMemberJSONBody struct { - Role *int32 `json:"role,omitempty"` + // SortOrder Direction of the timestamp ordering. Defaults to ascending (oldest + // first) when unset. + SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` } -// WorkspaceServiceListProjectsParams defines parameters for WorkspaceServiceListProjects. -type WorkspaceServiceListProjectsParams struct { +// ObservabilityServiceGetSessionMetricsParams defines parameters for ObservabilityServiceGetSessionMetrics. +type ObservabilityServiceGetSessionMetricsParams struct { // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts // from the beginning. PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` // PagePageSize Maximum items to return; 0 lets the server pick a default. PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` + + // Names Only the points of these metrics, matched exactly, such as + // lk.agents.turn.e2e_latency. Empty returns every metric. At most 50 + // names, each 1 to 256 characters. + Names *[]string `form:"names,omitempty" json:"names,omitempty"` } -// WorkspaceServiceCreateProjectJSONBody defines parameters for WorkspaceServiceCreateProject. -type WorkspaceServiceCreateProjectJSONBody struct { - IsPrivate *bool `json:"isPrivate,omitempty"` - Members *[]LivekitPublicapiProjectsV1CreateProjectMember `json:"members,omitempty"` - Name *string `json:"name,omitempty"` +// AnalyticsServiceListSessionParticipantsParams defines parameters for AnalyticsServiceListSessionParticipants. +type AnalyticsServiceListSessionParticipantsParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - // Subdomain optional; generated from name when empty - Subdomain *string `json:"subdomain,omitempty"` + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` - // UserDataRegion create-only; empty keeps the deployment default - UserDataRegion *string `json:"userDataRegion,omitempty"` + // SortBy Column to order by. Defaults to joined_at when unset. + SortBy *LivekitPublicapiAnalyticsV1ParticipantSortField `form:"sortBy,omitempty" json:"sortBy,omitempty"` + + // SortOrder Direction of sort_by. Defaults to descending (newest first) when unset. + SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` } -// ProjectServiceAnswerInvitationJSONRequestBody defines body for ProjectServiceAnswerInvitation for application/json ContentType. -type ProjectServiceAnswerInvitationJSONRequestBody ProjectServiceAnswerInvitationJSONBody - -// ProjectServiceCreateProjectJSONRequestBody defines body for ProjectServiceCreateProject for application/json ContentType. -type ProjectServiceCreateProjectJSONRequestBody = LivekitPublicapiProjectsV1CreateProjectRequest - -// ProjectServiceUpdateProjectJSONRequestBody defines body for ProjectServiceUpdateProject for application/json ContentType. -type ProjectServiceUpdateProjectJSONRequestBody ProjectServiceUpdateProjectJSONBody - -// ProjectServiceInviteMemberJSONRequestBody defines body for ProjectServiceInviteMember for application/json ContentType. -type ProjectServiceInviteMemberJSONRequestBody ProjectServiceInviteMemberJSONBody - -// ProjectServiceUpdateInviteJSONRequestBody defines body for ProjectServiceUpdateInvite for application/json ContentType. -type ProjectServiceUpdateInviteJSONRequestBody ProjectServiceUpdateInviteJSONBody - -// ProjectServiceGenerateKeyJSONRequestBody defines body for ProjectServiceGenerateKey for application/json ContentType. -type ProjectServiceGenerateKeyJSONRequestBody ProjectServiceGenerateKeyJSONBody - -// ProjectServiceUpdateMemberJSONRequestBody defines body for ProjectServiceUpdateMember for application/json ContentType. -type ProjectServiceUpdateMemberJSONRequestBody ProjectServiceUpdateMemberJSONBody - -// ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody defines body for ProjectServiceAddWorkspaceMembersToProject for application/json ContentType. -type ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody ProjectServiceAddWorkspaceMembersToProjectJSONBody - -// SimulationServiceGenerateScenarioFromSessionJSONRequestBody defines body for SimulationServiceGenerateScenarioFromSession for application/json ContentType. -type SimulationServiceGenerateScenarioFromSessionJSONRequestBody SimulationServiceGenerateScenarioFromSessionJSONBody - -// SimulationServiceCreateSimulationRunJSONRequestBody defines body for SimulationServiceCreateSimulationRun for application/json ContentType. -type SimulationServiceCreateSimulationRunJSONRequestBody SimulationServiceCreateSimulationRunJSONBody - -// SimulationServiceConfirmSimulationSourceUploadJSONRequestBody defines body for SimulationServiceConfirmSimulationSourceUpload for application/json ContentType. -type SimulationServiceConfirmSimulationSourceUploadJSONRequestBody SimulationServiceConfirmSimulationSourceUploadJSONBody - -// ProjectServiceCreateTokenJSONRequestBody defines body for ProjectServiceCreateToken for application/json ContentType. -type ProjectServiceCreateTokenJSONRequestBody ProjectServiceCreateTokenJSONBody - -// WorkspaceServiceAnswerInviteJSONRequestBody defines body for WorkspaceServiceAnswerInvite for application/json ContentType. -type WorkspaceServiceAnswerInviteJSONRequestBody WorkspaceServiceAnswerInviteJSONBody - -// WorkspaceServiceCreateWorkspaceJSONRequestBody defines body for WorkspaceServiceCreateWorkspace for application/json ContentType. -type WorkspaceServiceCreateWorkspaceJSONRequestBody = LivekitPublicapiWorkspacesV1CreateWorkspaceRequest - -// WorkspaceServiceUpdateWorkspaceJSONRequestBody defines body for WorkspaceServiceUpdateWorkspace for application/json ContentType. -type WorkspaceServiceUpdateWorkspaceJSONRequestBody WorkspaceServiceUpdateWorkspaceJSONBody - -// WorkspaceServiceCreateInviteJSONRequestBody defines body for WorkspaceServiceCreateInvite for application/json ContentType. -type WorkspaceServiceCreateInviteJSONRequestBody WorkspaceServiceCreateInviteJSONBody - -// WorkspaceServiceUpdateMemberJSONRequestBody defines body for WorkspaceServiceUpdateMember for application/json ContentType. -type WorkspaceServiceUpdateMemberJSONRequestBody WorkspaceServiceUpdateMemberJSONBody - -// WorkspaceServiceCreateProjectJSONRequestBody defines body for WorkspaceServiceCreateProject for application/json ContentType. -type WorkspaceServiceCreateProjectJSONRequestBody WorkspaceServiceCreateProjectJSONBody - -// WorkspaceServiceUpdateProjectJSONRequestBody defines body for WorkspaceServiceUpdateProject for application/json ContentType. -type WorkspaceServiceUpdateProjectJSONRequestBody = LivekitPublicapiProjectsV1UpdateProjectRequest - -// AsGoogleProtobufValue1 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue1 -func (t GoogleProtobufValue) AsGoogleProtobufValue1() (GoogleProtobufValue1, error) { - var body GoogleProtobufValue1 - err := json.Unmarshal(t.union, &body) - return body, err -} - -// FromGoogleProtobufValue1 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue1 -func (t *GoogleProtobufValue) FromGoogleProtobufValue1(v GoogleProtobufValue1) error { - b, err := json.Marshal(v) - t.union = b - return err -} - -// MergeGoogleProtobufValue1 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue1 -func (t *GoogleProtobufValue) MergeGoogleProtobufValue1(v GoogleProtobufValue1) error { - b, err := json.Marshal(v) - if err != nil { - return err - } +// ObservabilityServiceGetSessionRecordingURLParams defines parameters for ObservabilityServiceGetSessionRecordingURL. +type ObservabilityServiceGetSessionRecordingURLParams struct { + // FileType Which recording to sign a URL for. UNSPECIFIED is InvalidArgument. + FileType *LivekitPublicapiObservabilityV1RecordingFileType `form:"fileType,omitempty" json:"fileType,omitempty"` - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err + // ExpirySeconds How long the URL stays valid, in seconds. Unset or 0 is 900 (15 + // minutes), and anything longer is clamped to 900 without an error; + // expires_at says what was granted. + ExpirySeconds *int `form:"expirySeconds,omitempty" json:"expirySeconds,omitempty"` } -// AsGoogleProtobufValue2 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue2 -func (t GoogleProtobufValue) AsGoogleProtobufValue2() (GoogleProtobufValue2, error) { - var body GoogleProtobufValue2 - err := json.Unmarshal(t.union, &body) - return body, err -} +// ObservabilityServiceGetSessionTracesParams defines parameters for ObservabilityServiceGetSessionTraces. +type ObservabilityServiceGetSessionTracesParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` -// FromGoogleProtobufValue2 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue2 -func (t *GoogleProtobufValue) FromGoogleProtobufValue2(v GoogleProtobufValue2) error { - b, err := json.Marshal(v) - t.union = b - return err + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` } -// MergeGoogleProtobufValue2 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue2 -func (t *GoogleProtobufValue) MergeGoogleProtobufValue2(v GoogleProtobufValue2) error { - b, err := json.Marshal(v) - if err != nil { - return err - } +// ObservabilityServiceGetSessionTranscriptParams defines parameters for ObservabilityServiceGetSessionTranscript. +type ObservabilityServiceGetSessionTranscriptParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` } -// AsGoogleProtobufValue3 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue3 -func (t GoogleProtobufValue) AsGoogleProtobufValue3() (GoogleProtobufValue3, error) { - var body GoogleProtobufValue3 - err := json.Unmarshal(t.union, &body) - return body, err -} +// SimulationServiceListSimulationRunsParams defines parameters for SimulationServiceListSimulationRuns. +type SimulationServiceListSimulationRunsParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` -// FromGoogleProtobufValue3 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue3 -func (t *GoogleProtobufValue) FromGoogleProtobufValue3(v GoogleProtobufValue3) error { - b, err := json.Marshal(v) - t.union = b - return err -} + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` -// MergeGoogleProtobufValue3 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue3 -func (t *GoogleProtobufValue) MergeGoogleProtobufValue3(v GoogleProtobufValue3) error { - b, err := json.Marshal(v) - if err != nil { - return err - } + // Status Only runs in this status. + Status *LivekitSimulationRunStatus `form:"status,omitempty" json:"status,omitempty"` - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err -} + // AgentName Only runs of this agent (exact name). + AgentName *string `form:"agentName,omitempty" json:"agentName,omitempty"` -// AsGoogleProtobufValue4 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue4 -func (t GoogleProtobufValue) AsGoogleProtobufValue4() (GoogleProtobufValue4, error) { - var body GoogleProtobufValue4 - err := json.Unmarshal(t.union, &body) - return body, err -} + // StartTime A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + StartTime *time.Time `form:"startTime,omitempty" json:"startTime,omitempty"` -// FromGoogleProtobufValue4 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue4 -func (t *GoogleProtobufValue) FromGoogleProtobufValue4(v GoogleProtobufValue4) error { - b, err := json.Marshal(v) - t.union = b - return err -} - -// MergeGoogleProtobufValue4 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue4 -func (t *GoogleProtobufValue) MergeGoogleProtobufValue4(v GoogleProtobufValue4) error { - b, err := json.Marshal(v) - if err != nil { - return err - } - - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err -} - -// AsGoogleProtobufValue5 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue5 -func (t GoogleProtobufValue) AsGoogleProtobufValue5() (GoogleProtobufValue5, error) { - var body GoogleProtobufValue5 - err := json.Unmarshal(t.union, &body) - return body, err -} - -// FromGoogleProtobufValue5 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue5 -func (t *GoogleProtobufValue) FromGoogleProtobufValue5(v GoogleProtobufValue5) error { - b, err := json.Marshal(v) - t.union = b - return err -} - -// MergeGoogleProtobufValue5 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue5 -func (t *GoogleProtobufValue) MergeGoogleProtobufValue5(v GoogleProtobufValue5) error { - b, err := json.Marshal(v) - if err != nil { - return err - } - - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err -} - -func (t GoogleProtobufValue) MarshalJSON() ([]byte, error) { - b, err := t.union.MarshalJSON() - return b, err -} - -func (t *GoogleProtobufValue) UnmarshalJSON(b []byte) error { - err := t.union.UnmarshalJSON(b) - return err -} - -// AsLivekitAutoParticipantEgress0 returns the union data inside the LivekitAutoParticipantEgress as a LivekitAutoParticipantEgress0 -func (t LivekitAutoParticipantEgress) AsLivekitAutoParticipantEgress0() (LivekitAutoParticipantEgress0, error) { - var body LivekitAutoParticipantEgress0 - err := json.Unmarshal(t.union, &body) - return body, err -} + // EndTime A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + EndTime *time.Time `form:"endTime,omitempty" json:"endTime,omitempty"` -// FromLivekitAutoParticipantEgress0 overwrites any union data inside the LivekitAutoParticipantEgress as the provided LivekitAutoParticipantEgress0 -func (t *LivekitAutoParticipantEgress) FromLivekitAutoParticipantEgress0(v LivekitAutoParticipantEgress0) error { - b, err := json.Marshal(v) - t.union = b - return err + // Mode Only runs in this conversation mode. + Mode *LivekitSimulationMode `form:"mode,omitempty" json:"mode,omitempty"` } -// MergeLivekitAutoParticipantEgress0 performs a merge with any union data inside the LivekitAutoParticipantEgress, using the provided LivekitAutoParticipantEgress0 -func (t *LivekitAutoParticipantEgress) MergeLivekitAutoParticipantEgress0(v LivekitAutoParticipantEgress0) error { - b, err := json.Marshal(v) - if err != nil { - return err - } +// SimulationServiceCreateSimulationRunJSONBody defines parameters for SimulationServiceCreateSimulationRun. +type SimulationServiceCreateSimulationRunJSONBody struct { + // AgentName Name the agent under test is registered under; every job dispatches it + // into the simulation room, so it must already be deployed or running as + // a worker. Empty uses the project's default agent. Recorded on the run + // and usable as a ListSimulationRuns filter. + AgentName *string `json:"agentName,omitempty"` - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err -} + // BackgroundNoise Audio impairments applied to the simulated user; AUDIO mode only. + BackgroundNoise *bool `json:"backgroundNoise,omitempty"` -// AsLivekitAutoParticipantEgress1 returns the union data inside the LivekitAutoParticipantEgress as a LivekitAutoParticipantEgress1 -func (t LivekitAutoParticipantEgress) AsLivekitAutoParticipantEgress1() (LivekitAutoParticipantEgress1, error) { - var body LivekitAutoParticipantEgress1 - err := json.Unmarshal(t.union, &body) - return body, err -} + // Ci The CI pipeline this run came from, so runs can be linked back to + // commits. + Ci *LivekitSimulationRunCI `json:"ci,omitempty"` -// FromLivekitAutoParticipantEgress1 overwrites any union data inside the LivekitAutoParticipantEgress as the provided LivekitAutoParticipantEgress1 -func (t *LivekitAutoParticipantEgress) FromLivekitAutoParticipantEgress1(v LivekitAutoParticipantEgress1) error { - b, err := json.Marshal(v) - t.union = b - return err -} + // Concurrency Maximum jobs running in parallel, at most 20; above that the request is + // InvalidArgument. The project's concurrency quota can run fewer at once. + // Unset uses the server default. + Concurrency *int32 `json:"concurrency,omitempty"` + LowQualityMicrophone *bool `json:"lowQualityMicrophone,omitempty"` -// MergeLivekitAutoParticipantEgress1 performs a merge with any union data inside the LivekitAutoParticipantEgress, using the provided LivekitAutoParticipantEgress1 -func (t *LivekitAutoParticipantEgress) MergeLivekitAutoParticipantEgress1(v LivekitAutoParticipantEgress1) error { - b, err := json.Marshal(v) - if err != nil { - return err - } + // Mode Conversation mode for every job; unspecified means TEXT. + Mode *LivekitSimulationMode `json:"mode,omitempty"` - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err -} + // NumSimulations Number of scenarios to generate from the agent source when + // scenario_group is unset. + NumSimulations *int32 `json:"numSimulations,omitempty"` + PacketLoss *bool `json:"packetLoss,omitempty"` -// AsLivekitAutoParticipantEgress2 returns the union data inside the LivekitAutoParticipantEgress as a LivekitAutoParticipantEgress2 -func (t LivekitAutoParticipantEgress) AsLivekitAutoParticipantEgress2() (LivekitAutoParticipantEgress2, error) { - var body LivekitAutoParticipantEgress2 - err := json.Unmarshal(t.union, &body) - return body, err -} + // Region Reserved: must be empty, and the service chooses where the run happens. + Region *string `json:"region,omitempty"` -// FromLivekitAutoParticipantEgress2 overwrites any union data inside the LivekitAutoParticipantEgress as the provided LivekitAutoParticipantEgress2 -func (t *LivekitAutoParticipantEgress) FromLivekitAutoParticipantEgress2(v LivekitAutoParticipantEgress2) error { - b, err := json.Marshal(v) - t.union = b - return err + // ScenarioGroup Run exactly these scenarios (the contents of a scenarios.yaml) instead + // of generating num_simulations of them; the run then needs no source + // upload and starts immediately. + ScenarioGroup *LivekitScenarioGroup `json:"scenarioGroup,omitempty"` } -// MergeLivekitAutoParticipantEgress2 performs a merge with any union data inside the LivekitAutoParticipantEgress, using the provided LivekitAutoParticipantEgress2 -func (t *LivekitAutoParticipantEgress) MergeLivekitAutoParticipantEgress2(v LivekitAutoParticipantEgress2) error { - b, err := json.Marshal(v) - if err != nil { - return err - } - - merged, err := runtime.JSONMerge(t.union, b) - t.union = merged - return err +// SimulationServiceConfirmSimulationSourceUploadJSONBody defines parameters for SimulationServiceConfirmSimulationSourceUpload. +type SimulationServiceConfirmSimulationSourceUploadJSONBody struct { + // CodeEntrypoint Entrypoint of the uploaded source, for example "agent.py". + CodeEntrypoint *string `json:"codeEntrypoint,omitempty"` } -func (t LivekitAutoParticipantEgress) MarshalJSON() ([]byte, error) { - b, err := t.union.MarshalJSON() - if err != nil { - return nil, err - } - object := make(map[string]json.RawMessage) - if t.union != nil { - err = json.Unmarshal(b, &object) - if err != nil { - return nil, err - } - } - - if t.FileOutputs != nil { - object["fileOutputs"], err = json.Marshal(t.FileOutputs) - if err != nil { - return nil, fmt.Errorf("error marshaling 'fileOutputs': %w", err) +// SimulationServiceCountSimulationRunsParams defines parameters for SimulationServiceCountSimulationRuns. +type SimulationServiceCountSimulationRunsParams struct { + // StartTime A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + StartTime *time.Time `form:"startTime,omitempty" json:"startTime,omitempty"` + + // EndTime A Timestamp represents a point in time independent of any time zone or local + // calendar, encoded as a count of seconds and fractions of seconds at + // nanosecond resolution. The count is relative to an epoch at UTC midnight on + // January 1, 1970, in the proleptic Gregorian calendar which extends the + // Gregorian calendar backwards to year one. + // + // All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + // second table is needed for interpretation, using a [24-hour linear + // smear](https://developers.google.com/time/smear). + // + // The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + // restricting to that range, we ensure that we can convert to and from [RFC + // 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + // + // # Examples + // + // Example 1: Compute Timestamp from POSIX `time()`. + // + // Timestamp timestamp; + // timestamp.set_seconds(time(NULL)); + // timestamp.set_nanos(0); + // + // Example 2: Compute Timestamp from POSIX `gettimeofday()`. + // + // struct timeval tv; + // gettimeofday(&tv, NULL); + // + // Timestamp timestamp; + // timestamp.set_seconds(tv.tv_sec); + // timestamp.set_nanos(tv.tv_usec * 1000); + // + // Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + // + // FILETIME ft; + // GetSystemTimeAsFileTime(&ft); + // UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + // + // // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + // // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + // Timestamp timestamp; + // timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + // timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + // + // Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + // + // long millis = System.currentTimeMillis(); + // + // Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + // .setNanos((int) ((millis % 1000) * 1000000)).build(); + // + // Example 5: Compute Timestamp from Java `Instant.now()`. + // + // Instant now = Instant.now(); + // + // Timestamp timestamp = + // Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + // .setNanos(now.getNano()).build(); + // + // Example 6: Compute Timestamp from current time in Python. + // + // timestamp = Timestamp() + // timestamp.GetCurrentTime() + // + // # JSON Mapping + // + // In JSON format, the Timestamp type is encoded as a string in the + // [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + // format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + // where {year} is always expressed using four digits while {month}, {day}, + // {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + // seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + // are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + // is required. A ProtoJSON serializer should always use UTC (as indicated by + // "Z") when printing the Timestamp type and a ProtoJSON parser should be + // able to accept both UTC and other timezones (as indicated by an offset). + // + // For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + // 01:30 UTC on January 15, 2017. + // + // In JavaScript, one can convert a Date object to this format using the + // standard + // [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + // method. In Python, a standard `datetime.datetime` object can be converted + // to this format using + // [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + // the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + // the Joda Time's [`ISODateTimeFormat.dateTime()`]( + // http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + // ) to obtain a formatter capable of generating timestamps in this format. + EndTime *time.Time `form:"endTime,omitempty" json:"endTime,omitempty"` + + // Status Only runs in this status. + Status *LivekitSimulationRunStatus `form:"status,omitempty" json:"status,omitempty"` + + // AgentName Only runs of this agent (exact name). + AgentName *string `form:"agentName,omitempty" json:"agentName,omitempty"` + + // Mode Only runs in this conversation mode. + Mode *LivekitSimulationMode `form:"mode,omitempty" json:"mode,omitempty"` +} + +// ThreadServiceListThreadsParams defines parameters for ThreadServiceListThreads. +type ThreadServiceListThreadsParams struct { + Scope *string `form:"scope,omitempty" json:"scope,omitempty"` + + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` +} + +// ThreadServiceCreateThreadJSONBody defines parameters for ThreadServiceCreateThread. +type ThreadServiceCreateThreadJSONBody struct { + Attributes *map[string]string `json:"attributes,omitempty"` + + // IdleTtl Unset takes the server default. + // + // Examples: 86400s, 1.500s, 0.000000001s + IdleTtl *GoogleProtobufDuration `json:"idleTtl,omitempty"` + + // Scope Optional scope grouping the thread (typically the user's identity), + // at most 256 bytes. + Scope *string `json:"scope,omitempty"` +} + +// ThreadServiceUpdateThreadJSONBody defines parameters for ThreadServiceUpdateThread. +type ThreadServiceUpdateThreadJSONBody struct { + Attributes *map[string]string `json:"attributes,omitempty"` + + // IdleTtl A span of time as protobuf JSON encodes it: seconds with an "s" suffix, + // e.g. "86400s" for a day. Responses carry 0, 3, 6 or 9 fractional + // digits ("1.500s", "0.000000001s"); requests may use 1 to 9. At most + // 315576000000 seconds either way. Not an ISO 8601 duration ("P1D" is + // rejected). + // + // Examples: 86400s, 1.500s, 0.000000001s + IdleTtl *GoogleProtobufDuration `json:"idleTtl,omitempty"` +} + +// ThreadServiceGetThreadItemsParams defines parameters for ThreadServiceGetThreadItems. +type ThreadServiceGetThreadItemsParams struct { + // Agent One agent's items; empty for every agent's. + Agent *string `form:"agent,omitempty" json:"agent,omitempty"` + + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` + + // SortOrder Direction of the item order. Defaults to ascending (oldest first) when + // unset; descending starts from the latest item and pages back. + SortOrder *LivekitPublicapiCommonV1SortOrder `form:"sortOrder,omitempty" json:"sortOrder,omitempty"` +} + +// ThreadServiceGetThreadTasksParams defines parameters for ThreadServiceGetThreadTasks. +type ThreadServiceGetThreadTasksParams struct { + // Status Only tasks in this status; unset for every status. + Status *LivekitAgentAgentTaskStatus `form:"status,omitempty" json:"status,omitempty"` + + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` +} + +// ProjectServiceCreateTokenJSONBody defines parameters for ProjectServiceCreateToken. +type ProjectServiceCreateTokenJSONBody struct { + // Grants The caller's project role must cover every grant requested. + Grants *LivekitPublicapiProjectsV1TokenGrants `json:"grants,omitempty"` + + // TtlSeconds Requested lifetime in seconds. 0 means the default (10 minutes); at most + // 86400 (24 hours). + TtlSeconds *int `json:"ttlSeconds,omitempty"` +} + +// UserServiceListUsersParams defines parameters for UserServiceListUsers. +type UserServiceListUsersParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` + + // ProjectId At least one of project_id or workspace_id is required. + // If both are set, project_id must belong to workspace_id; members are + // the project's members. + ProjectId *string `form:"projectId,omitempty" json:"projectId,omitempty"` + WorkspaceId *string `form:"workspaceId,omitempty" json:"workspaceId,omitempty"` +} + +// WorkspaceServiceAnswerInviteJSONBody defines parameters for WorkspaceServiceAnswerInvite. +type WorkspaceServiceAnswerInviteJSONBody struct { + Accept *bool `json:"accept,omitempty"` +} + +// WorkspaceServiceListWorkspacesParams defines parameters for WorkspaceServiceListWorkspaces. +type WorkspaceServiceListWorkspacesParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` +} + +// WorkspaceServiceUpdateWorkspaceJSONBody defines parameters for WorkspaceServiceUpdateWorkspace. +type WorkspaceServiceUpdateWorkspaceJSONBody struct { + Name *string `json:"name,omitempty"` +} + +// WorkspaceServiceCreateInviteJSONBody defines parameters for WorkspaceServiceCreateInvite. +type WorkspaceServiceCreateInviteJSONBody struct { + Email *string `json:"email,omitempty"` + Role *int32 `json:"role,omitempty"` +} + +// WorkspaceServiceUpdateMemberJSONBody defines parameters for WorkspaceServiceUpdateMember. +type WorkspaceServiceUpdateMemberJSONBody struct { + Role *int32 `json:"role,omitempty"` +} + +// WorkspaceServiceListProjectsParams defines parameters for WorkspaceServiceListProjects. +type WorkspaceServiceListProjectsParams struct { + // PageCursor Opaque cursor returned by a prior page (PageInfo.next_cursor). Empty starts + // from the beginning. + PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // PagePageSize Maximum items to return; 0 lets the server pick a default. + PagePageSize *int32 `form:"page.pageSize,omitempty" json:"page.pageSize,omitempty"` +} + +// WorkspaceServiceCreateProjectJSONBody defines parameters for WorkspaceServiceCreateProject. +type WorkspaceServiceCreateProjectJSONBody struct { + IsPrivate *bool `json:"isPrivate,omitempty"` + Members *[]LivekitPublicapiProjectsV1CreateProjectMember `json:"members,omitempty"` + Name *string `json:"name,omitempty"` + + // Subdomain optional; generated from name when empty + Subdomain *string `json:"subdomain,omitempty"` + + // UserDataRegion create-only; empty keeps the deployment default + UserDataRegion *string `json:"userDataRegion,omitempty"` +} + +// ProjectServiceAnswerInvitationJSONRequestBody defines body for ProjectServiceAnswerInvitation for application/json ContentType. +type ProjectServiceAnswerInvitationJSONRequestBody ProjectServiceAnswerInvitationJSONBody + +// ProjectServiceCreateProjectJSONRequestBody defines body for ProjectServiceCreateProject for application/json ContentType. +type ProjectServiceCreateProjectJSONRequestBody = LivekitPublicapiProjectsV1CreateProjectRequest + +// ProjectServiceUpdateProjectJSONRequestBody defines body for ProjectServiceUpdateProject for application/json ContentType. +type ProjectServiceUpdateProjectJSONRequestBody ProjectServiceUpdateProjectJSONBody + +// DatabaseServiceCreateDatabaseJSONRequestBody defines body for DatabaseServiceCreateDatabase for application/json ContentType. +type DatabaseServiceCreateDatabaseJSONRequestBody DatabaseServiceCreateDatabaseJSONBody + +// ProjectServiceInviteMemberJSONRequestBody defines body for ProjectServiceInviteMember for application/json ContentType. +type ProjectServiceInviteMemberJSONRequestBody ProjectServiceInviteMemberJSONBody + +// ProjectServiceUpdateInviteJSONRequestBody defines body for ProjectServiceUpdateInvite for application/json ContentType. +type ProjectServiceUpdateInviteJSONRequestBody ProjectServiceUpdateInviteJSONBody + +// ProjectServiceGenerateKeyJSONRequestBody defines body for ProjectServiceGenerateKey for application/json ContentType. +type ProjectServiceGenerateKeyJSONRequestBody ProjectServiceGenerateKeyJSONBody + +// ProjectServiceUpdateMemberJSONRequestBody defines body for ProjectServiceUpdateMember for application/json ContentType. +type ProjectServiceUpdateMemberJSONRequestBody ProjectServiceUpdateMemberJSONBody + +// ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody defines body for ProjectServiceAddWorkspaceMembersToProject for application/json ContentType. +type ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody ProjectServiceAddWorkspaceMembersToProjectJSONBody + +// SimulationServiceGenerateScenarioFromSessionJSONRequestBody defines body for SimulationServiceGenerateScenarioFromSession for application/json ContentType. +type SimulationServiceGenerateScenarioFromSessionJSONRequestBody SimulationServiceGenerateScenarioFromSessionJSONBody + +// SimulationServiceCreateSimulationRunJSONRequestBody defines body for SimulationServiceCreateSimulationRun for application/json ContentType. +type SimulationServiceCreateSimulationRunJSONRequestBody SimulationServiceCreateSimulationRunJSONBody + +// SimulationServiceConfirmSimulationSourceUploadJSONRequestBody defines body for SimulationServiceConfirmSimulationSourceUpload for application/json ContentType. +type SimulationServiceConfirmSimulationSourceUploadJSONRequestBody SimulationServiceConfirmSimulationSourceUploadJSONBody + +// ThreadServiceCreateThreadJSONRequestBody defines body for ThreadServiceCreateThread for application/json ContentType. +type ThreadServiceCreateThreadJSONRequestBody ThreadServiceCreateThreadJSONBody + +// ThreadServiceUpdateThreadJSONRequestBody defines body for ThreadServiceUpdateThread for application/json ContentType. +type ThreadServiceUpdateThreadJSONRequestBody ThreadServiceUpdateThreadJSONBody + +// ProjectServiceCreateTokenJSONRequestBody defines body for ProjectServiceCreateToken for application/json ContentType. +type ProjectServiceCreateTokenJSONRequestBody ProjectServiceCreateTokenJSONBody + +// WorkspaceServiceAnswerInviteJSONRequestBody defines body for WorkspaceServiceAnswerInvite for application/json ContentType. +type WorkspaceServiceAnswerInviteJSONRequestBody WorkspaceServiceAnswerInviteJSONBody + +// WorkspaceServiceCreateWorkspaceJSONRequestBody defines body for WorkspaceServiceCreateWorkspace for application/json ContentType. +type WorkspaceServiceCreateWorkspaceJSONRequestBody = LivekitPublicapiWorkspacesV1CreateWorkspaceRequest + +// WorkspaceServiceUpdateWorkspaceJSONRequestBody defines body for WorkspaceServiceUpdateWorkspace for application/json ContentType. +type WorkspaceServiceUpdateWorkspaceJSONRequestBody WorkspaceServiceUpdateWorkspaceJSONBody + +// WorkspaceServiceCreateInviteJSONRequestBody defines body for WorkspaceServiceCreateInvite for application/json ContentType. +type WorkspaceServiceCreateInviteJSONRequestBody WorkspaceServiceCreateInviteJSONBody + +// WorkspaceServiceUpdateMemberJSONRequestBody defines body for WorkspaceServiceUpdateMember for application/json ContentType. +type WorkspaceServiceUpdateMemberJSONRequestBody WorkspaceServiceUpdateMemberJSONBody + +// WorkspaceServiceCreateProjectJSONRequestBody defines body for WorkspaceServiceCreateProject for application/json ContentType. +type WorkspaceServiceCreateProjectJSONRequestBody WorkspaceServiceCreateProjectJSONBody + +// WorkspaceServiceUpdateProjectJSONRequestBody defines body for WorkspaceServiceUpdateProject for application/json ContentType. +type WorkspaceServiceUpdateProjectJSONRequestBody = LivekitPublicapiProjectsV1UpdateProjectRequest + +// AsGoogleProtobufValue1 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue1 +func (t GoogleProtobufValue) AsGoogleProtobufValue1() (GoogleProtobufValue1, error) { + var body GoogleProtobufValue1 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromGoogleProtobufValue1 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue1 +func (t *GoogleProtobufValue) FromGoogleProtobufValue1(v GoogleProtobufValue1) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeGoogleProtobufValue1 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue1 +func (t *GoogleProtobufValue) MergeGoogleProtobufValue1(v GoogleProtobufValue1) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsGoogleProtobufValue2 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue2 +func (t GoogleProtobufValue) AsGoogleProtobufValue2() (GoogleProtobufValue2, error) { + var body GoogleProtobufValue2 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromGoogleProtobufValue2 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue2 +func (t *GoogleProtobufValue) FromGoogleProtobufValue2(v GoogleProtobufValue2) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeGoogleProtobufValue2 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue2 +func (t *GoogleProtobufValue) MergeGoogleProtobufValue2(v GoogleProtobufValue2) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsGoogleProtobufValue3 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue3 +func (t GoogleProtobufValue) AsGoogleProtobufValue3() (GoogleProtobufValue3, error) { + var body GoogleProtobufValue3 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromGoogleProtobufValue3 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue3 +func (t *GoogleProtobufValue) FromGoogleProtobufValue3(v GoogleProtobufValue3) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeGoogleProtobufValue3 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue3 +func (t *GoogleProtobufValue) MergeGoogleProtobufValue3(v GoogleProtobufValue3) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsGoogleProtobufValue4 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue4 +func (t GoogleProtobufValue) AsGoogleProtobufValue4() (GoogleProtobufValue4, error) { + var body GoogleProtobufValue4 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromGoogleProtobufValue4 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue4 +func (t *GoogleProtobufValue) FromGoogleProtobufValue4(v GoogleProtobufValue4) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeGoogleProtobufValue4 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue4 +func (t *GoogleProtobufValue) MergeGoogleProtobufValue4(v GoogleProtobufValue4) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsGoogleProtobufValue5 returns the union data inside the GoogleProtobufValue as a GoogleProtobufValue5 +func (t GoogleProtobufValue) AsGoogleProtobufValue5() (GoogleProtobufValue5, error) { + var body GoogleProtobufValue5 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromGoogleProtobufValue5 overwrites any union data inside the GoogleProtobufValue as the provided GoogleProtobufValue5 +func (t *GoogleProtobufValue) FromGoogleProtobufValue5(v GoogleProtobufValue5) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeGoogleProtobufValue5 performs a merge with any union data inside the GoogleProtobufValue, using the provided GoogleProtobufValue5 +func (t *GoogleProtobufValue) MergeGoogleProtobufValue5(v GoogleProtobufValue5) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t GoogleProtobufValue) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + return b, err +} + +func (t *GoogleProtobufValue) UnmarshalJSON(b []byte) error { + err := t.union.UnmarshalJSON(b) + return err +} + +// AsLivekitAutoParticipantEgress0 returns the union data inside the LivekitAutoParticipantEgress as a LivekitAutoParticipantEgress0 +func (t LivekitAutoParticipantEgress) AsLivekitAutoParticipantEgress0() (LivekitAutoParticipantEgress0, error) { + var body LivekitAutoParticipantEgress0 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromLivekitAutoParticipantEgress0 overwrites any union data inside the LivekitAutoParticipantEgress as the provided LivekitAutoParticipantEgress0 +func (t *LivekitAutoParticipantEgress) FromLivekitAutoParticipantEgress0(v LivekitAutoParticipantEgress0) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeLivekitAutoParticipantEgress0 performs a merge with any union data inside the LivekitAutoParticipantEgress, using the provided LivekitAutoParticipantEgress0 +func (t *LivekitAutoParticipantEgress) MergeLivekitAutoParticipantEgress0(v LivekitAutoParticipantEgress0) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsLivekitAutoParticipantEgress1 returns the union data inside the LivekitAutoParticipantEgress as a LivekitAutoParticipantEgress1 +func (t LivekitAutoParticipantEgress) AsLivekitAutoParticipantEgress1() (LivekitAutoParticipantEgress1, error) { + var body LivekitAutoParticipantEgress1 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromLivekitAutoParticipantEgress1 overwrites any union data inside the LivekitAutoParticipantEgress as the provided LivekitAutoParticipantEgress1 +func (t *LivekitAutoParticipantEgress) FromLivekitAutoParticipantEgress1(v LivekitAutoParticipantEgress1) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeLivekitAutoParticipantEgress1 performs a merge with any union data inside the LivekitAutoParticipantEgress, using the provided LivekitAutoParticipantEgress1 +func (t *LivekitAutoParticipantEgress) MergeLivekitAutoParticipantEgress1(v LivekitAutoParticipantEgress1) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +// AsLivekitAutoParticipantEgress2 returns the union data inside the LivekitAutoParticipantEgress as a LivekitAutoParticipantEgress2 +func (t LivekitAutoParticipantEgress) AsLivekitAutoParticipantEgress2() (LivekitAutoParticipantEgress2, error) { + var body LivekitAutoParticipantEgress2 + err := json.Unmarshal(t.union, &body) + return body, err +} + +// FromLivekitAutoParticipantEgress2 overwrites any union data inside the LivekitAutoParticipantEgress as the provided LivekitAutoParticipantEgress2 +func (t *LivekitAutoParticipantEgress) FromLivekitAutoParticipantEgress2(v LivekitAutoParticipantEgress2) error { + b, err := json.Marshal(v) + t.union = b + return err +} + +// MergeLivekitAutoParticipantEgress2 performs a merge with any union data inside the LivekitAutoParticipantEgress, using the provided LivekitAutoParticipantEgress2 +func (t *LivekitAutoParticipantEgress) MergeLivekitAutoParticipantEgress2(v LivekitAutoParticipantEgress2) error { + b, err := json.Marshal(v) + if err != nil { + return err + } + + merged, err := runtime.JSONMerge(t.union, b) + t.union = merged + return err +} + +func (t LivekitAutoParticipantEgress) MarshalJSON() ([]byte, error) { + b, err := t.union.MarshalJSON() + if err != nil { + return nil, err + } + object := make(map[string]json.RawMessage) + if t.union != nil { + err = json.Unmarshal(b, &object) + if err != nil { + return nil, err + } + } + + if t.FileOutputs != nil { + object["fileOutputs"], err = json.Marshal(t.FileOutputs) + if err != nil { + return nil, fmt.Errorf("error marshaling 'fileOutputs': %w", err) } } @@ -10086,71 +10840,71 @@ type ClientInterface interface { // ProjectServiceGetInvite GetInvite // - // Corresponds with GET /v1/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). + // Corresponds with GET /v0/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). ProjectServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceAnswerInvitationWithBody AnswerInvitation // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). + // Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). ProjectServiceAnswerInvitationWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceAnswerInvitation AnswerInvitation // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). + // Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). ProjectServiceAnswerInvitation(ctx context.Context, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceListProjects ListProjects // - // Corresponds with GET /v1/projects (the `ProjectServiceListProjects` operationId). + // Corresponds with GET /v0/projects (the `ProjectServiceListProjects` operationId). ProjectServiceListProjects(ctx context.Context, params *ProjectServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceCreateProjectWithBody CreateProject // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). + // Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). ProjectServiceCreateProjectWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceCreateProject CreateProject // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). + // Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). ProjectServiceCreateProject(ctx context.Context, body ProjectServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceDeleteProject DeleteProject // - // Corresponds with DELETE /v1/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). + // Corresponds with DELETE /v0/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). ProjectServiceDeleteProject(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceGetProject GetProject // - // Corresponds with GET /v1/projects/{projectId} (the `ProjectServiceGetProject` operationId). + // Corresponds with GET /v0/projects/{projectId} (the `ProjectServiceGetProject` operationId). ProjectServiceGetProject(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceUpdateProjectWithBody UpdateProject // // Takes any type of body and a specified content type. // - // Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). + // Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). ProjectServiceUpdateProjectWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceUpdateProject UpdateProject // // Takes a body of the `application/json` content type. // - // Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). + // Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). ProjectServiceUpdateProject(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceGetProjectAnalytics GetProjectAnalytics // // GetProjectAnalytics returns the project overview over a time range. // - // Corresponds with GET /v1/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). + // Corresponds with GET /v0/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). AnalyticsServiceGetProjectAnalytics(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceListAgentAnalytics ListAgentAnalytics @@ -10159,57 +10913,104 @@ type ClientInterface interface { // the project, one AgentAnalytics row per agent — so a single agent and the // whole roster share one shape. // - // Corresponds with GET /v1/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). + // Corresponds with GET /v0/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). AnalyticsServiceListAgentAnalytics(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceGetAgentAnalytics GetAgentAnalytics // // GetAgentAnalytics returns the analytics for one agent over a time range. // - // Corresponds with GET /v1/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). + // Corresponds with GET /v0/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). AnalyticsServiceGetAgentAnalytics(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // DatabaseServiceListDatabases ListDatabases + // + // ListDatabases lists the project's databases, cursor-paginated. + // + // Corresponds with GET /v0/projects/{projectId}/databases (the `DatabaseServiceListDatabases` operationId). + DatabaseServiceListDatabases(ctx context.Context, projectId string, params *DatabaseServiceListDatabasesParams, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DatabaseServiceCreateDatabaseWithBody CreateDatabase + // + // CreateDatabase creates an empty database. Not idempotent: a retried + // request creates a second database. + // + // Takes any type of body and a specified content type. + // + // Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). + DatabaseServiceCreateDatabaseWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DatabaseServiceCreateDatabase CreateDatabase + // + // CreateDatabase creates an empty database. Not idempotent: a retried + // request creates a second database. + // + // Takes a body of the `application/json` content type. + // + // Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). + DatabaseServiceCreateDatabase(ctx context.Context, projectId string, body DatabaseServiceCreateDatabaseJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DatabaseServiceDeleteDatabase DeleteDatabase + // + // DeleteDatabase deletes the stored data, not just the metadata. + // + // Corresponds with DELETE /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceDeleteDatabase` operationId). + DatabaseServiceDeleteDatabase(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DatabaseServiceGetDatabase GetDatabase + // + // Corresponds with GET /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceGetDatabase` operationId). + DatabaseServiceGetDatabase(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // DatabaseServiceExportDatabase ExportDatabase + // + // ExportDatabase exports a consistent SQLite file as a time-limited download + // URL. + // + // Corresponds with POST /v0/projects/{projectId}/databases/{databaseId}:export (the `DatabaseServiceExportDatabase` operationId). + DatabaseServiceExportDatabase(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*http.Response, error) + // ProjectServiceListInvites ListInvites // - // Corresponds with GET /v1/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). + // Corresponds with GET /v0/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). ProjectServiceListInvites(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceInviteMemberWithBody InviteMember // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). + // Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). ProjectServiceInviteMemberWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceInviteMember InviteMember // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). + // Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). ProjectServiceInviteMember(ctx context.Context, projectId string, body ProjectServiceInviteMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceDeleteInvite DeleteInvite // - // Corresponds with DELETE /v1/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). + // Corresponds with DELETE /v0/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). ProjectServiceDeleteInvite(ctx context.Context, projectId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceUpdateInviteWithBody UpdateInvite // // Takes any type of body and a specified content type. // - // Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). + // Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). ProjectServiceUpdateInviteWithBody(ctx context.Context, projectId string, email string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceUpdateInvite UpdateInvite // // Takes a body of the `application/json` content type. // - // Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). + // Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). ProjectServiceUpdateInvite(ctx context.Context, projectId string, email string, body ProjectServiceUpdateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceListKeys ListKeys // - // Corresponds with GET /v1/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). + // Corresponds with GET /v0/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). ProjectServiceListKeys(ctx context.Context, projectId string, params *ProjectServiceListKeysParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceGenerateKeyWithBody GenerateKey @@ -10219,7 +11020,7 @@ type ClientInterface interface { // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). + // Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). ProjectServiceGenerateKeyWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceGenerateKey GenerateKey @@ -10229,57 +11030,57 @@ type ClientInterface interface { // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). + // Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). ProjectServiceGenerateKey(ctx context.Context, projectId string, body ProjectServiceGenerateKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceDeleteKey DeleteKey // - // Corresponds with DELETE /v1/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). + // Corresponds with DELETE /v0/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). ProjectServiceDeleteKey(ctx context.Context, projectId string, apiKey string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceListMembers ListMembers // // Members & invites (token-based; mirrors cloud ProjectService current flows). // - // Corresponds with GET /v1/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). + // Corresponds with GET /v0/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). ProjectServiceListMembers(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceRemoveMember RemoveMember // - // Corresponds with DELETE /v1/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). + // Corresponds with DELETE /v0/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). ProjectServiceRemoveMember(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceGetMember GetMember // - // Corresponds with GET /v1/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). + // Corresponds with GET /v0/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). ProjectServiceGetMember(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceUpdateMemberWithBody UpdateMember // // Takes any type of body and a specified content type. // - // Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). + // Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). ProjectServiceUpdateMemberWithBody(ctx context.Context, projectId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceUpdateMember UpdateMember // // Takes a body of the `application/json` content type. // - // Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). + // Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). ProjectServiceUpdateMember(ctx context.Context, projectId string, userId string, body ProjectServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceAddWorkspaceMembersToProjectWithBody AddWorkspaceMembersToProject // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). + // Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). ProjectServiceAddWorkspaceMembersToProjectWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceAddWorkspaceMembersToProject AddWorkspaceMembersToProject // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). + // Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). ProjectServiceAddWorkspaceMembersToProject(ctx context.Context, projectId string, body ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceGenerateScenarioFromSessionWithBody GenerateScenarioFromSession @@ -10293,7 +11094,7 @@ type ClientInterface interface { // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). + // Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). SimulationServiceGenerateScenarioFromSessionWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceGenerateScenarioFromSession GenerateScenarioFromSession @@ -10307,12 +11108,12 @@ type ClientInterface interface { // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). + // Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). SimulationServiceGenerateScenarioFromSession(ctx context.Context, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceListScopedKeys ListScopedKeys // - // Corresponds with GET /v1/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). + // Corresponds with GET /v0/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). ProjectServiceListScopedKeys(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceListProjectSessions ListProjectSessions @@ -10320,7 +11121,7 @@ type ClientInterface interface { // ListProjectSessions lists room sessions for a project, newest first, // cursor-paginated. Backed upstream by the ListingService room-sessions list. // - // Corresponds with GET /v1/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). AnalyticsServiceListProjectSessions(ctx context.Context, projectId string, params *AnalyticsServiceListProjectSessionsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceGetSession GetSession @@ -10328,7 +11129,7 @@ type ClientInterface interface { // GetSession returns one room session. The response carries both the list-row // `session` and the richer `detail` (participants, per-metric data points). // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). AnalyticsServiceGetSession(ctx context.Context, projectId string, sessionId string, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceListSessionEvents ListSessionEvents lists one room session's events, oldest first by default, @@ -10357,7 +11158,7 @@ type ClientInterface interface { // data, so an older session can list no events. An ACTIVE session lists the // events recorded so far. An unknown session is NotFound. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). AnalyticsServiceListSessionEvents(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ObservabilityServiceGetSessionLogs GetSessionLogs returns the log records the session's agents exported, in @@ -10373,7 +11174,7 @@ type ClientInterface interface { // empty because no record is at those levels, so only an unfiltered one is // ObservabilityDisabled. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). ObservabilityServiceGetSessionLogs(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ObservabilityServiceGetSessionMetrics GetSessionMetrics returns the OpenTelemetry metric points the session's @@ -10405,7 +11206,7 @@ type ClientInterface interface { // back empty because no metric has those names, so only an unfiltered one // is ObservabilityDisabled. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). ObservabilityServiceGetSessionMetrics(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // AnalyticsServiceListSessionParticipants ListSessionParticipants @@ -10415,7 +11216,7 @@ type ClientInterface interface { // carries the participant's participant sessions (PA_...), each with the // client it connected from. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). AnalyticsServiceListSessionParticipants(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ObservabilityServiceGetSessionRecordingURL GetSessionRecordingURL @@ -10425,7 +11226,7 @@ type ClientInterface interface { // recording of that type is NotFound. A new recording can be NotFound for // up to a minute after the session ends. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). ObservabilityServiceGetSessionRecordingURL(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ObservabilityServiceGetSessionTraces GetSessionTraces returns the spans the session's agents exported, by @@ -10440,7 +11241,7 @@ type ClientInterface interface { // can repeat, or be skipped. Dedupe by span_id, and read again from the // first page to pick up a skipped span. An unknown session is NotFound. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). ObservabilityServiceGetSessionTraces(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ObservabilityServiceGetSessionTranscript GetSessionTranscript returns the session's conversation as ordered @@ -10454,7 +11255,7 @@ type ClientInterface interface { // ACTIVE returns what exists so far, usually nothing, without an error: // read it again after the session ends. An unknown session is NotFound. // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). ObservabilityServiceGetSessionTranscript(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceListSimulationRuns ListSimulationRuns @@ -10464,7 +11265,7 @@ type ClientInterface interface { // Rows carry headline counts (job_count, passed_count, failed_count, // issue_count) but neither jobs nor the summary. // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). + // Corresponds with GET /v0/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). SimulationServiceListSimulationRuns(ctx context.Context, projectId string, params *SimulationServiceListSimulationRunsParams, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceCreateSimulationRunWithBody CreateSimulationRun @@ -10478,7 +11279,7 @@ type ClientInterface interface { // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). + // Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). SimulationServiceCreateSimulationRunWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceCreateSimulationRun CreateSimulationRun @@ -10492,7 +11293,7 @@ type ClientInterface interface { // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). + // Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). SimulationServiceCreateSimulationRun(ctx context.Context, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceGetSimulationRun GetSimulationRun @@ -10501,7 +11302,7 @@ type ClientInterface interface { // compressed summary blob (summary_zstd) is omitted; use // GetSimulationRunSummary for the decoded summary. // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). + // Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). SimulationServiceGetSimulationRun(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceGetSimulationRunSummary GetSimulationRunSummary @@ -10511,7 +11312,7 @@ type ClientInterface interface { // suggestions, and the per-job chat history. FailedPrecondition while the // run is still going; NotFound if the run finished without a summary. // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). + // Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). SimulationServiceGetSimulationRunSummary(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceCancelSimulationRun CancelSimulationRun @@ -10519,7 +11320,7 @@ type ClientInterface interface { // CancelSimulationRun stops a run that has not finished. Cancelling a run // that already finished succeeds without effect. // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). + // Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). SimulationServiceCancelSimulationRun(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceConfirmSimulationSourceUploadWithBody ConfirmSimulationSourceUpload @@ -10531,7 +11332,7 @@ type ClientInterface interface { // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). + // Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). SimulationServiceConfirmSimulationSourceUploadWithBody(ctx context.Context, projectId string, simulationRunId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceConfirmSimulationSourceUpload ConfirmSimulationSourceUpload @@ -10543,7 +11344,7 @@ type ClientInterface interface { // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). + // Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). SimulationServiceConfirmSimulationSourceUpload(ctx context.Context, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // SimulationServiceCountSimulationRuns CountSimulationRuns @@ -10553,9 +11354,80 @@ type ClientInterface interface { // same window, so the bars and the rows beneath them always describe one set. // Both bounds are required and end_time must be after start_time. // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). + // Corresponds with GET /v0/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). SimulationServiceCountSimulationRuns(ctx context.Context, projectId string, params *SimulationServiceCountSimulationRunsParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // ThreadServiceListThreads ListThreads + // + // ListThreads lists the threads of one scope, newest first. + // + // Corresponds with GET /v0/projects/{projectId}/threads (the `ThreadServiceListThreads` operationId). + ThreadServiceListThreads(ctx context.Context, projectId string, params *ThreadServiceListThreadsParams, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceCreateThreadWithBody CreateThread + // + // CreateThread creates a thread and its database. + // + // Takes any type of body and a specified content type. + // + // Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). + ThreadServiceCreateThreadWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceCreateThread CreateThread + // + // CreateThread creates a thread and its database. + // + // Takes a body of the `application/json` content type. + // + // Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). + ThreadServiceCreateThread(ctx context.Context, projectId string, body ThreadServiceCreateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceDeleteThread DeleteThread + // + // DeleteThread deletes the thread and its database. + // + // Corresponds with DELETE /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceDeleteThread` operationId). + ThreadServiceDeleteThread(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceGetThread GetThread + // + // Corresponds with GET /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceGetThread` operationId). + ThreadServiceGetThread(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceUpdateThreadWithBody UpdateThread + // + // UpdateThread merges attributes (an empty value deletes the entry) and sets + // the idle TTL. Every update counts as activity and pushes expires_at out. + // + // Takes any type of body and a specified content type. + // + // Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). + ThreadServiceUpdateThreadWithBody(ctx context.Context, projectId string, threadId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceUpdateThread UpdateThread + // + // UpdateThread merges attributes (an empty value deletes the entry) and sets + // the idle TTL. Every update counts as activity and pushes expires_at out. + // + // Takes a body of the `application/json` content type. + // + // Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). + ThreadServiceUpdateThread(ctx context.Context, projectId string, threadId string, body ThreadServiceUpdateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceGetThreadItems GetThreadItems + // + // GetThreadItems returns the thread's chat items, oldest first. + // + // Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/items (the `ThreadServiceGetThreadItems` operationId). + ThreadServiceGetThreadItems(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadItemsParams, reqEditors ...RequestEditorFn) (*http.Response, error) + + // ThreadServiceGetThreadTasks GetThreadTasks + // + // GetThreadTasks returns the thread's background tasks, oldest first. + // + // Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/tasks (the `ThreadServiceGetThreadTasks` operationId). + ThreadServiceGetThreadTasks(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadTasksParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // ProjectServiceCreateTokenWithBody CreateToken // // CreateToken mints a short-lived LiveKit access token for the project, @@ -10564,7 +11436,7 @@ type ClientInterface interface { // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). + // Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). ProjectServiceCreateTokenWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) // ProjectServiceCreateToken CreateToken @@ -10575,192 +11447,720 @@ type ClientInterface interface { // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). + // Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). ProjectServiceCreateToken(ctx context.Context, projectId string, body ProjectServiceCreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) // UserServiceListUsers ListUsers // - // Corresponds with GET /v1/users (the `UserServiceListUsers` operationId). + // Corresponds with GET /v0/users (the `UserServiceListUsers` operationId). UserServiceListUsers(ctx context.Context, params *UserServiceListUsersParams, reqEditors ...RequestEditorFn) (*http.Response, error) // UserServiceGetCurrentUser GetCurrentUser // - // Corresponds with GET /v1/users/me (the `UserServiceGetCurrentUser` operationId). + // Corresponds with GET /v0/users/me (the `UserServiceGetCurrentUser` operationId). UserServiceGetCurrentUser(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) // UserServiceGetUser GetUser // - // Corresponds with GET /v1/users/{userId} (the `UserServiceGetUser` operationId). + // Corresponds with GET /v0/users/{userId} (the `UserServiceGetUser` operationId). UserServiceGetUser(ctx context.Context, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) // WorkspaceServiceGetInvite GetInvite // - // Corresponds with GET /v1/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). - WorkspaceServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with GET /v0/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). + WorkspaceServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceAnswerInviteWithBody AnswerInvite + // + // Takes any type of body and a specified content type. + // + // Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). + WorkspaceServiceAnswerInviteWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceAnswerInvite AnswerInvite + // + // Takes a body of the `application/json` content type. + // + // Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). + WorkspaceServiceAnswerInvite(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceListWorkspaces ListWorkspaces + // + // Corresponds with GET /v0/workspaces (the `WorkspaceServiceListWorkspaces` operationId). + WorkspaceServiceListWorkspaces(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceCreateWorkspaceWithBody CreateWorkspace + // + // Takes any type of body and a specified content type. + // + // Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). + WorkspaceServiceCreateWorkspaceWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceCreateWorkspace CreateWorkspace + // + // Takes a body of the `application/json` content type. + // + // Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). + WorkspaceServiceCreateWorkspace(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceDeleteWorkspace DeleteWorkspace + // + // Corresponds with DELETE /v0/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). + WorkspaceServiceDeleteWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceGetWorkspace GetWorkspace + // + // Corresponds with GET /v0/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). + WorkspaceServiceGetWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceUpdateWorkspaceWithBody UpdateWorkspace + // + // Takes any type of body and a specified content type. + // + // Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). + WorkspaceServiceUpdateWorkspaceWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceUpdateWorkspace UpdateWorkspace + // + // Takes a body of the `application/json` content type. + // + // Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). + WorkspaceServiceUpdateWorkspace(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceListInvites ListInvites + // + // Corresponds with GET /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). + WorkspaceServiceListInvites(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceCreateInviteWithBody CreateInvite + // + // Takes any type of body and a specified content type. + // + // Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). + WorkspaceServiceCreateInviteWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceCreateInvite CreateInvite + // + // Takes a body of the `application/json` content type. + // + // Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). + WorkspaceServiceCreateInvite(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceDeleteInvite DeleteInvite + // + // Corresponds with DELETE /v0/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). + WorkspaceServiceDeleteInvite(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceListMembers ListMembers + // + // Members & invites (mirrors cloud WorkspaceService current flows). + // + // Corresponds with GET /v0/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). + WorkspaceServiceListMembers(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceDeleteMember DeleteMember + // + // Corresponds with DELETE /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). + WorkspaceServiceDeleteMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceGetMember GetMember + // + // Corresponds with GET /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). + WorkspaceServiceGetMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceAnswerInviteWithBody AnswerInvite + // WorkspaceServiceUpdateMemberWithBody UpdateMember // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). - WorkspaceServiceAnswerInviteWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). + WorkspaceServiceUpdateMemberWithBody(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceAnswerInvite AnswerInvite + // WorkspaceServiceUpdateMember UpdateMember // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). - WorkspaceServiceAnswerInvite(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). + WorkspaceServiceUpdateMember(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceListWorkspaces ListWorkspaces + // WorkspaceServiceListProjects ListProjects // - // Corresponds with GET /v1/workspaces (the `WorkspaceServiceListWorkspaces` operationId). - WorkspaceServiceListWorkspaces(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // Project CRUD scoped to a workspace — responses owned by projects.v1. + // + // Corresponds with GET /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). + WorkspaceServiceListProjects(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceCreateWorkspaceWithBody CreateWorkspace + // WorkspaceServiceCreateProjectWithBody CreateProject // // Takes any type of body and a specified content type. // - // Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). - WorkspaceServiceCreateWorkspaceWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). + WorkspaceServiceCreateProjectWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceCreateWorkspace CreateWorkspace + // WorkspaceServiceCreateProject CreateProject // // Takes a body of the `application/json` content type. // - // Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). - WorkspaceServiceCreateWorkspace(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). + WorkspaceServiceCreateProject(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceDeleteWorkspace DeleteWorkspace + // WorkspaceServiceDeleteProject DeleteProject // - // Corresponds with DELETE /v1/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). - WorkspaceServiceDeleteWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with DELETE /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). + WorkspaceServiceDeleteProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceGetWorkspace GetWorkspace + // WorkspaceServiceGetProject GetProject // - // Corresponds with GET /v1/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). - WorkspaceServiceGetWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with GET /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). + WorkspaceServiceGetProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkspaceServiceUpdateWorkspaceWithBody UpdateWorkspace + // WorkspaceServiceUpdateProjectWithBody UpdateProject // // Takes any type of body and a specified content type. // - // Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). - WorkspaceServiceUpdateWorkspaceWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). + WorkspaceServiceUpdateProjectWithBody(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkspaceServiceUpdateProject UpdateProject + // + // Takes a body of the `application/json` content type. + // + // Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). + WorkspaceServiceUpdateProject(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +} + +// ProjectServiceGetInvite GetInvite +// +// Corresponds with GET /v0/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). +func (c *Client) ProjectServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceGetInviteRequest(c.Server, inviteToken) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceAnswerInvitationWithBody AnswerInvitation +// +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). +func (c *Client) ProjectServiceAnswerInvitationWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceAnswerInvitationRequestWithBody(c.Server, inviteToken, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceAnswerInvitation AnswerInvitation +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). +func (c *Client) ProjectServiceAnswerInvitation(ctx context.Context, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceAnswerInvitationRequest(c.Server, inviteToken, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceListProjects ListProjects +// +// Corresponds with GET /v0/projects (the `ProjectServiceListProjects` operationId). +func (c *Client) ProjectServiceListProjects(ctx context.Context, params *ProjectServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceListProjectsRequest(c.Server, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceCreateProjectWithBody CreateProject +// +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). +func (c *Client) ProjectServiceCreateProjectWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceCreateProjectRequestWithBody(c.Server, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceCreateProject CreateProject +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). +func (c *Client) ProjectServiceCreateProject(ctx context.Context, body ProjectServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceCreateProjectRequest(c.Server, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceDeleteProject DeleteProject +// +// Corresponds with DELETE /v0/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). +func (c *Client) ProjectServiceDeleteProject(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceDeleteProjectRequest(c.Server, projectId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceGetProject GetProject +// +// Corresponds with GET /v0/projects/{projectId} (the `ProjectServiceGetProject` operationId). +func (c *Client) ProjectServiceGetProject(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceGetProjectRequest(c.Server, projectId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceUpdateProjectWithBody UpdateProject +// +// Takes any type of body and a specified content type. +// +// Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). +func (c *Client) ProjectServiceUpdateProjectWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceUpdateProjectRequestWithBody(c.Server, projectId, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// ProjectServiceUpdateProject UpdateProject +// +// Takes a body of the `application/json` content type. +// +// Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). +func (c *Client) ProjectServiceUpdateProject(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceUpdateProjectRequest(c.Server, projectId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// AnalyticsServiceGetProjectAnalytics GetProjectAnalytics +// +// GetProjectAnalytics returns the project overview over a time range. +// +// Corresponds with GET /v0/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). +func (c *Client) AnalyticsServiceGetProjectAnalytics(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceGetProjectAnalyticsRequest(c.Server, projectId, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// AnalyticsServiceListAgentAnalytics ListAgentAnalytics +// +// ListAgentAnalytics returns the same per-agent analytics for every agent in +// +// the project, one AgentAnalytics row per agent — so a single agent and the +// whole roster share one shape. +// +// Corresponds with GET /v0/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). +func (c *Client) AnalyticsServiceListAgentAnalytics(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceListAgentAnalyticsRequest(c.Server, projectId, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// AnalyticsServiceGetAgentAnalytics GetAgentAnalytics +// +// GetAgentAnalytics returns the analytics for one agent over a time range. +// +// Corresponds with GET /v0/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). +func (c *Client) AnalyticsServiceGetAgentAnalytics(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceGetAgentAnalyticsRequest(c.Server, projectId, agentId, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// DatabaseServiceListDatabases ListDatabases +// +// ListDatabases lists the project's databases, cursor-paginated. +// +// Corresponds with GET /v0/projects/{projectId}/databases (the `DatabaseServiceListDatabases` operationId). +func (c *Client) DatabaseServiceListDatabases(ctx context.Context, projectId string, params *DatabaseServiceListDatabasesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDatabaseServiceListDatabasesRequest(c.Server, projectId, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceUpdateWorkspace UpdateWorkspace - // - // Takes a body of the `application/json` content type. - // - // Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). - WorkspaceServiceUpdateWorkspace(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +// DatabaseServiceCreateDatabaseWithBody CreateDatabase +// +// CreateDatabase creates an empty database. Not idempotent: a retried +// +// request creates a second database. +// +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). +func (c *Client) DatabaseServiceCreateDatabaseWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDatabaseServiceCreateDatabaseRequestWithBody(c.Server, projectId, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceListInvites ListInvites - // - // Corresponds with GET /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). - WorkspaceServiceListInvites(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) +// DatabaseServiceCreateDatabase CreateDatabase +// +// CreateDatabase creates an empty database. Not idempotent: a retried +// +// request creates a second database. +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). +func (c *Client) DatabaseServiceCreateDatabase(ctx context.Context, projectId string, body DatabaseServiceCreateDatabaseJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDatabaseServiceCreateDatabaseRequest(c.Server, projectId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceCreateInviteWithBody CreateInvite - // - // Takes any type of body and a specified content type. - // - // Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). - WorkspaceServiceCreateInviteWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) +// DatabaseServiceDeleteDatabase DeleteDatabase +// +// DeleteDatabase deletes the stored data, not just the metadata. +// +// Corresponds with DELETE /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceDeleteDatabase` operationId). +func (c *Client) DatabaseServiceDeleteDatabase(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDatabaseServiceDeleteDatabaseRequest(c.Server, projectId, databaseId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceCreateInvite CreateInvite - // - // Takes a body of the `application/json` content type. - // - // Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). - WorkspaceServiceCreateInvite(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +// DatabaseServiceGetDatabase GetDatabase +// +// Corresponds with GET /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceGetDatabase` operationId). +func (c *Client) DatabaseServiceGetDatabase(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDatabaseServiceGetDatabaseRequest(c.Server, projectId, databaseId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceDeleteInvite DeleteInvite - // - // Corresponds with DELETE /v1/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). - WorkspaceServiceDeleteInvite(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) +// DatabaseServiceExportDatabase ExportDatabase +// +// ExportDatabase exports a consistent SQLite file as a time-limited download +// +// URL. +// +// Corresponds with POST /v0/projects/{projectId}/databases/{databaseId}:export (the `DatabaseServiceExportDatabase` operationId). +func (c *Client) DatabaseServiceExportDatabase(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewDatabaseServiceExportDatabaseRequest(c.Server, projectId, databaseId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceListMembers ListMembers - // - // Members & invites (mirrors cloud WorkspaceService current flows). - // - // Corresponds with GET /v1/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). - WorkspaceServiceListMembers(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceListInvites ListInvites +// +// Corresponds with GET /v0/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). +func (c *Client) ProjectServiceListInvites(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceListInvitesRequest(c.Server, projectId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceDeleteMember DeleteMember - // - // Corresponds with DELETE /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). - WorkspaceServiceDeleteMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceInviteMemberWithBody InviteMember +// +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). +func (c *Client) ProjectServiceInviteMemberWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceInviteMemberRequestWithBody(c.Server, projectId, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceGetMember GetMember - // - // Corresponds with GET /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). - WorkspaceServiceGetMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceInviteMember InviteMember +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). +func (c *Client) ProjectServiceInviteMember(ctx context.Context, projectId string, body ProjectServiceInviteMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceInviteMemberRequest(c.Server, projectId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceUpdateMemberWithBody UpdateMember - // - // Takes any type of body and a specified content type. - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). - WorkspaceServiceUpdateMemberWithBody(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceDeleteInvite DeleteInvite +// +// Corresponds with DELETE /v0/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). +func (c *Client) ProjectServiceDeleteInvite(ctx context.Context, projectId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceDeleteInviteRequest(c.Server, projectId, email) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceUpdateMember UpdateMember - // - // Takes a body of the `application/json` content type. - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). - WorkspaceServiceUpdateMember(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceUpdateInviteWithBody UpdateInvite +// +// Takes any type of body and a specified content type. +// +// Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). +func (c *Client) ProjectServiceUpdateInviteWithBody(ctx context.Context, projectId string, email string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceUpdateInviteRequestWithBody(c.Server, projectId, email, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceListProjects ListProjects - // - // Project CRUD scoped to a workspace — responses owned by projects.v1. - // - // Corresponds with GET /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). - WorkspaceServiceListProjects(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceUpdateInvite UpdateInvite +// +// Takes a body of the `application/json` content type. +// +// Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). +func (c *Client) ProjectServiceUpdateInvite(ctx context.Context, projectId string, email string, body ProjectServiceUpdateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceUpdateInviteRequest(c.Server, projectId, email, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceCreateProjectWithBody CreateProject - // - // Takes any type of body and a specified content type. - // - // Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). - WorkspaceServiceCreateProjectWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceListKeys ListKeys +// +// Corresponds with GET /v0/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). +func (c *Client) ProjectServiceListKeys(ctx context.Context, projectId string, params *ProjectServiceListKeysParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceListKeysRequest(c.Server, projectId, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceCreateProject CreateProject - // - // Takes a body of the `application/json` content type. - // - // Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). - WorkspaceServiceCreateProject(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceGenerateKeyWithBody GenerateKey +// +// Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / +// +// ListScopedKeys / DeleteKey). +// +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). +func (c *Client) ProjectServiceGenerateKeyWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceGenerateKeyRequestWithBody(c.Server, projectId, contentType, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceDeleteProject DeleteProject - // - // Corresponds with DELETE /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). - WorkspaceServiceDeleteProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceGenerateKey GenerateKey +// +// Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / +// +// ListScopedKeys / DeleteKey). +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). +func (c *Client) ProjectServiceGenerateKey(ctx context.Context, projectId string, body ProjectServiceGenerateKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceGenerateKeyRequest(c.Server, projectId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceGetProject GetProject - // - // Corresponds with GET /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). - WorkspaceServiceGetProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceDeleteKey DeleteKey +// +// Corresponds with DELETE /v0/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). +func (c *Client) ProjectServiceDeleteKey(ctx context.Context, projectId string, apiKey string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceDeleteKeyRequest(c.Server, projectId, apiKey) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceUpdateProjectWithBody UpdateProject - // - // Takes any type of body and a specified content type. - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). - WorkspaceServiceUpdateProjectWithBody(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceListMembers ListMembers +// +// Members & invites (token-based; mirrors cloud ProjectService current flows). +// +// Corresponds with GET /v0/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). +func (c *Client) ProjectServiceListMembers(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceListMembersRequest(c.Server, projectId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} - // WorkspaceServiceUpdateProject UpdateProject - // - // Takes a body of the `application/json` content type. - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). - WorkspaceServiceUpdateProject(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) +// ProjectServiceRemoveMember RemoveMember +// +// Corresponds with DELETE /v0/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). +func (c *Client) ProjectServiceRemoveMember(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceRemoveMemberRequest(c.Server, projectId, userId) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) } -// ProjectServiceGetInvite GetInvite +// ProjectServiceGetMember GetMember // -// Corresponds with GET /v1/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). -func (c *Client) ProjectServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceGetInviteRequest(c.Server, inviteToken) +// Corresponds with GET /v0/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). +func (c *Client) ProjectServiceGetMember(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceGetMemberRequest(c.Server, projectId, userId) if err != nil { return nil, err } @@ -10771,13 +12171,13 @@ func (c *Client) ProjectServiceGetInvite(ctx context.Context, inviteToken string return c.Client.Do(req) } -// ProjectServiceAnswerInvitationWithBody AnswerInvitation +// ProjectServiceUpdateMemberWithBody UpdateMember // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). -func (c *Client) ProjectServiceAnswerInvitationWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceAnswerInvitationRequestWithBody(c.Server, inviteToken, contentType, body) +// Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). +func (c *Client) ProjectServiceUpdateMemberWithBody(ctx context.Context, projectId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceUpdateMemberRequestWithBody(c.Server, projectId, userId, contentType, body) if err != nil { return nil, err } @@ -10788,13 +12188,13 @@ func (c *Client) ProjectServiceAnswerInvitationWithBody(ctx context.Context, inv return c.Client.Do(req) } -// ProjectServiceAnswerInvitation AnswerInvitation +// ProjectServiceUpdateMember UpdateMember // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). -func (c *Client) ProjectServiceAnswerInvitation(ctx context.Context, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceAnswerInvitationRequest(c.Server, inviteToken, body) +// Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). +func (c *Client) ProjectServiceUpdateMember(ctx context.Context, projectId string, userId string, body ProjectServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceUpdateMemberRequest(c.Server, projectId, userId, body) if err != nil { return nil, err } @@ -10805,11 +12205,13 @@ func (c *Client) ProjectServiceAnswerInvitation(ctx context.Context, inviteToken return c.Client.Do(req) } -// ProjectServiceListProjects ListProjects +// ProjectServiceAddWorkspaceMembersToProjectWithBody AddWorkspaceMembersToProject // -// Corresponds with GET /v1/projects (the `ProjectServiceListProjects` operationId). -func (c *Client) ProjectServiceListProjects(ctx context.Context, params *ProjectServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceListProjectsRequest(c.Server, params) +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). +func (c *Client) ProjectServiceAddWorkspaceMembersToProjectWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceAddWorkspaceMembersToProjectRequestWithBody(c.Server, projectId, contentType, body) if err != nil { return nil, err } @@ -10820,13 +12222,38 @@ func (c *Client) ProjectServiceListProjects(ctx context.Context, params *Project return c.Client.Do(req) } -// ProjectServiceCreateProjectWithBody CreateProject +// ProjectServiceAddWorkspaceMembersToProject AddWorkspaceMembersToProject +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). +func (c *Client) ProjectServiceAddWorkspaceMembersToProject(ctx context.Context, projectId string, body ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceAddWorkspaceMembersToProjectRequest(c.Server, projectId, body) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +// SimulationServiceGenerateScenarioFromSessionWithBody GenerateScenarioFromSession +// +// GenerateScenarioFromSession derives a reusable scenario (label, +// +// instructions and expectations) from a recorded room session, for use in a +// later run's scenario_group. Nothing is stored; the returned scenario is the +// result. The session must have a recorded chat history. Each call runs an +// LLM over it, so it counts against the project's scenario-generation quota +// and can take up to about a minute. // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). -func (c *Client) ProjectServiceCreateProjectWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceCreateProjectRequestWithBody(c.Server, contentType, body) +// Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). +func (c *Client) SimulationServiceGenerateScenarioFromSessionWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceGenerateScenarioFromSessionRequestWithBody(c.Server, projectId, contentType, body) if err != nil { return nil, err } @@ -10837,13 +12264,21 @@ func (c *Client) ProjectServiceCreateProjectWithBody(ctx context.Context, conten return c.Client.Do(req) } -// ProjectServiceCreateProject CreateProject +// SimulationServiceGenerateScenarioFromSession GenerateScenarioFromSession +// +// GenerateScenarioFromSession derives a reusable scenario (label, +// +// instructions and expectations) from a recorded room session, for use in a +// later run's scenario_group. Nothing is stored; the returned scenario is the +// result. The session must have a recorded chat history. Each call runs an +// LLM over it, so it counts against the project's scenario-generation quota +// and can take up to about a minute. // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). -func (c *Client) ProjectServiceCreateProject(ctx context.Context, body ProjectServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceCreateProjectRequest(c.Server, body) +// Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). +func (c *Client) SimulationServiceGenerateScenarioFromSession(ctx context.Context, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceGenerateScenarioFromSessionRequest(c.Server, projectId, body) if err != nil { return nil, err } @@ -10854,11 +12289,11 @@ func (c *Client) ProjectServiceCreateProject(ctx context.Context, body ProjectSe return c.Client.Do(req) } -// ProjectServiceDeleteProject DeleteProject +// ProjectServiceListScopedKeys ListScopedKeys // -// Corresponds with DELETE /v1/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). -func (c *Client) ProjectServiceDeleteProject(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceDeleteProjectRequest(c.Server, projectId) +// Corresponds with GET /v0/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). +func (c *Client) ProjectServiceListScopedKeys(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceListScopedKeysRequest(c.Server, projectId) if err != nil { return nil, err } @@ -10869,11 +12304,15 @@ func (c *Client) ProjectServiceDeleteProject(ctx context.Context, projectId stri return c.Client.Do(req) } -// ProjectServiceGetProject GetProject +// AnalyticsServiceListProjectSessions ListProjectSessions // -// Corresponds with GET /v1/projects/{projectId} (the `ProjectServiceGetProject` operationId). -func (c *Client) ProjectServiceGetProject(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceGetProjectRequest(c.Server, projectId) +// ListProjectSessions lists room sessions for a project, newest first, +// +// cursor-paginated. Backed upstream by the ListingService room-sessions list. +// +// Corresponds with GET /v0/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). +func (c *Client) AnalyticsServiceListProjectSessions(ctx context.Context, projectId string, params *AnalyticsServiceListProjectSessionsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceListProjectSessionsRequest(c.Server, projectId, params) if err != nil { return nil, err } @@ -10884,13 +12323,15 @@ func (c *Client) ProjectServiceGetProject(ctx context.Context, projectId string, return c.Client.Do(req) } -// ProjectServiceUpdateProjectWithBody UpdateProject +// AnalyticsServiceGetSession GetSession // -// Takes any type of body and a specified content type. +// GetSession returns one room session. The response carries both the list-row // -// Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). -func (c *Client) ProjectServiceUpdateProjectWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceUpdateProjectRequestWithBody(c.Server, projectId, contentType, body) +// `session` and the richer `detail` (participants, per-metric data points). +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). +func (c *Client) AnalyticsServiceGetSession(ctx context.Context, projectId string, sessionId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceGetSessionRequest(c.Server, projectId, sessionId) if err != nil { return nil, err } @@ -10901,13 +12342,37 @@ func (c *Client) ProjectServiceUpdateProjectWithBody(ctx context.Context, projec return c.Client.Do(req) } -// ProjectServiceUpdateProject UpdateProject +// AnalyticsServiceListSessionEvents ListSessionEvents lists one room session's events, oldest first by default, // -// Takes a body of the `application/json` content type. +// cursor-paginated with no total. With no `types`, it returns the seven the +// dashboard's events table shows: PARTICIPANT_JOINED, PARTICIPANT_LEFT, +// PARTICIPANT_ACTIVE, PARTICIPANT_RESUMED, ROOM_CREATED, ROOM_ENDED and +// API_CALL. `types` asks for others, such as TRACK_PUBLISHED, and +// `participant_session_id` keeps one participant session's events. With +// `participant_session_id` and no `types`, it returns the eleven the +// dashboard's participant events table shows: that participant session's +// PARTICIPANT_JOINED, PARTICIPANT_LEFT, PARTICIPANT_RESUMED and +// PARTICIPANT_ACTIVE, and its TRACK_MUTED, TRACK_UNMUTED, TRACK_PUBLISHED, +// TRACK_UNPUBLISHED, TRACK_SUBSCRIBED, TRACK_SUBSCRIBE_REQUESTED and +// TRACK_SUBSCRIBE_FAILED. // -// Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). -func (c *Client) ProjectServiceUpdateProject(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceUpdateProjectRequest(c.Server, projectId, body) +// Unlike the dashboard, on purpose: an unknown type or a malformed +// +// participant session id is InvalidArgument rather than being searched for +// as typed, and types match exactly, so TRACK_PUBLISHED doesn't also return +// TRACK_PUBLISHED_UPDATE. Each event's payload keeps only an allowlist of +// fields, leaving out participants' attributes and metadata and API calls' +// request bodies. Each event and participant row still carries the +// participant's identity, as the dashboard shows it to every member, and +// for a SIP caller that can be a phone number. +// +// Events are kept for 60 days, which can be shorter than the session's other +// data, so an older session can list no events. An ACTIVE session lists the +// events recorded so far. An unknown session is NotFound. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). +func (c *Client) AnalyticsServiceListSessionEvents(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceListSessionEventsRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -10918,13 +12383,24 @@ func (c *Client) ProjectServiceUpdateProject(ctx context.Context, projectId stri return c.Client.Do(req) } -// AnalyticsServiceGetProjectAnalytics GetProjectAnalytics +// ObservabilityServiceGetSessionLogs GetSessionLogs returns the log records the session's agents exported, in // -// GetProjectAnalytics returns the project overview over a time range. +// time order: what the dashboard's logs panel shows. Their chat history is +// left out, since GetSessionTranscript reads it, and their evaluation +// results stay in. The session's events, such as participants joining, +// come from AnalyticsService's ListSessionEvents. // -// Corresponds with GET /v1/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). -func (c *Client) AnalyticsServiceGetProjectAnalytics(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceGetProjectAnalyticsRequest(c.Server, projectId, params) +// An ACTIVE session returns what its agents have exported so far. A record +// +// exported mid-read with a time this read has already paged past, earlier +// than its cursor's when oldest first, is missed until a new read. An +// unknown session is NotFound. A read filtered by log_levels can come back +// empty because no record is at those levels, so only an unfiltered one is +// ObservabilityDisabled. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). +func (c *Client) ObservabilityServiceGetSessionLogs(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewObservabilityServiceGetSessionLogsRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -10935,16 +12411,40 @@ func (c *Client) AnalyticsServiceGetProjectAnalytics(ctx context.Context, projec return c.Client.Do(req) } -// AnalyticsServiceListAgentAnalytics ListAgentAnalytics +// ObservabilityServiceGetSessionMetrics GetSessionMetrics returns the OpenTelemetry metric points the session's // -// ListAgentAnalytics returns the same per-agent analytics for every agent in +// agents exported, by time, typed: turn latencies such as +// lk.agents.turn.e2e_latency and lk.agents.turn.llm_ttft, token and duration +// usage such as lk.agents.usage.llm_input_tokens, and the gen_ai.* +// histograms, along with any metrics the agent's own code recorded. // -// the project, one AgentAnalytics row per agent — so a single agent and the -// whole roster share one shape. +// These are the raw metrics agents emit, so they won't exactly match the // -// Corresponds with GET /v1/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). -func (c *Client) AnalyticsServiceListAgentAnalytics(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceListAgentAnalyticsRequest(c.Server, projectId, params) +// dashboard's metrics panel, which derives its numbers from the transcript +// and traces. Only agents that export OpenTelemetry metrics to LiveKit Cloud +// produce them: an agent whose code installs its own MeterProvider exports +// none to LiveKit Cloud, and its sessions return no points. +// +// Some points aren't labeled as their agent exported them. These are +// limitations of the upstream aggregator, which groups a session's series +// by their attributes alone and names each group after its first row: +// - several metrics can come back under one name, such as an LLM's input, +// output and cached token counts, all named +// lk.agents.usage.llm_input_tokens; +// - points of one series at the same time that recorded equal values +// collapse into one point; +// - with two agents in one session, a point can carry the other agent's +// resource attributes. +// +// An agent exports its metrics every 30 seconds, and its turn latencies +// when the session ends, so an ACTIVE session returns what it has exported +// so far. An unknown session is NotFound. A read filtered by names can come +// back empty because no metric has those names, so only an unfiltered one +// is ObservabilityDisabled. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). +func (c *Client) ObservabilityServiceGetSessionMetrics(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewObservabilityServiceGetSessionMetricsRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -10955,13 +12455,17 @@ func (c *Client) AnalyticsServiceListAgentAnalytics(ctx context.Context, project return c.Client.Do(req) } -// AnalyticsServiceGetAgentAnalytics GetAgentAnalytics +// AnalyticsServiceListSessionParticipants ListSessionParticipants // -// GetAgentAnalytics returns the analytics for one agent over a time range. +// ListSessionParticipants lists the participants of one room session, one row // -// Corresponds with GET /v1/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). -func (c *Client) AnalyticsServiceGetAgentAnalytics(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceGetAgentAnalyticsRequest(c.Server, projectId, agentId, params) +// per identity, cursor-paginated; newest join first by default. Each row +// carries the participant's participant sessions (PA_...), each with the +// client it connected from. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). +func (c *Client) AnalyticsServiceListSessionParticipants(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewAnalyticsServiceListSessionParticipantsRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -10972,11 +12476,17 @@ func (c *Client) AnalyticsServiceGetAgentAnalytics(ctx context.Context, projectI return c.Client.Do(req) } -// ProjectServiceListInvites ListInvites +// ObservabilityServiceGetSessionRecordingURL GetSessionRecordingURL +// +// GetSessionRecordingURL returns a short-lived signed URL for one of the // -// Corresponds with GET /v1/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). -func (c *Client) ProjectServiceListInvites(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceListInvitesRequest(c.Server, projectId) +// session's recordings: its audio or its chat history. A session with no +// recording of that type is NotFound. A new recording can be NotFound for +// up to a minute after the session ends. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). +func (c *Client) ObservabilityServiceGetSessionRecordingURL(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewObservabilityServiceGetSessionRecordingURLRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -10987,13 +12497,23 @@ func (c *Client) ProjectServiceListInvites(ctx context.Context, projectId string return c.Client.Do(req) } -// ProjectServiceInviteMemberWithBody InviteMember +// ObservabilityServiceGetSessionTraces GetSessionTraces returns the spans the session's agents exported, by // -// Takes any type of body and a specified content type. +// start time: what the dashboard's trace view shows. Each span names its +// parent, so the pages rebuild the span tree, and its attributes carry the +// turn and latency fields the dashboard's turn view reads, such as +// lk.generation_id and lk.response.ttft. // -// Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). -func (c *Client) ProjectServiceInviteMemberWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceInviteMemberRequestWithBody(c.Server, projectId, contentType, body) +// An ACTIVE session returns what its agents have exported so far; a span +// +// exported after the first page waits for a new read. The later pages are +// read by offset, so a span exported mid-read can still shift them: a span +// can repeat, or be skipped. Dedupe by span_id, and read again from the +// first page to pick up a skipped span. An unknown session is NotFound. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). +func (c *Client) ObservabilityServiceGetSessionTraces(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewObservabilityServiceGetSessionTracesRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -11004,13 +12524,22 @@ func (c *Client) ProjectServiceInviteMemberWithBody(ctx context.Context, project return c.Client.Do(req) } -// ProjectServiceInviteMember InviteMember +// ObservabilityServiceGetSessionTranscript GetSessionTranscript returns the session's conversation as ordered // -// Takes a body of the `application/json` content type. +// transcript items: messages, tool calls and results, agent handoffs and +// agent configuration changes. It is the conversation the dashboard's +// transcript shows. // -// Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). -func (c *Client) ProjectServiceInviteMember(ctx context.Context, projectId string, body ProjectServiceInviteMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceInviteMemberRequest(c.Server, projectId, body) +// The agent exports its transcript when the session ends, and it can be +// +// read a minute or two later; on a project with PII redaction, only once +// the session's recording has been redacted. So a session that is still +// ACTIVE returns what exists so far, usually nothing, without an error: +// read it again after the session ends. An unknown session is NotFound. +// +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). +func (c *Client) ObservabilityServiceGetSessionTranscript(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewObservabilityServiceGetSessionTranscriptRequest(c.Server, projectId, sessionId, params) if err != nil { return nil, err } @@ -11021,11 +12550,17 @@ func (c *Client) ProjectServiceInviteMember(ctx context.Context, projectId strin return c.Client.Do(req) } -// ProjectServiceDeleteInvite DeleteInvite +// SimulationServiceListSimulationRuns ListSimulationRuns // -// Corresponds with DELETE /v1/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). -func (c *Client) ProjectServiceDeleteInvite(ctx context.Context, projectId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceDeleteInviteRequest(c.Server, projectId, email) +// ListSimulationRuns lists a project's runs, newest first, cursor-paginated, +// +// optionally narrowed by status, agent, conversation mode and a time window. +// Rows carry headline counts (job_count, passed_count, failed_count, +// issue_count) but neither jobs nor the summary. +// +// Corresponds with GET /v0/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). +func (c *Client) SimulationServiceListSimulationRuns(ctx context.Context, projectId string, params *SimulationServiceListSimulationRunsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceListSimulationRunsRequest(c.Server, projectId, params) if err != nil { return nil, err } @@ -11036,13 +12571,21 @@ func (c *Client) ProjectServiceDeleteInvite(ctx context.Context, projectId strin return c.Client.Do(req) } -// ProjectServiceUpdateInviteWithBody UpdateInvite +// SimulationServiceCreateSimulationRunWithBody CreateSimulationRun +// +// CreateSimulationRun registers a new run. With a scenario_group it starts +// +// right away and no upload target is returned. Without one it waits in +// PENDING_UPLOAD for the agent source that scenarios are generated from: +// upload it to the returned presigned POST, then call +// ConfirmSimulationSourceUpload. A run left pending for an hour is failed. +// Creating a run is not idempotent: a retried request starts a second run. // // Takes any type of body and a specified content type. // -// Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). -func (c *Client) ProjectServiceUpdateInviteWithBody(ctx context.Context, projectId string, email string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceUpdateInviteRequestWithBody(c.Server, projectId, email, contentType, body) +// Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). +func (c *Client) SimulationServiceCreateSimulationRunWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceCreateSimulationRunRequestWithBody(c.Server, projectId, contentType, body) if err != nil { return nil, err } @@ -11053,13 +12596,21 @@ func (c *Client) ProjectServiceUpdateInviteWithBody(ctx context.Context, project return c.Client.Do(req) } -// ProjectServiceUpdateInvite UpdateInvite +// SimulationServiceCreateSimulationRun CreateSimulationRun +// +// CreateSimulationRun registers a new run. With a scenario_group it starts +// +// right away and no upload target is returned. Without one it waits in +// PENDING_UPLOAD for the agent source that scenarios are generated from: +// upload it to the returned presigned POST, then call +// ConfirmSimulationSourceUpload. A run left pending for an hour is failed. +// Creating a run is not idempotent: a retried request starts a second run. // // Takes a body of the `application/json` content type. // -// Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). -func (c *Client) ProjectServiceUpdateInvite(ctx context.Context, projectId string, email string, body ProjectServiceUpdateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceUpdateInviteRequest(c.Server, projectId, email, body) +// Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). +func (c *Client) SimulationServiceCreateSimulationRun(ctx context.Context, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceCreateSimulationRunRequest(c.Server, projectId, body) if err != nil { return nil, err } @@ -11070,11 +12621,16 @@ func (c *Client) ProjectServiceUpdateInvite(ctx context.Context, projectId strin return c.Client.Do(req) } -// ProjectServiceListKeys ListKeys +// SimulationServiceGetSimulationRun GetSimulationRun // -// Corresponds with GET /v1/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). -func (c *Client) ProjectServiceListKeys(ctx context.Context, projectId string, params *ProjectServiceListKeysParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceListKeysRequest(c.Server, projectId, params) +// GetSimulationRun returns one run with its jobs and aggregate metrics. The +// +// compressed summary blob (summary_zstd) is omitted; use +// GetSimulationRunSummary for the decoded summary. +// +// Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). +func (c *Client) SimulationServiceGetSimulationRun(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceGetSimulationRunRequest(c.Server, projectId, simulationRunId) if err != nil { return nil, err } @@ -11085,17 +12641,17 @@ func (c *Client) ProjectServiceListKeys(ctx context.Context, projectId string, p return c.Client.Do(req) } -// ProjectServiceGenerateKeyWithBody GenerateKey -// -// Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / +// SimulationServiceGetSimulationRunSummary GetSimulationRunSummary // -// ListScopedKeys / DeleteKey). +// GetSimulationRunSummary returns the graded outcome of a finished run: // -// Takes any type of body and a specified content type. +// pass/fail counts, what went well, what to improve, flagged issues with +// suggestions, and the per-job chat history. FailedPrecondition while the +// run is still going; NotFound if the run finished without a summary. // -// Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). -func (c *Client) ProjectServiceGenerateKeyWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceGenerateKeyRequestWithBody(c.Server, projectId, contentType, body) +// Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). +func (c *Client) SimulationServiceGetSimulationRunSummary(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceGetSimulationRunSummaryRequest(c.Server, projectId, simulationRunId) if err != nil { return nil, err } @@ -11106,17 +12662,15 @@ func (c *Client) ProjectServiceGenerateKeyWithBody(ctx context.Context, projectI return c.Client.Do(req) } -// ProjectServiceGenerateKey GenerateKey -// -// Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / +// SimulationServiceCancelSimulationRun CancelSimulationRun // -// ListScopedKeys / DeleteKey). +// CancelSimulationRun stops a run that has not finished. Cancelling a run // -// Takes a body of the `application/json` content type. +// that already finished succeeds without effect. // -// Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). -func (c *Client) ProjectServiceGenerateKey(ctx context.Context, projectId string, body ProjectServiceGenerateKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceGenerateKeyRequest(c.Server, projectId, body) +// Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). +func (c *Client) SimulationServiceCancelSimulationRun(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceCancelSimulationRunRequest(c.Server, projectId, simulationRunId) if err != nil { return nil, err } @@ -11127,11 +12681,19 @@ func (c *Client) ProjectServiceGenerateKey(ctx context.Context, projectId string return c.Client.Do(req) } -// ProjectServiceDeleteKey DeleteKey +// SimulationServiceConfirmSimulationSourceUploadWithBody ConfirmSimulationSourceUpload // -// Corresponds with DELETE /v1/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). -func (c *Client) ProjectServiceDeleteKey(ctx context.Context, projectId string, apiKey string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceDeleteKeyRequest(c.Server, projectId, apiKey) +// ConfirmSimulationSourceUpload marks the agent source as uploaded and starts +// +// scenario generation; the run moves to GENERATING, then RUNNING once the +// scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated +// call fails. +// +// Takes any type of body and a specified content type. +// +// Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). +func (c *Client) SimulationServiceConfirmSimulationSourceUploadWithBody(ctx context.Context, projectId string, simulationRunId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(c.Server, projectId, simulationRunId, contentType, body) if err != nil { return nil, err } @@ -11142,13 +12704,19 @@ func (c *Client) ProjectServiceDeleteKey(ctx context.Context, projectId string, return c.Client.Do(req) } -// ProjectServiceListMembers ListMembers +// SimulationServiceConfirmSimulationSourceUpload ConfirmSimulationSourceUpload // -// Members & invites (token-based; mirrors cloud ProjectService current flows). +// ConfirmSimulationSourceUpload marks the agent source as uploaded and starts // -// Corresponds with GET /v1/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). -func (c *Client) ProjectServiceListMembers(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceListMembersRequest(c.Server, projectId) +// scenario generation; the run moves to GENERATING, then RUNNING once the +// scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated +// call fails. +// +// Takes a body of the `application/json` content type. +// +// Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). +func (c *Client) SimulationServiceConfirmSimulationSourceUpload(ctx context.Context, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceConfirmSimulationSourceUploadRequest(c.Server, projectId, simulationRunId, body) if err != nil { return nil, err } @@ -11159,11 +12727,17 @@ func (c *Client) ProjectServiceListMembers(ctx context.Context, projectId string return c.Client.Do(req) } -// ProjectServiceRemoveMember RemoveMember +// SimulationServiceCountSimulationRuns CountSimulationRuns // -// Corresponds with DELETE /v1/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). -func (c *Client) ProjectServiceRemoveMember(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceRemoveMemberRequest(c.Server, projectId, userId) +// CountSimulationRuns buckets the runs ListSimulationRuns would return over +// +// [start_time, end_time) into a histogram. It takes the same filters over the +// same window, so the bars and the rows beneath them always describe one set. +// Both bounds are required and end_time must be after start_time. +// +// Corresponds with GET /v0/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). +func (c *Client) SimulationServiceCountSimulationRuns(ctx context.Context, projectId string, params *SimulationServiceCountSimulationRunsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewSimulationServiceCountSimulationRunsRequest(c.Server, projectId, params) if err != nil { return nil, err } @@ -11174,11 +12748,13 @@ func (c *Client) ProjectServiceRemoveMember(ctx context.Context, projectId strin return c.Client.Do(req) } -// ProjectServiceGetMember GetMember +// ThreadServiceListThreads ListThreads // -// Corresponds with GET /v1/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). -func (c *Client) ProjectServiceGetMember(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceGetMemberRequest(c.Server, projectId, userId) +// ListThreads lists the threads of one scope, newest first. +// +// Corresponds with GET /v0/projects/{projectId}/threads (the `ThreadServiceListThreads` operationId). +func (c *Client) ThreadServiceListThreads(ctx context.Context, projectId string, params *ThreadServiceListThreadsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceListThreadsRequest(c.Server, projectId, params) if err != nil { return nil, err } @@ -11189,13 +12765,15 @@ func (c *Client) ProjectServiceGetMember(ctx context.Context, projectId string, return c.Client.Do(req) } -// ProjectServiceUpdateMemberWithBody UpdateMember +// ThreadServiceCreateThreadWithBody CreateThread +// +// CreateThread creates a thread and its database. // // Takes any type of body and a specified content type. // -// Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). -func (c *Client) ProjectServiceUpdateMemberWithBody(ctx context.Context, projectId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceUpdateMemberRequestWithBody(c.Server, projectId, userId, contentType, body) +// Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). +func (c *Client) ThreadServiceCreateThreadWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceCreateThreadRequestWithBody(c.Server, projectId, contentType, body) if err != nil { return nil, err } @@ -11206,13 +12784,15 @@ func (c *Client) ProjectServiceUpdateMemberWithBody(ctx context.Context, project return c.Client.Do(req) } -// ProjectServiceUpdateMember UpdateMember +// ThreadServiceCreateThread CreateThread +// +// CreateThread creates a thread and its database. // // Takes a body of the `application/json` content type. // -// Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). -func (c *Client) ProjectServiceUpdateMember(ctx context.Context, projectId string, userId string, body ProjectServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceUpdateMemberRequest(c.Server, projectId, userId, body) +// Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). +func (c *Client) ThreadServiceCreateThread(ctx context.Context, projectId string, body ThreadServiceCreateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceCreateThreadRequest(c.Server, projectId, body) if err != nil { return nil, err } @@ -11223,13 +12803,13 @@ func (c *Client) ProjectServiceUpdateMember(ctx context.Context, projectId strin return c.Client.Do(req) } -// ProjectServiceAddWorkspaceMembersToProjectWithBody AddWorkspaceMembersToProject +// ThreadServiceDeleteThread DeleteThread // -// Takes any type of body and a specified content type. +// DeleteThread deletes the thread and its database. // -// Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). -func (c *Client) ProjectServiceAddWorkspaceMembersToProjectWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceAddWorkspaceMembersToProjectRequestWithBody(c.Server, projectId, contentType, body) +// Corresponds with DELETE /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceDeleteThread` operationId). +func (c *Client) ThreadServiceDeleteThread(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceDeleteThreadRequest(c.Server, projectId, threadId) if err != nil { return nil, err } @@ -11240,13 +12820,11 @@ func (c *Client) ProjectServiceAddWorkspaceMembersToProjectWithBody(ctx context. return c.Client.Do(req) } -// ProjectServiceAddWorkspaceMembersToProject AddWorkspaceMembersToProject -// -// Takes a body of the `application/json` content type. +// ThreadServiceGetThread GetThread // -// Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). -func (c *Client) ProjectServiceAddWorkspaceMembersToProject(ctx context.Context, projectId string, body ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceAddWorkspaceMembersToProjectRequest(c.Server, projectId, body) +// Corresponds with GET /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceGetThread` operationId). +func (c *Client) ThreadServiceGetThread(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceGetThreadRequest(c.Server, projectId, threadId) if err != nil { return nil, err } @@ -11257,21 +12835,17 @@ func (c *Client) ProjectServiceAddWorkspaceMembersToProject(ctx context.Context, return c.Client.Do(req) } -// SimulationServiceGenerateScenarioFromSessionWithBody GenerateScenarioFromSession +// ThreadServiceUpdateThreadWithBody UpdateThread // -// GenerateScenarioFromSession derives a reusable scenario (label, +// UpdateThread merges attributes (an empty value deletes the entry) and sets // -// instructions and expectations) from a recorded room session, for use in a -// later run's scenario_group. Nothing is stored; the returned scenario is the -// result. The session must have a recorded chat history. Each call runs an -// LLM over it, so it counts against the project's scenario-generation quota -// and can take up to about a minute. +// the idle TTL. Every update counts as activity and pushes expires_at out. // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). -func (c *Client) SimulationServiceGenerateScenarioFromSessionWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceGenerateScenarioFromSessionRequestWithBody(c.Server, projectId, contentType, body) +// Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). +func (c *Client) ThreadServiceUpdateThreadWithBody(ctx context.Context, projectId string, threadId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceUpdateThreadRequestWithBody(c.Server, projectId, threadId, contentType, body) if err != nil { return nil, err } @@ -11282,36 +12856,17 @@ func (c *Client) SimulationServiceGenerateScenarioFromSessionWithBody(ctx contex return c.Client.Do(req) } -// SimulationServiceGenerateScenarioFromSession GenerateScenarioFromSession +// ThreadServiceUpdateThread UpdateThread // -// GenerateScenarioFromSession derives a reusable scenario (label, +// UpdateThread merges attributes (an empty value deletes the entry) and sets // -// instructions and expectations) from a recorded room session, for use in a -// later run's scenario_group. Nothing is stored; the returned scenario is the -// result. The session must have a recorded chat history. Each call runs an -// LLM over it, so it counts against the project's scenario-generation quota -// and can take up to about a minute. +// the idle TTL. Every update counts as activity and pushes expires_at out. // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). -func (c *Client) SimulationServiceGenerateScenarioFromSession(ctx context.Context, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceGenerateScenarioFromSessionRequest(c.Server, projectId, body) - if err != nil { - return nil, err - } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} - -// ProjectServiceListScopedKeys ListScopedKeys -// -// Corresponds with GET /v1/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). -func (c *Client) ProjectServiceListScopedKeys(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceListScopedKeysRequest(c.Server, projectId) +// Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). +func (c *Client) ThreadServiceUpdateThread(ctx context.Context, projectId string, threadId string, body ThreadServiceUpdateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceUpdateThreadRequest(c.Server, projectId, threadId, body) if err != nil { return nil, err } @@ -11322,15 +12877,13 @@ func (c *Client) ProjectServiceListScopedKeys(ctx context.Context, projectId str return c.Client.Do(req) } -// AnalyticsServiceListProjectSessions ListProjectSessions -// -// ListProjectSessions lists room sessions for a project, newest first, +// ThreadServiceGetThreadItems GetThreadItems // -// cursor-paginated. Backed upstream by the ListingService room-sessions list. +// GetThreadItems returns the thread's chat items, oldest first. // -// Corresponds with GET /v1/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). -func (c *Client) AnalyticsServiceListProjectSessions(ctx context.Context, projectId string, params *AnalyticsServiceListProjectSessionsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceListProjectSessionsRequest(c.Server, projectId, params) +// Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/items (the `ThreadServiceGetThreadItems` operationId). +func (c *Client) ThreadServiceGetThreadItems(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadItemsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceGetThreadItemsRequest(c.Server, projectId, threadId, params) if err != nil { return nil, err } @@ -11341,15 +12894,13 @@ func (c *Client) AnalyticsServiceListProjectSessions(ctx context.Context, projec return c.Client.Do(req) } -// AnalyticsServiceGetSession GetSession +// ThreadServiceGetThreadTasks GetThreadTasks // -// GetSession returns one room session. The response carries both the list-row -// -// `session` and the richer `detail` (participants, per-metric data points). +// GetThreadTasks returns the thread's background tasks, oldest first. // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). -func (c *Client) AnalyticsServiceGetSession(ctx context.Context, projectId string, sessionId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceGetSessionRequest(c.Server, projectId, sessionId) +// Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/tasks (the `ThreadServiceGetThreadTasks` operationId). +func (c *Client) ThreadServiceGetThreadTasks(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadTasksParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewThreadServiceGetThreadTasksRequest(c.Server, projectId, threadId, params) if err != nil { return nil, err } @@ -11360,37 +12911,18 @@ func (c *Client) AnalyticsServiceGetSession(ctx context.Context, projectId strin return c.Client.Do(req) } -// AnalyticsServiceListSessionEvents ListSessionEvents lists one room session's events, oldest first by default, -// -// cursor-paginated with no total. With no `types`, it returns the seven the -// dashboard's events table shows: PARTICIPANT_JOINED, PARTICIPANT_LEFT, -// PARTICIPANT_ACTIVE, PARTICIPANT_RESUMED, ROOM_CREATED, ROOM_ENDED and -// API_CALL. `types` asks for others, such as TRACK_PUBLISHED, and -// `participant_session_id` keeps one participant session's events. With -// `participant_session_id` and no `types`, it returns the eleven the -// dashboard's participant events table shows: that participant session's -// PARTICIPANT_JOINED, PARTICIPANT_LEFT, PARTICIPANT_RESUMED and -// PARTICIPANT_ACTIVE, and its TRACK_MUTED, TRACK_UNMUTED, TRACK_PUBLISHED, -// TRACK_UNPUBLISHED, TRACK_SUBSCRIBED, TRACK_SUBSCRIBE_REQUESTED and -// TRACK_SUBSCRIBE_FAILED. +// ProjectServiceCreateTokenWithBody CreateToken // -// Unlike the dashboard, on purpose: an unknown type or a malformed +// CreateToken mints a short-lived LiveKit access token for the project, // -// participant session id is InvalidArgument rather than being searched for -// as typed, and types match exactly, so TRACK_PUBLISHED doesn't also return -// TRACK_PUBLISHED_UPDATE. Each event's payload keeps only an allowlist of -// fields, leaving out participants' attributes and metadata and API calls' -// request bodies. Each event and participant row still carries the -// participant's identity, as the dashboard shows it to every member, and -// for a SIP caller that can be a phone number. +// signed server-side, so user-authenticated clients can call LiveKit server +// APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. // -// Events are kept for 60 days, which can be shorter than the session's other -// data, so an older session can list no events. An ACTIVE session lists the -// events recorded so far. An unknown session is NotFound. +// Takes any type of body and a specified content type. // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). -func (c *Client) AnalyticsServiceListSessionEvents(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceListSessionEventsRequest(c.Server, projectId, sessionId, params) +// Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). +func (c *Client) ProjectServiceCreateTokenWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceCreateTokenRequestWithBody(c.Server, projectId, contentType, body) if err != nil { return nil, err } @@ -11401,24 +12933,18 @@ func (c *Client) AnalyticsServiceListSessionEvents(ctx context.Context, projectI return c.Client.Do(req) } -// ObservabilityServiceGetSessionLogs GetSessionLogs returns the log records the session's agents exported, in +// ProjectServiceCreateToken CreateToken // -// time order: what the dashboard's logs panel shows. Their chat history is -// left out, since GetSessionTranscript reads it, and their evaluation -// results stay in. The session's events, such as participants joining, -// come from AnalyticsService's ListSessionEvents. +// CreateToken mints a short-lived LiveKit access token for the project, // -// An ACTIVE session returns what its agents have exported so far. A record +// signed server-side, so user-authenticated clients can call LiveKit server +// APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. // -// exported mid-read with a time this read has already paged past, earlier -// than its cursor's when oldest first, is missed until a new read. An -// unknown session is NotFound. A read filtered by log_levels can come back -// empty because no record is at those levels, so only an unfiltered one is -// ObservabilityDisabled. +// Takes a body of the `application/json` content type. // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). -func (c *Client) ObservabilityServiceGetSessionLogs(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewObservabilityServiceGetSessionLogsRequest(c.Server, projectId, sessionId, params) +// Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). +func (c *Client) ProjectServiceCreateToken(ctx context.Context, projectId string, body ProjectServiceCreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewProjectServiceCreateTokenRequest(c.Server, projectId, body) if err != nil { return nil, err } @@ -11429,40 +12955,11 @@ func (c *Client) ObservabilityServiceGetSessionLogs(ctx context.Context, project return c.Client.Do(req) } -// ObservabilityServiceGetSessionMetrics GetSessionMetrics returns the OpenTelemetry metric points the session's -// -// agents exported, by time, typed: turn latencies such as -// lk.agents.turn.e2e_latency and lk.agents.turn.llm_ttft, token and duration -// usage such as lk.agents.usage.llm_input_tokens, and the gen_ai.* -// histograms, along with any metrics the agent's own code recorded. -// -// These are the raw metrics agents emit, so they won't exactly match the -// -// dashboard's metrics panel, which derives its numbers from the transcript -// and traces. Only agents that export OpenTelemetry metrics to LiveKit Cloud -// produce them: an agent whose code installs its own MeterProvider exports -// none to LiveKit Cloud, and its sessions return no points. -// -// Some points aren't labeled as their agent exported them. These are -// limitations of the upstream aggregator, which groups a session's series -// by their attributes alone and names each group after its first row: -// - several metrics can come back under one name, such as an LLM's input, -// output and cached token counts, all named -// lk.agents.usage.llm_input_tokens; -// - points of one series at the same time that recorded equal values -// collapse into one point; -// - with two agents in one session, a point can carry the other agent's -// resource attributes. -// -// An agent exports its metrics every 30 seconds, and its turn latencies -// when the session ends, so an ACTIVE session returns what it has exported -// so far. An unknown session is NotFound. A read filtered by names can come -// back empty because no metric has those names, so only an unfiltered one -// is ObservabilityDisabled. +// UserServiceListUsers ListUsers // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). -func (c *Client) ObservabilityServiceGetSessionMetrics(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewObservabilityServiceGetSessionMetricsRequest(c.Server, projectId, sessionId, params) +// Corresponds with GET /v0/users (the `UserServiceListUsers` operationId). +func (c *Client) UserServiceListUsers(ctx context.Context, params *UserServiceListUsersParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUserServiceListUsersRequest(c.Server, params) if err != nil { return nil, err } @@ -11473,17 +12970,11 @@ func (c *Client) ObservabilityServiceGetSessionMetrics(ctx context.Context, proj return c.Client.Do(req) } -// AnalyticsServiceListSessionParticipants ListSessionParticipants -// -// ListSessionParticipants lists the participants of one room session, one row -// -// per identity, cursor-paginated; newest join first by default. Each row -// carries the participant's participant sessions (PA_...), each with the -// client it connected from. +// UserServiceGetCurrentUser GetCurrentUser // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). -func (c *Client) AnalyticsServiceListSessionParticipants(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewAnalyticsServiceListSessionParticipantsRequest(c.Server, projectId, sessionId, params) +// Corresponds with GET /v0/users/me (the `UserServiceGetCurrentUser` operationId). +func (c *Client) UserServiceGetCurrentUser(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUserServiceGetCurrentUserRequest(c.Server) if err != nil { return nil, err } @@ -11494,17 +12985,11 @@ func (c *Client) AnalyticsServiceListSessionParticipants(ctx context.Context, pr return c.Client.Do(req) } -// ObservabilityServiceGetSessionRecordingURL GetSessionRecordingURL -// -// GetSessionRecordingURL returns a short-lived signed URL for one of the -// -// session's recordings: its audio or its chat history. A session with no -// recording of that type is NotFound. A new recording can be NotFound for -// up to a minute after the session ends. +// UserServiceGetUser GetUser // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). -func (c *Client) ObservabilityServiceGetSessionRecordingURL(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewObservabilityServiceGetSessionRecordingURLRequest(c.Server, projectId, sessionId, params) +// Corresponds with GET /v0/users/{userId} (the `UserServiceGetUser` operationId). +func (c *Client) UserServiceGetUser(ctx context.Context, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewUserServiceGetUserRequest(c.Server, userId) if err != nil { return nil, err } @@ -11515,23 +13000,11 @@ func (c *Client) ObservabilityServiceGetSessionRecordingURL(ctx context.Context, return c.Client.Do(req) } -// ObservabilityServiceGetSessionTraces GetSessionTraces returns the spans the session's agents exported, by -// -// start time: what the dashboard's trace view shows. Each span names its -// parent, so the pages rebuild the span tree, and its attributes carry the -// turn and latency fields the dashboard's turn view reads, such as -// lk.generation_id and lk.response.ttft. -// -// An ACTIVE session returns what its agents have exported so far; a span -// -// exported after the first page waits for a new read. The later pages are -// read by offset, so a span exported mid-read can still shift them: a span -// can repeat, or be skipped. Dedupe by span_id, and read again from the -// first page to pick up a skipped span. An unknown session is NotFound. +// WorkspaceServiceGetInvite GetInvite // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). -func (c *Client) ObservabilityServiceGetSessionTraces(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewObservabilityServiceGetSessionTracesRequest(c.Server, projectId, sessionId, params) +// Corresponds with GET /v0/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). +func (c *Client) WorkspaceServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceGetInviteRequest(c.Server, inviteToken) if err != nil { return nil, err } @@ -11542,22 +13015,13 @@ func (c *Client) ObservabilityServiceGetSessionTraces(ctx context.Context, proje return c.Client.Do(req) } -// ObservabilityServiceGetSessionTranscript GetSessionTranscript returns the session's conversation as ordered -// -// transcript items: messages, tool calls and results, agent handoffs and -// agent configuration changes. It is the conversation the dashboard's -// transcript shows. -// -// The agent exports its transcript when the session ends, and it can be +// WorkspaceServiceAnswerInviteWithBody AnswerInvite // -// read a minute or two later; on a project with PII redaction, only once -// the session's recording has been redacted. So a session that is still -// ACTIVE returns what exists so far, usually nothing, without an error: -// read it again after the session ends. An unknown session is NotFound. +// Takes any type of body and a specified content type. // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). -func (c *Client) ObservabilityServiceGetSessionTranscript(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewObservabilityServiceGetSessionTranscriptRequest(c.Server, projectId, sessionId, params) +// Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). +func (c *Client) WorkspaceServiceAnswerInviteWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceAnswerInviteRequestWithBody(c.Server, inviteToken, contentType, body) if err != nil { return nil, err } @@ -11568,17 +13032,13 @@ func (c *Client) ObservabilityServiceGetSessionTranscript(ctx context.Context, p return c.Client.Do(req) } -// SimulationServiceListSimulationRuns ListSimulationRuns -// -// ListSimulationRuns lists a project's runs, newest first, cursor-paginated, +// WorkspaceServiceAnswerInvite AnswerInvite // -// optionally narrowed by status, agent, conversation mode and a time window. -// Rows carry headline counts (job_count, passed_count, failed_count, -// issue_count) but neither jobs nor the summary. +// Takes a body of the `application/json` content type. // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). -func (c *Client) SimulationServiceListSimulationRuns(ctx context.Context, projectId string, params *SimulationServiceListSimulationRunsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceListSimulationRunsRequest(c.Server, projectId, params) +// Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). +func (c *Client) WorkspaceServiceAnswerInvite(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceAnswerInviteRequest(c.Server, inviteToken, body) if err != nil { return nil, err } @@ -11589,21 +13049,11 @@ func (c *Client) SimulationServiceListSimulationRuns(ctx context.Context, projec return c.Client.Do(req) } -// SimulationServiceCreateSimulationRunWithBody CreateSimulationRun -// -// CreateSimulationRun registers a new run. With a scenario_group it starts -// -// right away and no upload target is returned. Without one it waits in -// PENDING_UPLOAD for the agent source that scenarios are generated from: -// upload it to the returned presigned POST, then call -// ConfirmSimulationSourceUpload. A run left pending for an hour is failed. -// Creating a run is not idempotent: a retried request starts a second run. -// -// Takes any type of body and a specified content type. +// WorkspaceServiceListWorkspaces ListWorkspaces // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). -func (c *Client) SimulationServiceCreateSimulationRunWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceCreateSimulationRunRequestWithBody(c.Server, projectId, contentType, body) +// Corresponds with GET /v0/workspaces (the `WorkspaceServiceListWorkspaces` operationId). +func (c *Client) WorkspaceServiceListWorkspaces(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceListWorkspacesRequest(c.Server, params) if err != nil { return nil, err } @@ -11614,21 +13064,13 @@ func (c *Client) SimulationServiceCreateSimulationRunWithBody(ctx context.Contex return c.Client.Do(req) } -// SimulationServiceCreateSimulationRun CreateSimulationRun -// -// CreateSimulationRun registers a new run. With a scenario_group it starts -// -// right away and no upload target is returned. Without one it waits in -// PENDING_UPLOAD for the agent source that scenarios are generated from: -// upload it to the returned presigned POST, then call -// ConfirmSimulationSourceUpload. A run left pending for an hour is failed. -// Creating a run is not idempotent: a retried request starts a second run. +// WorkspaceServiceCreateWorkspaceWithBody CreateWorkspace // -// Takes a body of the `application/json` content type. +// Takes any type of body and a specified content type. // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). -func (c *Client) SimulationServiceCreateSimulationRun(ctx context.Context, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceCreateSimulationRunRequest(c.Server, projectId, body) +// Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). +func (c *Client) WorkspaceServiceCreateWorkspaceWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceCreateWorkspaceRequestWithBody(c.Server, contentType, body) if err != nil { return nil, err } @@ -11639,16 +13081,13 @@ func (c *Client) SimulationServiceCreateSimulationRun(ctx context.Context, proje return c.Client.Do(req) } -// SimulationServiceGetSimulationRun GetSimulationRun -// -// GetSimulationRun returns one run with its jobs and aggregate metrics. The +// WorkspaceServiceCreateWorkspace CreateWorkspace // -// compressed summary blob (summary_zstd) is omitted; use -// GetSimulationRunSummary for the decoded summary. +// Takes a body of the `application/json` content type. // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). -func (c *Client) SimulationServiceGetSimulationRun(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceGetSimulationRunRequest(c.Server, projectId, simulationRunId) +// Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). +func (c *Client) WorkspaceServiceCreateWorkspace(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceCreateWorkspaceRequest(c.Server, body) if err != nil { return nil, err } @@ -11659,17 +13098,11 @@ func (c *Client) SimulationServiceGetSimulationRun(ctx context.Context, projectI return c.Client.Do(req) } -// SimulationServiceGetSimulationRunSummary GetSimulationRunSummary -// -// GetSimulationRunSummary returns the graded outcome of a finished run: -// -// pass/fail counts, what went well, what to improve, flagged issues with -// suggestions, and the per-job chat history. FailedPrecondition while the -// run is still going; NotFound if the run finished without a summary. +// WorkspaceServiceDeleteWorkspace DeleteWorkspace // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). -func (c *Client) SimulationServiceGetSimulationRunSummary(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceGetSimulationRunSummaryRequest(c.Server, projectId, simulationRunId) +// Corresponds with DELETE /v0/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). +func (c *Client) WorkspaceServiceDeleteWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceDeleteWorkspaceRequest(c.Server, workspaceId) if err != nil { return nil, err } @@ -11680,15 +13113,11 @@ func (c *Client) SimulationServiceGetSimulationRunSummary(ctx context.Context, p return c.Client.Do(req) } -// SimulationServiceCancelSimulationRun CancelSimulationRun -// -// CancelSimulationRun stops a run that has not finished. Cancelling a run -// -// that already finished succeeds without effect. +// WorkspaceServiceGetWorkspace GetWorkspace // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). -func (c *Client) SimulationServiceCancelSimulationRun(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceCancelSimulationRunRequest(c.Server, projectId, simulationRunId) +// Corresponds with GET /v0/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). +func (c *Client) WorkspaceServiceGetWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceGetWorkspaceRequest(c.Server, workspaceId) if err != nil { return nil, err } @@ -11699,19 +13128,13 @@ func (c *Client) SimulationServiceCancelSimulationRun(ctx context.Context, proje return c.Client.Do(req) } -// SimulationServiceConfirmSimulationSourceUploadWithBody ConfirmSimulationSourceUpload -// -// ConfirmSimulationSourceUpload marks the agent source as uploaded and starts -// -// scenario generation; the run moves to GENERATING, then RUNNING once the -// scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated -// call fails. +// WorkspaceServiceUpdateWorkspaceWithBody UpdateWorkspace // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). -func (c *Client) SimulationServiceConfirmSimulationSourceUploadWithBody(ctx context.Context, projectId string, simulationRunId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(c.Server, projectId, simulationRunId, contentType, body) +// Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). +func (c *Client) WorkspaceServiceUpdateWorkspaceWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceUpdateWorkspaceRequestWithBody(c.Server, workspaceId, contentType, body) if err != nil { return nil, err } @@ -11722,19 +13145,13 @@ func (c *Client) SimulationServiceConfirmSimulationSourceUploadWithBody(ctx cont return c.Client.Do(req) } -// SimulationServiceConfirmSimulationSourceUpload ConfirmSimulationSourceUpload -// -// ConfirmSimulationSourceUpload marks the agent source as uploaded and starts -// -// scenario generation; the run moves to GENERATING, then RUNNING once the -// scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated -// call fails. +// WorkspaceServiceUpdateWorkspace UpdateWorkspace // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). -func (c *Client) SimulationServiceConfirmSimulationSourceUpload(ctx context.Context, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceConfirmSimulationSourceUploadRequest(c.Server, projectId, simulationRunId, body) +// Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). +func (c *Client) WorkspaceServiceUpdateWorkspace(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceUpdateWorkspaceRequest(c.Server, workspaceId, body) if err != nil { return nil, err } @@ -11745,17 +13162,11 @@ func (c *Client) SimulationServiceConfirmSimulationSourceUpload(ctx context.Cont return c.Client.Do(req) } -// SimulationServiceCountSimulationRuns CountSimulationRuns -// -// CountSimulationRuns buckets the runs ListSimulationRuns would return over -// -// [start_time, end_time) into a histogram. It takes the same filters over the -// same window, so the bars and the rows beneath them always describe one set. -// Both bounds are required and end_time must be after start_time. +// WorkspaceServiceListInvites ListInvites // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). -func (c *Client) SimulationServiceCountSimulationRuns(ctx context.Context, projectId string, params *SimulationServiceCountSimulationRunsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewSimulationServiceCountSimulationRunsRequest(c.Server, projectId, params) +// Corresponds with GET /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). +func (c *Client) WorkspaceServiceListInvites(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceListInvitesRequest(c.Server, workspaceId) if err != nil { return nil, err } @@ -11766,18 +13177,13 @@ func (c *Client) SimulationServiceCountSimulationRuns(ctx context.Context, proje return c.Client.Do(req) } -// ProjectServiceCreateTokenWithBody CreateToken -// -// CreateToken mints a short-lived LiveKit access token for the project, -// -// signed server-side, so user-authenticated clients can call LiveKit server -// APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. +// WorkspaceServiceCreateInviteWithBody CreateInvite // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). -func (c *Client) ProjectServiceCreateTokenWithBody(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceCreateTokenRequestWithBody(c.Server, projectId, contentType, body) +// Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). +func (c *Client) WorkspaceServiceCreateInviteWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceCreateInviteRequestWithBody(c.Server, workspaceId, contentType, body) if err != nil { return nil, err } @@ -11788,18 +13194,13 @@ func (c *Client) ProjectServiceCreateTokenWithBody(ctx context.Context, projectI return c.Client.Do(req) } -// ProjectServiceCreateToken CreateToken -// -// CreateToken mints a short-lived LiveKit access token for the project, -// -// signed server-side, so user-authenticated clients can call LiveKit server -// APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. +// WorkspaceServiceCreateInvite CreateInvite // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). -func (c *Client) ProjectServiceCreateToken(ctx context.Context, projectId string, body ProjectServiceCreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewProjectServiceCreateTokenRequest(c.Server, projectId, body) +// Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). +func (c *Client) WorkspaceServiceCreateInvite(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceCreateInviteRequest(c.Server, workspaceId, body) if err != nil { return nil, err } @@ -11810,11 +13211,11 @@ func (c *Client) ProjectServiceCreateToken(ctx context.Context, projectId string return c.Client.Do(req) } -// UserServiceListUsers ListUsers -// -// Corresponds with GET /v1/users (the `UserServiceListUsers` operationId). -func (c *Client) UserServiceListUsers(ctx context.Context, params *UserServiceListUsersParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUserServiceListUsersRequest(c.Server, params) +// WorkspaceServiceDeleteInvite DeleteInvite +// +// Corresponds with DELETE /v0/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). +func (c *Client) WorkspaceServiceDeleteInvite(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceDeleteInviteRequest(c.Server, workspaceId, email) if err != nil { return nil, err } @@ -11825,11 +13226,13 @@ func (c *Client) UserServiceListUsers(ctx context.Context, params *UserServiceLi return c.Client.Do(req) } -// UserServiceGetCurrentUser GetCurrentUser +// WorkspaceServiceListMembers ListMembers // -// Corresponds with GET /v1/users/me (the `UserServiceGetCurrentUser` operationId). -func (c *Client) UserServiceGetCurrentUser(ctx context.Context, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUserServiceGetCurrentUserRequest(c.Server) +// Members & invites (mirrors cloud WorkspaceService current flows). +// +// Corresponds with GET /v0/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). +func (c *Client) WorkspaceServiceListMembers(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceListMembersRequest(c.Server, workspaceId) if err != nil { return nil, err } @@ -11840,11 +13243,11 @@ func (c *Client) UserServiceGetCurrentUser(ctx context.Context, reqEditors ...Re return c.Client.Do(req) } -// UserServiceGetUser GetUser +// WorkspaceServiceDeleteMember DeleteMember // -// Corresponds with GET /v1/users/{userId} (the `UserServiceGetUser` operationId). -func (c *Client) UserServiceGetUser(ctx context.Context, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewUserServiceGetUserRequest(c.Server, userId) +// Corresponds with DELETE /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). +func (c *Client) WorkspaceServiceDeleteMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceDeleteMemberRequest(c.Server, workspaceId, userId) if err != nil { return nil, err } @@ -11855,11 +13258,11 @@ func (c *Client) UserServiceGetUser(ctx context.Context, userId string, reqEdito return c.Client.Do(req) } -// WorkspaceServiceGetInvite GetInvite +// WorkspaceServiceGetMember GetMember // -// Corresponds with GET /v1/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). -func (c *Client) WorkspaceServiceGetInvite(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceGetInviteRequest(c.Server, inviteToken) +// Corresponds with GET /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). +func (c *Client) WorkspaceServiceGetMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceGetMemberRequest(c.Server, workspaceId, userId) if err != nil { return nil, err } @@ -11870,13 +13273,13 @@ func (c *Client) WorkspaceServiceGetInvite(ctx context.Context, inviteToken stri return c.Client.Do(req) } -// WorkspaceServiceAnswerInviteWithBody AnswerInvite +// WorkspaceServiceUpdateMemberWithBody UpdateMember // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). -func (c *Client) WorkspaceServiceAnswerInviteWithBody(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceAnswerInviteRequestWithBody(c.Server, inviteToken, contentType, body) +// Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). +func (c *Client) WorkspaceServiceUpdateMemberWithBody(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceUpdateMemberRequestWithBody(c.Server, workspaceId, userId, contentType, body) if err != nil { return nil, err } @@ -11887,13 +13290,13 @@ func (c *Client) WorkspaceServiceAnswerInviteWithBody(ctx context.Context, invit return c.Client.Do(req) } -// WorkspaceServiceAnswerInvite AnswerInvite +// WorkspaceServiceUpdateMember UpdateMember // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). -func (c *Client) WorkspaceServiceAnswerInvite(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceAnswerInviteRequest(c.Server, inviteToken, body) +// Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). +func (c *Client) WorkspaceServiceUpdateMember(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceUpdateMemberRequest(c.Server, workspaceId, userId, body) if err != nil { return nil, err } @@ -11904,11 +13307,13 @@ func (c *Client) WorkspaceServiceAnswerInvite(ctx context.Context, inviteToken s return c.Client.Do(req) } -// WorkspaceServiceListWorkspaces ListWorkspaces +// WorkspaceServiceListProjects ListProjects // -// Corresponds with GET /v1/workspaces (the `WorkspaceServiceListWorkspaces` operationId). -func (c *Client) WorkspaceServiceListWorkspaces(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceListWorkspacesRequest(c.Server, params) +// Project CRUD scoped to a workspace — responses owned by projects.v1. +// +// Corresponds with GET /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). +func (c *Client) WorkspaceServiceListProjects(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceListProjectsRequest(c.Server, workspaceId, params) if err != nil { return nil, err } @@ -11919,13 +13324,13 @@ func (c *Client) WorkspaceServiceListWorkspaces(ctx context.Context, params *Wor return c.Client.Do(req) } -// WorkspaceServiceCreateWorkspaceWithBody CreateWorkspace +// WorkspaceServiceCreateProjectWithBody CreateProject // // Takes any type of body and a specified content type. // -// Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). -func (c *Client) WorkspaceServiceCreateWorkspaceWithBody(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceCreateWorkspaceRequestWithBody(c.Server, contentType, body) +// Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). +func (c *Client) WorkspaceServiceCreateProjectWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceCreateProjectRequestWithBody(c.Server, workspaceId, contentType, body) if err != nil { return nil, err } @@ -11936,13 +13341,13 @@ func (c *Client) WorkspaceServiceCreateWorkspaceWithBody(ctx context.Context, co return c.Client.Do(req) } -// WorkspaceServiceCreateWorkspace CreateWorkspace +// WorkspaceServiceCreateProject CreateProject // // Takes a body of the `application/json` content type. // -// Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). -func (c *Client) WorkspaceServiceCreateWorkspace(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceCreateWorkspaceRequest(c.Server, body) +// Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). +func (c *Client) WorkspaceServiceCreateProject(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceCreateProjectRequest(c.Server, workspaceId, body) if err != nil { return nil, err } @@ -11953,11 +13358,11 @@ func (c *Client) WorkspaceServiceCreateWorkspace(ctx context.Context, body Works return c.Client.Do(req) } -// WorkspaceServiceDeleteWorkspace DeleteWorkspace +// WorkspaceServiceDeleteProject DeleteProject // -// Corresponds with DELETE /v1/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). -func (c *Client) WorkspaceServiceDeleteWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceDeleteWorkspaceRequest(c.Server, workspaceId) +// Corresponds with DELETE /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). +func (c *Client) WorkspaceServiceDeleteProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceDeleteProjectRequest(c.Server, workspaceId, projectId) if err != nil { return nil, err } @@ -11968,11 +13373,11 @@ func (c *Client) WorkspaceServiceDeleteWorkspace(ctx context.Context, workspaceI return c.Client.Do(req) } -// WorkspaceServiceGetWorkspace GetWorkspace +// WorkspaceServiceGetProject GetProject // -// Corresponds with GET /v1/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). -func (c *Client) WorkspaceServiceGetWorkspace(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceGetWorkspaceRequest(c.Server, workspaceId) +// Corresponds with GET /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). +func (c *Client) WorkspaceServiceGetProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceGetProjectRequest(c.Server, workspaceId, projectId) if err != nil { return nil, err } @@ -11983,13 +13388,13 @@ func (c *Client) WorkspaceServiceGetWorkspace(ctx context.Context, workspaceId s return c.Client.Do(req) } -// WorkspaceServiceUpdateWorkspaceWithBody UpdateWorkspace +// WorkspaceServiceUpdateProjectWithBody UpdateProject // // Takes any type of body and a specified content type. // -// Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). -func (c *Client) WorkspaceServiceUpdateWorkspaceWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceUpdateWorkspaceRequestWithBody(c.Server, workspaceId, contentType, body) +// Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). +func (c *Client) WorkspaceServiceUpdateProjectWithBody(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceUpdateProjectRequestWithBody(c.Server, workspaceId, updateProjectId, contentType, body) if err != nil { return nil, err } @@ -12000,13 +13405,13 @@ func (c *Client) WorkspaceServiceUpdateWorkspaceWithBody(ctx context.Context, wo return c.Client.Do(req) } -// WorkspaceServiceUpdateWorkspace UpdateWorkspace +// WorkspaceServiceUpdateProject UpdateProject // // Takes a body of the `application/json` content type. // -// Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). -func (c *Client) WorkspaceServiceUpdateWorkspace(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceUpdateWorkspaceRequest(c.Server, workspaceId, body) +// Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). +func (c *Client) WorkspaceServiceUpdateProject(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkspaceServiceUpdateProjectRequest(c.Server, workspaceId, updateProjectId, body) if err != nil { return nil, err } @@ -12017,273 +13422,303 @@ func (c *Client) WorkspaceServiceUpdateWorkspace(ctx context.Context, workspaceI return c.Client.Do(req) } -// WorkspaceServiceListInvites ListInvites -// -// Corresponds with GET /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). -func (c *Client) WorkspaceServiceListInvites(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceListInvitesRequest(c.Server, workspaceId) +// NewProjectServiceGetInviteRequest constructs an http.Request for the ProjectServiceGetInvite method +func NewProjectServiceGetInviteRequest(server string, inviteToken string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "inviteToken", inviteToken, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + serverURL, err := url.Parse(server) + if err != nil { return nil, err } - return c.Client.Do(req) -} -// WorkspaceServiceCreateInviteWithBody CreateInvite -// -// Takes any type of body and a specified content type. -// -// Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). -func (c *Client) WorkspaceServiceCreateInviteWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceCreateInviteRequestWithBody(c.Server, workspaceId, contentType, body) + operationPath := fmt.Sprintf("/v0/project-invites/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { return nil, err } - return c.Client.Do(req) + + return req, nil } -// WorkspaceServiceCreateInvite CreateInvite -// -// Takes a body of the `application/json` content type. -// -// Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). -func (c *Client) WorkspaceServiceCreateInvite(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceCreateInviteRequest(c.Server, workspaceId, body) +// NewProjectServiceAnswerInvitationRequest calls the generic ProjectServiceAnswerInvitation builder with application/json body +func NewProjectServiceAnswerInvitationRequest(server string, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) + bodyReader = bytes.NewReader(buf) + return NewProjectServiceAnswerInvitationRequestWithBody(server, inviteToken, "application/json", bodyReader) } -// WorkspaceServiceDeleteInvite DeleteInvite -// -// Corresponds with DELETE /v1/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). -func (c *Client) WorkspaceServiceDeleteInvite(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceDeleteInviteRequest(c.Server, workspaceId, email) +// NewProjectServiceAnswerInvitationRequestWithBody constructs an http.Request for the ProjectServiceAnswerInvitation method, with any body, and a specified content type +func NewProjectServiceAnswerInvitationRequestWithBody(server string, inviteToken string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "inviteToken", inviteToken, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + serverURL, err := url.Parse(server) + if err != nil { return nil, err } - return c.Client.Do(req) -} -// WorkspaceServiceListMembers ListMembers -// -// Members & invites (mirrors cloud WorkspaceService current flows). -// -// Corresponds with GET /v1/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). -func (c *Client) WorkspaceServiceListMembers(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceListMembersRequest(c.Server, workspaceId) + operationPath := fmt.Sprintf("/v0/project-invites/%s:answer", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if err != nil { return nil, err } - return c.Client.Do(req) + + req.Header.Add("Content-Type", contentType) + + return req, nil } -// WorkspaceServiceDeleteMember DeleteMember -// -// Corresponds with DELETE /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). -func (c *Client) WorkspaceServiceDeleteMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceDeleteMemberRequest(c.Server, workspaceId, userId) +// NewProjectServiceListProjectsRequest constructs an http.Request for the ProjectServiceListProjects method +func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceListProjectsParams) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + operationPath := fmt.Sprintf("/v0/projects") + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.WorkspaceId != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "workspaceId", *params.WorkspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.MemberId != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "memberId", *params.MemberId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { return nil, err } - return c.Client.Do(req) + + return req, nil } -// WorkspaceServiceGetMember GetMember -// -// Corresponds with GET /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). -func (c *Client) WorkspaceServiceGetMember(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceGetMemberRequest(c.Server, workspaceId, userId) +// NewProjectServiceCreateProjectRequest calls the generic ProjectServiceCreateProject builder with application/json body +func NewProjectServiceCreateProjectRequest(server string, body ProjectServiceCreateProjectJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) + bodyReader = bytes.NewReader(buf) + return NewProjectServiceCreateProjectRequestWithBody(server, "application/json", bodyReader) } -// WorkspaceServiceUpdateMemberWithBody UpdateMember -// -// Takes any type of body and a specified content type. -// -// Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). -func (c *Client) WorkspaceServiceUpdateMemberWithBody(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceUpdateMemberRequestWithBody(c.Server, workspaceId, userId, contentType, body) +// NewProjectServiceCreateProjectRequestWithBody constructs an http.Request for the ProjectServiceCreateProject method, with any body, and a specified content type +func NewProjectServiceCreateProjectRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + serverURL, err := url.Parse(server) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err + + operationPath := fmt.Sprintf("/v0/projects") + if operationPath[0] == '/' { + operationPath = "." + operationPath } - return c.Client.Do(req) -} -// WorkspaceServiceUpdateMember UpdateMember -// -// Takes a body of the `application/json` content type. -// -// Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). -func (c *Client) WorkspaceServiceUpdateMember(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceUpdateMemberRequest(c.Server, workspaceId, userId, body) + queryURL, err := serverURL.Parse(operationPath) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if err != nil { return nil, err } - return c.Client.Do(req) + + req.Header.Add("Content-Type", contentType) + + return req, nil } -// WorkspaceServiceListProjects ListProjects -// -// Project CRUD scoped to a workspace — responses owned by projects.v1. -// -// Corresponds with GET /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). -func (c *Client) WorkspaceServiceListProjects(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceListProjectsRequest(c.Server, workspaceId, params) +// NewProjectServiceDeleteProjectRequest constructs an http.Request for the ProjectServiceDeleteProject method +func NewProjectServiceDeleteProjectRequest(server string, projectId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} -// WorkspaceServiceCreateProjectWithBody CreateProject -// -// Takes any type of body and a specified content type. -// -// Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). -func (c *Client) WorkspaceServiceCreateProjectWithBody(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceCreateProjectRequestWithBody(c.Server, workspaceId, contentType, body) + serverURL, err := url.Parse(server) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err + + operationPath := fmt.Sprintf("/v0/projects/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath } - return c.Client.Do(req) -} -// WorkspaceServiceCreateProject CreateProject -// -// Takes a body of the `application/json` content type. -// -// Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). -func (c *Client) WorkspaceServiceCreateProject(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceCreateProjectRequest(c.Server, workspaceId, body) + queryURL, err := serverURL.Parse(operationPath) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) + if err != nil { return nil, err } - return c.Client.Do(req) + + return req, nil } -// WorkspaceServiceDeleteProject DeleteProject -// -// Corresponds with DELETE /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). -func (c *Client) WorkspaceServiceDeleteProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceDeleteProjectRequest(c.Server, workspaceId, projectId) +// NewProjectServiceGetProjectRequest constructs an http.Request for the ProjectServiceGetProject method +func NewProjectServiceGetProjectRequest(server string, projectId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) -} -// WorkspaceServiceGetProject GetProject -// -// Corresponds with GET /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). -func (c *Client) WorkspaceServiceGetProject(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceGetProjectRequest(c.Server, workspaceId, projectId) + serverURL, err := url.Parse(server) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err + + operationPath := fmt.Sprintf("/v0/projects/%s", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath } - return c.Client.Do(req) -} -// WorkspaceServiceUpdateProjectWithBody UpdateProject -// -// Takes any type of body and a specified content type. -// -// Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). -func (c *Client) WorkspaceServiceUpdateProjectWithBody(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceUpdateProjectRequestWithBody(c.Server, workspaceId, updateProjectId, contentType, body) + queryURL, err := serverURL.Parse(operationPath) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { return nil, err } - return c.Client.Do(req) + + return req, nil } -// WorkspaceServiceUpdateProject UpdateProject -// -// Takes a body of the `application/json` content type. -// -// Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). -func (c *Client) WorkspaceServiceUpdateProject(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkspaceServiceUpdateProjectRequest(c.Server, workspaceId, updateProjectId, body) +// NewProjectServiceUpdateProjectRequest calls the generic ProjectServiceUpdateProject builder with application/json body +func NewProjectServiceUpdateProjectRequest(server string, projectId string, body ProjectServiceUpdateProjectJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) if err != nil { return nil, err } - req = req.WithContext(ctx) - if err := c.applyEditors(ctx, req, reqEditors); err != nil { - return nil, err - } - return c.Client.Do(req) + bodyReader = bytes.NewReader(buf) + return NewProjectServiceUpdateProjectRequestWithBody(server, projectId, "application/json", bodyReader) } -// NewProjectServiceGetInviteRequest constructs an http.Request for the ProjectServiceGetInvite method -func NewProjectServiceGetInviteRequest(server string, inviteToken string) (*http.Request, error) { +// NewProjectServiceUpdateProjectRequestWithBody constructs an http.Request for the ProjectServiceUpdateProject method, with any body, and a specified content type +func NewProjectServiceUpdateProjectRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "inviteToken", inviteToken, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -12293,7 +13728,7 @@ func NewProjectServiceGetInviteRequest(server string, inviteToken string) (*http return nil, err } - operationPath := fmt.Sprintf("/v1/project-invites/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12303,32 +13738,23 @@ func NewProjectServiceGetInviteRequest(server string, inviteToken string) (*http return nil, err } - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } - return req, nil -} + req.Header.Add("Content-Type", contentType) -// NewProjectServiceAnswerInvitationRequest calls the generic ProjectServiceAnswerInvitation builder with application/json body -func NewProjectServiceAnswerInvitationRequest(server string, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewProjectServiceAnswerInvitationRequestWithBody(server, inviteToken, "application/json", bodyReader) + return req, nil } -// NewProjectServiceAnswerInvitationRequestWithBody constructs an http.Request for the ProjectServiceAnswerInvitation method, with any body, and a specified content type -func NewProjectServiceAnswerInvitationRequestWithBody(server string, inviteToken string, contentType string, body io.Reader) (*http.Request, error) { +// NewAnalyticsServiceGetProjectAnalyticsRequest constructs an http.Request for the AnalyticsServiceGetProjectAnalytics method +func NewAnalyticsServiceGetProjectAnalyticsRequest(server string, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams) (*http.Request, error) { var err error var pathParam0 string - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "inviteToken", inviteToken, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -12338,7 +13764,7 @@ func NewProjectServiceAnswerInvitationRequestWithBody(server string, inviteToken return nil, err } - operationPath := fmt.Sprintf("/v1/project-invites/%s:answer", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/analytics", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12348,26 +13774,70 @@ func NewProjectServiceAnswerInvitationRequestWithBody(server string, inviteToken return nil, err } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.RangeStartTime != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.startTime", *params.RangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.RangeEndTime != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.endTime", *params.RangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } - req.Header.Add("Content-Type", contentType) - return req, nil } -// NewProjectServiceListProjectsRequest constructs an http.Request for the ProjectServiceListProjects method -func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceListProjectsParams) (*http.Request, error) { +// NewAnalyticsServiceListAgentAnalyticsRequest constructs an http.Request for the AnalyticsServiceListAgentAnalytics method +func NewAnalyticsServiceListAgentAnalyticsRequest(server string, projectId string, params *AnalyticsServiceListAgentAnalyticsParams) (*http.Request, error) { var err error + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects") + operationPath := fmt.Sprintf("/v0/projects/%s/analytics/agents", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12386,9 +13856,9 @@ func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceL // per the OpenAPI spec (e.g. "color=blue,black,brown"). var rawQueryFragments []string - if params.PageCursor != nil { + if params.RangeStartTime != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.startTime", *params.RangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -12398,9 +13868,9 @@ func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceL } - if params.PagePageSize != nil { + if params.RangeEndTime != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.endTime", *params.RangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -12410,9 +13880,9 @@ func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceL } - if params.WorkspaceId != nil { + if params.PageCursor != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "workspaceId", *params.WorkspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -12422,9 +13892,9 @@ func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceL } - if params.MemberId != nil { + if params.PagePageSize != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "memberId", *params.MemberId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -12448,27 +13918,30 @@ func NewProjectServiceListProjectsRequest(server string, params *ProjectServiceL return req, nil } -// NewProjectServiceCreateProjectRequest calls the generic ProjectServiceCreateProject builder with application/json body -func NewProjectServiceCreateProjectRequest(server string, body ProjectServiceCreateProjectJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) +// NewAnalyticsServiceGetAgentAnalyticsRequest constructs an http.Request for the AnalyticsServiceGetAgentAnalytics method +func NewAnalyticsServiceGetAgentAnalyticsRequest(server string, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } - bodyReader = bytes.NewReader(buf) - return NewProjectServiceCreateProjectRequestWithBody(server, "application/json", bodyReader) -} -// NewProjectServiceCreateProjectRequestWithBody constructs an http.Request for the ProjectServiceCreateProject method, with any body, and a specified content type -func NewProjectServiceCreateProjectRequestWithBody(server string, contentType string, body io.Reader) (*http.Request, error) { - var err error + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "agentId", agentId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects") + operationPath := fmt.Sprintf("/v0/projects/%s/analytics/agents/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12478,43 +13951,46 @@ func NewProjectServiceCreateProjectRequestWithBody(server string, contentType st return nil, err } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) - if err != nil { - return nil, err - } - - req.Header.Add("Content-Type", contentType) + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string - return req, nil -} + if params.RangeStartTime != nil { -// NewProjectServiceDeleteProjectRequest constructs an http.Request for the ProjectServiceDeleteProject method -func NewProjectServiceDeleteProjectRequest(server string, projectId string) (*http.Request, error) { - var err error + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.startTime", *params.RangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } - var pathParam0 string + } - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } + if params.RangeEndTime != nil { - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.endTime", *params.RangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } - operationPath := fmt.Sprintf("/v1/projects/%s", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } + } - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -12522,8 +13998,8 @@ func NewProjectServiceDeleteProjectRequest(server string, projectId string) (*ht return req, nil } -// NewProjectServiceGetProjectRequest constructs an http.Request for the ProjectServiceGetProject method -func NewProjectServiceGetProjectRequest(server string, projectId string) (*http.Request, error) { +// NewDatabaseServiceListDatabasesRequest constructs an http.Request for the DatabaseServiceListDatabases method +func NewDatabaseServiceListDatabasesRequest(server string, projectId string, params *DatabaseServiceListDatabasesParams) (*http.Request, error) { var err error var pathParam0 string @@ -12538,7 +14014,7 @@ func NewProjectServiceGetProjectRequest(server string, projectId string) (*http. return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/databases", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12548,6 +14024,45 @@ func NewProjectServiceGetProjectRequest(server string, projectId string) (*http. return nil, err } + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err @@ -12556,19 +14071,19 @@ func NewProjectServiceGetProjectRequest(server string, projectId string) (*http. return req, nil } -// NewProjectServiceUpdateProjectRequest calls the generic ProjectServiceUpdateProject builder with application/json body -func NewProjectServiceUpdateProjectRequest(server string, projectId string, body ProjectServiceUpdateProjectJSONRequestBody) (*http.Request, error) { +// NewDatabaseServiceCreateDatabaseRequest calls the generic DatabaseServiceCreateDatabase builder with application/json body +func NewDatabaseServiceCreateDatabaseRequest(server string, projectId string, body DatabaseServiceCreateDatabaseJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewProjectServiceUpdateProjectRequestWithBody(server, projectId, "application/json", bodyReader) + return NewDatabaseServiceCreateDatabaseRequestWithBody(server, projectId, "application/json", bodyReader) } -// NewProjectServiceUpdateProjectRequestWithBody constructs an http.Request for the ProjectServiceUpdateProject method, with any body, and a specified content type -func NewProjectServiceUpdateProjectRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { +// NewDatabaseServiceCreateDatabaseRequestWithBody constructs an http.Request for the DatabaseServiceCreateDatabase method, with any body, and a specified content type +func NewDatabaseServiceCreateDatabaseRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -12583,7 +14098,7 @@ func NewProjectServiceUpdateProjectRequestWithBody(server string, projectId stri return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/databases", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12593,7 +14108,7 @@ func NewProjectServiceUpdateProjectRequestWithBody(server string, projectId stri return nil, err } - req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } @@ -12603,8 +14118,8 @@ func NewProjectServiceUpdateProjectRequestWithBody(server string, projectId stri return req, nil } -// NewAnalyticsServiceGetProjectAnalyticsRequest constructs an http.Request for the AnalyticsServiceGetProjectAnalytics method -func NewAnalyticsServiceGetProjectAnalyticsRequest(server string, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams) (*http.Request, error) { +// NewDatabaseServiceDeleteDatabaseRequest constructs an http.Request for the DatabaseServiceDeleteDatabase method +func NewDatabaseServiceDeleteDatabaseRequest(server string, projectId string, databaseId string) (*http.Request, error) { var err error var pathParam0 string @@ -12614,12 +14129,19 @@ func NewAnalyticsServiceGetProjectAnalyticsRequest(server string, projectId stri return nil, err } + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "databaseId", databaseId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/analytics", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/databases/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12629,46 +14151,7 @@ func NewAnalyticsServiceGetProjectAnalyticsRequest(server string, projectId stri return nil, err } - if params != nil { - // queryValues collects non-styled parameters (passthrough, JSON) - // that are safe to round-trip through url.Values.Encode(). - queryValues := queryURL.Query() - // rawQueryFragments collects pre-encoded query fragments from - // styled parameters, preserving literal commas as delimiters - // per the OpenAPI spec (e.g. "color=blue,black,brown"). - var rawQueryFragments []string - - if params.RangeStartTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.startTime", *params.RangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.RangeEndTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.endTime", *params.RangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") - } - - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -12676,8 +14159,8 @@ func NewAnalyticsServiceGetProjectAnalyticsRequest(server string, projectId stri return req, nil } -// NewAnalyticsServiceListAgentAnalyticsRequest constructs an http.Request for the AnalyticsServiceListAgentAnalytics method -func NewAnalyticsServiceListAgentAnalyticsRequest(server string, projectId string, params *AnalyticsServiceListAgentAnalyticsParams) (*http.Request, error) { +// NewDatabaseServiceGetDatabaseRequest constructs an http.Request for the DatabaseServiceGetDatabase method +func NewDatabaseServiceGetDatabaseRequest(server string, projectId string, databaseId string) (*http.Request, error) { var err error var pathParam0 string @@ -12687,82 +14170,26 @@ func NewAnalyticsServiceListAgentAnalyticsRequest(server string, projectId strin return nil, err } - serverURL, err := url.Parse(server) + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "databaseId", databaseId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/analytics/agents", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } - - queryURL, err := serverURL.Parse(operationPath) + serverURL, err := url.Parse(server) if err != nil { return nil, err } - if params != nil { - // queryValues collects non-styled parameters (passthrough, JSON) - // that are safe to round-trip through url.Values.Encode(). - queryValues := queryURL.Query() - // rawQueryFragments collects pre-encoded query fragments from - // styled parameters, preserving literal commas as delimiters - // per the OpenAPI spec (e.g. "color=blue,black,brown"). - var rawQueryFragments []string - - if params.RangeStartTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.startTime", *params.RangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.RangeEndTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.endTime", *params.RangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.PageCursor != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.PagePageSize != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } + operationPath := fmt.Sprintf("/v0/projects/%s/databases/%s", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err } req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) @@ -12773,8 +14200,8 @@ func NewAnalyticsServiceListAgentAnalyticsRequest(server string, projectId strin return req, nil } -// NewAnalyticsServiceGetAgentAnalyticsRequest constructs an http.Request for the AnalyticsServiceGetAgentAnalytics method -func NewAnalyticsServiceGetAgentAnalyticsRequest(server string, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams) (*http.Request, error) { +// NewDatabaseServiceExportDatabaseRequest constructs an http.Request for the DatabaseServiceExportDatabase method +func NewDatabaseServiceExportDatabaseRequest(server string, projectId string, databaseId string) (*http.Request, error) { var err error var pathParam0 string @@ -12786,7 +14213,7 @@ func NewAnalyticsServiceGetAgentAnalyticsRequest(server string, projectId string var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "agentId", agentId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "databaseId", databaseId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -12796,7 +14223,7 @@ func NewAnalyticsServiceGetAgentAnalyticsRequest(server string, projectId string return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/analytics/agents/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/databases/%s:export", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12806,46 +14233,7 @@ func NewAnalyticsServiceGetAgentAnalyticsRequest(server string, projectId string return nil, err } - if params != nil { - // queryValues collects non-styled parameters (passthrough, JSON) - // that are safe to round-trip through url.Values.Encode(). - queryValues := queryURL.Query() - // rawQueryFragments collects pre-encoded query fragments from - // styled parameters, preserving literal commas as delimiters - // per the OpenAPI spec (e.g. "color=blue,black,brown"). - var rawQueryFragments []string - - if params.RangeStartTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.startTime", *params.RangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.RangeEndTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "range.endTime", *params.RangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") - } - - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -12869,7 +14257,7 @@ func NewProjectServiceListInvitesRequest(server string, projectId string) (*http return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/invites", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/invites", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12914,7 +14302,7 @@ func NewProjectServiceInviteMemberRequestWithBody(server string, projectId strin return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/invites", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/invites", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -12957,7 +14345,7 @@ func NewProjectServiceDeleteInviteRequest(server string, projectId string, email return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/invites/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/invites/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13009,7 +14397,7 @@ func NewProjectServiceUpdateInviteRequestWithBody(server string, projectId strin return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/invites/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/invites/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13045,7 +14433,7 @@ func NewProjectServiceListKeysRequest(server string, projectId string, params *P return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/keys", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/keys", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13117,7 +14505,7 @@ func NewProjectServiceGenerateKeyRequestWithBody(server string, projectId string return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/keys", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/keys", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13160,7 +14548,7 @@ func NewProjectServiceDeleteKeyRequest(server string, projectId string, apiKey s return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/keys/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/keys/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13194,7 +14582,7 @@ func NewProjectServiceListMembersRequest(server string, projectId string) (*http return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/members", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/members", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13235,7 +14623,7 @@ func NewProjectServiceRemoveMemberRequest(server string, projectId string, userI return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/members/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/members/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13276,7 +14664,7 @@ func NewProjectServiceGetMemberRequest(server string, projectId string, userId s return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/members/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/members/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13328,7 +14716,7 @@ func NewProjectServiceUpdateMemberRequestWithBody(server string, projectId strin return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/members/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/members/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13370,80 +14758,283 @@ func NewProjectServiceAddWorkspaceMembersToProjectRequestWithBody(server string, return nil, err } - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/members:addWorkspaceMembers", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewSimulationServiceGenerateScenarioFromSessionRequest calls the generic SimulationServiceGenerateScenarioFromSession builder with application/json body +func NewSimulationServiceGenerateScenarioFromSessionRequest(server string, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewSimulationServiceGenerateScenarioFromSessionRequestWithBody(server, projectId, "application/json", bodyReader) +} + +// NewSimulationServiceGenerateScenarioFromSessionRequestWithBody constructs an http.Request for the SimulationServiceGenerateScenarioFromSession method, with any body, and a specified content type +func NewSimulationServiceGenerateScenarioFromSessionRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/scenarios:generateFromSession", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewProjectServiceListScopedKeysRequest constructs an http.Request for the ProjectServiceListScopedKeys method +func NewProjectServiceListScopedKeysRequest(server string, projectId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/scoped-keys", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewAnalyticsServiceListProjectSessionsRequest constructs an http.Request for the AnalyticsServiceListProjectSessions method +func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId string, params *AnalyticsServiceListProjectSessionsParams) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/sessions", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.FilterRangeStartTime != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.range.startTime", *params.FilterRangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.FilterRangeEndTime != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.range.endTime", *params.FilterRangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.FilterStatuses != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.statuses", *params.FilterStatuses, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.FilterRoomName != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.roomName", *params.FilterRoomName, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } - operationPath := fmt.Sprintf("/v1/projects/%s/members:addWorkspaceMembers", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } + if params.FilterSessionId != nil { - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.sessionId", *params.FilterSessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) - if err != nil { - return nil, err - } + } - req.Header.Add("Content-Type", contentType) + if params.FilterTags != nil { - return req, nil -} + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.tags", *params.FilterTags, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } -// NewSimulationServiceGenerateScenarioFromSessionRequest calls the generic SimulationServiceGenerateScenarioFromSession builder with application/json body -func NewSimulationServiceGenerateScenarioFromSessionRequest(server string, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewSimulationServiceGenerateScenarioFromSessionRequestWithBody(server, projectId, "application/json", bodyReader) -} + } -// NewSimulationServiceGenerateScenarioFromSessionRequestWithBody constructs an http.Request for the SimulationServiceGenerateScenarioFromSession method, with any body, and a specified content type -func NewSimulationServiceGenerateScenarioFromSessionRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { - var err error + if params.FilterAgentId != nil { - var pathParam0 string + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.agentId", *params.FilterAgentId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } + } - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } + if params.SortOrder != nil { - operationPath := fmt.Sprintf("/v1/projects/%s/scenarios:generateFromSession", pathParam0) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortOrder", *params.SortOrder, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } - req.Header.Add("Content-Type", contentType) - return req, nil } -// NewProjectServiceListScopedKeysRequest constructs an http.Request for the ProjectServiceListScopedKeys method -func NewProjectServiceListScopedKeysRequest(server string, projectId string) (*http.Request, error) { +// NewAnalyticsServiceGetSessionRequest constructs an http.Request for the AnalyticsServiceGetSession method +func NewAnalyticsServiceGetSessionRequest(server string, projectId string, sessionId string) (*http.Request, error) { var err error var pathParam0 string @@ -13453,12 +15044,19 @@ func NewProjectServiceListScopedKeysRequest(server string, projectId string) (*h return nil, err } + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/scoped-keys", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13476,8 +15074,8 @@ func NewProjectServiceListScopedKeysRequest(server string, projectId string) (*h return req, nil } -// NewAnalyticsServiceListProjectSessionsRequest constructs an http.Request for the AnalyticsServiceListProjectSessions method -func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId string, params *AnalyticsServiceListProjectSessionsParams) (*http.Request, error) { +// NewAnalyticsServiceListSessionEventsRequest constructs an http.Request for the AnalyticsServiceListSessionEvents method +func NewAnalyticsServiceListSessionEventsRequest(server string, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams) (*http.Request, error) { var err error var pathParam0 string @@ -13487,12 +15085,19 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri return nil, err } + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/events", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13535,9 +15140,9 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri } - if params.FilterRangeStartTime != nil { + if params.Types != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.range.startTime", *params.FilterRangeStartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "types", *params.Types, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13547,9 +15152,9 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri } - if params.FilterRangeEndTime != nil { + if params.ParticipantSessionId != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.range.endTime", *params.FilterRangeEndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "participantSessionId", *params.ParticipantSessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13559,9 +15164,9 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri } - if params.FilterStatuses != nil { + if params.SortOrder != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.statuses", *params.FilterStatuses, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortOrder", *params.SortOrder, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13571,21 +15176,65 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri } - if params.FilterRoomName != nil { + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.roomName", *params.FilterRoomName, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { + return nil, err + } - } + return req, nil +} - if params.FilterSessionId != nil { +// NewObservabilityServiceGetSessionLogsRequest constructs an http.Request for the ObservabilityServiceGetSessionLogs method +func NewObservabilityServiceGetSessionLogsRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams) (*http.Request, error) { + var err error - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.sessionId", *params.FilterSessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/logs", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13595,9 +15244,9 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri } - if params.FilterTags != nil { + if params.PagePageSize != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.tags", *params.FilterTags, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13607,9 +15256,9 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri } - if params.FilterAgentId != nil { + if params.LogLevels != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "filter.agentId", *params.FilterAgentId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "logLevels", *params.LogLevels, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13645,8 +15294,8 @@ func NewAnalyticsServiceListProjectSessionsRequest(server string, projectId stri return req, nil } -// NewAnalyticsServiceGetSessionRequest constructs an http.Request for the AnalyticsServiceGetSession method -func NewAnalyticsServiceGetSessionRequest(server string, projectId string, sessionId string) (*http.Request, error) { +// NewObservabilityServiceGetSessionMetricsRequest constructs an http.Request for the ObservabilityServiceGetSessionMetrics method +func NewObservabilityServiceGetSessionMetricsRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams) (*http.Request, error) { var err error var pathParam0 string @@ -13668,7 +15317,7 @@ func NewAnalyticsServiceGetSessionRequest(server string, projectId string, sessi return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/metrics", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13678,6 +15327,57 @@ func NewAnalyticsServiceGetSessionRequest(server string, projectId string, sessi return nil, err } + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.Names != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "names", *params.Names, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err @@ -13686,8 +15386,8 @@ func NewAnalyticsServiceGetSessionRequest(server string, projectId string, sessi return req, nil } -// NewAnalyticsServiceListSessionEventsRequest constructs an http.Request for the AnalyticsServiceListSessionEvents method -func NewAnalyticsServiceListSessionEventsRequest(server string, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams) (*http.Request, error) { +// NewAnalyticsServiceListSessionParticipantsRequest constructs an http.Request for the AnalyticsServiceListSessionParticipants method +func NewAnalyticsServiceListSessionParticipantsRequest(server string, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams) (*http.Request, error) { var err error var pathParam0 string @@ -13709,7 +15409,7 @@ func NewAnalyticsServiceListSessionEventsRequest(server string, projectId string return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/events", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/participants", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13752,21 +15452,9 @@ func NewAnalyticsServiceListSessionEventsRequest(server string, projectId string } - if params.Types != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "types", *params.Types, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.ParticipantSessionId != nil { + if params.SortBy != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "participantSessionId", *params.ParticipantSessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortBy", *params.SortBy, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13802,8 +15490,8 @@ func NewAnalyticsServiceListSessionEventsRequest(server string, projectId string return req, nil } -// NewObservabilityServiceGetSessionLogsRequest constructs an http.Request for the ObservabilityServiceGetSessionLogs method -func NewObservabilityServiceGetSessionLogsRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams) (*http.Request, error) { +// NewObservabilityServiceGetSessionRecordingURLRequest constructs an http.Request for the ObservabilityServiceGetSessionRecordingURL method +func NewObservabilityServiceGetSessionRecordingURLRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams) (*http.Request, error) { var err error var pathParam0 string @@ -13825,7 +15513,7 @@ func NewObservabilityServiceGetSessionLogsRequest(server string, projectId strin return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/logs", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/recording-url", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13844,9 +15532,9 @@ func NewObservabilityServiceGetSessionLogsRequest(server string, projectId strin // per the OpenAPI spec (e.g. "color=blue,black,brown"). var rawQueryFragments []string - if params.PageCursor != nil { + if params.FileType != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "fileType", *params.FileType, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13856,9 +15544,9 @@ func NewObservabilityServiceGetSessionLogsRequest(server string, projectId strin } - if params.PagePageSize != nil { + if params.ExpirySeconds != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "expirySeconds", *params.ExpirySeconds, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13868,9 +15556,65 @@ func NewObservabilityServiceGetSessionLogsRequest(server string, projectId strin } - if params.LogLevels != nil { + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "logLevels", *params.LogLevels, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewObservabilityServiceGetSessionTracesRequest constructs an http.Request for the ObservabilityServiceGetSessionTraces method +func NewObservabilityServiceGetSessionTracesRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/traces", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13880,9 +15624,9 @@ func NewObservabilityServiceGetSessionLogsRequest(server string, projectId strin } - if params.SortOrder != nil { + if params.PagePageSize != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortOrder", *params.SortOrder, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -13906,8 +15650,8 @@ func NewObservabilityServiceGetSessionLogsRequest(server string, projectId strin return req, nil } -// NewObservabilityServiceGetSessionMetricsRequest constructs an http.Request for the ObservabilityServiceGetSessionMetrics method -func NewObservabilityServiceGetSessionMetricsRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams) (*http.Request, error) { +// NewObservabilityServiceGetSessionTranscriptRequest constructs an http.Request for the ObservabilityServiceGetSessionTranscript method +func NewObservabilityServiceGetSessionTranscriptRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams) (*http.Request, error) { var err error var pathParam0 string @@ -13929,7 +15673,7 @@ func NewObservabilityServiceGetSessionMetricsRequest(server string, projectId st return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/metrics", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/sessions/%s/transcript", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -13972,18 +15716,6 @@ func NewObservabilityServiceGetSessionMetricsRequest(server string, projectId st } - if params.Names != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "names", *params.Names, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "array", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - if encoded := queryValues.Encode(); encoded != "" { rawQueryFragments = append(rawQueryFragments, encoded) } @@ -13998,8 +15730,8 @@ func NewObservabilityServiceGetSessionMetricsRequest(server string, projectId st return req, nil } -// NewAnalyticsServiceListSessionParticipantsRequest constructs an http.Request for the AnalyticsServiceListSessionParticipants method -func NewAnalyticsServiceListSessionParticipantsRequest(server string, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams) (*http.Request, error) { +// NewSimulationServiceListSimulationRunsRequest constructs an http.Request for the SimulationServiceListSimulationRuns method +func NewSimulationServiceListSimulationRunsRequest(server string, projectId string, params *SimulationServiceListSimulationRunsParams) (*http.Request, error) { var err error var pathParam0 string @@ -14009,19 +15741,12 @@ func NewAnalyticsServiceListSessionParticipantsRequest(server string, projectId return nil, err } - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } - serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/participants", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14064,9 +15789,9 @@ func NewAnalyticsServiceListSessionParticipantsRequest(server string, projectId } - if params.SortBy != nil { + if params.Status != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortBy", *params.SortBy, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "status", *params.Status, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14076,9 +15801,45 @@ func NewAnalyticsServiceListSessionParticipantsRequest(server string, projectId } - if params.SortOrder != nil { + if params.AgentName != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortOrder", *params.SortOrder, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "agentName", *params.AgentName, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.StartTime != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "startTime", *params.StartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.EndTime != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "endTime", *params.EndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.Mode != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "mode", *params.Mode, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14102,8 +15863,96 @@ func NewAnalyticsServiceListSessionParticipantsRequest(server string, projectId return req, nil } -// NewObservabilityServiceGetSessionRecordingURLRequest constructs an http.Request for the ObservabilityServiceGetSessionRecordingURL method -func NewObservabilityServiceGetSessionRecordingURLRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams) (*http.Request, error) { +// NewSimulationServiceCreateSimulationRunRequest calls the generic SimulationServiceCreateSimulationRun builder with application/json body +func NewSimulationServiceCreateSimulationRunRequest(server string, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewSimulationServiceCreateSimulationRunRequestWithBody(server, projectId, "application/json", bodyReader) +} + +// NewSimulationServiceCreateSimulationRunRequestWithBody constructs an http.Request for the SimulationServiceCreateSimulationRun method, with any body, and a specified content type +func NewSimulationServiceCreateSimulationRunRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewSimulationServiceGetSimulationRunRequest constructs an http.Request for the SimulationServiceGetSimulationRun method +func NewSimulationServiceGetSimulationRunRequest(server string, projectId string, simulationRunId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs/%s", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewSimulationServiceGetSimulationRunSummaryRequest constructs an http.Request for the SimulationServiceGetSimulationRunSummary method +func NewSimulationServiceGetSimulationRunSummaryRequest(server string, projectId string, simulationRunId string) (*http.Request, error) { var err error var pathParam0 string @@ -14115,7 +15964,7 @@ func NewObservabilityServiceGetSessionRecordingURLRequest(server string, project var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -14125,7 +15974,7 @@ func NewObservabilityServiceGetSessionRecordingURLRequest(server string, project return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/recording-url", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs/%s/summary", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14135,45 +15984,6 @@ func NewObservabilityServiceGetSessionRecordingURLRequest(server string, project return nil, err } - if params != nil { - // queryValues collects non-styled parameters (passthrough, JSON) - // that are safe to round-trip through url.Values.Encode(). - queryValues := queryURL.Query() - // rawQueryFragments collects pre-encoded query fragments from - // styled parameters, preserving literal commas as delimiters - // per the OpenAPI spec (e.g. "color=blue,black,brown"). - var rawQueryFragments []string - - if params.FileType != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "fileType", *params.FileType, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.ExpirySeconds != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "expirySeconds", *params.ExpirySeconds, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") - } - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err @@ -14182,8 +15992,8 @@ func NewObservabilityServiceGetSessionRecordingURLRequest(server string, project return req, nil } -// NewObservabilityServiceGetSessionTracesRequest constructs an http.Request for the ObservabilityServiceGetSessionTraces method -func NewObservabilityServiceGetSessionTracesRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams) (*http.Request, error) { +// NewSimulationServiceCancelSimulationRunRequest constructs an http.Request for the SimulationServiceCancelSimulationRun method +func NewSimulationServiceCancelSimulationRunRequest(server string, projectId string, simulationRunId string) (*http.Request, error) { var err error var pathParam0 string @@ -14195,7 +16005,7 @@ func NewObservabilityServiceGetSessionTracesRequest(server string, projectId str var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -14205,7 +16015,7 @@ func NewObservabilityServiceGetSessionTracesRequest(server string, projectId str return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/traces", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs/%s:cancel", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14215,46 +16025,7 @@ func NewObservabilityServiceGetSessionTracesRequest(server string, projectId str return nil, err } - if params != nil { - // queryValues collects non-styled parameters (passthrough, JSON) - // that are safe to round-trip through url.Values.Encode(). - queryValues := queryURL.Query() - // rawQueryFragments collects pre-encoded query fragments from - // styled parameters, preserving literal commas as delimiters - // per the OpenAPI spec (e.g. "color=blue,black,brown"). - var rawQueryFragments []string - - if params.PageCursor != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.PagePageSize != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") - } - - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) if err != nil { return nil, err } @@ -14262,8 +16033,19 @@ func NewObservabilityServiceGetSessionTracesRequest(server string, projectId str return req, nil } -// NewObservabilityServiceGetSessionTranscriptRequest constructs an http.Request for the ObservabilityServiceGetSessionTranscript method -func NewObservabilityServiceGetSessionTranscriptRequest(server string, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams) (*http.Request, error) { +// NewSimulationServiceConfirmSimulationSourceUploadRequest calls the generic SimulationServiceConfirmSimulationSourceUpload builder with application/json body +func NewSimulationServiceConfirmSimulationSourceUploadRequest(server string, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server, projectId, simulationRunId, "application/json", bodyReader) +} + +// NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody constructs an http.Request for the SimulationServiceConfirmSimulationSourceUpload method, with any body, and a specified content type +func NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server string, projectId string, simulationRunId string, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -14275,7 +16057,7 @@ func NewObservabilityServiceGetSessionTranscriptRequest(server string, projectId var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "sessionId", sessionId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -14285,7 +16067,7 @@ func NewObservabilityServiceGetSessionTranscriptRequest(server string, projectId return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/sessions/%s/transcript", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs/%s:confirmSourceUpload", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14295,55 +16077,18 @@ func NewObservabilityServiceGetSessionTranscriptRequest(server string, projectId return nil, err } - if params != nil { - // queryValues collects non-styled parameters (passthrough, JSON) - // that are safe to round-trip through url.Values.Encode(). - queryValues := queryURL.Query() - // rawQueryFragments collects pre-encoded query fragments from - // styled parameters, preserving literal commas as delimiters - // per the OpenAPI spec (e.g. "color=blue,black,brown"). - var rawQueryFragments []string - - if params.PageCursor != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.PagePageSize != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") - } - - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } + req.Header.Add("Content-Type", contentType) + return req, nil } -// NewSimulationServiceListSimulationRunsRequest constructs an http.Request for the SimulationServiceListSimulationRuns method -func NewSimulationServiceListSimulationRunsRequest(server string, projectId string, params *SimulationServiceListSimulationRunsParams) (*http.Request, error) { +// NewSimulationServiceCountSimulationRunsRequest constructs an http.Request for the SimulationServiceCountSimulationRuns method +func NewSimulationServiceCountSimulationRunsRequest(server string, projectId string, params *SimulationServiceCountSimulationRunsParams) (*http.Request, error) { var err error var pathParam0 string @@ -14358,7 +16103,7 @@ func NewSimulationServiceListSimulationRunsRequest(server string, projectId stri return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/simulation-runs:counts", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14377,9 +16122,9 @@ func NewSimulationServiceListSimulationRunsRequest(server string, projectId stri // per the OpenAPI spec (e.g. "color=blue,black,brown"). var rawQueryFragments []string - if params.PageCursor != nil { + if params.StartTime != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "startTime", *params.StartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14389,9 +16134,9 @@ func NewSimulationServiceListSimulationRunsRequest(server string, projectId stri } - if params.PagePageSize != nil { + if params.EndTime != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "endTime", *params.EndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14425,30 +16170,6 @@ func NewSimulationServiceListSimulationRunsRequest(server string, projectId stri } - if params.StartTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "startTime", *params.StartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - - if params.EndTime != nil { - - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "endTime", *params.EndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } - - } - if params.Mode != nil { if queryFrag, err := runtime.StyleParamWithOptions("form", true, "mode", *params.Mode, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "", Format: ""}); err != nil { @@ -14475,19 +16196,8 @@ func NewSimulationServiceListSimulationRunsRequest(server string, projectId stri return req, nil } -// NewSimulationServiceCreateSimulationRunRequest calls the generic SimulationServiceCreateSimulationRun builder with application/json body -func NewSimulationServiceCreateSimulationRunRequest(server string, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewSimulationServiceCreateSimulationRunRequestWithBody(server, projectId, "application/json", bodyReader) -} - -// NewSimulationServiceCreateSimulationRunRequestWithBody constructs an http.Request for the SimulationServiceCreateSimulationRun method, with any body, and a specified content type -func NewSimulationServiceCreateSimulationRunRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { +// NewThreadServiceListThreadsRequest constructs an http.Request for the ThreadServiceListThreads method +func NewThreadServiceListThreadsRequest(server string, projectId string, params *ThreadServiceListThreadsParams) (*http.Request, error) { var err error var pathParam0 string @@ -14502,7 +16212,7 @@ func NewSimulationServiceCreateSimulationRunRequestWithBody(server string, proje return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/threads", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14512,18 +16222,78 @@ func NewSimulationServiceCreateSimulationRunRequestWithBody(server string, proje return nil, err } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + + if params.Scope != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "scope", *params.Scope, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PageCursor != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } - req.Header.Add("Content-Type", contentType) - return req, nil } -// NewSimulationServiceGetSimulationRunRequest constructs an http.Request for the SimulationServiceGetSimulationRun method -func NewSimulationServiceGetSimulationRunRequest(server string, projectId string, simulationRunId string) (*http.Request, error) { +// NewThreadServiceCreateThreadRequest calls the generic ThreadServiceCreateThread builder with application/json body +func NewThreadServiceCreateThreadRequest(server string, projectId string, body ThreadServiceCreateThreadJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewThreadServiceCreateThreadRequestWithBody(server, projectId, "application/json", bodyReader) +} + +// NewThreadServiceCreateThreadRequestWithBody constructs an http.Request for the ThreadServiceCreateThread method, with any body, and a specified content type +func NewThreadServiceCreateThreadRequestWithBody(server string, projectId string, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -14533,19 +16303,12 @@ func NewSimulationServiceGetSimulationRunRequest(server string, projectId string return nil, err } - var pathParam1 string - - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } - serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/threads", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14555,16 +16318,18 @@ func NewSimulationServiceGetSimulationRunRequest(server string, projectId string return nil, err } - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) if err != nil { return nil, err } + req.Header.Add("Content-Type", contentType) + return req, nil } -// NewSimulationServiceGetSimulationRunSummaryRequest constructs an http.Request for the SimulationServiceGetSimulationRunSummary method -func NewSimulationServiceGetSimulationRunSummaryRequest(server string, projectId string, simulationRunId string) (*http.Request, error) { +// NewThreadServiceDeleteThreadRequest constructs an http.Request for the ThreadServiceDeleteThread method +func NewThreadServiceDeleteThreadRequest(server string, projectId string, threadId string) (*http.Request, error) { var err error var pathParam0 string @@ -14576,7 +16341,7 @@ func NewSimulationServiceGetSimulationRunSummaryRequest(server string, projectId var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "threadId", threadId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -14586,7 +16351,7 @@ func NewSimulationServiceGetSimulationRunSummaryRequest(server string, projectId return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs/%s/summary", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/threads/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14596,7 +16361,7 @@ func NewSimulationServiceGetSimulationRunSummaryRequest(server string, projectId return nil, err } - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) if err != nil { return nil, err } @@ -14604,8 +16369,8 @@ func NewSimulationServiceGetSimulationRunSummaryRequest(server string, projectId return req, nil } -// NewSimulationServiceCancelSimulationRunRequest constructs an http.Request for the SimulationServiceCancelSimulationRun method -func NewSimulationServiceCancelSimulationRunRequest(server string, projectId string, simulationRunId string) (*http.Request, error) { +// NewThreadServiceGetThreadRequest constructs an http.Request for the ThreadServiceGetThread method +func NewThreadServiceGetThreadRequest(server string, projectId string, threadId string) (*http.Request, error) { var err error var pathParam0 string @@ -14617,7 +16382,7 @@ func NewSimulationServiceCancelSimulationRunRequest(server string, projectId str var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "threadId", threadId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -14627,7 +16392,7 @@ func NewSimulationServiceCancelSimulationRunRequest(server string, projectId str return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs/%s:cancel", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/threads/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14637,7 +16402,7 @@ func NewSimulationServiceCancelSimulationRunRequest(server string, projectId str return nil, err } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), nil) + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) if err != nil { return nil, err } @@ -14645,19 +16410,19 @@ func NewSimulationServiceCancelSimulationRunRequest(server string, projectId str return req, nil } -// NewSimulationServiceConfirmSimulationSourceUploadRequest calls the generic SimulationServiceConfirmSimulationSourceUpload builder with application/json body -func NewSimulationServiceConfirmSimulationSourceUploadRequest(server string, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody) (*http.Request, error) { +// NewThreadServiceUpdateThreadRequest calls the generic ThreadServiceUpdateThread builder with application/json body +func NewThreadServiceUpdateThreadRequest(server string, projectId string, threadId string, body ThreadServiceUpdateThreadJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server, projectId, simulationRunId, "application/json", bodyReader) + return NewThreadServiceUpdateThreadRequestWithBody(server, projectId, threadId, "application/json", bodyReader) } -// NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody constructs an http.Request for the SimulationServiceConfirmSimulationSourceUpload method, with any body, and a specified content type -func NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server string, projectId string, simulationRunId string, contentType string, body io.Reader) (*http.Request, error) { +// NewThreadServiceUpdateThreadRequestWithBody constructs an http.Request for the ThreadServiceUpdateThread method, with any body, and a specified content type +func NewThreadServiceUpdateThreadRequestWithBody(server string, projectId string, threadId string, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -14669,7 +16434,7 @@ func NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server str var pathParam1 string - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "simulationRunId", simulationRunId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "threadId", threadId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) if err != nil { return nil, err } @@ -14679,7 +16444,7 @@ func NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server str return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs/%s:confirmSourceUpload", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/projects/%s/threads/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14689,7 +16454,7 @@ func NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server str return nil, err } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -14699,8 +16464,8 @@ func NewSimulationServiceConfirmSimulationSourceUploadRequestWithBody(server str return req, nil } -// NewSimulationServiceCountSimulationRunsRequest constructs an http.Request for the SimulationServiceCountSimulationRuns method -func NewSimulationServiceCountSimulationRunsRequest(server string, projectId string, params *SimulationServiceCountSimulationRunsParams) (*http.Request, error) { +// NewThreadServiceGetThreadItemsRequest constructs an http.Request for the ThreadServiceGetThreadItems method +func NewThreadServiceGetThreadItemsRequest(server string, projectId string, threadId string, params *ThreadServiceGetThreadItemsParams) (*http.Request, error) { var err error var pathParam0 string @@ -14710,12 +16475,19 @@ func NewSimulationServiceCountSimulationRunsRequest(server string, projectId str return nil, err } + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "threadId", threadId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/simulation-runs:counts", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/threads/%s/items", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14734,9 +16506,9 @@ func NewSimulationServiceCountSimulationRunsRequest(server string, projectId str // per the OpenAPI spec (e.g. "color=blue,black,brown"). var rawQueryFragments []string - if params.StartTime != nil { + if params.Agent != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "startTime", *params.StartTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "agent", *params.Agent, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14746,9 +16518,33 @@ func NewSimulationServiceCountSimulationRunsRequest(server string, projectId str } - if params.EndTime != nil { + if params.PageCursor != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "endTime", *params.EndTime, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: "date-time"}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if params.SortOrder != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "sortOrder", *params.SortOrder, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14758,6 +16554,62 @@ func NewSimulationServiceCountSimulationRunsRequest(server string, projectId str } + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewThreadServiceGetThreadTasksRequest constructs an http.Request for the ThreadServiceGetThreadTasks method +func NewThreadServiceGetThreadTasksRequest(server string, projectId string, threadId string, params *ThreadServiceGetThreadTasksParams) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "threadId", threadId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/projects/%s/threads/%s/tasks", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + // queryValues collects non-styled parameters (passthrough, JSON) + // that are safe to round-trip through url.Values.Encode(). + queryValues := queryURL.Query() + // rawQueryFragments collects pre-encoded query fragments from + // styled parameters, preserving literal commas as delimiters + // per the OpenAPI spec (e.g. "color=blue,black,brown"). + var rawQueryFragments []string + if params.Status != nil { if queryFrag, err := runtime.StyleParamWithOptions("form", true, "status", *params.Status, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "", Format: ""}); err != nil { @@ -14770,9 +16622,9 @@ func NewSimulationServiceCountSimulationRunsRequest(server string, projectId str } - if params.AgentName != nil { + if params.PageCursor != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "agentName", *params.AgentName, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.cursor", *params.PageCursor, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "string", Format: ""}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14782,9 +16634,9 @@ func NewSimulationServiceCountSimulationRunsRequest(server string, projectId str } - if params.Mode != nil { + if params.PagePageSize != nil { - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "mode", *params.Mode, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "", Format: ""}); err != nil { + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { return nil, err } else { for _, qp := range strings.Split(queryFrag, "&") { @@ -14835,7 +16687,7 @@ func NewProjectServiceCreateTokenRequestWithBody(server string, projectId string return nil, err } - operationPath := fmt.Sprintf("/v1/projects/%s/tokens", pathParam0) + operationPath := fmt.Sprintf("/v0/projects/%s/tokens", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14864,7 +16716,7 @@ func NewUserServiceListUsersRequest(server string, params *UserServiceListUsersP return nil, err } - operationPath := fmt.Sprintf("/v1/users") + operationPath := fmt.Sprintf("/v0/users") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14954,7 +16806,7 @@ func NewUserServiceGetCurrentUserRequest(server string) (*http.Request, error) { return nil, err } - operationPath := fmt.Sprintf("/v1/users/me") + operationPath := fmt.Sprintf("/v0/users/me") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -14988,7 +16840,7 @@ func NewUserServiceGetUserRequest(server string, userId string) (*http.Request, return nil, err } - operationPath := fmt.Sprintf("/v1/users/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/users/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15022,7 +16874,7 @@ func NewWorkspaceServiceGetInviteRequest(server string, inviteToken string) (*ht return nil, err } - operationPath := fmt.Sprintf("/v1/workspace-invites/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/workspace-invites/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15067,7 +16919,7 @@ func NewWorkspaceServiceAnswerInviteRequestWithBody(server string, inviteToken s return nil, err } - operationPath := fmt.Sprintf("/v1/workspace-invites/%s:answer", pathParam0) + operationPath := fmt.Sprintf("/v0/workspace-invites/%s:answer", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15096,7 +16948,7 @@ func NewWorkspaceServiceListWorkspacesRequest(server string, params *WorkspaceSe return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces") + operationPath := fmt.Sprintf("/v0/workspaces") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15173,7 +17025,7 @@ func NewWorkspaceServiceCreateWorkspaceRequestWithBody(server string, contentTyp return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces") + operationPath := fmt.Sprintf("/v0/workspaces") if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15209,7 +17061,7 @@ func NewWorkspaceServiceDeleteWorkspaceRequest(server string, workspaceId string return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15243,7 +17095,7 @@ func NewWorkspaceServiceGetWorkspaceRequest(server string, workspaceId string) ( return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15288,7 +17140,7 @@ func NewWorkspaceServiceUpdateWorkspaceRequestWithBody(server string, workspaceI return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15324,7 +17176,7 @@ func NewWorkspaceServiceListInvitesRequest(server string, workspaceId string) (* return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/invites", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s/invites", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15369,7 +17221,7 @@ func NewWorkspaceServiceCreateInviteRequestWithBody(server string, workspaceId s return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/invites", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s/invites", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15412,7 +17264,7 @@ func NewWorkspaceServiceDeleteInviteRequest(server string, workspaceId string, e return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/invites/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/workspaces/%s/invites/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15446,7 +17298,7 @@ func NewWorkspaceServiceListMembersRequest(server string, workspaceId string) (* return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/members", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s/members", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15487,7 +17339,7 @@ func NewWorkspaceServiceDeleteMemberRequest(server string, workspaceId string, u return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/members/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/workspaces/%s/members/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15528,7 +17380,7 @@ func NewWorkspaceServiceGetMemberRequest(server string, workspaceId string, user return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/members/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/workspaces/%s/members/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15580,7 +17432,7 @@ func NewWorkspaceServiceUpdateMemberRequestWithBody(server string, workspaceId s return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/members/%s", pathParam0, pathParam1) + operationPath := fmt.Sprintf("/v0/workspaces/%s/members/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15616,7 +17468,7 @@ func NewWorkspaceServiceListProjectsRequest(server string, workspaceId string, p return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/projects", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s/projects", pathParam0) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15645,24 +17497,153 @@ func NewWorkspaceServiceListProjectsRequest(server string, workspaceId string, p } } - } + } + + if params.PagePageSize != nil { + + if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { + return nil, err + } else { + for _, qp := range strings.Split(queryFrag, "&") { + rawQueryFragments = append(rawQueryFragments, qp) + } + } + + } + + if encoded := queryValues.Encode(); encoded != "" { + rawQueryFragments = append(rawQueryFragments, encoded) + } + queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + } + + req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewWorkspaceServiceCreateProjectRequest calls the generic WorkspaceServiceCreateProject builder with application/json body +func NewWorkspaceServiceCreateProjectRequest(server string, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody) (*http.Request, error) { + var bodyReader io.Reader + buf, err := json.Marshal(body) + if err != nil { + return nil, err + } + bodyReader = bytes.NewReader(buf) + return NewWorkspaceServiceCreateProjectRequestWithBody(server, workspaceId, "application/json", bodyReader) +} + +// NewWorkspaceServiceCreateProjectRequestWithBody constructs an http.Request for the WorkspaceServiceCreateProject method, with any body, and a specified content type +func NewWorkspaceServiceCreateProjectRequestWithBody(server string, workspaceId string, contentType string, body io.Reader) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "workspaceId", workspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/workspaces/%s/projects", pathParam0) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + if err != nil { + return nil, err + } + + req.Header.Add("Content-Type", contentType) + + return req, nil +} + +// NewWorkspaceServiceDeleteProjectRequest constructs an http.Request for the WorkspaceServiceDeleteProject method +func NewWorkspaceServiceDeleteProjectRequest(server string, workspaceId string, projectId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "workspaceId", workspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v0/workspaces/%s/projects/%s", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + +// NewWorkspaceServiceGetProjectRequest constructs an http.Request for the WorkspaceServiceGetProject method +func NewWorkspaceServiceGetProjectRequest(server string, workspaceId string, projectId string) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithOptions("simple", false, "workspaceId", workspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + + var pathParam1 string - if params.PagePageSize != nil { + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } - if queryFrag, err := runtime.StyleParamWithOptions("form", true, "page.pageSize", *params.PagePageSize, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationQuery, Type: "integer", Format: "int32"}); err != nil { - return nil, err - } else { - for _, qp := range strings.Split(queryFrag, "&") { - rawQueryFragments = append(rawQueryFragments, qp) - } - } + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } - } + operationPath := fmt.Sprintf("/v0/workspaces/%s/projects/%s", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } - if encoded := queryValues.Encode(); encoded != "" { - rawQueryFragments = append(rawQueryFragments, encoded) - } - queryURL.RawQuery = strings.Join(rawQueryFragments, "&") + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err } req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) @@ -15673,19 +17654,19 @@ func NewWorkspaceServiceListProjectsRequest(server string, workspaceId string, p return req, nil } -// NewWorkspaceServiceCreateProjectRequest calls the generic WorkspaceServiceCreateProject builder with application/json body -func NewWorkspaceServiceCreateProjectRequest(server string, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody) (*http.Request, error) { +// NewWorkspaceServiceUpdateProjectRequest calls the generic WorkspaceServiceUpdateProject builder with application/json body +func NewWorkspaceServiceUpdateProjectRequest(server string, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody) (*http.Request, error) { var bodyReader io.Reader buf, err := json.Marshal(body) if err != nil { return nil, err } bodyReader = bytes.NewReader(buf) - return NewWorkspaceServiceCreateProjectRequestWithBody(server, workspaceId, "application/json", bodyReader) + return NewWorkspaceServiceUpdateProjectRequestWithBody(server, workspaceId, updateProjectId, "application/json", bodyReader) } -// NewWorkspaceServiceCreateProjectRequestWithBody constructs an http.Request for the WorkspaceServiceCreateProject method, with any body, and a specified content type -func NewWorkspaceServiceCreateProjectRequestWithBody(server string, workspaceId string, contentType string, body io.Reader) (*http.Request, error) { +// NewWorkspaceServiceUpdateProjectRequestWithBody constructs an http.Request for the WorkspaceServiceUpdateProject method, with any body, and a specified content type +func NewWorkspaceServiceUpdateProjectRequestWithBody(server string, workspaceId string, updateProjectId string, contentType string, body io.Reader) (*http.Request, error) { var err error var pathParam0 string @@ -15695,12 +17676,19 @@ func NewWorkspaceServiceCreateProjectRequestWithBody(server string, workspaceId return nil, err } + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithOptions("simple", false, "update.projectId", updateProjectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) + if err != nil { + return nil, err + } + serverURL, err := url.Parse(server) if err != nil { return nil, err } - operationPath := fmt.Sprintf("/v1/workspaces/%s/projects", pathParam0) + operationPath := fmt.Sprintf("/v0/workspaces/%s/projects/%s", pathParam0, pathParam1) if operationPath[0] == '/' { operationPath = "." + operationPath } @@ -15710,7 +17698,7 @@ func NewWorkspaceServiceCreateProjectRequestWithBody(server string, workspaceId return nil, err } - req, err := http.NewRequest(http.MethodPost, queryURL.String(), body) + req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) if err != nil { return nil, err } @@ -15720,965 +17708,1457 @@ func NewWorkspaceServiceCreateProjectRequestWithBody(server string, workspaceId return req, nil } -// NewWorkspaceServiceDeleteProjectRequest constructs an http.Request for the WorkspaceServiceDeleteProject method -func NewWorkspaceServiceDeleteProjectRequest(server string, workspaceId string, projectId string) (*http.Request, error) { - var err error - - var pathParam0 string - - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "workspaceId", workspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err +func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error { + for _, r := range c.RequestEditors { + if err := r(ctx, req); err != nil { + return err + } + } + for _, r := range additionalEditors { + if err := r(ctx, req); err != nil { + return err + } } + return nil +} - var pathParam1 string +// ClientWithResponses builds on ClientInterface to offer response payloads +type ClientWithResponses struct { + ClientInterface +} - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) +// NewClientWithResponses creates a new ClientWithResponses, which wraps +// Client with return type handling +func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) { + client, err := NewClient(server, opts...) if err != nil { return nil, err } + return &ClientWithResponses{client}, nil +} - serverURL, err := url.Parse(server) - if err != nil { - return nil, err +// WithBaseURL overrides the baseURL. +func WithBaseURL(baseURL string) ClientOption { + return func(c *Client) error { + newBaseURL, err := url.Parse(baseURL) + if err != nil { + return err + } + c.Server = newBaseURL.String() + return nil } +} - operationPath := fmt.Sprintf("/v1/workspaces/%s/projects/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } +// ClientWithResponsesInterface is the interface specification for the client with responses above. +type ClientWithResponsesInterface interface { + + // ProjectServiceGetInviteWithResponse GetInvite + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). + ProjectServiceGetInviteWithResponse(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*ProjectServiceGetInviteResponse, error) + + // ProjectServiceAnswerInvitationWithBodyWithResponse AnswerInvitation + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). + ProjectServiceAnswerInvitationWithBodyWithResponse(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceAnswerInvitationResponse, error) + + // ProjectServiceAnswerInvitationWithResponse AnswerInvitation + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). + ProjectServiceAnswerInvitationWithResponse(ctx context.Context, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceAnswerInvitationResponse, error) + + // ProjectServiceListProjectsWithResponse ListProjects + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects (the `ProjectServiceListProjects` operationId). + ProjectServiceListProjectsWithResponse(ctx context.Context, params *ProjectServiceListProjectsParams, reqEditors ...RequestEditorFn) (*ProjectServiceListProjectsResponse, error) + + // ProjectServiceCreateProjectWithBodyWithResponse CreateProject + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). + ProjectServiceCreateProjectWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceCreateProjectResponse, error) + + // ProjectServiceCreateProjectWithResponse CreateProject + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). + ProjectServiceCreateProjectWithResponse(ctx context.Context, body ProjectServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceCreateProjectResponse, error) + + // ProjectServiceDeleteProjectWithResponse DeleteProject + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with DELETE /v0/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). + ProjectServiceDeleteProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteProjectResponse, error) + + // ProjectServiceGetProjectWithResponse GetProject + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId} (the `ProjectServiceGetProject` operationId). + ProjectServiceGetProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetProjectResponse, error) + + // ProjectServiceUpdateProjectWithBodyWithResponse UpdateProject + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). + ProjectServiceUpdateProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) + + // ProjectServiceUpdateProjectWithResponse UpdateProject + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). + ProjectServiceUpdateProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) + + // AnalyticsServiceGetProjectAnalyticsWithResponse GetProjectAnalytics + // + // GetProjectAnalytics returns the project overview over a time range. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). + AnalyticsServiceGetProjectAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetProjectAnalyticsResponse, error) + + // AnalyticsServiceListAgentAnalyticsWithResponse ListAgentAnalytics + // + // ListAgentAnalytics returns the same per-agent analytics for every agent in + // the project, one AgentAnalytics row per agent — so a single agent and the + // whole roster share one shape. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). + AnalyticsServiceListAgentAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListAgentAnalyticsResponse, error) + + // AnalyticsServiceGetAgentAnalyticsWithResponse GetAgentAnalytics + // + // GetAgentAnalytics returns the analytics for one agent over a time range. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). + AnalyticsServiceGetAgentAnalyticsWithResponse(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetAgentAnalyticsResponse, error) + + // DatabaseServiceListDatabasesWithResponse ListDatabases + // + // ListDatabases lists the project's databases, cursor-paginated. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/databases (the `DatabaseServiceListDatabases` operationId). + DatabaseServiceListDatabasesWithResponse(ctx context.Context, projectId string, params *DatabaseServiceListDatabasesParams, reqEditors ...RequestEditorFn) (*DatabaseServiceListDatabasesResponse, error) + + // DatabaseServiceCreateDatabaseWithBodyWithResponse CreateDatabase + // + // CreateDatabase creates an empty database. Not idempotent: a retried + // request creates a second database. + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). + DatabaseServiceCreateDatabaseWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DatabaseServiceCreateDatabaseResponse, error) + + // DatabaseServiceCreateDatabaseWithResponse CreateDatabase + // + // CreateDatabase creates an empty database. Not idempotent: a retried + // request creates a second database. + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). + DatabaseServiceCreateDatabaseWithResponse(ctx context.Context, projectId string, body DatabaseServiceCreateDatabaseJSONRequestBody, reqEditors ...RequestEditorFn) (*DatabaseServiceCreateDatabaseResponse, error) + + // DatabaseServiceDeleteDatabaseWithResponse DeleteDatabase + // + // DeleteDatabase deletes the stored data, not just the metadata. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with DELETE /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceDeleteDatabase` operationId). + DatabaseServiceDeleteDatabaseWithResponse(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*DatabaseServiceDeleteDatabaseResponse, error) + + // DatabaseServiceGetDatabaseWithResponse GetDatabase + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceGetDatabase` operationId). + DatabaseServiceGetDatabaseWithResponse(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*DatabaseServiceGetDatabaseResponse, error) + + // DatabaseServiceExportDatabaseWithResponse ExportDatabase + // + // ExportDatabase exports a consistent SQLite file as a time-limited download + // URL. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/databases/{databaseId}:export (the `DatabaseServiceExportDatabase` operationId). + DatabaseServiceExportDatabaseWithResponse(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*DatabaseServiceExportDatabaseResponse, error) + + // ProjectServiceListInvitesWithResponse ListInvites + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). + ProjectServiceListInvitesWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListInvitesResponse, error) + + // ProjectServiceInviteMemberWithBodyWithResponse InviteMember + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). + ProjectServiceInviteMemberWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceInviteMemberResponse, error) + + // ProjectServiceInviteMemberWithResponse InviteMember + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). + ProjectServiceInviteMemberWithResponse(ctx context.Context, projectId string, body ProjectServiceInviteMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceInviteMemberResponse, error) + + // ProjectServiceDeleteInviteWithResponse DeleteInvite + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with DELETE /v0/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). + ProjectServiceDeleteInviteWithResponse(ctx context.Context, projectId string, email string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteInviteResponse, error) + + // ProjectServiceUpdateInviteWithBodyWithResponse UpdateInvite + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). + ProjectServiceUpdateInviteWithBodyWithResponse(ctx context.Context, projectId string, email string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateInviteResponse, error) + + // ProjectServiceUpdateInviteWithResponse UpdateInvite + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). + ProjectServiceUpdateInviteWithResponse(ctx context.Context, projectId string, email string, body ProjectServiceUpdateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateInviteResponse, error) + + // ProjectServiceListKeysWithResponse ListKeys + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). + ProjectServiceListKeysWithResponse(ctx context.Context, projectId string, params *ProjectServiceListKeysParams, reqEditors ...RequestEditorFn) (*ProjectServiceListKeysResponse, error) - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } + // ProjectServiceGenerateKeyWithBodyWithResponse GenerateKey + // + // Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / + // ListScopedKeys / DeleteKey). + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). + ProjectServiceGenerateKeyWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceGenerateKeyResponse, error) - req, err := http.NewRequest(http.MethodDelete, queryURL.String(), nil) - if err != nil { - return nil, err - } + // ProjectServiceGenerateKeyWithResponse GenerateKey + // + // Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / + // ListScopedKeys / DeleteKey). + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). + ProjectServiceGenerateKeyWithResponse(ctx context.Context, projectId string, body ProjectServiceGenerateKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceGenerateKeyResponse, error) - return req, nil -} + // ProjectServiceDeleteKeyWithResponse DeleteKey + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with DELETE /v0/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). + ProjectServiceDeleteKeyWithResponse(ctx context.Context, projectId string, apiKey string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteKeyResponse, error) -// NewWorkspaceServiceGetProjectRequest constructs an http.Request for the WorkspaceServiceGetProject method -func NewWorkspaceServiceGetProjectRequest(server string, workspaceId string, projectId string) (*http.Request, error) { - var err error + // ProjectServiceListMembersWithResponse ListMembers + // + // Members & invites (token-based; mirrors cloud ProjectService current flows). + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). + ProjectServiceListMembersWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListMembersResponse, error) - var pathParam0 string + // ProjectServiceRemoveMemberWithResponse RemoveMember + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with DELETE /v0/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). + ProjectServiceRemoveMemberWithResponse(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*ProjectServiceRemoveMemberResponse, error) - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "workspaceId", workspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } + // ProjectServiceGetMemberWithResponse GetMember + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). + ProjectServiceGetMemberWithResponse(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetMemberResponse, error) - var pathParam1 string + // ProjectServiceUpdateMemberWithBodyWithResponse UpdateMember + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). + ProjectServiceUpdateMemberWithBodyWithResponse(ctx context.Context, projectId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateMemberResponse, error) - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "projectId", projectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } + // ProjectServiceUpdateMemberWithResponse UpdateMember + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). + ProjectServiceUpdateMemberWithResponse(ctx context.Context, projectId string, userId string, body ProjectServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateMemberResponse, error) - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } + // ProjectServiceAddWorkspaceMembersToProjectWithBodyWithResponse AddWorkspaceMembersToProject + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). + ProjectServiceAddWorkspaceMembersToProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceAddWorkspaceMembersToProjectResponse, error) - operationPath := fmt.Sprintf("/v1/workspaces/%s/projects/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } + // ProjectServiceAddWorkspaceMembersToProjectWithResponse AddWorkspaceMembersToProject + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). + ProjectServiceAddWorkspaceMembersToProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceAddWorkspaceMembersToProjectResponse, error) - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } + // SimulationServiceGenerateScenarioFromSessionWithBodyWithResponse GenerateScenarioFromSession + // + // GenerateScenarioFromSession derives a reusable scenario (label, + // instructions and expectations) from a recorded room session, for use in a + // later run's scenario_group. Nothing is stored; the returned scenario is the + // result. The session must have a recorded chat history. Each call runs an + // LLM over it, so it counts against the project's scenario-generation quota + // and can take up to about a minute. + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). + SimulationServiceGenerateScenarioFromSessionWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceGenerateScenarioFromSessionResponse, error) - req, err := http.NewRequest(http.MethodGet, queryURL.String(), nil) - if err != nil { - return nil, err - } + // SimulationServiceGenerateScenarioFromSessionWithResponse GenerateScenarioFromSession + // + // GenerateScenarioFromSession derives a reusable scenario (label, + // instructions and expectations) from a recorded room session, for use in a + // later run's scenario_group. Nothing is stored; the returned scenario is the + // result. The session must have a recorded chat history. Each call runs an + // LLM over it, so it counts against the project's scenario-generation quota + // and can take up to about a minute. + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). + SimulationServiceGenerateScenarioFromSessionWithResponse(ctx context.Context, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceGenerateScenarioFromSessionResponse, error) - return req, nil -} + // ProjectServiceListScopedKeysWithResponse ListScopedKeys + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). + ProjectServiceListScopedKeysWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListScopedKeysResponse, error) -// NewWorkspaceServiceUpdateProjectRequest calls the generic WorkspaceServiceUpdateProject builder with application/json body -func NewWorkspaceServiceUpdateProjectRequest(server string, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody) (*http.Request, error) { - var bodyReader io.Reader - buf, err := json.Marshal(body) - if err != nil { - return nil, err - } - bodyReader = bytes.NewReader(buf) - return NewWorkspaceServiceUpdateProjectRequestWithBody(server, workspaceId, updateProjectId, "application/json", bodyReader) -} + // AnalyticsServiceListProjectSessionsWithResponse ListProjectSessions + // + // ListProjectSessions lists room sessions for a project, newest first, + // cursor-paginated. Backed upstream by the ListingService room-sessions list. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). + AnalyticsServiceListProjectSessionsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListProjectSessionsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListProjectSessionsResponse, error) -// NewWorkspaceServiceUpdateProjectRequestWithBody constructs an http.Request for the WorkspaceServiceUpdateProject method, with any body, and a specified content type -func NewWorkspaceServiceUpdateProjectRequestWithBody(server string, workspaceId string, updateProjectId string, contentType string, body io.Reader) (*http.Request, error) { - var err error + // AnalyticsServiceGetSessionWithResponse GetSession + // + // GetSession returns one room session. The response carries both the list-row + // `session` and the richer `detail` (participants, per-metric data points). + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). + AnalyticsServiceGetSessionWithResponse(ctx context.Context, projectId string, sessionId string, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetSessionResponse, error) - var pathParam0 string + // AnalyticsServiceListSessionEventsWithResponse ListSessionEvents lists one room session's events, oldest first by default, + // cursor-paginated with no total. With no `types`, it returns the seven the + // dashboard's events table shows: PARTICIPANT_JOINED, PARTICIPANT_LEFT, + // PARTICIPANT_ACTIVE, PARTICIPANT_RESUMED, ROOM_CREATED, ROOM_ENDED and + // API_CALL. `types` asks for others, such as TRACK_PUBLISHED, and + // `participant_session_id` keeps one participant session's events. With + // `participant_session_id` and no `types`, it returns the eleven the + // dashboard's participant events table shows: that participant session's + // PARTICIPANT_JOINED, PARTICIPANT_LEFT, PARTICIPANT_RESUMED and + // PARTICIPANT_ACTIVE, and its TRACK_MUTED, TRACK_UNMUTED, TRACK_PUBLISHED, + // TRACK_UNPUBLISHED, TRACK_SUBSCRIBED, TRACK_SUBSCRIBE_REQUESTED and + // TRACK_SUBSCRIBE_FAILED. + // + // Unlike the dashboard, on purpose: an unknown type or a malformed + // participant session id is InvalidArgument rather than being searched for + // as typed, and types match exactly, so TRACK_PUBLISHED doesn't also return + // TRACK_PUBLISHED_UPDATE. Each event's payload keeps only an allowlist of + // fields, leaving out participants' attributes and metadata and API calls' + // request bodies. Each event and participant row still carries the + // participant's identity, as the dashboard shows it to every member, and + // for a SIP caller that can be a phone number. + // + // Events are kept for 60 days, which can be shorter than the session's other + // data, so an older session can list no events. An ACTIVE session lists the + // events recorded so far. An unknown session is NotFound. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). + AnalyticsServiceListSessionEventsWithResponse(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListSessionEventsResponse, error) - pathParam0, err = runtime.StyleParamWithOptions("simple", false, "workspaceId", workspaceId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } + // ObservabilityServiceGetSessionLogsWithResponse GetSessionLogs returns the log records the session's agents exported, in + // time order: what the dashboard's logs panel shows. Their chat history is + // left out, since GetSessionTranscript reads it, and their evaluation + // results stay in. The session's events, such as participants joining, + // come from AnalyticsService's ListSessionEvents. + // + // An ACTIVE session returns what its agents have exported so far. A record + // exported mid-read with a time this read has already paged past, earlier + // than its cursor's when oldest first, is missed until a new read. An + // unknown session is NotFound. A read filtered by log_levels can come back + // empty because no record is at those levels, so only an unfiltered one is + // ObservabilityDisabled. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). + ObservabilityServiceGetSessionLogsWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionLogsResponse, error) - var pathParam1 string + // ObservabilityServiceGetSessionMetricsWithResponse GetSessionMetrics returns the OpenTelemetry metric points the session's + // agents exported, by time, typed: turn latencies such as + // lk.agents.turn.e2e_latency and lk.agents.turn.llm_ttft, token and duration + // usage such as lk.agents.usage.llm_input_tokens, and the gen_ai.* + // histograms, along with any metrics the agent's own code recorded. + // + // These are the raw metrics agents emit, so they won't exactly match the + // dashboard's metrics panel, which derives its numbers from the transcript + // and traces. Only agents that export OpenTelemetry metrics to LiveKit Cloud + // produce them: an agent whose code installs its own MeterProvider exports + // none to LiveKit Cloud, and its sessions return no points. + // + // Some points aren't labeled as their agent exported them. These are + // limitations of the upstream aggregator, which groups a session's series + // by their attributes alone and names each group after its first row: + // - several metrics can come back under one name, such as an LLM's input, + // output and cached token counts, all named + // lk.agents.usage.llm_input_tokens; + // - points of one series at the same time that recorded equal values + // collapse into one point; + // - with two agents in one session, a point can carry the other agent's + // resource attributes. + // + // An agent exports its metrics every 30 seconds, and its turn latencies + // when the session ends, so an ACTIVE session returns what it has exported + // so far. An unknown session is NotFound. A read filtered by names can come + // back empty because no metric has those names, so only an unfiltered one + // is ObservabilityDisabled. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). + ObservabilityServiceGetSessionMetricsWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionMetricsResponse, error) - pathParam1, err = runtime.StyleParamWithOptions("simple", false, "update.projectId", updateProjectId, runtime.StyleParamOptions{ParamLocation: runtime.ParamLocationPath, Type: "string", Format: ""}) - if err != nil { - return nil, err - } + // AnalyticsServiceListSessionParticipantsWithResponse ListSessionParticipants + // + // ListSessionParticipants lists the participants of one room session, one row + // per identity, cursor-paginated; newest join first by default. Each row + // carries the participant's participant sessions (PA_...), each with the + // client it connected from. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). + AnalyticsServiceListSessionParticipantsWithResponse(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListSessionParticipantsResponse, error) + + // ObservabilityServiceGetSessionRecordingURLWithResponse GetSessionRecordingURL + // + // GetSessionRecordingURL returns a short-lived signed URL for one of the + // session's recordings: its audio or its chat history. A session with no + // recording of that type is NotFound. A new recording can be NotFound for + // up to a minute after the session ends. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). + ObservabilityServiceGetSessionRecordingURLWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionRecordingURLResponse, error) - serverURL, err := url.Parse(server) - if err != nil { - return nil, err - } + // ObservabilityServiceGetSessionTracesWithResponse GetSessionTraces returns the spans the session's agents exported, by + // start time: what the dashboard's trace view shows. Each span names its + // parent, so the pages rebuild the span tree, and its attributes carry the + // turn and latency fields the dashboard's turn view reads, such as + // lk.generation_id and lk.response.ttft. + // + // An ACTIVE session returns what its agents have exported so far; a span + // exported after the first page waits for a new read. The later pages are + // read by offset, so a span exported mid-read can still shift them: a span + // can repeat, or be skipped. Dedupe by span_id, and read again from the + // first page to pick up a skipped span. An unknown session is NotFound. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). + ObservabilityServiceGetSessionTracesWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionTracesResponse, error) - operationPath := fmt.Sprintf("/v1/workspaces/%s/projects/%s", pathParam0, pathParam1) - if operationPath[0] == '/' { - operationPath = "." + operationPath - } + // ObservabilityServiceGetSessionTranscriptWithResponse GetSessionTranscript returns the session's conversation as ordered + // transcript items: messages, tool calls and results, agent handoffs and + // agent configuration changes. It is the conversation the dashboard's + // transcript shows. + // + // The agent exports its transcript when the session ends, and it can be + // read a minute or two later; on a project with PII redaction, only once + // the session's recording has been redacted. So a session that is still + // ACTIVE returns what exists so far, usually nothing, without an error: + // read it again after the session ends. An unknown session is NotFound. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). + ObservabilityServiceGetSessionTranscriptWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionTranscriptResponse, error) - queryURL, err := serverURL.Parse(operationPath) - if err != nil { - return nil, err - } + // SimulationServiceListSimulationRunsWithResponse ListSimulationRuns + // + // ListSimulationRuns lists a project's runs, newest first, cursor-paginated, + // optionally narrowed by status, agent, conversation mode and a time window. + // Rows carry headline counts (job_count, passed_count, failed_count, + // issue_count) but neither jobs nor the summary. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). + SimulationServiceListSimulationRunsWithResponse(ctx context.Context, projectId string, params *SimulationServiceListSimulationRunsParams, reqEditors ...RequestEditorFn) (*SimulationServiceListSimulationRunsResponse, error) - req, err := http.NewRequest(http.MethodPatch, queryURL.String(), body) - if err != nil { - return nil, err - } + // SimulationServiceCreateSimulationRunWithBodyWithResponse CreateSimulationRun + // + // CreateSimulationRun registers a new run. With a scenario_group it starts + // right away and no upload target is returned. Without one it waits in + // PENDING_UPLOAD for the agent source that scenarios are generated from: + // upload it to the returned presigned POST, then call + // ConfirmSimulationSourceUpload. A run left pending for an hour is failed. + // Creating a run is not idempotent: a retried request starts a second run. + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). + SimulationServiceCreateSimulationRunWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceCreateSimulationRunResponse, error) - req.Header.Add("Content-Type", contentType) + // SimulationServiceCreateSimulationRunWithResponse CreateSimulationRun + // + // CreateSimulationRun registers a new run. With a scenario_group it starts + // right away and no upload target is returned. Without one it waits in + // PENDING_UPLOAD for the agent source that scenarios are generated from: + // upload it to the returned presigned POST, then call + // ConfirmSimulationSourceUpload. A run left pending for an hour is failed. + // Creating a run is not idempotent: a retried request starts a second run. + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). + SimulationServiceCreateSimulationRunWithResponse(ctx context.Context, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceCreateSimulationRunResponse, error) - return req, nil -} + // SimulationServiceGetSimulationRunWithResponse GetSimulationRun + // + // GetSimulationRun returns one run with its jobs and aggregate metrics. The + // compressed summary blob (summary_zstd) is omitted; use + // GetSimulationRunSummary for the decoded summary. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). + SimulationServiceGetSimulationRunWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceGetSimulationRunResponse, error) -func (c *Client) applyEditors(ctx context.Context, req *http.Request, additionalEditors []RequestEditorFn) error { - for _, r := range c.RequestEditors { - if err := r(ctx, req); err != nil { - return err - } - } - for _, r := range additionalEditors { - if err := r(ctx, req); err != nil { - return err - } - } - return nil -} + // SimulationServiceGetSimulationRunSummaryWithResponse GetSimulationRunSummary + // + // GetSimulationRunSummary returns the graded outcome of a finished run: + // pass/fail counts, what went well, what to improve, flagged issues with + // suggestions, and the per-job chat history. FailedPrecondition while the + // run is still going; NotFound if the run finished without a summary. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). + SimulationServiceGetSimulationRunSummaryWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceGetSimulationRunSummaryResponse, error) -// ClientWithResponses builds on ClientInterface to offer response payloads -type ClientWithResponses struct { - ClientInterface -} + // SimulationServiceCancelSimulationRunWithResponse CancelSimulationRun + // + // CancelSimulationRun stops a run that has not finished. Cancelling a run + // that already finished succeeds without effect. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). + SimulationServiceCancelSimulationRunWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceCancelSimulationRunResponse, error) -// NewClientWithResponses creates a new ClientWithResponses, which wraps -// Client with return type handling -func NewClientWithResponses(server string, opts ...ClientOption) (*ClientWithResponses, error) { - client, err := NewClient(server, opts...) - if err != nil { - return nil, err - } - return &ClientWithResponses{client}, nil -} + // SimulationServiceConfirmSimulationSourceUploadWithBodyWithResponse ConfirmSimulationSourceUpload + // + // ConfirmSimulationSourceUpload marks the agent source as uploaded and starts + // scenario generation; the run moves to GENERATING, then RUNNING once the + // scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated + // call fails. + // + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). + SimulationServiceConfirmSimulationSourceUploadWithBodyWithResponse(ctx context.Context, projectId string, simulationRunId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceConfirmSimulationSourceUploadResponse, error) -// WithBaseURL overrides the baseURL. -func WithBaseURL(baseURL string) ClientOption { - return func(c *Client) error { - newBaseURL, err := url.Parse(baseURL) - if err != nil { - return err - } - c.Server = newBaseURL.String() - return nil - } -} + // SimulationServiceConfirmSimulationSourceUploadWithResponse ConfirmSimulationSourceUpload + // + // ConfirmSimulationSourceUpload marks the agent source as uploaded and starts + // scenario generation; the run moves to GENERATING, then RUNNING once the + // scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated + // call fails. + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). + SimulationServiceConfirmSimulationSourceUploadWithResponse(ctx context.Context, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceConfirmSimulationSourceUploadResponse, error) -// ClientWithResponsesInterface is the interface specification for the client with responses above. -type ClientWithResponsesInterface interface { + // SimulationServiceCountSimulationRunsWithResponse CountSimulationRuns + // + // CountSimulationRuns buckets the runs ListSimulationRuns would return over + // [start_time, end_time) into a histogram. It takes the same filters over the + // same window, so the bars and the rows beneath them always describe one set. + // Both bounds are required and end_time must be after start_time. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). + SimulationServiceCountSimulationRunsWithResponse(ctx context.Context, projectId string, params *SimulationServiceCountSimulationRunsParams, reqEditors ...RequestEditorFn) (*SimulationServiceCountSimulationRunsResponse, error) - // ProjectServiceGetInviteWithResponse GetInvite + // ThreadServiceListThreadsWithResponse ListThreads + // + // ListThreads lists the threads of one scope, newest first. // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). - ProjectServiceGetInviteWithResponse(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*ProjectServiceGetInviteResponse, error) + // Corresponds with GET /v0/projects/{projectId}/threads (the `ThreadServiceListThreads` operationId). + ThreadServiceListThreadsWithResponse(ctx context.Context, projectId string, params *ThreadServiceListThreadsParams, reqEditors ...RequestEditorFn) (*ThreadServiceListThreadsResponse, error) - // ProjectServiceAnswerInvitationWithBodyWithResponse AnswerInvitation + // ThreadServiceCreateThreadWithBodyWithResponse CreateThread + // + // CreateThread creates a thread and its database. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). - ProjectServiceAnswerInvitationWithBodyWithResponse(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceAnswerInvitationResponse, error) + // Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). + ThreadServiceCreateThreadWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ThreadServiceCreateThreadResponse, error) - // ProjectServiceAnswerInvitationWithResponse AnswerInvitation + // ThreadServiceCreateThreadWithResponse CreateThread + // + // CreateThread creates a thread and its database. // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). - ProjectServiceAnswerInvitationWithResponse(ctx context.Context, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceAnswerInvitationResponse, error) + // Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). + ThreadServiceCreateThreadWithResponse(ctx context.Context, projectId string, body ThreadServiceCreateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*ThreadServiceCreateThreadResponse, error) - // ProjectServiceListProjectsWithResponse ListProjects + // ThreadServiceDeleteThreadWithResponse DeleteThread + // + // DeleteThread deletes the thread and its database. // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects (the `ProjectServiceListProjects` operationId). - ProjectServiceListProjectsWithResponse(ctx context.Context, params *ProjectServiceListProjectsParams, reqEditors ...RequestEditorFn) (*ProjectServiceListProjectsResponse, error) + // Corresponds with DELETE /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceDeleteThread` operationId). + ThreadServiceDeleteThreadWithResponse(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*ThreadServiceDeleteThreadResponse, error) - // ProjectServiceCreateProjectWithBodyWithResponse CreateProject + // ThreadServiceGetThreadWithResponse GetThread + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceGetThread` operationId). + ThreadServiceGetThreadWithResponse(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*ThreadServiceGetThreadResponse, error) + + // ThreadServiceUpdateThreadWithBodyWithResponse UpdateThread + // + // UpdateThread merges attributes (an empty value deletes the entry) and sets + // the idle TTL. Every update counts as activity and pushes expires_at out. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). - ProjectServiceCreateProjectWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceCreateProjectResponse, error) + // Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). + ThreadServiceUpdateThreadWithBodyWithResponse(ctx context.Context, projectId string, threadId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ThreadServiceUpdateThreadResponse, error) - // ProjectServiceCreateProjectWithResponse CreateProject + // ThreadServiceUpdateThreadWithResponse UpdateThread + // + // UpdateThread merges attributes (an empty value deletes the entry) and sets + // the idle TTL. Every update counts as activity and pushes expires_at out. // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). - ProjectServiceCreateProjectWithResponse(ctx context.Context, body ProjectServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceCreateProjectResponse, error) + // Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). + ThreadServiceUpdateThreadWithResponse(ctx context.Context, projectId string, threadId string, body ThreadServiceUpdateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*ThreadServiceUpdateThreadResponse, error) - // ProjectServiceDeleteProjectWithResponse DeleteProject + // ThreadServiceGetThreadItemsWithResponse GetThreadItems + // + // GetThreadItems returns the thread's chat items, oldest first. // // Returns a wrapper object for the known response body format(s). // - // Corresponds with DELETE /v1/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). - ProjectServiceDeleteProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteProjectResponse, error) + // Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/items (the `ThreadServiceGetThreadItems` operationId). + ThreadServiceGetThreadItemsWithResponse(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadItemsParams, reqEditors ...RequestEditorFn) (*ThreadServiceGetThreadItemsResponse, error) - // ProjectServiceGetProjectWithResponse GetProject + // ThreadServiceGetThreadTasksWithResponse GetThreadTasks + // + // GetThreadTasks returns the thread's background tasks, oldest first. // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId} (the `ProjectServiceGetProject` operationId). - ProjectServiceGetProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetProjectResponse, error) + // Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/tasks (the `ThreadServiceGetThreadTasks` operationId). + ThreadServiceGetThreadTasksWithResponse(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadTasksParams, reqEditors ...RequestEditorFn) (*ThreadServiceGetThreadTasksResponse, error) - // ProjectServiceUpdateProjectWithBodyWithResponse UpdateProject + // ProjectServiceCreateTokenWithBodyWithResponse CreateToken + // + // CreateToken mints a short-lived LiveKit access token for the project, + // signed server-side, so user-authenticated clients can call LiveKit server + // APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). - ProjectServiceUpdateProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) + // Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). + ProjectServiceCreateTokenWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceCreateTokenResponse, error) - // ProjectServiceUpdateProjectWithResponse UpdateProject + // ProjectServiceCreateTokenWithResponse CreateToken + // + // CreateToken mints a short-lived LiveKit access token for the project, + // signed server-side, so user-authenticated clients can call LiveKit server + // APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). - ProjectServiceUpdateProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) + // Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). + ProjectServiceCreateTokenWithResponse(ctx context.Context, projectId string, body ProjectServiceCreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceCreateTokenResponse, error) - // AnalyticsServiceGetProjectAnalyticsWithResponse GetProjectAnalytics + // UserServiceListUsersWithResponse ListUsers // - // GetProjectAnalytics returns the project overview over a time range. + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/users (the `UserServiceListUsers` operationId). + UserServiceListUsersWithResponse(ctx context.Context, params *UserServiceListUsersParams, reqEditors ...RequestEditorFn) (*UserServiceListUsersResponse, error) + + // UserServiceGetCurrentUserWithResponse GetCurrentUser // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). - AnalyticsServiceGetProjectAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetProjectAnalyticsResponse, error) + // Corresponds with GET /v0/users/me (the `UserServiceGetCurrentUser` operationId). + UserServiceGetCurrentUserWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*UserServiceGetCurrentUserResponse, error) - // AnalyticsServiceListAgentAnalyticsWithResponse ListAgentAnalytics + // UserServiceGetUserWithResponse GetUser // - // ListAgentAnalytics returns the same per-agent analytics for every agent in - // the project, one AgentAnalytics row per agent — so a single agent and the - // whole roster share one shape. + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/users/{userId} (the `UserServiceGetUser` operationId). + UserServiceGetUserWithResponse(ctx context.Context, userId string, reqEditors ...RequestEditorFn) (*UserServiceGetUserResponse, error) + + // WorkspaceServiceGetInviteWithResponse GetInvite // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). - AnalyticsServiceListAgentAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListAgentAnalyticsResponse, error) + // Corresponds with GET /v0/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). + WorkspaceServiceGetInviteWithResponse(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetInviteResponse, error) - // AnalyticsServiceGetAgentAnalyticsWithResponse GetAgentAnalytics + // WorkspaceServiceAnswerInviteWithBodyWithResponse AnswerInvite // - // GetAgentAnalytics returns the analytics for one agent over a time range. + // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). + WorkspaceServiceAnswerInviteWithBodyWithResponse(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceAnswerInviteResponse, error) + + // WorkspaceServiceAnswerInviteWithResponse AnswerInvite // - // Returns a wrapper object for the known response body format(s). + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). - AnalyticsServiceGetAgentAnalyticsWithResponse(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetAgentAnalyticsResponse, error) + // Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). + WorkspaceServiceAnswerInviteWithResponse(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceAnswerInviteResponse, error) - // ProjectServiceListInvitesWithResponse ListInvites + // WorkspaceServiceListWorkspacesWithResponse ListWorkspaces // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). - ProjectServiceListInvitesWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListInvitesResponse, error) + // Corresponds with GET /v0/workspaces (the `WorkspaceServiceListWorkspaces` operationId). + WorkspaceServiceListWorkspacesWithResponse(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*WorkspaceServiceListWorkspacesResponse, error) - // ProjectServiceInviteMemberWithBodyWithResponse InviteMember + // WorkspaceServiceCreateWorkspaceWithBodyWithResponse CreateWorkspace // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). - ProjectServiceInviteMemberWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceInviteMemberResponse, error) + // Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). + WorkspaceServiceCreateWorkspaceWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateWorkspaceResponse, error) - // ProjectServiceInviteMemberWithResponse InviteMember + // WorkspaceServiceCreateWorkspaceWithResponse CreateWorkspace // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). - ProjectServiceInviteMemberWithResponse(ctx context.Context, projectId string, body ProjectServiceInviteMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceInviteMemberResponse, error) + // Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). + WorkspaceServiceCreateWorkspaceWithResponse(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateWorkspaceResponse, error) - // ProjectServiceDeleteInviteWithResponse DeleteInvite + // WorkspaceServiceDeleteWorkspaceWithResponse DeleteWorkspace // // Returns a wrapper object for the known response body format(s). // - // Corresponds with DELETE /v1/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). - ProjectServiceDeleteInviteWithResponse(ctx context.Context, projectId string, email string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteInviteResponse, error) + // Corresponds with DELETE /v0/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). + WorkspaceServiceDeleteWorkspaceWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteWorkspaceResponse, error) - // ProjectServiceUpdateInviteWithBodyWithResponse UpdateInvite + // WorkspaceServiceGetWorkspaceWithResponse GetWorkspace + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). + WorkspaceServiceGetWorkspaceWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetWorkspaceResponse, error) + + // WorkspaceServiceUpdateWorkspaceWithBodyWithResponse UpdateWorkspace // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). - ProjectServiceUpdateInviteWithBodyWithResponse(ctx context.Context, projectId string, email string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateInviteResponse, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). + WorkspaceServiceUpdateWorkspaceWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateWorkspaceResponse, error) - // ProjectServiceUpdateInviteWithResponse UpdateInvite + // WorkspaceServiceUpdateWorkspaceWithResponse UpdateWorkspace // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). - ProjectServiceUpdateInviteWithResponse(ctx context.Context, projectId string, email string, body ProjectServiceUpdateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateInviteResponse, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). + WorkspaceServiceUpdateWorkspaceWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateWorkspaceResponse, error) - // ProjectServiceListKeysWithResponse ListKeys + // WorkspaceServiceListInvitesWithResponse ListInvites // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). - ProjectServiceListKeysWithResponse(ctx context.Context, projectId string, params *ProjectServiceListKeysParams, reqEditors ...RequestEditorFn) (*ProjectServiceListKeysResponse, error) + // Corresponds with GET /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). + WorkspaceServiceListInvitesWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceListInvitesResponse, error) - // ProjectServiceGenerateKeyWithBodyWithResponse GenerateKey - // - // Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / - // ListScopedKeys / DeleteKey). + // WorkspaceServiceCreateInviteWithBodyWithResponse CreateInvite // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). - ProjectServiceGenerateKeyWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceGenerateKeyResponse, error) + // Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). + WorkspaceServiceCreateInviteWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateInviteResponse, error) - // ProjectServiceGenerateKeyWithResponse GenerateKey - // - // Access keys (mirrors cloud ProjectService GenerateKey / ListKeys / - // ListScopedKeys / DeleteKey). + // WorkspaceServiceCreateInviteWithResponse CreateInvite // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). - ProjectServiceGenerateKeyWithResponse(ctx context.Context, projectId string, body ProjectServiceGenerateKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceGenerateKeyResponse, error) + // Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). + WorkspaceServiceCreateInviteWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateInviteResponse, error) - // ProjectServiceDeleteKeyWithResponse DeleteKey + // WorkspaceServiceDeleteInviteWithResponse DeleteInvite // // Returns a wrapper object for the known response body format(s). // - // Corresponds with DELETE /v1/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). - ProjectServiceDeleteKeyWithResponse(ctx context.Context, projectId string, apiKey string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteKeyResponse, error) + // Corresponds with DELETE /v0/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). + WorkspaceServiceDeleteInviteWithResponse(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteInviteResponse, error) - // ProjectServiceListMembersWithResponse ListMembers + // WorkspaceServiceListMembersWithResponse ListMembers // - // Members & invites (token-based; mirrors cloud ProjectService current flows). + // Members & invites (mirrors cloud WorkspaceService current flows). // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). - ProjectServiceListMembersWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListMembersResponse, error) + // Corresponds with GET /v0/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). + WorkspaceServiceListMembersWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceListMembersResponse, error) - // ProjectServiceRemoveMemberWithResponse RemoveMember + // WorkspaceServiceDeleteMemberWithResponse DeleteMember // // Returns a wrapper object for the known response body format(s). // - // Corresponds with DELETE /v1/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). - ProjectServiceRemoveMemberWithResponse(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*ProjectServiceRemoveMemberResponse, error) + // Corresponds with DELETE /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). + WorkspaceServiceDeleteMemberWithResponse(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteMemberResponse, error) - // ProjectServiceGetMemberWithResponse GetMember + // WorkspaceServiceGetMemberWithResponse GetMember // // Returns a wrapper object for the known response body format(s). // - // Corresponds with GET /v1/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). - ProjectServiceGetMemberWithResponse(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetMemberResponse, error) + // Corresponds with GET /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). + WorkspaceServiceGetMemberWithResponse(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetMemberResponse, error) - // ProjectServiceUpdateMemberWithBodyWithResponse UpdateMember + // WorkspaceServiceUpdateMemberWithBodyWithResponse UpdateMember // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). - ProjectServiceUpdateMemberWithBodyWithResponse(ctx context.Context, projectId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateMemberResponse, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). + WorkspaceServiceUpdateMemberWithBodyWithResponse(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateMemberResponse, error) - // ProjectServiceUpdateMemberWithResponse UpdateMember + // WorkspaceServiceUpdateMemberWithResponse UpdateMember // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). - ProjectServiceUpdateMemberWithResponse(ctx context.Context, projectId string, userId string, body ProjectServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateMemberResponse, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). + WorkspaceServiceUpdateMemberWithResponse(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateMemberResponse, error) - // ProjectServiceAddWorkspaceMembersToProjectWithBodyWithResponse AddWorkspaceMembersToProject + // WorkspaceServiceListProjectsWithResponse ListProjects + // + // Project CRUD scoped to a workspace — responses owned by projects.v1. + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). + WorkspaceServiceListProjectsWithResponse(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*WorkspaceServiceListProjectsResponse, error) + + // WorkspaceServiceCreateProjectWithBodyWithResponse CreateProject // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). - ProjectServiceAddWorkspaceMembersToProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceAddWorkspaceMembersToProjectResponse, error) + // Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). + WorkspaceServiceCreateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateProjectResponse, error) - // ProjectServiceAddWorkspaceMembersToProjectWithResponse AddWorkspaceMembersToProject + // WorkspaceServiceCreateProjectWithResponse CreateProject // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). - ProjectServiceAddWorkspaceMembersToProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceAddWorkspaceMembersToProjectResponse, error) + // Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). + WorkspaceServiceCreateProjectWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateProjectResponse, error) - // SimulationServiceGenerateScenarioFromSessionWithBodyWithResponse GenerateScenarioFromSession + // WorkspaceServiceDeleteProjectWithResponse DeleteProject // - // GenerateScenarioFromSession derives a reusable scenario (label, - // instructions and expectations) from a recorded room session, for use in a - // later run's scenario_group. Nothing is stored; the returned scenario is the - // result. The session must have a recorded chat history. Each call runs an - // LLM over it, so it counts against the project's scenario-generation quota - // and can take up to about a minute. + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with DELETE /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). + WorkspaceServiceDeleteProjectWithResponse(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteProjectResponse, error) + + // WorkspaceServiceGetProjectWithResponse GetProject + // + // Returns a wrapper object for the known response body format(s). + // + // Corresponds with GET /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). + WorkspaceServiceGetProjectWithResponse(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetProjectResponse, error) + + // WorkspaceServiceUpdateProjectWithBodyWithResponse UpdateProject // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // - // Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). - SimulationServiceGenerateScenarioFromSessionWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceGenerateScenarioFromSessionResponse, error) + // Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). + WorkspaceServiceUpdateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) + + // WorkspaceServiceUpdateProjectWithResponse UpdateProject + // + // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). + // + // Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). + WorkspaceServiceUpdateProjectWithResponse(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) +} + +type ProjectServiceGetInviteResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1GetInviteResponse +} + +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceGetInviteResponse) GetJSON200() *LivekitPublicapiProjectsV1GetInviteResponse { + return r.JSON200 +} + +// GetBody returns the raw response body bytes +func (r ProjectServiceGetInviteResponse) GetBody() []byte { + return r.Body +} + +// Status returns HTTPResponse.Status +func (r ProjectServiceGetInviteResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceGetInviteResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceGetInviteResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + +type ProjectServiceAnswerInvitationResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1AnswerInvitationResponse +} + +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceAnswerInvitationResponse) GetJSON200() *LivekitPublicapiProjectsV1AnswerInvitationResponse { + return r.JSON200 +} + +// GetBody returns the raw response body bytes +func (r ProjectServiceAnswerInvitationResponse) GetBody() []byte { + return r.Body +} + +// Status returns HTTPResponse.Status +func (r ProjectServiceAnswerInvitationResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceAnswerInvitationResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceAnswerInvitationResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + +type ProjectServiceListProjectsResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1ListProjectsResponse +} + +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceListProjectsResponse) GetJSON200() *LivekitPublicapiProjectsV1ListProjectsResponse { + return r.JSON200 +} + +// GetBody returns the raw response body bytes +func (r ProjectServiceListProjectsResponse) GetBody() []byte { + return r.Body +} + +// Status returns HTTPResponse.Status +func (r ProjectServiceListProjectsResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceListProjectsResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceListProjectsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} + +type ProjectServiceCreateProjectResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1CreateProjectResponse +} + +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceCreateProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1CreateProjectResponse { + return r.JSON200 +} - // SimulationServiceGenerateScenarioFromSessionWithResponse GenerateScenarioFromSession - // - // GenerateScenarioFromSession derives a reusable scenario (label, - // instructions and expectations) from a recorded room session, for use in a - // later run's scenario_group. Nothing is stored; the returned scenario is the - // result. The session must have a recorded chat history. Each call runs an - // LLM over it, so it counts against the project's scenario-generation quota - // and can take up to about a minute. - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). - SimulationServiceGenerateScenarioFromSessionWithResponse(ctx context.Context, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceGenerateScenarioFromSessionResponse, error) +// GetBody returns the raw response body bytes +func (r ProjectServiceCreateProjectResponse) GetBody() []byte { + return r.Body +} - // ProjectServiceListScopedKeysWithResponse ListScopedKeys - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). - ProjectServiceListScopedKeysWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListScopedKeysResponse, error) +// Status returns HTTPResponse.Status +func (r ProjectServiceCreateProjectResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // AnalyticsServiceListProjectSessionsWithResponse ListProjectSessions - // - // ListProjectSessions lists room sessions for a project, newest first, - // cursor-paginated. Backed upstream by the ListingService room-sessions list. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). - AnalyticsServiceListProjectSessionsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListProjectSessionsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListProjectSessionsResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceCreateProjectResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // AnalyticsServiceGetSessionWithResponse GetSession - // - // GetSession returns one room session. The response carries both the list-row - // `session` and the richer `detail` (participants, per-metric data points). - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). - AnalyticsServiceGetSessionWithResponse(ctx context.Context, projectId string, sessionId string, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetSessionResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceCreateProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // AnalyticsServiceListSessionEventsWithResponse ListSessionEvents lists one room session's events, oldest first by default, - // cursor-paginated with no total. With no `types`, it returns the seven the - // dashboard's events table shows: PARTICIPANT_JOINED, PARTICIPANT_LEFT, - // PARTICIPANT_ACTIVE, PARTICIPANT_RESUMED, ROOM_CREATED, ROOM_ENDED and - // API_CALL. `types` asks for others, such as TRACK_PUBLISHED, and - // `participant_session_id` keeps one participant session's events. With - // `participant_session_id` and no `types`, it returns the eleven the - // dashboard's participant events table shows: that participant session's - // PARTICIPANT_JOINED, PARTICIPANT_LEFT, PARTICIPANT_RESUMED and - // PARTICIPANT_ACTIVE, and its TRACK_MUTED, TRACK_UNMUTED, TRACK_PUBLISHED, - // TRACK_UNPUBLISHED, TRACK_SUBSCRIBED, TRACK_SUBSCRIBE_REQUESTED and - // TRACK_SUBSCRIBE_FAILED. - // - // Unlike the dashboard, on purpose: an unknown type or a malformed - // participant session id is InvalidArgument rather than being searched for - // as typed, and types match exactly, so TRACK_PUBLISHED doesn't also return - // TRACK_PUBLISHED_UPDATE. Each event's payload keeps only an allowlist of - // fields, leaving out participants' attributes and metadata and API calls' - // request bodies. Each event and participant row still carries the - // participant's identity, as the dashboard shows it to every member, and - // for a SIP caller that can be a phone number. - // - // Events are kept for 60 days, which can be shorter than the session's other - // data, so an older session can list no events. An ACTIVE session lists the - // events recorded so far. An unknown session is NotFound. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). - AnalyticsServiceListSessionEventsWithResponse(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListSessionEventsResponse, error) +type ProjectServiceDeleteProjectResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1DeleteProjectResponse +} - // ObservabilityServiceGetSessionLogsWithResponse GetSessionLogs returns the log records the session's agents exported, in - // time order: what the dashboard's logs panel shows. Their chat history is - // left out, since GetSessionTranscript reads it, and their evaluation - // results stay in. The session's events, such as participants joining, - // come from AnalyticsService's ListSessionEvents. - // - // An ACTIVE session returns what its agents have exported so far. A record - // exported mid-read with a time this read has already paged past, earlier - // than its cursor's when oldest first, is missed until a new read. An - // unknown session is NotFound. A read filtered by log_levels can come back - // empty because no record is at those levels, so only an unfiltered one is - // ObservabilityDisabled. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). - ObservabilityServiceGetSessionLogsWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionLogsResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceDeleteProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1DeleteProjectResponse { + return r.JSON200 +} - // ObservabilityServiceGetSessionMetricsWithResponse GetSessionMetrics returns the OpenTelemetry metric points the session's - // agents exported, by time, typed: turn latencies such as - // lk.agents.turn.e2e_latency and lk.agents.turn.llm_ttft, token and duration - // usage such as lk.agents.usage.llm_input_tokens, and the gen_ai.* - // histograms, along with any metrics the agent's own code recorded. - // - // These are the raw metrics agents emit, so they won't exactly match the - // dashboard's metrics panel, which derives its numbers from the transcript - // and traces. Only agents that export OpenTelemetry metrics to LiveKit Cloud - // produce them: an agent whose code installs its own MeterProvider exports - // none to LiveKit Cloud, and its sessions return no points. - // - // Some points aren't labeled as their agent exported them. These are - // limitations of the upstream aggregator, which groups a session's series - // by their attributes alone and names each group after its first row: - // - several metrics can come back under one name, such as an LLM's input, - // output and cached token counts, all named - // lk.agents.usage.llm_input_tokens; - // - points of one series at the same time that recorded equal values - // collapse into one point; - // - with two agents in one session, a point can carry the other agent's - // resource attributes. - // - // An agent exports its metrics every 30 seconds, and its turn latencies - // when the session ends, so an ACTIVE session returns what it has exported - // so far. An unknown session is NotFound. A read filtered by names can come - // back empty because no metric has those names, so only an unfiltered one - // is ObservabilityDisabled. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). - ObservabilityServiceGetSessionMetricsWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionMetricsResponse, error) +// GetBody returns the raw response body bytes +func (r ProjectServiceDeleteProjectResponse) GetBody() []byte { + return r.Body +} - // AnalyticsServiceListSessionParticipantsWithResponse ListSessionParticipants - // - // ListSessionParticipants lists the participants of one room session, one row - // per identity, cursor-paginated; newest join first by default. Each row - // carries the participant's participant sessions (PA_...), each with the - // client it connected from. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). - AnalyticsServiceListSessionParticipantsWithResponse(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListSessionParticipantsResponse, error) +// Status returns HTTPResponse.Status +func (r ProjectServiceDeleteProjectResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // ObservabilityServiceGetSessionRecordingURLWithResponse GetSessionRecordingURL - // - // GetSessionRecordingURL returns a short-lived signed URL for one of the - // session's recordings: its audio or its chat history. A session with no - // recording of that type is NotFound. A new recording can be NotFound for - // up to a minute after the session ends. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). - ObservabilityServiceGetSessionRecordingURLWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionRecordingURLResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceDeleteProjectResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // ObservabilityServiceGetSessionTracesWithResponse GetSessionTraces returns the spans the session's agents exported, by - // start time: what the dashboard's trace view shows. Each span names its - // parent, so the pages rebuild the span tree, and its attributes carry the - // turn and latency fields the dashboard's turn view reads, such as - // lk.generation_id and lk.response.ttft. - // - // An ACTIVE session returns what its agents have exported so far; a span - // exported after the first page waits for a new read. The later pages are - // read by offset, so a span exported mid-read can still shift them: a span - // can repeat, or be skipped. Dedupe by span_id, and read again from the - // first page to pick up a skipped span. An unknown session is NotFound. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). - ObservabilityServiceGetSessionTracesWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionTracesResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceDeleteProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // ObservabilityServiceGetSessionTranscriptWithResponse GetSessionTranscript returns the session's conversation as ordered - // transcript items: messages, tool calls and results, agent handoffs and - // agent configuration changes. It is the conversation the dashboard's - // transcript shows. - // - // The agent exports its transcript when the session ends, and it can be - // read a minute or two later; on a project with PII redaction, only once - // the session's recording has been redacted. So a session that is still - // ACTIVE returns what exists so far, usually nothing, without an error: - // read it again after the session ends. An unknown session is NotFound. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). - ObservabilityServiceGetSessionTranscriptWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionTranscriptResponse, error) +type ProjectServiceGetProjectResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1GetProjectResponse +} - // SimulationServiceListSimulationRunsWithResponse ListSimulationRuns - // - // ListSimulationRuns lists a project's runs, newest first, cursor-paginated, - // optionally narrowed by status, agent, conversation mode and a time window. - // Rows carry headline counts (job_count, passed_count, failed_count, - // issue_count) but neither jobs nor the summary. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). - SimulationServiceListSimulationRunsWithResponse(ctx context.Context, projectId string, params *SimulationServiceListSimulationRunsParams, reqEditors ...RequestEditorFn) (*SimulationServiceListSimulationRunsResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceGetProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1GetProjectResponse { + return r.JSON200 +} - // SimulationServiceCreateSimulationRunWithBodyWithResponse CreateSimulationRun - // - // CreateSimulationRun registers a new run. With a scenario_group it starts - // right away and no upload target is returned. Without one it waits in - // PENDING_UPLOAD for the agent source that scenarios are generated from: - // upload it to the returned presigned POST, then call - // ConfirmSimulationSourceUpload. A run left pending for an hour is failed. - // Creating a run is not idempotent: a retried request starts a second run. - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). - SimulationServiceCreateSimulationRunWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceCreateSimulationRunResponse, error) +// GetBody returns the raw response body bytes +func (r ProjectServiceGetProjectResponse) GetBody() []byte { + return r.Body +} - // SimulationServiceCreateSimulationRunWithResponse CreateSimulationRun - // - // CreateSimulationRun registers a new run. With a scenario_group it starts - // right away and no upload target is returned. Without one it waits in - // PENDING_UPLOAD for the agent source that scenarios are generated from: - // upload it to the returned presigned POST, then call - // ConfirmSimulationSourceUpload. A run left pending for an hour is failed. - // Creating a run is not idempotent: a retried request starts a second run. - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). - SimulationServiceCreateSimulationRunWithResponse(ctx context.Context, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceCreateSimulationRunResponse, error) +// Status returns HTTPResponse.Status +func (r ProjectServiceGetProjectResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // SimulationServiceGetSimulationRunWithResponse GetSimulationRun - // - // GetSimulationRun returns one run with its jobs and aggregate metrics. The - // compressed summary blob (summary_zstd) is omitted; use - // GetSimulationRunSummary for the decoded summary. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). - SimulationServiceGetSimulationRunWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceGetSimulationRunResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceGetProjectResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // SimulationServiceGetSimulationRunSummaryWithResponse GetSimulationRunSummary - // - // GetSimulationRunSummary returns the graded outcome of a finished run: - // pass/fail counts, what went well, what to improve, flagged issues with - // suggestions, and the per-job chat history. FailedPrecondition while the - // run is still going; NotFound if the run finished without a summary. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). - SimulationServiceGetSimulationRunSummaryWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceGetSimulationRunSummaryResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceGetProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // SimulationServiceCancelSimulationRunWithResponse CancelSimulationRun - // - // CancelSimulationRun stops a run that has not finished. Cancelling a run - // that already finished succeeds without effect. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). - SimulationServiceCancelSimulationRunWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceCancelSimulationRunResponse, error) +type ProjectServiceUpdateProjectResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiProjectsV1UpdateProjectResponse +} - // SimulationServiceConfirmSimulationSourceUploadWithBodyWithResponse ConfirmSimulationSourceUpload - // - // ConfirmSimulationSourceUpload marks the agent source as uploaded and starts - // scenario generation; the run moves to GENERATING, then RUNNING once the - // scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated - // call fails. - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). - SimulationServiceConfirmSimulationSourceUploadWithBodyWithResponse(ctx context.Context, projectId string, simulationRunId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceConfirmSimulationSourceUploadResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r ProjectServiceUpdateProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1UpdateProjectResponse { + return r.JSON200 +} - // SimulationServiceConfirmSimulationSourceUploadWithResponse ConfirmSimulationSourceUpload - // - // ConfirmSimulationSourceUpload marks the agent source as uploaded and starts - // scenario generation; the run moves to GENERATING, then RUNNING once the - // scenarios exist. Only valid while the run is PENDING_UPLOAD, so a repeated - // call fails. - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). - SimulationServiceConfirmSimulationSourceUploadWithResponse(ctx context.Context, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceConfirmSimulationSourceUploadResponse, error) +// GetBody returns the raw response body bytes +func (r ProjectServiceUpdateProjectResponse) GetBody() []byte { + return r.Body +} - // SimulationServiceCountSimulationRunsWithResponse CountSimulationRuns - // - // CountSimulationRuns buckets the runs ListSimulationRuns would return over - // [start_time, end_time) into a histogram. It takes the same filters over the - // same window, so the bars and the rows beneath them always describe one set. - // Both bounds are required and end_time must be after start_time. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). - SimulationServiceCountSimulationRunsWithResponse(ctx context.Context, projectId string, params *SimulationServiceCountSimulationRunsParams, reqEditors ...RequestEditorFn) (*SimulationServiceCountSimulationRunsResponse, error) +// Status returns HTTPResponse.Status +func (r ProjectServiceUpdateProjectResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // ProjectServiceCreateTokenWithBodyWithResponse CreateToken - // - // CreateToken mints a short-lived LiveKit access token for the project, - // signed server-side, so user-authenticated clients can call LiveKit server - // APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). - ProjectServiceCreateTokenWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceCreateTokenResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r ProjectServiceUpdateProjectResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // ProjectServiceCreateTokenWithResponse CreateToken - // - // CreateToken mints a short-lived LiveKit access token for the project, - // signed server-side, so user-authenticated clients can call LiveKit server - // APIs (rooms, SIP, egress, …) or join rooms without holding an API secret. - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). - ProjectServiceCreateTokenWithResponse(ctx context.Context, projectId string, body ProjectServiceCreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceCreateTokenResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r ProjectServiceUpdateProjectResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // UserServiceListUsersWithResponse ListUsers - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/users (the `UserServiceListUsers` operationId). - UserServiceListUsersWithResponse(ctx context.Context, params *UserServiceListUsersParams, reqEditors ...RequestEditorFn) (*UserServiceListUsersResponse, error) +type AnalyticsServiceGetProjectAnalyticsResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse +} - // UserServiceGetCurrentUserWithResponse GetCurrentUser - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/users/me (the `UserServiceGetCurrentUser` operationId). - UserServiceGetCurrentUserWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*UserServiceGetCurrentUserResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r AnalyticsServiceGetProjectAnalyticsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse { + return r.JSON200 +} - // UserServiceGetUserWithResponse GetUser - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/users/{userId} (the `UserServiceGetUser` operationId). - UserServiceGetUserWithResponse(ctx context.Context, userId string, reqEditors ...RequestEditorFn) (*UserServiceGetUserResponse, error) +// GetBody returns the raw response body bytes +func (r AnalyticsServiceGetProjectAnalyticsResponse) GetBody() []byte { + return r.Body +} - // WorkspaceServiceGetInviteWithResponse GetInvite - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). - WorkspaceServiceGetInviteWithResponse(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetInviteResponse, error) +// Status returns HTTPResponse.Status +func (r AnalyticsServiceGetProjectAnalyticsResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // WorkspaceServiceAnswerInviteWithBodyWithResponse AnswerInvite - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). - WorkspaceServiceAnswerInviteWithBodyWithResponse(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceAnswerInviteResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r AnalyticsServiceGetProjectAnalyticsResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // WorkspaceServiceAnswerInviteWithResponse AnswerInvite - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). - WorkspaceServiceAnswerInviteWithResponse(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceAnswerInviteResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AnalyticsServiceGetProjectAnalyticsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // WorkspaceServiceListWorkspacesWithResponse ListWorkspaces - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces (the `WorkspaceServiceListWorkspaces` operationId). - WorkspaceServiceListWorkspacesWithResponse(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*WorkspaceServiceListWorkspacesResponse, error) +type AnalyticsServiceListAgentAnalyticsResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiAnalyticsV1AgentsListResponse +} - // WorkspaceServiceCreateWorkspaceWithBodyWithResponse CreateWorkspace - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). - WorkspaceServiceCreateWorkspaceWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateWorkspaceResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r AnalyticsServiceListAgentAnalyticsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1AgentsListResponse { + return r.JSON200 +} - // WorkspaceServiceCreateWorkspaceWithResponse CreateWorkspace - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). - WorkspaceServiceCreateWorkspaceWithResponse(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateWorkspaceResponse, error) +// GetBody returns the raw response body bytes +func (r AnalyticsServiceListAgentAnalyticsResponse) GetBody() []byte { + return r.Body +} - // WorkspaceServiceDeleteWorkspaceWithResponse DeleteWorkspace - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with DELETE /v1/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). - WorkspaceServiceDeleteWorkspaceWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteWorkspaceResponse, error) +// Status returns HTTPResponse.Status +func (r AnalyticsServiceListAgentAnalyticsResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r AnalyticsServiceListAgentAnalyticsResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // WorkspaceServiceGetWorkspaceWithResponse GetWorkspace - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). - WorkspaceServiceGetWorkspaceWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetWorkspaceResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AnalyticsServiceListAgentAnalyticsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // WorkspaceServiceUpdateWorkspaceWithBodyWithResponse UpdateWorkspace - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). - WorkspaceServiceUpdateWorkspaceWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateWorkspaceResponse, error) +type AnalyticsServiceGetAgentAnalyticsResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiAnalyticsV1AgentsGetResponse +} - // WorkspaceServiceUpdateWorkspaceWithResponse UpdateWorkspace - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). - WorkspaceServiceUpdateWorkspaceWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateWorkspaceResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r AnalyticsServiceGetAgentAnalyticsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1AgentsGetResponse { + return r.JSON200 +} - // WorkspaceServiceListInvitesWithResponse ListInvites - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). - WorkspaceServiceListInvitesWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceListInvitesResponse, error) +// GetBody returns the raw response body bytes +func (r AnalyticsServiceGetAgentAnalyticsResponse) GetBody() []byte { + return r.Body +} - // WorkspaceServiceCreateInviteWithBodyWithResponse CreateInvite - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). - WorkspaceServiceCreateInviteWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateInviteResponse, error) +// Status returns HTTPResponse.Status +func (r AnalyticsServiceGetAgentAnalyticsResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // WorkspaceServiceCreateInviteWithResponse CreateInvite - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). - WorkspaceServiceCreateInviteWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateInviteResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r AnalyticsServiceGetAgentAnalyticsResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // WorkspaceServiceDeleteInviteWithResponse DeleteInvite - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with DELETE /v1/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). - WorkspaceServiceDeleteInviteWithResponse(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteInviteResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r AnalyticsServiceGetAgentAnalyticsResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // WorkspaceServiceListMembersWithResponse ListMembers - // - // Members & invites (mirrors cloud WorkspaceService current flows). - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). - WorkspaceServiceListMembersWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceListMembersResponse, error) +type DatabaseServiceListDatabasesResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiDatabasesV1DatabasesListResponse +} - // WorkspaceServiceDeleteMemberWithResponse DeleteMember - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with DELETE /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). - WorkspaceServiceDeleteMemberWithResponse(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteMemberResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r DatabaseServiceListDatabasesResponse) GetJSON200() *LivekitPublicapiDatabasesV1DatabasesListResponse { + return r.JSON200 +} - // WorkspaceServiceGetMemberWithResponse GetMember - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). - WorkspaceServiceGetMemberWithResponse(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetMemberResponse, error) +// GetBody returns the raw response body bytes +func (r DatabaseServiceListDatabasesResponse) GetBody() []byte { + return r.Body +} - // WorkspaceServiceUpdateMemberWithBodyWithResponse UpdateMember - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). - WorkspaceServiceUpdateMemberWithBodyWithResponse(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateMemberResponse, error) +// Status returns HTTPResponse.Status +func (r DatabaseServiceListDatabasesResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // WorkspaceServiceUpdateMemberWithResponse UpdateMember - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). - WorkspaceServiceUpdateMemberWithResponse(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateMemberResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r DatabaseServiceListDatabasesResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // WorkspaceServiceListProjectsWithResponse ListProjects - // - // Project CRUD scoped to a workspace — responses owned by projects.v1. - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). - WorkspaceServiceListProjectsWithResponse(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*WorkspaceServiceListProjectsResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DatabaseServiceListDatabasesResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" +} - // WorkspaceServiceCreateProjectWithBodyWithResponse CreateProject - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). - WorkspaceServiceCreateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateProjectResponse, error) +type DatabaseServiceCreateDatabaseResponse struct { + Body []byte + HTTPResponse *http.Response + // JSON200 the response for an HTTP 200 `application/json` response + JSON200 *LivekitPublicapiDatabasesV1DatabasesCreateResponse +} - // WorkspaceServiceCreateProjectWithResponse CreateProject - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). - WorkspaceServiceCreateProjectWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateProjectResponse, error) +// GetJSON200 returns the response for an HTTP 200 `application/json` response +func (r DatabaseServiceCreateDatabaseResponse) GetJSON200() *LivekitPublicapiDatabasesV1DatabasesCreateResponse { + return r.JSON200 +} - // WorkspaceServiceDeleteProjectWithResponse DeleteProject - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with DELETE /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). - WorkspaceServiceDeleteProjectWithResponse(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteProjectResponse, error) +// GetBody returns the raw response body bytes +func (r DatabaseServiceCreateDatabaseResponse) GetBody() []byte { + return r.Body +} - // WorkspaceServiceGetProjectWithResponse GetProject - // - // Returns a wrapper object for the known response body format(s). - // - // Corresponds with GET /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). - WorkspaceServiceGetProjectWithResponse(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetProjectResponse, error) +// Status returns HTTPResponse.Status +func (r DatabaseServiceCreateDatabaseResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} - // WorkspaceServiceUpdateProjectWithBodyWithResponse UpdateProject - // - // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). - WorkspaceServiceUpdateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) +// StatusCode returns HTTPResponse.StatusCode +func (r DatabaseServiceCreateDatabaseResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} - // WorkspaceServiceUpdateProjectWithResponse UpdateProject - // - // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). - // - // Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). - WorkspaceServiceUpdateProjectWithResponse(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) +// ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers +func (r DatabaseServiceCreateDatabaseResponse) ContentType() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Header.Get("Content-Type") + } + return "" } -type ProjectServiceGetInviteResponse struct { +type DatabaseServiceDeleteDatabaseResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1GetInviteResponse + JSON200 *LivekitPublicapiDatabasesV1DatabasesDeleteResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceGetInviteResponse) GetJSON200() *LivekitPublicapiProjectsV1GetInviteResponse { +func (r DatabaseServiceDeleteDatabaseResponse) GetJSON200() *LivekitPublicapiDatabasesV1DatabasesDeleteResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceGetInviteResponse) GetBody() []byte { +func (r DatabaseServiceDeleteDatabaseResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceGetInviteResponse) Status() string { +func (r DatabaseServiceDeleteDatabaseResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16686,7 +19166,7 @@ func (r ProjectServiceGetInviteResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceGetInviteResponse) StatusCode() int { +func (r DatabaseServiceDeleteDatabaseResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16694,32 +19174,32 @@ func (r ProjectServiceGetInviteResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceGetInviteResponse) ContentType() string { +func (r DatabaseServiceDeleteDatabaseResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceAnswerInvitationResponse struct { +type DatabaseServiceGetDatabaseResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1AnswerInvitationResponse + JSON200 *LivekitPublicapiDatabasesV1DatabasesGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceAnswerInvitationResponse) GetJSON200() *LivekitPublicapiProjectsV1AnswerInvitationResponse { +func (r DatabaseServiceGetDatabaseResponse) GetJSON200() *LivekitPublicapiDatabasesV1DatabasesGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceAnswerInvitationResponse) GetBody() []byte { +func (r DatabaseServiceGetDatabaseResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceAnswerInvitationResponse) Status() string { +func (r DatabaseServiceGetDatabaseResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16727,7 +19207,7 @@ func (r ProjectServiceAnswerInvitationResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceAnswerInvitationResponse) StatusCode() int { +func (r DatabaseServiceGetDatabaseResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16735,32 +19215,32 @@ func (r ProjectServiceAnswerInvitationResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceAnswerInvitationResponse) ContentType() string { +func (r DatabaseServiceGetDatabaseResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceListProjectsResponse struct { +type DatabaseServiceExportDatabaseResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1ListProjectsResponse + JSON200 *LivekitPublicapiDatabasesV1DatabasesExportResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceListProjectsResponse) GetJSON200() *LivekitPublicapiProjectsV1ListProjectsResponse { +func (r DatabaseServiceExportDatabaseResponse) GetJSON200() *LivekitPublicapiDatabasesV1DatabasesExportResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceListProjectsResponse) GetBody() []byte { +func (r DatabaseServiceExportDatabaseResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceListProjectsResponse) Status() string { +func (r DatabaseServiceExportDatabaseResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16768,7 +19248,7 @@ func (r ProjectServiceListProjectsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceListProjectsResponse) StatusCode() int { +func (r DatabaseServiceExportDatabaseResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16776,32 +19256,32 @@ func (r ProjectServiceListProjectsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceListProjectsResponse) ContentType() string { +func (r DatabaseServiceExportDatabaseResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceCreateProjectResponse struct { +type ProjectServiceListInvitesResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1CreateProjectResponse + JSON200 *LivekitPublicapiProjectsV1ListInvitesResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceCreateProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1CreateProjectResponse { +func (r ProjectServiceListInvitesResponse) GetJSON200() *LivekitPublicapiProjectsV1ListInvitesResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceCreateProjectResponse) GetBody() []byte { +func (r ProjectServiceListInvitesResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceCreateProjectResponse) Status() string { +func (r ProjectServiceListInvitesResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16809,7 +19289,7 @@ func (r ProjectServiceCreateProjectResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceCreateProjectResponse) StatusCode() int { +func (r ProjectServiceListInvitesResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16817,32 +19297,32 @@ func (r ProjectServiceCreateProjectResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceCreateProjectResponse) ContentType() string { +func (r ProjectServiceListInvitesResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceDeleteProjectResponse struct { +type ProjectServiceInviteMemberResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1DeleteProjectResponse + JSON200 *LivekitPublicapiProjectsV1InviteMemberResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceDeleteProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1DeleteProjectResponse { +func (r ProjectServiceInviteMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1InviteMemberResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceDeleteProjectResponse) GetBody() []byte { +func (r ProjectServiceInviteMemberResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceDeleteProjectResponse) Status() string { +func (r ProjectServiceInviteMemberResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16850,7 +19330,7 @@ func (r ProjectServiceDeleteProjectResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceDeleteProjectResponse) StatusCode() int { +func (r ProjectServiceInviteMemberResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16858,32 +19338,32 @@ func (r ProjectServiceDeleteProjectResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceDeleteProjectResponse) ContentType() string { +func (r ProjectServiceInviteMemberResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceGetProjectResponse struct { +type ProjectServiceDeleteInviteResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1GetProjectResponse + JSON200 *LivekitPublicapiProjectsV1DeleteInviteResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceGetProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1GetProjectResponse { +func (r ProjectServiceDeleteInviteResponse) GetJSON200() *LivekitPublicapiProjectsV1DeleteInviteResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceGetProjectResponse) GetBody() []byte { +func (r ProjectServiceDeleteInviteResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceGetProjectResponse) Status() string { +func (r ProjectServiceDeleteInviteResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16891,7 +19371,7 @@ func (r ProjectServiceGetProjectResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceGetProjectResponse) StatusCode() int { +func (r ProjectServiceDeleteInviteResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16899,32 +19379,32 @@ func (r ProjectServiceGetProjectResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceGetProjectResponse) ContentType() string { +func (r ProjectServiceDeleteInviteResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceUpdateProjectResponse struct { +type ProjectServiceUpdateInviteResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1UpdateProjectResponse + JSON200 *LivekitPublicapiProjectsV1UpdateInviteResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceUpdateProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1UpdateProjectResponse { +func (r ProjectServiceUpdateInviteResponse) GetJSON200() *LivekitPublicapiProjectsV1UpdateInviteResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceUpdateProjectResponse) GetBody() []byte { +func (r ProjectServiceUpdateInviteResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceUpdateProjectResponse) Status() string { +func (r ProjectServiceUpdateInviteResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16932,7 +19412,7 @@ func (r ProjectServiceUpdateProjectResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceUpdateProjectResponse) StatusCode() int { +func (r ProjectServiceUpdateInviteResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16940,32 +19420,32 @@ func (r ProjectServiceUpdateProjectResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceUpdateProjectResponse) ContentType() string { +func (r ProjectServiceUpdateInviteResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceGetProjectAnalyticsResponse struct { +type ProjectServiceListKeysResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse + JSON200 *LivekitPublicapiProjectsV1ListKeysResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceGetProjectAnalyticsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse { +func (r ProjectServiceListKeysResponse) GetJSON200() *LivekitPublicapiProjectsV1ListKeysResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceGetProjectAnalyticsResponse) GetBody() []byte { +func (r ProjectServiceListKeysResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceGetProjectAnalyticsResponse) Status() string { +func (r ProjectServiceListKeysResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -16973,7 +19453,7 @@ func (r AnalyticsServiceGetProjectAnalyticsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceGetProjectAnalyticsResponse) StatusCode() int { +func (r ProjectServiceListKeysResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -16981,32 +19461,32 @@ func (r AnalyticsServiceGetProjectAnalyticsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceGetProjectAnalyticsResponse) ContentType() string { +func (r ProjectServiceListKeysResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceListAgentAnalyticsResponse struct { +type ProjectServiceGenerateKeyResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1AgentsListResponse + JSON200 *LivekitPublicapiProjectsV1GenerateKeyResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceListAgentAnalyticsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1AgentsListResponse { +func (r ProjectServiceGenerateKeyResponse) GetJSON200() *LivekitPublicapiProjectsV1GenerateKeyResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceListAgentAnalyticsResponse) GetBody() []byte { +func (r ProjectServiceGenerateKeyResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceListAgentAnalyticsResponse) Status() string { +func (r ProjectServiceGenerateKeyResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17014,7 +19494,7 @@ func (r AnalyticsServiceListAgentAnalyticsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceListAgentAnalyticsResponse) StatusCode() int { +func (r ProjectServiceGenerateKeyResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17022,32 +19502,32 @@ func (r AnalyticsServiceListAgentAnalyticsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceListAgentAnalyticsResponse) ContentType() string { +func (r ProjectServiceGenerateKeyResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceGetAgentAnalyticsResponse struct { +type ProjectServiceDeleteKeyResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1AgentsGetResponse + JSON200 *LivekitPublicapiProjectsV1DeleteKeyResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceGetAgentAnalyticsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1AgentsGetResponse { +func (r ProjectServiceDeleteKeyResponse) GetJSON200() *LivekitPublicapiProjectsV1DeleteKeyResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceGetAgentAnalyticsResponse) GetBody() []byte { +func (r ProjectServiceDeleteKeyResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceGetAgentAnalyticsResponse) Status() string { +func (r ProjectServiceDeleteKeyResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17055,7 +19535,7 @@ func (r AnalyticsServiceGetAgentAnalyticsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceGetAgentAnalyticsResponse) StatusCode() int { +func (r ProjectServiceDeleteKeyResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17063,32 +19543,32 @@ func (r AnalyticsServiceGetAgentAnalyticsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceGetAgentAnalyticsResponse) ContentType() string { +func (r ProjectServiceDeleteKeyResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceListInvitesResponse struct { +type ProjectServiceListMembersResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1ListInvitesResponse + JSON200 *LivekitPublicapiProjectsV1ListMembersResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceListInvitesResponse) GetJSON200() *LivekitPublicapiProjectsV1ListInvitesResponse { +func (r ProjectServiceListMembersResponse) GetJSON200() *LivekitPublicapiProjectsV1ListMembersResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceListInvitesResponse) GetBody() []byte { +func (r ProjectServiceListMembersResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceListInvitesResponse) Status() string { +func (r ProjectServiceListMembersResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17096,7 +19576,7 @@ func (r ProjectServiceListInvitesResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceListInvitesResponse) StatusCode() int { +func (r ProjectServiceListMembersResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17104,32 +19584,32 @@ func (r ProjectServiceListInvitesResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceListInvitesResponse) ContentType() string { +func (r ProjectServiceListMembersResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceInviteMemberResponse struct { +type ProjectServiceRemoveMemberResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1InviteMemberResponse + JSON200 *LivekitPublicapiProjectsV1RemoveMemberResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceInviteMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1InviteMemberResponse { +func (r ProjectServiceRemoveMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1RemoveMemberResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceInviteMemberResponse) GetBody() []byte { +func (r ProjectServiceRemoveMemberResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceInviteMemberResponse) Status() string { +func (r ProjectServiceRemoveMemberResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17137,7 +19617,7 @@ func (r ProjectServiceInviteMemberResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceInviteMemberResponse) StatusCode() int { +func (r ProjectServiceRemoveMemberResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17145,32 +19625,32 @@ func (r ProjectServiceInviteMemberResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceInviteMemberResponse) ContentType() string { +func (r ProjectServiceRemoveMemberResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceDeleteInviteResponse struct { +type ProjectServiceGetMemberResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1DeleteInviteResponse + JSON200 *LivekitPublicapiProjectsV1GetMemberResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceDeleteInviteResponse) GetJSON200() *LivekitPublicapiProjectsV1DeleteInviteResponse { +func (r ProjectServiceGetMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1GetMemberResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceDeleteInviteResponse) GetBody() []byte { +func (r ProjectServiceGetMemberResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceDeleteInviteResponse) Status() string { +func (r ProjectServiceGetMemberResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17178,7 +19658,7 @@ func (r ProjectServiceDeleteInviteResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceDeleteInviteResponse) StatusCode() int { +func (r ProjectServiceGetMemberResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17186,32 +19666,32 @@ func (r ProjectServiceDeleteInviteResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceDeleteInviteResponse) ContentType() string { +func (r ProjectServiceGetMemberResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceUpdateInviteResponse struct { +type ProjectServiceUpdateMemberResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1UpdateInviteResponse + JSON200 *LivekitPublicapiProjectsV1UpdateMemberResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceUpdateInviteResponse) GetJSON200() *LivekitPublicapiProjectsV1UpdateInviteResponse { +func (r ProjectServiceUpdateMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1UpdateMemberResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceUpdateInviteResponse) GetBody() []byte { +func (r ProjectServiceUpdateMemberResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceUpdateInviteResponse) Status() string { +func (r ProjectServiceUpdateMemberResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17219,7 +19699,7 @@ func (r ProjectServiceUpdateInviteResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceUpdateInviteResponse) StatusCode() int { +func (r ProjectServiceUpdateMemberResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17227,32 +19707,32 @@ func (r ProjectServiceUpdateInviteResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceUpdateInviteResponse) ContentType() string { +func (r ProjectServiceUpdateMemberResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceListKeysResponse struct { +type ProjectServiceAddWorkspaceMembersToProjectResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1ListKeysResponse + JSON200 *LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceListKeysResponse) GetJSON200() *LivekitPublicapiProjectsV1ListKeysResponse { +func (r ProjectServiceAddWorkspaceMembersToProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceListKeysResponse) GetBody() []byte { +func (r ProjectServiceAddWorkspaceMembersToProjectResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceListKeysResponse) Status() string { +func (r ProjectServiceAddWorkspaceMembersToProjectResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17260,7 +19740,7 @@ func (r ProjectServiceListKeysResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceListKeysResponse) StatusCode() int { +func (r ProjectServiceAddWorkspaceMembersToProjectResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17268,32 +19748,32 @@ func (r ProjectServiceListKeysResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceListKeysResponse) ContentType() string { +func (r ProjectServiceAddWorkspaceMembersToProjectResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceGenerateKeyResponse struct { +type SimulationServiceGenerateScenarioFromSessionResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1GenerateKeyResponse + JSON200 *LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceGenerateKeyResponse) GetJSON200() *LivekitPublicapiProjectsV1GenerateKeyResponse { +func (r SimulationServiceGenerateScenarioFromSessionResponse) GetJSON200() *LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceGenerateKeyResponse) GetBody() []byte { +func (r SimulationServiceGenerateScenarioFromSessionResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceGenerateKeyResponse) Status() string { +func (r SimulationServiceGenerateScenarioFromSessionResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17301,7 +19781,7 @@ func (r ProjectServiceGenerateKeyResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceGenerateKeyResponse) StatusCode() int { +func (r SimulationServiceGenerateScenarioFromSessionResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17309,32 +19789,32 @@ func (r ProjectServiceGenerateKeyResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceGenerateKeyResponse) ContentType() string { +func (r SimulationServiceGenerateScenarioFromSessionResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceDeleteKeyResponse struct { +type ProjectServiceListScopedKeysResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1DeleteKeyResponse + JSON200 *LivekitPublicapiProjectsV1ListScopedKeysResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceDeleteKeyResponse) GetJSON200() *LivekitPublicapiProjectsV1DeleteKeyResponse { +func (r ProjectServiceListScopedKeysResponse) GetJSON200() *LivekitPublicapiProjectsV1ListScopedKeysResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceDeleteKeyResponse) GetBody() []byte { +func (r ProjectServiceListScopedKeysResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceDeleteKeyResponse) Status() string { +func (r ProjectServiceListScopedKeysResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17342,7 +19822,7 @@ func (r ProjectServiceDeleteKeyResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceDeleteKeyResponse) StatusCode() int { +func (r ProjectServiceListScopedKeysResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17350,32 +19830,32 @@ func (r ProjectServiceDeleteKeyResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceDeleteKeyResponse) ContentType() string { +func (r ProjectServiceListScopedKeysResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceListMembersResponse struct { +type AnalyticsServiceListProjectSessionsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1ListMembersResponse + JSON200 *LivekitPublicapiAnalyticsV1SessionsListResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceListMembersResponse) GetJSON200() *LivekitPublicapiProjectsV1ListMembersResponse { +func (r AnalyticsServiceListProjectSessionsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionsListResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceListMembersResponse) GetBody() []byte { +func (r AnalyticsServiceListProjectSessionsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceListMembersResponse) Status() string { +func (r AnalyticsServiceListProjectSessionsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17383,7 +19863,7 @@ func (r ProjectServiceListMembersResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceListMembersResponse) StatusCode() int { +func (r AnalyticsServiceListProjectSessionsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17391,32 +19871,32 @@ func (r ProjectServiceListMembersResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceListMembersResponse) ContentType() string { +func (r AnalyticsServiceListProjectSessionsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceRemoveMemberResponse struct { +type AnalyticsServiceGetSessionResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1RemoveMemberResponse + JSON200 *LivekitPublicapiAnalyticsV1SessionsGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceRemoveMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1RemoveMemberResponse { +func (r AnalyticsServiceGetSessionResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionsGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceRemoveMemberResponse) GetBody() []byte { +func (r AnalyticsServiceGetSessionResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceRemoveMemberResponse) Status() string { +func (r AnalyticsServiceGetSessionResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17424,7 +19904,7 @@ func (r ProjectServiceRemoveMemberResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceRemoveMemberResponse) StatusCode() int { +func (r AnalyticsServiceGetSessionResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17432,32 +19912,32 @@ func (r ProjectServiceRemoveMemberResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceRemoveMemberResponse) ContentType() string { +func (r AnalyticsServiceGetSessionResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceGetMemberResponse struct { +type AnalyticsServiceListSessionEventsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1GetMemberResponse + JSON200 *LivekitPublicapiAnalyticsV1SessionEventsListResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceGetMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1GetMemberResponse { +func (r AnalyticsServiceListSessionEventsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionEventsListResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceGetMemberResponse) GetBody() []byte { +func (r AnalyticsServiceListSessionEventsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceGetMemberResponse) Status() string { +func (r AnalyticsServiceListSessionEventsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17465,7 +19945,7 @@ func (r ProjectServiceGetMemberResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceGetMemberResponse) StatusCode() int { +func (r AnalyticsServiceListSessionEventsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17473,32 +19953,32 @@ func (r ProjectServiceGetMemberResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceGetMemberResponse) ContentType() string { +func (r AnalyticsServiceListSessionEventsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceUpdateMemberResponse struct { +type ObservabilityServiceGetSessionLogsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1UpdateMemberResponse + JSON200 *LivekitPublicapiObservabilityV1LogsGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceUpdateMemberResponse) GetJSON200() *LivekitPublicapiProjectsV1UpdateMemberResponse { +func (r ObservabilityServiceGetSessionLogsResponse) GetJSON200() *LivekitPublicapiObservabilityV1LogsGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceUpdateMemberResponse) GetBody() []byte { +func (r ObservabilityServiceGetSessionLogsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceUpdateMemberResponse) Status() string { +func (r ObservabilityServiceGetSessionLogsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17506,7 +19986,7 @@ func (r ProjectServiceUpdateMemberResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceUpdateMemberResponse) StatusCode() int { +func (r ObservabilityServiceGetSessionLogsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17514,32 +19994,32 @@ func (r ProjectServiceUpdateMemberResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceUpdateMemberResponse) ContentType() string { +func (r ObservabilityServiceGetSessionLogsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceAddWorkspaceMembersToProjectResponse struct { +type ObservabilityServiceGetSessionMetricsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse + JSON200 *LivekitPublicapiObservabilityV1MetricsGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceAddWorkspaceMembersToProjectResponse) GetJSON200() *LivekitPublicapiProjectsV1AddWorkspaceMembersToProjectResponse { +func (r ObservabilityServiceGetSessionMetricsResponse) GetJSON200() *LivekitPublicapiObservabilityV1MetricsGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceAddWorkspaceMembersToProjectResponse) GetBody() []byte { +func (r ObservabilityServiceGetSessionMetricsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceAddWorkspaceMembersToProjectResponse) Status() string { +func (r ObservabilityServiceGetSessionMetricsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17547,7 +20027,7 @@ func (r ProjectServiceAddWorkspaceMembersToProjectResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceAddWorkspaceMembersToProjectResponse) StatusCode() int { +func (r ObservabilityServiceGetSessionMetricsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17555,32 +20035,32 @@ func (r ProjectServiceAddWorkspaceMembersToProjectResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceAddWorkspaceMembersToProjectResponse) ContentType() string { +func (r ObservabilityServiceGetSessionMetricsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceGenerateScenarioFromSessionResponse struct { +type AnalyticsServiceListSessionParticipantsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse + JSON200 *LivekitPublicapiAnalyticsV1SessionParticipantsListResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceGenerateScenarioFromSessionResponse) GetJSON200() *LivekitPublicapiSimulationsV1ScenariosGenerateFromSessionResponse { +func (r AnalyticsServiceListSessionParticipantsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionParticipantsListResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceGenerateScenarioFromSessionResponse) GetBody() []byte { +func (r AnalyticsServiceListSessionParticipantsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceGenerateScenarioFromSessionResponse) Status() string { +func (r AnalyticsServiceListSessionParticipantsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17588,7 +20068,7 @@ func (r SimulationServiceGenerateScenarioFromSessionResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceGenerateScenarioFromSessionResponse) StatusCode() int { +func (r AnalyticsServiceListSessionParticipantsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17596,32 +20076,32 @@ func (r SimulationServiceGenerateScenarioFromSessionResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceGenerateScenarioFromSessionResponse) ContentType() string { +func (r AnalyticsServiceListSessionParticipantsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ProjectServiceListScopedKeysResponse struct { +type ObservabilityServiceGetSessionRecordingURLResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiProjectsV1ListScopedKeysResponse + JSON200 *LivekitPublicapiObservabilityV1RecordingGetURLResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ProjectServiceListScopedKeysResponse) GetJSON200() *LivekitPublicapiProjectsV1ListScopedKeysResponse { +func (r ObservabilityServiceGetSessionRecordingURLResponse) GetJSON200() *LivekitPublicapiObservabilityV1RecordingGetURLResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ProjectServiceListScopedKeysResponse) GetBody() []byte { +func (r ObservabilityServiceGetSessionRecordingURLResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ProjectServiceListScopedKeysResponse) Status() string { +func (r ObservabilityServiceGetSessionRecordingURLResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17629,7 +20109,7 @@ func (r ProjectServiceListScopedKeysResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ProjectServiceListScopedKeysResponse) StatusCode() int { +func (r ObservabilityServiceGetSessionRecordingURLResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17637,32 +20117,32 @@ func (r ProjectServiceListScopedKeysResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ProjectServiceListScopedKeysResponse) ContentType() string { +func (r ObservabilityServiceGetSessionRecordingURLResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceListProjectSessionsResponse struct { +type ObservabilityServiceGetSessionTracesResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1SessionsListResponse + JSON200 *LivekitPublicapiObservabilityV1TracesGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceListProjectSessionsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionsListResponse { +func (r ObservabilityServiceGetSessionTracesResponse) GetJSON200() *LivekitPublicapiObservabilityV1TracesGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceListProjectSessionsResponse) GetBody() []byte { +func (r ObservabilityServiceGetSessionTracesResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceListProjectSessionsResponse) Status() string { +func (r ObservabilityServiceGetSessionTracesResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17670,7 +20150,7 @@ func (r AnalyticsServiceListProjectSessionsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceListProjectSessionsResponse) StatusCode() int { +func (r ObservabilityServiceGetSessionTracesResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17678,32 +20158,32 @@ func (r AnalyticsServiceListProjectSessionsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceListProjectSessionsResponse) ContentType() string { +func (r ObservabilityServiceGetSessionTracesResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceGetSessionResponse struct { +type ObservabilityServiceGetSessionTranscriptResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1SessionsGetResponse + JSON200 *LivekitPublicapiObservabilityV1TranscriptGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceGetSessionResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionsGetResponse { +func (r ObservabilityServiceGetSessionTranscriptResponse) GetJSON200() *LivekitPublicapiObservabilityV1TranscriptGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceGetSessionResponse) GetBody() []byte { +func (r ObservabilityServiceGetSessionTranscriptResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceGetSessionResponse) Status() string { +func (r ObservabilityServiceGetSessionTranscriptResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17711,7 +20191,7 @@ func (r AnalyticsServiceGetSessionResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceGetSessionResponse) StatusCode() int { +func (r ObservabilityServiceGetSessionTranscriptResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17719,32 +20199,32 @@ func (r AnalyticsServiceGetSessionResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceGetSessionResponse) ContentType() string { +func (r ObservabilityServiceGetSessionTranscriptResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceListSessionEventsResponse struct { +type SimulationServiceListSimulationRunsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1SessionEventsListResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsListResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceListSessionEventsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionEventsListResponse { +func (r SimulationServiceListSimulationRunsResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsListResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceListSessionEventsResponse) GetBody() []byte { +func (r SimulationServiceListSimulationRunsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceListSessionEventsResponse) Status() string { +func (r SimulationServiceListSimulationRunsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17752,7 +20232,7 @@ func (r AnalyticsServiceListSessionEventsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceListSessionEventsResponse) StatusCode() int { +func (r SimulationServiceListSimulationRunsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17760,32 +20240,32 @@ func (r AnalyticsServiceListSessionEventsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceListSessionEventsResponse) ContentType() string { +func (r SimulationServiceListSimulationRunsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ObservabilityServiceGetSessionLogsResponse struct { +type SimulationServiceCreateSimulationRunResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiObservabilityV1LogsGetResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsCreateResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ObservabilityServiceGetSessionLogsResponse) GetJSON200() *LivekitPublicapiObservabilityV1LogsGetResponse { +func (r SimulationServiceCreateSimulationRunResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsCreateResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ObservabilityServiceGetSessionLogsResponse) GetBody() []byte { +func (r SimulationServiceCreateSimulationRunResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ObservabilityServiceGetSessionLogsResponse) Status() string { +func (r SimulationServiceCreateSimulationRunResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17793,7 +20273,7 @@ func (r ObservabilityServiceGetSessionLogsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ObservabilityServiceGetSessionLogsResponse) StatusCode() int { +func (r SimulationServiceCreateSimulationRunResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17801,32 +20281,32 @@ func (r ObservabilityServiceGetSessionLogsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ObservabilityServiceGetSessionLogsResponse) ContentType() string { +func (r SimulationServiceCreateSimulationRunResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ObservabilityServiceGetSessionMetricsResponse struct { +type SimulationServiceGetSimulationRunResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiObservabilityV1MetricsGetResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ObservabilityServiceGetSessionMetricsResponse) GetJSON200() *LivekitPublicapiObservabilityV1MetricsGetResponse { +func (r SimulationServiceGetSimulationRunResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ObservabilityServiceGetSessionMetricsResponse) GetBody() []byte { +func (r SimulationServiceGetSimulationRunResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ObservabilityServiceGetSessionMetricsResponse) Status() string { +func (r SimulationServiceGetSimulationRunResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17834,7 +20314,7 @@ func (r ObservabilityServiceGetSessionMetricsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ObservabilityServiceGetSessionMetricsResponse) StatusCode() int { +func (r SimulationServiceGetSimulationRunResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17842,32 +20322,32 @@ func (r ObservabilityServiceGetSessionMetricsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ObservabilityServiceGetSessionMetricsResponse) ContentType() string { +func (r SimulationServiceGetSimulationRunResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type AnalyticsServiceListSessionParticipantsResponse struct { +type SimulationServiceGetSimulationRunSummaryResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiAnalyticsV1SessionParticipantsListResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r AnalyticsServiceListSessionParticipantsResponse) GetJSON200() *LivekitPublicapiAnalyticsV1SessionParticipantsListResponse { +func (r SimulationServiceGetSimulationRunSummaryResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r AnalyticsServiceListSessionParticipantsResponse) GetBody() []byte { +func (r SimulationServiceGetSimulationRunSummaryResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r AnalyticsServiceListSessionParticipantsResponse) Status() string { +func (r SimulationServiceGetSimulationRunSummaryResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17875,7 +20355,7 @@ func (r AnalyticsServiceListSessionParticipantsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r AnalyticsServiceListSessionParticipantsResponse) StatusCode() int { +func (r SimulationServiceGetSimulationRunSummaryResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17883,32 +20363,32 @@ func (r AnalyticsServiceListSessionParticipantsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r AnalyticsServiceListSessionParticipantsResponse) ContentType() string { +func (r SimulationServiceGetSimulationRunSummaryResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ObservabilityServiceGetSessionRecordingURLResponse struct { +type SimulationServiceCancelSimulationRunResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiObservabilityV1RecordingGetURLResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsCancelResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ObservabilityServiceGetSessionRecordingURLResponse) GetJSON200() *LivekitPublicapiObservabilityV1RecordingGetURLResponse { +func (r SimulationServiceCancelSimulationRunResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsCancelResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ObservabilityServiceGetSessionRecordingURLResponse) GetBody() []byte { +func (r SimulationServiceCancelSimulationRunResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ObservabilityServiceGetSessionRecordingURLResponse) Status() string { +func (r SimulationServiceCancelSimulationRunResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17916,7 +20396,7 @@ func (r ObservabilityServiceGetSessionRecordingURLResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ObservabilityServiceGetSessionRecordingURLResponse) StatusCode() int { +func (r SimulationServiceCancelSimulationRunResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17924,32 +20404,32 @@ func (r ObservabilityServiceGetSessionRecordingURLResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ObservabilityServiceGetSessionRecordingURLResponse) ContentType() string { +func (r SimulationServiceCancelSimulationRunResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ObservabilityServiceGetSessionTracesResponse struct { +type SimulationServiceConfirmSimulationSourceUploadResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiObservabilityV1TracesGetResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ObservabilityServiceGetSessionTracesResponse) GetJSON200() *LivekitPublicapiObservabilityV1TracesGetResponse { +func (r SimulationServiceConfirmSimulationSourceUploadResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ObservabilityServiceGetSessionTracesResponse) GetBody() []byte { +func (r SimulationServiceConfirmSimulationSourceUploadResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ObservabilityServiceGetSessionTracesResponse) Status() string { +func (r SimulationServiceConfirmSimulationSourceUploadResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17957,7 +20437,7 @@ func (r ObservabilityServiceGetSessionTracesResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ObservabilityServiceGetSessionTracesResponse) StatusCode() int { +func (r SimulationServiceConfirmSimulationSourceUploadResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -17965,32 +20445,32 @@ func (r ObservabilityServiceGetSessionTracesResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ObservabilityServiceGetSessionTracesResponse) ContentType() string { +func (r SimulationServiceConfirmSimulationSourceUploadResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type ObservabilityServiceGetSessionTranscriptResponse struct { +type SimulationServiceCountSimulationRunsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiObservabilityV1TranscriptGetResponse + JSON200 *LivekitPublicapiSimulationsV1SimulationRunsCountsResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r ObservabilityServiceGetSessionTranscriptResponse) GetJSON200() *LivekitPublicapiObservabilityV1TranscriptGetResponse { +func (r SimulationServiceCountSimulationRunsResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsCountsResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r ObservabilityServiceGetSessionTranscriptResponse) GetBody() []byte { +func (r SimulationServiceCountSimulationRunsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r ObservabilityServiceGetSessionTranscriptResponse) Status() string { +func (r SimulationServiceCountSimulationRunsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -17998,7 +20478,7 @@ func (r ObservabilityServiceGetSessionTranscriptResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r ObservabilityServiceGetSessionTranscriptResponse) StatusCode() int { +func (r SimulationServiceCountSimulationRunsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18006,32 +20486,32 @@ func (r ObservabilityServiceGetSessionTranscriptResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r ObservabilityServiceGetSessionTranscriptResponse) ContentType() string { +func (r SimulationServiceCountSimulationRunsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceListSimulationRunsResponse struct { +type ThreadServiceListThreadsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsListResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsListResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceListSimulationRunsResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsListResponse { +func (r ThreadServiceListThreadsResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsListResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceListSimulationRunsResponse) GetBody() []byte { +func (r ThreadServiceListThreadsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceListSimulationRunsResponse) Status() string { +func (r ThreadServiceListThreadsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18039,7 +20519,7 @@ func (r SimulationServiceListSimulationRunsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceListSimulationRunsResponse) StatusCode() int { +func (r ThreadServiceListThreadsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18047,32 +20527,32 @@ func (r SimulationServiceListSimulationRunsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceListSimulationRunsResponse) ContentType() string { +func (r ThreadServiceListThreadsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceCreateSimulationRunResponse struct { +type ThreadServiceCreateThreadResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsCreateResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsCreateResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceCreateSimulationRunResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsCreateResponse { +func (r ThreadServiceCreateThreadResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsCreateResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceCreateSimulationRunResponse) GetBody() []byte { +func (r ThreadServiceCreateThreadResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceCreateSimulationRunResponse) Status() string { +func (r ThreadServiceCreateThreadResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18080,7 +20560,7 @@ func (r SimulationServiceCreateSimulationRunResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceCreateSimulationRunResponse) StatusCode() int { +func (r ThreadServiceCreateThreadResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18088,32 +20568,32 @@ func (r SimulationServiceCreateSimulationRunResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceCreateSimulationRunResponse) ContentType() string { +func (r ThreadServiceCreateThreadResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceGetSimulationRunResponse struct { +type ThreadServiceDeleteThreadResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsGetResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsDeleteResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceGetSimulationRunResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsGetResponse { +func (r ThreadServiceDeleteThreadResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsDeleteResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceGetSimulationRunResponse) GetBody() []byte { +func (r ThreadServiceDeleteThreadResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceGetSimulationRunResponse) Status() string { +func (r ThreadServiceDeleteThreadResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18121,7 +20601,7 @@ func (r SimulationServiceGetSimulationRunResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceGetSimulationRunResponse) StatusCode() int { +func (r ThreadServiceDeleteThreadResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18129,32 +20609,32 @@ func (r SimulationServiceGetSimulationRunResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceGetSimulationRunResponse) ContentType() string { +func (r ThreadServiceDeleteThreadResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceGetSimulationRunSummaryResponse struct { +type ThreadServiceGetThreadResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsGetResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceGetSimulationRunSummaryResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsGetSummaryResponse { +func (r ThreadServiceGetThreadResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsGetResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceGetSimulationRunSummaryResponse) GetBody() []byte { +func (r ThreadServiceGetThreadResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceGetSimulationRunSummaryResponse) Status() string { +func (r ThreadServiceGetThreadResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18162,7 +20642,7 @@ func (r SimulationServiceGetSimulationRunSummaryResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceGetSimulationRunSummaryResponse) StatusCode() int { +func (r ThreadServiceGetThreadResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18170,32 +20650,32 @@ func (r SimulationServiceGetSimulationRunSummaryResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceGetSimulationRunSummaryResponse) ContentType() string { +func (r ThreadServiceGetThreadResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceCancelSimulationRunResponse struct { +type ThreadServiceUpdateThreadResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsCancelResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsUpdateResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceCancelSimulationRunResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsCancelResponse { +func (r ThreadServiceUpdateThreadResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsUpdateResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceCancelSimulationRunResponse) GetBody() []byte { +func (r ThreadServiceUpdateThreadResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceCancelSimulationRunResponse) Status() string { +func (r ThreadServiceUpdateThreadResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18203,7 +20683,7 @@ func (r SimulationServiceCancelSimulationRunResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceCancelSimulationRunResponse) StatusCode() int { +func (r ThreadServiceUpdateThreadResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18211,32 +20691,32 @@ func (r SimulationServiceCancelSimulationRunResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceCancelSimulationRunResponse) ContentType() string { +func (r ThreadServiceUpdateThreadResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceConfirmSimulationSourceUploadResponse struct { +type ThreadServiceGetThreadItemsResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsItemsResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceConfirmSimulationSourceUploadResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsConfirmSourceUploadResponse { +func (r ThreadServiceGetThreadItemsResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsItemsResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceConfirmSimulationSourceUploadResponse) GetBody() []byte { +func (r ThreadServiceGetThreadItemsResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceConfirmSimulationSourceUploadResponse) Status() string { +func (r ThreadServiceGetThreadItemsResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18244,7 +20724,7 @@ func (r SimulationServiceConfirmSimulationSourceUploadResponse) Status() string } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceConfirmSimulationSourceUploadResponse) StatusCode() int { +func (r ThreadServiceGetThreadItemsResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18252,32 +20732,32 @@ func (r SimulationServiceConfirmSimulationSourceUploadResponse) StatusCode() int } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceConfirmSimulationSourceUploadResponse) ContentType() string { +func (r ThreadServiceGetThreadItemsResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } return "" } -type SimulationServiceCountSimulationRunsResponse struct { +type ThreadServiceGetThreadTasksResponse struct { Body []byte HTTPResponse *http.Response // JSON200 the response for an HTTP 200 `application/json` response - JSON200 *LivekitPublicapiSimulationsV1SimulationRunsCountsResponse + JSON200 *LivekitPublicapiThreadsV1ThreadsTasksResponse } // GetJSON200 returns the response for an HTTP 200 `application/json` response -func (r SimulationServiceCountSimulationRunsResponse) GetJSON200() *LivekitPublicapiSimulationsV1SimulationRunsCountsResponse { +func (r ThreadServiceGetThreadTasksResponse) GetJSON200() *LivekitPublicapiThreadsV1ThreadsTasksResponse { return r.JSON200 } // GetBody returns the raw response body bytes -func (r SimulationServiceCountSimulationRunsResponse) GetBody() []byte { +func (r ThreadServiceGetThreadTasksResponse) GetBody() []byte { return r.Body } // Status returns HTTPResponse.Status -func (r SimulationServiceCountSimulationRunsResponse) Status() string { +func (r ThreadServiceGetThreadTasksResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -18285,7 +20765,7 @@ func (r SimulationServiceCountSimulationRunsResponse) Status() string { } // StatusCode returns HTTPResponse.StatusCode -func (r SimulationServiceCountSimulationRunsResponse) StatusCode() int { +func (r ThreadServiceGetThreadTasksResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -18293,7 +20773,7 @@ func (r SimulationServiceCountSimulationRunsResponse) StatusCode() int { } // ContentType is a convenience method to retrieve the Content-Type value from the HTTP response headers -func (r SimulationServiceCountSimulationRunsResponse) ContentType() string { +func (r ThreadServiceGetThreadTasksResponse) ContentType() string { if r.HTTPResponse != nil { return r.HTTPResponse.Header.Get("Content-Type") } @@ -19247,7 +21727,7 @@ func (r WorkspaceServiceUpdateProjectResponse) ContentType() string { // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). +// Corresponds with GET /v0/project-invites/{inviteToken} (the `ProjectServiceGetInvite` operationId). func (c *ClientWithResponses) ProjectServiceGetInviteWithResponse(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*ProjectServiceGetInviteResponse, error) { rsp, err := c.ProjectServiceGetInvite(ctx, inviteToken, reqEditors...) if err != nil { @@ -19260,7 +21740,7 @@ func (c *ClientWithResponses) ProjectServiceGetInviteWithResponse(ctx context.Co // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). +// Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). func (c *ClientWithResponses) ProjectServiceAnswerInvitationWithBodyWithResponse(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceAnswerInvitationResponse, error) { rsp, err := c.ProjectServiceAnswerInvitationWithBody(ctx, inviteToken, contentType, body, reqEditors...) if err != nil { @@ -19273,7 +21753,7 @@ func (c *ClientWithResponses) ProjectServiceAnswerInvitationWithBodyWithResponse // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). +// Corresponds with POST /v0/project-invites/{inviteToken}:answer (the `ProjectServiceAnswerInvitation` operationId). func (c *ClientWithResponses) ProjectServiceAnswerInvitationWithResponse(ctx context.Context, inviteToken string, body ProjectServiceAnswerInvitationJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceAnswerInvitationResponse, error) { rsp, err := c.ProjectServiceAnswerInvitation(ctx, inviteToken, body, reqEditors...) if err != nil { @@ -19286,7 +21766,7 @@ func (c *ClientWithResponses) ProjectServiceAnswerInvitationWithResponse(ctx con // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects (the `ProjectServiceListProjects` operationId). +// Corresponds with GET /v0/projects (the `ProjectServiceListProjects` operationId). func (c *ClientWithResponses) ProjectServiceListProjectsWithResponse(ctx context.Context, params *ProjectServiceListProjectsParams, reqEditors ...RequestEditorFn) (*ProjectServiceListProjectsResponse, error) { rsp, err := c.ProjectServiceListProjects(ctx, params, reqEditors...) if err != nil { @@ -19299,7 +21779,7 @@ func (c *ClientWithResponses) ProjectServiceListProjectsWithResponse(ctx context // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). +// Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). func (c *ClientWithResponses) ProjectServiceCreateProjectWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceCreateProjectResponse, error) { rsp, err := c.ProjectServiceCreateProjectWithBody(ctx, contentType, body, reqEditors...) if err != nil { @@ -19312,120 +21792,214 @@ func (c *ClientWithResponses) ProjectServiceCreateProjectWithBodyWithResponse(ct // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects (the `ProjectServiceCreateProject` operationId). +// Corresponds with POST /v0/projects (the `ProjectServiceCreateProject` operationId). func (c *ClientWithResponses) ProjectServiceCreateProjectWithResponse(ctx context.Context, body ProjectServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceCreateProjectResponse, error) { rsp, err := c.ProjectServiceCreateProject(ctx, body, reqEditors...) if err != nil { return nil, err } - return ParseProjectServiceCreateProjectResponse(rsp) + return ParseProjectServiceCreateProjectResponse(rsp) +} + +// ProjectServiceDeleteProjectWithResponse DeleteProject +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with DELETE /v0/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). +func (c *ClientWithResponses) ProjectServiceDeleteProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteProjectResponse, error) { + rsp, err := c.ProjectServiceDeleteProject(ctx, projectId, reqEditors...) + if err != nil { + return nil, err + } + return ParseProjectServiceDeleteProjectResponse(rsp) +} + +// ProjectServiceGetProjectWithResponse GetProject +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId} (the `ProjectServiceGetProject` operationId). +func (c *ClientWithResponses) ProjectServiceGetProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetProjectResponse, error) { + rsp, err := c.ProjectServiceGetProject(ctx, projectId, reqEditors...) + if err != nil { + return nil, err + } + return ParseProjectServiceGetProjectResponse(rsp) +} + +// ProjectServiceUpdateProjectWithBodyWithResponse UpdateProject +// +// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). +func (c *ClientWithResponses) ProjectServiceUpdateProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) { + rsp, err := c.ProjectServiceUpdateProjectWithBody(ctx, projectId, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseProjectServiceUpdateProjectResponse(rsp) +} + +// ProjectServiceUpdateProjectWithResponse UpdateProject +// +// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with PATCH /v0/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). +func (c *ClientWithResponses) ProjectServiceUpdateProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) { + rsp, err := c.ProjectServiceUpdateProject(ctx, projectId, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseProjectServiceUpdateProjectResponse(rsp) +} + +// AnalyticsServiceGetProjectAnalyticsWithResponse GetProjectAnalytics +// +// GetProjectAnalytics returns the project overview over a time range. +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). +func (c *ClientWithResponses) AnalyticsServiceGetProjectAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetProjectAnalyticsResponse, error) { + rsp, err := c.AnalyticsServiceGetProjectAnalytics(ctx, projectId, params, reqEditors...) + if err != nil { + return nil, err + } + return ParseAnalyticsServiceGetProjectAnalyticsResponse(rsp) +} + +// AnalyticsServiceListAgentAnalyticsWithResponse ListAgentAnalytics +// +// ListAgentAnalytics returns the same per-agent analytics for every agent in +// +// the project, one AgentAnalytics row per agent — so a single agent and the +// whole roster share one shape. +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). +func (c *ClientWithResponses) AnalyticsServiceListAgentAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListAgentAnalyticsResponse, error) { + rsp, err := c.AnalyticsServiceListAgentAnalytics(ctx, projectId, params, reqEditors...) + if err != nil { + return nil, err + } + return ParseAnalyticsServiceListAgentAnalyticsResponse(rsp) } -// ProjectServiceDeleteProjectWithResponse DeleteProject +// AnalyticsServiceGetAgentAnalyticsWithResponse GetAgentAnalytics +// +// GetAgentAnalytics returns the analytics for one agent over a time range. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/projects/{projectId} (the `ProjectServiceDeleteProject` operationId). -func (c *ClientWithResponses) ProjectServiceDeleteProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteProjectResponse, error) { - rsp, err := c.ProjectServiceDeleteProject(ctx, projectId, reqEditors...) +// Corresponds with GET /v0/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). +func (c *ClientWithResponses) AnalyticsServiceGetAgentAnalyticsWithResponse(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetAgentAnalyticsResponse, error) { + rsp, err := c.AnalyticsServiceGetAgentAnalytics(ctx, projectId, agentId, params, reqEditors...) if err != nil { return nil, err } - return ParseProjectServiceDeleteProjectResponse(rsp) + return ParseAnalyticsServiceGetAgentAnalyticsResponse(rsp) } -// ProjectServiceGetProjectWithResponse GetProject +// DatabaseServiceListDatabasesWithResponse ListDatabases +// +// ListDatabases lists the project's databases, cursor-paginated. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId} (the `ProjectServiceGetProject` operationId). -func (c *ClientWithResponses) ProjectServiceGetProjectWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetProjectResponse, error) { - rsp, err := c.ProjectServiceGetProject(ctx, projectId, reqEditors...) +// Corresponds with GET /v0/projects/{projectId}/databases (the `DatabaseServiceListDatabases` operationId). +func (c *ClientWithResponses) DatabaseServiceListDatabasesWithResponse(ctx context.Context, projectId string, params *DatabaseServiceListDatabasesParams, reqEditors ...RequestEditorFn) (*DatabaseServiceListDatabasesResponse, error) { + rsp, err := c.DatabaseServiceListDatabases(ctx, projectId, params, reqEditors...) if err != nil { return nil, err } - return ParseProjectServiceGetProjectResponse(rsp) + return ParseDatabaseServiceListDatabasesResponse(rsp) } -// ProjectServiceUpdateProjectWithBodyWithResponse UpdateProject +// DatabaseServiceCreateDatabaseWithBodyWithResponse CreateDatabase +// +// CreateDatabase creates an empty database. Not idempotent: a retried +// +// request creates a second database. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). -func (c *ClientWithResponses) ProjectServiceUpdateProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) { - rsp, err := c.ProjectServiceUpdateProjectWithBody(ctx, projectId, contentType, body, reqEditors...) +// Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). +func (c *ClientWithResponses) DatabaseServiceCreateDatabaseWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*DatabaseServiceCreateDatabaseResponse, error) { + rsp, err := c.DatabaseServiceCreateDatabaseWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { return nil, err } - return ParseProjectServiceUpdateProjectResponse(rsp) + return ParseDatabaseServiceCreateDatabaseResponse(rsp) } -// ProjectServiceUpdateProjectWithResponse UpdateProject +// DatabaseServiceCreateDatabaseWithResponse CreateDatabase +// +// CreateDatabase creates an empty database. Not idempotent: a retried +// +// request creates a second database. // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/projects/{projectId} (the `ProjectServiceUpdateProject` operationId). -func (c *ClientWithResponses) ProjectServiceUpdateProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateProjectResponse, error) { - rsp, err := c.ProjectServiceUpdateProject(ctx, projectId, body, reqEditors...) +// Corresponds with POST /v0/projects/{projectId}/databases (the `DatabaseServiceCreateDatabase` operationId). +func (c *ClientWithResponses) DatabaseServiceCreateDatabaseWithResponse(ctx context.Context, projectId string, body DatabaseServiceCreateDatabaseJSONRequestBody, reqEditors ...RequestEditorFn) (*DatabaseServiceCreateDatabaseResponse, error) { + rsp, err := c.DatabaseServiceCreateDatabase(ctx, projectId, body, reqEditors...) if err != nil { return nil, err } - return ParseProjectServiceUpdateProjectResponse(rsp) + return ParseDatabaseServiceCreateDatabaseResponse(rsp) } -// AnalyticsServiceGetProjectAnalyticsWithResponse GetProjectAnalytics +// DatabaseServiceDeleteDatabaseWithResponse DeleteDatabase // -// GetProjectAnalytics returns the project overview over a time range. +// DeleteDatabase deletes the stored data, not just the metadata. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/analytics (the `AnalyticsServiceGetProjectAnalytics` operationId). -func (c *ClientWithResponses) AnalyticsServiceGetProjectAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceGetProjectAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetProjectAnalyticsResponse, error) { - rsp, err := c.AnalyticsServiceGetProjectAnalytics(ctx, projectId, params, reqEditors...) +// Corresponds with DELETE /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceDeleteDatabase` operationId). +func (c *ClientWithResponses) DatabaseServiceDeleteDatabaseWithResponse(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*DatabaseServiceDeleteDatabaseResponse, error) { + rsp, err := c.DatabaseServiceDeleteDatabase(ctx, projectId, databaseId, reqEditors...) if err != nil { return nil, err } - return ParseAnalyticsServiceGetProjectAnalyticsResponse(rsp) + return ParseDatabaseServiceDeleteDatabaseResponse(rsp) } -// AnalyticsServiceListAgentAnalyticsWithResponse ListAgentAnalytics -// -// ListAgentAnalytics returns the same per-agent analytics for every agent in -// -// the project, one AgentAnalytics row per agent — so a single agent and the -// whole roster share one shape. +// DatabaseServiceGetDatabaseWithResponse GetDatabase // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/analytics/agents (the `AnalyticsServiceListAgentAnalytics` operationId). -func (c *ClientWithResponses) AnalyticsServiceListAgentAnalyticsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListAgentAnalyticsResponse, error) { - rsp, err := c.AnalyticsServiceListAgentAnalytics(ctx, projectId, params, reqEditors...) +// Corresponds with GET /v0/projects/{projectId}/databases/{databaseId} (the `DatabaseServiceGetDatabase` operationId). +func (c *ClientWithResponses) DatabaseServiceGetDatabaseWithResponse(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*DatabaseServiceGetDatabaseResponse, error) { + rsp, err := c.DatabaseServiceGetDatabase(ctx, projectId, databaseId, reqEditors...) if err != nil { return nil, err } - return ParseAnalyticsServiceListAgentAnalyticsResponse(rsp) + return ParseDatabaseServiceGetDatabaseResponse(rsp) } -// AnalyticsServiceGetAgentAnalyticsWithResponse GetAgentAnalytics +// DatabaseServiceExportDatabaseWithResponse ExportDatabase // -// GetAgentAnalytics returns the analytics for one agent over a time range. +// ExportDatabase exports a consistent SQLite file as a time-limited download +// +// URL. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/analytics/agents/{agentId} (the `AnalyticsServiceGetAgentAnalytics` operationId). -func (c *ClientWithResponses) AnalyticsServiceGetAgentAnalyticsWithResponse(ctx context.Context, projectId string, agentId string, params *AnalyticsServiceGetAgentAnalyticsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetAgentAnalyticsResponse, error) { - rsp, err := c.AnalyticsServiceGetAgentAnalytics(ctx, projectId, agentId, params, reqEditors...) +// Corresponds with POST /v0/projects/{projectId}/databases/{databaseId}:export (the `DatabaseServiceExportDatabase` operationId). +func (c *ClientWithResponses) DatabaseServiceExportDatabaseWithResponse(ctx context.Context, projectId string, databaseId string, reqEditors ...RequestEditorFn) (*DatabaseServiceExportDatabaseResponse, error) { + rsp, err := c.DatabaseServiceExportDatabase(ctx, projectId, databaseId, reqEditors...) if err != nil { return nil, err } - return ParseAnalyticsServiceGetAgentAnalyticsResponse(rsp) + return ParseDatabaseServiceExportDatabaseResponse(rsp) } // ProjectServiceListInvitesWithResponse ListInvites // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). +// Corresponds with GET /v0/projects/{projectId}/invites (the `ProjectServiceListInvites` operationId). func (c *ClientWithResponses) ProjectServiceListInvitesWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListInvitesResponse, error) { rsp, err := c.ProjectServiceListInvites(ctx, projectId, reqEditors...) if err != nil { @@ -19438,7 +22012,7 @@ func (c *ClientWithResponses) ProjectServiceListInvitesWithResponse(ctx context. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). +// Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). func (c *ClientWithResponses) ProjectServiceInviteMemberWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceInviteMemberResponse, error) { rsp, err := c.ProjectServiceInviteMemberWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { @@ -19451,7 +22025,7 @@ func (c *ClientWithResponses) ProjectServiceInviteMemberWithBodyWithResponse(ctx // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). +// Corresponds with POST /v0/projects/{projectId}/invites (the `ProjectServiceInviteMember` operationId). func (c *ClientWithResponses) ProjectServiceInviteMemberWithResponse(ctx context.Context, projectId string, body ProjectServiceInviteMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceInviteMemberResponse, error) { rsp, err := c.ProjectServiceInviteMember(ctx, projectId, body, reqEditors...) if err != nil { @@ -19464,7 +22038,7 @@ func (c *ClientWithResponses) ProjectServiceInviteMemberWithResponse(ctx context // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). +// Corresponds with DELETE /v0/projects/{projectId}/invites/{email} (the `ProjectServiceDeleteInvite` operationId). func (c *ClientWithResponses) ProjectServiceDeleteInviteWithResponse(ctx context.Context, projectId string, email string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteInviteResponse, error) { rsp, err := c.ProjectServiceDeleteInvite(ctx, projectId, email, reqEditors...) if err != nil { @@ -19477,7 +22051,7 @@ func (c *ClientWithResponses) ProjectServiceDeleteInviteWithResponse(ctx context // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). +// Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). func (c *ClientWithResponses) ProjectServiceUpdateInviteWithBodyWithResponse(ctx context.Context, projectId string, email string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateInviteResponse, error) { rsp, err := c.ProjectServiceUpdateInviteWithBody(ctx, projectId, email, contentType, body, reqEditors...) if err != nil { @@ -19490,7 +22064,7 @@ func (c *ClientWithResponses) ProjectServiceUpdateInviteWithBodyWithResponse(ctx // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). +// Corresponds with PATCH /v0/projects/{projectId}/invites/{email} (the `ProjectServiceUpdateInvite` operationId). func (c *ClientWithResponses) ProjectServiceUpdateInviteWithResponse(ctx context.Context, projectId string, email string, body ProjectServiceUpdateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateInviteResponse, error) { rsp, err := c.ProjectServiceUpdateInvite(ctx, projectId, email, body, reqEditors...) if err != nil { @@ -19503,7 +22077,7 @@ func (c *ClientWithResponses) ProjectServiceUpdateInviteWithResponse(ctx context // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). +// Corresponds with GET /v0/projects/{projectId}/keys (the `ProjectServiceListKeys` operationId). func (c *ClientWithResponses) ProjectServiceListKeysWithResponse(ctx context.Context, projectId string, params *ProjectServiceListKeysParams, reqEditors ...RequestEditorFn) (*ProjectServiceListKeysResponse, error) { rsp, err := c.ProjectServiceListKeys(ctx, projectId, params, reqEditors...) if err != nil { @@ -19520,7 +22094,7 @@ func (c *ClientWithResponses) ProjectServiceListKeysWithResponse(ctx context.Con // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). +// Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). func (c *ClientWithResponses) ProjectServiceGenerateKeyWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceGenerateKeyResponse, error) { rsp, err := c.ProjectServiceGenerateKeyWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { @@ -19537,7 +22111,7 @@ func (c *ClientWithResponses) ProjectServiceGenerateKeyWithBodyWithResponse(ctx // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). +// Corresponds with POST /v0/projects/{projectId}/keys (the `ProjectServiceGenerateKey` operationId). func (c *ClientWithResponses) ProjectServiceGenerateKeyWithResponse(ctx context.Context, projectId string, body ProjectServiceGenerateKeyJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceGenerateKeyResponse, error) { rsp, err := c.ProjectServiceGenerateKey(ctx, projectId, body, reqEditors...) if err != nil { @@ -19550,7 +22124,7 @@ func (c *ClientWithResponses) ProjectServiceGenerateKeyWithResponse(ctx context. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). +// Corresponds with DELETE /v0/projects/{projectId}/keys/{apiKey} (the `ProjectServiceDeleteKey` operationId). func (c *ClientWithResponses) ProjectServiceDeleteKeyWithResponse(ctx context.Context, projectId string, apiKey string, reqEditors ...RequestEditorFn) (*ProjectServiceDeleteKeyResponse, error) { rsp, err := c.ProjectServiceDeleteKey(ctx, projectId, apiKey, reqEditors...) if err != nil { @@ -19565,7 +22139,7 @@ func (c *ClientWithResponses) ProjectServiceDeleteKeyWithResponse(ctx context.Co // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). +// Corresponds with GET /v0/projects/{projectId}/members (the `ProjectServiceListMembers` operationId). func (c *ClientWithResponses) ProjectServiceListMembersWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListMembersResponse, error) { rsp, err := c.ProjectServiceListMembers(ctx, projectId, reqEditors...) if err != nil { @@ -19578,7 +22152,7 @@ func (c *ClientWithResponses) ProjectServiceListMembersWithResponse(ctx context. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). +// Corresponds with DELETE /v0/projects/{projectId}/members/{userId} (the `ProjectServiceRemoveMember` operationId). func (c *ClientWithResponses) ProjectServiceRemoveMemberWithResponse(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*ProjectServiceRemoveMemberResponse, error) { rsp, err := c.ProjectServiceRemoveMember(ctx, projectId, userId, reqEditors...) if err != nil { @@ -19591,7 +22165,7 @@ func (c *ClientWithResponses) ProjectServiceRemoveMemberWithResponse(ctx context // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). +// Corresponds with GET /v0/projects/{projectId}/members/{userId} (the `ProjectServiceGetMember` operationId). func (c *ClientWithResponses) ProjectServiceGetMemberWithResponse(ctx context.Context, projectId string, userId string, reqEditors ...RequestEditorFn) (*ProjectServiceGetMemberResponse, error) { rsp, err := c.ProjectServiceGetMember(ctx, projectId, userId, reqEditors...) if err != nil { @@ -19604,7 +22178,7 @@ func (c *ClientWithResponses) ProjectServiceGetMemberWithResponse(ctx context.Co // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). +// Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). func (c *ClientWithResponses) ProjectServiceUpdateMemberWithBodyWithResponse(ctx context.Context, projectId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateMemberResponse, error) { rsp, err := c.ProjectServiceUpdateMemberWithBody(ctx, projectId, userId, contentType, body, reqEditors...) if err != nil { @@ -19617,7 +22191,7 @@ func (c *ClientWithResponses) ProjectServiceUpdateMemberWithBodyWithResponse(ctx // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). +// Corresponds with PATCH /v0/projects/{projectId}/members/{userId} (the `ProjectServiceUpdateMember` operationId). func (c *ClientWithResponses) ProjectServiceUpdateMemberWithResponse(ctx context.Context, projectId string, userId string, body ProjectServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceUpdateMemberResponse, error) { rsp, err := c.ProjectServiceUpdateMember(ctx, projectId, userId, body, reqEditors...) if err != nil { @@ -19630,7 +22204,7 @@ func (c *ClientWithResponses) ProjectServiceUpdateMemberWithResponse(ctx context // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). +// Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). func (c *ClientWithResponses) ProjectServiceAddWorkspaceMembersToProjectWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceAddWorkspaceMembersToProjectResponse, error) { rsp, err := c.ProjectServiceAddWorkspaceMembersToProjectWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { @@ -19643,7 +22217,7 @@ func (c *ClientWithResponses) ProjectServiceAddWorkspaceMembersToProjectWithBody // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). +// Corresponds with POST /v0/projects/{projectId}/members:addWorkspaceMembers (the `ProjectServiceAddWorkspaceMembersToProject` operationId). func (c *ClientWithResponses) ProjectServiceAddWorkspaceMembersToProjectWithResponse(ctx context.Context, projectId string, body ProjectServiceAddWorkspaceMembersToProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceAddWorkspaceMembersToProjectResponse, error) { rsp, err := c.ProjectServiceAddWorkspaceMembersToProject(ctx, projectId, body, reqEditors...) if err != nil { @@ -19664,7 +22238,7 @@ func (c *ClientWithResponses) ProjectServiceAddWorkspaceMembersToProjectWithResp // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). +// Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). func (c *ClientWithResponses) SimulationServiceGenerateScenarioFromSessionWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceGenerateScenarioFromSessionResponse, error) { rsp, err := c.SimulationServiceGenerateScenarioFromSessionWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { @@ -19685,7 +22259,7 @@ func (c *ClientWithResponses) SimulationServiceGenerateScenarioFromSessionWithBo // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). +// Corresponds with POST /v0/projects/{projectId}/scenarios:generateFromSession (the `SimulationServiceGenerateScenarioFromSession` operationId). func (c *ClientWithResponses) SimulationServiceGenerateScenarioFromSessionWithResponse(ctx context.Context, projectId string, body SimulationServiceGenerateScenarioFromSessionJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceGenerateScenarioFromSessionResponse, error) { rsp, err := c.SimulationServiceGenerateScenarioFromSession(ctx, projectId, body, reqEditors...) if err != nil { @@ -19698,7 +22272,7 @@ func (c *ClientWithResponses) SimulationServiceGenerateScenarioFromSessionWithRe // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). +// Corresponds with GET /v0/projects/{projectId}/scoped-keys (the `ProjectServiceListScopedKeys` operationId). func (c *ClientWithResponses) ProjectServiceListScopedKeysWithResponse(ctx context.Context, projectId string, reqEditors ...RequestEditorFn) (*ProjectServiceListScopedKeysResponse, error) { rsp, err := c.ProjectServiceListScopedKeys(ctx, projectId, reqEditors...) if err != nil { @@ -19715,7 +22289,7 @@ func (c *ClientWithResponses) ProjectServiceListScopedKeysWithResponse(ctx conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions (the `AnalyticsServiceListProjectSessions` operationId). func (c *ClientWithResponses) AnalyticsServiceListProjectSessionsWithResponse(ctx context.Context, projectId string, params *AnalyticsServiceListProjectSessionsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListProjectSessionsResponse, error) { rsp, err := c.AnalyticsServiceListProjectSessions(ctx, projectId, params, reqEditors...) if err != nil { @@ -19732,7 +22306,7 @@ func (c *ClientWithResponses) AnalyticsServiceListProjectSessionsWithResponse(ct // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId} (the `AnalyticsServiceGetSession` operationId). func (c *ClientWithResponses) AnalyticsServiceGetSessionWithResponse(ctx context.Context, projectId string, sessionId string, reqEditors ...RequestEditorFn) (*AnalyticsServiceGetSessionResponse, error) { rsp, err := c.AnalyticsServiceGetSession(ctx, projectId, sessionId, reqEditors...) if err != nil { @@ -19771,7 +22345,7 @@ func (c *ClientWithResponses) AnalyticsServiceGetSessionWithResponse(ctx context // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/events (the `AnalyticsServiceListSessionEvents` operationId). func (c *ClientWithResponses) AnalyticsServiceListSessionEventsWithResponse(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionEventsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListSessionEventsResponse, error) { rsp, err := c.AnalyticsServiceListSessionEvents(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19797,7 +22371,7 @@ func (c *ClientWithResponses) AnalyticsServiceListSessionEventsWithResponse(ctx // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/logs (the `ObservabilityServiceGetSessionLogs` operationId). func (c *ClientWithResponses) ObservabilityServiceGetSessionLogsWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionLogsParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionLogsResponse, error) { rsp, err := c.ObservabilityServiceGetSessionLogs(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19839,7 +22413,7 @@ func (c *ClientWithResponses) ObservabilityServiceGetSessionLogsWithResponse(ctx // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/metrics (the `ObservabilityServiceGetSessionMetrics` operationId). func (c *ClientWithResponses) ObservabilityServiceGetSessionMetricsWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionMetricsParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionMetricsResponse, error) { rsp, err := c.ObservabilityServiceGetSessionMetrics(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19858,7 +22432,7 @@ func (c *ClientWithResponses) ObservabilityServiceGetSessionMetricsWithResponse( // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/participants (the `AnalyticsServiceListSessionParticipants` operationId). func (c *ClientWithResponses) AnalyticsServiceListSessionParticipantsWithResponse(ctx context.Context, projectId string, sessionId string, params *AnalyticsServiceListSessionParticipantsParams, reqEditors ...RequestEditorFn) (*AnalyticsServiceListSessionParticipantsResponse, error) { rsp, err := c.AnalyticsServiceListSessionParticipants(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19877,7 +22451,7 @@ func (c *ClientWithResponses) AnalyticsServiceListSessionParticipantsWithRespons // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/recording-url (the `ObservabilityServiceGetSessionRecordingURL` operationId). func (c *ClientWithResponses) ObservabilityServiceGetSessionRecordingURLWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionRecordingURLParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionRecordingURLResponse, error) { rsp, err := c.ObservabilityServiceGetSessionRecordingURL(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19902,7 +22476,7 @@ func (c *ClientWithResponses) ObservabilityServiceGetSessionRecordingURLWithResp // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/traces (the `ObservabilityServiceGetSessionTraces` operationId). func (c *ClientWithResponses) ObservabilityServiceGetSessionTracesWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTracesParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionTracesResponse, error) { rsp, err := c.ObservabilityServiceGetSessionTraces(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19926,7 +22500,7 @@ func (c *ClientWithResponses) ObservabilityServiceGetSessionTracesWithResponse(c // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). +// Corresponds with GET /v0/projects/{projectId}/sessions/{sessionId}/transcript (the `ObservabilityServiceGetSessionTranscript` operationId). func (c *ClientWithResponses) ObservabilityServiceGetSessionTranscriptWithResponse(ctx context.Context, projectId string, sessionId string, params *ObservabilityServiceGetSessionTranscriptParams, reqEditors ...RequestEditorFn) (*ObservabilityServiceGetSessionTranscriptResponse, error) { rsp, err := c.ObservabilityServiceGetSessionTranscript(ctx, projectId, sessionId, params, reqEditors...) if err != nil { @@ -19945,7 +22519,7 @@ func (c *ClientWithResponses) ObservabilityServiceGetSessionTranscriptWithRespon // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). +// Corresponds with GET /v0/projects/{projectId}/simulation-runs (the `SimulationServiceListSimulationRuns` operationId). func (c *ClientWithResponses) SimulationServiceListSimulationRunsWithResponse(ctx context.Context, projectId string, params *SimulationServiceListSimulationRunsParams, reqEditors ...RequestEditorFn) (*SimulationServiceListSimulationRunsResponse, error) { rsp, err := c.SimulationServiceListSimulationRuns(ctx, projectId, params, reqEditors...) if err != nil { @@ -19966,7 +22540,7 @@ func (c *ClientWithResponses) SimulationServiceListSimulationRunsWithResponse(ct // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). +// Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). func (c *ClientWithResponses) SimulationServiceCreateSimulationRunWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceCreateSimulationRunResponse, error) { rsp, err := c.SimulationServiceCreateSimulationRunWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { @@ -19987,7 +22561,7 @@ func (c *ClientWithResponses) SimulationServiceCreateSimulationRunWithBodyWithRe // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). +// Corresponds with POST /v0/projects/{projectId}/simulation-runs (the `SimulationServiceCreateSimulationRun` operationId). func (c *ClientWithResponses) SimulationServiceCreateSimulationRunWithResponse(ctx context.Context, projectId string, body SimulationServiceCreateSimulationRunJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceCreateSimulationRunResponse, error) { rsp, err := c.SimulationServiceCreateSimulationRun(ctx, projectId, body, reqEditors...) if err != nil { @@ -20005,7 +22579,7 @@ func (c *ClientWithResponses) SimulationServiceCreateSimulationRunWithResponse(c // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). +// Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId} (the `SimulationServiceGetSimulationRun` operationId). func (c *ClientWithResponses) SimulationServiceGetSimulationRunWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceGetSimulationRunResponse, error) { rsp, err := c.SimulationServiceGetSimulationRun(ctx, projectId, simulationRunId, reqEditors...) if err != nil { @@ -20024,7 +22598,7 @@ func (c *ClientWithResponses) SimulationServiceGetSimulationRunWithResponse(ctx // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). +// Corresponds with GET /v0/projects/{projectId}/simulation-runs/{simulationRunId}/summary (the `SimulationServiceGetSimulationRunSummary` operationId). func (c *ClientWithResponses) SimulationServiceGetSimulationRunSummaryWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceGetSimulationRunSummaryResponse, error) { rsp, err := c.SimulationServiceGetSimulationRunSummary(ctx, projectId, simulationRunId, reqEditors...) if err != nil { @@ -20041,7 +22615,7 @@ func (c *ClientWithResponses) SimulationServiceGetSimulationRunSummaryWithRespon // // Returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). +// Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:cancel (the `SimulationServiceCancelSimulationRun` operationId). func (c *ClientWithResponses) SimulationServiceCancelSimulationRunWithResponse(ctx context.Context, projectId string, simulationRunId string, reqEditors ...RequestEditorFn) (*SimulationServiceCancelSimulationRunResponse, error) { rsp, err := c.SimulationServiceCancelSimulationRun(ctx, projectId, simulationRunId, reqEditors...) if err != nil { @@ -20060,7 +22634,7 @@ func (c *ClientWithResponses) SimulationServiceCancelSimulationRunWithResponse(c // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). +// Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). func (c *ClientWithResponses) SimulationServiceConfirmSimulationSourceUploadWithBodyWithResponse(ctx context.Context, projectId string, simulationRunId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*SimulationServiceConfirmSimulationSourceUploadResponse, error) { rsp, err := c.SimulationServiceConfirmSimulationSourceUploadWithBody(ctx, projectId, simulationRunId, contentType, body, reqEditors...) if err != nil { @@ -20079,7 +22653,7 @@ func (c *ClientWithResponses) SimulationServiceConfirmSimulationSourceUploadWith // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). +// Corresponds with POST /v0/projects/{projectId}/simulation-runs/{simulationRunId}:confirmSourceUpload (the `SimulationServiceConfirmSimulationSourceUpload` operationId). func (c *ClientWithResponses) SimulationServiceConfirmSimulationSourceUploadWithResponse(ctx context.Context, projectId string, simulationRunId string, body SimulationServiceConfirmSimulationSourceUploadJSONRequestBody, reqEditors ...RequestEditorFn) (*SimulationServiceConfirmSimulationSourceUploadResponse, error) { rsp, err := c.SimulationServiceConfirmSimulationSourceUpload(ctx, projectId, simulationRunId, body, reqEditors...) if err != nil { @@ -20098,7 +22672,7 @@ func (c *ClientWithResponses) SimulationServiceConfirmSimulationSourceUploadWith // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). +// Corresponds with GET /v0/projects/{projectId}/simulation-runs:counts (the `SimulationServiceCountSimulationRuns` operationId). func (c *ClientWithResponses) SimulationServiceCountSimulationRunsWithResponse(ctx context.Context, projectId string, params *SimulationServiceCountSimulationRunsParams, reqEditors ...RequestEditorFn) (*SimulationServiceCountSimulationRunsResponse, error) { rsp, err := c.SimulationServiceCountSimulationRuns(ctx, projectId, params, reqEditors...) if err != nil { @@ -20107,6 +22681,143 @@ func (c *ClientWithResponses) SimulationServiceCountSimulationRunsWithResponse(c return ParseSimulationServiceCountSimulationRunsResponse(rsp) } +// ThreadServiceListThreadsWithResponse ListThreads +// +// ListThreads lists the threads of one scope, newest first. +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId}/threads (the `ThreadServiceListThreads` operationId). +func (c *ClientWithResponses) ThreadServiceListThreadsWithResponse(ctx context.Context, projectId string, params *ThreadServiceListThreadsParams, reqEditors ...RequestEditorFn) (*ThreadServiceListThreadsResponse, error) { + rsp, err := c.ThreadServiceListThreads(ctx, projectId, params, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceListThreadsResponse(rsp) +} + +// ThreadServiceCreateThreadWithBodyWithResponse CreateThread +// +// CreateThread creates a thread and its database. +// +// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). +func (c *ClientWithResponses) ThreadServiceCreateThreadWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ThreadServiceCreateThreadResponse, error) { + rsp, err := c.ThreadServiceCreateThreadWithBody(ctx, projectId, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceCreateThreadResponse(rsp) +} + +// ThreadServiceCreateThreadWithResponse CreateThread +// +// CreateThread creates a thread and its database. +// +// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with POST /v0/projects/{projectId}/threads (the `ThreadServiceCreateThread` operationId). +func (c *ClientWithResponses) ThreadServiceCreateThreadWithResponse(ctx context.Context, projectId string, body ThreadServiceCreateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*ThreadServiceCreateThreadResponse, error) { + rsp, err := c.ThreadServiceCreateThread(ctx, projectId, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceCreateThreadResponse(rsp) +} + +// ThreadServiceDeleteThreadWithResponse DeleteThread +// +// DeleteThread deletes the thread and its database. +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with DELETE /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceDeleteThread` operationId). +func (c *ClientWithResponses) ThreadServiceDeleteThreadWithResponse(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*ThreadServiceDeleteThreadResponse, error) { + rsp, err := c.ThreadServiceDeleteThread(ctx, projectId, threadId, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceDeleteThreadResponse(rsp) +} + +// ThreadServiceGetThreadWithResponse GetThread +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceGetThread` operationId). +func (c *ClientWithResponses) ThreadServiceGetThreadWithResponse(ctx context.Context, projectId string, threadId string, reqEditors ...RequestEditorFn) (*ThreadServiceGetThreadResponse, error) { + rsp, err := c.ThreadServiceGetThread(ctx, projectId, threadId, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceGetThreadResponse(rsp) +} + +// ThreadServiceUpdateThreadWithBodyWithResponse UpdateThread +// +// UpdateThread merges attributes (an empty value deletes the entry) and sets +// +// the idle TTL. Every update counts as activity and pushes expires_at out. +// +// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). +func (c *ClientWithResponses) ThreadServiceUpdateThreadWithBodyWithResponse(ctx context.Context, projectId string, threadId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ThreadServiceUpdateThreadResponse, error) { + rsp, err := c.ThreadServiceUpdateThreadWithBody(ctx, projectId, threadId, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceUpdateThreadResponse(rsp) +} + +// ThreadServiceUpdateThreadWithResponse UpdateThread +// +// UpdateThread merges attributes (an empty value deletes the entry) and sets +// +// the idle TTL. Every update counts as activity and pushes expires_at out. +// +// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with PATCH /v0/projects/{projectId}/threads/{threadId} (the `ThreadServiceUpdateThread` operationId). +func (c *ClientWithResponses) ThreadServiceUpdateThreadWithResponse(ctx context.Context, projectId string, threadId string, body ThreadServiceUpdateThreadJSONRequestBody, reqEditors ...RequestEditorFn) (*ThreadServiceUpdateThreadResponse, error) { + rsp, err := c.ThreadServiceUpdateThread(ctx, projectId, threadId, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceUpdateThreadResponse(rsp) +} + +// ThreadServiceGetThreadItemsWithResponse GetThreadItems +// +// GetThreadItems returns the thread's chat items, oldest first. +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/items (the `ThreadServiceGetThreadItems` operationId). +func (c *ClientWithResponses) ThreadServiceGetThreadItemsWithResponse(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadItemsParams, reqEditors ...RequestEditorFn) (*ThreadServiceGetThreadItemsResponse, error) { + rsp, err := c.ThreadServiceGetThreadItems(ctx, projectId, threadId, params, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceGetThreadItemsResponse(rsp) +} + +// ThreadServiceGetThreadTasksWithResponse GetThreadTasks +// +// GetThreadTasks returns the thread's background tasks, oldest first. +// +// Returns a wrapper object for the known response body format(s). +// +// Corresponds with GET /v0/projects/{projectId}/threads/{threadId}/tasks (the `ThreadServiceGetThreadTasks` operationId). +func (c *ClientWithResponses) ThreadServiceGetThreadTasksWithResponse(ctx context.Context, projectId string, threadId string, params *ThreadServiceGetThreadTasksParams, reqEditors ...RequestEditorFn) (*ThreadServiceGetThreadTasksResponse, error) { + rsp, err := c.ThreadServiceGetThreadTasks(ctx, projectId, threadId, params, reqEditors...) + if err != nil { + return nil, err + } + return ParseThreadServiceGetThreadTasksResponse(rsp) +} + // ProjectServiceCreateTokenWithBodyWithResponse CreateToken // // CreateToken mints a short-lived LiveKit access token for the project, @@ -20116,7 +22827,7 @@ func (c *ClientWithResponses) SimulationServiceCountSimulationRunsWithResponse(c // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). +// Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). func (c *ClientWithResponses) ProjectServiceCreateTokenWithBodyWithResponse(ctx context.Context, projectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*ProjectServiceCreateTokenResponse, error) { rsp, err := c.ProjectServiceCreateTokenWithBody(ctx, projectId, contentType, body, reqEditors...) if err != nil { @@ -20134,7 +22845,7 @@ func (c *ClientWithResponses) ProjectServiceCreateTokenWithBodyWithResponse(ctx // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). +// Corresponds with POST /v0/projects/{projectId}/tokens (the `ProjectServiceCreateToken` operationId). func (c *ClientWithResponses) ProjectServiceCreateTokenWithResponse(ctx context.Context, projectId string, body ProjectServiceCreateTokenJSONRequestBody, reqEditors ...RequestEditorFn) (*ProjectServiceCreateTokenResponse, error) { rsp, err := c.ProjectServiceCreateToken(ctx, projectId, body, reqEditors...) if err != nil { @@ -20147,7 +22858,7 @@ func (c *ClientWithResponses) ProjectServiceCreateTokenWithResponse(ctx context. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/users (the `UserServiceListUsers` operationId). +// Corresponds with GET /v0/users (the `UserServiceListUsers` operationId). func (c *ClientWithResponses) UserServiceListUsersWithResponse(ctx context.Context, params *UserServiceListUsersParams, reqEditors ...RequestEditorFn) (*UserServiceListUsersResponse, error) { rsp, err := c.UserServiceListUsers(ctx, params, reqEditors...) if err != nil { @@ -20160,7 +22871,7 @@ func (c *ClientWithResponses) UserServiceListUsersWithResponse(ctx context.Conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/users/me (the `UserServiceGetCurrentUser` operationId). +// Corresponds with GET /v0/users/me (the `UserServiceGetCurrentUser` operationId). func (c *ClientWithResponses) UserServiceGetCurrentUserWithResponse(ctx context.Context, reqEditors ...RequestEditorFn) (*UserServiceGetCurrentUserResponse, error) { rsp, err := c.UserServiceGetCurrentUser(ctx, reqEditors...) if err != nil { @@ -20173,7 +22884,7 @@ func (c *ClientWithResponses) UserServiceGetCurrentUserWithResponse(ctx context. // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/users/{userId} (the `UserServiceGetUser` operationId). +// Corresponds with GET /v0/users/{userId} (the `UserServiceGetUser` operationId). func (c *ClientWithResponses) UserServiceGetUserWithResponse(ctx context.Context, userId string, reqEditors ...RequestEditorFn) (*UserServiceGetUserResponse, error) { rsp, err := c.UserServiceGetUser(ctx, userId, reqEditors...) if err != nil { @@ -20186,7 +22897,7 @@ func (c *ClientWithResponses) UserServiceGetUserWithResponse(ctx context.Context // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). +// Corresponds with GET /v0/workspace-invites/{inviteToken} (the `WorkspaceServiceGetInvite` operationId). func (c *ClientWithResponses) WorkspaceServiceGetInviteWithResponse(ctx context.Context, inviteToken string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetInviteResponse, error) { rsp, err := c.WorkspaceServiceGetInvite(ctx, inviteToken, reqEditors...) if err != nil { @@ -20199,7 +22910,7 @@ func (c *ClientWithResponses) WorkspaceServiceGetInviteWithResponse(ctx context. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). +// Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). func (c *ClientWithResponses) WorkspaceServiceAnswerInviteWithBodyWithResponse(ctx context.Context, inviteToken string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceAnswerInviteResponse, error) { rsp, err := c.WorkspaceServiceAnswerInviteWithBody(ctx, inviteToken, contentType, body, reqEditors...) if err != nil { @@ -20212,7 +22923,7 @@ func (c *ClientWithResponses) WorkspaceServiceAnswerInviteWithBodyWithResponse(c // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). +// Corresponds with POST /v0/workspace-invites/{inviteToken}:answer (the `WorkspaceServiceAnswerInvite` operationId). func (c *ClientWithResponses) WorkspaceServiceAnswerInviteWithResponse(ctx context.Context, inviteToken string, body WorkspaceServiceAnswerInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceAnswerInviteResponse, error) { rsp, err := c.WorkspaceServiceAnswerInvite(ctx, inviteToken, body, reqEditors...) if err != nil { @@ -20225,7 +22936,7 @@ func (c *ClientWithResponses) WorkspaceServiceAnswerInviteWithResponse(ctx conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces (the `WorkspaceServiceListWorkspaces` operationId). +// Corresponds with GET /v0/workspaces (the `WorkspaceServiceListWorkspaces` operationId). func (c *ClientWithResponses) WorkspaceServiceListWorkspacesWithResponse(ctx context.Context, params *WorkspaceServiceListWorkspacesParams, reqEditors ...RequestEditorFn) (*WorkspaceServiceListWorkspacesResponse, error) { rsp, err := c.WorkspaceServiceListWorkspaces(ctx, params, reqEditors...) if err != nil { @@ -20238,7 +22949,7 @@ func (c *ClientWithResponses) WorkspaceServiceListWorkspacesWithResponse(ctx con // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). +// Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). func (c *ClientWithResponses) WorkspaceServiceCreateWorkspaceWithBodyWithResponse(ctx context.Context, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateWorkspaceResponse, error) { rsp, err := c.WorkspaceServiceCreateWorkspaceWithBody(ctx, contentType, body, reqEditors...) if err != nil { @@ -20251,7 +22962,7 @@ func (c *ClientWithResponses) WorkspaceServiceCreateWorkspaceWithBodyWithRespons // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). +// Corresponds with POST /v0/workspaces (the `WorkspaceServiceCreateWorkspace` operationId). func (c *ClientWithResponses) WorkspaceServiceCreateWorkspaceWithResponse(ctx context.Context, body WorkspaceServiceCreateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateWorkspaceResponse, error) { rsp, err := c.WorkspaceServiceCreateWorkspace(ctx, body, reqEditors...) if err != nil { @@ -20264,7 +22975,7 @@ func (c *ClientWithResponses) WorkspaceServiceCreateWorkspaceWithResponse(ctx co // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). +// Corresponds with DELETE /v0/workspaces/{workspaceId} (the `WorkspaceServiceDeleteWorkspace` operationId). func (c *ClientWithResponses) WorkspaceServiceDeleteWorkspaceWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteWorkspaceResponse, error) { rsp, err := c.WorkspaceServiceDeleteWorkspace(ctx, workspaceId, reqEditors...) if err != nil { @@ -20277,7 +22988,7 @@ func (c *ClientWithResponses) WorkspaceServiceDeleteWorkspaceWithResponse(ctx co // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). +// Corresponds with GET /v0/workspaces/{workspaceId} (the `WorkspaceServiceGetWorkspace` operationId). func (c *ClientWithResponses) WorkspaceServiceGetWorkspaceWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetWorkspaceResponse, error) { rsp, err := c.WorkspaceServiceGetWorkspace(ctx, workspaceId, reqEditors...) if err != nil { @@ -20290,7 +23001,7 @@ func (c *ClientWithResponses) WorkspaceServiceGetWorkspaceWithResponse(ctx conte // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). +// Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). func (c *ClientWithResponses) WorkspaceServiceUpdateWorkspaceWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateWorkspaceResponse, error) { rsp, err := c.WorkspaceServiceUpdateWorkspaceWithBody(ctx, workspaceId, contentType, body, reqEditors...) if err != nil { @@ -20303,7 +23014,7 @@ func (c *ClientWithResponses) WorkspaceServiceUpdateWorkspaceWithBodyWithRespons // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). +// Corresponds with PATCH /v0/workspaces/{workspaceId} (the `WorkspaceServiceUpdateWorkspace` operationId). func (c *ClientWithResponses) WorkspaceServiceUpdateWorkspaceWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceUpdateWorkspaceJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateWorkspaceResponse, error) { rsp, err := c.WorkspaceServiceUpdateWorkspace(ctx, workspaceId, body, reqEditors...) if err != nil { @@ -20316,7 +23027,7 @@ func (c *ClientWithResponses) WorkspaceServiceUpdateWorkspaceWithResponse(ctx co // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). +// Corresponds with GET /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceListInvites` operationId). func (c *ClientWithResponses) WorkspaceServiceListInvitesWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceListInvitesResponse, error) { rsp, err := c.WorkspaceServiceListInvites(ctx, workspaceId, reqEditors...) if err != nil { @@ -20329,7 +23040,7 @@ func (c *ClientWithResponses) WorkspaceServiceListInvitesWithResponse(ctx contex // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). +// Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). func (c *ClientWithResponses) WorkspaceServiceCreateInviteWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateInviteResponse, error) { rsp, err := c.WorkspaceServiceCreateInviteWithBody(ctx, workspaceId, contentType, body, reqEditors...) if err != nil { @@ -20342,7 +23053,7 @@ func (c *ClientWithResponses) WorkspaceServiceCreateInviteWithBodyWithResponse(c // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). +// Corresponds with POST /v0/workspaces/{workspaceId}/invites (the `WorkspaceServiceCreateInvite` operationId). func (c *ClientWithResponses) WorkspaceServiceCreateInviteWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceCreateInviteJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateInviteResponse, error) { rsp, err := c.WorkspaceServiceCreateInvite(ctx, workspaceId, body, reqEditors...) if err != nil { @@ -20355,7 +23066,7 @@ func (c *ClientWithResponses) WorkspaceServiceCreateInviteWithResponse(ctx conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). +// Corresponds with DELETE /v0/workspaces/{workspaceId}/invites/{email} (the `WorkspaceServiceDeleteInvite` operationId). func (c *ClientWithResponses) WorkspaceServiceDeleteInviteWithResponse(ctx context.Context, workspaceId string, email string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteInviteResponse, error) { rsp, err := c.WorkspaceServiceDeleteInvite(ctx, workspaceId, email, reqEditors...) if err != nil { @@ -20370,7 +23081,7 @@ func (c *ClientWithResponses) WorkspaceServiceDeleteInviteWithResponse(ctx conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). +// Corresponds with GET /v0/workspaces/{workspaceId}/members (the `WorkspaceServiceListMembers` operationId). func (c *ClientWithResponses) WorkspaceServiceListMembersWithResponse(ctx context.Context, workspaceId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceListMembersResponse, error) { rsp, err := c.WorkspaceServiceListMembers(ctx, workspaceId, reqEditors...) if err != nil { @@ -20383,7 +23094,7 @@ func (c *ClientWithResponses) WorkspaceServiceListMembersWithResponse(ctx contex // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). +// Corresponds with DELETE /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceDeleteMember` operationId). func (c *ClientWithResponses) WorkspaceServiceDeleteMemberWithResponse(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteMemberResponse, error) { rsp, err := c.WorkspaceServiceDeleteMember(ctx, workspaceId, userId, reqEditors...) if err != nil { @@ -20396,7 +23107,7 @@ func (c *ClientWithResponses) WorkspaceServiceDeleteMemberWithResponse(ctx conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). +// Corresponds with GET /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceGetMember` operationId). func (c *ClientWithResponses) WorkspaceServiceGetMemberWithResponse(ctx context.Context, workspaceId string, userId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetMemberResponse, error) { rsp, err := c.WorkspaceServiceGetMember(ctx, workspaceId, userId, reqEditors...) if err != nil { @@ -20409,7 +23120,7 @@ func (c *ClientWithResponses) WorkspaceServiceGetMemberWithResponse(ctx context. // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). +// Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). func (c *ClientWithResponses) WorkspaceServiceUpdateMemberWithBodyWithResponse(ctx context.Context, workspaceId string, userId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateMemberResponse, error) { rsp, err := c.WorkspaceServiceUpdateMemberWithBody(ctx, workspaceId, userId, contentType, body, reqEditors...) if err != nil { @@ -20422,7 +23133,7 @@ func (c *ClientWithResponses) WorkspaceServiceUpdateMemberWithBodyWithResponse(c // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with PATCH /v1/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). +// Corresponds with PATCH /v0/workspaces/{workspaceId}/members/{userId} (the `WorkspaceServiceUpdateMember` operationId). func (c *ClientWithResponses) WorkspaceServiceUpdateMemberWithResponse(ctx context.Context, workspaceId string, userId string, body WorkspaceServiceUpdateMemberJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateMemberResponse, error) { rsp, err := c.WorkspaceServiceUpdateMember(ctx, workspaceId, userId, body, reqEditors...) if err != nil { @@ -20437,7 +23148,7 @@ func (c *ClientWithResponses) WorkspaceServiceUpdateMemberWithResponse(ctx conte // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). +// Corresponds with GET /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceListProjects` operationId). func (c *ClientWithResponses) WorkspaceServiceListProjectsWithResponse(ctx context.Context, workspaceId string, params *WorkspaceServiceListProjectsParams, reqEditors ...RequestEditorFn) (*WorkspaceServiceListProjectsResponse, error) { rsp, err := c.WorkspaceServiceListProjects(ctx, workspaceId, params, reqEditors...) if err != nil { @@ -20450,7 +23161,7 @@ func (c *ClientWithResponses) WorkspaceServiceListProjectsWithResponse(ctx conte // // Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). +// Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). func (c *ClientWithResponses) WorkspaceServiceCreateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateProjectResponse, error) { rsp, err := c.WorkspaceServiceCreateProjectWithBody(ctx, workspaceId, contentType, body, reqEditors...) if err != nil { @@ -20463,7 +23174,7 @@ func (c *ClientWithResponses) WorkspaceServiceCreateProjectWithBodyWithResponse( // // Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). // -// Corresponds with POST /v1/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). +// Corresponds with POST /v0/workspaces/{workspaceId}/projects (the `WorkspaceServiceCreateProject` operationId). func (c *ClientWithResponses) WorkspaceServiceCreateProjectWithResponse(ctx context.Context, workspaceId string, body WorkspaceServiceCreateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceCreateProjectResponse, error) { rsp, err := c.WorkspaceServiceCreateProject(ctx, workspaceId, body, reqEditors...) if err != nil { @@ -20476,7 +23187,7 @@ func (c *ClientWithResponses) WorkspaceServiceCreateProjectWithResponse(ctx cont // // Returns a wrapper object for the known response body format(s). // -// Corresponds with DELETE /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). +// Corresponds with DELETE /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceDeleteProject` operationId). func (c *ClientWithResponses) WorkspaceServiceDeleteProjectWithResponse(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceDeleteProjectResponse, error) { rsp, err := c.WorkspaceServiceDeleteProject(ctx, workspaceId, projectId, reqEditors...) if err != nil { @@ -20489,57 +23200,187 @@ func (c *ClientWithResponses) WorkspaceServiceDeleteProjectWithResponse(ctx cont // // Returns a wrapper object for the known response body format(s). // -// Corresponds with GET /v1/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). +// Corresponds with GET /v0/workspaces/{workspaceId}/projects/{projectId} (the `WorkspaceServiceGetProject` operationId). func (c *ClientWithResponses) WorkspaceServiceGetProjectWithResponse(ctx context.Context, workspaceId string, projectId string, reqEditors ...RequestEditorFn) (*WorkspaceServiceGetProjectResponse, error) { rsp, err := c.WorkspaceServiceGetProject(ctx, workspaceId, projectId, reqEditors...) if err != nil { return nil, err } - return ParseWorkspaceServiceGetProjectResponse(rsp) + return ParseWorkspaceServiceGetProjectResponse(rsp) +} + +// WorkspaceServiceUpdateProjectWithBodyWithResponse UpdateProject +// +// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). +func (c *ClientWithResponses) WorkspaceServiceUpdateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) { + rsp, err := c.WorkspaceServiceUpdateProjectWithBody(ctx, workspaceId, updateProjectId, contentType, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseWorkspaceServiceUpdateProjectResponse(rsp) +} + +// WorkspaceServiceUpdateProjectWithResponse UpdateProject +// +// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). +// +// Corresponds with PATCH /v0/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). +func (c *ClientWithResponses) WorkspaceServiceUpdateProjectWithResponse(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) { + rsp, err := c.WorkspaceServiceUpdateProject(ctx, workspaceId, updateProjectId, body, reqEditors...) + if err != nil { + return nil, err + } + return ParseWorkspaceServiceUpdateProjectResponse(rsp) +} + +// ParseProjectServiceGetInviteResponse parses an HTTP response from a ProjectServiceGetInviteWithResponse call +func ParseProjectServiceGetInviteResponse(rsp *http.Response) (*ProjectServiceGetInviteResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ProjectServiceGetInviteResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiProjectsV1GetInviteResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseProjectServiceAnswerInvitationResponse parses an HTTP response from a ProjectServiceAnswerInvitationWithResponse call +func ParseProjectServiceAnswerInvitationResponse(rsp *http.Response) (*ProjectServiceAnswerInvitationResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ProjectServiceAnswerInvitationResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiProjectsV1AnswerInvitationResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseProjectServiceListProjectsResponse parses an HTTP response from a ProjectServiceListProjectsWithResponse call +func ParseProjectServiceListProjectsResponse(rsp *http.Response) (*ProjectServiceListProjectsResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ProjectServiceListProjectsResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiProjectsV1ListProjectsResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseProjectServiceCreateProjectResponse parses an HTTP response from a ProjectServiceCreateProjectWithResponse call +func ParseProjectServiceCreateProjectResponse(rsp *http.Response) (*ProjectServiceCreateProjectResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ProjectServiceCreateProjectResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiProjectsV1CreateProjectResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil } -// WorkspaceServiceUpdateProjectWithBodyWithResponse UpdateProject -// -// Takes any type of body and a specified content type, and returns a wrapper object for the known response body format(s). -// -// Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). -func (c *ClientWithResponses) WorkspaceServiceUpdateProjectWithBodyWithResponse(ctx context.Context, workspaceId string, updateProjectId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) { - rsp, err := c.WorkspaceServiceUpdateProjectWithBody(ctx, workspaceId, updateProjectId, contentType, body, reqEditors...) +// ParseProjectServiceDeleteProjectResponse parses an HTTP response from a ProjectServiceDeleteProjectWithResponse call +func ParseProjectServiceDeleteProjectResponse(rsp *http.Response) (*ProjectServiceDeleteProjectResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - return ParseWorkspaceServiceUpdateProjectResponse(rsp) -} -// WorkspaceServiceUpdateProjectWithResponse UpdateProject -// -// Takes a body of the `application/json` content type, and returns a wrapper object for the known response body format(s). -// -// Corresponds with PATCH /v1/workspaces/{workspaceId}/projects/{update.projectId} (the `WorkspaceServiceUpdateProject` operationId). -func (c *ClientWithResponses) WorkspaceServiceUpdateProjectWithResponse(ctx context.Context, workspaceId string, updateProjectId string, body WorkspaceServiceUpdateProjectJSONRequestBody, reqEditors ...RequestEditorFn) (*WorkspaceServiceUpdateProjectResponse, error) { - rsp, err := c.WorkspaceServiceUpdateProject(ctx, workspaceId, updateProjectId, body, reqEditors...) - if err != nil { - return nil, err + response := &ProjectServiceDeleteProjectResponse{ + Body: bodyBytes, + HTTPResponse: rsp, } - return ParseWorkspaceServiceUpdateProjectResponse(rsp) + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiProjectsV1DeleteProjectResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil } -// ParseProjectServiceGetInviteResponse parses an HTTP response from a ProjectServiceGetInviteWithResponse call -func ParseProjectServiceGetInviteResponse(rsp *http.Response) (*ProjectServiceGetInviteResponse, error) { +// ParseProjectServiceGetProjectResponse parses an HTTP response from a ProjectServiceGetProjectWithResponse call +func ParseProjectServiceGetProjectResponse(rsp *http.Response) (*ProjectServiceGetProjectResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceGetInviteResponse{ + response := &ProjectServiceGetProjectResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1GetInviteResponse + var dest LivekitPublicapiProjectsV1GetProjectResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20550,22 +23391,22 @@ func ParseProjectServiceGetInviteResponse(rsp *http.Response) (*ProjectServiceGe return response, nil } -// ParseProjectServiceAnswerInvitationResponse parses an HTTP response from a ProjectServiceAnswerInvitationWithResponse call -func ParseProjectServiceAnswerInvitationResponse(rsp *http.Response) (*ProjectServiceAnswerInvitationResponse, error) { +// ParseProjectServiceUpdateProjectResponse parses an HTTP response from a ProjectServiceUpdateProjectWithResponse call +func ParseProjectServiceUpdateProjectResponse(rsp *http.Response) (*ProjectServiceUpdateProjectResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceAnswerInvitationResponse{ + response := &ProjectServiceUpdateProjectResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1AnswerInvitationResponse + var dest LivekitPublicapiProjectsV1UpdateProjectResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20576,22 +23417,22 @@ func ParseProjectServiceAnswerInvitationResponse(rsp *http.Response) (*ProjectSe return response, nil } -// ParseProjectServiceListProjectsResponse parses an HTTP response from a ProjectServiceListProjectsWithResponse call -func ParseProjectServiceListProjectsResponse(rsp *http.Response) (*ProjectServiceListProjectsResponse, error) { +// ParseAnalyticsServiceGetProjectAnalyticsResponse parses an HTTP response from a AnalyticsServiceGetProjectAnalyticsWithResponse call +func ParseAnalyticsServiceGetProjectAnalyticsResponse(rsp *http.Response) (*AnalyticsServiceGetProjectAnalyticsResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceListProjectsResponse{ + response := &AnalyticsServiceGetProjectAnalyticsResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1ListProjectsResponse + var dest LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20602,22 +23443,22 @@ func ParseProjectServiceListProjectsResponse(rsp *http.Response) (*ProjectServic return response, nil } -// ParseProjectServiceCreateProjectResponse parses an HTTP response from a ProjectServiceCreateProjectWithResponse call -func ParseProjectServiceCreateProjectResponse(rsp *http.Response) (*ProjectServiceCreateProjectResponse, error) { +// ParseAnalyticsServiceListAgentAnalyticsResponse parses an HTTP response from a AnalyticsServiceListAgentAnalyticsWithResponse call +func ParseAnalyticsServiceListAgentAnalyticsResponse(rsp *http.Response) (*AnalyticsServiceListAgentAnalyticsResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceCreateProjectResponse{ + response := &AnalyticsServiceListAgentAnalyticsResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1CreateProjectResponse + var dest LivekitPublicapiAnalyticsV1AgentsListResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20628,22 +23469,22 @@ func ParseProjectServiceCreateProjectResponse(rsp *http.Response) (*ProjectServi return response, nil } -// ParseProjectServiceDeleteProjectResponse parses an HTTP response from a ProjectServiceDeleteProjectWithResponse call -func ParseProjectServiceDeleteProjectResponse(rsp *http.Response) (*ProjectServiceDeleteProjectResponse, error) { +// ParseAnalyticsServiceGetAgentAnalyticsResponse parses an HTTP response from a AnalyticsServiceGetAgentAnalyticsWithResponse call +func ParseAnalyticsServiceGetAgentAnalyticsResponse(rsp *http.Response) (*AnalyticsServiceGetAgentAnalyticsResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceDeleteProjectResponse{ + response := &AnalyticsServiceGetAgentAnalyticsResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1DeleteProjectResponse + var dest LivekitPublicapiAnalyticsV1AgentsGetResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20654,22 +23495,22 @@ func ParseProjectServiceDeleteProjectResponse(rsp *http.Response) (*ProjectServi return response, nil } -// ParseProjectServiceGetProjectResponse parses an HTTP response from a ProjectServiceGetProjectWithResponse call -func ParseProjectServiceGetProjectResponse(rsp *http.Response) (*ProjectServiceGetProjectResponse, error) { +// ParseDatabaseServiceListDatabasesResponse parses an HTTP response from a DatabaseServiceListDatabasesWithResponse call +func ParseDatabaseServiceListDatabasesResponse(rsp *http.Response) (*DatabaseServiceListDatabasesResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceGetProjectResponse{ + response := &DatabaseServiceListDatabasesResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1GetProjectResponse + var dest LivekitPublicapiDatabasesV1DatabasesListResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20680,22 +23521,22 @@ func ParseProjectServiceGetProjectResponse(rsp *http.Response) (*ProjectServiceG return response, nil } -// ParseProjectServiceUpdateProjectResponse parses an HTTP response from a ProjectServiceUpdateProjectWithResponse call -func ParseProjectServiceUpdateProjectResponse(rsp *http.Response) (*ProjectServiceUpdateProjectResponse, error) { +// ParseDatabaseServiceCreateDatabaseResponse parses an HTTP response from a DatabaseServiceCreateDatabaseWithResponse call +func ParseDatabaseServiceCreateDatabaseResponse(rsp *http.Response) (*DatabaseServiceCreateDatabaseResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &ProjectServiceUpdateProjectResponse{ + response := &DatabaseServiceCreateDatabaseResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiProjectsV1UpdateProjectResponse + var dest LivekitPublicapiDatabasesV1DatabasesCreateResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20706,22 +23547,22 @@ func ParseProjectServiceUpdateProjectResponse(rsp *http.Response) (*ProjectServi return response, nil } -// ParseAnalyticsServiceGetProjectAnalyticsResponse parses an HTTP response from a AnalyticsServiceGetProjectAnalyticsWithResponse call -func ParseAnalyticsServiceGetProjectAnalyticsResponse(rsp *http.Response) (*AnalyticsServiceGetProjectAnalyticsResponse, error) { +// ParseDatabaseServiceDeleteDatabaseResponse parses an HTTP response from a DatabaseServiceDeleteDatabaseWithResponse call +func ParseDatabaseServiceDeleteDatabaseResponse(rsp *http.Response) (*DatabaseServiceDeleteDatabaseResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &AnalyticsServiceGetProjectAnalyticsResponse{ + response := &DatabaseServiceDeleteDatabaseResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiAnalyticsV1ProjectOverviewGetResponse + var dest LivekitPublicapiDatabasesV1DatabasesDeleteResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20732,22 +23573,22 @@ func ParseAnalyticsServiceGetProjectAnalyticsResponse(rsp *http.Response) (*Anal return response, nil } -// ParseAnalyticsServiceListAgentAnalyticsResponse parses an HTTP response from a AnalyticsServiceListAgentAnalyticsWithResponse call -func ParseAnalyticsServiceListAgentAnalyticsResponse(rsp *http.Response) (*AnalyticsServiceListAgentAnalyticsResponse, error) { +// ParseDatabaseServiceGetDatabaseResponse parses an HTTP response from a DatabaseServiceGetDatabaseWithResponse call +func ParseDatabaseServiceGetDatabaseResponse(rsp *http.Response) (*DatabaseServiceGetDatabaseResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &AnalyticsServiceListAgentAnalyticsResponse{ + response := &DatabaseServiceGetDatabaseResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiAnalyticsV1AgentsListResponse + var dest LivekitPublicapiDatabasesV1DatabasesGetResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -20758,22 +23599,22 @@ func ParseAnalyticsServiceListAgentAnalyticsResponse(rsp *http.Response) (*Analy return response, nil } -// ParseAnalyticsServiceGetAgentAnalyticsResponse parses an HTTP response from a AnalyticsServiceGetAgentAnalyticsWithResponse call -func ParseAnalyticsServiceGetAgentAnalyticsResponse(rsp *http.Response) (*AnalyticsServiceGetAgentAnalyticsResponse, error) { +// ParseDatabaseServiceExportDatabaseResponse parses an HTTP response from a DatabaseServiceExportDatabaseWithResponse call +func ParseDatabaseServiceExportDatabaseResponse(rsp *http.Response) (*DatabaseServiceExportDatabaseResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) defer func() { _ = rsp.Body.Close() }() if err != nil { return nil, err } - response := &AnalyticsServiceGetAgentAnalyticsResponse{ + response := &DatabaseServiceExportDatabaseResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest LivekitPublicapiAnalyticsV1AgentsGetResponse + var dest LivekitPublicapiDatabasesV1DatabasesExportResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } @@ -21564,6 +24405,188 @@ func ParseSimulationServiceCountSimulationRunsResponse(rsp *http.Response) (*Sim return response, nil } +// ParseThreadServiceListThreadsResponse parses an HTTP response from a ThreadServiceListThreadsWithResponse call +func ParseThreadServiceListThreadsResponse(rsp *http.Response) (*ThreadServiceListThreadsResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceListThreadsResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsListResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseThreadServiceCreateThreadResponse parses an HTTP response from a ThreadServiceCreateThreadWithResponse call +func ParseThreadServiceCreateThreadResponse(rsp *http.Response) (*ThreadServiceCreateThreadResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceCreateThreadResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsCreateResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseThreadServiceDeleteThreadResponse parses an HTTP response from a ThreadServiceDeleteThreadWithResponse call +func ParseThreadServiceDeleteThreadResponse(rsp *http.Response) (*ThreadServiceDeleteThreadResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceDeleteThreadResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsDeleteResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseThreadServiceGetThreadResponse parses an HTTP response from a ThreadServiceGetThreadWithResponse call +func ParseThreadServiceGetThreadResponse(rsp *http.Response) (*ThreadServiceGetThreadResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceGetThreadResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsGetResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseThreadServiceUpdateThreadResponse parses an HTTP response from a ThreadServiceUpdateThreadWithResponse call +func ParseThreadServiceUpdateThreadResponse(rsp *http.Response) (*ThreadServiceUpdateThreadResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceUpdateThreadResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsUpdateResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseThreadServiceGetThreadItemsResponse parses an HTTP response from a ThreadServiceGetThreadItemsWithResponse call +func ParseThreadServiceGetThreadItemsResponse(rsp *http.Response) (*ThreadServiceGetThreadItemsResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceGetThreadItemsResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsItemsResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseThreadServiceGetThreadTasksResponse parses an HTTP response from a ThreadServiceGetThreadTasksWithResponse call +func ParseThreadServiceGetThreadTasksResponse(rsp *http.Response) (*ThreadServiceGetThreadTasksResponse, error) { + bodyBytes, err := io.ReadAll(rsp.Body) + defer func() { _ = rsp.Body.Close() }() + if err != nil { + return nil, err + } + + response := &ThreadServiceGetThreadTasksResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest LivekitPublicapiThreadsV1ThreadsTasksResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + // ParseProjectServiceCreateTokenResponse parses an HTTP response from a ProjectServiceCreateTokenWithResponse call func ParseProjectServiceCreateTokenResponse(rsp *http.Response) (*ProjectServiceCreateTokenResponse, error) { bodyBytes, err := io.ReadAll(rsp.Body) diff --git a/pkg/public/observability_test.go b/pkg/public/observability_test.go index 4b4aabc5..fb53df0d 100644 --- a/pkg/public/observability_test.go +++ b/pkg/public/observability_test.go @@ -61,7 +61,7 @@ func TestGetSessionRecordingURL(t *testing.T) { res, err := c.GetSessionRecordingURL(context.Background(), "p1", "RM_1", RecordingURLOptions{Recording: tt.recording}) require.NoError(t, err) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/recording-url", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/recording-url", gotPath) assert.Equal(t, url.Values{"fileType": {tt.want}}, gotQuery) assert.Equal(t, "Bearer sekret", gotAuth) assert.Equal(t, "https://bucket.example/rec?sig=x", *res.Url) @@ -381,7 +381,7 @@ func TestGetSessionTranscript(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/transcript", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/transcript", gotPath) assert.Equal(t, tt.want, gotQuery) assert.Equal(t, "next", page.NextCursor) @@ -544,7 +544,7 @@ func TestGetSessionLogs(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/logs", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/logs", gotPath) assert.Equal(t, tt.want, gotQuery) assert.Equal(t, "next", page.NextCursor) @@ -719,7 +719,7 @@ func TestGetSessionTraces(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/traces", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/traces", gotPath) assert.Equal(t, tt.want, gotQuery) assert.Equal(t, "next", page.NextCursor) @@ -895,7 +895,7 @@ func TestGetSessionMetrics(t *testing.T) { require.NoError(t, err) assert.Equal(t, "Bearer sekret", gotAuth) - assert.Equal(t, "/v1/projects/p1/sessions/RM_1/metrics", gotPath) + assert.Equal(t, "/v0/projects/p1/sessions/RM_1/metrics", gotPath) assert.Equal(t, tt.want, gotQuery) assert.Equal(t, "next", page.NextCursor)