@miradorlabs/web-grpc 3.7.0 → 3.8.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miradorlabs/web-grpc",
3
- "version": "3.7.0",
3
+ "version": "3.8.0",
4
4
  "description": "Generated gRPC (grpc-js) client stubs for the Mirador web gateway.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1409,6 +1409,29 @@ export interface DailyActivityRequest {
1409
1409
  /** Inclusive UTC calendar-day bounds, YYYY-MM-DD. end_date >= start_date. */
1410
1410
  startDate: string;
1411
1411
  endDate: string;
1412
+ /** Optional slice; unset returns the whole project. */
1413
+ filter: DailyActivityRequest_Filter | undefined;
1414
+ }
1415
+
1416
+ /**
1417
+ * Filter slices the calendar by stored names: OR within a list, AND across lists, empty = no filter, at
1418
+ * most 500 entries each. A tool call or user message counts for its turn's model and provider; git
1419
+ * activity and files for the model of the tool call that produced them; "" selects what recorded none.
1420
+ * Work belongs to its user id, else its api key: an api-key principal matches only work with no user id.
1421
+ */
1422
+ export interface DailyActivityRequest_Filter {
1423
+ sourceSystems: string[];
1424
+ models: string[];
1425
+ providers: string[];
1426
+ /** A principal with an empty id selects work that recorded neither a user id nor an api key. */
1427
+ principals: DailyActivityPrincipal[];
1428
+ }
1429
+
1430
+ /** DailyActivityPrincipal is one user id or api key, as one source system reported it (empty = any source). */
1431
+ export interface DailyActivityPrincipal {
1432
+ kind: AIPrincipalKind;
1433
+ id: string;
1434
+ sourceSystem: string;
1412
1435
  }
1413
1436
 
1414
1437
  /**
@@ -1425,11 +1448,13 @@ export interface DailyActivity {
1425
1448
  asOf: Date | undefined;
1426
1449
  }
1427
1450
 
1451
+ /** principals are the ids with activity in the slice that day: a call's user id, else its api key. */
1428
1452
  export interface DailyActivityDay {
1429
1453
  /** YYYY-MM-DD UTC */
1430
1454
  day: string;
1431
1455
  measures: DailyActivityMeasures | undefined;
1432
1456
  provisional: boolean;
1457
+ principals: DailyActivityPrincipal[];
1433
1458
  }
1434
1459
 
1435
1460
  /**
@@ -1462,6 +1487,8 @@ export interface DailyActivityMeasures {
1462
1487
  subscriptionFacilityCacheReadTokens: number;
1463
1488
  subscriptionFacilityCacheWriteTokens: number;
1464
1489
  subscriptionFacilityUsd: number;
1490
+ /** distinct sessions with activity in the slice that day (exact to a few thousand, ~0.5% beyond) */
1491
+ sessions: number;
1465
1492
  }
1466
1493
 
