@miradorlabs/web-grpc 3.14.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -838,21 +838,20 @@ export interface SessionFilter {
838
838
  }
839
839
 
840
840
  /**
841
- * AISessionFilter selects conversations. Non-empty fields are ANDed; within a
842
- * repeated field the values are ORed (any-of). source_system matches by equality;
843
- * user_id / api_key_id / model / provider / effort match the whole conversation's folded sets.
844
- * active_after selects conversations active at or after the instant (the period selector).
845
- * model / provider / effort take stored names (expand a display name through ReferenceGatewayService);
846
- * "" in effort matches calls that reported no effort.
841
+ * AISessionFilter narrows the model-call aggregates (StreamTokenActivitySummary, StreamBurnRate,
842
+ * ListResourceRankings) by the conversation's attributes. Fields AND; a repeated field matches any of its
843
+ * values; an unset or empty field does not filter. source_systems match by equality; user_ids /
844
+ * api_key_ids / models / providers / efforts match the whole conversation's folded sets. models /
845
+ * providers / efforts take stored names (expand a display name through ReferenceGatewayService); "" in
846
+ * efforts matches calls that reported no effort. The request's time window is the range.
847
847
  */
848
848
  export interface AISessionFilter {
849
- sourceSystem: string[];
850
- userId: string[];
851
- apiKeyId: string[];
852
- model: string[];
853
- provider: string[];
854
- activeAfter?: Date | undefined;
855
- effort: string[];
849
+ sourceSystems: string[];
850
+ userIds: string[];
851
+ apiKeyIds: string[];
852
+ models: string[];
853
+ providers: string[];
854
+ efforts: string[];
856
855
  }
857
856
 
