@miradorlabs/web-grpc 2.50.0 → 2.54.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.
@@ -19,48 +19,48 @@ function deserialize_gateway_web_v1_AISessionEventEnvelope(buffer_arg) {
19
19
  return proto_gateway_web_v1_ai_gateway_pb.AISessionEventEnvelope.deserializeBinary(new Uint8Array(buffer_arg));
20
20
  }
21
21
 
22
- function serialize_gateway_web_v1_FileStateSummary(arg) {
23
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.FileStateSummary)) {
24
- throw new Error('Expected argument of type gateway.web.v1.FileStateSummary');
22
+ function serialize_gateway_web_v1_AISessionSummary(arg) {
23
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.AISessionSummary)) {
24
+ throw new Error('Expected argument of type gateway.web.v1.AISessionSummary');
25
25
  }
26
26
  return Buffer.from(arg.serializeBinary());
27
27
  }
28
28
 
29
- function deserialize_gateway_web_v1_FileStateSummary(buffer_arg) {
30
- return proto_gateway_web_v1_ai_gateway_pb.FileStateSummary.deserializeBinary(new Uint8Array(buffer_arg));
29
+ function deserialize_gateway_web_v1_AISessionSummary(buffer_arg) {
30
+ return proto_gateway_web_v1_ai_gateway_pb.AISessionSummary.deserializeBinary(new Uint8Array(buffer_arg));
31
31
  }
32
32
 
33
- function serialize_gateway_web_v1_FileStateSummaryRequest(arg) {
34
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.FileStateSummaryRequest)) {
35
- throw new Error('Expected argument of type gateway.web.v1.FileStateSummaryRequest');
33
+ function serialize_gateway_web_v1_FilesSummary(arg) {
34
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.FilesSummary)) {
35
+ throw new Error('Expected argument of type gateway.web.v1.FilesSummary');
36
36
  }
37
37
  return Buffer.from(arg.serializeBinary());
38
38
  }
39
39
 
40
- function deserialize_gateway_web_v1_FileStateSummaryRequest(buffer_arg) {
41
- return proto_gateway_web_v1_ai_gateway_pb.FileStateSummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
40
+ function deserialize_gateway_web_v1_FilesSummary(buffer_arg) {
41
+ return proto_gateway_web_v1_ai_gateway_pb.FilesSummary.deserializeBinary(new Uint8Array(buffer_arg));
42
42
  }
43
43
 
44
- function serialize_gateway_web_v1_GetFileStateSummaryResponse(arg) {
45
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.GetFileStateSummaryResponse)) {
46
- throw new Error('Expected argument of type gateway.web.v1.GetFileStateSummaryResponse');
44
+ function serialize_gateway_web_v1_FilesSummaryRequest(arg) {
45
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.FilesSummaryRequest)) {
46
+ throw new Error('Expected argument of type gateway.web.v1.FilesSummaryRequest');
47
47
  }
48
48
  return Buffer.from(arg.serializeBinary());
49
49
  }
50
50
 
51
- function deserialize_gateway_web_v1_GetFileStateSummaryResponse(buffer_arg) {
52
- return proto_gateway_web_v1_ai_gateway_pb.GetFileStateSummaryResponse.deserializeBinary(new Uint8Array(buffer_arg));
51
+ function deserialize_gateway_web_v1_FilesSummaryRequest(buffer_arg) {
52
+ return proto_gateway_web_v1_ai_gateway_pb.FilesSummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
53
53
  }
54
54
 
55
- function serialize_gateway_web_v1_GetGitActivitySummaryResponse(arg) {
56
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.GetGitActivitySummaryResponse)) {
57
- throw new Error('Expected argument of type gateway.web.v1.GetGitActivitySummaryResponse');
55
+ function serialize_gateway_web_v1_GetSessionSummaryRequest(arg) {
56
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.GetSessionSummaryRequest)) {
57
+ throw new Error('Expected argument of type gateway.web.v1.GetSessionSummaryRequest');
58
58
  }
59
59
  return Buffer.from(arg.serializeBinary());
60
60
  }
61
61
 