1467
1494
  export interface ActivityRhythmRequest {
@@ -9921,7 +9948,7 @@ export const BurnRateMeasures: MessageFns<BurnRateMeasures> = {
9921
9948
  };
9922
9949
 
9923
9950
  function createBaseDailyActivityRequest(): DailyActivityRequest {
9924
- return { organizationId: "", projectId: "", startDate: "", endDate: "" };
9951
+ return { organizationId: "", projectId: "", startDate: "", endDate: "", filter: undefined };
9925
9952
  }
9926
9953
 
9927
9954
  export const DailyActivityRequest: MessageFns<DailyActivityRequest> = {
@@ -9938,6 +9965,9 @@ export const DailyActivityRequest: MessageFns<DailyActivityRequest> = {
9938
9965
  if (message.endDate !== "") {
9939
9966
  writer.uint32(34).string(message.endDate);
9940
9967
  }
9968
+ if (message.filter !== undefined) {
9969
+ DailyActivityRequest_Filter.encode(message.filter, writer.uint32(42).fork()).join();
9970
+ }
9941
9971
  return writer;
9942
9972
  },
9943
9973
 
@@ -9986,6 +10016,14 @@ export const DailyActivityRequest: MessageFns<DailyActivityRequest> = {
9986
10016
  message.endDate = reader.string();
9987
10017
  continue;
9988
10018
  }
10019
+ case 5: {
10020
+ if (tag !== 42) {
10021
+ break;
10022
+ }
10023
+
10024
+ message.filter = DailyActivityRequest_Filter.decode(reader, reader.uint32());
10025
+ continue;
10026
+ }
9989
10027
  }
9990
10028
  if ((tag & 7) === 4 || tag === 0) {
9991
10029
  break;
@@ -10020,6 +10058,7 @@ export const DailyActivityRequest: MessageFns<DailyActivityRequest> = {
10020
10058
  : isSet(object.end_date)
10021
10059
  ? globalThis.String(object.end_date)
10022
10060
  : "",
10061
+ filter: isSet(object.filter) ? DailyActivityRequest_Filter.fromJSON(object.filter) : undefined,
10023
10062
  };
10024
10063
  },
10025
10064
 
@@ -10037,6 +10076,9 @@ export const DailyActivityRequest: MessageFns<DailyActivityRequest> = {
10037
10076
  if (message.endDate !== "") {
10038
10077
  obj.endDate = message.endDate;
10039
10078
  }
10079
+ if (message.filter !== undefined) {
10080
+ obj.filter = DailyActivityRequest_Filter.toJSON(message.filter);
10081
+ }
10040
10082
  return obj;
10041
10083
  },
10042
10084
 
@@ -10049,6 +10091,239 @@ export const DailyActivityRequest: MessageFns<DailyActivityRequest> = {
10049
10091
  message.projectId = object.projectId ?? "";
10050
10092
  message.startDate = object.startDate ?? "";
10051
10093
  message.endDate = object.endDate ?? "";
10094
+ message.filter = (object.filter !== undefined && object.filter !== null)
10095
+ ? DailyActivityRequest_Filter.fromPartial(object.filter)
10096
+ : undefined;
10097
+ return message;
10098
+ },
10099
+ };
10100
+
10101
+ function createBaseDailyActivityRequest_Filter(): DailyActivityRequest_Filter {
10102
+ return { sourceSystems: [], models: [], providers: [], principals: [] };
10103
+ }
10104
+
10105
+ export const DailyActivityRequest_Filter: MessageFns<DailyActivityRequest_Filter> = {
10106
+ encode(message: DailyActivityRequest_Filter, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
10107
+ for (const v of message.sourceSystems) {
10108
+ writer.uint32(10).string(v!);
10109
+ }
10110
+ for (const v of message.models) {
10111
+ writer.uint32(18).string(v!);
10112
+ }
10113
+ for (const v of message.providers) {
10114
+ writer.uint32(26).string(v!);
10115
+ }
10116
+ for (const v of message.principals) {
10117
+ DailyActivityPrincipal.encode(v!, writer.uint32(34).fork()).join();
10118
+ }
10119
+ return writer;
10120
+ },
10121
+
10122
+ decode(input: BinaryReader | Uint8Array, length?: number): DailyActivityRequest_Filter {
10123
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
10124
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
10125
+ if (previousRecursionDepth >= 100) {
10126
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
10127
+ }
10128
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
10129
+ try {
10130
+ const end = length === undefined ? reader.len : reader.pos + length;
10131
+ const message = createBaseDailyActivityRequest_Filter();
10132
+ while (reader.pos < end) {
10133
+ const tag = reader.uint32();
10134
+ switch (tag >>> 3) {
10135
+ case 1: {
10136
+ if (tag !== 10) {
10137
+ break;
10138
+ }
10139
+
10140
+ message.sourceSystems.push(reader.string());
10141
+ continue;
10142
+ }
10143
+ case 2: {
10144
+ if (tag !== 18) {
10145
+ break;
10146
+ }
10147
+
10148
+ message.models.push(reader.string());
10149
+ continue;
10150
+ }
10151
+ case 3: {
10152
+ if (tag !== 26) {
10153
+ break;
10154
+ }
10155
+
10156
+ message.providers.push(reader.string());
10157
+ continue;
10158
+ }
10159
+ case 4: {
10160
+ if (tag !== 34) {
10161
+ break;
10162
+ }
10163
+
10164
+ message.principals.push(DailyActivityPrincipal.decode(reader, reader.uint32()));
10165
+ continue;
10166
+ }
10167
+ }
10168
+ if ((tag & 7) === 4 || tag === 0) {
10169
+ break;
10170
+ }
10171
+ reader.skip(tag & 7);
10172
+ }
10173
+ return message;
10174
+ } finally {
10175
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
10176
+ }
10177
+ },
10178
+
10179
+ fromJSON(object: any): DailyActivityRequest_Filter {
10180
+ return {
10181
+ sourceSystems: globalThis.Array.isArray(object?.sourceSystems)
10182
+ ? object.sourceSystems.map((e: any) => globalThis.String(e))
10183
+ : globalThis.Array.isArray(object?.source_systems)
10184
+ ? object.source_systems.map((e: any) => globalThis.String(e))
10185
+ : [],
10186
+ models: globalThis.Array.isArray(object?.models) ? object.models.map((e: any) => globalThis.String(e)) : [],
10187
+ providers: globalThis.Array.isArray(object?.providers)
10188
+ ? object.providers.map((e: any) => globalThis.String(e))
10189
+ : [],
10190
+ principals: globalThis.Array.isArray(object?.principals)
10191
+ ? object.principals.map((e: any) => DailyActivityPrincipal.fromJSON(e))
10192
+ : [],
10193
+ };
10194
+ },
10195
+
10196
+ toJSON(message: DailyActivityRequest_Filter): unknown {
10197
+ const obj: any = {};
10198
+ if (message.sourceSystems?.length) {
10199
+ obj.sourceSystems = message.sourceSystems;
10200
+ }
10201
+ if (message.models?.length) {
10202
+ obj.models = message.models;
10203
+ }
10204
+ if (message.providers?.length) {
10205
+ obj.providers = message.providers;
10206
+ }
10207
+ if (message.principals?.length) {
10208
+ obj.principals = message.principals.map((e) => DailyActivityPrincipal.toJSON(e));
10209
+ }
10210
+ return obj;
10211
+ },
10212
+
10213
+ create<I extends Exact<DeepPartial<DailyActivityRequest_Filter>, I>>(base?: I): DailyActivityRequest_Filter {
10214
+ return DailyActivityRequest_Filter.fromPartial(base ?? ({} as any));
10215
+ },
10216
+ fromPartial<I extends Exact<DeepPartial<DailyActivityRequest_Filter>, I>>(object: I): DailyActivityRequest_Filter {
10217
+ const message = createBaseDailyActivityRequest_Filter();
10218
+ message.sourceSystems = object.sourceSystems?.map((e) => e) || [];
10219
+ message.models = object.models?.map((e) => e) || [];
10220
+ message.providers = object.providers?.map((e) => e) || [];
10221
+ message.principals = object.principals?.map((e) => DailyActivityPrincipal.fromPartial(e)) || [];
10222
+ return message;
10223
+ },
10224
+ };
10225
+
10226
+ function createBaseDailyActivityPrincipal(): DailyActivityPrincipal {
10227
+ return { kind: 0, id: "", sourceSystem: "" };
10228
+ }
10229
+
10230
+ export const DailyActivityPrincipal: MessageFns<DailyActivityPrincipal> = {
10231
+ encode(message: DailyActivityPrincipal, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
10232
+ if (message.kind !== 0) {
10233
+ writer.uint32(8).int32(message.kind);
10234
+ }
10235
+ if (message.id !== "") {
10236
+ writer.uint32(18).string(message.id);
10237
+ }
10238
+ if (message.sourceSystem !== "") {
10239
+ writer.uint32(26).string(message.sourceSystem);
10240
+ }
10241
+ return writer;
10242
+ },
10243
+
10244
+ decode(input: BinaryReader | Uint8Array, length?: number): DailyActivityPrincipal {
10245
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
10246
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
10247
+ if (previousRecursionDepth >= 100) {
10248
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
10249
+ }
10250
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
10251
+ try {
10252
+ const end = length === undefined ? reader.len : reader.pos + length;
10253
+ const message = createBaseDailyActivityPrincipal();
10254
+ while (reader.pos < end) {
10255
+ const tag = reader.uint32();
10256
+ switch (tag >>> 3) {
10257
+ case 1: {
10258
+ if (tag !== 8) {
10259
+ break;
10260
+ }
10261
+
10262
+ message.kind = reader.int32() as any;
10263
+ continue;
10264
+ }
10265
+ case 2: {
10266
+ if (tag !== 18) {
10267
+ break;
10268
+ }
10269
+
10270
+ message.id = reader.string();
10271
+ continue;
10272
+ }
10273
+ case 3: {
10274
+ if (tag !== 26) {
10275
+ break;
10276
+ }
10277
+
10278
+ message.sourceSystem = reader.string();
10279
+ continue;
10280
+ }
10281
+ }
10282
+ if ((tag & 7) === 4 || tag === 0) {
10283
+ break;
10284
+ }
10285
+ reader.skip(tag & 7);
10286
+ }
10287
+ return message;
10288
+ } finally {
10289
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
10290
+ }
10291
+ },
10292
+
10293
+ fromJSON(object: any): DailyActivityPrincipal {
10294
+ return {
10295
+ kind: isSet(object.kind) ? aIPrincipalKindFromJSON(object.kind) : 0,
10296
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
10297
+ sourceSystem: isSet(object.sourceSystem)
10298
+ ? globalThis.String(object.sourceSystem)
10299
+ : isSet(object.source_system)
10300
+ ? globalThis.String(object.source_system)
10301
+ : "",
10302
+ };
10303
+ },
10304
+
10305
+ toJSON(message: DailyActivityPrincipal): unknown {
10306
+ const obj: any = {};
10307
+ if (message.kind !== 0) {
10308
+ obj.kind = aIPrincipalKindToJSON(message.kind);
10309
+ }
10310
+ if (message.id !== "") {
10311
+ obj.id = message.id;
10312
+ }
10313
+ if (message.sourceSystem !== "") {
10314
+ obj.sourceSystem = message.sourceSystem;
10315
+ }
10316
+ return obj;
10317
+ },
10318
+
10319
+ create<I extends Exact<DeepPartial<DailyActivityPrincipal>, I>>(base?: I): DailyActivityPrincipal {
10320
+ return DailyActivityPrincipal.fromPartial(base ?? ({} as any));
10321
+ },
10322
+ fromPartial<I extends Exact<DeepPartial<DailyActivityPrincipal>, I>>(object: I): DailyActivityPrincipal {
10323
+ const message = createBaseDailyActivityPrincipal();
10324
+ message.kind = object.kind ?? 0;
10325
+ message.id = object.id ?? "";
10326
+ message.sourceSystem = object.sourceSystem ?? "";
10052
10327
  return message;
10053
10328
  },
10054
10329
  };