858
857
  export interface ListSessionsResponse {
@@ -931,9 +930,9 @@ export interface AISessionSummary {
931
930
  export interface StreamSessionsRequest {
932
931
  organizationId: string;
933
932
  projectId: string;
934
- /** ListSessions' conversation fields; clients, principals and search are ListSessions-only. */
933
+ /** ListSessions' filter, applied the same way. */
935
934
  filter:
936
- | AISessionFilter
935
+ | SessionFilter
937
936
  | undefined;
938
937
  /** Live first-page size; server default when 0. */
939
938
  perPage: number;
@@ -965,19 +964,24 @@ export interface ListSessionEventsRequest {
965
964
  /** session_id + source_system session identity. */
966
965
  sessionId: string;
967
966
  sourceSystem: string;
967
+ filter:
968
+ | SessionEventFilter
969
+ | undefined;
970
+ /** 1..1000; server default when 0. */
971
+ pageSize: number;
972
+ /** EXCLUSIVE: a prior next_page_token, sent with the same filter; empty starts at the filter's first event. */
973
+ pageToken: string;
974
+ }
975
+
976
+ /** SessionEventFilter narrows one session's events. Fields AND; an unset field does not filter. */
977
+ export interface SessionEventFilter {
968
978
  /**
969
- * EXCLUSIVE keyset cursor from a prior next_cursor; empty starts at the oldest event.
970
- * Mutually exclusive with start_cursor.
971
- */
972
- cursor: string;
973
- perPage: number;
974
- /**
975
- * INCLUSIVE seek: start the page AT this event (>=) — for "open in transcript" /
976
- * prompt-walker jumps. Mutually exclusive with cursor.
979
+ * INCLUSIVE seek: start AT this event (>=) — for "open in transcript" / prompt-walker jumps.
980
+ * Takes an event's cursor or a timeline point's cursor.
977
981
  */
978
- startCursor: string;
982
+ startAtEvent: string;
979
983
  /**
980
- * Optional half-open [start_time, end_time) window on EventTime — a brushed timeline
984
+ * Half-open [start_time, end_time) window on EventTime — a brushed timeline
981
985
  * range returns exactly that transcript slice. Either bound may be absent.
982
986
  */
983
987
  startTime: Date | undefined;
@@ -987,7 +991,7 @@ export interface ListSessionEventsRequest {
987
991
  export interface ListSessionEventsResponse {
988
992
  status: ResponseStatus | undefined;
989
993
  events: AISessionEvent[];
990
- nextCursor: string;
994
+ nextPageToken: string;
991
995
  }
992
996
 
993
997
  export interface StreamSessionEventsRequest {
@@ -995,8 +999,8 @@ export interface StreamSessionEventsRequest {
995
999
  projectId: string;
996
1000
  sessionId: string;
997
1001
  sourceSystem: string;
998
- /** Optional resume cursor for the tail after a reconnect. */
999
- cursor: string;
1002
+ /** Optional: the last delivered event's cursor, to resume the tail after a reconnect. */
1003
+ resumeToken: string;
1000
1004
  }
1001
1005
 
1002
1006
  export interface AISessionEventEnvelope {
@@ -1112,7 +1116,7 @@ export interface SessionTokenTimeline {
1112
1116
 
1113
1117
  /**
1114
1118
  * SessionPromptAnchor mirrors telemetry.api.v1.SessionPromptAnchor: one prompt boundary. cursor is
1115
- * the inclusive ListSessionEvents.start_cursor that opens the transcript at this prompt.
1119
+ * the inclusive ListSessionEvents filter.start_at_event that opens the transcript at this prompt.
1116
1120
  */
1117
1121
  export interface SessionPromptAnchor {
1118
1122
  logicalEventId: string;
@@ -1170,7 +1174,7 @@ export interface SessionModelUsage {
1170
1174
 
1171
1175
  /**
1172
1176
  * SessionTimelinePoint is one content-free logical event. usage is present only for a settled
1173
- * model call; cursor is the INCLUSIVE ListSessionEvents.start_cursor that opens the transcript
1177
+ * model call; cursor is the INCLUSIVE ListSessionEvents filter.start_at_event that opens the transcript
1174
1178
  * at this event; duration_ms unset means none recorded (not 0 ms).
1175
1179
  */
1176
1180
  export interface SessionTimelinePoint {
@@ -1199,9 +1203,9 @@ export interface SessionTimelinePoint {
1199
1203
  */
1200
1204
  export interface AIGitActivityFilter {
1201
1205
  /** both halves required */
1202
- session: AISessionRef[];
1203
- eventTimeAfter?: Date | undefined;
1204
- eventTimeBefore?: Date | undefined;
1206
+ sessions: AISessionRef[];
1207
+ eventTimeAfter: Date | undefined;
1208
+ eventTimeBefore: Date | undefined;
1205
1209
  }
1206
1210
 
1207
1211
  export interface ListGitActivitiesRequest {
@@ -1277,7 +1281,7 @@ export interface GitActivitySummaryRequest {
1277
1281
  organizationId: string;
1278
1282
  projectId: string;
1279
1283
  /**
1280
- * filter's session applies; its event-time bounds are ignored (time_window is the
1284
+ * filter's sessions apply; its event-time bounds are rejected (time_window is the
1281
1285
  * range).
1282
1286
  */
1283
1287
  filter:
@@ -1335,10 +1339,7 @@ export interface GitActivityMeasures {
1335
1339
  export interface TokenActivitySummaryRequest {
1336
1340
  organizationId: string;
1337
1341
  projectId: string;
1338
- /**
1339
- * filter's model / provider / source_system / user_id / api_key_id apply; its active_after is ignored
1340
- * (time_window is the range).
1341
- */
1342
+ /** Every field narrows the burn; time_window is the range. */
1342
1343
  filter:
1343
1344
  | AISessionFilter
1344
1345
  | undefined;
@@ -1384,7 +1385,7 @@ export interface TokenActivityMeasures {
1384
1385
  export interface BurnRateRequest {
1385
1386
  organizationId: string;
1386
1387
  projectId: string;
1387
- /** model / provider / source_system / user_id / api_key_id narrow current + sparkline; active_after ignored. */
1388
+ /** Every field narrows current + sparkline. */
1388
1389
  filter:
1389
1390
  | AISessionFilter
1390
1391
  | undefined;
@@ -1582,7 +1583,7 @@ export interface ActivityRhythmBucket {
1582
1583
  export interface ProjectOverviewRequest {
1583
1584
  organizationId: string;
1584
1585
  projectId: string;
1585
- activeAfter?: Date | undefined;
1586
+ activeAfter: Date | undefined;
1586
1587
  topSessions: number;
1587
1588
  }
1588
1589
 
@@ -1640,7 +1641,7 @@ export interface ResourceRankingsRequest {
1640
1641
  filter: AISessionFilter | undefined;
1641
1642
  dimension: AIResourceDimension;
1642
1643
  timeWindow: AnalyticsTimeWindow;
1643
- topN: number;
1644
+ limit: number;
1644
1645
  }
1645
1646
 
1646
1647
  export interface ResourceRankingsResponse {
@@ -1769,16 +1770,16 @@ export interface AISessionRef {
1769
1770
  }
1770
1771
 
1771
1772
  export interface AIFileFilter {
1772
- repositoryKey: string[];
1773
- ref: string[];
1774
- state: AIFileLifecycle[];
1775
- tier: AIFileTier[];
1773
+ repositoryKeys: string[];
1774
+ refs: string[];
1775
+ states: AIFileLifecycle[];
1776
+ tiers: AIFileTier[];
1776
1777
  /** both halves required */
1777
- session: AISessionRef[];
1778
- minAge?: Duration | undefined;
1779
- activeAfter?: Date | undefined;
1780
- activeBefore?: Date | undefined;
1781
- abandonedHorizon?: Duration | undefined;
1778
+ sessions: AISessionRef[];
1779
+ minAge: Duration | undefined;
1780
+ activeAfter: Date | undefined;
1781
+ activeBefore: Date | undefined;
1782
+ abandonedHorizon: Duration | undefined;
1782
1783
  }
1783
1784
 
1784
1785
  export interface ListFilesRequest {
@@ -1830,7 +1831,7 @@ export interface FilesSummaryRequest {
1830
1831
  organizationId: string;
1831
1832
  projectId: string;
1832
1833
  filter: AIFileFilter | undefined;
1833
- abandonedHorizon?: Duration | undefined;
1834
+ abandonedHorizon: Duration | undefined;
1834
1835
  groupBy: AIFileGroupBy;
1835
1836
  }
1836
1837
 
@@ -1886,10 +1887,10 @@ export interface ListModelPricesRequest {
1886
1887
  * fields). Filter on a display name by sending every stored name the reference registry maps onto it.
1887
1888
  */
1888
1889
  export interface AIModelPriceFilter {
1889
- source: string[];
1890
- biller: string[];
1891
- modelRaw: string[];
1892
- providerRaw: string[];
1890
+ sources: string[];
1891
+ billers: string[];
1892
+ modelRaws: string[];
1893
+ providerRaws: string[];
1893
1894
  }
1894
1895
 
1895
1896
  export interface ListModelPricesResponse {
@@ -1902,21 +1903,26 @@ export interface ListModelPricesResponse {
1902
1903
  export interface ListModelPriceHistoryRequest {
1903
1904
  organizationId: string;
1904
1905
  projectId: string;
1905
- /** model_raw is required; source, biller and provider_raw narrow it further. */
1906
+ /** model_raws is required; sources, billers and provider_raws narrow it further. */
1906
1907
  filter:
1907
1908
  | AIModelPriceFilter
1908
1909
  | undefined;
1909
1910
  /** Half-open [start_time, end_time); either may be unset to read to that end. */
1910
1911
  startTime: Date | undefined;
1911
- endTime: Date | undefined;
1912
+ endTime:
1913
+ | Date
1914
+ | undefined;
1915
+ /** 1..1000 observations; server default when 0. */
1912
1916
  pageSize: number;
1917
+ /** A prior next_page_token, sent with the same filter and range; empty starts at the first observation. */
1918
+ pageToken: string;
1913
1919
  }
1914
1920
 
1915
1921
  export interface ListModelPriceHistoryResponse {
1916
1922
  status: ResponseStatus | undefined;
1917
1923
  prices: AIModelPrice[];
1918
- /** page_size cut the series short — older observations exist beyond the last row. */
1919
- truncated: boolean;
1924
+ /** Empty once the last page has been returned. */
1925
+ nextPageToken: string;
1920
1926
  }
1921
1927
 
1922
1928
  /**
@@ -2486,30 +2492,27 @@ export const SessionFilter: MessageFns<SessionFilter> = {
2486
2492
  };
2487
2493
 
2488
2494
  function createBaseAISessionFilter(): AISessionFilter {
2489
- return { sourceSystem: [], userId: [], apiKeyId: [], model: [], provider: [], activeAfter: undefined, effort: [] };
2495
+ return { sourceSystems: [], userIds: [], apiKeyIds: [], models: [], providers: [], efforts: [] };
2490
2496
  }
2491
2497
 
2492
2498
  export const AISessionFilter: MessageFns<AISessionFilter> = {
2493
2499
  encode(message: AISessionFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
2494
- for (const v of message.sourceSystem) {
2500
+ for (const v of message.sourceSystems) {
2495
2501
  writer.uint32(10).string(v!);
2496
2502
  }
2497
- for (const v of message.userId) {
2503
+ for (const v of message.userIds) {
2498
2504
  writer.uint32(18).string(v!);
2499
2505
  }
2500
- for (const v of message.apiKeyId) {
2506
+ for (const v of message.apiKeyIds) {
2501
2507
  writer.uint32(26).string(v!);
2502
2508
  }
2503
- for (const v of message.model) {
2509
+ for (const v of message.models) {
2504
2510
  writer.uint32(34).string(v!);
2505
2511
  }
2506
- for (const v of message.provider) {
2512
+ for (const v of message.providers) {
2507
2513
  writer.uint32(42).string(v!);
2508
2514
  }
2509
- if (message.activeAfter !== undefined) {
2510
- Timestamp.encode(toTimestamp(message.activeAfter), writer.uint32(50).fork()).join();
2511
- }
2512
- for (const v of message.effort) {
2515
+ for (const v of message.efforts) {
2513
2516
  writer.uint32(58).string(v!);
2514
2517
  }
2515
2518
  return writer;
@@ -2533,7 +2536,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2533
2536
  break;
2534
2537
  }
2535
2538
 
2536
- message.sourceSystem.push(reader.string());
2539
+ message.sourceSystems.push(reader.string());
2537
2540
  continue;
2538
2541
  }
2539
2542
  case 2: {
@@ -2541,7 +2544,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2541
2544
  break;
2542
2545
  }
2543
2546
 
2544
- message.userId.push(reader.string());
2547
+ message.userIds.push(reader.string());
2545
2548
  continue;
2546
2549
  }
2547
2550
  case 3: {
@@ -2549,7 +2552,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2549
2552
  break;
2550
2553
  }
2551
2554
 
2552
- message.apiKeyId.push(reader.string());
2555
+ message.apiKeyIds.push(reader.string());
2553
2556
  continue;
2554
2557
  }
2555
2558
  case 4: {
@@ -2557,7 +2560,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2557
2560
  break;
2558
2561
  }
2559
2562
 
2560
- message.model.push(reader.string());
2563
+ message.models.push(reader.string());
2561
2564
  continue;
2562
2565
  }
2563
2566
  case 5: {
@@ -2565,15 +2568,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2565
2568
  break;
2566
2569
  }
2567
2570
 
2568
- message.provider.push(reader.string());
2569
- continue;
2570
- }
2571
- case 6: {
2572
- if (tag !== 50) {
2573
- break;
2574
- }
2575
-
2576
- message.activeAfter = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
2571
+ message.providers.push(reader.string());
2577
2572
  continue;
2578
2573
  }
2579
2574
  case 7: {
@@ -2581,7 +2576,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2581
2576
  break;
2582
2577
  }
2583
2578
 
2584
- message.effort.push(reader.string());
2579
+ message.efforts.push(reader.string());
2585
2580
  continue;
2586
2581
  }
2587
2582
  }
@@ -2598,56 +2593,48 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2598
2593
 
2599
2594
  fromJSON(object: any): AISessionFilter {
2600
2595
  return {
2601
- sourceSystem: globalThis.Array.isArray(object?.sourceSystem)
2602
- ? object.sourceSystem.map((e: any) => globalThis.String(e))
2603
- : globalThis.Array.isArray(object?.source_system)
2604
- ? object.source_system.map((e: any) => globalThis.String(e))
2596
+ sourceSystems: globalThis.Array.isArray(object?.sourceSystems)
2597
+ ? object.sourceSystems.map((e: any) => globalThis.String(e))
2598
+ : globalThis.Array.isArray(object?.source_systems)
2599
+ ? object.source_systems.map((e: any) => globalThis.String(e))
2605
2600
  : [],
2606
- userId: globalThis.Array.isArray(object?.userId)
2607
- ? object.userId.map((e: any) => globalThis.String(e))
2608
- : globalThis.Array.isArray(object?.user_id)
2609
- ? object.user_id.map((e: any) => globalThis.String(e))
2601
+ userIds: globalThis.Array.isArray(object?.userIds)
2602
+ ? object.userIds.map((e: any) => globalThis.String(e))
2603
+ : globalThis.Array.isArray(object?.user_ids)
2604
+ ? object.user_ids.map((e: any) => globalThis.String(e))
2610
2605
  : [],
2611
- apiKeyId: globalThis.Array.isArray(object?.apiKeyId)
2612
- ? object.apiKeyId.map((e: any) => globalThis.String(e))
2613
- : globalThis.Array.isArray(object?.api_key_id)
2614
- ? object.api_key_id.map((e: any) => globalThis.String(e))
2606
+ apiKeyIds: globalThis.Array.isArray(object?.apiKeyIds)
2607
+ ? object.apiKeyIds.map((e: any) => globalThis.String(e))
2608
+ : globalThis.Array.isArray(object?.api_key_ids)
2609
+ ? object.api_key_ids.map((e: any) => globalThis.String(e))
2615
2610
  : [],
2616
- model: globalThis.Array.isArray(object?.model) ? object.model.map((e: any) => globalThis.String(e)) : [],
2617
- provider: globalThis.Array.isArray(object?.provider) ? object.provider.map((e: any) => globalThis.String(e)) : [],
2618
- activeAfter: isSet(object.activeAfter)
2619
- ? fromJsonTimestamp(object.activeAfter)
2620
- : isSet(object.active_after)
2621
- ? fromJsonTimestamp(object.active_after)
2622
- : undefined,
2623
- effort: globalThis.Array.isArray(object?.effort)
2624
- ? object.effort.map((e: any) => globalThis.String(e))
2611
+ models: globalThis.Array.isArray(object?.models) ? object.models.map((e: any) => globalThis.String(e)) : [],
2612
+ providers: globalThis.Array.isArray(object?.providers)
2613
+ ? object.providers.map((e: any) => globalThis.String(e))
2625
2614
  : [],
2615
+ efforts: globalThis.Array.isArray(object?.efforts) ? object.efforts.map((e: any) => globalThis.String(e)) : [],
2626
2616
  };
2627
2617
  },
2628
2618
 
2629
2619
  toJSON(message: AISessionFilter): unknown {
2630
2620
  const obj: any = {};
2631
- if (message.sourceSystem?.length) {
2632
- obj.sourceSystem = message.sourceSystem;
2633
- }
2634
- if (message.userId?.length) {
2635
- obj.userId = message.userId;
2621
+ if (message.sourceSystems?.length) {
2622
+ obj.sourceSystems = message.sourceSystems;
2636
2623
  }
2637
- if (message.apiKeyId?.length) {
2638
- obj.apiKeyId = message.apiKeyId;
2624
+ if (message.userIds?.length) {
2625
+ obj.userIds = message.userIds;
2639
2626
  }
2640
- if (message.model?.length) {
2641
- obj.model = message.model;
2627
+ if (message.apiKeyIds?.length) {
2628
+ obj.apiKeyIds = message.apiKeyIds;
2642
2629
  }
2643
- if (message.provider?.length) {
2644
- obj.provider = message.provider;
2630
+ if (message.models?.length) {
2631
+ obj.models = message.models;
2645
2632
  }
2646
- if (message.activeAfter !== undefined) {
2647
- obj.activeAfter = message.activeAfter.toISOString();
2633
+ if (message.providers?.length) {
2634
+ obj.providers = message.providers;
2648
2635
  }
2649
- if (message.effort?.length) {
2650
- obj.effort = message.effort;
2636
+ if (message.efforts?.length) {
2637
+ obj.efforts = message.efforts;
2651
2638
  }
2652
2639
  return obj;
2653
2640
  },
@@ -2657,13 +2644,12 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2657
2644
  },
2658
2645
  fromPartial<I extends Exact<DeepPartial<AISessionFilter>, I>>(object: I): AISessionFilter {
2659
2646
  const message = createBaseAISessionFilter();
2660
- message.sourceSystem = object.sourceSystem?.map((e) => e) || [];
2661
- message.userId = object.userId?.map((e) => e) || [];
2662
- message.apiKeyId = object.apiKeyId?.map((e) => e) || [];
2663
- message.model = object.model?.map((e) => e) || [];
2664
- message.provider = object.provider?.map((e) => e) || [];
2665
- message.activeAfter = object.activeAfter ?? undefined;
2666
- message.effort = object.effort?.map((e) => e) || [];
2647
+ message.sourceSystems = object.sourceSystems?.map((e) => e) || [];
2648
+ message.userIds = object.userIds?.map((e) => e) || [];
2649
+ message.apiKeyIds = object.apiKeyIds?.map((e) => e) || [];
2650
+ message.models = object.models?.map((e) => e) || [];
2651
+ message.providers = object.providers?.map((e) => e) || [];
2652
+ message.efforts = object.efforts?.map((e) => e) || [];
2667
2653
  return message;
2668
2654
  },
2669
2655
  };
@@ -3647,7 +3633,7 @@ export const StreamSessionsRequest: MessageFns<StreamSessionsRequest> = {
3647
3633
  writer.uint32(18).string(message.projectId);
3648
3634
  }
3649
3635
  if (message.filter !== undefined) {
3650
- AISessionFilter.encode(message.filter, writer.uint32(26).fork()).join();
3636
+ SessionFilter.encode(message.filter, writer.uint32(26).fork()).join();
3651
3637
  }
3652
3638
  if (message.perPage !== 0) {
3653
3639
  writer.uint32(32).int32(message.perPage);
@@ -3692,7 +3678,7 @@ export const StreamSessionsRequest: MessageFns<StreamSessionsRequest> = {
3692
3678
  break;
3693
3679
  }
3694
3680
 
3695
- message.filter = AISessionFilter.decode(reader, reader.uint32());
3681
+ message.filter = SessionFilter.decode(reader, reader.uint32());
3696
3682
  continue;
3697
3683
  }
3698
3684
  case 4: {
@@ -3735,7 +3721,7 @@ export const StreamSessionsRequest: MessageFns<StreamSessionsRequest> = {
3735
3721
  : isSet(object.project_id)
3736
3722
  ? globalThis.String(object.project_id)
3737
3723
  : "",
3738
- filter: isSet(object.filter) ? AISessionFilter.fromJSON(object.filter) : undefined,
3724
+ filter: isSet(object.filter) ? SessionFilter.fromJSON(object.filter) : undefined,
3739
3725
  perPage: isSet(object.perPage)
3740
3726
  ? globalThis.Number(object.perPage)
3741
3727
  : isSet(object.per_page)
@@ -3754,7 +3740,7 @@ export const StreamSessionsRequest: MessageFns<StreamSessionsRequest> = {
3754
3740
  obj.projectId = message.projectId;
3755
3741
  }
3756
3742
  if (message.filter !== undefined) {
3757
- obj.filter = AISessionFilter.toJSON(message.filter);
3743
+ obj.filter = SessionFilter.toJSON(message.filter);
3758
3744
  }
3759
3745
  if (message.perPage !== 0) {
3760
3746
  obj.perPage = Math.round(message.perPage);
@@ -3773,7 +3759,7 @@ export const StreamSessionsRequest: MessageFns<StreamSessionsRequest> = {
3773
3759
  message.organizationId = object.organizationId ?? "";
3774
3760
  message.projectId = object.projectId ?? "";
3775
3761
  message.filter = (object.filter !== undefined && object.filter !== null)
3776
- ? AISessionFilter.fromPartial(object.filter)
3762
+ ? SessionFilter.fromPartial(object.filter)
3777
3763
  : undefined;
3778
3764
  message.perPage = object.perPage ?? 0;
3779
3765
  message.sort = object.sort ?? 0;
@@ -4009,11 +3995,9 @@ function createBaseListSessionEventsRequest(): ListSessionEventsRequest {
4009
3995
  projectId: "",
4010
3996
  sessionId: "",
4011
3997
  sourceSystem: "",
4012
- cursor: "",
4013
- perPage: 0,
4014
- startCursor: "",
4015
- startTime: undefined,
4016
- endTime: undefined,
3998
+ filter: undefined,
3999
+ pageSize: 0,
4000
+ pageToken: "",
4017
4001
  };
4018
4002
  }
4019
4003
 
@@ -4031,20 +4015,14 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4031
4015
  if (message.sourceSystem !== "") {
4032
4016
  writer.uint32(34).string(message.sourceSystem);
4033
4017
  }
4034
- if (message.cursor !== "") {
4035
- writer.uint32(42).string(message.cursor);
4036
- }
4037
- if (message.perPage !== 0) {
4038
- writer.uint32(48).int32(message.perPage);
4039
- }
4040
- if (message.startCursor !== "") {
4041
- writer.uint32(58).string(message.startCursor);
4018
+ if (message.filter !== undefined) {
4019
+ SessionEventFilter.encode(message.filter, writer.uint32(82).fork()).join();
4042
4020
  }
4043
- if (message.startTime !== undefined) {
4044
- Timestamp.encode(toTimestamp(message.startTime), writer.uint32(66).fork()).join();
4021
+ if (message.pageSize !== 0) {
4022
+ writer.uint32(48).int32(message.pageSize);
4045
4023
  }
4046
- if (message.endTime !== undefined) {
4047
- Timestamp.encode(toTimestamp(message.endTime), writer.uint32(74).fork()).join();
4024
+ if (message.pageToken !== "") {
4025
+ writer.uint32(90).string(message.pageToken);
4048
4026
  }
4049
4027
  return writer;
4050
4028
  },
@@ -4094,12 +4072,12 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4094
4072
  message.sourceSystem = reader.string();
4095
4073
  continue;
4096
4074
  }
4097
- case 5: {
4098
- if (tag !== 42) {
4075
+ case 10: {
4076
+ if (tag !== 82) {
4099
4077
  break;
4100
4078
  }
4101
4079
 
4102
- message.cursor = reader.string();
4080
+ message.filter = SessionEventFilter.decode(reader, reader.uint32());
4103
4081
  continue;
4104
4082
  }
4105
4083
  case 6: {
@@ -4107,31 +4085,15 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4107
4085
  break;
4108
4086
  }
4109
4087
 
4110
- message.perPage = reader.int32();
4111
- continue;
4112
- }
4113
- case 7: {
4114
- if (tag !== 58) {
4115
- break;
4116
- }
4117
-
4118
- message.startCursor = reader.string();
4119
- continue;
4120
- }
4121
- case 8: {
4122
- if (tag !== 66) {
4123
- break;
4124
- }
4125
-
4126
- message.startTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
4088
+ message.pageSize = reader.int32();
4127
4089
  continue;
4128
4090
  }
4129
- case 9: {
4130
- if (tag !== 74) {
4091
+ case 11: {
4092
+ if (tag !== 90) {
4131
4093
  break;
4132
4094
  }
4133
4095
 
4134
- message.endTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
4096
+ message.pageToken = reader.string();
4135
4097
  continue;
4136
4098
  }
4137
4099
  }
@@ -4168,27 +4130,17 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4168
4130
  : isSet(object.source_system)
4169
4131
  ? globalThis.String(object.source_system)
4170
4132
  : "",
4171
- cursor: isSet(object.cursor) ? globalThis.String(object.cursor) : "",
4172
- perPage: isSet(object.perPage)
4173
- ? globalThis.Number(object.perPage)
4174
- : isSet(object.per_page)
4175
- ? globalThis.Number(object.per_page)
4133
+ filter: isSet(object.filter) ? SessionEventFilter.fromJSON(object.filter) : undefined,
4134
+ pageSize: isSet(object.pageSize)
4135
+ ? globalThis.Number(object.pageSize)
4136
+ : isSet(object.page_size)
4137
+ ? globalThis.Number(object.page_size)
4176
4138
  : 0,
4177
- startCursor: isSet(object.startCursor)
4178
- ? globalThis.String(object.startCursor)
4179
- : isSet(object.start_cursor)
4180
- ? globalThis.String(object.start_cursor)
4139
+ pageToken: isSet(object.pageToken)
4140
+ ? globalThis.String(object.pageToken)
4141
+ : isSet(object.page_token)
4142
+ ? globalThis.String(object.page_token)
4181
4143
  : "",
4182
- startTime: isSet(object.startTime)
4183
- ? fromJsonTimestamp(object.startTime)
4184
- : isSet(object.start_time)
4185
- ? fromJsonTimestamp(object.start_time)
4186
- : undefined,
4187
- endTime: isSet(object.endTime)
4188
- ? fromJsonTimestamp(object.endTime)
4189
- : isSet(object.end_time)
4190
- ? fromJsonTimestamp(object.end_time)
4191
- : undefined,
4192
4144
  };
4193
4145
  },
4194
4146
 
@@ -4206,20 +4158,14 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4206
4158
  if (message.sourceSystem !== "") {
4207
4159
  obj.sourceSystem = message.sourceSystem;
4208
4160
  }
4209
- if (message.cursor !== "") {
4210
- obj.cursor = message.cursor;
4211
- }
4212
- if (message.perPage !== 0) {
4213
- obj.perPage = Math.round(message.perPage);
4214
- }
4215
- if (message.startCursor !== "") {
4216
- obj.startCursor = message.startCursor;
4161
+ if (message.filter !== undefined) {
4162
+ obj.filter = SessionEventFilter.toJSON(message.filter);
4217
4163
  }
4218
- if (message.startTime !== undefined) {
4219
- obj.startTime = message.startTime.toISOString();
4164
+ if (message.pageSize !== 0) {
4165
+ obj.pageSize = Math.round(message.pageSize);
4220
4166
  }
4221
- if (message.endTime !== undefined) {
4222
- obj.endTime = message.endTime.toISOString();
4167
+ if (message.pageToken !== "") {
4168
+ obj.pageToken = message.pageToken;
4223
4169
  }
4224
4170
  return obj;
4225
4171
  },
@@ -4233,9 +4179,122 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4233
4179
  message.projectId = object.projectId ?? "";
4234
4180
  message.sessionId = object.sessionId ?? "";
4235
4181
  message.sourceSystem = object.sourceSystem ?? "";
4236
- message.cursor = object.cursor ?? "";
4237
- message.perPage = object.perPage ?? 0;
4238
- message.startCursor = object.startCursor ?? "";
4182
+ message.filter = (object.filter !== undefined && object.filter !== null)
4183
+ ? SessionEventFilter.fromPartial(object.filter)
4184
+ : undefined;
4185
+ message.pageSize = object.pageSize ?? 0;
4186
+ message.pageToken = object.pageToken ?? "";
4187
+ return message;
4188
+ },
4189
+ };
4190
+
4191
+ function createBaseSessionEventFilter(): SessionEventFilter {
4192
+ return { startAtEvent: "", startTime: undefined, endTime: undefined };
4193
+ }
4194
+
4195
+ export const SessionEventFilter: MessageFns<SessionEventFilter> = {
4196
+ encode(message: SessionEventFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
4197
+ if (message.startAtEvent !== "") {
4198
+ writer.uint32(10).string(message.startAtEvent);
4199
+ }
4200
+ if (message.startTime !== undefined) {
4201
+ Timestamp.encode(toTimestamp(message.startTime), writer.uint32(18).fork()).join();
4202
+ }
4203
+ if (message.endTime !== undefined) {
4204
+ Timestamp.encode(toTimestamp(message.endTime), writer.uint32(26).fork()).join();
4205
+ }
4206
+ return writer;
4207
+ },
4208
+
4209
+ decode(input: BinaryReader | Uint8Array, length?: number): SessionEventFilter {
4210
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4211
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
4212
+ if (previousRecursionDepth >= 100) {
4213
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
4214
+ }
4215
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
4216
+ try {
4217
+ const end = length === undefined ? reader.len : reader.pos + length;
4218
+ const message = createBaseSessionEventFilter();
4219
+ while (reader.pos < end) {
4220
+ const tag = reader.uint32();
4221
+ switch (tag >>> 3) {
4222
+ case 1: {
4223
+ if (tag !== 10) {
4224
+ break;
4225
+ }
4226
+
4227
+ message.startAtEvent = reader.string();
4228
+ continue;
4229
+ }
4230
+ case 2: {
4231
+ if (tag !== 18) {
4232
+ break;
4233
+ }
4234
+
4235
+ message.startTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
4236
+ continue;
4237
+ }
4238
+ case 3: {
4239
+ if (tag !== 26) {
4240
+ break;
4241
+ }
4242
+
4243
+ message.endTime = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
4244
+ continue;
4245
+ }
4246
+ }
4247
+ if ((tag & 7) === 4 || tag === 0) {
4248
+ break;
4249
+ }
4250
+ reader.skip(tag & 7);
4251
+ }
4252
+ return message;
4253
+ } finally {
4254
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
4255
+ }
4256
+ },
4257
+
4258
+ fromJSON(object: any): SessionEventFilter {
4259
+ return {
4260
+ startAtEvent: isSet(object.startAtEvent)
4261
+ ? globalThis.String(object.startAtEvent)
4262
+ : isSet(object.start_at_event)
4263
+ ? globalThis.String(object.start_at_event)
4264
+ : "",
4265
+ startTime: isSet(object.startTime)
4266
+ ? fromJsonTimestamp(object.startTime)
4267
+ : isSet(object.start_time)
4268
+ ? fromJsonTimestamp(object.start_time)
4269
+ : undefined,
4270
+ endTime: isSet(object.endTime)
4271
+ ? fromJsonTimestamp(object.endTime)
4272
+ : isSet(object.end_time)
4273
+ ? fromJsonTimestamp(object.end_time)
4274
+ : undefined,
4275
+ };
4276
+ },
4277
+
4278
+ toJSON(message: SessionEventFilter): unknown {
4279
+ const obj: any = {};
4280
+ if (message.startAtEvent !== "") {
4281
+ obj.startAtEvent = message.startAtEvent;
4282
+ }
4283
+ if (message.startTime !== undefined) {
4284
+ obj.startTime = message.startTime.toISOString();
4285
+ }
4286
+ if (message.endTime !== undefined) {
4287
+ obj.endTime = message.endTime.toISOString();
4288
+ }
4289
+ return obj;
4290
+ },
4291
+
4292
+ create<I extends Exact<DeepPartial<SessionEventFilter>, I>>(base?: I): SessionEventFilter {
4293
+ return SessionEventFilter.fromPartial(base ?? ({} as any));
4294
+ },
4295
+ fromPartial<I extends Exact<DeepPartial<SessionEventFilter>, I>>(object: I): SessionEventFilter {
4296
+ const message = createBaseSessionEventFilter();
4297
+ message.startAtEvent = object.startAtEvent ?? "";
4239
4298
  message.startTime = object.startTime ?? undefined;
4240
4299
  message.endTime = object.endTime ?? undefined;
4241
4300
  return message;
@@ -4243,7 +4302,7 @@ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
4243
4302
  };
4244
4303
 
4245
4304
  function createBaseListSessionEventsResponse(): ListSessionEventsResponse {
4246
- return { status: undefined, events: [], nextCursor: "" };
4305
+ return { status: undefined, events: [], nextPageToken: "" };
4247
4306
  }
4248
4307
 
4249
4308
  export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> = {
@@ -4254,8 +4313,8 @@ export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> =
4254
4313
  for (const v of message.events) {
4255
4314
  AISessionEvent.encode(v!, writer.uint32(18).fork()).join();
4256
4315
  }
4257
- if (message.nextCursor !== "") {
4258
- writer.uint32(26).string(message.nextCursor);
4316
+ if (message.nextPageToken !== "") {
4317
+ writer.uint32(26).string(message.nextPageToken);
4259
4318
  }
4260
4319
  return writer;
4261
4320
  },
@@ -4294,7 +4353,7 @@ export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> =
4294
4353
  break;
4295
4354
  }
4296
4355
 
4297
- message.nextCursor = reader.string();
4356
+ message.nextPageToken = reader.string();
4298
4357
  continue;
4299
4358
  }
4300
4359
  }
@@ -4313,10 +4372,10 @@ export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> =
4313
4372
  return {
4314
4373
  status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
4315
4374
  events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => AISessionEvent.fromJSON(e)) : [],
4316
- nextCursor: isSet(object.nextCursor)
4317
- ? globalThis.String(object.nextCursor)
4318
- : isSet(object.next_cursor)
4319
- ? globalThis.String(object.next_cursor)
4375
+ nextPageToken: isSet(object.nextPageToken)
4376
+ ? globalThis.String(object.nextPageToken)
4377
+ : isSet(object.next_page_token)
4378
+ ? globalThis.String(object.next_page_token)
4320
4379
  : "",
4321
4380
  };
4322
4381
  },
@@ -4329,8 +4388,8 @@ export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> =
4329
4388
  if (message.events?.length) {
4330
4389
  obj.events = message.events.map((e) => AISessionEvent.toJSON(e));
4331
4390
  }
4332
- if (message.nextCursor !== "") {
4333
- obj.nextCursor = message.nextCursor;
4391
+ if (message.nextPageToken !== "") {
4392
+ obj.nextPageToken = message.nextPageToken;
4334
4393
  }
4335
4394
  return obj;
4336
4395
  },
@@ -4344,13 +4403,13 @@ export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> =
4344
4403
  ? ResponseStatus.fromPartial(object.status)
4345
4404
  : undefined;
4346
4405
  message.events = object.events?.map((e) => AISessionEvent.fromPartial(e)) || [];
4347
- message.nextCursor = object.nextCursor ?? "";
4406
+ message.nextPageToken = object.nextPageToken ?? "";
4348
4407
  return message;
4349
4408
  },
4350
4409
  };
4351
4410
 
4352
4411
  function createBaseStreamSessionEventsRequest(): StreamSessionEventsRequest {
4353
- return { organizationId: "", projectId: "", sessionId: "", sourceSystem: "", cursor: "" };
4412
+ return { organizationId: "", projectId: "", sessionId: "", sourceSystem: "", resumeToken: "" };
4354
4413
  }
4355
4414
 
4356
4415
  export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest> = {
@@ -4367,8 +4426,8 @@ export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest>
4367
4426
  if (message.sourceSystem !== "") {
4368
4427
  writer.uint32(34).string(message.sourceSystem);
4369
4428
  }
4370
- if (message.cursor !== "") {
4371
- writer.uint32(42).string(message.cursor);
4429
+ if (message.resumeToken !== "") {
4430
+ writer.uint32(42).string(message.resumeToken);
4372
4431
  }
4373
4432
  return writer;
4374
4433
  },
@@ -4423,7 +4482,7 @@ export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest>
4423
4482
  break;
4424
4483
  }
4425
4484
 
4426
- message.cursor = reader.string();
4485
+ message.resumeToken = reader.string();
4427
4486
  continue;
4428
4487
  }
4429
4488
  }
@@ -4460,7 +4519,11 @@ export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest>
4460
4519
  : isSet(object.source_system)
4461
4520
  ? globalThis.String(object.source_system)
4462
4521
  : "",
4463
- cursor: isSet(object.cursor) ? globalThis.String(object.cursor) : "",
4522
+ resumeToken: isSet(object.resumeToken)
4523
+ ? globalThis.String(object.resumeToken)
4524
+ : isSet(object.resume_token)
4525
+ ? globalThis.String(object.resume_token)
4526
+ : "",
4464
4527
  };
4465
4528
  },
4466
4529
 
@@ -4478,8 +4541,8 @@ export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest>
4478
4541
  if (message.sourceSystem !== "") {
4479
4542
  obj.sourceSystem = message.sourceSystem;
4480
4543
  }
4481
- if (message.cursor !== "") {
4482
- obj.cursor = message.cursor;
4544
+ if (message.resumeToken !== "") {
4545
+ obj.resumeToken = message.resumeToken;
4483
4546
  }
4484
4547
  return obj;
4485
4548
  },
@@ -4493,7 +4556,7 @@ export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest>
4493
4556
  message.projectId = object.projectId ?? "";
4494
4557
  message.sessionId = object.sessionId ?? "";
4495
4558
  message.sourceSystem = object.sourceSystem ?? "";
4496
- message.cursor = object.cursor ?? "";
4559
+ message.resumeToken = object.resumeToken ?? "";
4497
4560
  return message;
4498
4561
  },
4499
4562
  };
@@ -6716,12 +6779,12 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
6716
6779
  };
6717
6780
 
6718
6781
  function createBaseAIGitActivityFilter(): AIGitActivityFilter {
6719
- return { session: [], eventTimeAfter: undefined, eventTimeBefore: undefined };
6782
+ return { sessions: [], eventTimeAfter: undefined, eventTimeBefore: undefined };
6720
6783
  }
6721
6784
 
6722
6785
  export const AIGitActivityFilter: MessageFns<AIGitActivityFilter> = {
6723
6786
  encode(message: AIGitActivityFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
6724
- for (const v of message.session) {
6787
+ for (const v of message.sessions) {
6725
6788
  AISessionRef.encode(v!, writer.uint32(10).fork()).join();
6726
6789
  }
6727
6790
  if (message.eventTimeAfter !== undefined) {
@@ -6751,7 +6814,7 @@ export const AIGitActivityFilter: MessageFns<AIGitActivityFilter> = {
6751
6814
  break;
6752
6815
  }
6753
6816
 
6754
- message.session.push(AISessionRef.decode(reader, reader.uint32()));
6817
+ message.sessions.push(AISessionRef.decode(reader, reader.uint32()));
6755
6818
  continue;
6756
6819
  }
6757
6820
  case 2: {
@@ -6784,8 +6847,8 @@ export const AIGitActivityFilter: MessageFns<AIGitActivityFilter> = {
6784
6847
 
6785
6848
  fromJSON(object: any): AIGitActivityFilter {
6786
6849
  return {
6787
- session: globalThis.Array.isArray(object?.session)
6788
- ? object.session.map((e: any) => AISessionRef.fromJSON(e))
6850
+ sessions: globalThis.Array.isArray(object?.sessions)
6851
+ ? object.sessions.map((e: any) => AISessionRef.fromJSON(e))
6789
6852
  : [],
6790
6853
  eventTimeAfter: isSet(object.eventTimeAfter)
6791
6854
  ? fromJsonTimestamp(object.eventTimeAfter)
@@ -6802,8 +6865,8 @@ export const AIGitActivityFilter: MessageFns<AIGitActivityFilter> = {
6802
6865
 
6803
6866
  toJSON(message: AIGitActivityFilter): unknown {
6804
6867
  const obj: any = {};
6805
- if (message.session?.length) {
6806
- obj.session = message.session.map((e) => AISessionRef.toJSON(e));
6868
+ if (message.sessions?.length) {
6869
+ obj.sessions = message.sessions.map((e) => AISessionRef.toJSON(e));
6807
6870
  }
6808
6871
  if (message.eventTimeAfter !== undefined) {
6809
6872
  obj.eventTimeAfter = message.eventTimeAfter.toISOString();
@@ -6819,7 +6882,7 @@ export const AIGitActivityFilter: MessageFns<AIGitActivityFilter> = {
6819
6882
  },
6820
6883
  fromPartial<I extends Exact<DeepPartial<AIGitActivityFilter>, I>>(object: I): AIGitActivityFilter {
6821
6884
  const message = createBaseAIGitActivityFilter();
6822
- message.session = object.session?.map((e) => AISessionRef.fromPartial(e)) || [];
6885
+ message.sessions = object.sessions?.map((e) => AISessionRef.fromPartial(e)) || [];
6823
6886
  message.eventTimeAfter = object.eventTimeAfter ?? undefined;
6824
6887
  message.eventTimeBefore = object.eventTimeBefore ?? undefined;
6825
6888
  return message;
@@ -12971,7 +13034,7 @@ export const ProjectSessionRef: MessageFns<ProjectSessionRef> = {
12971
13034
  };
12972
13035
 
12973
13036
  function createBaseResourceRankingsRequest(): ResourceRankingsRequest {
12974
- return { organizationId: "", projectId: "", filter: undefined, dimension: 0, timeWindow: 0, topN: 0 };
13037
+ return { organizationId: "", projectId: "", filter: undefined, dimension: 0, timeWindow: 0, limit: 0 };
12975
13038
  }
12976
13039
 
12977
13040
  export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
@@ -12991,8 +13054,8 @@ export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
12991
13054
  if (message.timeWindow !== 0) {
12992
13055
  writer.uint32(40).int32(message.timeWindow);
12993
13056
  }
12994
- if (message.topN !== 0) {
12995
- writer.uint32(48).int32(message.topN);
13057
+ if (message.limit !== 0) {
13058
+ writer.uint32(48).int32(message.limit);
12996
13059
  }
12997
13060
  return writer;
12998
13061
  },
@@ -13055,7 +13118,7 @@ export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
13055
13118
  break;
13056
13119
  }
13057
13120
 
13058
- message.topN = reader.int32();
13121
+ message.limit = reader.int32();
13059
13122
  continue;
13060
13123
  }
13061
13124
  }
@@ -13089,11 +13152,7 @@ export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
13089
13152
  : isSet(object.time_window)
13090
13153
  ? analyticsTimeWindowFromJSON(object.time_window)
13091
13154
  : 0,
13092
- topN: isSet(object.topN)
13093
- ? globalThis.Number(object.topN)
13094
- : isSet(object.top_n)
13095
- ? globalThis.Number(object.top_n)
13096
- : 0,
13155
+ limit: isSet(object.limit) ? globalThis.Number(object.limit) : 0,
13097
13156
  };
13098
13157
  },
13099
13158
 
@@ -13114,8 +13173,8 @@ export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
13114
13173
  if (message.timeWindow !== 0) {
13115
13174
  obj.timeWindow = analyticsTimeWindowToJSON(message.timeWindow);
13116
13175
  }
13117
- if (message.topN !== 0) {
13118
- obj.topN = Math.round(message.topN);
13176
+ if (message.limit !== 0) {
13177
+ obj.limit = Math.round(message.limit);
13119
13178
  }
13120
13179
  return obj;
13121
13180
  },
@@ -13132,7 +13191,7 @@ export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
13132
13191
  : undefined;
13133
13192
  message.dimension = object.dimension ?? 0;
13134
13193
  message.timeWindow = object.timeWindow ?? 0;
13135
- message.topN = object.topN ?? 0;
13194
+ message.limit = object.limit ?? 0;
13136
13195
  return message;
13137
13196
  },
13138
13197
  };
@@ -15097,11 +15156,11 @@ export const AISessionRef: MessageFns<AISessionRef> = {
15097
15156
 
15098
15157
  function createBaseAIFileFilter(): AIFileFilter {
15099
15158
  return {
15100
- repositoryKey: [],
15101
- ref: [],
15102
- state: [],
15103
- tier: [],
15104
- session: [],
15159
+ repositoryKeys: [],
15160
+ refs: [],
15161
+ states: [],
15162
+ tiers: [],
15163
+ sessions: [],
15105
15164
  minAge: undefined,
15106
15165
  activeAfter: undefined,
15107
15166
  activeBefore: undefined,
@@ -15111,23 +15170,19 @@ function createBaseAIFileFilter(): AIFileFilter {
15111
15170
 
15112
15171
  export const AIFileFilter: MessageFns<AIFileFilter> = {
15113
15172
  encode(message: AIFileFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
15114
- for (const v of message.repositoryKey) {
15173
+ for (const v of message.repositoryKeys) {
15115
15174
  writer.uint32(10).string(v!);
15116
15175
  }
15117
- for (const v of message.ref) {
15176
+ for (const v of message.refs) {
15118
15177
  writer.uint32(18).string(v!);
15119
15178
  }
15120
- writer.uint32(26).fork();
15121
- for (const v of message.state) {
15122
- writer.int32(v);
15179
+ for (const v of message.states) {
15180
+ writer.uint32(24).int32(v!);
15123
15181
  }
15124
- writer.join();
15125
- writer.uint32(34).fork();
15126
- for (const v of message.tier) {
15127
- writer.int32(v);
15182
+ for (const v of message.tiers) {
15183
+ writer.uint32(32).int32(v!);
15128
15184
  }
15129
- writer.join();
15130
- for (const v of message.session) {
15185
+ for (const v of message.sessions) {
15131
15186
  AISessionRef.encode(v!, writer.uint32(42).fork()).join();
15132
15187
  }
15133
15188
  if (message.minAge !== undefined) {
@@ -15163,7 +15218,7 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15163
15218
  break;
15164
15219
  }
15165
15220
 
15166
- message.repositoryKey.push(reader.string());
15221
+ message.repositoryKeys.push(reader.string());
15167
15222
  continue;
15168
15223
  }
15169
15224
  case 2: {
@@ -15171,12 +15226,12 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15171
15226
  break;
15172
15227
  }
15173
15228
 
15174
- message.ref.push(reader.string());
15229
+ message.refs.push(reader.string());
15175
15230
  continue;
15176
15231
  }
15177
15232
  case 3: {
15178
15233
  if (tag === 24) {
15179
- message.state.push(reader.int32() as any);
15234
+ message.states.push(reader.int32() as any);
15180
15235
 
15181
15236
  continue;
15182
15237
  }
@@ -15184,7 +15239,7 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15184
15239
  if (tag === 26) {
15185
15240
  const end2 = reader.uint32() + reader.pos;
15186
15241
  while (reader.pos < end2) {
15187
- message.state.push(reader.int32() as any);
15242
+ message.states.push(reader.int32() as any);
15188
15243
  }
15189
15244
 
15190
15245
  continue;
@@ -15194,7 +15249,7 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15194
15249
  }
15195
15250
  case 4: {
15196
15251
  if (tag === 32) {
15197
- message.tier.push(reader.int32() as any);
15252
+ message.tiers.push(reader.int32() as any);
15198
15253
 
15199
15254
  continue;
15200
15255
  }
@@ -15202,7 +15257,7 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15202
15257
  if (tag === 34) {
15203
15258
  const end2 = reader.uint32() + reader.pos;
15204
15259
  while (reader.pos < end2) {
15205
- message.tier.push(reader.int32() as any);
15260
+ message.tiers.push(reader.int32() as any);
15206
15261
  }
15207
15262
 
15208
15263
  continue;
@@ -15215,7 +15270,7 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15215
15270
  break;
15216
15271
  }
15217
15272
 
15218
- message.session.push(AISessionRef.decode(reader, reader.uint32()));
15273
+ message.sessions.push(AISessionRef.decode(reader, reader.uint32()));
15219
15274
  continue;
15220
15275
  }
15221
15276
  case 6: {
@@ -15264,16 +15319,16 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15264
15319
 
15265
15320
  fromJSON(object: any): AIFileFilter {
15266
15321
  return {
15267
- repositoryKey: globalThis.Array.isArray(object?.repositoryKey)
15268
- ? object.repositoryKey.map((e: any) => globalThis.String(e))
15269
- : globalThis.Array.isArray(object?.repository_key)
15270
- ? object.repository_key.map((e: any) => globalThis.String(e))
15322
+ repositoryKeys: globalThis.Array.isArray(object?.repositoryKeys)
15323
+ ? object.repositoryKeys.map((e: any) => globalThis.String(e))
15324
+ : globalThis.Array.isArray(object?.repository_keys)
15325
+ ? object.repository_keys.map((e: any) => globalThis.String(e))
15271
15326
  : [],
15272
- ref: globalThis.Array.isArray(object?.ref) ? object.ref.map((e: any) => globalThis.String(e)) : [],
15273
- state: globalThis.Array.isArray(object?.state) ? object.state.map((e: any) => aIFileLifecycleFromJSON(e)) : [],
15274
- tier: globalThis.Array.isArray(object?.tier) ? object.tier.map((e: any) => aIFileTierFromJSON(e)) : [],
15275
- session: globalThis.Array.isArray(object?.session)
15276
- ? object.session.map((e: any) => AISessionRef.fromJSON(e))
15327
+ refs: globalThis.Array.isArray(object?.refs) ? object.refs.map((e: any) => globalThis.String(e)) : [],
15328
+ states: globalThis.Array.isArray(object?.states) ? object.states.map((e: any) => aIFileLifecycleFromJSON(e)) : [],
15329
+ tiers: globalThis.Array.isArray(object?.tiers) ? object.tiers.map((e: any) => aIFileTierFromJSON(e)) : [],
15330
+ sessions: globalThis.Array.isArray(object?.sessions)
15331
+ ? object.sessions.map((e: any) => AISessionRef.fromJSON(e))
15277
15332
  : [],
15278
15333
  minAge: isSet(object.minAge)
15279
15334
  ? Duration.fromJSON(object.minAge)
@@ -15300,20 +15355,20 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15300
15355
 
15301
15356
  toJSON(message: AIFileFilter): unknown {
15302
15357
  const obj: any = {};
15303
- if (message.repositoryKey?.length) {
15304
- obj.repositoryKey = message.repositoryKey;
15358
+ if (message.repositoryKeys?.length) {
15359
+ obj.repositoryKeys = message.repositoryKeys;
15305
15360
  }
15306
- if (message.ref?.length) {
15307
- obj.ref = message.ref;
15361
+ if (message.refs?.length) {
15362
+ obj.refs = message.refs;
15308
15363
  }
15309
- if (message.state?.length) {
15310
- obj.state = message.state.map((e) => aIFileLifecycleToJSON(e));
15364
+ if (message.states?.length) {
15365
+ obj.states = message.states.map((e) => aIFileLifecycleToJSON(e));
15311
15366
  }
15312
- if (message.tier?.length) {
15313
- obj.tier = message.tier.map((e) => aIFileTierToJSON(e));
15367
+ if (message.tiers?.length) {
15368
+ obj.tiers = message.tiers.map((e) => aIFileTierToJSON(e));
15314
15369
  }
15315
- if (message.session?.length) {
15316
- obj.session = message.session.map((e) => AISessionRef.toJSON(e));
15370
+ if (message.sessions?.length) {
15371
+ obj.sessions = message.sessions.map((e) => AISessionRef.toJSON(e));
15317
15372
  }
15318
15373
  if (message.minAge !== undefined) {
15319
15374
  obj.minAge = Duration.toJSON(message.minAge);
@@ -15335,11 +15390,11 @@ export const AIFileFilter: MessageFns<AIFileFilter> = {
15335
15390
  },
15336
15391
  fromPartial<I extends Exact<DeepPartial<AIFileFilter>, I>>(object: I): AIFileFilter {
15337
15392
  const message = createBaseAIFileFilter();
15338
- message.repositoryKey = object.repositoryKey?.map((e) => e) || [];
15339
- message.ref = object.ref?.map((e) => e) || [];
15340
- message.state = object.state?.map((e) => e) || [];
15341
- message.tier = object.tier?.map((e) => e) || [];
15342
- message.session = object.session?.map((e) => AISessionRef.fromPartial(e)) || [];
15393
+ message.repositoryKeys = object.repositoryKeys?.map((e) => e) || [];
15394
+ message.refs = object.refs?.map((e) => e) || [];
15395
+ message.states = object.states?.map((e) => e) || [];
15396
+ message.tiers = object.tiers?.map((e) => e) || [];
15397
+ message.sessions = object.sessions?.map((e) => AISessionRef.fromPartial(e)) || [];
15343
15398
  message.minAge = (object.minAge !== undefined && object.minAge !== null)
15344
15399
  ? Duration.fromPartial(object.minAge)
15345
15400
  : undefined;
@@ -17044,21 +17099,21 @@ export const ListModelPricesRequest: MessageFns<ListModelPricesRequest> = {
17044
17099
  };
17045
17100
 
17046
17101
  function createBaseAIModelPriceFilter(): AIModelPriceFilter {
17047
- return { source: [], biller: [], modelRaw: [], providerRaw: [] };
17102
+ return { sources: [], billers: [], modelRaws: [], providerRaws: [] };
17048
17103
  }
17049
17104
 
17050
17105
  export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17051
17106
  encode(message: AIModelPriceFilter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
17052
- for (const v of message.source) {
17107
+ for (const v of message.sources) {
17053
17108
  writer.uint32(10).string(v!);
17054
17109
  }
17055
- for (const v of message.biller) {
17110
+ for (const v of message.billers) {
17056
17111
  writer.uint32(18).string(v!);
17057
17112
  }
17058
- for (const v of message.modelRaw) {
17113
+ for (const v of message.modelRaws) {
17059
17114
  writer.uint32(26).string(v!);
17060
17115
  }
17061
- for (const v of message.providerRaw) {
17116
+ for (const v of message.providerRaws) {
17062
17117
  writer.uint32(34).string(v!);
17063
17118
  }
17064
17119
  return writer;
@@ -17082,7 +17137,7 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17082
17137
  break;
17083
17138
  }
17084
17139
 
17085
- message.source.push(reader.string());
17140
+ message.sources.push(reader.string());
17086
17141
  continue;
17087
17142
  }
17088
17143
  case 2: {
@@ -17090,7 +17145,7 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17090
17145
  break;
17091
17146
  }
17092
17147
 
17093
- message.biller.push(reader.string());
17148
+ message.billers.push(reader.string());
17094
17149
  continue;
17095
17150
  }
17096
17151
  case 3: {
@@ -17098,7 +17153,7 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17098
17153
  break;
17099
17154
  }
17100
17155
 
17101
- message.modelRaw.push(reader.string());
17156
+ message.modelRaws.push(reader.string());
17102
17157
  continue;
17103
17158
  }
17104
17159
  case 4: {
@@ -17106,7 +17161,7 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17106
17161
  break;
17107
17162
  }
17108
17163
 
17109
- message.providerRaw.push(reader.string());
17164
+ message.providerRaws.push(reader.string());
17110
17165
  continue;
17111
17166
  }
17112
17167
  }
@@ -17123,34 +17178,34 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17123
17178
 
17124
17179
  fromJSON(object: any): AIModelPriceFilter {
17125
17180
  return {
17126
- source: globalThis.Array.isArray(object?.source) ? object.source.map((e: any) => globalThis.String(e)) : [],
17127
- biller: globalThis.Array.isArray(object?.biller) ? object.biller.map((e: any) => globalThis.String(e)) : [],
17128
- modelRaw: globalThis.Array.isArray(object?.modelRaw)
17129
- ? object.modelRaw.map((e: any) => globalThis.String(e))
17130
- : globalThis.Array.isArray(object?.model_raw)
17131
- ? object.model_raw.map((e: any) => globalThis.String(e))
17181
+ sources: globalThis.Array.isArray(object?.sources) ? object.sources.map((e: any) => globalThis.String(e)) : [],
17182
+ billers: globalThis.Array.isArray(object?.billers) ? object.billers.map((e: any) => globalThis.String(e)) : [],
17183
+ modelRaws: globalThis.Array.isArray(object?.modelRaws)
17184
+ ? object.modelRaws.map((e: any) => globalThis.String(e))
17185
+ : globalThis.Array.isArray(object?.model_raws)
17186
+ ? object.model_raws.map((e: any) => globalThis.String(e))
17132
17187
  : [],
17133
- providerRaw: globalThis.Array.isArray(object?.providerRaw)
17134
- ? object.providerRaw.map((e: any) => globalThis.String(e))
17135
- : globalThis.Array.isArray(object?.provider_raw)
17136
- ? object.provider_raw.map((e: any) => globalThis.String(e))
17188
+ providerRaws: globalThis.Array.isArray(object?.providerRaws)
17189
+ ? object.providerRaws.map((e: any) => globalThis.String(e))
17190
+ : globalThis.Array.isArray(object?.provider_raws)
17191
+ ? object.provider_raws.map((e: any) => globalThis.String(e))
17137
17192
  : [],
17138
17193
  };
17139
17194
  },
17140
17195
 
17141
17196
  toJSON(message: AIModelPriceFilter): unknown {
17142
17197
  const obj: any = {};
17143
- if (message.source?.length) {
17144
- obj.source = message.source;
17198
+ if (message.sources?.length) {
17199
+ obj.sources = message.sources;
17145
17200
  }
17146
- if (message.biller?.length) {
17147
- obj.biller = message.biller;
17201
+ if (message.billers?.length) {
17202
+ obj.billers = message.billers;
17148
17203
  }
17149
- if (message.modelRaw?.length) {
17150
- obj.modelRaw = message.modelRaw;
17204
+ if (message.modelRaws?.length) {
17205
+ obj.modelRaws = message.modelRaws;
17151
17206
  }
17152
- if (message.providerRaw?.length) {
17153
- obj.providerRaw = message.providerRaw;
17207
+ if (message.providerRaws?.length) {
17208
+ obj.providerRaws = message.providerRaws;
17154
17209
  }
17155
17210
  return obj;
17156
17211
  },
@@ -17160,10 +17215,10 @@ export const AIModelPriceFilter: MessageFns<AIModelPriceFilter> = {
17160
17215
  },
17161
17216
  fromPartial<I extends Exact<DeepPartial<AIModelPriceFilter>, I>>(object: I): AIModelPriceFilter {
17162
17217
  const message = createBaseAIModelPriceFilter();
17163
- message.source = object.source?.map((e) => e) || [];
17164
- message.biller = object.biller?.map((e) => e) || [];
17165
- message.modelRaw = object.modelRaw?.map((e) => e) || [];
17166
- message.providerRaw = object.providerRaw?.map((e) => e) || [];
17218
+ message.sources = object.sources?.map((e) => e) || [];
17219
+ message.billers = object.billers?.map((e) => e) || [];
17220
+ message.modelRaws = object.modelRaws?.map((e) => e) || [];
17221
+ message.providerRaws = object.providerRaws?.map((e) => e) || [];
17167
17222
  return message;
17168
17223
  },
17169
17224
  };
@@ -17303,6 +17358,7 @@ function createBaseListModelPriceHistoryRequest(): ListModelPriceHistoryRequest
17303
17358
  startTime: undefined,
17304
17359
  endTime: undefined,
17305
17360
  pageSize: 0,
17361
+ pageToken: "",
17306
17362
  };
17307
17363
  }
17308
17364
 
@@ -17326,6 +17382,9 @@ export const ListModelPriceHistoryRequest: MessageFns<ListModelPriceHistoryReque
17326
17382
  if (message.pageSize !== 0) {
17327
17383
  writer.uint32(48).int32(message.pageSize);
17328
17384
  }
17385
+ if (message.pageToken !== "") {
17386
+ writer.uint32(58).string(message.pageToken);
17387
+ }
17329
17388
  return writer;
17330
17389
  },
17331
17390
 
@@ -17390,6 +17449,14 @@ export const ListModelPriceHistoryRequest: MessageFns<ListModelPriceHistoryReque
17390
17449
  message.pageSize = reader.int32();
17391
17450
  continue;
17392
17451
  }
17452
+ case 7: {
17453
+ if (tag !== 58) {
17454
+ break;
17455
+ }
17456
+
17457
+ message.pageToken = reader.string();
17458
+ continue;
17459
+ }
17393
17460
  }
17394
17461
  if ((tag & 7) === 4 || tag === 0) {
17395
17462
  break;
@@ -17430,6 +17497,11 @@ export const ListModelPriceHistoryRequest: MessageFns<ListModelPriceHistoryReque
17430
17497
  : isSet(object.page_size)
17431
17498
  ? globalThis.Number(object.page_size)
17432
17499
  : 0,
17500
+ pageToken: isSet(object.pageToken)
17501
+ ? globalThis.String(object.pageToken)
17502
+ : isSet(object.page_token)
17503
+ ? globalThis.String(object.page_token)
17504
+ : "",
17433
17505
  };
17434
17506
  },
17435
17507
 
@@ -17453,6 +17525,9 @@ export const ListModelPriceHistoryRequest: MessageFns<ListModelPriceHistoryReque
17453
17525
  if (message.pageSize !== 0) {
17454
17526
  obj.pageSize = Math.round(message.pageSize);
17455
17527
  }
17528
+ if (message.pageToken !== "") {
17529
+ obj.pageToken = message.pageToken;
17530
+ }
17456
17531
  return obj;
17457
17532
  },
17458
17533
 
@@ -17469,12 +17544,13 @@ export const ListModelPriceHistoryRequest: MessageFns<ListModelPriceHistoryReque
17469
17544
  message.startTime = object.startTime ?? undefined;
17470
17545
  message.endTime = object.endTime ?? undefined;
17471
17546
  message.pageSize = object.pageSize ?? 0;
17547
+ message.pageToken = object.pageToken ?? "";
17472
17548
  return message;
17473
17549
  },
17474
17550
  };
17475
17551
 
17476
17552
  function createBaseListModelPriceHistoryResponse(): ListModelPriceHistoryResponse {
17477
- return { status: undefined, prices: [], truncated: false };
17553
+ return { status: undefined, prices: [], nextPageToken: "" };
17478
17554
  }
17479
17555
 
17480
17556
  export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResponse> = {
@@ -17485,8 +17561,8 @@ export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResp
17485
17561
  for (const v of message.prices) {
17486
17562
  AIModelPrice.encode(v!, writer.uint32(18).fork()).join();
17487
17563
  }
17488
- if (message.truncated !== false) {
17489
- writer.uint32(24).bool(message.truncated);
17564
+ if (message.nextPageToken !== "") {
17565
+ writer.uint32(26).string(message.nextPageToken);
17490
17566
  }
17491
17567
  return writer;
17492
17568
  },
@@ -17521,11 +17597,11 @@ export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResp
17521
17597
  continue;
17522
17598
  }
17523
17599
  case 3: {
17524
- if (tag !== 24) {
17600
+ if (tag !== 26) {
17525
17601
  break;
17526
17602
  }
17527
17603
 
17528
- message.truncated = reader.bool();
17604
+ message.nextPageToken = reader.string();
17529
17605
  continue;
17530
17606
  }
17531
17607
  }
@@ -17544,7 +17620,11 @@ export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResp
17544
17620
  return {
17545
17621
  status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
17546
17622
  prices: globalThis.Array.isArray(object?.prices) ? object.prices.map((e: any) => AIModelPrice.fromJSON(e)) : [],
17547
- truncated: isSet(object.truncated) ? globalThis.Boolean(object.truncated) : false,
17623
+ nextPageToken: isSet(object.nextPageToken)
17624
+ ? globalThis.String(object.nextPageToken)
17625
+ : isSet(object.next_page_token)
17626
+ ? globalThis.String(object.next_page_token)
17627
+ : "",
17548
17628
  };
17549
17629
  },
17550
17630
 
@@ -17556,8 +17636,8 @@ export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResp
17556
17636
  if (message.prices?.length) {
17557
17637
  obj.prices = message.prices.map((e) => AIModelPrice.toJSON(e));
17558
17638
  }
17559
- if (message.truncated !== false) {
17560
- obj.truncated = message.truncated;
17639
+ if (message.nextPageToken !== "") {
17640
+ obj.nextPageToken = message.nextPageToken;
17561
17641
  }
17562
17642
  return obj;
17563
17643
  },
@@ -17573,7 +17653,7 @@ export const ListModelPriceHistoryResponse: MessageFns<ListModelPriceHistoryResp
17573
17653
  ? ResponseStatus.fromPartial(object.status)
17574
17654
  : undefined;
17575
17655
  message.prices = object.prices?.map((e) => AIModelPrice.fromPartial(e)) || [];
17576
- message.truncated = object.truncated ?? false;
17656
+ message.nextPageToken = object.nextPageToken ?? "";
17577
17657
  return message;
17578
17658
  },
17579
17659
  };
@@ -19029,7 +19109,7 @@ export interface AIGatewayService {
19029
19109
  ListModelPrices(request: ListModelPricesRequest, metadata?: Metadata): Promise<ListModelPricesResponse>;
19030
19110
  /**
19031
19111
  * Every stored observation for the filtered models over a time range, oldest first —
19032
- * the rows ListModelPrices collapses. filter.model_raw is required.
19112
+ * the rows ListModelPrices collapses. filter.model_raws is required.
19033
19113
  */
19034
19114
  ListModelPriceHistory(
19035
19115
  request: ListModelPriceHistoryRequest,