62
- function deserialize_gateway_web_v1_GetGitActivitySummaryResponse(buffer_arg) {
63
- return proto_gateway_web_v1_ai_gateway_pb.GetGitActivitySummaryResponse.deserializeBinary(new Uint8Array(buffer_arg));
62
+ function deserialize_gateway_web_v1_GetSessionSummaryRequest(buffer_arg) {
63
+ return proto_gateway_web_v1_ai_gateway_pb.GetSessionSummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
64
64
  }
65
65
 
66
66
  function serialize_gateway_web_v1_GitActivityFrame(arg) {
@@ -96,26 +96,26 @@ function deserialize_gateway_web_v1_GitActivitySummaryRequest(buffer_arg) {
96
96
  return proto_gateway_web_v1_ai_gateway_pb.GitActivitySummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
97
97
  }
98
98
 
99
- function serialize_gateway_web_v1_ListFileStatesRequest(arg) {
100
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListFileStatesRequest)) {
101
- throw new Error('Expected argument of type gateway.web.v1.ListFileStatesRequest');
99
+ function serialize_gateway_web_v1_ListFilesRequest(arg) {
100
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListFilesRequest)) {
101
+ throw new Error('Expected argument of type gateway.web.v1.ListFilesRequest');
102
102
  }
103
103
  return Buffer.from(arg.serializeBinary());
104
104
  }
105
105
 
106
- function deserialize_gateway_web_v1_ListFileStatesRequest(buffer_arg) {
107
- return proto_gateway_web_v1_ai_gateway_pb.ListFileStatesRequest.deserializeBinary(new Uint8Array(buffer_arg));
106
+ function deserialize_gateway_web_v1_ListFilesRequest(buffer_arg) {
107
+ return proto_gateway_web_v1_ai_gateway_pb.ListFilesRequest.deserializeBinary(new Uint8Array(buffer_arg));
108
108
  }
109
109
 
110
- function serialize_gateway_web_v1_ListFileStatesResponse(arg) {
111
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListFileStatesResponse)) {
112
- throw new Error('Expected argument of type gateway.web.v1.ListFileStatesResponse');
110
+ function serialize_gateway_web_v1_ListFilesResponse(arg) {
111
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListFilesResponse)) {
112
+ throw new Error('Expected argument of type gateway.web.v1.ListFilesResponse');
113
113
  }
114
114
  return Buffer.from(arg.serializeBinary());
115
115
  }
116
116
 
117
- function deserialize_gateway_web_v1_ListFileStatesResponse(buffer_arg) {
118
- return proto_gateway_web_v1_ai_gateway_pb.ListFileStatesResponse.deserializeBinary(new Uint8Array(buffer_arg));
117
+ function deserialize_gateway_web_v1_ListFilesResponse(buffer_arg) {
118
+ return proto_gateway_web_v1_ai_gateway_pb.ListFilesResponse.deserializeBinary(new Uint8Array(buffer_arg));
119
119
  }
120
120
 
121
121
  function serialize_gateway_web_v1_ListGitActivitiesRequest(arg) {
@@ -140,6 +140,28 @@ function deserialize_gateway_web_v1_ListGitActivitiesResponse(buffer_arg) {
140
140
  return proto_gateway_web_v1_ai_gateway_pb.ListGitActivitiesResponse.deserializeBinary(new Uint8Array(buffer_arg));
141
141
  }
142
142
 
143
+ function serialize_gateway_web_v1_ListModelPriceHistoryRequest(arg) {
144
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListModelPriceHistoryRequest)) {
145
+ throw new Error('Expected argument of type gateway.web.v1.ListModelPriceHistoryRequest');
146
+ }
147
+ return Buffer.from(arg.serializeBinary());
148
+ }
149
+
150
+ function deserialize_gateway_web_v1_ListModelPriceHistoryRequest(buffer_arg) {
151
+ return proto_gateway_web_v1_ai_gateway_pb.ListModelPriceHistoryRequest.deserializeBinary(new Uint8Array(buffer_arg));
152
+ }
153
+
154
+ function serialize_gateway_web_v1_ListModelPriceHistoryResponse(arg) {
155
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListModelPriceHistoryResponse)) {
156
+ throw new Error('Expected argument of type gateway.web.v1.ListModelPriceHistoryResponse');
157
+ }
158
+ return Buffer.from(arg.serializeBinary());
159
+ }
160
+
161
+ function deserialize_gateway_web_v1_ListModelPriceHistoryResponse(buffer_arg) {
162
+ return proto_gateway_web_v1_ai_gateway_pb.ListModelPriceHistoryResponse.deserializeBinary(new Uint8Array(buffer_arg));
163
+ }
164
+
143
165
  function serialize_gateway_web_v1_ListModelPricesRequest(arg) {
144
166
  if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListModelPricesRequest)) {
145
167
  throw new Error('Expected argument of type gateway.web.v1.ListModelPricesRequest');
@@ -228,15 +250,81 @@ function deserialize_gateway_web_v1_ListSessionsResponse(buffer_arg) {
228
250
  return proto_gateway_web_v1_ai_gateway_pb.ListSessionsResponse.deserializeBinary(new Uint8Array(buffer_arg));
229
251
  }
230
252
 
231
- function serialize_gateway_web_v1_SessionFrame(arg) {
232
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionFrame)) {
233
- throw new Error('Expected argument of type gateway.web.v1.SessionFrame');
253
+ function serialize_gateway_web_v1_ProjectOverview(arg) {
254
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ProjectOverview)) {
255
+ throw new Error('Expected argument of type gateway.web.v1.ProjectOverview');
234
256
  }