@@ -10219,7 +10494,7 @@ export const DailyActivity: MessageFns<DailyActivity> = {
10219
10494
  };
10220
10495
 
10221
10496
  function createBaseDailyActivityDay(): DailyActivityDay {
10222
- return { day: "", measures: undefined, provisional: false };
10497
+ return { day: "", measures: undefined, provisional: false, principals: [] };
10223
10498
  }
10224
10499
 
10225
10500
  export const DailyActivityDay: MessageFns<DailyActivityDay> = {
@@ -10233,6 +10508,9 @@ export const DailyActivityDay: MessageFns<DailyActivityDay> = {
10233
10508
  if (message.provisional !== false) {
10234
10509
  writer.uint32(24).bool(message.provisional);
10235
10510
  }
10511
+ for (const v of message.principals) {
10512
+ DailyActivityPrincipal.encode(v!, writer.uint32(34).fork()).join();
10513
+ }
10236
10514
  return writer;
10237
10515
  },
10238
10516
 
@@ -10273,6 +10551,14 @@ export const DailyActivityDay: MessageFns<DailyActivityDay> = {
10273
10551
  message.provisional = reader.bool();
10274
10552
  continue;
10275
10553
  }
10554
+ case 4: {
10555
+ if (tag !== 34) {
10556
+ break;
10557
+ }
10558
+
10559
+ message.principals.push(DailyActivityPrincipal.decode(reader, reader.uint32()));
10560
+ continue;
10561
+ }
10276
10562
  }
