@miradorlabs/web-grpc 2.77.0 → 3.0.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.
@@ -172,45 +172,6 @@ export function aISessionEventKindToJSON(object: AISessionEventKind): string {
172
172
  }
173
173
  }
174
174
 
175
- export enum AIPrincipalKind {
176
- AI_PRINCIPAL_KIND_UNSPECIFIED = 0,
177
- AI_PRINCIPAL_KIND_USER = 1,
178
- AI_PRINCIPAL_KIND_API_KEY = 2,
179
- UNRECOGNIZED = -1,
180
- }
181
-
182
- export function aIPrincipalKindFromJSON(object: any): AIPrincipalKind {
183
- switch (object) {
184
- case 0:
185
- case "AI_PRINCIPAL_KIND_UNSPECIFIED":
186
- return AIPrincipalKind.AI_PRINCIPAL_KIND_UNSPECIFIED;
187
- case 1:
188
- case "AI_PRINCIPAL_KIND_USER":
189
- return AIPrincipalKind.AI_PRINCIPAL_KIND_USER;
190
- case 2:
191
- case "AI_PRINCIPAL_KIND_API_KEY":
192
- return AIPrincipalKind.AI_PRINCIPAL_KIND_API_KEY;
193
- case -1:
194
- case "UNRECOGNIZED":
195
- default:
196
- return AIPrincipalKind.UNRECOGNIZED;
197
- }
198
- }
199
-
200
- export function aIPrincipalKindToJSON(object: AIPrincipalKind): string {
201
- switch (object) {
202
- case AIPrincipalKind.AI_PRINCIPAL_KIND_UNSPECIFIED:
203
- return "AI_PRINCIPAL_KIND_UNSPECIFIED";
204
- case AIPrincipalKind.AI_PRINCIPAL_KIND_USER:
205
- return "AI_PRINCIPAL_KIND_USER";
206
- case AIPrincipalKind.AI_PRINCIPAL_KIND_API_KEY:
207
- return "AI_PRINCIPAL_KIND_API_KEY";
208
- case AIPrincipalKind.UNRECOGNIZED:
209
- default:
210
- return "UNRECOGNIZED";
211
- }
212
- }
213
-
214
175
  export enum AIGitAction {
215
176
  AI_GIT_ACTION_UNSPECIFIED = 0,
216
177
  AI_GIT_ACTION_BRANCH_CREATE = 1,
@@ -389,6 +350,7 @@ export enum AITokenActivityDimension {
389
350
  AI_TOKEN_ACTIVITY_DIMENSION_SOURCE_SYSTEM = 3,
390
351
  AI_TOKEN_ACTIVITY_DIMENSION_USER = 4,
391
352
  AI_TOKEN_ACTIVITY_DIMENSION_API_KEY = 5,
353
+ AI_TOKEN_ACTIVITY_DIMENSION_EFFORT = 6,
392
354
  UNRECOGNIZED = -1,
393
355
  }
394
356
 
@@ -412,6 +374,9 @@ export function aITokenActivityDimensionFromJSON(object: any): AITokenActivityDi
412
374
  case 5:
413
375
  case "AI_TOKEN_ACTIVITY_DIMENSION_API_KEY":
414
376
  return AITokenActivityDimension.AI_TOKEN_ACTIVITY_DIMENSION_API_KEY;
377
+ case 6:
378
+ case "AI_TOKEN_ACTIVITY_DIMENSION_EFFORT":
379
+ return AITokenActivityDimension.AI_TOKEN_ACTIVITY_DIMENSION_EFFORT;
415
380
  case -1:
416
381
  case "UNRECOGNIZED":
417
382
  default:
@@ -433,6 +398,8 @@ export function aITokenActivityDimensionToJSON(object: AITokenActivityDimension)
433
398
  return "AI_TOKEN_ACTIVITY_DIMENSION_USER";
434
399
  case AITokenActivityDimension.AI_TOKEN_ACTIVITY_DIMENSION_API_KEY:
435
400
  return "AI_TOKEN_ACTIVITY_DIMENSION_API_KEY";
401
+ case AITokenActivityDimension.AI_TOKEN_ACTIVITY_DIMENSION_EFFORT:
402
+ return "AI_TOKEN_ACTIVITY_DIMENSION_EFFORT";
436
403
  case AITokenActivityDimension.UNRECOGNIZED:
437
404
  default:
438
405
  return "UNRECOGNIZED";
@@ -801,8 +768,10 @@ export interface ListSessionsRequest {
801
768
  /**
802
769
  * AISessionFilter selects conversations. Non-empty fields are ANDed; within a
803
770
  * repeated field the values are ORed (any-of). source_system matches by equality;
804
- * user_id / api_key_id / model / provider match the whole conversation's folded sets.
771
+ * user_id / api_key_id / model / provider / effort match the whole conversation's folded sets.
805
772
  * active_after selects conversations active at or after the instant (the period selector).
773
+ * model / provider / effort take stored names (expand a display name through ReferenceGatewayService);
774
+ * "" in effort matches calls that reported no effort.
806
775
  */
807
776
  export interface AISessionFilter {
808
777
  sourceSystem: string[];
@@ -811,6 +780,7 @@ export interface AISessionFilter {
811
780
  model: string[];
812
781
  provider: string[];
813
782
  activeAfter?: Date | undefined;
783
+ effort: string[];
814
784
  }
815
785
 
816
786
  export interface ListSessionsResponse {
@@ -864,6 +834,16 @@ export interface AISessionSummary {
864
834
  sessionVersion: number;
865
835
  /** Distinct subagent runs observed in the session. */
866
836
  subagents: number;
837
+ /** The efforts the session's model calls ran at; "" when a call reported none. */
838
+ efforts: string[];
839
+ /** Who billed the session's model calls (stored names; map them through ReferenceGatewayService). */
840
+ billingParties: string[];
841
+ /** How the session's model-call costs were obtained: 'reported' by the source, 'estimated' by Mirador. */
842
+ costSources: string[];
843
+ /** The seats the session's model calls drew on (an account can change mid-session). */
844
+ accountIds: string[];
845
+ /** Who reported the session: 'harness' or 'gateway'. */
846
+ observer: string;
867
847
  }
868
848
 
869
849
  export interface StreamSessionsRequest {
@@ -983,6 +963,8 @@ export interface AISessionEvent {
983
963
  isSubagent: boolean;
984
964
  /** The subagent's type, as the source names it. Display and grouping only; never identity. */
985
965
  agentName: string;
966
+ /** The reasoning effort the call reported; "" when none. */
967
+ effort: string;
986
968
  }
987
969
 
988
970
  export interface AIContentPart {
@@ -1062,8 +1044,8 @@ export interface SessionFileChange {
1062
1044
 
1063
1045
  /**
1064
1046
  * SessionModelUsage mirrors telemetry.api.v1.SessionModelUsage: one model's whole-session usage.
1065
- * usage_unavailable_count is model calls that reported no tokens; usage is nil when the model
1066
- * reported none.
1047
+ * usage_unavailable_count is model calls that reported no tokens; usage is nil when the group
1048
+ * reported neither tokens nor a cost.
1067
1049
  */
1068
1050
  export interface SessionModelUsage {
1069
1051
  model: string;
@@ -1071,6 +1053,8 @@ export interface SessionModelUsage {
1071
1053
  usage: AITokenUsage | undefined;
1072
1054
  callCount: number;
1073
1055
  usageUnavailableCount: number;
1056
+ /** One row per (model, provider, effort); "" when the calls reported no effort. */
1057
+ effort: string;
1074
1058
  }
1075
1059
 
1076
1060
  /**
@@ -1092,56 +1076,7 @@ export interface SessionTimelinePoint {
1092
1076
  | undefined;
1093
1077
  /** Funding facility observed on this event (lens, not reconciled) so the timeline can tint by facility. */
1094
1078
  fundingMode: AIFundingMode;
1095
- }
1096
-
1097
- export interface ListPrincipalsRequest {
1098
- organizationId: string;
1099
- projectId: string;
1100
- /** Structured filter (both optional, ANDed): kind and source_system, exact match. */
1101
- kind?: AIPrincipalKind | undefined;
1102
- sourceSystem: string;
1103
- pageSize: number;
1104
- pageToken: string;
1105
- }
1106
-
1107
- export interface ListPrincipalsResponse {
1108
- status: ResponseStatus | undefined;
1109
- principals: AIPrincipal[];
1110
- nextPageToken: string;
1111
- /** Exact total for the filter, computed on the first page only. */
1112
- totalCount?: number | undefined;
1113
- }
1114
-
1115
- export interface AIPrincipal {
1116
- kind: AIPrincipalKind;
1117
- id: string;
1118
- name: string;
1119
- sourceSystem: string;
1120
- alias: string;
1121
- /** Linked account user id (a seat) the frontend aggregates around; empty when unset. */
1122
- accountUserId: string;
1123
- }
1124
-
1125
- export interface UpdatePrincipalRequest {
1126
- organizationId: string;
1127
- projectId: string;
1128
- kind: AIPrincipalKind;
1129
- id: string;
1130
- sourceSystem: string;
1131
- /**
1132
- * Presence semantics: a field set (even to empty) is written, empty clears it; a field
1133
- * left absent is untouched. At least one of alias / account_user_id must be present.
1134
- */
1135
- alias?:
1136
- | string
1137
- | undefined;
1138
- /** Linked account user id (a seat). Must be a UUID when non-empty; empty clears it. */
1139
- accountUserId?: string | undefined;
1140
- }
1141
-
1142
- export interface UpdatePrincipalResponse {
1143
- status: ResponseStatus | undefined;
1144
- principal: AIPrincipal | undefined;
1079
+ effort: string;
1145
1080
  }
1146
1081
 
1147
1082
  /**
@@ -1263,7 +1198,11 @@ export interface GitActivitySummaryBucket {
1263
1198
  export interface GitActivitySummaryGroup {
1264
1199
  /** group_by value; empty when group_by is UNSPECIFIED */
1265
1200
  key: string;
1266
- measures: GitActivityMeasures | undefined;
1201
+ measures:
1202
+ | GitActivityMeasures
1203
+ | undefined;
1204
+ /** the session's source when group_by is session */
1205
+ sourceSystem: string;
1267
1206
  }
1268
1207
 
1269
1208
  export interface GitActivityMeasures {
@@ -1511,6 +1450,8 @@ export interface ProjectOverview {
1511
1450
  byProvider: ProjectOverviewSlice[];
1512
1451
  bySource: ProjectOverviewSlice[];
1513
1452
  topSessions: ProjectSessionRef[];
1453
+ /** "" key: calls that reported no effort */
1454
+ byEffort: ProjectOverviewSlice[];
1514
1455
  }
1515
1456
 
1516
1457
  export interface ProjectOverviewTotals {
@@ -1672,7 +1613,11 @@ export interface FileTierBucket {
1672
1613
 
1673
1614
  export interface FileGroup {
1674
1615
  key: string;
1675
- tiers: FileTiers | undefined;
1616
+ tiers:
1617
+ | FileTiers
1618
+ | undefined;
1619
+ /** the session's source when group_by is session */
1620
+ sourceSystem: string;
1676
1621
  }
1677
1622
 
1678
1623
  export interface ListModelPricesRequest {
@@ -1779,9 +1724,11 @@ export interface EntitlementsSnapshot {
1779
1724
  * SeatEntitlement mirrors telemetry.api.v1.SeatEntitlement: one entitlement owner's latest observed
1780
1725
  * funding state. Seat-scoped ((source_system, account_id)); principal_id/name best-effort. Seat-scoped:
1781
1726
  * windows are one seat's usage bars, never a team-pool sum. credits_balance_raw is verbatim, not USD.
1727
+ * A seat is an entitlement owner (billing_party, account_id), linked to a person through its principal and
1728
+ * the org member an admin linked that principal to. Mirrors telemetry.api.v1.SeatEntitlement.
1782
1729
  */
1783
1730
  export interface SeatEntitlement {
1784
- sourceSystem: string;
1731
+ billingParty: string;
1785
1732
  accountId: string;
1786
1733
  principalId: string;
1787
1734
  principalName: string;
@@ -1798,6 +1745,9 @@ export interface SeatEntitlement {
1798
1745
  seatTier: string;
1799
1746
  /** raw provenance for the registered/observed/inferred toggle */
1800
1747
  evidenceSource: string;
1748
+ sourceSystems: string[];
1749
+ principalSourceSystem: string;
1750
+ accountUserId: string;
1801
1751
  }
1802
1752
 
1803
1753
  /**
@@ -1977,7 +1927,7 @@ export const ListSessionsRequest: MessageFns<ListSessionsRequest> = {
1977
1927
  };
1978
1928
 
1979
1929
  function createBaseAISessionFilter(): AISessionFilter {
1980
- return { sourceSystem: [], userId: [], apiKeyId: [], model: [], provider: [], activeAfter: undefined };
1930
+ return { sourceSystem: [], userId: [], apiKeyId: [], model: [], provider: [], activeAfter: undefined, effort: [] };
1981
1931
  }
1982
1932
 
1983
1933
  export const AISessionFilter: MessageFns<AISessionFilter> = {
@@ -2000,6 +1950,9 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2000
1950
  if (message.activeAfter !== undefined) {
2001
1951
  Timestamp.encode(toTimestamp(message.activeAfter), writer.uint32(50).fork()).join();
2002
1952
  }
1953
+ for (const v of message.effort) {
1954
+ writer.uint32(58).string(v!);
1955
+ }
2003
1956
  return writer;
2004
1957
  },
2005
1958
 
@@ -2064,6 +2017,14 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2064
2017
  message.activeAfter = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
2065
2018
  continue;
2066
2019
  }
2020
+ case 7: {
2021
+ if (tag !== 58) {
2022
+ break;
2023
+ }
2024
+
2025
+ message.effort.push(reader.string());
2026
+ continue;
2027
+ }
2067
2028
  }
2068
2029
  if ((tag & 7) === 4 || tag === 0) {
2069
2030
  break;
@@ -2100,6 +2061,9 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2100
2061
  : isSet(object.active_after)
2101
2062
  ? fromJsonTimestamp(object.active_after)
2102
2063
  : undefined,
2064
+ effort: globalThis.Array.isArray(object?.effort)
2065
+ ? object.effort.map((e: any) => globalThis.String(e))
2066
+ : [],
2103
2067
  };
2104
2068
  },
2105
2069
 
@@ -2123,6 +2087,9 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2123
2087
  if (message.activeAfter !== undefined) {
2124
2088
  obj.activeAfter = message.activeAfter.toISOString();
2125
2089
  }
2090
+ if (message.effort?.length) {
2091
+ obj.effort = message.effort;
2092
+ }
2126
2093
  return obj;
2127
2094
  },
2128
2095
 
@@ -2137,6 +2104,7 @@ export const AISessionFilter: MessageFns<AISessionFilter> = {
2137
2104
  message.model = object.model?.map((e) => e) || [];
2138
2105
  message.provider = object.provider?.map((e) => e) || [];
2139
2106
  message.activeAfter = object.activeAfter ?? undefined;
2107
+ message.effort = object.effort?.map((e) => e) || [];
2140
2108
  return message;
2141
2109
  },
2142
2110
  };
@@ -2400,6 +2368,11 @@ function createBaseAISessionSummary(): AISessionSummary {
2400
2368
  filesTouched: 0,
2401
2369
  sessionVersion: 0,
2402
2370
  subagents: 0,
2371
+ efforts: [],
2372
+ billingParties: [],
2373
+ costSources: [],
2374
+ accountIds: [],
2375
+ observer: "",
2403
2376
  };
2404
2377
  }
2405
2378
 
@@ -2480,6 +2453,21 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2480
2453
  if (message.subagents !== 0) {
2481
2454
  writer.uint32(200).uint64(message.subagents);
2482
2455
  }
2456
+ for (const v of message.efforts) {
2457
+ writer.uint32(210).string(v!);
2458
+ }
2459
+ for (const v of message.billingParties) {
2460
+ writer.uint32(218).string(v!);
2461
+ }
2462
+ for (const v of message.costSources) {
2463
+ writer.uint32(226).string(v!);
2464
+ }
2465
+ for (const v of message.accountIds) {
2466
+ writer.uint32(234).string(v!);
2467
+ }
2468
+ if (message.observer !== "") {
2469
+ writer.uint32(242).string(message.observer);
2470
+ }
2483
2471
  return writer;
2484
2472
  },
2485
2473
 
@@ -2696,6 +2684,46 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2696
2684
  message.subagents = longToNumber(reader.uint64());
2697
2685
  continue;
2698
2686
  }
2687
+ case 26: {
2688
+ if (tag !== 210) {
2689
+ break;
2690
+ }
2691
+
2692
+ message.efforts.push(reader.string());
2693
+ continue;
2694
+ }
2695
+ case 27: {
2696
+ if (tag !== 218) {
2697
+ break;
2698
+ }
2699
+
2700
+ message.billingParties.push(reader.string());
2701
+ continue;
2702
+ }
2703
+ case 28: {
2704
+ if (tag !== 226) {
2705
+ break;
2706
+ }
2707
+
2708
+ message.costSources.push(reader.string());
2709
+ continue;
2710
+ }
2711
+ case 29: {
2712
+ if (tag !== 234) {
2713
+ break;
2714
+ }
2715
+
2716
+ message.accountIds.push(reader.string());
2717
+ continue;
2718
+ }
2719
+ case 30: {
2720
+ if (tag !== 242) {
2721
+ break;
2722
+ }
2723
+
2724
+ message.observer = reader.string();
2725
+ continue;
2726
+ }
2699
2727
  }
2700
2728
  if ((tag & 7) === 4 || tag === 0) {
2701
2729
  break;
@@ -2813,6 +2841,25 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2813
2841
  ? globalThis.Number(object.session_version)
2814
2842
  : 0,
2815
2843
  subagents: isSet(object.subagents) ? globalThis.Number(object.subagents) : 0,
2844
+ efforts: globalThis.Array.isArray(object?.efforts)
2845
+ ? object.efforts.map((e: any) => globalThis.String(e))
2846
+ : [],
2847
+ billingParties: globalThis.Array.isArray(object?.billingParties)
2848
+ ? object.billingParties.map((e: any) => globalThis.String(e))
2849
+ : globalThis.Array.isArray(object?.billing_parties)
2850
+ ? object.billing_parties.map((e: any) => globalThis.String(e))
2851
+ : [],
2852
+ costSources: globalThis.Array.isArray(object?.costSources)
2853
+ ? object.costSources.map((e: any) => globalThis.String(e))
2854
+ : globalThis.Array.isArray(object?.cost_sources)
2855
+ ? object.cost_sources.map((e: any) => globalThis.String(e))
2856
+ : [],
2857
+ accountIds: globalThis.Array.isArray(object?.accountIds)
2858
+ ? object.accountIds.map((e: any) => globalThis.String(e))
2859
+ : globalThis.Array.isArray(object?.account_ids)
2860
+ ? object.account_ids.map((e: any) => globalThis.String(e))
2861
+ : [],
2862
+ observer: isSet(object.observer) ? globalThis.String(object.observer) : "",
2816
2863
  };
2817
2864
  },
2818
2865
 
@@ -2893,6 +2940,21 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2893
2940
  if (message.subagents !== 0) {
2894
2941
  obj.subagents = Math.round(message.subagents);
2895
2942
  }
2943
+ if (message.efforts?.length) {
2944
+ obj.efforts = message.efforts;
2945
+ }
2946
+ if (message.billingParties?.length) {
2947
+ obj.billingParties = message.billingParties;
2948
+ }
2949
+ if (message.costSources?.length) {
2950
+ obj.costSources = message.costSources;
2951
+ }
2952
+ if (message.accountIds?.length) {
2953
+ obj.accountIds = message.accountIds;
2954
+ }
2955
+ if (message.observer !== "") {
2956
+ obj.observer = message.observer;
2957
+ }
2896
2958
  return obj;
2897
2959
  },
2898
2960
 
@@ -2928,6 +2990,11 @@ export const AISessionSummary: MessageFns<AISessionSummary> = {
2928
2990
  message.filesTouched = object.filesTouched ?? 0;
2929
2991
  message.sessionVersion = object.sessionVersion ?? 0;
2930
2992
  message.subagents = object.subagents ?? 0;
2993
+ message.efforts = object.efforts?.map((e) => e) || [];
2994
+ message.billingParties = object.billingParties?.map((e) => e) || [];
2995
+ message.costSources = object.costSources?.map((e) => e) || [];
2996
+ message.accountIds = object.accountIds?.map((e) => e) || [];
2997
+ message.observer = object.observer ?? "";
2931
2998
  return message;
2932
2999
  },
2933
3000
  };
@@ -3962,6 +4029,7 @@ function createBaseAISessionEvent(): AISessionEvent {
3962
4029
  parentAgentId: "",
3963
4030
  isSubagent: false,
3964
4031
  agentName: "",
4032
+ effort: "",
3965
4033
  };
3966
4034
  }
3967
4035
 
@@ -4036,6 +4104,9 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4036
4104
  if (message.agentName !== "") {
4037
4105
  writer.uint32(186).string(message.agentName);
4038
4106
  }
4107
+ if (message.effort !== "") {
4108
+ writer.uint32(194).string(message.effort);
4109
+ }
4039
4110
  return writer;
4040
4111
  },
4041
4112
 
@@ -4236,6 +4307,14 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4236
4307
  message.agentName = reader.string();
4237
4308
  continue;
4238
4309
  }
4310
+ case 24: {
4311
+ if (tag !== 194) {
4312
+ break;
4313
+ }
4314
+
4315
+ message.effort = reader.string();
4316
+ continue;
4317
+ }
4239
4318
  }
4240
4319
  if ((tag & 7) === 4 || tag === 0) {
4241
4320
  break;
@@ -4331,6 +4410,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4331
4410
  : isSet(object.agent_name)
4332
4411
  ? globalThis.String(object.agent_name)
4333
4412
  : "",
4413
+ effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
4334
4414
  };
4335
4415
  },
4336
4416
 
@@ -4405,6 +4485,9 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4405
4485
  if (message.agentName !== "") {
4406
4486
  obj.agentName = message.agentName;
4407
4487
  }
4488
+ if (message.effort !== "") {
4489
+ obj.effort = message.effort;
4490
+ }
4408
4491
  return obj;
4409
4492
  },
4410
4493
 
@@ -4438,6 +4521,7 @@ export const AISessionEvent: MessageFns<AISessionEvent> = {
4438
4521
  message.parentAgentId = object.parentAgentId ?? "";
4439
4522
  message.isSubagent = object.isSubagent ?? false;
4440
4523
  message.agentName = object.agentName ?? "";
4524
+ message.effort = object.effort ?? "";
4441
4525
  return message;
4442
4526
  },
4443
4527
  };
@@ -5461,7 +5545,7 @@ export const SessionFileChange: MessageFns<SessionFileChange> = {
5461
5545
  };
5462
5546
 
5463
5547
  function createBaseSessionModelUsage(): SessionModelUsage {
5464
- return { model: "", provider: "", usage: undefined, callCount: 0, usageUnavailableCount: 0 };
5548
+ return { model: "", provider: "", usage: undefined, callCount: 0, usageUnavailableCount: 0, effort: "" };
5465
5549
  }
5466
5550
 
5467
5551
  export const SessionModelUsage: MessageFns<SessionModelUsage> = {
@@ -5481,6 +5565,9 @@ export const SessionModelUsage: MessageFns<SessionModelUsage> = {
5481
5565
  if (message.usageUnavailableCount !== 0) {
5482
5566
  writer.uint32(40).uint64(message.usageUnavailableCount);
5483
5567
  }
5568
+ if (message.effort !== "") {
5569
+ writer.uint32(50).string(message.effort);
5570
+ }
5484
5571
  return writer;
5485
5572
  },
5486
5573
 
@@ -5537,6 +5624,14 @@ export const SessionModelUsage: MessageFns<SessionModelUsage> = {
5537
5624
  message.usageUnavailableCount = longToNumber(reader.uint64());
5538
5625
  continue;
5539
5626
  }
5627
+ case 6: {
5628
+ if (tag !== 50) {
5629
+ break;
5630
+ }
5631
+
5632
+ message.effort = reader.string();
5633
+ continue;
5634
+ }
5540
5635
  }
5541
5636
  if ((tag & 7) === 4 || tag === 0) {
5542
5637
  break;
@@ -5564,6 +5659,7 @@ export const SessionModelUsage: MessageFns<SessionModelUsage> = {
5564
5659
  : isSet(object.usage_unavailable_count)
5565
5660
  ? globalThis.Number(object.usage_unavailable_count)
5566
5661
  : 0,
5662
+ effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
5567
5663
  };
5568
5664
  },
5569
5665
 
@@ -5584,6 +5680,9 @@ export const SessionModelUsage: MessageFns<SessionModelUsage> = {
5584
5680
  if (message.usageUnavailableCount !== 0) {
5585
5681
  obj.usageUnavailableCount = Math.round(message.usageUnavailableCount);
5586
5682
  }
5683
+ if (message.effort !== "") {
5684
+ obj.effort = message.effort;
5685
+ }
5587
5686
  return obj;
5588
5687
  },
5589
5688
 
@@ -5599,6 +5698,7 @@ export const SessionModelUsage: MessageFns<SessionModelUsage> = {
5599
5698
  : undefined;
5600
5699
  message.callCount = object.callCount ?? 0;
5601
5700
  message.usageUnavailableCount = object.usageUnavailableCount ?? 0;
5701
+ message.effort = object.effort ?? "";
5602
5702
  return message;
5603
5703
  },
5604
5704
  };
@@ -5615,6 +5715,7 @@ function createBaseSessionTimelinePoint(): SessionTimelinePoint {
5615
5715
  durationMs: undefined,
5616
5716
  usage: undefined,
5617
5717
  fundingMode: 0,
5718
+ effort: "",
5618
5719
  };
5619
5720
  }
5620
5721
 
@@ -5650,6 +5751,9 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5650
5751
  if (message.fundingMode !== 0) {
5651
5752
  writer.uint32(80).int32(message.fundingMode);
5652
5753
  }
5754
+ if (message.effort !== "") {
5755
+ writer.uint32(90).string(message.effort);
5756
+ }
5653
5757
  return writer;
5654
5758
  },
5655
5759
 
@@ -5700,841 +5804,58 @@ export const SessionTimelinePoint: MessageFns<SessionTimelinePoint> = {
5700
5804
  }
5701
5805
  case 5: {
5702
5806
  if (tag !== 42) {
5703
- break;
5704
- }
5705
-
5706
- message.model = reader.string();
5707
- continue;
5708
- }
5709
- case 6: {
5710
- if (tag !== 50) {
5711
- break;
5712
- }
5713
-
5714
- message.provider = reader.string();
5715
- continue;
5716
- }
5717
- case 7: {
5718
- if (tag !== 58) {
5719
- break;
5720
- }
5721
-
5722
- message.finishReason = reader.string();
5723
- continue;
5724
- }
5725
- case 8: {
5726
- if (tag !== 64) {
5727
- break;
5728
- }
5729
-
5730
- message.durationMs = longToNumber(reader.int64());
5731
- continue;
5732
- }
5733
- case 9: {
5734
- if (tag !== 74) {
5735
- break;
5736
- }
5737
-
5738
- message.usage = AITokenUsage.decode(reader, reader.uint32());
5739
- continue;
5740
- }
5741
- case 10: {
5742
- if (tag !== 80) {
5743
- break;
5744
- }
5745
-
5746
- message.fundingMode = reader.int32() as any;
5747
- continue;
5748
- }
5749
- }
5750
- if ((tag & 7) === 4 || tag === 0) {
5751
- break;
5752
- }
5753
- reader.skip(tag & 7);
5754
- }
5755
- return message;
5756
- } finally {
5757
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
5758
- }
5759
- },
5760
-
5761
- fromJSON(object: any): SessionTimelinePoint {
5762
- return {
5763
- logicalEventId: isSet(object.logicalEventId)
5764
- ? globalThis.String(object.logicalEventId)
5765
- : isSet(object.logical_event_id)
5766
- ? globalThis.String(object.logical_event_id)
5767
- : "",
5768
- cursor: isSet(object.cursor) ? globalThis.String(object.cursor) : "",
5769
- kind: isSet(object.kind) ? aISessionEventKindFromJSON(object.kind) : 0,
5770
- eventTime: isSet(object.eventTime)
5771
- ? fromJsonTimestamp(object.eventTime)
5772
- : isSet(object.event_time)
5773
- ? fromJsonTimestamp(object.event_time)
5774
- : undefined,
5775
- model: isSet(object.model) ? globalThis.String(object.model) : "",
5776
- provider: isSet(object.provider) ? globalThis.String(object.provider) : "",
5777
- finishReason: isSet(object.finishReason)
5778
- ? globalThis.String(object.finishReason)
5779
- : isSet(object.finish_reason)
5780
- ? globalThis.String(object.finish_reason)
5781
- : "",
5782
- durationMs: isSet(object.durationMs)
5783
- ? globalThis.Number(object.durationMs)
5784
- : isSet(object.duration_ms)
5785
- ? globalThis.Number(object.duration_ms)
5786
- : undefined,
5787
- usage: isSet(object.usage) ? AITokenUsage.fromJSON(object.usage) : undefined,
5788
- fundingMode: isSet(object.fundingMode)
5789
- ? aIFundingModeFromJSON(object.fundingMode)
5790
- : isSet(object.funding_mode)
5791
- ? aIFundingModeFromJSON(object.funding_mode)
5792
- : 0,
5793
- };
5794
- },
5795
-
5796
- toJSON(message: SessionTimelinePoint): unknown {
5797
- const obj: any = {};
5798
- if (message.logicalEventId !== "") {
5799
- obj.logicalEventId = message.logicalEventId;
5800
- }
5801
- if (message.cursor !== "") {
5802
- obj.cursor = message.cursor;
5803
- }
5804
- if (message.kind !== 0) {
5805
- obj.kind = aISessionEventKindToJSON(message.kind);
5806
- }
5807
- if (message.eventTime !== undefined) {
5808
- obj.eventTime = message.eventTime.toISOString();
5809
- }
5810
- if (message.model !== "") {
5811
- obj.model = message.model;
5812
- }
5813
- if (message.provider !== "") {
5814
- obj.provider = message.provider;
5815
- }
5816
- if (message.finishReason !== "") {
5817
- obj.finishReason = message.finishReason;
5818
- }
5819
- if (message.durationMs !== undefined) {
5820
- obj.durationMs = Math.round(message.durationMs);
5821
- }
5822
- if (message.usage !== undefined) {
5823
- obj.usage = AITokenUsage.toJSON(message.usage);
5824
- }
5825
- if (message.fundingMode !== 0) {
5826
- obj.fundingMode = aIFundingModeToJSON(message.fundingMode);
5827
- }
5828
- return obj;
5829
- },
5830
-
5831
- create<I extends Exact<DeepPartial<SessionTimelinePoint>, I>>(base?: I): SessionTimelinePoint {
5832
- return SessionTimelinePoint.fromPartial(base ?? ({} as any));
5833
- },
5834
- fromPartial<I extends Exact<DeepPartial<SessionTimelinePoint>, I>>(object: I): SessionTimelinePoint {
5835
- const message = createBaseSessionTimelinePoint();
5836
- message.logicalEventId = object.logicalEventId ?? "";
5837
- message.cursor = object.cursor ?? "";
5838
- message.kind = object.kind ?? 0;
5839
- message.eventTime = object.eventTime ?? undefined;
5840
- message.model = object.model ?? "";
5841
- message.provider = object.provider ?? "";
5842
- message.finishReason = object.finishReason ?? "";
5843
- message.durationMs = object.durationMs ?? undefined;
5844
- message.usage = (object.usage !== undefined && object.usage !== null)
5845
- ? AITokenUsage.fromPartial(object.usage)
5846
- : undefined;
5847
- message.fundingMode = object.fundingMode ?? 0;
5848
- return message;
5849
- },
5850
- };
5851
-
5852
- function createBaseListPrincipalsRequest(): ListPrincipalsRequest {
5853
- return { organizationId: "", projectId: "", kind: undefined, sourceSystem: "", pageSize: 0, pageToken: "" };
5854
- }
5855
-
5856
- export const ListPrincipalsRequest: MessageFns<ListPrincipalsRequest> = {
5857
- encode(message: ListPrincipalsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
5858
- if (message.organizationId !== "") {
5859
- writer.uint32(10).string(message.organizationId);
5860
- }
5861
- if (message.projectId !== "") {
5862
- writer.uint32(18).string(message.projectId);
5863
- }
5864
- if (message.kind !== undefined) {
5865
- writer.uint32(24).int32(message.kind);
5866
- }
5867
- if (message.sourceSystem !== "") {
5868
- writer.uint32(34).string(message.sourceSystem);
5869
- }
5870
- if (message.pageSize !== 0) {
5871
- writer.uint32(40).int32(message.pageSize);
5872
- }
5873
- if (message.pageToken !== "") {
5874
- writer.uint32(50).string(message.pageToken);
5875
- }
5876
- return writer;
5877
- },
5878
-
5879
- decode(input: BinaryReader | Uint8Array, length?: number): ListPrincipalsRequest {
5880
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5881
- const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
5882
- if (previousRecursionDepth >= 100) {
5883
- throw new globalThis.Error("protobuf decode recursion limit exceeded");
5884
- }
5885
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
5886
- try {
5887
- const end = length === undefined ? reader.len : reader.pos + length;
5888
- const message = createBaseListPrincipalsRequest();
5889
- while (reader.pos < end) {
5890
- const tag = reader.uint32();
5891
- switch (tag >>> 3) {
5892
- case 1: {
5893
- if (tag !== 10) {
5894
- break;
5895
- }
5896
-
5897
- message.organizationId = reader.string();
5898
- continue;
5899
- }
5900
- case 2: {
5901
- if (tag !== 18) {
5902
- break;
5903
- }
5904
-
5905
- message.projectId = reader.string();
5906
- continue;
5907
- }
5908
- case 3: {
5909
- if (tag !== 24) {
5910
- break;
5911
- }
5912
-
5913
- message.kind = reader.int32() as any;
5914
- continue;
5915
- }
5916
- case 4: {
5917
- if (tag !== 34) {
5918
- break;
5919
- }
5920
-
5921
- message.sourceSystem = reader.string();
5922
- continue;
5923
- }
5924
- case 5: {
5925
- if (tag !== 40) {
5926
- break;
5927
- }
5928
-
5929
- message.pageSize = reader.int32();
5930
- continue;
5931
- }
5932
- case 6: {
5933
- if (tag !== 50) {
5934
- break;
5935
- }
5936
-
5937
- message.pageToken = reader.string();
5938
- continue;
5939
- }
5940
- }
5941
- if ((tag & 7) === 4 || tag === 0) {
5942
- break;
5943
- }
5944
- reader.skip(tag & 7);
5945
- }
5946
- return message;
5947
- } finally {
5948
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
5949
- }
5950
- },
5951
-
5952
- fromJSON(object: any): ListPrincipalsRequest {
5953
- return {
5954
- organizationId: isSet(object.organizationId)
5955
- ? globalThis.String(object.organizationId)
5956
- : isSet(object.organization_id)
5957
- ? globalThis.String(object.organization_id)
5958
- : "",
5959
- projectId: isSet(object.projectId)
5960
- ? globalThis.String(object.projectId)
5961
- : isSet(object.project_id)
5962
- ? globalThis.String(object.project_id)
5963
- : "",
5964
- kind: isSet(object.kind) ? aIPrincipalKindFromJSON(object.kind) : undefined,
5965
- sourceSystem: isSet(object.sourceSystem)
5966
- ? globalThis.String(object.sourceSystem)
5967
- : isSet(object.source_system)
5968
- ? globalThis.String(object.source_system)
5969
- : "",
5970
- pageSize: isSet(object.pageSize)
5971
- ? globalThis.Number(object.pageSize)
5972
- : isSet(object.page_size)
5973
- ? globalThis.Number(object.page_size)
5974
- : 0,
5975
- pageToken: isSet(object.pageToken)
5976
- ? globalThis.String(object.pageToken)
5977
- : isSet(object.page_token)
5978
- ? globalThis.String(object.page_token)
5979
- : "",
5980
- };
5981
- },
5982
-
5983
- toJSON(message: ListPrincipalsRequest): unknown {
5984
- const obj: any = {};
5985
- if (message.organizationId !== "") {
5986
- obj.organizationId = message.organizationId;
5987
- }
5988
- if (message.projectId !== "") {
5989
- obj.projectId = message.projectId;
5990
- }
5991
- if (message.kind !== undefined) {
5992
- obj.kind = aIPrincipalKindToJSON(message.kind);
5993
- }
5994
- if (message.sourceSystem !== "") {
5995
- obj.sourceSystem = message.sourceSystem;
5996
- }
5997
- if (message.pageSize !== 0) {
5998
- obj.pageSize = Math.round(message.pageSize);
5999
- }
6000
- if (message.pageToken !== "") {
6001
- obj.pageToken = message.pageToken;
6002
- }
6003
- return obj;
6004
- },
6005
-
6006
- create<I extends Exact<DeepPartial<ListPrincipalsRequest>, I>>(base?: I): ListPrincipalsRequest {
6007
- return ListPrincipalsRequest.fromPartial(base ?? ({} as any));
6008
- },
6009
- fromPartial<I extends Exact<DeepPartial<ListPrincipalsRequest>, I>>(object: I): ListPrincipalsRequest {
6010
- const message = createBaseListPrincipalsRequest();
6011
- message.organizationId = object.organizationId ?? "";
6012
- message.projectId = object.projectId ?? "";
6013
- message.kind = object.kind ?? undefined;
6014
- message.sourceSystem = object.sourceSystem ?? "";
6015
- message.pageSize = object.pageSize ?? 0;
6016
- message.pageToken = object.pageToken ?? "";
6017
- return message;
6018
- },
6019
- };
6020
-
6021
- function createBaseListPrincipalsResponse(): ListPrincipalsResponse {
6022
- return { status: undefined, principals: [], nextPageToken: "", totalCount: undefined };
6023
- }
6024
-
6025
- export const ListPrincipalsResponse: MessageFns<ListPrincipalsResponse> = {
6026
- encode(message: ListPrincipalsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
6027
- if (message.status !== undefined) {
6028
- ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
6029
- }
6030
- for (const v of message.principals) {
6031
- AIPrincipal.encode(v!, writer.uint32(18).fork()).join();
6032
- }
6033
- if (message.nextPageToken !== "") {
6034
- writer.uint32(26).string(message.nextPageToken);
6035
- }
6036
- if (message.totalCount !== undefined) {
6037
- writer.uint32(32).int64(message.totalCount);
6038
- }
6039
- return writer;
6040
- },
6041
-
6042
- decode(input: BinaryReader | Uint8Array, length?: number): ListPrincipalsResponse {
6043
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
6044
- const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
6045
- if (previousRecursionDepth >= 100) {
6046
- throw new globalThis.Error("protobuf decode recursion limit exceeded");
6047
- }
6048
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
6049
- try {
6050
- const end = length === undefined ? reader.len : reader.pos + length;
6051
- const message = createBaseListPrincipalsResponse();
6052
- while (reader.pos < end) {
6053
- const tag = reader.uint32();
6054
- switch (tag >>> 3) {
6055
- case 1: {
6056
- if (tag !== 10) {
6057
- break;
6058
- }
6059
-
6060
- message.status = ResponseStatus.decode(reader, reader.uint32());
6061
- continue;
6062
- }
6063
- case 2: {
6064
- if (tag !== 18) {
6065
- break;
6066
- }
6067
-
6068
- message.principals.push(AIPrincipal.decode(reader, reader.uint32()));
6069
- continue;
6070
- }
6071
- case 3: {
6072
- if (tag !== 26) {
6073
- break;
6074
- }
6075
-
6076
- message.nextPageToken = reader.string();
6077
- continue;
6078
- }
6079
- case 4: {
6080
- if (tag !== 32) {
6081
- break;
6082
- }
6083
-
6084
- message.totalCount = longToNumber(reader.int64());
6085
- continue;
6086
- }
6087
- }
6088
- if ((tag & 7) === 4 || tag === 0) {
6089
- break;
6090
- }
6091
- reader.skip(tag & 7);
6092
- }
6093
- return message;
6094
- } finally {
6095
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
6096
- }
6097
- },
6098
-
6099
- fromJSON(object: any): ListPrincipalsResponse {
6100
- return {
6101
- status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
6102
- principals: globalThis.Array.isArray(object?.principals)
6103
- ? object.principals.map((e: any) => AIPrincipal.fromJSON(e))
6104
- : [],
6105
- nextPageToken: isSet(object.nextPageToken)
6106
- ? globalThis.String(object.nextPageToken)
6107
- : isSet(object.next_page_token)
6108
- ? globalThis.String(object.next_page_token)
6109
- : "",
6110
- totalCount: isSet(object.totalCount)
6111
- ? globalThis.Number(object.totalCount)
6112
- : isSet(object.total_count)
6113
- ? globalThis.Number(object.total_count)
6114
- : undefined,
6115
- };
6116
- },
6117
-
6118
- toJSON(message: ListPrincipalsResponse): unknown {
6119
- const obj: any = {};
6120
- if (message.status !== undefined) {
6121
- obj.status = ResponseStatus.toJSON(message.status);
6122
- }
6123
- if (message.principals?.length) {
6124
- obj.principals = message.principals.map((e) => AIPrincipal.toJSON(e));
6125
- }
6126
- if (message.nextPageToken !== "") {
6127
- obj.nextPageToken = message.nextPageToken;
6128
- }
6129
- if (message.totalCount !== undefined) {
6130
- obj.totalCount = Math.round(message.totalCount);
6131
- }
6132
- return obj;
6133
- },
6134
-
6135
- create<I extends Exact<DeepPartial<ListPrincipalsResponse>, I>>(base?: I): ListPrincipalsResponse {
6136
- return ListPrincipalsResponse.fromPartial(base ?? ({} as any));
6137
- },
6138
- fromPartial<I extends Exact<DeepPartial<ListPrincipalsResponse>, I>>(object: I): ListPrincipalsResponse {
6139
- const message = createBaseListPrincipalsResponse();
6140
- message.status = (object.status !== undefined && object.status !== null)
6141
- ? ResponseStatus.fromPartial(object.status)
6142
- : undefined;
6143
- message.principals = object.principals?.map((e) => AIPrincipal.fromPartial(e)) || [];
6144
- message.nextPageToken = object.nextPageToken ?? "";
6145
- message.totalCount = object.totalCount ?? undefined;
6146
- return message;
6147
- },
6148
- };
6149
-
6150
- function createBaseAIPrincipal(): AIPrincipal {
6151
- return { kind: 0, id: "", name: "", sourceSystem: "", alias: "", accountUserId: "" };
6152
- }
6153
-
6154
- export const AIPrincipal: MessageFns<AIPrincipal> = {
6155
- encode(message: AIPrincipal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
6156
- if (message.kind !== 0) {
6157
- writer.uint32(8).int32(message.kind);
6158
- }
6159
- if (message.id !== "") {
6160
- writer.uint32(18).string(message.id);
6161
- }
6162
- if (message.name !== "") {
6163
- writer.uint32(26).string(message.name);
6164
- }
6165
- if (message.sourceSystem !== "") {
6166
- writer.uint32(34).string(message.sourceSystem);
6167
- }
6168
- if (message.alias !== "") {
6169
- writer.uint32(42).string(message.alias);
6170
- }
6171
- if (message.accountUserId !== "") {
6172
- writer.uint32(50).string(message.accountUserId);
6173
- }
6174
- return writer;
6175
- },
6176
-
6177
- decode(input: BinaryReader | Uint8Array, length?: number): AIPrincipal {
6178
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
6179
- const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
6180
- if (previousRecursionDepth >= 100) {
6181
- throw new globalThis.Error("protobuf decode recursion limit exceeded");
6182
- }
6183
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
6184
- try {
6185
- const end = length === undefined ? reader.len : reader.pos + length;
6186
- const message = createBaseAIPrincipal();
6187
- while (reader.pos < end) {
6188
- const tag = reader.uint32();
6189
- switch (tag >>> 3) {
6190
- case 1: {
6191
- if (tag !== 8) {
6192
- break;
6193
- }
6194
-
6195
- message.kind = reader.int32() as any;
6196
- continue;
6197
- }
6198
- case 2: {
6199
- if (tag !== 18) {
6200
- break;
6201
- }
6202
-
6203
- message.id = reader.string();
6204
- continue;
6205
- }
6206
- case 3: {
6207
- if (tag !== 26) {
6208
- break;
6209
- }
6210
-
6211
- message.name = reader.string();
6212
- continue;
6213
- }
6214
- case 4: {
6215
- if (tag !== 34) {
6216
- break;
6217
- }
6218
-
6219
- message.sourceSystem = reader.string();
6220
- continue;
6221
- }
6222
- case 5: {
6223
- if (tag !== 42) {
6224
- break;
6225
- }
6226
-
6227
- message.alias = reader.string();
6228
- continue;
6229
- }
6230
- case 6: {
6231
- if (tag !== 50) {
6232
- break;
6233
- }
6234
-
6235
- message.accountUserId = reader.string();
6236
- continue;
6237
- }
6238
- }
6239
- if ((tag & 7) === 4 || tag === 0) {
6240
- break;
6241
- }
6242
- reader.skip(tag & 7);
6243
- }
6244
- return message;
6245
- } finally {
6246
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
6247
- }
6248
- },
6249
-
6250
- fromJSON(object: any): AIPrincipal {
6251
- return {
6252
- kind: isSet(object.kind) ? aIPrincipalKindFromJSON(object.kind) : 0,
6253
- id: isSet(object.id) ? globalThis.String(object.id) : "",
6254
- name: isSet(object.name) ? globalThis.String(object.name) : "",
6255
- sourceSystem: isSet(object.sourceSystem)
6256
- ? globalThis.String(object.sourceSystem)
6257
- : isSet(object.source_system)
6258
- ? globalThis.String(object.source_system)
6259
- : "",
6260
- alias: isSet(object.alias) ? globalThis.String(object.alias) : "",
6261
- accountUserId: isSet(object.accountUserId)
6262
- ? globalThis.String(object.accountUserId)
6263
- : isSet(object.account_user_id)
6264
- ? globalThis.String(object.account_user_id)
6265
- : "",
6266
- };
6267
- },
6268
-
6269
- toJSON(message: AIPrincipal): unknown {
6270
- const obj: any = {};
6271
- if (message.kind !== 0) {
6272
- obj.kind = aIPrincipalKindToJSON(message.kind);
6273
- }
6274
- if (message.id !== "") {
6275
- obj.id = message.id;
6276
- }
6277
- if (message.name !== "") {
6278
- obj.name = message.name;
6279
- }
6280
- if (message.sourceSystem !== "") {
6281
- obj.sourceSystem = message.sourceSystem;
6282
- }
6283
- if (message.alias !== "") {
6284
- obj.alias = message.alias;
6285
- }
6286
- if (message.accountUserId !== "") {
6287
- obj.accountUserId = message.accountUserId;
6288
- }
6289
- return obj;
6290
- },
6291
-
6292
- create<I extends Exact<DeepPartial<AIPrincipal>, I>>(base?: I): AIPrincipal {
6293
- return AIPrincipal.fromPartial(base ?? ({} as any));
6294
- },
6295
- fromPartial<I extends Exact<DeepPartial<AIPrincipal>, I>>(object: I): AIPrincipal {
6296
- const message = createBaseAIPrincipal();
6297
- message.kind = object.kind ?? 0;
6298
- message.id = object.id ?? "";
6299
- message.name = object.name ?? "";
6300
- message.sourceSystem = object.sourceSystem ?? "";
6301
- message.alias = object.alias ?? "";
6302
- message.accountUserId = object.accountUserId ?? "";
6303
- return message;
6304
- },
6305
- };
6306
-
6307
- function createBaseUpdatePrincipalRequest(): UpdatePrincipalRequest {
6308
- return {
6309
- organizationId: "",
6310
- projectId: "",
6311
- kind: 0,
6312
- id: "",
6313
- sourceSystem: "",
6314
- alias: undefined,
6315
- accountUserId: undefined,
6316
- };
6317
- }
6318
-
6319
- export const UpdatePrincipalRequest: MessageFns<UpdatePrincipalRequest> = {
6320
- encode(message: UpdatePrincipalRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
6321
- if (message.organizationId !== "") {
6322
- writer.uint32(10).string(message.organizationId);
6323
- }
6324
- if (message.projectId !== "") {
6325
- writer.uint32(18).string(message.projectId);
6326
- }
6327
- if (message.kind !== 0) {
6328
- writer.uint32(24).int32(message.kind);
6329
- }
6330
- if (message.id !== "") {
6331
- writer.uint32(34).string(message.id);
6332
- }
6333
- if (message.sourceSystem !== "") {
6334
- writer.uint32(42).string(message.sourceSystem);
6335
- }
6336
- if (message.alias !== undefined) {
6337
- writer.uint32(50).string(message.alias);
6338
- }
6339
- if (message.accountUserId !== undefined) {
6340
- writer.uint32(58).string(message.accountUserId);
6341
- }
6342
- return writer;
6343
- },
6344
-
6345
- decode(input: BinaryReader | Uint8Array, length?: number): UpdatePrincipalRequest {
6346
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
6347
- const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
6348
- if (previousRecursionDepth >= 100) {
6349
- throw new globalThis.Error("protobuf decode recursion limit exceeded");
6350
- }
6351
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
6352
- try {
6353
- const end = length === undefined ? reader.len : reader.pos + length;
6354
- const message = createBaseUpdatePrincipalRequest();
6355
- while (reader.pos < end) {
6356
- const tag = reader.uint32();
6357
- switch (tag >>> 3) {
6358
- case 1: {
6359
- if (tag !== 10) {
6360
- break;
6361
- }
6362
-
6363
- message.organizationId = reader.string();
6364
- continue;
6365
- }
6366
- case 2: {
6367
- if (tag !== 18) {
6368
- break;
6369
- }
6370
-
6371
- message.projectId = reader.string();
6372
- continue;
6373
- }
6374
- case 3: {
6375
- if (tag !== 24) {
6376
- break;
6377
- }
6378
-
6379
- message.kind = reader.int32() as any;
6380
- continue;
6381
- }
6382
- case 4: {
6383
- if (tag !== 34) {
6384
- break;
6385
- }
6386
-
6387
- message.id = reader.string();
6388
- continue;
6389
- }
6390
- case 5: {
6391
- if (tag !== 42) {
6392
- break;
6393
- }
6394
-
6395
- message.sourceSystem = reader.string();
6396
- continue;
6397
- }
6398
- case 6: {
6399
- if (tag !== 50) {
6400
- break;
6401
- }
6402
-
6403
- message.alias = reader.string();
6404
- continue;
6405
- }
6406
- case 7: {
6407
- if (tag !== 58) {
6408
- break;
6409
- }
6410
-
6411
- message.accountUserId = reader.string();
6412
- continue;
6413
- }
6414
- }
6415
- if ((tag & 7) === 4 || tag === 0) {
6416
- break;
6417
- }
6418
- reader.skip(tag & 7);
6419
- }
6420
- return message;
6421
- } finally {
6422
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
6423
- }
6424
- },
6425
-
6426
- fromJSON(object: any): UpdatePrincipalRequest {
6427
- return {
6428
- organizationId: isSet(object.organizationId)
6429
- ? globalThis.String(object.organizationId)
6430
- : isSet(object.organization_id)
6431
- ? globalThis.String(object.organization_id)
6432
- : "",
6433
- projectId: isSet(object.projectId)
6434
- ? globalThis.String(object.projectId)
6435
- : isSet(object.project_id)
6436
- ? globalThis.String(object.project_id)
6437
- : "",
6438
- kind: isSet(object.kind) ? aIPrincipalKindFromJSON(object.kind) : 0,
6439
- id: isSet(object.id) ? globalThis.String(object.id) : "",
6440
- sourceSystem: isSet(object.sourceSystem)
6441
- ? globalThis.String(object.sourceSystem)
6442
- : isSet(object.source_system)
6443
- ? globalThis.String(object.source_system)
6444
- : "",
6445
- alias: isSet(object.alias) ? globalThis.String(object.alias) : undefined,
6446
- accountUserId: isSet(object.accountUserId)
6447
- ? globalThis.String(object.accountUserId)
6448
- : isSet(object.account_user_id)
6449
- ? globalThis.String(object.account_user_id)
6450
- : undefined,
6451
- };
6452
- },
6453
-
6454
- toJSON(message: UpdatePrincipalRequest): unknown {
6455
- const obj: any = {};
6456
- if (message.organizationId !== "") {
6457
- obj.organizationId = message.organizationId;
6458
- }
6459
- if (message.projectId !== "") {
6460
- obj.projectId = message.projectId;
6461
- }
6462
- if (message.kind !== 0) {
6463
- obj.kind = aIPrincipalKindToJSON(message.kind);
6464
- }
6465
- if (message.id !== "") {
6466
- obj.id = message.id;
6467
- }
6468
- if (message.sourceSystem !== "") {
6469
- obj.sourceSystem = message.sourceSystem;
6470
- }
6471
- if (message.alias !== undefined) {
6472
- obj.alias = message.alias;
6473
- }
6474
- if (message.accountUserId !== undefined) {
6475
- obj.accountUserId = message.accountUserId;
6476
- }
6477
- return obj;
6478
- },
5807
+ break;
5808
+ }
6479
5809
 
6480
- create<I extends Exact<DeepPartial<UpdatePrincipalRequest>, I>>(base?: I): UpdatePrincipalRequest {
6481
- return UpdatePrincipalRequest.fromPartial(base ?? ({} as any));
6482
- },
6483
- fromPartial<I extends Exact<DeepPartial<UpdatePrincipalRequest>, I>>(object: I): UpdatePrincipalRequest {
6484
- const message = createBaseUpdatePrincipalRequest();
6485
- message.organizationId = object.organizationId ?? "";
6486
- message.projectId = object.projectId ?? "";
6487
- message.kind = object.kind ?? 0;
6488
- message.id = object.id ?? "";
6489
- message.sourceSystem = object.sourceSystem ?? "";
6490
- message.alias = object.alias ?? undefined;
6491
- message.accountUserId = object.accountUserId ?? undefined;
6492
- return message;
6493
- },
6494
- };
5810
+ message.model = reader.string();
5811
+ continue;
5812
+ }
5813
+ case 6: {
5814
+ if (tag !== 50) {
5815
+ break;
5816
+ }
6495
5817
 
6496
- function createBaseUpdatePrincipalResponse(): UpdatePrincipalResponse {
6497
- return { status: undefined, principal: undefined };
6498
- }
5818
+ message.provider = reader.string();
5819
+ continue;
5820
+ }
5821
+ case 7: {
5822
+ if (tag !== 58) {
5823
+ break;
5824
+ }
6499
5825
 
6500
- export const UpdatePrincipalResponse: MessageFns<UpdatePrincipalResponse> = {
6501
- encode(message: UpdatePrincipalResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
6502
- if (message.status !== undefined) {
6503
- ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
6504
- }
6505
- if (message.principal !== undefined) {
6506
- AIPrincipal.encode(message.principal, writer.uint32(18).fork()).join();
6507
- }
6508
- return writer;
6509
- },
5826
+ message.finishReason = reader.string();
5827
+ continue;
5828
+ }
5829
+ case 8: {
5830
+ if (tag !== 64) {
5831
+ break;
5832
+ }
6510
5833
 
6511
- decode(input: BinaryReader | Uint8Array, length?: number): UpdatePrincipalResponse {
6512
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
6513
- const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
6514
- if (previousRecursionDepth >= 100) {
6515
- throw new globalThis.Error("protobuf decode recursion limit exceeded");
6516
- }
6517
- (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
6518
- try {
6519
- const end = length === undefined ? reader.len : reader.pos + length;
6520
- const message = createBaseUpdatePrincipalResponse();
6521
- while (reader.pos < end) {
6522
- const tag = reader.uint32();
6523
- switch (tag >>> 3) {
6524
- case 1: {
6525
- if (tag !== 10) {
5834
+ message.durationMs = longToNumber(reader.int64());
5835
+ continue;
5836
+ }
5837
+ case 9: {
5838
+ if (tag !== 74) {
6526
5839
  break;
6527
5840
  }
6528
5841
 
6529
- message.status = ResponseStatus.decode(reader, reader.uint32());
5842
+ message.usage = AITokenUsage.decode(reader, reader.uint32());
6530
5843
  continue;
6531
5844
  }
6532
- case 2: {
6533
- if (tag !== 18) {
5845
+ case 10: {
5846
+ if (tag !== 80) {
5847
+ break;
5848
+ }
5849
+
5850
+ message.fundingMode = reader.int32() as any;
5851
+ continue;
5852
+ }
5853
+ case 11: {
5854
+ if (tag !== 90) {
6534
5855
  break;
6535
5856
  }
6536
5857
 
6537
- message.principal = AIPrincipal.decode(reader, reader.uint32());
5858
+ message.effort = reader.string();
6538
5859
  continue;
6539
5860
  }
6540
5861
  }
@@ -6549,35 +5870,98 @@ export const UpdatePrincipalResponse: MessageFns<UpdatePrincipalResponse> = {
6549
5870
  }
6550
5871
  },
6551
5872
 
6552
- fromJSON(object: any): UpdatePrincipalResponse {
5873
+ fromJSON(object: any): SessionTimelinePoint {
6553
5874
  return {
6554
- status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
6555
- principal: isSet(object.principal) ? AIPrincipal.fromJSON(object.principal) : undefined,
5875
+ logicalEventId: isSet(object.logicalEventId)
5876
+ ? globalThis.String(object.logicalEventId)
5877
+ : isSet(object.logical_event_id)
5878
+ ? globalThis.String(object.logical_event_id)
5879
+ : "",
5880
+ cursor: isSet(object.cursor) ? globalThis.String(object.cursor) : "",
5881
+ kind: isSet(object.kind) ? aISessionEventKindFromJSON(object.kind) : 0,
5882
+ eventTime: isSet(object.eventTime)
5883
+ ? fromJsonTimestamp(object.eventTime)
5884
+ : isSet(object.event_time)
5885
+ ? fromJsonTimestamp(object.event_time)
5886
+ : undefined,
5887
+ model: isSet(object.model) ? globalThis.String(object.model) : "",
5888
+ provider: isSet(object.provider) ? globalThis.String(object.provider) : "",
5889
+ finishReason: isSet(object.finishReason)
5890
+ ? globalThis.String(object.finishReason)
5891
+ : isSet(object.finish_reason)
5892
+ ? globalThis.String(object.finish_reason)
5893
+ : "",
5894
+ durationMs: isSet(object.durationMs)
5895
+ ? globalThis.Number(object.durationMs)
5896
+ : isSet(object.duration_ms)
5897
+ ? globalThis.Number(object.duration_ms)
5898
+ : undefined,
5899
+ usage: isSet(object.usage) ? AITokenUsage.fromJSON(object.usage) : undefined,
5900
+ fundingMode: isSet(object.fundingMode)
5901
+ ? aIFundingModeFromJSON(object.fundingMode)
5902
+ : isSet(object.funding_mode)
5903
+ ? aIFundingModeFromJSON(object.funding_mode)
5904
+ : 0,
5905
+ effort: isSet(object.effort) ? globalThis.String(object.effort) : "",
6556
5906
  };
6557
5907
  },
6558
5908
 
6559
- toJSON(message: UpdatePrincipalResponse): unknown {
5909
+ toJSON(message: SessionTimelinePoint): unknown {
6560
5910
  const obj: any = {};
6561
- if (message.status !== undefined) {
6562
- obj.status = ResponseStatus.toJSON(message.status);
5911
+ if (message.logicalEventId !== "") {
5912
+ obj.logicalEventId = message.logicalEventId;
5913
+ }
5914
+ if (message.cursor !== "") {
5915
+ obj.cursor = message.cursor;
5916
+ }
5917
+ if (message.kind !== 0) {
5918
+ obj.kind = aISessionEventKindToJSON(message.kind);
5919
+ }
5920
+ if (message.eventTime !== undefined) {
5921
+ obj.eventTime = message.eventTime.toISOString();
5922
+ }
5923
+ if (message.model !== "") {
5924
+ obj.model = message.model;
5925
+ }
5926
+ if (message.provider !== "") {
5927
+ obj.provider = message.provider;
5928
+ }
5929
+ if (message.finishReason !== "") {
5930
+ obj.finishReason = message.finishReason;
5931
+ }
5932
+ if (message.durationMs !== undefined) {
5933
+ obj.durationMs = Math.round(message.durationMs);
6563
5934
  }
6564
- if (message.principal !== undefined) {
6565
- obj.principal = AIPrincipal.toJSON(message.principal);
5935
+ if (message.usage !== undefined) {
5936
+ obj.usage = AITokenUsage.toJSON(message.usage);
5937
+ }
5938
+ if (message.fundingMode !== 0) {
5939
+ obj.fundingMode = aIFundingModeToJSON(message.fundingMode);
5940
+ }
5941
+ if (message.effort !== "") {
5942
+ obj.effort = message.effort;
6566
5943
  }
6567
5944
  return obj;
6568
5945
  },
6569
5946
 
6570
- create<I extends Exact<DeepPartial<UpdatePrincipalResponse>, I>>(base?: I): UpdatePrincipalResponse {
6571
- return UpdatePrincipalResponse.fromPartial(base ?? ({} as any));
5947
+ create<I extends Exact<DeepPartial<SessionTimelinePoint>, I>>(base?: I): SessionTimelinePoint {
5948
+ return SessionTimelinePoint.fromPartial(base ?? ({} as any));
6572
5949
  },
6573
- fromPartial<I extends Exact<DeepPartial<UpdatePrincipalResponse>, I>>(object: I): UpdatePrincipalResponse {
6574
- const message = createBaseUpdatePrincipalResponse();
6575
- message.status = (object.status !== undefined && object.status !== null)
6576
- ? ResponseStatus.fromPartial(object.status)
6577
- : undefined;
6578
- message.principal = (object.principal !== undefined && object.principal !== null)
6579
- ? AIPrincipal.fromPartial(object.principal)
5950
+ fromPartial<I extends Exact<DeepPartial<SessionTimelinePoint>, I>>(object: I): SessionTimelinePoint {
5951
+ const message = createBaseSessionTimelinePoint();
5952
+ message.logicalEventId = object.logicalEventId ?? "";
5953
+ message.cursor = object.cursor ?? "";
5954
+ message.kind = object.kind ?? 0;
5955
+ message.eventTime = object.eventTime ?? undefined;
5956
+ message.model = object.model ?? "";
5957
+ message.provider = object.provider ?? "";
5958
+ message.finishReason = object.finishReason ?? "";
5959
+ message.durationMs = object.durationMs ?? undefined;
5960
+ message.usage = (object.usage !== undefined && object.usage !== null)
5961
+ ? AITokenUsage.fromPartial(object.usage)
6580
5962
  : undefined;
5963
+ message.fundingMode = object.fundingMode ?? 0;
5964
+ message.effort = object.effort ?? "";
6581
5965
  return message;
6582
5966
  },
6583
5967
  };
@@ -8309,7 +7693,7 @@ export const GitActivitySummaryBucket: MessageFns<GitActivitySummaryBucket> = {
8309
7693
  };
8310
7694
 
8311
7695
  function createBaseGitActivitySummaryGroup(): GitActivitySummaryGroup {
8312
- return { key: "", measures: undefined };
7696
+ return { key: "", measures: undefined, sourceSystem: "" };
8313
7697
  }
8314
7698
 
8315
7699
  export const GitActivitySummaryGroup: MessageFns<GitActivitySummaryGroup> = {
@@ -8320,6 +7704,9 @@ export const GitActivitySummaryGroup: MessageFns<GitActivitySummaryGroup> = {
8320
7704
  if (message.measures !== undefined) {
8321
7705
  GitActivityMeasures.encode(message.measures, writer.uint32(18).fork()).join();
8322
7706
  }
7707
+ if (message.sourceSystem !== "") {
7708
+ writer.uint32(26).string(message.sourceSystem);
7709
+ }
8323
7710
  return writer;
8324
7711
  },
8325
7712
 
@@ -8352,6 +7739,14 @@ export const GitActivitySummaryGroup: MessageFns<GitActivitySummaryGroup> = {
8352
7739
  message.measures = GitActivityMeasures.decode(reader, reader.uint32());
8353
7740
  continue;
8354
7741
  }
7742
+ case 3: {
7743
+ if (tag !== 26) {
7744
+ break;
7745
+ }
7746
+
7747
+ message.sourceSystem = reader.string();
7748
+ continue;
7749
+ }
8355
7750
  }
8356
7751
  if ((tag & 7) === 4 || tag === 0) {
8357
7752
  break;
@@ -8368,6 +7763,11 @@ export const GitActivitySummaryGroup: MessageFns<GitActivitySummaryGroup> = {
8368
7763
  return {
8369
7764
  key: isSet(object.key) ? globalThis.String(object.key) : "",
8370
7765
  measures: isSet(object.measures) ? GitActivityMeasures.fromJSON(object.measures) : undefined,
7766
+ sourceSystem: isSet(object.sourceSystem)
7767
+ ? globalThis.String(object.sourceSystem)
7768
+ : isSet(object.source_system)
7769
+ ? globalThis.String(object.source_system)
7770
+ : "",
8371
7771
  };
8372
7772
  },
8373
7773
 
@@ -8379,6 +7779,9 @@ export const GitActivitySummaryGroup: MessageFns<GitActivitySummaryGroup> = {
8379
7779
  if (message.measures !== undefined) {
8380
7780
  obj.measures = GitActivityMeasures.toJSON(message.measures);
8381
7781
  }
7782
+ if (message.sourceSystem !== "") {
7783
+ obj.sourceSystem = message.sourceSystem;
7784
+ }
8382
7785
  return obj;
8383
7786
  },
8384
7787
 
@@ -8391,6 +7794,7 @@ export const GitActivitySummaryGroup: MessageFns<GitActivitySummaryGroup> = {
8391
7794
  message.measures = (object.measures !== undefined && object.measures !== null)
8392
7795
  ? GitActivityMeasures.fromPartial(object.measures)
8393
7796
  : undefined;
7797
+ message.sourceSystem = object.sourceSystem ?? "";
8394
7798
  return message;
8395
7799
  },
8396
7800
  };
@@ -11707,7 +11111,7 @@ export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
11707
11111
  };
11708
11112
 
11709
11113
  function createBaseProjectOverview(): ProjectOverview {
11710
- return { totals: undefined, byModel: [], byProvider: [], bySource: [], topSessions: [] };
11114
+ return { totals: undefined, byModel: [], byProvider: [], bySource: [], topSessions: [], byEffort: [] };
11711
11115
  }
11712
11116
 
11713
11117
  export const ProjectOverview: MessageFns<ProjectOverview> = {
@@ -11727,6 +11131,9 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
11727
11131
  for (const v of message.topSessions) {
11728
11132
  ProjectSessionRef.encode(v!, writer.uint32(42).fork()).join();
11729
11133
  }
11134
+ for (const v of message.byEffort) {
11135
+ ProjectOverviewSlice.encode(v!, writer.uint32(50).fork()).join();
11136
+ }
11730
11137
  return writer;
11731
11138
  },
11732
11139
 
@@ -11783,6 +11190,14 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
11783
11190
  message.topSessions.push(ProjectSessionRef.decode(reader, reader.uint32()));
11784
11191
  continue;
11785
11192
  }
11193
+ case 6: {
11194
+ if (tag !== 50) {
11195
+ break;
11196
+ }
11197
+
11198
+ message.byEffort.push(ProjectOverviewSlice.decode(reader, reader.uint32()));
11199
+ continue;
11200
+ }
11786
11201
  }
11787
11202
  if ((tag & 7) === 4 || tag === 0) {
11788
11203
  break;
@@ -11818,6 +11233,11 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
11818
11233
  : globalThis.Array.isArray(object?.top_sessions)
11819
11234
  ? object.top_sessions.map((e: any) => ProjectSessionRef.fromJSON(e))
11820
11235
  : [],
11236
+ byEffort: globalThis.Array.isArray(object?.byEffort)
11237
+ ? object.byEffort.map((e: any) => ProjectOverviewSlice.fromJSON(e))
11238
+ : globalThis.Array.isArray(object?.by_effort)
11239
+ ? object.by_effort.map((e: any) => ProjectOverviewSlice.fromJSON(e))
11240
+ : [],
11821
11241
  };
11822
11242
  },
11823
11243
 
@@ -11838,6 +11258,9 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
11838
11258
  if (message.topSessions?.length) {
11839
11259
  obj.topSessions = message.topSessions.map((e) => ProjectSessionRef.toJSON(e));
11840
11260
  }
11261
+ if (message.byEffort?.length) {
11262
+ obj.byEffort = message.byEffort.map((e) => ProjectOverviewSlice.toJSON(e));
11263
+ }
11841
11264
  return obj;
11842
11265
  },
11843
11266
 
@@ -11853,6 +11276,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
11853
11276
  message.byProvider = object.byProvider?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
11854
11277
  message.bySource = object.bySource?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
11855
11278
  message.topSessions = object.topSessions?.map((e) => ProjectSessionRef.fromPartial(e)) || [];
11279
+ message.byEffort = object.byEffort?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
11856
11280
  return message;
11857
11281
  },
11858
11282
  };
@@ -14695,7 +14119,7 @@ export const FileTierBucket: MessageFns<FileTierBucket> = {
14695
14119
  };
14696
14120
 
14697
14121
  function createBaseFileGroup(): FileGroup {
14698
- return { key: "", tiers: undefined };
14122
+ return { key: "", tiers: undefined, sourceSystem: "" };
14699
14123
  }
14700
14124
 
14701
14125
  export const FileGroup: MessageFns<FileGroup> = {
@@ -14706,6 +14130,9 @@ export const FileGroup: MessageFns<FileGroup> = {
14706
14130
  if (message.tiers !== undefined) {
14707
14131
  FileTiers.encode(message.tiers, writer.uint32(18).fork()).join();
14708
14132
  }
14133
+ if (message.sourceSystem !== "") {
14134
+ writer.uint32(26).string(message.sourceSystem);
14135
+ }
14709
14136
  return writer;
14710
14137
  },
14711
14138
 
@@ -14738,6 +14165,14 @@ export const FileGroup: MessageFns<FileGroup> = {
14738
14165
  message.tiers = FileTiers.decode(reader, reader.uint32());
14739
14166
  continue;
14740
14167
  }
14168
+ case 3: {
14169
+ if (tag !== 26) {
14170
+ break;
14171
+ }
14172
+
14173
+ message.sourceSystem = reader.string();
14174
+ continue;
14175
+ }
14741
14176
  }
14742
14177
  if ((tag & 7) === 4 || tag === 0) {
14743
14178
  break;
@@ -14754,6 +14189,11 @@ export const FileGroup: MessageFns<FileGroup> = {
14754
14189
  return {
14755
14190
  key: isSet(object.key) ? globalThis.String(object.key) : "",
14756
14191
  tiers: isSet(object.tiers) ? FileTiers.fromJSON(object.tiers) : undefined,
14192
+ sourceSystem: isSet(object.sourceSystem)
14193
+ ? globalThis.String(object.sourceSystem)
14194
+ : isSet(object.source_system)
14195
+ ? globalThis.String(object.source_system)
14196
+ : "",
14757
14197
  };
14758
14198
  },
14759
14199
 
@@ -14765,6 +14205,9 @@ export const FileGroup: MessageFns<FileGroup> = {
14765
14205
  if (message.tiers !== undefined) {
14766
14206
  obj.tiers = FileTiers.toJSON(message.tiers);
14767
14207
  }
14208
+ if (message.sourceSystem !== "") {
14209
+ obj.sourceSystem = message.sourceSystem;
14210
+ }
14768
14211
  return obj;
14769
14212
  },
14770
14213
 
@@ -14777,6 +14220,7 @@ export const FileGroup: MessageFns<FileGroup> = {
14777
14220
  message.tiers = (object.tiers !== undefined && object.tiers !== null)
14778
14221
  ? FileTiers.fromPartial(object.tiers)
14779
14222
  : undefined;
14223
+ message.sourceSystem = object.sourceSystem ?? "";
14780
14224
  return message;
14781
14225
  },
14782
14226
  };
@@ -16221,7 +15665,7 @@ export const EntitlementsSnapshot: MessageFns<EntitlementsSnapshot> = {
16221
15665
 
16222
15666
  function createBaseSeatEntitlement(): SeatEntitlement {
16223
15667
  return {
16224
- sourceSystem: "",
15668
+ billingParty: "",
16225
15669
  accountId: "",
16226
15670
  principalId: "",
16227
15671
  principalName: "",
@@ -16233,13 +15677,16 @@ function createBaseSeatEntitlement(): SeatEntitlement {
16233
15677
  planType: "",
16234
15678
  seatTier: "",
16235
15679
  evidenceSource: "",
15680
+ sourceSystems: [],
15681
+ principalSourceSystem: "",
15682
+ accountUserId: "",
16236
15683
  };
16237
15684
  }
16238
15685
 
16239
15686
  export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16240
15687
  encode(message: SeatEntitlement, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
16241
- if (message.sourceSystem !== "") {
16242
- writer.uint32(10).string(message.sourceSystem);
15688
+ if (message.billingParty !== "") {
15689
+ writer.uint32(10).string(message.billingParty);
16243
15690
  }
16244
15691
  if (message.accountId !== "") {
16245
15692
  writer.uint32(18).string(message.accountId);
@@ -16274,6 +15721,15 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16274
15721
  if (message.evidenceSource !== "") {
16275
15722
  writer.uint32(98).string(message.evidenceSource);
16276
15723
  }
15724
+ for (const v of message.sourceSystems) {
15725
+ writer.uint32(106).string(v!);
15726
+ }
15727
+ if (message.principalSourceSystem !== "") {
15728
+ writer.uint32(114).string(message.principalSourceSystem);
15729
+ }
15730
+ if (message.accountUserId !== "") {
15731
+ writer.uint32(122).string(message.accountUserId);
15732
+ }
16277
15733
  return writer;
16278
15734
  },
16279
15735
 
@@ -16295,7 +15751,7 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16295
15751
  break;
16296
15752
  }
16297
15753
 
16298
- message.sourceSystem = reader.string();
15754
+ message.billingParty = reader.string();
16299
15755
  continue;
16300
15756
  }
16301
15757
  case 2: {
@@ -16386,6 +15842,30 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16386
15842
  message.evidenceSource = reader.string();
16387
15843
  continue;
16388
15844
  }
15845
+ case 13: {
15846
+ if (tag !== 106) {
15847
+ break;
15848
+ }
15849
+
15850
+ message.sourceSystems.push(reader.string());
15851
+ continue;
15852
+ }
15853
+ case 14: {
15854
+ if (tag !== 114) {
15855
+ break;
15856
+ }
15857
+
15858
+ message.principalSourceSystem = reader.string();
15859
+ continue;
15860
+ }
15861
+ case 15: {
15862
+ if (tag !== 122) {
15863
+ break;
15864
+ }
15865
+
15866
+ message.accountUserId = reader.string();
15867
+ continue;
15868
+ }
16389
15869
  }
16390
15870
  if ((tag & 7) === 4 || tag === 0) {
16391
15871
  break;
@@ -16400,10 +15880,10 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16400
15880
 
16401
15881
  fromJSON(object: any): SeatEntitlement {
16402
15882
  return {
16403
- sourceSystem: isSet(object.sourceSystem)
16404
- ? globalThis.String(object.sourceSystem)
16405
- : isSet(object.source_system)
16406
- ? globalThis.String(object.source_system)
15883
+ billingParty: isSet(object.billingParty)
15884
+ ? globalThis.String(object.billingParty)
15885
+ : isSet(object.billing_party)
15886
+ ? globalThis.String(object.billing_party)
16407
15887
  : "",
16408
15888
  accountId: isSet(object.accountId)
16409
15889
  ? globalThis.String(object.accountId)
@@ -16458,13 +15938,28 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16458
15938
  : isSet(object.evidence_source)
16459
15939
  ? globalThis.String(object.evidence_source)
16460
15940
  : "",
15941
+ sourceSystems: globalThis.Array.isArray(object?.sourceSystems)
15942
+ ? object.sourceSystems.map((e: any) => globalThis.String(e))
15943
+ : globalThis.Array.isArray(object?.source_systems)
15944
+ ? object.source_systems.map((e: any) => globalThis.String(e))
15945
+ : [],
15946
+ principalSourceSystem: isSet(object.principalSourceSystem)
15947
+ ? globalThis.String(object.principalSourceSystem)
15948
+ : isSet(object.principal_source_system)
15949
+ ? globalThis.String(object.principal_source_system)
15950
+ : "",
15951
+ accountUserId: isSet(object.accountUserId)
15952
+ ? globalThis.String(object.accountUserId)
15953
+ : isSet(object.account_user_id)
15954
+ ? globalThis.String(object.account_user_id)
15955
+ : "",
16461
15956
  };
16462
15957
  },
16463
15958
 
16464
15959
  toJSON(message: SeatEntitlement): unknown {
16465
15960
  const obj: any = {};
16466
- if (message.sourceSystem !== "") {
16467
- obj.sourceSystem = message.sourceSystem;
15961
+ if (message.billingParty !== "") {
15962
+ obj.billingParty = message.billingParty;
16468
15963
  }
16469
15964
  if (message.accountId !== "") {
16470
15965
  obj.accountId = message.accountId;
@@ -16499,6 +15994,15 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16499
15994
  if (message.evidenceSource !== "") {
16500
15995
  obj.evidenceSource = message.evidenceSource;
16501
15996
  }
15997
+ if (message.sourceSystems?.length) {
15998
+ obj.sourceSystems = message.sourceSystems;
15999
+ }
16000
+ if (message.principalSourceSystem !== "") {
16001
+ obj.principalSourceSystem = message.principalSourceSystem;
16002
+ }
16003
+ if (message.accountUserId !== "") {
16004
+ obj.accountUserId = message.accountUserId;
16005
+ }
16502
16006
  return obj;
16503
16007
  },
16504
16008
 
@@ -16507,7 +16011,7 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16507
16011
  },
16508
16012
  fromPartial<I extends Exact<DeepPartial<SeatEntitlement>, I>>(object: I): SeatEntitlement {
16509
16013
  const message = createBaseSeatEntitlement();
16510
- message.sourceSystem = object.sourceSystem ?? "";
16014
+ message.billingParty = object.billingParty ?? "";
16511
16015
  message.accountId = object.accountId ?? "";
16512
16016
  message.principalId = object.principalId ?? "";
16513
16017
  message.principalName = object.principalName ?? "";
@@ -16519,6 +16023,9 @@ export const SeatEntitlement: MessageFns<SeatEntitlement> = {
16519
16023
  message.planType = object.planType ?? "";
16520
16024
  message.seatTier = object.seatTier ?? "";
16521
16025
  message.evidenceSource = object.evidenceSource ?? "";
16026
+ message.sourceSystems = object.sourceSystems?.map((e) => e) || [];
16027
+ message.principalSourceSystem = object.principalSourceSystem ?? "";
16028
+ message.accountUserId = object.accountUserId ?? "";
16522
16029
  return message;
16523
16030
  },
16524
16031
  };
@@ -16698,8 +16205,6 @@ export interface AIGatewayService {
16698
16205
  ): Observable<SessionTokenTimeline>;
16699
16206
  /** Live "Files changed" card: per file the latest-observed git change-type + exact --numstat churn. */
16700
16207
  StreamSessionFileChanges(request: SessionFileChangesRequest, metadata?: Metadata): Observable<SessionFileChanges>;
16701
- ListPrincipals(request: ListPrincipalsRequest, metadata?: Metadata): Promise<ListPrincipalsResponse>;
16702
- UpdatePrincipal(request: UpdatePrincipalRequest, metadata?: Metadata): Promise<UpdatePrincipalResponse>;
16703
16208
  /** Filtered, keyset-paginated drill-down feed of git/GitHub actions (newest first). */
16704
16209
  ListGitActivities(request: ListGitActivitiesRequest, metadata?: Metadata): Promise<ListGitActivitiesResponse>;
16705
16210
  /**
@@ -16787,8 +16292,6 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
16787
16292
  this.StreamSessionEvents = this.StreamSessionEvents.bind(this);
16788
16293
  this.StreamSessionTokenTimeline = this.StreamSessionTokenTimeline.bind(this);
16789
16294
  this.StreamSessionFileChanges = this.StreamSessionFileChanges.bind(this);
16790
- this.ListPrincipals = this.ListPrincipals.bind(this);
16791
- this.UpdatePrincipal = this.UpdatePrincipal.bind(this);
16792
16295
  this.ListGitActivities = this.ListGitActivities.bind(this);
16793
16296
  this.StreamGitActivities = this.StreamGitActivities.bind(this);
16794
16297
  this.StreamGitActivitySummary = this.StreamGitActivitySummary.bind(this);
@@ -16849,18 +16352,6 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
16849
16352
  return result.pipe(map((data) => SessionFileChanges.decode(new BinaryReader(data))));
16850
16353
  }
16851
16354
 
16852
- ListPrincipals(request: ListPrincipalsRequest, metadata?: Metadata): Promise<ListPrincipalsResponse> {
16853
- const data = ListPrincipalsRequest.encode(request).finish();
16854
- const promise = this.rpc.request(this.service, "ListPrincipals", data, metadata);
16855
- return promise.then((data) => ListPrincipalsResponse.decode(new BinaryReader(data)));
16856
- }
16857
-
16858
- UpdatePrincipal(request: UpdatePrincipalRequest, metadata?: Metadata): Promise<UpdatePrincipalResponse> {
16859
- const data = UpdatePrincipalRequest.encode(request).finish();
16860
- const promise = this.rpc.request(this.service, "UpdatePrincipal", data, metadata);
16861
- return promise.then((data) => UpdatePrincipalResponse.decode(new BinaryReader(data)));
16862
- }
16863
-
16864
16355
  ListGitActivities(request: ListGitActivitiesRequest, metadata?: Metadata): Promise<ListGitActivitiesResponse> {
16865
16356
  const data = ListGitActivitiesRequest.encode(request).finish();
16866
16357
  const promise = this.rpc.request(this.service, "ListGitActivities", data, metadata);