235
257
  return Buffer.from(arg.serializeBinary());
236
258
  }
237
259
 
238
- function deserialize_gateway_web_v1_SessionFrame(buffer_arg) {
239
- return proto_gateway_web_v1_ai_gateway_pb.SessionFrame.deserializeBinary(new Uint8Array(buffer_arg));
260
+ function deserialize_gateway_web_v1_ProjectOverview(buffer_arg) {
261
+ return proto_gateway_web_v1_ai_gateway_pb.ProjectOverview.deserializeBinary(new Uint8Array(buffer_arg));
262
+ }
263
+
264
+ function serialize_gateway_web_v1_ProjectOverviewRequest(arg) {
265
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ProjectOverviewRequest)) {
266
+ throw new Error('Expected argument of type gateway.web.v1.ProjectOverviewRequest');
267
+ }
268
+ return Buffer.from(arg.serializeBinary());
269
+ }
270
+
271
+ function deserialize_gateway_web_v1_ProjectOverviewRequest(buffer_arg) {
272
+ return proto_gateway_web_v1_ai_gateway_pb.ProjectOverviewRequest.deserializeBinary(new Uint8Array(buffer_arg));
273
+ }
274
+
275
+ function serialize_gateway_web_v1_SessionFileChanges(arg) {
276
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionFileChanges)) {
277
+ throw new Error('Expected argument of type gateway.web.v1.SessionFileChanges');
278
+ }
279
+ return Buffer.from(arg.serializeBinary());
280
+ }
281
+
282
+ function deserialize_gateway_web_v1_SessionFileChanges(buffer_arg) {
283
+ return proto_gateway_web_v1_ai_gateway_pb.SessionFileChanges.deserializeBinary(new Uint8Array(buffer_arg));
284
+ }
285
+
286
+ function serialize_gateway_web_v1_SessionFileChangesRequest(arg) {
287
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionFileChangesRequest)) {
288
+ throw new Error('Expected argument of type gateway.web.v1.SessionFileChangesRequest');
289
+ }
290
+ return Buffer.from(arg.serializeBinary());
291
+ }
292
+
293
+ function deserialize_gateway_web_v1_SessionFileChangesRequest(buffer_arg) {
294
+ return proto_gateway_web_v1_ai_gateway_pb.SessionFileChangesRequest.deserializeBinary(new Uint8Array(buffer_arg));
295
+ }
296
+
297
+ function serialize_gateway_web_v1_SessionTokenTimeline(arg) {
298
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimeline)) {
299
+ throw new Error('Expected argument of type gateway.web.v1.SessionTokenTimeline');
300
+ }
301
+ return Buffer.from(arg.serializeBinary());
302
+ }
303
+
304
+ function deserialize_gateway_web_v1_SessionTokenTimeline(buffer_arg) {
305
+ return proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimeline.deserializeBinary(new Uint8Array(buffer_arg));
306
+ }
307
+
308
+ function serialize_gateway_web_v1_SessionTokenTimelineRequest(arg) {
309
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimelineRequest)) {
310
+ throw new Error('Expected argument of type gateway.web.v1.SessionTokenTimelineRequest');
311
+ }
312
+ return Buffer.from(arg.serializeBinary());
313
+ }
314
+
315
+ function deserialize_gateway_web_v1_SessionTokenTimelineRequest(buffer_arg) {
316
+ return proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimelineRequest.deserializeBinary(new Uint8Array(buffer_arg));
317
+ }
318
+
319
+ function serialize_gateway_web_v1_SessionsSnapshot(arg) {
320
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot)) {
321
+ throw new Error('Expected argument of type gateway.web.v1.SessionsSnapshot');
322
+ }
323
+ return Buffer.from(arg.serializeBinary());
324
+ }
325
+
326
+ function deserialize_gateway_web_v1_SessionsSnapshot(buffer_arg) {
327
+ return proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot.deserializeBinary(new Uint8Array(buffer_arg));
240
328
  }