10277
10563
  if ((tag & 7) === 4 || tag === 0) {
10278
10564
  break;
@@ -10290,6 +10576,9 @@ export const DailyActivityDay: MessageFns<DailyActivityDay> = {
10290
10576
  day: isSet(object.day) ? globalThis.String(object.day) : "",
10291
10577
  measures: isSet(object.measures) ? DailyActivityMeasures.fromJSON(object.measures) : undefined,
10292
10578
  provisional: isSet(object.provisional) ? globalThis.Boolean(object.provisional) : false,
10579
+ principals: globalThis.Array.isArray(object?.principals)
10580
+ ? object.principals.map((e: any) => DailyActivityPrincipal.fromJSON(e))
10581
+ : [],
10293
10582
  };
10294
10583
  },
10295
10584
 
@@ -10304,6 +10593,9 @@ export const DailyActivityDay: MessageFns<DailyActivityDay> = {
10304
10593
  if (message.provisional !== false) {
10305
10594
  obj.provisional = message.provisional;
10306
10595
  }
10596
+ if (message.principals?.length) {
10597
+ obj.principals = message.principals.map((e) => DailyActivityPrincipal.toJSON(e));
10598
+ }
10307
10599
  return obj;
10308
10600
  },
10309
10601
 
@@ -10317,6 +10609,7 @@ export const DailyActivityDay: MessageFns<DailyActivityDay> = {
10317
10609
  ? DailyActivityMeasures.fromPartial(object.measures)
10318
10610
  : undefined;
10319
10611
  message.provisional = object.provisional ?? false;
10612
+ message.principals = object.principals?.map((e) => DailyActivityPrincipal.fromPartial(e)) || [];
10320
10613
  return message;
10321
10614
  },
