@miradorlabs/web-grpc 2.57.0 → 2.59.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.
|
@@ -432,6 +432,63 @@ export function aITokenActivityDimensionToJSON(object: AITokenActivityDimension)
|
|
|
432
432
|
}
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
+
export enum AIResourceDimension {
|
|
436
|
+
AI_RESOURCE_DIMENSION_UNSPECIFIED = 0,
|
|
437
|
+
AI_RESOURCE_DIMENSION_SKILL = 1,
|
|
438
|
+
AI_RESOURCE_DIMENSION_TOOL = 2,
|
|
439
|
+
AI_RESOURCE_DIMENSION_FILE = 3,
|
|
440
|
+
AI_RESOURCE_DIMENSION_URL = 4,
|
|
441
|
+
AI_RESOURCE_DIMENSION_COMMAND = 5,
|
|
442
|
+
UNRECOGNIZED = -1,
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
export function aIResourceDimensionFromJSON(object: any): AIResourceDimension {
|
|
446
|
+
switch (object) {
|
|
447
|
+
case 0:
|
|
448
|
+
case "AI_RESOURCE_DIMENSION_UNSPECIFIED":
|
|
449
|
+
return AIResourceDimension.AI_RESOURCE_DIMENSION_UNSPECIFIED;
|
|
450
|
+
case 1:
|
|
451
|
+
case "AI_RESOURCE_DIMENSION_SKILL":
|
|
452
|
+
return AIResourceDimension.AI_RESOURCE_DIMENSION_SKILL;
|
|
453
|
+
case 2:
|
|
454
|
+
case "AI_RESOURCE_DIMENSION_TOOL":
|
|
455
|
+
return AIResourceDimension.AI_RESOURCE_DIMENSION_TOOL;
|
|
456
|
+
case 3:
|
|
457
|
+
case "AI_RESOURCE_DIMENSION_FILE":
|
|
458
|
+
return AIResourceDimension.AI_RESOURCE_DIMENSION_FILE;
|
|
459
|
+
case 4:
|
|
460
|
+
case "AI_RESOURCE_DIMENSION_URL":
|
|
461
|
+
return AIResourceDimension.AI_RESOURCE_DIMENSION_URL;
|
|
462
|
+
case 5:
|
|
463
|
+
case "AI_RESOURCE_DIMENSION_COMMAND":
|
|
464
|
+
return AIResourceDimension.AI_RESOURCE_DIMENSION_COMMAND;
|
|
465
|
+
case -1:
|
|
466
|
+
case "UNRECOGNIZED":
|
|
467
|
+
default:
|
|
468
|
+
return AIResourceDimension.UNRECOGNIZED;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
export function aIResourceDimensionToJSON(object: AIResourceDimension): string {
|
|
473
|
+
switch (object) {
|
|
474
|
+
case AIResourceDimension.AI_RESOURCE_DIMENSION_UNSPECIFIED:
|
|
475
|
+
return "AI_RESOURCE_DIMENSION_UNSPECIFIED";
|
|
476
|
+
case AIResourceDimension.AI_RESOURCE_DIMENSION_SKILL:
|
|
477
|
+
return "AI_RESOURCE_DIMENSION_SKILL";
|
|
478
|
+
case AIResourceDimension.AI_RESOURCE_DIMENSION_TOOL:
|
|
479
|
+
return "AI_RESOURCE_DIMENSION_TOOL";
|
|
480
|
+
case AIResourceDimension.AI_RESOURCE_DIMENSION_FILE:
|
|
481
|
+
return "AI_RESOURCE_DIMENSION_FILE";
|
|
482
|
+
case AIResourceDimension.AI_RESOURCE_DIMENSION_URL:
|
|
483
|
+
return "AI_RESOURCE_DIMENSION_URL";
|
|
484
|
+
case AIResourceDimension.AI_RESOURCE_DIMENSION_COMMAND:
|
|
485
|
+
return "AI_RESOURCE_DIMENSION_COMMAND";
|
|
486
|
+
case AIResourceDimension.UNRECOGNIZED:
|
|
487
|
+
default:
|
|
488
|
+
return "UNRECOGNIZED";
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
435
492
|
export enum AIFileLifecycle {
|
|
436
493
|
AI_FILE_LIFECYCLE_UNSPECIFIED = 0,
|
|
437
494
|
AI_FILE_LIFECYCLE_UNLANDED = 1,
|
|
@@ -1201,6 +1258,46 @@ export interface DailyActivityMeasures {
|
|
|
1201
1258
|
branchesCreated: number;
|
|
1202
1259
|
}
|
|
1203
1260
|
|
|
1261
|
+
export interface ActivityRhythmRequest {
|
|
1262
|
+
organizationId: string;
|
|
1263
|
+
projectId: string;
|
|
1264
|
+
/** the range; UNSPECIFIED is rejected, capped at 30 days */
|
|
1265
|
+
timeWindow: AnalyticsTimeWindow;
|
|
1266
|
+
/** IANA zone (e.g. "America/New_York"); empty defaults to "UTC". Echoed on the response. */
|
|
1267
|
+
timeZone: string;
|
|
1268
|
+
}
|
|
1269
|
+
|
|
1270
|
+
/**
|
|
1271
|
+
* ActivityRhythm mirrors telemetry.api.v1.ActivityRhythm: a sparse weekday/hour heatmap replaced wholesale
|
|
1272
|
+
* each tick (streams carry no ResponseStatus). Only slots with at least one event are present.
|
|
1273
|
+
*/
|
|
1274
|
+
export interface ActivityRhythm {
|
|
1275
|
+
buckets: ActivityRhythmBucket[];
|
|
1276
|
+
windowStart: Date | undefined;
|
|
1277
|
+
windowEnd: Date | undefined;
|
|
1278
|
+
asOf:
|
|
1279
|
+
| Date
|
|
1280
|
+
| undefined;
|
|
1281
|
+
/** resolved IANA zone */
|
|
1282
|
+
timeZone: string;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
export interface ActivityRhythmBucket {
|
|
1286
|
+
/** 1 = Monday .. 7 = Sunday */
|
|
1287
|
+
dayOfWeek: number;
|
|
1288
|
+
/** 0 .. 23 */
|
|
1289
|
+
hourOfDay: number;
|
|
1290
|
+
eventCount: number;
|
|
1291
|
+
modelUsage: TokenActivityMeasures | undefined;
|
|
1292
|
+
usageUnavailableCount: number;
|
|
1293
|
+
costUnavailableCount: number;
|
|
1294
|
+
toolCalls: number;
|
|
1295
|
+
userMessages: number;
|
|
1296
|
+
sessions: number;
|
|
1297
|
+
activeUsers: number;
|
|
1298
|
+
topTool: string;
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1204
1301
|
export interface ProjectOverviewRequest {
|
|
1205
1302
|
organizationId: string;
|
|
1206
1303
|
projectId: string;
|
|
@@ -1249,6 +1346,31 @@ export interface ProjectSessionRef {
|
|
|
1249
1346
|
lastActivityAt: Date | undefined;
|
|
1250
1347
|
}
|
|
1251
1348
|
|
|
1349
|
+
export interface ResourceRankingsRequest {
|
|
1350
|
+
organizationId: string;
|
|
1351
|
+
projectId: string;
|
|
1352
|
+
filter: AISessionFilter | undefined;
|
|
1353
|
+
dimension: AIResourceDimension;
|
|
1354
|
+
timeWindow: AnalyticsTimeWindow;
|
|
1355
|
+
topN: number;
|
|
1356
|
+
}
|
|
1357
|
+
|
|
1358
|
+
export interface ResourceRankingsResponse {
|
|
1359
|
+
status: ResponseStatus | undefined;
|
|
1360
|
+
rankings: ResourceRanking[];
|
|
1361
|
+
dimension: AIResourceDimension;
|
|
1362
|
+
windowStart: Date | undefined;
|
|
1363
|
+
windowEnd: Date | undefined;
|
|
1364
|
+
asOf: Date | undefined;
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
export interface ResourceRanking {
|
|
1368
|
+
key: string;
|
|
1369
|
+
count: number;
|
|
1370
|
+
priorCount: number;
|
|
1371
|
+
sessionCount: number;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1252
1374
|
export interface AIFileFilter {
|
|
1253
1375
|
repositoryKey: string[];
|
|
1254
1376
|
ref: string[];
|
|
@@ -9518,28 +9640,28 @@ export const DailyActivityMeasures: MessageFns<DailyActivityMeasures> = {
|
|
|
9518
9640
|
},
|
|
9519
9641
|
};
|
|
9520
9642
|
|
|
9521
|
-
function
|
|
9522
|
-
return { organizationId: "", projectId: "",
|
|
9643
|
+
function createBaseActivityRhythmRequest(): ActivityRhythmRequest {
|
|
9644
|
+
return { organizationId: "", projectId: "", timeWindow: 0, timeZone: "" };
|
|
9523
9645
|
}
|
|
9524
9646
|
|
|
9525
|
-
export const
|
|
9526
|
-
encode(message:
|
|
9647
|
+
export const ActivityRhythmRequest: MessageFns<ActivityRhythmRequest> = {
|
|
9648
|
+
encode(message: ActivityRhythmRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
9527
9649
|
if (message.organizationId !== "") {
|
|
9528
9650
|
writer.uint32(10).string(message.organizationId);
|
|
9529
9651
|
}
|
|
9530
9652
|
if (message.projectId !== "") {
|
|
9531
9653
|
writer.uint32(18).string(message.projectId);
|
|
9532
9654
|
}
|
|
9533
|
-
if (message.
|
|
9534
|
-
|
|
9655
|
+
if (message.timeWindow !== 0) {
|
|
9656
|
+
writer.uint32(24).int32(message.timeWindow);
|
|
9535
9657
|
}
|
|
9536
|
-
if (message.
|
|
9537
|
-
writer.uint32(
|
|
9658
|
+
if (message.timeZone !== "") {
|
|
9659
|
+
writer.uint32(34).string(message.timeZone);
|
|
9538
9660
|
}
|
|
9539
9661
|
return writer;
|
|
9540
9662
|
},
|
|
9541
9663
|
|
|
9542
|
-
decode(input: BinaryReader | Uint8Array, length?: number):
|
|
9664
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ActivityRhythmRequest {
|
|
9543
9665
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
9544
9666
|
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
9545
9667
|
if (previousRecursionDepth >= 100) {
|
|
@@ -9548,7 +9670,7 @@ export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
|
|
|
9548
9670
|
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
9549
9671
|
try {
|
|
9550
9672
|
const end = length === undefined ? reader.len : reader.pos + length;
|
|
9551
|
-
const message =
|
|
9673
|
+
const message = createBaseActivityRhythmRequest();
|
|
9552
9674
|
while (reader.pos < end) {
|
|
9553
9675
|
const tag = reader.uint32();
|
|
9554
9676
|
switch (tag >>> 3) {
|
|
@@ -9569,19 +9691,19 @@ export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
|
|
|
9569
9691
|
continue;
|
|
9570
9692
|
}
|
|
9571
9693
|
case 3: {
|
|
9572
|
-
if (tag !==
|
|
9694
|
+
if (tag !== 24) {
|
|
9573
9695
|
break;
|
|
9574
9696
|
}
|
|
9575
9697
|
|
|
9576
|
-
message.
|
|
9698
|
+
message.timeWindow = reader.int32() as any;
|
|
9577
9699
|
continue;
|
|
9578
9700
|
}
|
|
9579
9701
|
case 4: {
|
|
9580
|
-
if (tag !==
|
|
9702
|
+
if (tag !== 34) {
|
|
9581
9703
|
break;
|
|
9582
9704
|
}
|
|
9583
9705
|
|
|
9584
|
-
message.
|
|
9706
|
+
message.timeZone = reader.string();
|
|
9585
9707
|
continue;
|
|
9586
9708
|
}
|
|
9587
9709
|
}
|
|
@@ -9596,7 +9718,7 @@ export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
|
|
|
9596
9718
|
}
|
|
9597
9719
|
},
|
|
9598
9720
|
|
|
9599
|
-
fromJSON(object: any):
|
|
9721
|
+
fromJSON(object: any): ActivityRhythmRequest {
|
|
9600
9722
|
return {
|
|
9601
9723
|
organizationId: isSet(object.organizationId)
|
|
9602
9724
|
? globalThis.String(object.organizationId)
|
|
@@ -9608,20 +9730,20 @@ export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
|
|
|
9608
9730
|
: isSet(object.project_id)
|
|
9609
9731
|
? globalThis.String(object.project_id)
|
|
9610
9732
|
: "",
|
|
9611
|
-
|
|
9612
|
-
?
|
|
9613
|
-
: isSet(object.
|
|
9614
|
-
?
|
|
9615
|
-
: undefined,
|
|
9616
|
-
topSessions: isSet(object.topSessions)
|
|
9617
|
-
? globalThis.Number(object.topSessions)
|
|
9618
|
-
: isSet(object.top_sessions)
|
|
9619
|
-
? globalThis.Number(object.top_sessions)
|
|
9733
|
+
timeWindow: isSet(object.timeWindow)
|
|
9734
|
+
? analyticsTimeWindowFromJSON(object.timeWindow)
|
|
9735
|
+
: isSet(object.time_window)
|
|
9736
|
+
? analyticsTimeWindowFromJSON(object.time_window)
|
|
9620
9737
|
: 0,
|
|
9738
|
+
timeZone: isSet(object.timeZone)
|
|
9739
|
+
? globalThis.String(object.timeZone)
|
|
9740
|
+
: isSet(object.time_zone)
|
|
9741
|
+
? globalThis.String(object.time_zone)
|
|
9742
|
+
: "",
|
|
9621
9743
|
};
|
|
9622
9744
|
},
|
|
9623
9745
|
|
|
9624
|
-
toJSON(message:
|
|
9746
|
+
toJSON(message: ActivityRhythmRequest): unknown {
|
|
9625
9747
|
const obj: any = {};
|
|
9626
9748
|
if (message.organizationId !== "") {
|
|
9627
9749
|
obj.organizationId = message.organizationId;
|
|
@@ -9629,53 +9751,53 @@ export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
|
|
|
9629
9751
|
if (message.projectId !== "") {
|
|
9630
9752
|
obj.projectId = message.projectId;
|
|
9631
9753
|
}
|
|
9632
|
-
if (message.
|
|
9633
|
-
obj.
|
|
9754
|
+
if (message.timeWindow !== 0) {
|
|
9755
|
+
obj.timeWindow = analyticsTimeWindowToJSON(message.timeWindow);
|
|
9634
9756
|
}
|
|
9635
|
-
if (message.
|
|
9636
|
-
obj.
|
|
9757
|
+
if (message.timeZone !== "") {
|
|
9758
|
+
obj.timeZone = message.timeZone;
|
|
9637
9759
|
}
|
|
9638
9760
|
return obj;
|
|
9639
9761
|
},
|
|
9640
9762
|
|
|
9641
|
-
create<I extends Exact<DeepPartial<
|
|
9642
|
-
return
|
|
9763
|
+
create<I extends Exact<DeepPartial<ActivityRhythmRequest>, I>>(base?: I): ActivityRhythmRequest {
|
|
9764
|
+
return ActivityRhythmRequest.fromPartial(base ?? ({} as any));
|
|
9643
9765
|
},
|
|
9644
|
-
fromPartial<I extends Exact<DeepPartial<
|
|
9645
|
-
const message =
|
|
9766
|
+
fromPartial<I extends Exact<DeepPartial<ActivityRhythmRequest>, I>>(object: I): ActivityRhythmRequest {
|
|
9767
|
+
const message = createBaseActivityRhythmRequest();
|
|
9646
9768
|
message.organizationId = object.organizationId ?? "";
|
|
9647
9769
|
message.projectId = object.projectId ?? "";
|
|
9648
|
-
message.
|
|
9649
|
-
message.
|
|
9770
|
+
message.timeWindow = object.timeWindow ?? 0;
|
|
9771
|
+
message.timeZone = object.timeZone ?? "";
|
|
9650
9772
|
return message;
|
|
9651
9773
|
},
|
|
9652
9774
|
};
|
|
9653
9775
|
|
|
9654
|
-
function
|
|
9655
|
-
return {
|
|
9776
|
+
function createBaseActivityRhythm(): ActivityRhythm {
|
|
9777
|
+
return { buckets: [], windowStart: undefined, windowEnd: undefined, asOf: undefined, timeZone: "" };
|
|
9656
9778
|
}
|
|
9657
9779
|
|
|
9658
|
-
export const
|
|
9659
|
-
encode(message:
|
|
9660
|
-
|
|
9661
|
-
|
|
9780
|
+
export const ActivityRhythm: MessageFns<ActivityRhythm> = {
|
|
9781
|
+
encode(message: ActivityRhythm, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
9782
|
+
for (const v of message.buckets) {
|
|
9783
|
+
ActivityRhythmBucket.encode(v!, writer.uint32(10).fork()).join();
|
|
9662
9784
|
}
|
|
9663
|
-
|
|
9664
|
-
|
|
9785
|
+
if (message.windowStart !== undefined) {
|
|
9786
|
+
Timestamp.encode(toTimestamp(message.windowStart), writer.uint32(18).fork()).join();
|
|
9665
9787
|
}
|
|
9666
|
-
|
|
9667
|
-
|
|
9788
|
+
if (message.windowEnd !== undefined) {
|
|
9789
|
+
Timestamp.encode(toTimestamp(message.windowEnd), writer.uint32(26).fork()).join();
|
|
9668
9790
|
}
|
|
9669
|
-
|
|
9670
|
-
|
|
9791
|
+
if (message.asOf !== undefined) {
|
|
9792
|
+
Timestamp.encode(toTimestamp(message.asOf), writer.uint32(34).fork()).join();
|
|
9671
9793
|
}
|
|
9672
|
-
|
|
9673
|
-
|
|
9794
|
+
if (message.timeZone !== "") {
|
|
9795
|
+
writer.uint32(42).string(message.timeZone);
|
|
9674
9796
|
}
|
|
9675
9797
|
return writer;
|
|
9676
9798
|
},
|
|
9677
9799
|
|
|
9678
|
-
decode(input: BinaryReader | Uint8Array, length?: number):
|
|
9800
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ActivityRhythm {
|
|
9679
9801
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
9680
9802
|
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
9681
9803
|
if (previousRecursionDepth >= 100) {
|
|
@@ -9684,7 +9806,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9684
9806
|
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
9685
9807
|
try {
|
|
9686
9808
|
const end = length === undefined ? reader.len : reader.pos + length;
|
|
9687
|
-
const message =
|
|
9809
|
+
const message = createBaseActivityRhythm();
|
|
9688
9810
|
while (reader.pos < end) {
|
|
9689
9811
|
const tag = reader.uint32();
|
|
9690
9812
|
switch (tag >>> 3) {
|
|
@@ -9693,7 +9815,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9693
9815
|
break;
|
|
9694
9816
|
}
|
|
9695
9817
|
|
|
9696
|
-
message.
|
|
9818
|
+
message.buckets.push(ActivityRhythmBucket.decode(reader, reader.uint32()));
|
|
9697
9819
|
continue;
|
|
9698
9820
|
}
|
|
9699
9821
|
case 2: {
|
|
@@ -9701,7 +9823,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9701
9823
|
break;
|
|
9702
9824
|
}
|
|
9703
9825
|
|
|
9704
|
-
message.
|
|
9826
|
+
message.windowStart = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
9705
9827
|
continue;
|
|
9706
9828
|
}
|
|
9707
9829
|
case 3: {
|
|
@@ -9709,7 +9831,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9709
9831
|
break;
|
|
9710
9832
|
}
|
|
9711
9833
|
|
|
9712
|
-
message.
|
|
9834
|
+
message.windowEnd = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
9713
9835
|
continue;
|
|
9714
9836
|
}
|
|
9715
9837
|
case 4: {
|
|
@@ -9717,7 +9839,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9717
9839
|
break;
|
|
9718
9840
|
}
|
|
9719
9841
|
|
|
9720
|
-
message.
|
|
9842
|
+
message.asOf = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
9721
9843
|
continue;
|
|
9722
9844
|
}
|
|
9723
9845
|
case 5: {
|
|
@@ -9725,7 +9847,7 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9725
9847
|
break;
|
|
9726
9848
|
}
|
|
9727
9849
|
|
|
9728
|
-
message.
|
|
9850
|
+
message.timeZone = reader.string();
|
|
9729
9851
|
continue;
|
|
9730
9852
|
}
|
|
9731
9853
|
}
|
|
@@ -9740,135 +9862,123 @@ export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
|
9740
9862
|
}
|
|
9741
9863
|
},
|
|
9742
9864
|
|
|
9743
|
-
fromJSON(object: any):
|
|
9865
|
+
fromJSON(object: any): ActivityRhythm {
|
|
9744
9866
|
return {
|
|
9745
|
-
|
|
9746
|
-
|
|
9747
|
-
? object.byModel.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
9748
|
-
: globalThis.Array.isArray(object?.by_model)
|
|
9749
|
-
? object.by_model.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
9750
|
-
: [],
|
|
9751
|
-
byProvider: globalThis.Array.isArray(object?.byProvider)
|
|
9752
|
-
? object.byProvider.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
9753
|
-
: globalThis.Array.isArray(object?.by_provider)
|
|
9754
|
-
? object.by_provider.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
9755
|
-
: [],
|
|
9756
|
-
bySource: globalThis.Array.isArray(object?.bySource)
|
|
9757
|
-
? object.bySource.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
9758
|
-
: globalThis.Array.isArray(object?.by_source)
|
|
9759
|
-
? object.by_source.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
9760
|
-
: [],
|
|
9761
|
-
topSessions: globalThis.Array.isArray(object?.topSessions)
|
|
9762
|
-
? object.topSessions.map((e: any) => ProjectSessionRef.fromJSON(e))
|
|
9763
|
-
: globalThis.Array.isArray(object?.top_sessions)
|
|
9764
|
-
? object.top_sessions.map((e: any) => ProjectSessionRef.fromJSON(e))
|
|
9867
|
+
buckets: globalThis.Array.isArray(object?.buckets)
|
|
9868
|
+
? object.buckets.map((e: any) => ActivityRhythmBucket.fromJSON(e))
|
|
9765
9869
|
: [],
|
|
9870
|
+
windowStart: isSet(object.windowStart)
|
|
9871
|
+
? fromJsonTimestamp(object.windowStart)
|
|
9872
|
+
: isSet(object.window_start)
|
|
9873
|
+
? fromJsonTimestamp(object.window_start)
|
|
9874
|
+
: undefined,
|
|
9875
|
+
windowEnd: isSet(object.windowEnd)
|
|
9876
|
+
? fromJsonTimestamp(object.windowEnd)
|
|
9877
|
+
: isSet(object.window_end)
|
|
9878
|
+
? fromJsonTimestamp(object.window_end)
|
|
9879
|
+
: undefined,
|
|
9880
|
+
asOf: isSet(object.asOf)
|
|
9881
|
+
? fromJsonTimestamp(object.asOf)
|
|
9882
|
+
: isSet(object.as_of)
|
|
9883
|
+
? fromJsonTimestamp(object.as_of)
|
|
9884
|
+
: undefined,
|
|
9885
|
+
timeZone: isSet(object.timeZone)
|
|
9886
|
+
? globalThis.String(object.timeZone)
|
|
9887
|
+
: isSet(object.time_zone)
|
|
9888
|
+
? globalThis.String(object.time_zone)
|
|
9889
|
+
: "",
|
|
9766
9890
|
};
|
|
9767
9891
|
},
|
|
9768
9892
|
|
|
9769
|
-
toJSON(message:
|
|
9893
|
+
toJSON(message: ActivityRhythm): unknown {
|
|
9770
9894
|
const obj: any = {};
|
|
9771
|
-
if (message.
|
|
9772
|
-
obj.
|
|
9895
|
+
if (message.buckets?.length) {
|
|
9896
|
+
obj.buckets = message.buckets.map((e) => ActivityRhythmBucket.toJSON(e));
|
|
9773
9897
|
}
|
|
9774
|
-
if (message.
|
|
9775
|
-
obj.
|
|
9898
|
+
if (message.windowStart !== undefined) {
|
|
9899
|
+
obj.windowStart = message.windowStart.toISOString();
|
|
9776
9900
|
}
|
|
9777
|
-
if (message.
|
|
9778
|
-
obj.
|
|
9901
|
+
if (message.windowEnd !== undefined) {
|
|
9902
|
+
obj.windowEnd = message.windowEnd.toISOString();
|
|
9779
9903
|
}
|
|
9780
|
-
if (message.
|
|
9781
|
-
obj.
|
|
9904
|
+
if (message.asOf !== undefined) {
|
|
9905
|
+
obj.asOf = message.asOf.toISOString();
|
|
9782
9906
|
}
|
|
9783
|
-
if (message.
|
|
9784
|
-
obj.
|
|
9907
|
+
if (message.timeZone !== "") {
|
|
9908
|
+
obj.timeZone = message.timeZone;
|
|
9785
9909
|
}
|
|
9786
9910
|
return obj;
|
|
9787
9911
|
},
|
|
9788
9912
|
|
|
9789
|
-
create<I extends Exact<DeepPartial<
|
|
9790
|
-
return
|
|
9913
|
+
create<I extends Exact<DeepPartial<ActivityRhythm>, I>>(base?: I): ActivityRhythm {
|
|
9914
|
+
return ActivityRhythm.fromPartial(base ?? ({} as any));
|
|
9791
9915
|
},
|
|
9792
|
-
fromPartial<I extends Exact<DeepPartial<
|
|
9793
|
-
const message =
|
|
9794
|
-
message.
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
message.
|
|
9798
|
-
message.
|
|
9799
|
-
message.bySource = object.bySource?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
|
|
9800
|
-
message.topSessions = object.topSessions?.map((e) => ProjectSessionRef.fromPartial(e)) || [];
|
|
9916
|
+
fromPartial<I extends Exact<DeepPartial<ActivityRhythm>, I>>(object: I): ActivityRhythm {
|
|
9917
|
+
const message = createBaseActivityRhythm();
|
|
9918
|
+
message.buckets = object.buckets?.map((e) => ActivityRhythmBucket.fromPartial(e)) || [];
|
|
9919
|
+
message.windowStart = object.windowStart ?? undefined;
|
|
9920
|
+
message.windowEnd = object.windowEnd ?? undefined;
|
|
9921
|
+
message.asOf = object.asOf ?? undefined;
|
|
9922
|
+
message.timeZone = object.timeZone ?? "";
|
|
9801
9923
|
return message;
|
|
9802
9924
|
},
|
|
9803
9925
|
};
|
|
9804
9926
|
|
|
9805
|
-
function
|
|
9927
|
+
function createBaseActivityRhythmBucket(): ActivityRhythmBucket {
|
|
9806
9928
|
return {
|
|
9807
|
-
|
|
9808
|
-
|
|
9929
|
+
dayOfWeek: 0,
|
|
9930
|
+
hourOfDay: 0,
|
|
9931
|
+
eventCount: 0,
|
|
9932
|
+
modelUsage: undefined,
|
|
9933
|
+
usageUnavailableCount: 0,
|
|
9934
|
+
costUnavailableCount: 0,
|
|
9809
9935
|
toolCalls: 0,
|
|
9810
9936
|
userMessages: 0,
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
cacheWriteTokens: 0,
|
|
9815
|
-
costUsd: 0,
|
|
9816
|
-
distinctUsers: 0,
|
|
9817
|
-
commits: 0,
|
|
9818
|
-
pushes: 0,
|
|
9819
|
-
filesTouched: 0,
|
|
9820
|
-
lastActivityAt: undefined,
|
|
9937
|
+
sessions: 0,
|
|
9938
|
+
activeUsers: 0,
|
|
9939
|
+
topTool: "",
|
|
9821
9940
|
};
|
|
9822
9941
|
}
|
|
9823
9942
|
|
|
9824
|
-
export const
|
|
9825
|
-
encode(message:
|
|
9826
|
-
if (message.
|
|
9827
|
-
writer.uint32(8).
|
|
9828
|
-
}
|
|
9829
|
-
if (message.modelCalls !== 0) {
|
|
9830
|
-
writer.uint32(16).uint64(message.modelCalls);
|
|
9831
|
-
}
|
|
9832
|
-
if (message.toolCalls !== 0) {
|
|
9833
|
-
writer.uint32(24).uint64(message.toolCalls);
|
|
9834
|
-
}
|
|
9835
|
-
if (message.userMessages !== 0) {
|
|
9836
|
-
writer.uint32(32).uint64(message.userMessages);
|
|
9943
|
+
export const ActivityRhythmBucket: MessageFns<ActivityRhythmBucket> = {
|
|
9944
|
+
encode(message: ActivityRhythmBucket, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
9945
|
+
if (message.dayOfWeek !== 0) {
|
|
9946
|
+
writer.uint32(8).uint32(message.dayOfWeek);
|
|
9837
9947
|
}
|
|
9838
|
-
if (message.
|
|
9839
|
-
writer.uint32(
|
|
9948
|
+
if (message.hourOfDay !== 0) {
|
|
9949
|
+
writer.uint32(16).uint32(message.hourOfDay);
|
|
9840
9950
|
}
|
|
9841
|
-
if (message.
|
|
9842
|
-
writer.uint32(
|
|
9951
|
+
if (message.eventCount !== 0) {
|
|
9952
|
+
writer.uint32(24).uint64(message.eventCount);
|
|
9843
9953
|
}
|
|
9844
|
-
if (message.
|
|
9845
|
-
writer.uint32(
|
|
9954
|
+
if (message.modelUsage !== undefined) {
|
|
9955
|
+
TokenActivityMeasures.encode(message.modelUsage, writer.uint32(34).fork()).join();
|
|
9846
9956
|
}
|
|
9847
|
-
if (message.
|
|
9848
|
-
writer.uint32(
|
|
9957
|
+
if (message.usageUnavailableCount !== 0) {
|
|
9958
|
+
writer.uint32(40).uint64(message.usageUnavailableCount);
|
|
9849
9959
|
}
|
|
9850
|
-
if (message.
|
|
9851
|
-
writer.uint32(
|
|
9960
|
+
if (message.costUnavailableCount !== 0) {
|
|
9961
|
+
writer.uint32(48).uint64(message.costUnavailableCount);
|
|
9852
9962
|
}
|
|
9853
|
-
if (message.
|
|
9854
|
-
writer.uint32(
|
|
9963
|
+
if (message.toolCalls !== 0) {
|
|
9964
|
+
writer.uint32(56).uint64(message.toolCalls);
|
|
9855
9965
|
}
|
|
9856
|
-
if (message.
|
|
9857
|
-
writer.uint32(
|
|
9966
|
+
if (message.userMessages !== 0) {
|
|
9967
|
+
writer.uint32(64).uint64(message.userMessages);
|
|
9858
9968
|
}
|
|
9859
|
-
if (message.
|
|
9860
|
-
writer.uint32(
|
|
9969
|
+
if (message.sessions !== 0) {
|
|
9970
|
+
writer.uint32(72).uint64(message.sessions);
|
|
9861
9971
|
}
|
|
9862
|
-
if (message.
|
|
9863
|
-
writer.uint32(
|
|
9972
|
+
if (message.activeUsers !== 0) {
|
|
9973
|
+
writer.uint32(80).uint64(message.activeUsers);
|
|
9864
9974
|
}
|
|
9865
|
-
if (message.
|
|
9866
|
-
|
|
9975
|
+
if (message.topTool !== "") {
|
|
9976
|
+
writer.uint32(90).string(message.topTool);
|
|
9867
9977
|
}
|
|
9868
9978
|
return writer;
|
|
9869
9979
|
},
|
|
9870
9980
|
|
|
9871
|
-
decode(input: BinaryReader | Uint8Array, length?: number):
|
|
9981
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ActivityRhythmBucket {
|
|
9872
9982
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
9873
9983
|
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
9874
9984
|
if (previousRecursionDepth >= 100) {
|
|
@@ -9877,7 +9987,7 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9877
9987
|
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
9878
9988
|
try {
|
|
9879
9989
|
const end = length === undefined ? reader.len : reader.pos + length;
|
|
9880
|
-
const message =
|
|
9990
|
+
const message = createBaseActivityRhythmBucket();
|
|
9881
9991
|
while (reader.pos < end) {
|
|
9882
9992
|
const tag = reader.uint32();
|
|
9883
9993
|
switch (tag >>> 3) {
|
|
@@ -9886,7 +9996,7 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9886
9996
|
break;
|
|
9887
9997
|
}
|
|
9888
9998
|
|
|
9889
|
-
message.
|
|
9999
|
+
message.dayOfWeek = reader.uint32();
|
|
9890
10000
|
continue;
|
|
9891
10001
|
}
|
|
9892
10002
|
case 2: {
|
|
@@ -9894,7 +10004,7 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9894
10004
|
break;
|
|
9895
10005
|
}
|
|
9896
10006
|
|
|
9897
|
-
message.
|
|
10007
|
+
message.hourOfDay = reader.uint32();
|
|
9898
10008
|
continue;
|
|
9899
10009
|
}
|
|
9900
10010
|
case 3: {
|
|
@@ -9902,15 +10012,15 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9902
10012
|
break;
|
|
9903
10013
|
}
|
|
9904
10014
|
|
|
9905
|
-
message.
|
|
10015
|
+
message.eventCount = longToNumber(reader.uint64());
|
|
9906
10016
|
continue;
|
|
9907
10017
|
}
|
|
9908
10018
|
case 4: {
|
|
9909
|
-
if (tag !==
|
|
10019
|
+
if (tag !== 34) {
|
|
9910
10020
|
break;
|
|
9911
10021
|
}
|
|
9912
10022
|
|
|
9913
|
-
message.
|
|
10023
|
+
message.modelUsage = TokenActivityMeasures.decode(reader, reader.uint32());
|
|
9914
10024
|
continue;
|
|
9915
10025
|
}
|
|
9916
10026
|
case 5: {
|
|
@@ -9918,7 +10028,7 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9918
10028
|
break;
|
|
9919
10029
|
}
|
|
9920
10030
|
|
|
9921
|
-
message.
|
|
10031
|
+
message.usageUnavailableCount = longToNumber(reader.uint64());
|
|
9922
10032
|
continue;
|
|
9923
10033
|
}
|
|
9924
10034
|
case 6: {
|
|
@@ -9926,7 +10036,7 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9926
10036
|
break;
|
|
9927
10037
|
}
|
|
9928
10038
|
|
|
9929
|
-
message.
|
|
10039
|
+
message.costUnavailableCount = longToNumber(reader.uint64());
|
|
9930
10040
|
continue;
|
|
9931
10041
|
}
|
|
9932
10042
|
case 7: {
|
|
@@ -9934,7 +10044,7 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9934
10044
|
break;
|
|
9935
10045
|
}
|
|
9936
10046
|
|
|
9937
|
-
message.
|
|
10047
|
+
message.toolCalls = longToNumber(reader.uint64());
|
|
9938
10048
|
continue;
|
|
9939
10049
|
}
|
|
9940
10050
|
case 8: {
|
|
@@ -9942,15 +10052,15 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9942
10052
|
break;
|
|
9943
10053
|
}
|
|
9944
10054
|
|
|
9945
|
-
message.
|
|
10055
|
+
message.userMessages = longToNumber(reader.uint64());
|
|
9946
10056
|
continue;
|
|
9947
10057
|
}
|
|
9948
10058
|
case 9: {
|
|
9949
|
-
if (tag !==
|
|
10059
|
+
if (tag !== 72) {
|
|
9950
10060
|
break;
|
|
9951
10061
|
}
|
|
9952
10062
|
|
|
9953
|
-
message.
|
|
10063
|
+
message.sessions = longToNumber(reader.uint64());
|
|
9954
10064
|
continue;
|
|
9955
10065
|
}
|
|
9956
10066
|
case 10: {
|
|
@@ -9958,39 +10068,15 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
9958
10068
|
break;
|
|
9959
10069
|
}
|
|
9960
10070
|
|
|
9961
|
-
message.
|
|
10071
|
+
message.activeUsers = longToNumber(reader.uint64());
|
|
9962
10072
|
continue;
|
|
9963
10073
|
}
|
|
9964
10074
|
case 11: {
|
|
9965
|
-
if (tag !==
|
|
9966
|
-
break;
|
|
9967
|
-
}
|
|
9968
|
-
|
|
9969
|
-
message.commits = longToNumber(reader.uint64());
|
|
9970
|
-
continue;
|
|
9971
|
-
}
|
|
9972
|
-
case 12: {
|
|
9973
|
-
if (tag !== 96) {
|
|
9974
|
-
break;
|
|
9975
|
-
}
|
|
9976
|
-
|
|
9977
|
-
message.pushes = longToNumber(reader.uint64());
|
|
9978
|
-
continue;
|
|
9979
|
-
}
|
|
9980
|
-
case 13: {
|
|
9981
|
-
if (tag !== 104) {
|
|
9982
|
-
break;
|
|
9983
|
-
}
|
|
9984
|
-
|
|
9985
|
-
message.filesTouched = longToNumber(reader.uint64());
|
|
9986
|
-
continue;
|
|
9987
|
-
}
|
|
9988
|
-
case 14: {
|
|
9989
|
-
if (tag !== 114) {
|
|
10075
|
+
if (tag !== 90) {
|
|
9990
10076
|
break;
|
|
9991
10077
|
}
|
|
9992
10078
|
|
|
9993
|
-
message.
|
|
10079
|
+
message.topTool = reader.string();
|
|
9994
10080
|
continue;
|
|
9995
10081
|
}
|
|
9996
10082
|
}
|
|
@@ -10005,13 +10091,37 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
10005
10091
|
}
|
|
10006
10092
|
},
|
|
10007
10093
|
|
|
10008
|
-
fromJSON(object: any):
|
|
10094
|
+
fromJSON(object: any): ActivityRhythmBucket {
|
|
10009
10095
|
return {
|
|
10010
|
-
|
|
10011
|
-
|
|
10012
|
-
|
|
10013
|
-
|
|
10014
|
-
|
|
10096
|
+
dayOfWeek: isSet(object.dayOfWeek)
|
|
10097
|
+
? globalThis.Number(object.dayOfWeek)
|
|
10098
|
+
: isSet(object.day_of_week)
|
|
10099
|
+
? globalThis.Number(object.day_of_week)
|
|
10100
|
+
: 0,
|
|
10101
|
+
hourOfDay: isSet(object.hourOfDay)
|
|
10102
|
+
? globalThis.Number(object.hourOfDay)
|
|
10103
|
+
: isSet(object.hour_of_day)
|
|
10104
|
+
? globalThis.Number(object.hour_of_day)
|
|
10105
|
+
: 0,
|
|
10106
|
+
eventCount: isSet(object.eventCount)
|
|
10107
|
+
? globalThis.Number(object.eventCount)
|
|
10108
|
+
: isSet(object.event_count)
|
|
10109
|
+
? globalThis.Number(object.event_count)
|
|
10110
|
+
: 0,
|
|
10111
|
+
modelUsage: isSet(object.modelUsage)
|
|
10112
|
+
? TokenActivityMeasures.fromJSON(object.modelUsage)
|
|
10113
|
+
: isSet(object.model_usage)
|
|
10114
|
+
? TokenActivityMeasures.fromJSON(object.model_usage)
|
|
10115
|
+
: undefined,
|
|
10116
|
+
usageUnavailableCount: isSet(object.usageUnavailableCount)
|
|
10117
|
+
? globalThis.Number(object.usageUnavailableCount)
|
|
10118
|
+
: isSet(object.usage_unavailable_count)
|
|
10119
|
+
? globalThis.Number(object.usage_unavailable_count)
|
|
10120
|
+
: 0,
|
|
10121
|
+
costUnavailableCount: isSet(object.costUnavailableCount)
|
|
10122
|
+
? globalThis.Number(object.costUnavailableCount)
|
|
10123
|
+
: isSet(object.cost_unavailable_count)
|
|
10124
|
+
? globalThis.Number(object.cost_unavailable_count)
|
|
10015
10125
|
: 0,
|
|
10016
10126
|
toolCalls: isSet(object.toolCalls)
|
|
10017
10127
|
? globalThis.Number(object.toolCalls)
|
|
@@ -10023,58 +10133,39 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
10023
10133
|
: isSet(object.user_messages)
|
|
10024
10134
|
? globalThis.Number(object.user_messages)
|
|
10025
10135
|
: 0,
|
|
10026
|
-
|
|
10027
|
-
|
|
10028
|
-
|
|
10029
|
-
|
|
10030
|
-
|
|
10031
|
-
outputTokens: isSet(object.outputTokens)
|
|
10032
|
-
? globalThis.Number(object.outputTokens)
|
|
10033
|
-
: isSet(object.output_tokens)
|
|
10034
|
-
? globalThis.Number(object.output_tokens)
|
|
10035
|
-
: 0,
|
|
10036
|
-
cacheReadTokens: isSet(object.cacheReadTokens)
|
|
10037
|
-
? globalThis.Number(object.cacheReadTokens)
|
|
10038
|
-
: isSet(object.cache_read_tokens)
|
|
10039
|
-
? globalThis.Number(object.cache_read_tokens)
|
|
10040
|
-
: 0,
|
|
10041
|
-
cacheWriteTokens: isSet(object.cacheWriteTokens)
|
|
10042
|
-
? globalThis.Number(object.cacheWriteTokens)
|
|
10043
|
-
: isSet(object.cache_write_tokens)
|
|
10044
|
-
? globalThis.Number(object.cache_write_tokens)
|
|
10045
|
-
: 0,
|
|
10046
|
-
costUsd: isSet(object.costUsd)
|
|
10047
|
-
? globalThis.Number(object.costUsd)
|
|
10048
|
-
: isSet(object.cost_usd)
|
|
10049
|
-
? globalThis.Number(object.cost_usd)
|
|
10050
|
-
: 0,
|
|
10051
|
-
distinctUsers: isSet(object.distinctUsers)
|
|
10052
|
-
? globalThis.Number(object.distinctUsers)
|
|
10053
|
-
: isSet(object.distinct_users)
|
|
10054
|
-
? globalThis.Number(object.distinct_users)
|
|
10055
|
-
: 0,
|
|
10056
|
-
commits: isSet(object.commits) ? globalThis.Number(object.commits) : 0,
|
|
10057
|
-
pushes: isSet(object.pushes) ? globalThis.Number(object.pushes) : 0,
|
|
10058
|
-
filesTouched: isSet(object.filesTouched)
|
|
10059
|
-
? globalThis.Number(object.filesTouched)
|
|
10060
|
-
: isSet(object.files_touched)
|
|
10061
|
-
? globalThis.Number(object.files_touched)
|
|
10136
|
+
sessions: isSet(object.sessions) ? globalThis.Number(object.sessions) : 0,
|
|
10137
|
+
activeUsers: isSet(object.activeUsers)
|
|
10138
|
+
? globalThis.Number(object.activeUsers)
|
|
10139
|
+
: isSet(object.active_users)
|
|
10140
|
+
? globalThis.Number(object.active_users)
|
|
10062
10141
|
: 0,
|
|
10063
|
-
|
|
10064
|
-
?
|
|
10065
|
-
: isSet(object.
|
|
10066
|
-
?
|
|
10067
|
-
:
|
|
10142
|
+
topTool: isSet(object.topTool)
|
|
10143
|
+
? globalThis.String(object.topTool)
|
|
10144
|
+
: isSet(object.top_tool)
|
|
10145
|
+
? globalThis.String(object.top_tool)
|
|
10146
|
+
: "",
|
|
10068
10147
|
};
|
|
10069
10148
|
},
|
|
10070
10149
|
|
|
10071
|
-
toJSON(message:
|
|
10150
|
+
toJSON(message: ActivityRhythmBucket): unknown {
|
|
10072
10151
|
const obj: any = {};
|
|
10073
|
-
if (message.
|
|
10074
|
-
obj.
|
|
10152
|
+
if (message.dayOfWeek !== 0) {
|
|
10153
|
+
obj.dayOfWeek = Math.round(message.dayOfWeek);
|
|
10075
10154
|
}
|
|
10076
|
-
if (message.
|
|
10077
|
-
obj.
|
|
10155
|
+
if (message.hourOfDay !== 0) {
|
|
10156
|
+
obj.hourOfDay = Math.round(message.hourOfDay);
|
|
10157
|
+
}
|
|
10158
|
+
if (message.eventCount !== 0) {
|
|
10159
|
+
obj.eventCount = Math.round(message.eventCount);
|
|
10160
|
+
}
|
|
10161
|
+
if (message.modelUsage !== undefined) {
|
|
10162
|
+
obj.modelUsage = TokenActivityMeasures.toJSON(message.modelUsage);
|
|
10163
|
+
}
|
|
10164
|
+
if (message.usageUnavailableCount !== 0) {
|
|
10165
|
+
obj.usageUnavailableCount = Math.round(message.usageUnavailableCount);
|
|
10166
|
+
}
|
|
10167
|
+
if (message.costUnavailableCount !== 0) {
|
|
10168
|
+
obj.costUnavailableCount = Math.round(message.costUnavailableCount);
|
|
10078
10169
|
}
|
|
10079
10170
|
if (message.toolCalls !== 0) {
|
|
10080
10171
|
obj.toolCalls = Math.round(message.toolCalls);
|
|
@@ -10082,87 +10173,1164 @@ export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
|
10082
10173
|
if (message.userMessages !== 0) {
|
|
10083
10174
|
obj.userMessages = Math.round(message.userMessages);
|
|
10084
10175
|
}
|
|
10085
|
-
if (message.
|
|
10086
|
-
obj.
|
|
10176
|
+
if (message.sessions !== 0) {
|
|
10177
|
+
obj.sessions = Math.round(message.sessions);
|
|
10087
10178
|
}
|
|
10088
|
-
if (message.
|
|
10089
|
-
obj.
|
|
10179
|
+
if (message.activeUsers !== 0) {
|
|
10180
|
+
obj.activeUsers = Math.round(message.activeUsers);
|
|
10090
10181
|
}
|
|
10091
|
-
if (message.
|
|
10092
|
-
obj.
|
|
10182
|
+
if (message.topTool !== "") {
|
|
10183
|
+
obj.topTool = message.topTool;
|
|
10093
10184
|
}
|
|
10094
|
-
|
|
10095
|
-
|
|
10185
|
+
return obj;
|
|
10186
|
+
},
|
|
10187
|
+
|
|
10188
|
+
create<I extends Exact<DeepPartial<ActivityRhythmBucket>, I>>(base?: I): ActivityRhythmBucket {
|
|
10189
|
+
return ActivityRhythmBucket.fromPartial(base ?? ({} as any));
|
|
10190
|
+
},
|
|
10191
|
+
fromPartial<I extends Exact<DeepPartial<ActivityRhythmBucket>, I>>(object: I): ActivityRhythmBucket {
|
|
10192
|
+
const message = createBaseActivityRhythmBucket();
|
|
10193
|
+
message.dayOfWeek = object.dayOfWeek ?? 0;
|
|
10194
|
+
message.hourOfDay = object.hourOfDay ?? 0;
|
|
10195
|
+
message.eventCount = object.eventCount ?? 0;
|
|
10196
|
+
message.modelUsage = (object.modelUsage !== undefined && object.modelUsage !== null)
|
|
10197
|
+
? TokenActivityMeasures.fromPartial(object.modelUsage)
|
|
10198
|
+
: undefined;
|
|
10199
|
+
message.usageUnavailableCount = object.usageUnavailableCount ?? 0;
|
|
10200
|
+
message.costUnavailableCount = object.costUnavailableCount ?? 0;
|
|
10201
|
+
message.toolCalls = object.toolCalls ?? 0;
|
|
10202
|
+
message.userMessages = object.userMessages ?? 0;
|
|
10203
|
+
message.sessions = object.sessions ?? 0;
|
|
10204
|
+
message.activeUsers = object.activeUsers ?? 0;
|
|
10205
|
+
message.topTool = object.topTool ?? "";
|
|
10206
|
+
return message;
|
|
10207
|
+
},
|
|
10208
|
+
};
|
|
10209
|
+
|
|
10210
|
+
function createBaseProjectOverviewRequest(): ProjectOverviewRequest {
|
|
10211
|
+
return { organizationId: "", projectId: "", activeAfter: undefined, topSessions: 0 };
|
|
10212
|
+
}
|
|
10213
|
+
|
|
10214
|
+
export const ProjectOverviewRequest: MessageFns<ProjectOverviewRequest> = {
|
|
10215
|
+
encode(message: ProjectOverviewRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
10216
|
+
if (message.organizationId !== "") {
|
|
10217
|
+
writer.uint32(10).string(message.organizationId);
|
|
10096
10218
|
}
|
|
10097
|
-
if (message.
|
|
10098
|
-
|
|
10219
|
+
if (message.projectId !== "") {
|
|
10220
|
+
writer.uint32(18).string(message.projectId);
|
|
10221
|
+
}
|
|
10222
|
+
if (message.activeAfter !== undefined) {
|
|
10223
|
+
Timestamp.encode(toTimestamp(message.activeAfter), writer.uint32(26).fork()).join();
|
|
10224
|
+
}
|
|
10225
|
+
if (message.topSessions !== 0) {
|
|
10226
|
+
writer.uint32(32).int32(message.topSessions);
|
|
10227
|
+
}
|
|
10228
|
+
return writer;
|
|
10229
|
+
},
|
|
10230
|
+
|
|
10231
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ProjectOverviewRequest {
|
|
10232
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
10233
|
+
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
10234
|
+
if (previousRecursionDepth >= 100) {
|
|
10235
|
+
throw new globalThis.Error("protobuf decode recursion limit exceeded");
|
|
10236
|
+
}
|
|
10237
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
10238
|
+
try {
|
|
10239
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
10240
|
+
const message = createBaseProjectOverviewRequest();
|
|
10241
|
+
while (reader.pos < end) {
|
|
10242
|
+
const tag = reader.uint32();
|
|
10243
|
+
switch (tag >>> 3) {
|
|
10244
|
+
case 1: {
|
|
10245
|
+
if (tag !== 10) {
|
|
10246
|
+
break;
|
|
10247
|
+
}
|
|
10248
|
+
|
|
10249
|
+
message.organizationId = reader.string();
|
|
10250
|
+
continue;
|
|
10251
|
+
}
|
|
10252
|
+
case 2: {
|
|
10253
|
+
if (tag !== 18) {
|
|
10254
|
+
break;
|
|
10255
|
+
}
|
|
10256
|
+
|
|
10257
|
+
message.projectId = reader.string();
|
|
10258
|
+
continue;
|
|
10259
|
+
}
|
|
10260
|
+
case 3: {
|
|
10261
|
+
if (tag !== 26) {
|
|
10262
|
+
break;
|
|
10263
|
+
}
|
|
10264
|
+
|
|
10265
|
+
message.activeAfter = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
10266
|
+
continue;
|
|
10267
|
+
}
|
|
10268
|
+
case 4: {
|
|
10269
|
+
if (tag !== 32) {
|
|
10270
|
+
break;
|
|
10271
|
+
}
|
|
10272
|
+
|
|
10273
|
+
message.topSessions = reader.int32();
|
|
10274
|
+
continue;
|
|
10275
|
+
}
|
|
10276
|
+
}
|
|
10277
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
10278
|
+
break;
|
|
10279
|
+
}
|
|
10280
|
+
reader.skip(tag & 7);
|
|
10281
|
+
}
|
|
10282
|
+
return message;
|
|
10283
|
+
} finally {
|
|
10284
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
|
|
10285
|
+
}
|
|
10286
|
+
},
|
|
10287
|
+
|
|
10288
|
+
fromJSON(object: any): ProjectOverviewRequest {
|
|
10289
|
+
return {
|
|
10290
|
+
organizationId: isSet(object.organizationId)
|
|
10291
|
+
? globalThis.String(object.organizationId)
|
|
10292
|
+
: isSet(object.organization_id)
|
|
10293
|
+
? globalThis.String(object.organization_id)
|
|
10294
|
+
: "",
|
|
10295
|
+
projectId: isSet(object.projectId)
|
|
10296
|
+
? globalThis.String(object.projectId)
|
|
10297
|
+
: isSet(object.project_id)
|
|
10298
|
+
? globalThis.String(object.project_id)
|
|
10299
|
+
: "",
|
|
10300
|
+
activeAfter: isSet(object.activeAfter)
|
|
10301
|
+
? fromJsonTimestamp(object.activeAfter)
|
|
10302
|
+
: isSet(object.active_after)
|
|
10303
|
+
? fromJsonTimestamp(object.active_after)
|
|
10304
|
+
: undefined,
|
|
10305
|
+
topSessions: isSet(object.topSessions)
|
|
10306
|
+
? globalThis.Number(object.topSessions)
|
|
10307
|
+
: isSet(object.top_sessions)
|
|
10308
|
+
? globalThis.Number(object.top_sessions)
|
|
10309
|
+
: 0,
|
|
10310
|
+
};
|
|
10311
|
+
},
|
|
10312
|
+
|
|
10313
|
+
toJSON(message: ProjectOverviewRequest): unknown {
|
|
10314
|
+
const obj: any = {};
|
|
10315
|
+
if (message.organizationId !== "") {
|
|
10316
|
+
obj.organizationId = message.organizationId;
|
|
10317
|
+
}
|
|
10318
|
+
if (message.projectId !== "") {
|
|
10319
|
+
obj.projectId = message.projectId;
|
|
10320
|
+
}
|
|
10321
|
+
if (message.activeAfter !== undefined) {
|
|
10322
|
+
obj.activeAfter = message.activeAfter.toISOString();
|
|
10323
|
+
}
|
|
10324
|
+
if (message.topSessions !== 0) {
|
|
10325
|
+
obj.topSessions = Math.round(message.topSessions);
|
|
10326
|
+
}
|
|
10327
|
+
return obj;
|
|
10328
|
+
},
|
|
10329
|
+
|
|
10330
|
+
create<I extends Exact<DeepPartial<ProjectOverviewRequest>, I>>(base?: I): ProjectOverviewRequest {
|
|
10331
|
+
return ProjectOverviewRequest.fromPartial(base ?? ({} as any));
|
|
10332
|
+
},
|
|
10333
|
+
fromPartial<I extends Exact<DeepPartial<ProjectOverviewRequest>, I>>(object: I): ProjectOverviewRequest {
|
|
10334
|
+
const message = createBaseProjectOverviewRequest();
|
|
10335
|
+
message.organizationId = object.organizationId ?? "";
|
|
10336
|
+
message.projectId = object.projectId ?? "";
|
|
10337
|
+
message.activeAfter = object.activeAfter ?? undefined;
|
|
10338
|
+
message.topSessions = object.topSessions ?? 0;
|
|
10339
|
+
return message;
|
|
10340
|
+
},
|
|
10341
|
+
};
|
|
10342
|
+
|
|
10343
|
+
function createBaseProjectOverview(): ProjectOverview {
|
|
10344
|
+
return { totals: undefined, byModel: [], byProvider: [], bySource: [], topSessions: [] };
|
|
10345
|
+
}
|
|
10346
|
+
|
|
10347
|
+
export const ProjectOverview: MessageFns<ProjectOverview> = {
|
|
10348
|
+
encode(message: ProjectOverview, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
10349
|
+
if (message.totals !== undefined) {
|
|
10350
|
+
ProjectOverviewTotals.encode(message.totals, writer.uint32(10).fork()).join();
|
|
10351
|
+
}
|
|
10352
|
+
for (const v of message.byModel) {
|
|
10353
|
+
ProjectOverviewSlice.encode(v!, writer.uint32(18).fork()).join();
|
|
10354
|
+
}
|
|
10355
|
+
for (const v of message.byProvider) {
|
|
10356
|
+
ProjectOverviewSlice.encode(v!, writer.uint32(26).fork()).join();
|
|
10357
|
+
}
|
|
10358
|
+
for (const v of message.bySource) {
|
|
10359
|
+
ProjectOverviewSlice.encode(v!, writer.uint32(34).fork()).join();
|
|
10360
|
+
}
|
|
10361
|
+
for (const v of message.topSessions) {
|
|
10362
|
+
ProjectSessionRef.encode(v!, writer.uint32(42).fork()).join();
|
|
10363
|
+
}
|
|
10364
|
+
return writer;
|
|
10365
|
+
},
|
|
10366
|
+
|
|
10367
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ProjectOverview {
|
|
10368
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
10369
|
+
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
10370
|
+
if (previousRecursionDepth >= 100) {
|
|
10371
|
+
throw new globalThis.Error("protobuf decode recursion limit exceeded");
|
|
10372
|
+
}
|
|
10373
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
10374
|
+
try {
|
|
10375
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
10376
|
+
const message = createBaseProjectOverview();
|
|
10377
|
+
while (reader.pos < end) {
|
|
10378
|
+
const tag = reader.uint32();
|
|
10379
|
+
switch (tag >>> 3) {
|
|
10380
|
+
case 1: {
|
|
10381
|
+
if (tag !== 10) {
|
|
10382
|
+
break;
|
|
10383
|
+
}
|
|
10384
|
+
|
|
10385
|
+
message.totals = ProjectOverviewTotals.decode(reader, reader.uint32());
|
|
10386
|
+
continue;
|
|
10387
|
+
}
|
|
10388
|
+
case 2: {
|
|
10389
|
+
if (tag !== 18) {
|
|
10390
|
+
break;
|
|
10391
|
+
}
|
|
10392
|
+
|
|
10393
|
+
message.byModel.push(ProjectOverviewSlice.decode(reader, reader.uint32()));
|
|
10394
|
+
continue;
|
|
10395
|
+
}
|
|
10396
|
+
case 3: {
|
|
10397
|
+
if (tag !== 26) {
|
|
10398
|
+
break;
|
|
10399
|
+
}
|
|
10400
|
+
|
|
10401
|
+
message.byProvider.push(ProjectOverviewSlice.decode(reader, reader.uint32()));
|
|
10402
|
+
continue;
|
|
10403
|
+
}
|
|
10404
|
+
case 4: {
|
|
10405
|
+
if (tag !== 34) {
|
|
10406
|
+
break;
|
|
10407
|
+
}
|
|
10408
|
+
|
|
10409
|
+
message.bySource.push(ProjectOverviewSlice.decode(reader, reader.uint32()));
|
|
10410
|
+
continue;
|
|
10411
|
+
}
|
|
10412
|
+
case 5: {
|
|
10413
|
+
if (tag !== 42) {
|
|
10414
|
+
break;
|
|
10415
|
+
}
|
|
10416
|
+
|
|
10417
|
+
message.topSessions.push(ProjectSessionRef.decode(reader, reader.uint32()));
|
|
10418
|
+
continue;
|
|
10419
|
+
}
|
|
10420
|
+
}
|
|
10421
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
10422
|
+
break;
|
|
10423
|
+
}
|
|
10424
|
+
reader.skip(tag & 7);
|
|
10425
|
+
}
|
|
10426
|
+
return message;
|
|
10427
|
+
} finally {
|
|
10428
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
|
|
10429
|
+
}
|
|
10430
|
+
},
|
|
10431
|
+
|
|
10432
|
+
fromJSON(object: any): ProjectOverview {
|
|
10433
|
+
return {
|
|
10434
|
+
totals: isSet(object.totals) ? ProjectOverviewTotals.fromJSON(object.totals) : undefined,
|
|
10435
|
+
byModel: globalThis.Array.isArray(object?.byModel)
|
|
10436
|
+
? object.byModel.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
10437
|
+
: globalThis.Array.isArray(object?.by_model)
|
|
10438
|
+
? object.by_model.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
10439
|
+
: [],
|
|
10440
|
+
byProvider: globalThis.Array.isArray(object?.byProvider)
|
|
10441
|
+
? object.byProvider.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
10442
|
+
: globalThis.Array.isArray(object?.by_provider)
|
|
10443
|
+
? object.by_provider.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
10444
|
+
: [],
|
|
10445
|
+
bySource: globalThis.Array.isArray(object?.bySource)
|
|
10446
|
+
? object.bySource.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
10447
|
+
: globalThis.Array.isArray(object?.by_source)
|
|
10448
|
+
? object.by_source.map((e: any) => ProjectOverviewSlice.fromJSON(e))
|
|
10449
|
+
: [],
|
|
10450
|
+
topSessions: globalThis.Array.isArray(object?.topSessions)
|
|
10451
|
+
? object.topSessions.map((e: any) => ProjectSessionRef.fromJSON(e))
|
|
10452
|
+
: globalThis.Array.isArray(object?.top_sessions)
|
|
10453
|
+
? object.top_sessions.map((e: any) => ProjectSessionRef.fromJSON(e))
|
|
10454
|
+
: [],
|
|
10455
|
+
};
|
|
10456
|
+
},
|
|
10457
|
+
|
|
10458
|
+
toJSON(message: ProjectOverview): unknown {
|
|
10459
|
+
const obj: any = {};
|
|
10460
|
+
if (message.totals !== undefined) {
|
|
10461
|
+
obj.totals = ProjectOverviewTotals.toJSON(message.totals);
|
|
10462
|
+
}
|
|
10463
|
+
if (message.byModel?.length) {
|
|
10464
|
+
obj.byModel = message.byModel.map((e) => ProjectOverviewSlice.toJSON(e));
|
|
10465
|
+
}
|
|
10466
|
+
if (message.byProvider?.length) {
|
|
10467
|
+
obj.byProvider = message.byProvider.map((e) => ProjectOverviewSlice.toJSON(e));
|
|
10468
|
+
}
|
|
10469
|
+
if (message.bySource?.length) {
|
|
10470
|
+
obj.bySource = message.bySource.map((e) => ProjectOverviewSlice.toJSON(e));
|
|
10471
|
+
}
|
|
10472
|
+
if (message.topSessions?.length) {
|
|
10473
|
+
obj.topSessions = message.topSessions.map((e) => ProjectSessionRef.toJSON(e));
|
|
10474
|
+
}
|
|
10475
|
+
return obj;
|
|
10476
|
+
},
|
|
10477
|
+
|
|
10478
|
+
create<I extends Exact<DeepPartial<ProjectOverview>, I>>(base?: I): ProjectOverview {
|
|
10479
|
+
return ProjectOverview.fromPartial(base ?? ({} as any));
|
|
10480
|
+
},
|
|
10481
|
+
fromPartial<I extends Exact<DeepPartial<ProjectOverview>, I>>(object: I): ProjectOverview {
|
|
10482
|
+
const message = createBaseProjectOverview();
|
|
10483
|
+
message.totals = (object.totals !== undefined && object.totals !== null)
|
|
10484
|
+
? ProjectOverviewTotals.fromPartial(object.totals)
|
|
10485
|
+
: undefined;
|
|
10486
|
+
message.byModel = object.byModel?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
|
|
10487
|
+
message.byProvider = object.byProvider?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
|
|
10488
|
+
message.bySource = object.bySource?.map((e) => ProjectOverviewSlice.fromPartial(e)) || [];
|
|
10489
|
+
message.topSessions = object.topSessions?.map((e) => ProjectSessionRef.fromPartial(e)) || [];
|
|
10490
|
+
return message;
|
|
10491
|
+
},
|
|
10492
|
+
};
|
|
10493
|
+
|
|
10494
|
+
function createBaseProjectOverviewTotals(): ProjectOverviewTotals {
|
|
10495
|
+
return {
|
|
10496
|
+
sessions: 0,
|
|
10497
|
+
modelCalls: 0,
|
|
10498
|
+
toolCalls: 0,
|
|
10499
|
+
userMessages: 0,
|
|
10500
|
+
inputTokens: 0,
|
|
10501
|
+
outputTokens: 0,
|
|
10502
|
+
cacheReadTokens: 0,
|
|
10503
|
+
cacheWriteTokens: 0,
|
|
10504
|
+
costUsd: 0,
|
|
10505
|
+
distinctUsers: 0,
|
|
10506
|
+
commits: 0,
|
|
10507
|
+
pushes: 0,
|
|
10508
|
+
filesTouched: 0,
|
|
10509
|
+
lastActivityAt: undefined,
|
|
10510
|
+
};
|
|
10511
|
+
}
|
|
10512
|
+
|
|
10513
|
+
export const ProjectOverviewTotals: MessageFns<ProjectOverviewTotals> = {
|
|
10514
|
+
encode(message: ProjectOverviewTotals, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
10515
|
+
if (message.sessions !== 0) {
|
|
10516
|
+
writer.uint32(8).uint64(message.sessions);
|
|
10517
|
+
}
|
|
10518
|
+
if (message.modelCalls !== 0) {
|
|
10519
|
+
writer.uint32(16).uint64(message.modelCalls);
|
|
10520
|
+
}
|
|
10521
|
+
if (message.toolCalls !== 0) {
|
|
10522
|
+
writer.uint32(24).uint64(message.toolCalls);
|
|
10523
|
+
}
|
|
10524
|
+
if (message.userMessages !== 0) {
|
|
10525
|
+
writer.uint32(32).uint64(message.userMessages);
|
|
10526
|
+
}
|
|
10527
|
+
if (message.inputTokens !== 0) {
|
|
10528
|
+
writer.uint32(40).uint64(message.inputTokens);
|
|
10529
|
+
}
|
|
10530
|
+
if (message.outputTokens !== 0) {
|
|
10531
|
+
writer.uint32(48).uint64(message.outputTokens);
|
|
10532
|
+
}
|
|
10533
|
+
if (message.cacheReadTokens !== 0) {
|
|
10534
|
+
writer.uint32(56).uint64(message.cacheReadTokens);
|
|
10535
|
+
}
|
|
10536
|
+
if (message.cacheWriteTokens !== 0) {
|
|
10537
|
+
writer.uint32(64).uint64(message.cacheWriteTokens);
|
|
10538
|
+
}
|
|
10539
|
+
if (message.costUsd !== 0) {
|
|
10540
|
+
writer.uint32(73).double(message.costUsd);
|
|
10541
|
+
}
|
|
10542
|
+
if (message.distinctUsers !== 0) {
|
|
10543
|
+
writer.uint32(80).uint64(message.distinctUsers);
|
|
10544
|
+
}
|
|
10545
|
+
if (message.commits !== 0) {
|
|
10546
|
+
writer.uint32(88).uint64(message.commits);
|
|
10547
|
+
}
|
|
10548
|
+
if (message.pushes !== 0) {
|
|
10549
|
+
writer.uint32(96).uint64(message.pushes);
|
|
10550
|
+
}
|
|
10551
|
+
if (message.filesTouched !== 0) {
|
|
10552
|
+
writer.uint32(104).uint64(message.filesTouched);
|
|
10553
|
+
}
|
|
10554
|
+
if (message.lastActivityAt !== undefined) {
|
|
10555
|
+
Timestamp.encode(toTimestamp(message.lastActivityAt), writer.uint32(114).fork()).join();
|
|
10556
|
+
}
|
|
10557
|
+
return writer;
|
|
10558
|
+
},
|
|
10559
|
+
|
|
10560
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ProjectOverviewTotals {
|
|
10561
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
10562
|
+
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
10563
|
+
if (previousRecursionDepth >= 100) {
|
|
10564
|
+
throw new globalThis.Error("protobuf decode recursion limit exceeded");
|
|
10565
|
+
}
|
|
10566
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
10567
|
+
try {
|
|
10568
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
10569
|
+
const message = createBaseProjectOverviewTotals();
|
|
10570
|
+
while (reader.pos < end) {
|
|
10571
|
+
const tag = reader.uint32();
|
|
10572
|
+
switch (tag >>> 3) {
|
|
10573
|
+
case 1: {
|
|
10574
|
+
if (tag !== 8) {
|
|
10575
|
+
break;
|
|
10576
|
+
}
|
|
10577
|
+
|
|
10578
|
+
message.sessions = longToNumber(reader.uint64());
|
|
10579
|
+
continue;
|
|
10580
|
+
}
|
|
10581
|
+
case 2: {
|
|
10582
|
+
if (tag !== 16) {
|
|
10583
|
+
break;
|
|
10584
|
+
}
|
|
10585
|
+
|
|
10586
|
+
message.modelCalls = longToNumber(reader.uint64());
|
|
10587
|
+
continue;
|
|
10588
|
+
}
|
|
10589
|
+
case 3: {
|
|
10590
|
+
if (tag !== 24) {
|
|
10591
|
+
break;
|
|
10592
|
+
}
|
|
10593
|
+
|
|
10594
|
+
message.toolCalls = longToNumber(reader.uint64());
|
|
10595
|
+
continue;
|
|
10596
|
+
}
|
|
10597
|
+
case 4: {
|
|
10598
|
+
if (tag !== 32) {
|
|
10599
|
+
break;
|
|
10600
|
+
}
|
|
10601
|
+
|
|
10602
|
+
message.userMessages = longToNumber(reader.uint64());
|
|
10603
|
+
continue;
|
|
10604
|
+
}
|
|
10605
|
+
case 5: {
|
|
10606
|
+
if (tag !== 40) {
|
|
10607
|
+
break;
|
|
10608
|
+
}
|
|
10609
|
+
|
|
10610
|
+
message.inputTokens = longToNumber(reader.uint64());
|
|
10611
|
+
continue;
|
|
10612
|
+
}
|
|
10613
|
+
case 6: {
|
|
10614
|
+
if (tag !== 48) {
|
|
10615
|
+
break;
|
|
10616
|
+
}
|
|
10617
|
+
|
|
10618
|
+
message.outputTokens = longToNumber(reader.uint64());
|
|
10619
|
+
continue;
|
|
10620
|
+
}
|
|
10621
|
+
case 7: {
|
|
10622
|
+
if (tag !== 56) {
|
|
10623
|
+
break;
|
|
10624
|
+
}
|
|
10625
|
+
|
|
10626
|
+
message.cacheReadTokens = longToNumber(reader.uint64());
|
|
10627
|
+
continue;
|
|
10628
|
+
}
|
|
10629
|
+
case 8: {
|
|
10630
|
+
if (tag !== 64) {
|
|
10631
|
+
break;
|
|
10632
|
+
}
|
|
10633
|
+
|
|
10634
|
+
message.cacheWriteTokens = longToNumber(reader.uint64());
|
|
10635
|
+
continue;
|
|
10636
|
+
}
|
|
10637
|
+
case 9: {
|
|
10638
|
+
if (tag !== 73) {
|
|
10639
|
+
break;
|
|
10640
|
+
}
|
|
10641
|
+
|
|
10642
|
+
message.costUsd = reader.double();
|
|
10643
|
+
continue;
|
|
10644
|
+
}
|
|
10645
|
+
case 10: {
|
|
10646
|
+
if (tag !== 80) {
|
|
10647
|
+
break;
|
|
10648
|
+
}
|
|
10649
|
+
|
|
10650
|
+
message.distinctUsers = longToNumber(reader.uint64());
|
|
10651
|
+
continue;
|
|
10652
|
+
}
|
|
10653
|
+
case 11: {
|
|
10654
|
+
if (tag !== 88) {
|
|
10655
|
+
break;
|
|
10656
|
+
}
|
|
10657
|
+
|
|
10658
|
+
message.commits = longToNumber(reader.uint64());
|
|
10659
|
+
continue;
|
|
10660
|
+
}
|
|
10661
|
+
case 12: {
|
|
10662
|
+
if (tag !== 96) {
|
|
10663
|
+
break;
|
|
10664
|
+
}
|
|
10665
|
+
|
|
10666
|
+
message.pushes = longToNumber(reader.uint64());
|
|
10667
|
+
continue;
|
|
10668
|
+
}
|
|
10669
|
+
case 13: {
|
|
10670
|
+
if (tag !== 104) {
|
|
10671
|
+
break;
|
|
10672
|
+
}
|
|
10673
|
+
|
|
10674
|
+
message.filesTouched = longToNumber(reader.uint64());
|
|
10675
|
+
continue;
|
|
10676
|
+
}
|
|
10677
|
+
case 14: {
|
|
10678
|
+
if (tag !== 114) {
|
|
10679
|
+
break;
|
|
10680
|
+
}
|
|
10681
|
+
|
|
10682
|
+
message.lastActivityAt = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
10683
|
+
continue;
|
|
10684
|
+
}
|
|
10685
|
+
}
|
|
10686
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
10687
|
+
break;
|
|
10688
|
+
}
|
|
10689
|
+
reader.skip(tag & 7);
|
|
10690
|
+
}
|
|
10691
|
+
return message;
|
|
10692
|
+
} finally {
|
|
10693
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
|
|
10694
|
+
}
|
|
10695
|
+
},
|
|
10696
|
+
|
|
10697
|
+
fromJSON(object: any): ProjectOverviewTotals {
|
|
10698
|
+
return {
|
|
10699
|
+
sessions: isSet(object.sessions) ? globalThis.Number(object.sessions) : 0,
|
|
10700
|
+
modelCalls: isSet(object.modelCalls)
|
|
10701
|
+
? globalThis.Number(object.modelCalls)
|
|
10702
|
+
: isSet(object.model_calls)
|
|
10703
|
+
? globalThis.Number(object.model_calls)
|
|
10704
|
+
: 0,
|
|
10705
|
+
toolCalls: isSet(object.toolCalls)
|
|
10706
|
+
? globalThis.Number(object.toolCalls)
|
|
10707
|
+
: isSet(object.tool_calls)
|
|
10708
|
+
? globalThis.Number(object.tool_calls)
|
|
10709
|
+
: 0,
|
|
10710
|
+
userMessages: isSet(object.userMessages)
|
|
10711
|
+
? globalThis.Number(object.userMessages)
|
|
10712
|
+
: isSet(object.user_messages)
|
|
10713
|
+
? globalThis.Number(object.user_messages)
|
|
10714
|
+
: 0,
|
|
10715
|
+
inputTokens: isSet(object.inputTokens)
|
|
10716
|
+
? globalThis.Number(object.inputTokens)
|
|
10717
|
+
: isSet(object.input_tokens)
|
|
10718
|
+
? globalThis.Number(object.input_tokens)
|
|
10719
|
+
: 0,
|
|
10720
|
+
outputTokens: isSet(object.outputTokens)
|
|
10721
|
+
? globalThis.Number(object.outputTokens)
|
|
10722
|
+
: isSet(object.output_tokens)
|
|
10723
|
+
? globalThis.Number(object.output_tokens)
|
|
10724
|
+
: 0,
|
|
10725
|
+
cacheReadTokens: isSet(object.cacheReadTokens)
|
|
10726
|
+
? globalThis.Number(object.cacheReadTokens)
|
|
10727
|
+
: isSet(object.cache_read_tokens)
|
|
10728
|
+
? globalThis.Number(object.cache_read_tokens)
|
|
10729
|
+
: 0,
|
|
10730
|
+
cacheWriteTokens: isSet(object.cacheWriteTokens)
|
|
10731
|
+
? globalThis.Number(object.cacheWriteTokens)
|
|
10732
|
+
: isSet(object.cache_write_tokens)
|
|
10733
|
+
? globalThis.Number(object.cache_write_tokens)
|
|
10734
|
+
: 0,
|
|
10735
|
+
costUsd: isSet(object.costUsd)
|
|
10736
|
+
? globalThis.Number(object.costUsd)
|
|
10737
|
+
: isSet(object.cost_usd)
|
|
10738
|
+
? globalThis.Number(object.cost_usd)
|
|
10739
|
+
: 0,
|
|
10740
|
+
distinctUsers: isSet(object.distinctUsers)
|
|
10741
|
+
? globalThis.Number(object.distinctUsers)
|
|
10742
|
+
: isSet(object.distinct_users)
|
|
10743
|
+
? globalThis.Number(object.distinct_users)
|
|
10744
|
+
: 0,
|
|
10745
|
+
commits: isSet(object.commits) ? globalThis.Number(object.commits) : 0,
|
|
10746
|
+
pushes: isSet(object.pushes) ? globalThis.Number(object.pushes) : 0,
|
|
10747
|
+
filesTouched: isSet(object.filesTouched)
|
|
10748
|
+
? globalThis.Number(object.filesTouched)
|
|
10749
|
+
: isSet(object.files_touched)
|
|
10750
|
+
? globalThis.Number(object.files_touched)
|
|
10751
|
+
: 0,
|
|
10752
|
+
lastActivityAt: isSet(object.lastActivityAt)
|
|
10753
|
+
? fromJsonTimestamp(object.lastActivityAt)
|
|
10754
|
+
: isSet(object.last_activity_at)
|
|
10755
|
+
? fromJsonTimestamp(object.last_activity_at)
|
|
10756
|
+
: undefined,
|
|
10757
|
+
};
|
|
10758
|
+
},
|
|
10759
|
+
|
|
10760
|
+
toJSON(message: ProjectOverviewTotals): unknown {
|
|
10761
|
+
const obj: any = {};
|
|
10762
|
+
if (message.sessions !== 0) {
|
|
10763
|
+
obj.sessions = Math.round(message.sessions);
|
|
10764
|
+
}
|
|
10765
|
+
if (message.modelCalls !== 0) {
|
|
10766
|
+
obj.modelCalls = Math.round(message.modelCalls);
|
|
10767
|
+
}
|
|
10768
|
+
if (message.toolCalls !== 0) {
|
|
10769
|
+
obj.toolCalls = Math.round(message.toolCalls);
|
|
10770
|
+
}
|
|
10771
|
+
if (message.userMessages !== 0) {
|
|
10772
|
+
obj.userMessages = Math.round(message.userMessages);
|
|
10773
|
+
}
|
|
10774
|
+
if (message.inputTokens !== 0) {
|
|
10775
|
+
obj.inputTokens = Math.round(message.inputTokens);
|
|
10776
|
+
}
|
|
10777
|
+
if (message.outputTokens !== 0) {
|
|
10778
|
+
obj.outputTokens = Math.round(message.outputTokens);
|
|
10779
|
+
}
|
|
10780
|
+
if (message.cacheReadTokens !== 0) {
|
|
10781
|
+
obj.cacheReadTokens = Math.round(message.cacheReadTokens);
|
|
10782
|
+
}
|
|
10783
|
+
if (message.cacheWriteTokens !== 0) {
|
|
10784
|
+
obj.cacheWriteTokens = Math.round(message.cacheWriteTokens);
|
|
10785
|
+
}
|
|
10786
|
+
if (message.costUsd !== 0) {
|
|
10787
|
+
obj.costUsd = message.costUsd;
|
|
10788
|
+
}
|
|
10789
|
+
if (message.distinctUsers !== 0) {
|
|
10790
|
+
obj.distinctUsers = Math.round(message.distinctUsers);
|
|
10791
|
+
}
|
|
10792
|
+
if (message.commits !== 0) {
|
|
10793
|
+
obj.commits = Math.round(message.commits);
|
|
10794
|
+
}
|
|
10795
|
+
if (message.pushes !== 0) {
|
|
10796
|
+
obj.pushes = Math.round(message.pushes);
|
|
10797
|
+
}
|
|
10798
|
+
if (message.filesTouched !== 0) {
|
|
10799
|
+
obj.filesTouched = Math.round(message.filesTouched);
|
|
10800
|
+
}
|
|
10801
|
+
if (message.lastActivityAt !== undefined) {
|
|
10802
|
+
obj.lastActivityAt = message.lastActivityAt.toISOString();
|
|
10803
|
+
}
|
|
10804
|
+
return obj;
|
|
10805
|
+
},
|
|
10806
|
+
|
|
10807
|
+
create<I extends Exact<DeepPartial<ProjectOverviewTotals>, I>>(base?: I): ProjectOverviewTotals {
|
|
10808
|
+
return ProjectOverviewTotals.fromPartial(base ?? ({} as any));
|
|
10809
|
+
},
|
|
10810
|
+
fromPartial<I extends Exact<DeepPartial<ProjectOverviewTotals>, I>>(object: I): ProjectOverviewTotals {
|
|
10811
|
+
const message = createBaseProjectOverviewTotals();
|
|
10812
|
+
message.sessions = object.sessions ?? 0;
|
|
10813
|
+
message.modelCalls = object.modelCalls ?? 0;
|
|
10814
|
+
message.toolCalls = object.toolCalls ?? 0;
|
|
10815
|
+
message.userMessages = object.userMessages ?? 0;
|
|
10816
|
+
message.inputTokens = object.inputTokens ?? 0;
|
|
10817
|
+
message.outputTokens = object.outputTokens ?? 0;
|
|
10818
|
+
message.cacheReadTokens = object.cacheReadTokens ?? 0;
|
|
10819
|
+
message.cacheWriteTokens = object.cacheWriteTokens ?? 0;
|
|
10820
|
+
message.costUsd = object.costUsd ?? 0;
|
|
10821
|
+
message.distinctUsers = object.distinctUsers ?? 0;
|
|
10822
|
+
message.commits = object.commits ?? 0;
|
|
10823
|
+
message.pushes = object.pushes ?? 0;
|
|
10824
|
+
message.filesTouched = object.filesTouched ?? 0;
|
|
10825
|
+
message.lastActivityAt = object.lastActivityAt ?? undefined;
|
|
10826
|
+
return message;
|
|
10827
|
+
},
|
|
10828
|
+
};
|
|
10829
|
+
|
|
10830
|
+
function createBaseProjectOverviewSlice(): ProjectOverviewSlice {
|
|
10831
|
+
return { key: "", modelCalls: 0, inputTokens: 0, outputTokens: 0, costUsd: 0 };
|
|
10832
|
+
}
|
|
10833
|
+
|
|
10834
|
+
export const ProjectOverviewSlice: MessageFns<ProjectOverviewSlice> = {
|
|
10835
|
+
encode(message: ProjectOverviewSlice, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
10836
|
+
if (message.key !== "") {
|
|
10837
|
+
writer.uint32(10).string(message.key);
|
|
10838
|
+
}
|
|
10839
|
+
if (message.modelCalls !== 0) {
|
|
10840
|
+
writer.uint32(16).uint64(message.modelCalls);
|
|
10841
|
+
}
|
|
10842
|
+
if (message.inputTokens !== 0) {
|
|
10843
|
+
writer.uint32(24).uint64(message.inputTokens);
|
|
10844
|
+
}
|
|
10845
|
+
if (message.outputTokens !== 0) {
|
|
10846
|
+
writer.uint32(32).uint64(message.outputTokens);
|
|
10847
|
+
}
|
|
10848
|
+
if (message.costUsd !== 0) {
|
|
10849
|
+
writer.uint32(41).double(message.costUsd);
|
|
10850
|
+
}
|
|
10851
|
+
return writer;
|
|
10852
|
+
},
|
|
10853
|
+
|
|
10854
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ProjectOverviewSlice {
|
|
10855
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
10856
|
+
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
10857
|
+
if (previousRecursionDepth >= 100) {
|
|
10858
|
+
throw new globalThis.Error("protobuf decode recursion limit exceeded");
|
|
10859
|
+
}
|
|
10860
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
10861
|
+
try {
|
|
10862
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
10863
|
+
const message = createBaseProjectOverviewSlice();
|
|
10864
|
+
while (reader.pos < end) {
|
|
10865
|
+
const tag = reader.uint32();
|
|
10866
|
+
switch (tag >>> 3) {
|
|
10867
|
+
case 1: {
|
|
10868
|
+
if (tag !== 10) {
|
|
10869
|
+
break;
|
|
10870
|
+
}
|
|
10871
|
+
|
|
10872
|
+
message.key = reader.string();
|
|
10873
|
+
continue;
|
|
10874
|
+
}
|
|
10875
|
+
case 2: {
|
|
10876
|
+
if (tag !== 16) {
|
|
10877
|
+
break;
|
|
10878
|
+
}
|
|
10879
|
+
|
|
10880
|
+
message.modelCalls = longToNumber(reader.uint64());
|
|
10881
|
+
continue;
|
|
10882
|
+
}
|
|
10883
|
+
case 3: {
|
|
10884
|
+
if (tag !== 24) {
|
|
10885
|
+
break;
|
|
10886
|
+
}
|
|
10887
|
+
|
|
10888
|
+
message.inputTokens = longToNumber(reader.uint64());
|
|
10889
|
+
continue;
|
|
10890
|
+
}
|
|
10891
|
+
case 4: {
|
|
10892
|
+
if (tag !== 32) {
|
|
10893
|
+
break;
|
|
10894
|
+
}
|
|
10895
|
+
|
|
10896
|
+
message.outputTokens = longToNumber(reader.uint64());
|
|
10897
|
+
continue;
|
|
10898
|
+
}
|
|
10899
|
+
case 5: {
|
|
10900
|
+
if (tag !== 41) {
|
|
10901
|
+
break;
|
|
10902
|
+
}
|
|
10903
|
+
|
|
10904
|
+
message.costUsd = reader.double();
|
|
10905
|
+
continue;
|
|
10906
|
+
}
|
|
10907
|
+
}
|
|
10908
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
10909
|
+
break;
|
|
10910
|
+
}
|
|
10911
|
+
reader.skip(tag & 7);
|
|
10912
|
+
}
|
|
10913
|
+
return message;
|
|
10914
|
+
} finally {
|
|
10915
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
|
|
10916
|
+
}
|
|
10917
|
+
},
|
|
10918
|
+
|
|
10919
|
+
fromJSON(object: any): ProjectOverviewSlice {
|
|
10920
|
+
return {
|
|
10921
|
+
key: isSet(object.key) ? globalThis.String(object.key) : "",
|
|
10922
|
+
modelCalls: isSet(object.modelCalls)
|
|
10923
|
+
? globalThis.Number(object.modelCalls)
|
|
10924
|
+
: isSet(object.model_calls)
|
|
10925
|
+
? globalThis.Number(object.model_calls)
|
|
10926
|
+
: 0,
|
|
10927
|
+
inputTokens: isSet(object.inputTokens)
|
|
10928
|
+
? globalThis.Number(object.inputTokens)
|
|
10929
|
+
: isSet(object.input_tokens)
|
|
10930
|
+
? globalThis.Number(object.input_tokens)
|
|
10931
|
+
: 0,
|
|
10932
|
+
outputTokens: isSet(object.outputTokens)
|
|
10933
|
+
? globalThis.Number(object.outputTokens)
|
|
10934
|
+
: isSet(object.output_tokens)
|
|
10935
|
+
? globalThis.Number(object.output_tokens)
|
|
10936
|
+
: 0,
|
|
10937
|
+
costUsd: isSet(object.costUsd)
|
|
10938
|
+
? globalThis.Number(object.costUsd)
|
|
10939
|
+
: isSet(object.cost_usd)
|
|
10940
|
+
? globalThis.Number(object.cost_usd)
|
|
10941
|
+
: 0,
|
|
10942
|
+
};
|
|
10943
|
+
},
|
|
10944
|
+
|
|
10945
|
+
toJSON(message: ProjectOverviewSlice): unknown {
|
|
10946
|
+
const obj: any = {};
|
|
10947
|
+
if (message.key !== "") {
|
|
10948
|
+
obj.key = message.key;
|
|
10949
|
+
}
|
|
10950
|
+
if (message.modelCalls !== 0) {
|
|
10951
|
+
obj.modelCalls = Math.round(message.modelCalls);
|
|
10952
|
+
}
|
|
10953
|
+
if (message.inputTokens !== 0) {
|
|
10954
|
+
obj.inputTokens = Math.round(message.inputTokens);
|
|
10955
|
+
}
|
|
10956
|
+
if (message.outputTokens !== 0) {
|
|
10957
|
+
obj.outputTokens = Math.round(message.outputTokens);
|
|
10958
|
+
}
|
|
10959
|
+
if (message.costUsd !== 0) {
|
|
10960
|
+
obj.costUsd = message.costUsd;
|
|
10961
|
+
}
|
|
10962
|
+
return obj;
|
|
10963
|
+
},
|
|
10964
|
+
|
|
10965
|
+
create<I extends Exact<DeepPartial<ProjectOverviewSlice>, I>>(base?: I): ProjectOverviewSlice {
|
|
10966
|
+
return ProjectOverviewSlice.fromPartial(base ?? ({} as any));
|
|
10967
|
+
},
|
|
10968
|
+
fromPartial<I extends Exact<DeepPartial<ProjectOverviewSlice>, I>>(object: I): ProjectOverviewSlice {
|
|
10969
|
+
const message = createBaseProjectOverviewSlice();
|
|
10970
|
+
message.key = object.key ?? "";
|
|
10971
|
+
message.modelCalls = object.modelCalls ?? 0;
|
|
10972
|
+
message.inputTokens = object.inputTokens ?? 0;
|
|
10973
|
+
message.outputTokens = object.outputTokens ?? 0;
|
|
10974
|
+
message.costUsd = object.costUsd ?? 0;
|
|
10975
|
+
return message;
|
|
10976
|
+
},
|
|
10977
|
+
};
|
|
10978
|
+
|
|
10979
|
+
function createBaseProjectSessionRef(): ProjectSessionRef {
|
|
10980
|
+
return { sessionId: "", sourceSystem: "", costUsd: 0, modelCalls: 0, lastActivityAt: undefined };
|
|
10981
|
+
}
|
|
10982
|
+
|
|
10983
|
+
export const ProjectSessionRef: MessageFns<ProjectSessionRef> = {
|
|
10984
|
+
encode(message: ProjectSessionRef, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
10985
|
+
if (message.sessionId !== "") {
|
|
10986
|
+
writer.uint32(10).string(message.sessionId);
|
|
10987
|
+
}
|
|
10988
|
+
if (message.sourceSystem !== "") {
|
|
10989
|
+
writer.uint32(18).string(message.sourceSystem);
|
|
10990
|
+
}
|
|
10991
|
+
if (message.costUsd !== 0) {
|
|
10992
|
+
writer.uint32(25).double(message.costUsd);
|
|
10993
|
+
}
|
|
10994
|
+
if (message.modelCalls !== 0) {
|
|
10995
|
+
writer.uint32(32).uint64(message.modelCalls);
|
|
10996
|
+
}
|
|
10997
|
+
if (message.lastActivityAt !== undefined) {
|
|
10998
|
+
Timestamp.encode(toTimestamp(message.lastActivityAt), writer.uint32(42).fork()).join();
|
|
10999
|
+
}
|
|
11000
|
+
return writer;
|
|
11001
|
+
},
|
|
11002
|
+
|
|
11003
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ProjectSessionRef {
|
|
11004
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
11005
|
+
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
11006
|
+
if (previousRecursionDepth >= 100) {
|
|
11007
|
+
throw new globalThis.Error("protobuf decode recursion limit exceeded");
|
|
11008
|
+
}
|
|
11009
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
11010
|
+
try {
|
|
11011
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
11012
|
+
const message = createBaseProjectSessionRef();
|
|
11013
|
+
while (reader.pos < end) {
|
|
11014
|
+
const tag = reader.uint32();
|
|
11015
|
+
switch (tag >>> 3) {
|
|
11016
|
+
case 1: {
|
|
11017
|
+
if (tag !== 10) {
|
|
11018
|
+
break;
|
|
11019
|
+
}
|
|
11020
|
+
|
|
11021
|
+
message.sessionId = reader.string();
|
|
11022
|
+
continue;
|
|
11023
|
+
}
|
|
11024
|
+
case 2: {
|
|
11025
|
+
if (tag !== 18) {
|
|
11026
|
+
break;
|
|
11027
|
+
}
|
|
11028
|
+
|
|
11029
|
+
message.sourceSystem = reader.string();
|
|
11030
|
+
continue;
|
|
11031
|
+
}
|
|
11032
|
+
case 3: {
|
|
11033
|
+
if (tag !== 25) {
|
|
11034
|
+
break;
|
|
11035
|
+
}
|
|
11036
|
+
|
|
11037
|
+
message.costUsd = reader.double();
|
|
11038
|
+
continue;
|
|
11039
|
+
}
|
|
11040
|
+
case 4: {
|
|
11041
|
+
if (tag !== 32) {
|
|
11042
|
+
break;
|
|
11043
|
+
}
|
|
11044
|
+
|
|
11045
|
+
message.modelCalls = longToNumber(reader.uint64());
|
|
11046
|
+
continue;
|
|
11047
|
+
}
|
|
11048
|
+
case 5: {
|
|
11049
|
+
if (tag !== 42) {
|
|
11050
|
+
break;
|
|
11051
|
+
}
|
|
11052
|
+
|
|
11053
|
+
message.lastActivityAt = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
11054
|
+
continue;
|
|
11055
|
+
}
|
|
11056
|
+
}
|
|
11057
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
11058
|
+
break;
|
|
11059
|
+
}
|
|
11060
|
+
reader.skip(tag & 7);
|
|
11061
|
+
}
|
|
11062
|
+
return message;
|
|
11063
|
+
} finally {
|
|
11064
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
|
|
11065
|
+
}
|
|
11066
|
+
},
|
|
11067
|
+
|
|
11068
|
+
fromJSON(object: any): ProjectSessionRef {
|
|
11069
|
+
return {
|
|
11070
|
+
sessionId: isSet(object.sessionId)
|
|
11071
|
+
? globalThis.String(object.sessionId)
|
|
11072
|
+
: isSet(object.session_id)
|
|
11073
|
+
? globalThis.String(object.session_id)
|
|
11074
|
+
: "",
|
|
11075
|
+
sourceSystem: isSet(object.sourceSystem)
|
|
11076
|
+
? globalThis.String(object.sourceSystem)
|
|
11077
|
+
: isSet(object.source_system)
|
|
11078
|
+
? globalThis.String(object.source_system)
|
|
11079
|
+
: "",
|
|
11080
|
+
costUsd: isSet(object.costUsd)
|
|
11081
|
+
? globalThis.Number(object.costUsd)
|
|
11082
|
+
: isSet(object.cost_usd)
|
|
11083
|
+
? globalThis.Number(object.cost_usd)
|
|
11084
|
+
: 0,
|
|
11085
|
+
modelCalls: isSet(object.modelCalls)
|
|
11086
|
+
? globalThis.Number(object.modelCalls)
|
|
11087
|
+
: isSet(object.model_calls)
|
|
11088
|
+
? globalThis.Number(object.model_calls)
|
|
11089
|
+
: 0,
|
|
11090
|
+
lastActivityAt: isSet(object.lastActivityAt)
|
|
11091
|
+
? fromJsonTimestamp(object.lastActivityAt)
|
|
11092
|
+
: isSet(object.last_activity_at)
|
|
11093
|
+
? fromJsonTimestamp(object.last_activity_at)
|
|
11094
|
+
: undefined,
|
|
11095
|
+
};
|
|
11096
|
+
},
|
|
11097
|
+
|
|
11098
|
+
toJSON(message: ProjectSessionRef): unknown {
|
|
11099
|
+
const obj: any = {};
|
|
11100
|
+
if (message.sessionId !== "") {
|
|
11101
|
+
obj.sessionId = message.sessionId;
|
|
11102
|
+
}
|
|
11103
|
+
if (message.sourceSystem !== "") {
|
|
11104
|
+
obj.sourceSystem = message.sourceSystem;
|
|
11105
|
+
}
|
|
11106
|
+
if (message.costUsd !== 0) {
|
|
11107
|
+
obj.costUsd = message.costUsd;
|
|
11108
|
+
}
|
|
11109
|
+
if (message.modelCalls !== 0) {
|
|
11110
|
+
obj.modelCalls = Math.round(message.modelCalls);
|
|
11111
|
+
}
|
|
11112
|
+
if (message.lastActivityAt !== undefined) {
|
|
11113
|
+
obj.lastActivityAt = message.lastActivityAt.toISOString();
|
|
11114
|
+
}
|
|
11115
|
+
return obj;
|
|
11116
|
+
},
|
|
11117
|
+
|
|
11118
|
+
create<I extends Exact<DeepPartial<ProjectSessionRef>, I>>(base?: I): ProjectSessionRef {
|
|
11119
|
+
return ProjectSessionRef.fromPartial(base ?? ({} as any));
|
|
11120
|
+
},
|
|
11121
|
+
fromPartial<I extends Exact<DeepPartial<ProjectSessionRef>, I>>(object: I): ProjectSessionRef {
|
|
11122
|
+
const message = createBaseProjectSessionRef();
|
|
11123
|
+
message.sessionId = object.sessionId ?? "";
|
|
11124
|
+
message.sourceSystem = object.sourceSystem ?? "";
|
|
11125
|
+
message.costUsd = object.costUsd ?? 0;
|
|
11126
|
+
message.modelCalls = object.modelCalls ?? 0;
|
|
11127
|
+
message.lastActivityAt = object.lastActivityAt ?? undefined;
|
|
11128
|
+
return message;
|
|
11129
|
+
},
|
|
11130
|
+
};
|
|
11131
|
+
|
|
11132
|
+
function createBaseResourceRankingsRequest(): ResourceRankingsRequest {
|
|
11133
|
+
return { organizationId: "", projectId: "", filter: undefined, dimension: 0, timeWindow: 0, topN: 0 };
|
|
11134
|
+
}
|
|
11135
|
+
|
|
11136
|
+
export const ResourceRankingsRequest: MessageFns<ResourceRankingsRequest> = {
|
|
11137
|
+
encode(message: ResourceRankingsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
11138
|
+
if (message.organizationId !== "") {
|
|
11139
|
+
writer.uint32(10).string(message.organizationId);
|
|
11140
|
+
}
|
|
11141
|
+
if (message.projectId !== "") {
|
|
11142
|
+
writer.uint32(18).string(message.projectId);
|
|
11143
|
+
}
|
|
11144
|
+
if (message.filter !== undefined) {
|
|
11145
|
+
AISessionFilter.encode(message.filter, writer.uint32(26).fork()).join();
|
|
11146
|
+
}
|
|
11147
|
+
if (message.dimension !== 0) {
|
|
11148
|
+
writer.uint32(32).int32(message.dimension);
|
|
11149
|
+
}
|
|
11150
|
+
if (message.timeWindow !== 0) {
|
|
11151
|
+
writer.uint32(40).int32(message.timeWindow);
|
|
11152
|
+
}
|
|
11153
|
+
if (message.topN !== 0) {
|
|
11154
|
+
writer.uint32(48).int32(message.topN);
|
|
11155
|
+
}
|
|
11156
|
+
return writer;
|
|
11157
|
+
},
|
|
11158
|
+
|
|
11159
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ResourceRankingsRequest {
|
|
11160
|
+
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
11161
|
+
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
11162
|
+
if (previousRecursionDepth >= 100) {
|
|
11163
|
+
throw new globalThis.Error("protobuf decode recursion limit exceeded");
|
|
11164
|
+
}
|
|
11165
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
11166
|
+
try {
|
|
11167
|
+
const end = length === undefined ? reader.len : reader.pos + length;
|
|
11168
|
+
const message = createBaseResourceRankingsRequest();
|
|
11169
|
+
while (reader.pos < end) {
|
|
11170
|
+
const tag = reader.uint32();
|
|
11171
|
+
switch (tag >>> 3) {
|
|
11172
|
+
case 1: {
|
|
11173
|
+
if (tag !== 10) {
|
|
11174
|
+
break;
|
|
11175
|
+
}
|
|
11176
|
+
|
|
11177
|
+
message.organizationId = reader.string();
|
|
11178
|
+
continue;
|
|
11179
|
+
}
|
|
11180
|
+
case 2: {
|
|
11181
|
+
if (tag !== 18) {
|
|
11182
|
+
break;
|
|
11183
|
+
}
|
|
11184
|
+
|
|
11185
|
+
message.projectId = reader.string();
|
|
11186
|
+
continue;
|
|
11187
|
+
}
|
|
11188
|
+
case 3: {
|
|
11189
|
+
if (tag !== 26) {
|
|
11190
|
+
break;
|
|
11191
|
+
}
|
|
11192
|
+
|
|
11193
|
+
message.filter = AISessionFilter.decode(reader, reader.uint32());
|
|
11194
|
+
continue;
|
|
11195
|
+
}
|
|
11196
|
+
case 4: {
|
|
11197
|
+
if (tag !== 32) {
|
|
11198
|
+
break;
|
|
11199
|
+
}
|
|
11200
|
+
|
|
11201
|
+
message.dimension = reader.int32() as any;
|
|
11202
|
+
continue;
|
|
11203
|
+
}
|
|
11204
|
+
case 5: {
|
|
11205
|
+
if (tag !== 40) {
|
|
11206
|
+
break;
|
|
11207
|
+
}
|
|
11208
|
+
|
|
11209
|
+
message.timeWindow = reader.int32() as any;
|
|
11210
|
+
continue;
|
|
11211
|
+
}
|
|
11212
|
+
case 6: {
|
|
11213
|
+
if (tag !== 48) {
|
|
11214
|
+
break;
|
|
11215
|
+
}
|
|
11216
|
+
|
|
11217
|
+
message.topN = reader.int32();
|
|
11218
|
+
continue;
|
|
11219
|
+
}
|
|
11220
|
+
}
|
|
11221
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
11222
|
+
break;
|
|
11223
|
+
}
|
|
11224
|
+
reader.skip(tag & 7);
|
|
11225
|
+
}
|
|
11226
|
+
return message;
|
|
11227
|
+
} finally {
|
|
11228
|
+
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
|
|
11229
|
+
}
|
|
11230
|
+
},
|
|
11231
|
+
|
|
11232
|
+
fromJSON(object: any): ResourceRankingsRequest {
|
|
11233
|
+
return {
|
|
11234
|
+
organizationId: isSet(object.organizationId)
|
|
11235
|
+
? globalThis.String(object.organizationId)
|
|
11236
|
+
: isSet(object.organization_id)
|
|
11237
|
+
? globalThis.String(object.organization_id)
|
|
11238
|
+
: "",
|
|
11239
|
+
projectId: isSet(object.projectId)
|
|
11240
|
+
? globalThis.String(object.projectId)
|
|
11241
|
+
: isSet(object.project_id)
|
|
11242
|
+
? globalThis.String(object.project_id)
|
|
11243
|
+
: "",
|
|
11244
|
+
filter: isSet(object.filter) ? AISessionFilter.fromJSON(object.filter) : undefined,
|
|
11245
|
+
dimension: isSet(object.dimension) ? aIResourceDimensionFromJSON(object.dimension) : 0,
|
|
11246
|
+
timeWindow: isSet(object.timeWindow)
|
|
11247
|
+
? analyticsTimeWindowFromJSON(object.timeWindow)
|
|
11248
|
+
: isSet(object.time_window)
|
|
11249
|
+
? analyticsTimeWindowFromJSON(object.time_window)
|
|
11250
|
+
: 0,
|
|
11251
|
+
topN: isSet(object.topN)
|
|
11252
|
+
? globalThis.Number(object.topN)
|
|
11253
|
+
: isSet(object.top_n)
|
|
11254
|
+
? globalThis.Number(object.top_n)
|
|
11255
|
+
: 0,
|
|
11256
|
+
};
|
|
11257
|
+
},
|
|
11258
|
+
|
|
11259
|
+
toJSON(message: ResourceRankingsRequest): unknown {
|
|
11260
|
+
const obj: any = {};
|
|
11261
|
+
if (message.organizationId !== "") {
|
|
11262
|
+
obj.organizationId = message.organizationId;
|
|
10099
11263
|
}
|
|
10100
|
-
if (message.
|
|
10101
|
-
obj.
|
|
11264
|
+
if (message.projectId !== "") {
|
|
11265
|
+
obj.projectId = message.projectId;
|
|
10102
11266
|
}
|
|
10103
|
-
if (message.
|
|
10104
|
-
obj.
|
|
11267
|
+
if (message.filter !== undefined) {
|
|
11268
|
+
obj.filter = AISessionFilter.toJSON(message.filter);
|
|
10105
11269
|
}
|
|
10106
|
-
if (message.
|
|
10107
|
-
obj.
|
|
11270
|
+
if (message.dimension !== 0) {
|
|
11271
|
+
obj.dimension = aIResourceDimensionToJSON(message.dimension);
|
|
10108
11272
|
}
|
|
10109
|
-
if (message.
|
|
10110
|
-
obj.
|
|
11273
|
+
if (message.timeWindow !== 0) {
|
|
11274
|
+
obj.timeWindow = analyticsTimeWindowToJSON(message.timeWindow);
|
|
10111
11275
|
}
|
|
10112
|
-
if (message.
|
|
10113
|
-
obj.
|
|
11276
|
+
if (message.topN !== 0) {
|
|
11277
|
+
obj.topN = Math.round(message.topN);
|
|
10114
11278
|
}
|
|
10115
11279
|
return obj;
|
|
10116
11280
|
},
|
|
10117
11281
|
|
|
10118
|
-
create<I extends Exact<DeepPartial<
|
|
10119
|
-
return
|
|
11282
|
+
create<I extends Exact<DeepPartial<ResourceRankingsRequest>, I>>(base?: I): ResourceRankingsRequest {
|
|
11283
|
+
return ResourceRankingsRequest.fromPartial(base ?? ({} as any));
|
|
10120
11284
|
},
|
|
10121
|
-
fromPartial<I extends Exact<DeepPartial<
|
|
10122
|
-
const message =
|
|
10123
|
-
message.
|
|
10124
|
-
message.
|
|
10125
|
-
message.
|
|
10126
|
-
|
|
10127
|
-
|
|
10128
|
-
message.
|
|
10129
|
-
message.
|
|
10130
|
-
message.
|
|
10131
|
-
message.costUsd = object.costUsd ?? 0;
|
|
10132
|
-
message.distinctUsers = object.distinctUsers ?? 0;
|
|
10133
|
-
message.commits = object.commits ?? 0;
|
|
10134
|
-
message.pushes = object.pushes ?? 0;
|
|
10135
|
-
message.filesTouched = object.filesTouched ?? 0;
|
|
10136
|
-
message.lastActivityAt = object.lastActivityAt ?? undefined;
|
|
11285
|
+
fromPartial<I extends Exact<DeepPartial<ResourceRankingsRequest>, I>>(object: I): ResourceRankingsRequest {
|
|
11286
|
+
const message = createBaseResourceRankingsRequest();
|
|
11287
|
+
message.organizationId = object.organizationId ?? "";
|
|
11288
|
+
message.projectId = object.projectId ?? "";
|
|
11289
|
+
message.filter = (object.filter !== undefined && object.filter !== null)
|
|
11290
|
+
? AISessionFilter.fromPartial(object.filter)
|
|
11291
|
+
: undefined;
|
|
11292
|
+
message.dimension = object.dimension ?? 0;
|
|
11293
|
+
message.timeWindow = object.timeWindow ?? 0;
|
|
11294
|
+
message.topN = object.topN ?? 0;
|
|
10137
11295
|
return message;
|
|
10138
11296
|
},
|
|
10139
11297
|
};
|
|
10140
11298
|
|
|
10141
|
-
function
|
|
10142
|
-
return {
|
|
11299
|
+
function createBaseResourceRankingsResponse(): ResourceRankingsResponse {
|
|
11300
|
+
return {
|
|
11301
|
+
status: undefined,
|
|
11302
|
+
rankings: [],
|
|
11303
|
+
dimension: 0,
|
|
11304
|
+
windowStart: undefined,
|
|
11305
|
+
windowEnd: undefined,
|
|
11306
|
+
asOf: undefined,
|
|
11307
|
+
};
|
|
10143
11308
|
}
|
|
10144
11309
|
|
|
10145
|
-
export const
|
|
10146
|
-
encode(message:
|
|
10147
|
-
if (message.
|
|
10148
|
-
writer.uint32(10).
|
|
11310
|
+
export const ResourceRankingsResponse: MessageFns<ResourceRankingsResponse> = {
|
|
11311
|
+
encode(message: ResourceRankingsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
11312
|
+
if (message.status !== undefined) {
|
|
11313
|
+
ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
|
|
10149
11314
|
}
|
|
10150
|
-
|
|
10151
|
-
writer.uint32(
|
|
11315
|
+
for (const v of message.rankings) {
|
|
11316
|
+
ResourceRanking.encode(v!, writer.uint32(18).fork()).join();
|
|
10152
11317
|
}
|
|
10153
|
-
if (message.
|
|
10154
|
-
writer.uint32(24).
|
|
11318
|
+
if (message.dimension !== 0) {
|
|
11319
|
+
writer.uint32(24).int32(message.dimension);
|
|
10155
11320
|
}
|
|
10156
|
-
if (message.
|
|
10157
|
-
writer.uint32(
|
|
11321
|
+
if (message.windowStart !== undefined) {
|
|
11322
|
+
Timestamp.encode(toTimestamp(message.windowStart), writer.uint32(34).fork()).join();
|
|
10158
11323
|
}
|
|
10159
|
-
if (message.
|
|
10160
|
-
writer.uint32(
|
|
11324
|
+
if (message.windowEnd !== undefined) {
|
|
11325
|
+
Timestamp.encode(toTimestamp(message.windowEnd), writer.uint32(42).fork()).join();
|
|
11326
|
+
}
|
|
11327
|
+
if (message.asOf !== undefined) {
|
|
11328
|
+
Timestamp.encode(toTimestamp(message.asOf), writer.uint32(50).fork()).join();
|
|
10161
11329
|
}
|
|
10162
11330
|
return writer;
|
|
10163
11331
|
},
|
|
10164
11332
|
|
|
10165
|
-
decode(input: BinaryReader | Uint8Array, length?: number):
|
|
11333
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ResourceRankingsResponse {
|
|
10166
11334
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
10167
11335
|
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
10168
11336
|
if (previousRecursionDepth >= 100) {
|
|
@@ -10171,7 +11339,7 @@ export const ProjectOverviewSlice: MessageFns<ProjectOverviewSlice> = {
|
|
|
10171
11339
|
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
10172
11340
|
try {
|
|
10173
11341
|
const end = length === undefined ? reader.len : reader.pos + length;
|
|
10174
|
-
const message =
|
|
11342
|
+
const message = createBaseResourceRankingsResponse();
|
|
10175
11343
|
while (reader.pos < end) {
|
|
10176
11344
|
const tag = reader.uint32();
|
|
10177
11345
|
switch (tag >>> 3) {
|
|
@@ -10180,15 +11348,15 @@ export const ProjectOverviewSlice: MessageFns<ProjectOverviewSlice> = {
|
|
|
10180
11348
|
break;
|
|
10181
11349
|
}
|
|
10182
11350
|
|
|
10183
|
-
message.
|
|
11351
|
+
message.status = ResponseStatus.decode(reader, reader.uint32());
|
|
10184
11352
|
continue;
|
|
10185
11353
|
}
|
|
10186
11354
|
case 2: {
|
|
10187
|
-
if (tag !==
|
|
11355
|
+
if (tag !== 18) {
|
|
10188
11356
|
break;
|
|
10189
11357
|
}
|
|
10190
11358
|
|
|
10191
|
-
message.
|
|
11359
|
+
message.rankings.push(ResourceRanking.decode(reader, reader.uint32()));
|
|
10192
11360
|
continue;
|
|
10193
11361
|
}
|
|
10194
11362
|
case 3: {
|
|
@@ -10196,23 +11364,31 @@ export const ProjectOverviewSlice: MessageFns<ProjectOverviewSlice> = {
|
|
|
10196
11364
|
break;
|
|
10197
11365
|
}
|
|
10198
11366
|
|
|
10199
|
-
message.
|
|
11367
|
+
message.dimension = reader.int32() as any;
|
|
10200
11368
|
continue;
|
|
10201
11369
|
}
|
|
10202
11370
|
case 4: {
|
|
10203
|
-
if (tag !==
|
|
11371
|
+
if (tag !== 34) {
|
|
10204
11372
|
break;
|
|
10205
11373
|
}
|
|
10206
11374
|
|
|
10207
|
-
message.
|
|
11375
|
+
message.windowStart = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
10208
11376
|
continue;
|
|
10209
11377
|
}
|
|
10210
11378
|
case 5: {
|
|
10211
|
-
if (tag !==
|
|
11379
|
+
if (tag !== 42) {
|
|
10212
11380
|
break;
|
|
10213
11381
|
}
|
|
10214
11382
|
|
|
10215
|
-
message.
|
|
11383
|
+
message.windowEnd = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
11384
|
+
continue;
|
|
11385
|
+
}
|
|
11386
|
+
case 6: {
|
|
11387
|
+
if (tag !== 50) {
|
|
11388
|
+
break;
|
|
11389
|
+
}
|
|
11390
|
+
|
|
11391
|
+
message.asOf = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
10216
11392
|
continue;
|
|
10217
11393
|
}
|
|
10218
11394
|
}
|
|
@@ -10227,91 +11403,93 @@ export const ProjectOverviewSlice: MessageFns<ProjectOverviewSlice> = {
|
|
|
10227
11403
|
}
|
|
10228
11404
|
},
|
|
10229
11405
|
|
|
10230
|
-
fromJSON(object: any):
|
|
11406
|
+
fromJSON(object: any): ResourceRankingsResponse {
|
|
10231
11407
|
return {
|
|
10232
|
-
|
|
10233
|
-
|
|
10234
|
-
?
|
|
10235
|
-
:
|
|
10236
|
-
|
|
10237
|
-
|
|
10238
|
-
|
|
10239
|
-
|
|
10240
|
-
|
|
10241
|
-
|
|
10242
|
-
|
|
10243
|
-
|
|
10244
|
-
|
|
10245
|
-
|
|
10246
|
-
|
|
10247
|
-
|
|
10248
|
-
|
|
10249
|
-
|
|
10250
|
-
|
|
10251
|
-
|
|
10252
|
-
: 0,
|
|
11408
|
+
status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
|
|
11409
|
+
rankings: globalThis.Array.isArray(object?.rankings)
|
|
11410
|
+
? object.rankings.map((e: any) => ResourceRanking.fromJSON(e))
|
|
11411
|
+
: [],
|
|
11412
|
+
dimension: isSet(object.dimension) ? aIResourceDimensionFromJSON(object.dimension) : 0,
|
|
11413
|
+
windowStart: isSet(object.windowStart)
|
|
11414
|
+
? fromJsonTimestamp(object.windowStart)
|
|
11415
|
+
: isSet(object.window_start)
|
|
11416
|
+
? fromJsonTimestamp(object.window_start)
|
|
11417
|
+
: undefined,
|
|
11418
|
+
windowEnd: isSet(object.windowEnd)
|
|
11419
|
+
? fromJsonTimestamp(object.windowEnd)
|
|
11420
|
+
: isSet(object.window_end)
|
|
11421
|
+
? fromJsonTimestamp(object.window_end)
|
|
11422
|
+
: undefined,
|
|
11423
|
+
asOf: isSet(object.asOf)
|
|
11424
|
+
? fromJsonTimestamp(object.asOf)
|
|
11425
|
+
: isSet(object.as_of)
|
|
11426
|
+
? fromJsonTimestamp(object.as_of)
|
|
11427
|
+
: undefined,
|
|
10253
11428
|
};
|
|
10254
11429
|
},
|
|
10255
11430
|
|
|
10256
|
-
toJSON(message:
|
|
11431
|
+
toJSON(message: ResourceRankingsResponse): unknown {
|
|
10257
11432
|
const obj: any = {};
|
|
10258
|
-
if (message.
|
|
10259
|
-
obj.
|
|
11433
|
+
if (message.status !== undefined) {
|
|
11434
|
+
obj.status = ResponseStatus.toJSON(message.status);
|
|
10260
11435
|
}
|
|
10261
|
-
if (message.
|
|
10262
|
-
obj.
|
|
11436
|
+
if (message.rankings?.length) {
|
|
11437
|
+
obj.rankings = message.rankings.map((e) => ResourceRanking.toJSON(e));
|
|
10263
11438
|
}
|
|
10264
|
-
if (message.
|
|
10265
|
-
obj.
|
|
11439
|
+
if (message.dimension !== 0) {
|
|
11440
|
+
obj.dimension = aIResourceDimensionToJSON(message.dimension);
|
|
10266
11441
|
}
|
|
10267
|
-
if (message.
|
|
10268
|
-
obj.
|
|
11442
|
+
if (message.windowStart !== undefined) {
|
|
11443
|
+
obj.windowStart = message.windowStart.toISOString();
|
|
10269
11444
|
}
|
|
10270
|
-
if (message.
|
|
10271
|
-
obj.
|
|
11445
|
+
if (message.windowEnd !== undefined) {
|
|
11446
|
+
obj.windowEnd = message.windowEnd.toISOString();
|
|
11447
|
+
}
|
|
11448
|
+
if (message.asOf !== undefined) {
|
|
11449
|
+
obj.asOf = message.asOf.toISOString();
|
|
10272
11450
|
}
|
|
10273
11451
|
return obj;
|
|
10274
11452
|
},
|
|
10275
11453
|
|
|
10276
|
-
create<I extends Exact<DeepPartial<
|
|
10277
|
-
return
|
|
11454
|
+
create<I extends Exact<DeepPartial<ResourceRankingsResponse>, I>>(base?: I): ResourceRankingsResponse {
|
|
11455
|
+
return ResourceRankingsResponse.fromPartial(base ?? ({} as any));
|
|
10278
11456
|
},
|
|
10279
|
-
fromPartial<I extends Exact<DeepPartial<
|
|
10280
|
-
const message =
|
|
10281
|
-
message.
|
|
10282
|
-
|
|
10283
|
-
|
|
10284
|
-
message.
|
|
10285
|
-
message.
|
|
11457
|
+
fromPartial<I extends Exact<DeepPartial<ResourceRankingsResponse>, I>>(object: I): ResourceRankingsResponse {
|
|
11458
|
+
const message = createBaseResourceRankingsResponse();
|
|
11459
|
+
message.status = (object.status !== undefined && object.status !== null)
|
|
11460
|
+
? ResponseStatus.fromPartial(object.status)
|
|
11461
|
+
: undefined;
|
|
11462
|
+
message.rankings = object.rankings?.map((e) => ResourceRanking.fromPartial(e)) || [];
|
|
11463
|
+
message.dimension = object.dimension ?? 0;
|
|
11464
|
+
message.windowStart = object.windowStart ?? undefined;
|
|
11465
|
+
message.windowEnd = object.windowEnd ?? undefined;
|
|
11466
|
+
message.asOf = object.asOf ?? undefined;
|
|
10286
11467
|
return message;
|
|
10287
11468
|
},
|
|
10288
11469
|
};
|
|
10289
11470
|
|
|
10290
|
-
function
|
|
10291
|
-
return {
|
|
11471
|
+
function createBaseResourceRanking(): ResourceRanking {
|
|
11472
|
+
return { key: "", count: 0, priorCount: 0, sessionCount: 0 };
|
|
10292
11473
|
}
|
|
10293
11474
|
|
|
10294
|
-
export const
|
|
10295
|
-
encode(message:
|
|
10296
|
-
if (message.
|
|
10297
|
-
writer.uint32(10).string(message.
|
|
10298
|
-
}
|
|
10299
|
-
if (message.sourceSystem !== "") {
|
|
10300
|
-
writer.uint32(18).string(message.sourceSystem);
|
|
11475
|
+
export const ResourceRanking: MessageFns<ResourceRanking> = {
|
|
11476
|
+
encode(message: ResourceRanking, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
|
|
11477
|
+
if (message.key !== "") {
|
|
11478
|
+
writer.uint32(10).string(message.key);
|
|
10301
11479
|
}
|
|
10302
|
-
if (message.
|
|
10303
|
-
writer.uint32(
|
|
11480
|
+
if (message.count !== 0) {
|
|
11481
|
+
writer.uint32(16).uint64(message.count);
|
|
10304
11482
|
}
|
|
10305
|
-
if (message.
|
|
10306
|
-
writer.uint32(
|
|
11483
|
+
if (message.priorCount !== 0) {
|
|
11484
|
+
writer.uint32(24).uint64(message.priorCount);
|
|
10307
11485
|
}
|
|
10308
|
-
if (message.
|
|
10309
|
-
|
|
11486
|
+
if (message.sessionCount !== 0) {
|
|
11487
|
+
writer.uint32(32).uint64(message.sessionCount);
|
|
10310
11488
|
}
|
|
10311
11489
|
return writer;
|
|
10312
11490
|
},
|
|
10313
11491
|
|
|
10314
|
-
decode(input: BinaryReader | Uint8Array, length?: number):
|
|
11492
|
+
decode(input: BinaryReader | Uint8Array, length?: number): ResourceRanking {
|
|
10315
11493
|
const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
|
|
10316
11494
|
const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
|
|
10317
11495
|
if (previousRecursionDepth >= 100) {
|
|
@@ -10320,7 +11498,7 @@ export const ProjectSessionRef: MessageFns<ProjectSessionRef> = {
|
|
|
10320
11498
|
(reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
|
|
10321
11499
|
try {
|
|
10322
11500
|
const end = length === undefined ? reader.len : reader.pos + length;
|
|
10323
|
-
const message =
|
|
11501
|
+
const message = createBaseResourceRanking();
|
|
10324
11502
|
while (reader.pos < end) {
|
|
10325
11503
|
const tag = reader.uint32();
|
|
10326
11504
|
switch (tag >>> 3) {
|
|
@@ -10329,23 +11507,23 @@ export const ProjectSessionRef: MessageFns<ProjectSessionRef> = {
|
|
|
10329
11507
|
break;
|
|
10330
11508
|
}
|
|
10331
11509
|
|
|
10332
|
-
message.
|
|
11510
|
+
message.key = reader.string();
|
|
10333
11511
|
continue;
|
|
10334
11512
|
}
|
|
10335
11513
|
case 2: {
|
|
10336
|
-
if (tag !==
|
|
11514
|
+
if (tag !== 16) {
|
|
10337
11515
|
break;
|
|
10338
11516
|
}
|
|
10339
11517
|
|
|
10340
|
-
message.
|
|
11518
|
+
message.count = longToNumber(reader.uint64());
|
|
10341
11519
|
continue;
|
|
10342
11520
|
}
|
|
10343
11521
|
case 3: {
|
|
10344
|
-
if (tag !==
|
|
11522
|
+
if (tag !== 24) {
|
|
10345
11523
|
break;
|
|
10346
11524
|
}
|
|
10347
11525
|
|
|
10348
|
-
message.
|
|
11526
|
+
message.priorCount = longToNumber(reader.uint64());
|
|
10349
11527
|
continue;
|
|
10350
11528
|
}
|
|
10351
11529
|
case 4: {
|
|
@@ -10353,15 +11531,7 @@ export const ProjectSessionRef: MessageFns<ProjectSessionRef> = {
|
|
|
10353
11531
|
break;
|
|
10354
11532
|
}
|
|
10355
11533
|
|
|
10356
|
-
message.
|
|
10357
|
-
continue;
|
|
10358
|
-
}
|
|
10359
|
-
case 5: {
|
|
10360
|
-
if (tag !== 42) {
|
|
10361
|
-
break;
|
|
10362
|
-
}
|
|
10363
|
-
|
|
10364
|
-
message.lastActivityAt = fromTimestamp(Timestamp.decode(reader, reader.uint32()));
|
|
11534
|
+
message.sessionCount = longToNumber(reader.uint64());
|
|
10365
11535
|
continue;
|
|
10366
11536
|
}
|
|
10367
11537
|
}
|
|
@@ -10376,66 +11546,49 @@ export const ProjectSessionRef: MessageFns<ProjectSessionRef> = {
|
|
|
10376
11546
|
}
|
|
10377
11547
|
},
|
|
10378
11548
|
|
|
10379
|
-
fromJSON(object: any):
|
|
11549
|
+
fromJSON(object: any): ResourceRanking {
|
|
10380
11550
|
return {
|
|
10381
|
-
|
|
10382
|
-
|
|
10383
|
-
|
|
10384
|
-
? globalThis.
|
|
10385
|
-
:
|
|
10386
|
-
|
|
10387
|
-
? globalThis.String(object.sourceSystem)
|
|
10388
|
-
: isSet(object.source_system)
|
|
10389
|
-
? globalThis.String(object.source_system)
|
|
10390
|
-
: "",
|
|
10391
|
-
costUsd: isSet(object.costUsd)
|
|
10392
|
-
? globalThis.Number(object.costUsd)
|
|
10393
|
-
: isSet(object.cost_usd)
|
|
10394
|
-
? globalThis.Number(object.cost_usd)
|
|
11551
|
+
key: isSet(object.key) ? globalThis.String(object.key) : "",
|
|
11552
|
+
count: isSet(object.count) ? globalThis.Number(object.count) : 0,
|
|
11553
|
+
priorCount: isSet(object.priorCount)
|
|
11554
|
+
? globalThis.Number(object.priorCount)
|
|
11555
|
+
: isSet(object.prior_count)
|
|
11556
|
+
? globalThis.Number(object.prior_count)
|
|
10395
11557
|
: 0,
|
|
10396
|
-
|
|
10397
|
-
? globalThis.Number(object.
|
|
10398
|
-
: isSet(object.
|
|
10399
|
-
? globalThis.Number(object.
|
|
11558
|
+
sessionCount: isSet(object.sessionCount)
|
|
11559
|
+
? globalThis.Number(object.sessionCount)
|
|
11560
|
+
: isSet(object.session_count)
|
|
11561
|
+
? globalThis.Number(object.session_count)
|
|
10400
11562
|
: 0,
|
|
10401
|
-
lastActivityAt: isSet(object.lastActivityAt)
|
|
10402
|
-
? fromJsonTimestamp(object.lastActivityAt)
|
|
10403
|
-
: isSet(object.last_activity_at)
|
|
10404
|
-
? fromJsonTimestamp(object.last_activity_at)
|
|
10405
|
-
: undefined,
|
|
10406
11563
|
};
|
|
10407
11564
|
},
|
|
10408
11565
|
|
|
10409
|
-
toJSON(message:
|
|
11566
|
+
toJSON(message: ResourceRanking): unknown {
|
|
10410
11567
|
const obj: any = {};
|
|
10411
|
-
if (message.
|
|
10412
|
-
obj.
|
|
10413
|
-
}
|
|
10414
|
-
if (message.sourceSystem !== "") {
|
|
10415
|
-
obj.sourceSystem = message.sourceSystem;
|
|
11568
|
+
if (message.key !== "") {
|
|
11569
|
+
obj.key = message.key;
|
|
10416
11570
|
}
|
|
10417
|
-
if (message.
|
|
10418
|
-
obj.
|
|
11571
|
+
if (message.count !== 0) {
|
|
11572
|
+
obj.count = Math.round(message.count);
|
|
10419
11573
|
}
|
|
10420
|
-
if (message.
|
|
10421
|
-
obj.
|
|
11574
|
+
if (message.priorCount !== 0) {
|
|
11575
|
+
obj.priorCount = Math.round(message.priorCount);
|
|
10422
11576
|
}
|
|
10423
|
-
if (message.
|
|
10424
|
-
obj.
|
|
11577
|
+
if (message.sessionCount !== 0) {
|
|
11578
|
+
obj.sessionCount = Math.round(message.sessionCount);
|
|
10425
11579
|
}
|
|
10426
11580
|
return obj;
|
|
10427
11581
|
},
|
|
10428
11582
|
|
|
10429
|
-
create<I extends Exact<DeepPartial<
|
|
10430
|
-
return
|
|
11583
|
+
create<I extends Exact<DeepPartial<ResourceRanking>, I>>(base?: I): ResourceRanking {
|
|
11584
|
+
return ResourceRanking.fromPartial(base ?? ({} as any));
|
|
10431
11585
|
},
|
|
10432
|
-
fromPartial<I extends Exact<DeepPartial<
|
|
10433
|
-
const message =
|
|
10434
|
-
message.
|
|
10435
|
-
message.
|
|
10436
|
-
message.
|
|
10437
|
-
message.
|
|
10438
|
-
message.lastActivityAt = object.lastActivityAt ?? undefined;
|
|
11586
|
+
fromPartial<I extends Exact<DeepPartial<ResourceRanking>, I>>(object: I): ResourceRanking {
|
|
11587
|
+
const message = createBaseResourceRanking();
|
|
11588
|
+
message.key = object.key ?? "";
|
|
11589
|
+
message.count = object.count ?? 0;
|
|
11590
|
+
message.priorCount = object.priorCount ?? 0;
|
|
11591
|
+
message.sessionCount = object.sessionCount ?? 0;
|
|
10439
11592
|
return message;
|
|
10440
11593
|
},
|
|
10441
11594
|
};
|
|
@@ -13199,6 +14352,11 @@ export interface AIGatewayService {
|
|
|
13199
14352
|
* omitted; today is provisional.
|
|
13200
14353
|
*/
|
|
13201
14354
|
StreamDailyActivity(request: DailyActivityRequest, metadata?: Metadata): Observable<DailyActivity>;
|
|
14355
|
+
/**
|
|
14356
|
+
* Live weekly activity rhythm: a sparse (weekday, hour) heatmap over a bounded sliding window in an
|
|
14357
|
+
* explicit IANA time zone. Every latest logical event counts; settled model calls add token/cost.
|
|
14358
|
+
*/
|
|
14359
|
+
StreamActivityRhythm(request: ActivityRhythmRequest, metadata?: Metadata): Observable<ActivityRhythm>;
|
|
13202
14360
|
/**
|
|
13203
14361
|
* Live stream of one project's dashboard bundle: headline totals, model/provider/source mix,
|
|
13204
14362
|
* and top sessions by cost.
|
|
@@ -13221,6 +14379,12 @@ export interface AIGatewayService {
|
|
|
13221
14379
|
request: ListModelPriceHistoryRequest,
|
|
13222
14380
|
metadata?: Metadata,
|
|
13223
14381
|
): Promise<ListModelPriceHistoryResponse>;
|
|
14382
|
+
/**
|
|
14383
|
+
* Top-N most-used resources of one kind (skills / tools / files / URLs / bash commands) over a
|
|
14384
|
+
* sliding window, each with the prior equal-length window's count for a trend delta and distinct
|
|
14385
|
+
* sessions. Mirrors telemetry.api.v1.
|
|
14386
|
+
*/
|
|
14387
|
+
ListResourceRankings(request: ResourceRankingsRequest, metadata?: Metadata): Promise<ResourceRankingsResponse>;
|
|
13224
14388
|
}
|
|
13225
14389
|
|
|
13226
14390
|
export const AIGatewayServiceServiceName = "gateway.web.v1.AIGatewayService";
|
|
@@ -13244,11 +14408,13 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
|
|
|
13244
14408
|
this.StreamGitActivitySummary = this.StreamGitActivitySummary.bind(this);
|
|
13245
14409
|
this.StreamTokenActivitySummary = this.StreamTokenActivitySummary.bind(this);
|
|
13246
14410
|
this.StreamDailyActivity = this.StreamDailyActivity.bind(this);
|
|
14411
|
+
this.StreamActivityRhythm = this.StreamActivityRhythm.bind(this);
|
|
13247
14412
|
this.StreamProjectOverview = this.StreamProjectOverview.bind(this);
|
|
13248
14413
|
this.ListFiles = this.ListFiles.bind(this);
|
|
13249
14414
|
this.StreamFilesSummary = this.StreamFilesSummary.bind(this);
|
|
13250
14415
|
this.ListModelPrices = this.ListModelPrices.bind(this);
|
|
13251
14416
|
this.ListModelPriceHistory = this.ListModelPriceHistory.bind(this);
|
|
14417
|
+
this.ListResourceRankings = this.ListResourceRankings.bind(this);
|
|
13252
14418
|
}
|
|
13253
14419
|
ListSessions(request: ListSessionsRequest, metadata?: Metadata): Promise<ListSessionsResponse> {
|
|
13254
14420
|
const data = ListSessionsRequest.encode(request).finish();
|
|
@@ -13340,6 +14506,12 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
|
|
|
13340
14506
|
return result.pipe(map((data) => DailyActivity.decode(new BinaryReader(data))));
|
|
13341
14507
|
}
|
|
13342
14508
|
|
|
14509
|
+
StreamActivityRhythm(request: ActivityRhythmRequest, metadata?: Metadata): Observable<ActivityRhythm> {
|
|
14510
|
+
const data = ActivityRhythmRequest.encode(request).finish();
|
|
14511
|
+
const result = this.rpc.serverStreamingRequest(this.service, "StreamActivityRhythm", data, metadata);
|
|
14512
|
+
return result.pipe(map((data) => ActivityRhythm.decode(new BinaryReader(data))));
|
|
14513
|
+
}
|
|
14514
|
+
|
|
13343
14515
|
StreamProjectOverview(request: ProjectOverviewRequest, metadata?: Metadata): Observable<ProjectOverview> {
|
|
13344
14516
|
const data = ProjectOverviewRequest.encode(request).finish();
|
|
13345
14517
|
const result = this.rpc.serverStreamingRequest(this.service, "StreamProjectOverview", data, metadata);
|
|
@@ -13372,6 +14544,12 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
|
|
|
13372
14544
|
const promise = this.rpc.request(this.service, "ListModelPriceHistory", data, metadata);
|
|
13373
14545
|
return promise.then((data) => ListModelPriceHistoryResponse.decode(new BinaryReader(data)));
|
|
13374
14546
|
}
|
|
14547
|
+
|
|
14548
|
+
ListResourceRankings(request: ResourceRankingsRequest, metadata?: Metadata): Promise<ResourceRankingsResponse> {
|
|
14549
|
+
const data = ResourceRankingsRequest.encode(request).finish();
|
|
14550
|
+
const promise = this.rpc.request(this.service, "ListResourceRankings", data, metadata);
|
|
14551
|
+
return promise.then((data) => ResourceRankingsResponse.decode(new BinaryReader(data)));
|
|
14552
|
+
}
|
|
13375
14553
|
}
|
|
13376
14554
|
|
|
13377
14555
|
interface Rpc {
|