241
329
 
242
330
  function serialize_gateway_web_v1_StreamGitActivitiesRequest(arg) {
@@ -272,6 +360,28 @@ function deserialize_gateway_web_v1_StreamSessionsRequest(buffer_arg) {
272
360
  return proto_gateway_web_v1_ai_gateway_pb.StreamSessionsRequest.deserializeBinary(new Uint8Array(buffer_arg));
273
361
  }
274
362
 
363
+ function serialize_gateway_web_v1_TokenActivitySummary(arg) {
364
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummary)) {
365
+ throw new Error('Expected argument of type gateway.web.v1.TokenActivitySummary');
366
+ }
367
+ return Buffer.from(arg.serializeBinary());
368
+ }
369
+
370
+ function deserialize_gateway_web_v1_TokenActivitySummary(buffer_arg) {
371
+ return proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummary.deserializeBinary(new Uint8Array(buffer_arg));
372
+ }
373
+
374
+ function serialize_gateway_web_v1_TokenActivitySummaryRequest(arg) {
375
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummaryRequest)) {
376
+ throw new Error('Expected argument of type gateway.web.v1.TokenActivitySummaryRequest');
377
+ }
378
+ return Buffer.from(arg.serializeBinary());
379
+ }
380
+
381
+ function deserialize_gateway_web_v1_TokenActivitySummaryRequest(buffer_arg) {
382
+ return proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
383
+ }
384
+
275
385
  function serialize_gateway_web_v1_UpdatePrincipalRequest(arg) {
276
386
  if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.UpdatePrincipalRequest)) {
277
387
  throw new Error('Expected argument of type gateway.web.v1.UpdatePrincipalRequest');
@@ -302,7 +412,10 @@ function deserialize_gateway_web_v1_UpdatePrincipalResponse(buffer_arg) {
302
412
  // duplicate the telemetry-api shape (proto domain isolation); unary responses
303
413
  // carry ResponseStatus, streams do not.
304
414
  var AIGatewayServiceService = exports.AIGatewayServiceService = {
305
- listSessions: {
415
+ // One numbered page of the conversation catalog (sessions folded to
416
+ // one rollup by source_system + session_id), ranked by sort. Weakly consistent
417
+ // (latest-state, no frozen snapshot).
418
+ listSessions: {
306
419
  path: '/gateway.web.v1.AIGatewayService/ListSessions',
307
420
  requestStream: false,
308
421
  responseStream: false,
@@ -313,23 +426,30 @@ var AIGatewayServiceService = exports.AIGatewayServiceService = {
313
426
  responseSerialize: serialize_gateway_web_v1_ListSessionsResponse,
314
427
  responseDeserialize: deserialize_gateway_web_v1_ListSessionsResponse,
315
428
  },
316
- // Live UPSERT catalog over the same slice as ListSessions (same filter): an
317
- // UPSERT per session keyed by routing_key + source_system, a nonterminal
318
- // SessionsSnapshotCompleted, then new sessions as created + rollup updates until
319
- // cancel. UPSERT-only (no removal frame): a session whose rollup shifts out of the
320
- // filter simply stops being re-sent, so this notifies about currently-matching rows
321
- // rather than maintaining a filtered catalog. Best-effort live delta; ListSessions
322
- // is the authoritative catalog.
429
+ // Keeps the first conversation page live: the whole top-N page re-derived each tick
430
+ // as one SessionsSnapshot, replacing client state wholesale (not a delta feed).
323
431
  streamSessions: {
324
432
  path: '/gateway.web.v1.AIGatewayService/StreamSessions',
325
433
  requestStream: false,
326
434
  responseStream: true,
327
435
  requestType: proto_gateway_web_v1_ai_gateway_pb.StreamSessionsRequest,
328
- responseType: proto_gateway_web_v1_ai_gateway_pb.SessionFrame,
436
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot,
329
437
  requestSerialize: serialize_gateway_web_v1_StreamSessionsRequest,
330
438
  requestDeserialize: deserialize_gateway_web_v1_StreamSessionsRequest,
331
- responseSerialize: serialize_gateway_web_v1_SessionFrame,
332
- responseDeserialize: deserialize_gateway_web_v1_SessionFrame,
439
+ responseSerialize: serialize_gateway_web_v1_SessionsSnapshot,
440
+ responseDeserialize: deserialize_gateway_web_v1_SessionsSnapshot,
441
+ },
442
+ // Live sidebar rollup (session_id + source_system): re-derived and re-emitted whole each tick.
443
+ streamSessionSummary: {
444
+ path: '/gateway.web.v1.AIGatewayService/StreamSessionSummary',
445
+ requestStream: false,
446
+ responseStream: true,
447
+ requestType: proto_gateway_web_v1_ai_gateway_pb.GetSessionSummaryRequest,
448
+ responseType: proto_gateway_web_v1_ai_gateway_pb.AISessionSummary,
449
+ requestSerialize: serialize_gateway_web_v1_GetSessionSummaryRequest,
450
+ requestDeserialize: deserialize_gateway_web_v1_GetSessionSummaryRequest,
451
+ responseSerialize: serialize_gateway_web_v1_AISessionSummary,
452
+ responseDeserialize: deserialize_gateway_web_v1_AISessionSummary,
333
453
  },
334
454
  listSessionEvents: {
335
455
  path: '/gateway.web.v1.AIGatewayService/ListSessionEvents',
@@ -353,6 +473,31 @@ streamSessions: {
353
473
  responseSerialize: serialize_gateway_web_v1_AISessionEventEnvelope,
354
474
  responseDeserialize: deserialize_gateway_web_v1_AISessionEventEnvelope,
355
475
  },
476
+ // Live, backend-computed, per-event token series for one session (replacement snapshots):
477
+ // one content-free point per logical event + whole-session totals; point count is capped.
478
+ streamSessionTokenTimeline: {
479
+ path: '/gateway.web.v1.AIGatewayService/StreamSessionTokenTimeline',
480
+ requestStream: false,
481
+ responseStream: true,
482
+ requestType: proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimelineRequest,
483
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimeline,
484
+ requestSerialize: serialize_gateway_web_v1_SessionTokenTimelineRequest,
485
+ requestDeserialize: deserialize_gateway_web_v1_SessionTokenTimelineRequest,
486
+ responseSerialize: serialize_gateway_web_v1_SessionTokenTimeline,
487
+ responseDeserialize: deserialize_gateway_web_v1_SessionTokenTimeline,
488
+ },
489
+ // Live "Files changed" card: per file the latest-observed git change-type + exact --numstat churn.
490
+ streamSessionFileChanges: {
491
+ path: '/gateway.web.v1.AIGatewayService/StreamSessionFileChanges',
492
+ requestStream: false,
493
+ responseStream: true,
494
+ requestType: proto_gateway_web_v1_ai_gateway_pb.SessionFileChangesRequest,
495
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionFileChanges,
496
+ requestSerialize: serialize_gateway_web_v1_SessionFileChangesRequest,
497
+ requestDeserialize: deserialize_gateway_web_v1_SessionFileChangesRequest,
498
+ responseSerialize: serialize_gateway_web_v1_SessionFileChanges,
499
+ responseDeserialize: deserialize_gateway_web_v1_SessionFileChanges,
500
+ },
356
501
  listPrincipals: {
357
502
  path: '/gateway.web.v1.AIGatewayService/ListPrincipals',
358
503
  requestStream: false,
@@ -400,20 +545,8 @@ streamGitActivities: {
400
545
  responseSerialize: serialize_gateway_web_v1_GitActivityFrame,
401
546
  responseDeserialize: deserialize_gateway_web_v1_GitActivityFrame,
402
547
  },
403
- // Time-bucketed rollup of the filtered git activities, sliced by one dimension —
404
- // the git dashboard's overview; whole-window totals ride the response.
405
- getGitActivitySummary: {
406
- path: '/gateway.web.v1.AIGatewayService/GetGitActivitySummary',
407
- requestStream: false,
408
- responseStream: false,
409
- requestType: proto_gateway_web_v1_ai_gateway_pb.GitActivitySummaryRequest,
410
- responseType: proto_gateway_web_v1_ai_gateway_pb.GetGitActivitySummaryResponse,
411
- requestSerialize: serialize_gateway_web_v1_GitActivitySummaryRequest,
412
- requestDeserialize: deserialize_gateway_web_v1_GitActivitySummaryRequest,
413
- responseSerialize: serialize_gateway_web_v1_GetGitActivitySummaryResponse,
414
- responseDeserialize: deserialize_gateway_web_v1_GetGitActivitySummaryResponse,
415
- },
416
- // Live stream of that rollup: a full windowed snapshot re-derived each tick.
548
+ // Live stream of the git dashboard's overview: a full windowed, dimension-sliced rollup of the filtered
549
+ // git activities (whole-window totals ride each frame), re-derived each tick.
417
550
  streamGitActivitySummary: {
418
551
  path: '/gateway.web.v1.AIGatewayService/StreamGitActivitySummary',
419
552
  requestStream: false,
@@ -425,41 +558,58 @@ streamGitActivitySummary: {
425
558
  responseSerialize: serialize_gateway_web_v1_GitActivitySummary,
426
559
  responseDeserialize: deserialize_gateway_web_v1_GitActivitySummary,
427
560
  },
428
- // Per-file working-state feed (keyset-paginated) behind the unlanded-work funnel.
429
- listFileStates: {
430
- path: '/gateway.web.v1.AIGatewayService/ListFileStates',
561
+ // Live token burn calendar: a windowed, dimension-sliced token/cost trend series over ai_events
562
+ // model_calls plus whole-window totals — one aggregate read re-derived each tick, instead of a
563
+ // client-reduced matrix of PromQL queries.
564
+ streamTokenActivitySummary: {
565
+ path: '/gateway.web.v1.AIGatewayService/StreamTokenActivitySummary',
431
566
  requestStream: false,
432
- responseStream: false,
433
- requestType: proto_gateway_web_v1_ai_gateway_pb.ListFileStatesRequest,
434
- responseType: proto_gateway_web_v1_ai_gateway_pb.ListFileStatesResponse,
435
- requestSerialize: serialize_gateway_web_v1_ListFileStatesRequest,
436
- requestDeserialize: deserialize_gateway_web_v1_ListFileStatesRequest,
437
- responseSerialize: serialize_gateway_web_v1_ListFileStatesResponse,
438
- responseDeserialize: deserialize_gateway_web_v1_ListFileStatesResponse,
567
+ responseStream: true,
568
+ requestType: proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummaryRequest,
569
+ responseType: proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummary,
570
+ requestSerialize: serialize_gateway_web_v1_TokenActivitySummaryRequest,
571
+ requestDeserialize: deserialize_gateway_web_v1_TokenActivitySummaryRequest,
572
+ responseSerialize: serialize_gateway_web_v1_TokenActivitySummary,
573
+ responseDeserialize: deserialize_gateway_web_v1_TokenActivitySummary,
574
+ },
575
+ // Live stream of one project's flagship dashboard bundle — headline totals, model/provider/source mix,
576
+ // and top sessions by cost, a complete snapshot re-derived each tick. Replaces a whole-catalog stream
577
+ // plus a matrix of PromQL queries.
578
+ streamProjectOverview: {
579
+ path: '/gateway.web.v1.AIGatewayService/StreamProjectOverview',
580
+ requestStream: false,
581
+ responseStream: true,
582
+ requestType: proto_gateway_web_v1_ai_gateway_pb.ProjectOverviewRequest,
583
+ responseType: proto_gateway_web_v1_ai_gateway_pb.ProjectOverview,
584
+ requestSerialize: serialize_gateway_web_v1_ProjectOverviewRequest,
585
+ requestDeserialize: deserialize_gateway_web_v1_ProjectOverviewRequest,
586
+ responseSerialize: serialize_gateway_web_v1_ProjectOverview,
587
+ responseDeserialize: deserialize_gateway_web_v1_ProjectOverview,
439
588
  },
440
- // The unlanded-work funnel: aging tiers + discarded (git-invisible churn), observed vs unverified.
441
- getFileStateSummary: {
442
- path: '/gateway.web.v1.AIGatewayService/GetFileStateSummary',
589
+ // Per-file working-state feed (keyset-paginated) behind the unlanded-work funnel.
590
+ listFiles: {
591
+ path: '/gateway.web.v1.AIGatewayService/ListFiles',
443
592
  requestStream: false,
444
593
  responseStream: false,
445
- requestType: proto_gateway_web_v1_ai_gateway_pb.FileStateSummaryRequest,
446
- responseType: proto_gateway_web_v1_ai_gateway_pb.GetFileStateSummaryResponse,
447
- requestSerialize: serialize_gateway_web_v1_FileStateSummaryRequest,
448
- requestDeserialize: deserialize_gateway_web_v1_FileStateSummaryRequest,
449
- responseSerialize: serialize_gateway_web_v1_GetFileStateSummaryResponse,
450
- responseDeserialize: deserialize_gateway_web_v1_GetFileStateSummaryResponse,
594
+ requestType: proto_gateway_web_v1_ai_gateway_pb.ListFilesRequest,
595
+ responseType: proto_gateway_web_v1_ai_gateway_pb.ListFilesResponse,
596
+ requestSerialize: serialize_gateway_web_v1_ListFilesRequest,
597
+ requestDeserialize: deserialize_gateway_web_v1_ListFilesRequest,
598
+ responseSerialize: serialize_gateway_web_v1_ListFilesResponse,
599
+ responseDeserialize: deserialize_gateway_web_v1_ListFilesResponse,
451
600
  },
452
- // Live stream of the funnel: a complete snapshot re-derived each tick.
453
- streamFileStateSummary: {
454
- path: '/gateway.web.v1.AIGatewayService/StreamFileStateSummary',
601
+ // Live stream of the unlanded-work funnel: aging tiers + discarded (git-invisible churn), observed vs
602
+ // unverified, a complete snapshot re-derived each tick.
603
+ streamFilesSummary: {
604
+ path: '/gateway.web.v1.AIGatewayService/StreamFilesSummary',
455
605
  requestStream: false,
456
606
  responseStream: true,
457
- requestType: proto_gateway_web_v1_ai_gateway_pb.FileStateSummaryRequest,
458
- responseType: proto_gateway_web_v1_ai_gateway_pb.FileStateSummary,
459
- requestSerialize: serialize_gateway_web_v1_FileStateSummaryRequest,
460
- requestDeserialize: deserialize_gateway_web_v1_FileStateSummaryRequest,
461
- responseSerialize: serialize_gateway_web_v1_FileStateSummary,
462
- responseDeserialize: deserialize_gateway_web_v1_FileStateSummary,
607
+ requestType: proto_gateway_web_v1_ai_gateway_pb.FilesSummaryRequest,
608
+ responseType: proto_gateway_web_v1_ai_gateway_pb.FilesSummary,
609
+ requestSerialize: serialize_gateway_web_v1_FilesSummaryRequest,
610
+ requestDeserialize: deserialize_gateway_web_v1_FilesSummaryRequest,
611
+ responseSerialize: serialize_gateway_web_v1_FilesSummary,
612
+ responseDeserialize: deserialize_gateway_web_v1_FilesSummary,
463
613
  },
464
614
  // Latest observed list price per (source, provider, model) from the global catalog.
465
615
  listModelPrices: {
@@ -473,6 +623,19 @@ listModelPrices: {
473
623
  responseSerialize: serialize_gateway_web_v1_ListModelPricesResponse,
474
624
  responseDeserialize: deserialize_gateway_web_v1_ListModelPricesResponse,
475
625
  },
626
+ // Every stored observation for the filtered models over a time range, oldest first —
627
+ // the rows ListModelPrices collapses. filter.model is required.
628
+ listModelPriceHistory: {
629
+ path: '/gateway.web.v1.AIGatewayService/ListModelPriceHistory',
630
+ requestStream: false,
631
+ responseStream: false,
632
+ requestType: proto_gateway_web_v1_ai_gateway_pb.ListModelPriceHistoryRequest,
633
+ responseType: proto_gateway_web_v1_ai_gateway_pb.ListModelPriceHistoryResponse,
634
+ requestSerialize: serialize_gateway_web_v1_ListModelPriceHistoryRequest,
635
+ requestDeserialize: deserialize_gateway_web_v1_ListModelPriceHistoryRequest,
636
+ responseSerialize: serialize_gateway_web_v1_ListModelPriceHistoryResponse,
637
+ responseDeserialize: deserialize_gateway_web_v1_ListModelPriceHistoryResponse,
638
+ },
476
639
  };
477
640
 
478
641
  exports.AIGatewayServiceClient = grpc.makeGenericClientConstructor(AIGatewayServiceService, 'AIGatewayService');