10322
10615
  };
@@ -10342,6 +10635,7 @@ function createBaseDailyActivityMeasures(): DailyActivityMeasures {
10342
10635
  subscriptionFacilityCacheReadTokens: 0,
10343
10636
  subscriptionFacilityCacheWriteTokens: 0,
10344
10637
  subscriptionFacilityUsd: 0,
10638
+ sessions: 0,
10345
10639
  };
10346
10640
  }
10347
10641
 
@@ -10404,6 +10698,9 @@ export const DailyActivityMeasures: MessageFns<DailyActivityMeasures> = {
10404
10698
  if (message.subscriptionFacilityUsd !== 0) {
10405
10699
  writer.uint32(153).double(message.subscriptionFacilityUsd);
10406
10700
  }
10701
+ if (message.sessions !== 0) {
10702
+ writer.uint32(160).uint64(message.sessions);
10703
+ }
10407
10704
  return writer;
10408
10705
  },
10409
10706
 
@@ -10572,6 +10869,14 @@ export const DailyActivityMeasures: MessageFns<DailyActivityMeasures> = {
10572
10869
  message.subscriptionFacilityUsd = reader.double();
10573
10870
  continue;
10574
10871
  }
10872
+ case 20: {
10873
+ if (tag !== 160) {
10874
+ break;
10875
+ }
10876
+
10877
+ message.sessions = longToNumber(reader.uint64());
10878
+ continue;
10879
+ }
10575
10880
  }
10576
10881
  if ((tag & 7) === 4 || tag === 0) {
10577
10882
  break;
@@ -10677,6 +10982,7 @@ export const DailyActivityMeasures: MessageFns<DailyActivityMeasures> = {
10677
10982
  : isSet(object.subscription_facility_usd)
10678
10983
  ? globalThis.Number(object.subscription_facility_usd)
10679
10984
  : 0,
10985
+ sessions: isSet(object.sessions) ? globalThis.Number(object.sessions) : 0,
10680
10986
  };
10681
10987
  },
10682
10988
 
@@ -10739,6 +11045,9 @@ export const DailyActivityMeasures: MessageFns<DailyActivityMeasures> = {
10739
11045
  if (message.subscriptionFacilityUsd !== 0) {
10740
11046
  obj.subscriptionFacilityUsd = message.subscriptionFacilityUsd;
10741
11047
  }
11048
+ if (message.sessions !== 0) {
11049
+ obj.sessions = Math.round(message.sessions);
11050
+ }
10742
11051
  return obj;
10743
11052
  },
10744
11053
 
@@ -10766,6 +11075,7 @@ export const DailyActivityMeasures: MessageFns<DailyActivityMeasures> = {
10766
11075
  message.subscriptionFacilityCacheReadTokens = object.subscriptionFacilityCacheReadTokens ?? 0;
10767
11076
  message.subscriptionFacilityCacheWriteTokens = object.subscriptionFacilityCacheWriteTokens ?? 0;
10768
11077
  message.subscriptionFacilityUsd = object.subscriptionFacilityUsd ?? 0;
11078
+ message.sessions = object.sessions ?? 0;
10769
11079
  return message;
10770
11080
  },
10771
11081
  };