@miradorlabs/web-grpc 2.51.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) {
@@ -250,15 +250,81 @@ function deserialize_gateway_web_v1_ListSessionsResponse(buffer_arg) {
250
250
  return proto_gateway_web_v1_ai_gateway_pb.ListSessionsResponse.deserializeBinary(new Uint8Array(buffer_arg));
251
251
  }
252
252
 
253
- function serialize_gateway_web_v1_SessionFrame(arg) {
254
- if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionFrame)) {
255
- 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');
256
256
  }
257
257
  return Buffer.from(arg.serializeBinary());
258
258
  }
259
259
 
260
- function deserialize_gateway_web_v1_SessionFrame(buffer_arg) {
261
- 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));
262
328
  }
263
329
 
264
330
  function serialize_gateway_web_v1_StreamGitActivitiesRequest(arg) {
@@ -294,6 +360,28 @@ function deserialize_gateway_web_v1_StreamSessionsRequest(buffer_arg) {
294
360
  return proto_gateway_web_v1_ai_gateway_pb.StreamSessionsRequest.deserializeBinary(new Uint8Array(buffer_arg));
295
361
  }
296
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
+
297
385
  function serialize_gateway_web_v1_UpdatePrincipalRequest(arg) {
298
386
  if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.UpdatePrincipalRequest)) {
299
387
  throw new Error('Expected argument of type gateway.web.v1.UpdatePrincipalRequest');
@@ -324,7 +412,10 @@ function deserialize_gateway_web_v1_UpdatePrincipalResponse(buffer_arg) {
324
412
  // duplicate the telemetry-api shape (proto domain isolation); unary responses
325
413
  // carry ResponseStatus, streams do not.
326
414
  var AIGatewayServiceService = exports.AIGatewayServiceService = {
327
- 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: {
328
419
  path: '/gateway.web.v1.AIGatewayService/ListSessions',
329
420
  requestStream: false,
330
421
  responseStream: false,
@@ -335,23 +426,30 @@ var AIGatewayServiceService = exports.AIGatewayServiceService = {
335
426
  responseSerialize: serialize_gateway_web_v1_ListSessionsResponse,
336
427
  responseDeserialize: deserialize_gateway_web_v1_ListSessionsResponse,
337
428
  },
338
- // Live UPSERT catalog over the same slice as ListSessions (same filter): an
339
- // UPSERT per session keyed by routing_key + source_system, a nonterminal
340
- // SessionsSnapshotCompleted, then new sessions as created + rollup updates until
341
- // cancel. UPSERT-only (no removal frame): a session whose rollup shifts out of the
342
- // filter simply stops being re-sent, so this notifies about currently-matching rows
343
- // rather than maintaining a filtered catalog. Best-effort live delta; ListSessions
344
- // 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).
345
431
  streamSessions: {
346
432
  path: '/gateway.web.v1.AIGatewayService/StreamSessions',
347
433
  requestStream: false,
348
434
  responseStream: true,
349
435
  requestType: proto_gateway_web_v1_ai_gateway_pb.StreamSessionsRequest,
350
- responseType: proto_gateway_web_v1_ai_gateway_pb.SessionFrame,
436
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot,
351
437
  requestSerialize: serialize_gateway_web_v1_StreamSessionsRequest,
352
438
  requestDeserialize: deserialize_gateway_web_v1_StreamSessionsRequest,
353
- responseSerialize: serialize_gateway_web_v1_SessionFrame,
354
- 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,
355
453
  },
356
454
  listSessionEvents: {
357
455
  path: '/gateway.web.v1.AIGatewayService/ListSessionEvents',
@@ -375,6 +473,31 @@ streamSessions: {
375
473
  responseSerialize: serialize_gateway_web_v1_AISessionEventEnvelope,
376
474
  responseDeserialize: deserialize_gateway_web_v1_AISessionEventEnvelope,
377
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
+ },
378
501
  listPrincipals: {
379
502
  path: '/gateway.web.v1.AIGatewayService/ListPrincipals',
380
503
  requestStream: false,
@@ -422,20 +545,8 @@ streamGitActivities: {
422
545
  responseSerialize: serialize_gateway_web_v1_GitActivityFrame,
423
546
  responseDeserialize: deserialize_gateway_web_v1_GitActivityFrame,
424
547
  },
425
- // Time-bucketed rollup of the filtered git activities, sliced by one dimension —
426
- // the git dashboard's overview; whole-window totals ride the response.
427
- getGitActivitySummary: {
428
- path: '/gateway.web.v1.AIGatewayService/GetGitActivitySummary',
429
- requestStream: false,
430
- responseStream: false,
431
- requestType: proto_gateway_web_v1_ai_gateway_pb.GitActivitySummaryRequest,
432
- responseType: proto_gateway_web_v1_ai_gateway_pb.GetGitActivitySummaryResponse,
433
- requestSerialize: serialize_gateway_web_v1_GitActivitySummaryRequest,
434
- requestDeserialize: deserialize_gateway_web_v1_GitActivitySummaryRequest,
435
- responseSerialize: serialize_gateway_web_v1_GetGitActivitySummaryResponse,
436
- responseDeserialize: deserialize_gateway_web_v1_GetGitActivitySummaryResponse,
437
- },
438
- // 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.
439
550
  streamGitActivitySummary: {
440
551
  path: '/gateway.web.v1.AIGatewayService/StreamGitActivitySummary',
441
552
  requestStream: false,
@@ -447,41 +558,58 @@ streamGitActivitySummary: {
447
558
  responseSerialize: serialize_gateway_web_v1_GitActivitySummary,
448
559
  responseDeserialize: deserialize_gateway_web_v1_GitActivitySummary,
449
560
  },
450
- // Per-file working-state feed (keyset-paginated) behind the unlanded-work funnel.
451
- listFileStates: {
452
- 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',
453
566
  requestStream: false,
454
- responseStream: false,
455
- requestType: proto_gateway_web_v1_ai_gateway_pb.ListFileStatesRequest,
456
- responseType: proto_gateway_web_v1_ai_gateway_pb.ListFileStatesResponse,
457
- requestSerialize: serialize_gateway_web_v1_ListFileStatesRequest,
458
- requestDeserialize: deserialize_gateway_web_v1_ListFileStatesRequest,
459
- responseSerialize: serialize_gateway_web_v1_ListFileStatesResponse,
460
- 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,
461
574
  },
462
- // The unlanded-work funnel: aging tiers + discarded (git-invisible churn), observed vs unverified.
463
- getFileStateSummary: {
464
- path: '/gateway.web.v1.AIGatewayService/GetFileStateSummary',
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,
588
+ },
589
+ // Per-file working-state feed (keyset-paginated) behind the unlanded-work funnel.
590
+ listFiles: {
591
+ path: '/gateway.web.v1.AIGatewayService/ListFiles',
465
592
  requestStream: false,
466
593
  responseStream: false,
467
- requestType: proto_gateway_web_v1_ai_gateway_pb.FileStateSummaryRequest,
468
- responseType: proto_gateway_web_v1_ai_gateway_pb.GetFileStateSummaryResponse,
469
- requestSerialize: serialize_gateway_web_v1_FileStateSummaryRequest,
470
- requestDeserialize: deserialize_gateway_web_v1_FileStateSummaryRequest,
471
- responseSerialize: serialize_gateway_web_v1_GetFileStateSummaryResponse,
472
- 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,
473
600
  },
474
- // Live stream of the funnel: a complete snapshot re-derived each tick.
475
- streamFileStateSummary: {
476
- 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',
477
605
  requestStream: false,
478
606
  responseStream: true,
479
- requestType: proto_gateway_web_v1_ai_gateway_pb.FileStateSummaryRequest,
480
- responseType: proto_gateway_web_v1_ai_gateway_pb.FileStateSummary,
481
- requestSerialize: serialize_gateway_web_v1_FileStateSummaryRequest,
482
- requestDeserialize: deserialize_gateway_web_v1_FileStateSummaryRequest,
483
- responseSerialize: serialize_gateway_web_v1_FileStateSummary,
484
- 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,
485
613
  },
486
614
  // Latest observed list price per (source, provider, model) from the global catalog.
487
615
  listModelPrices: {