@miradorlabs/web-grpc 2.51.0 → 2.55.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,70 @@ 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_DailyActivity(arg) {
34
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.DailyActivity)) {
35
+ throw new Error('Expected argument of type gateway.web.v1.DailyActivity');
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_DailyActivity(buffer_arg) {
41
+ return proto_gateway_web_v1_ai_gateway_pb.DailyActivity.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_DailyActivityRequest(arg) {
45
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.DailyActivityRequest)) {
46
+ throw new Error('Expected argument of type gateway.web.v1.DailyActivityRequest');
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_DailyActivityRequest(buffer_arg) {
52
+ return proto_gateway_web_v1_ai_gateway_pb.DailyActivityRequest.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_FilesSummary(arg) {
56
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.FilesSummary)) {
57
+ throw new Error('Expected argument of type gateway.web.v1.FilesSummary');
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_FilesSummary(buffer_arg) {
63
+ return proto_gateway_web_v1_ai_gateway_pb.FilesSummary.deserializeBinary(new Uint8Array(buffer_arg));
64
+ }
65
+
66
+ function serialize_gateway_web_v1_FilesSummaryRequest(arg) {
67
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.FilesSummaryRequest)) {
68
+ throw new Error('Expected argument of type gateway.web.v1.FilesSummaryRequest');
69
+ }
70
+ return Buffer.from(arg.serializeBinary());
71
+ }
72
+
73
+ function deserialize_gateway_web_v1_FilesSummaryRequest(buffer_arg) {
74
+ return proto_gateway_web_v1_ai_gateway_pb.FilesSummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
75
+ }
76
+
77
+ function serialize_gateway_web_v1_GetSessionSummaryRequest(arg) {
78
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.GetSessionSummaryRequest)) {
79
+ throw new Error('Expected argument of type gateway.web.v1.GetSessionSummaryRequest');
80
+ }
81
+ return Buffer.from(arg.serializeBinary());
82
+ }
83
+
84
+ function deserialize_gateway_web_v1_GetSessionSummaryRequest(buffer_arg) {
85
+ return proto_gateway_web_v1_ai_gateway_pb.GetSessionSummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
64
86
  }
65
87
 
66
88
  function serialize_gateway_web_v1_GitActivityFrame(arg) {
@@ -96,26 +118,26 @@ function deserialize_gateway_web_v1_GitActivitySummaryRequest(buffer_arg) {
96
118
  return proto_gateway_web_v1_ai_gateway_pb.GitActivitySummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
97
119
  }
98
120
 
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');
121
+ function serialize_gateway_web_v1_ListFilesRequest(arg) {
122
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListFilesRequest)) {
123
+ throw new Error('Expected argument of type gateway.web.v1.ListFilesRequest');
102
124
  }
103
125
  return Buffer.from(arg.serializeBinary());
104
126
  }
105
127
 
106
- function deserialize_gateway_web_v1_ListFileStatesRequest(buffer_arg) {
107
- return proto_gateway_web_v1_ai_gateway_pb.ListFileStatesRequest.deserializeBinary(new Uint8Array(buffer_arg));
128
+ function deserialize_gateway_web_v1_ListFilesRequest(buffer_arg) {
129
+ return proto_gateway_web_v1_ai_gateway_pb.ListFilesRequest.deserializeBinary(new Uint8Array(buffer_arg));
108
130
  }
109
131
 
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');
132
+ function serialize_gateway_web_v1_ListFilesResponse(arg) {
133
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ListFilesResponse)) {
134
+ throw new Error('Expected argument of type gateway.web.v1.ListFilesResponse');
113
135
  }
114
136
  return Buffer.from(arg.serializeBinary());
115
137
  }
116
138
 
117
- function deserialize_gateway_web_v1_ListFileStatesResponse(buffer_arg) {
118
- return proto_gateway_web_v1_ai_gateway_pb.ListFileStatesResponse.deserializeBinary(new Uint8Array(buffer_arg));
139
+ function deserialize_gateway_web_v1_ListFilesResponse(buffer_arg) {
140
+ return proto_gateway_web_v1_ai_gateway_pb.ListFilesResponse.deserializeBinary(new Uint8Array(buffer_arg));
119
141
  }
120
142
 
121
143
  function serialize_gateway_web_v1_ListGitActivitiesRequest(arg) {
@@ -250,15 +272,81 @@ function deserialize_gateway_web_v1_ListSessionsResponse(buffer_arg) {
250
272
  return proto_gateway_web_v1_ai_gateway_pb.ListSessionsResponse.deserializeBinary(new Uint8Array(buffer_arg));
251
273
  }
252
274
 
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');
275
+ function serialize_gateway_web_v1_ProjectOverview(arg) {
276
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ProjectOverview)) {
277
+ throw new Error('Expected argument of type gateway.web.v1.ProjectOverview');
256
278
  }
257
279
  return Buffer.from(arg.serializeBinary());
258
280
  }
259
281
 
260
- function deserialize_gateway_web_v1_SessionFrame(buffer_arg) {
261
- return proto_gateway_web_v1_ai_gateway_pb.SessionFrame.deserializeBinary(new Uint8Array(buffer_arg));
282
+ function deserialize_gateway_web_v1_ProjectOverview(buffer_arg) {
283
+ return proto_gateway_web_v1_ai_gateway_pb.ProjectOverview.deserializeBinary(new Uint8Array(buffer_arg));
284
+ }
285
+
286
+ function serialize_gateway_web_v1_ProjectOverviewRequest(arg) {
287
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.ProjectOverviewRequest)) {
288
+ throw new Error('Expected argument of type gateway.web.v1.ProjectOverviewRequest');
289
+ }
290
+ return Buffer.from(arg.serializeBinary());
291
+ }
292
+
293
+ function deserialize_gateway_web_v1_ProjectOverviewRequest(buffer_arg) {
294
+ return proto_gateway_web_v1_ai_gateway_pb.ProjectOverviewRequest.deserializeBinary(new Uint8Array(buffer_arg));
295
+ }
296
+
297
+ function serialize_gateway_web_v1_SessionFileChanges(arg) {
298
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionFileChanges)) {
299
+ throw new Error('Expected argument of type gateway.web.v1.SessionFileChanges');
300
+ }
301
+ return Buffer.from(arg.serializeBinary());
302
+ }
303
+
304
+ function deserialize_gateway_web_v1_SessionFileChanges(buffer_arg) {
305
+ return proto_gateway_web_v1_ai_gateway_pb.SessionFileChanges.deserializeBinary(new Uint8Array(buffer_arg));
306
+ }
307
+
308
+ function serialize_gateway_web_v1_SessionFileChangesRequest(arg) {
309
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionFileChangesRequest)) {
310
+ throw new Error('Expected argument of type gateway.web.v1.SessionFileChangesRequest');
311
+ }
312
+ return Buffer.from(arg.serializeBinary());
313
+ }
314
+
315
+ function deserialize_gateway_web_v1_SessionFileChangesRequest(buffer_arg) {
316
+ return proto_gateway_web_v1_ai_gateway_pb.SessionFileChangesRequest.deserializeBinary(new Uint8Array(buffer_arg));
317
+ }
318
+
319
+ function serialize_gateway_web_v1_SessionTokenTimeline(arg) {
320
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimeline)) {
321
+ throw new Error('Expected argument of type gateway.web.v1.SessionTokenTimeline');
322
+ }
323
+ return Buffer.from(arg.serializeBinary());
324
+ }
325
+
326
+ function deserialize_gateway_web_v1_SessionTokenTimeline(buffer_arg) {
327
+ return proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimeline.deserializeBinary(new Uint8Array(buffer_arg));
328
+ }
329
+
330
+ function serialize_gateway_web_v1_SessionTokenTimelineRequest(arg) {
331
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimelineRequest)) {
332
+ throw new Error('Expected argument of type gateway.web.v1.SessionTokenTimelineRequest');
333
+ }
334
+ return Buffer.from(arg.serializeBinary());
335
+ }
336
+
337
+ function deserialize_gateway_web_v1_SessionTokenTimelineRequest(buffer_arg) {
338
+ return proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimelineRequest.deserializeBinary(new Uint8Array(buffer_arg));
339
+ }
340
+
341
+ function serialize_gateway_web_v1_SessionsSnapshot(arg) {
342
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot)) {
343
+ throw new Error('Expected argument of type gateway.web.v1.SessionsSnapshot');
344
+ }
345
+ return Buffer.from(arg.serializeBinary());
346
+ }
347
+
348
+ function deserialize_gateway_web_v1_SessionsSnapshot(buffer_arg) {
349
+ return proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot.deserializeBinary(new Uint8Array(buffer_arg));
262
350
  }
263
351
 
264
352
  function serialize_gateway_web_v1_StreamGitActivitiesRequest(arg) {
@@ -294,6 +382,28 @@ function deserialize_gateway_web_v1_StreamSessionsRequest(buffer_arg) {
294
382
  return proto_gateway_web_v1_ai_gateway_pb.StreamSessionsRequest.deserializeBinary(new Uint8Array(buffer_arg));
295
383
  }
296
384
 
385
+ function serialize_gateway_web_v1_TokenActivitySummary(arg) {
386
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummary)) {
387
+ throw new Error('Expected argument of type gateway.web.v1.TokenActivitySummary');
388
+ }
389
+ return Buffer.from(arg.serializeBinary());
390
+ }
391
+
392
+ function deserialize_gateway_web_v1_TokenActivitySummary(buffer_arg) {
393
+ return proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummary.deserializeBinary(new Uint8Array(buffer_arg));
394
+ }
395
+
396
+ function serialize_gateway_web_v1_TokenActivitySummaryRequest(arg) {
397
+ if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummaryRequest)) {
398
+ throw new Error('Expected argument of type gateway.web.v1.TokenActivitySummaryRequest');
399
+ }
400
+ return Buffer.from(arg.serializeBinary());
401
+ }
402
+
403
+ function deserialize_gateway_web_v1_TokenActivitySummaryRequest(buffer_arg) {
404
+ return proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummaryRequest.deserializeBinary(new Uint8Array(buffer_arg));
405
+ }
406
+
297
407
  function serialize_gateway_web_v1_UpdatePrincipalRequest(arg) {
298
408
  if (!(arg instanceof proto_gateway_web_v1_ai_gateway_pb.UpdatePrincipalRequest)) {
299
409
  throw new Error('Expected argument of type gateway.web.v1.UpdatePrincipalRequest');
@@ -317,14 +427,13 @@ function deserialize_gateway_web_v1_UpdatePrincipalResponse(buffer_arg) {
317
427
  }
318
428
 
319
429
 
320
- // AIGatewayService is the frontend-facing proxy over telemetry.api.v1.AIService:
321
- // the AI session catalog, one session's conversational replay, the principal
322
- // id->name catalog (read + alias write), and the global model-price catalog. A thin proxy — it resolves the caller's
323
- // identity, stamps the authorized organization/project, and forwards. Messages
324
- // duplicate the telemetry-api shape (proto domain isolation); unary responses
325
- // carry ResponseStatus, streams do not.
430
+ // AIGatewayService is the frontend-facing proxy over telemetry.api.v1.AIService.
431
+ // It stamps the authorized organization/project and forwards telemetry-api-shaped messages.
326
432
  var AIGatewayServiceService = exports.AIGatewayServiceService = {
327
- listSessions: {
433
+ // One numbered page of the conversation catalog (sessions folded to
434
+ // one rollup by source_system + session_id), ranked by sort. Weakly consistent
435
+ // (latest-state, no frozen snapshot).
436
+ listSessions: {
328
437
  path: '/gateway.web.v1.AIGatewayService/ListSessions',
329
438
  requestStream: false,
330
439
  responseStream: false,
@@ -335,23 +444,30 @@ var AIGatewayServiceService = exports.AIGatewayServiceService = {
335
444
  responseSerialize: serialize_gateway_web_v1_ListSessionsResponse,
336
445
  responseDeserialize: deserialize_gateway_web_v1_ListSessionsResponse,
337
446
  },
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.
447
+ // Keeps the first conversation page live: the whole top-N page re-derived each tick
448
+ // as one SessionsSnapshot, replacing client state wholesale (not a delta feed).
345
449
  streamSessions: {
346
450
  path: '/gateway.web.v1.AIGatewayService/StreamSessions',
347
451
  requestStream: false,
348
452
  responseStream: true,
349
453
  requestType: proto_gateway_web_v1_ai_gateway_pb.StreamSessionsRequest,
350
- responseType: proto_gateway_web_v1_ai_gateway_pb.SessionFrame,
454
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionsSnapshot,
351
455
  requestSerialize: serialize_gateway_web_v1_StreamSessionsRequest,
352
456
  requestDeserialize: deserialize_gateway_web_v1_StreamSessionsRequest,
353
- responseSerialize: serialize_gateway_web_v1_SessionFrame,
354
- responseDeserialize: deserialize_gateway_web_v1_SessionFrame,
457
+ responseSerialize: serialize_gateway_web_v1_SessionsSnapshot,
458
+ responseDeserialize: deserialize_gateway_web_v1_SessionsSnapshot,
459
+ },
460
+ // Live sidebar rollup (session_id + source_system): re-derived and re-emitted whole each tick.
461
+ streamSessionSummary: {
462
+ path: '/gateway.web.v1.AIGatewayService/StreamSessionSummary',
463
+ requestStream: false,
464
+ responseStream: true,
465
+ requestType: proto_gateway_web_v1_ai_gateway_pb.GetSessionSummaryRequest,
466
+ responseType: proto_gateway_web_v1_ai_gateway_pb.AISessionSummary,
467
+ requestSerialize: serialize_gateway_web_v1_GetSessionSummaryRequest,
468
+ requestDeserialize: deserialize_gateway_web_v1_GetSessionSummaryRequest,
469
+ responseSerialize: serialize_gateway_web_v1_AISessionSummary,
470
+ responseDeserialize: deserialize_gateway_web_v1_AISessionSummary,
355
471
  },
356
472
  listSessionEvents: {
357
473
  path: '/gateway.web.v1.AIGatewayService/ListSessionEvents',
@@ -375,6 +491,31 @@ streamSessions: {
375
491
  responseSerialize: serialize_gateway_web_v1_AISessionEventEnvelope,
376
492
  responseDeserialize: deserialize_gateway_web_v1_AISessionEventEnvelope,
377
493
  },
494
+ // Live, backend-computed, per-event token series for one session (replacement snapshots):
495
+ // one content-free point per logical event + whole-session totals; point count is capped.
496
+ streamSessionTokenTimeline: {
497
+ path: '/gateway.web.v1.AIGatewayService/StreamSessionTokenTimeline',
498
+ requestStream: false,
499
+ responseStream: true,
500
+ requestType: proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimelineRequest,
501
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionTokenTimeline,
502
+ requestSerialize: serialize_gateway_web_v1_SessionTokenTimelineRequest,
503
+ requestDeserialize: deserialize_gateway_web_v1_SessionTokenTimelineRequest,
504
+ responseSerialize: serialize_gateway_web_v1_SessionTokenTimeline,
505
+ responseDeserialize: deserialize_gateway_web_v1_SessionTokenTimeline,
506
+ },
507
+ // Live "Files changed" card: per file the latest-observed git change-type + exact --numstat churn.
508
+ streamSessionFileChanges: {
509
+ path: '/gateway.web.v1.AIGatewayService/StreamSessionFileChanges',
510
+ requestStream: false,
511
+ responseStream: true,
512
+ requestType: proto_gateway_web_v1_ai_gateway_pb.SessionFileChangesRequest,
513
+ responseType: proto_gateway_web_v1_ai_gateway_pb.SessionFileChanges,
514
+ requestSerialize: serialize_gateway_web_v1_SessionFileChangesRequest,
515
+ requestDeserialize: deserialize_gateway_web_v1_SessionFileChangesRequest,
516
+ responseSerialize: serialize_gateway_web_v1_SessionFileChanges,
517
+ responseDeserialize: deserialize_gateway_web_v1_SessionFileChanges,
518
+ },
378
519
  listPrincipals: {
379
520
  path: '/gateway.web.v1.AIGatewayService/ListPrincipals',
380
521
  requestStream: false,
@@ -422,20 +563,8 @@ streamGitActivities: {
422
563
  responseSerialize: serialize_gateway_web_v1_GitActivityFrame,
423
564
  responseDeserialize: deserialize_gateway_web_v1_GitActivityFrame,
424
565
  },
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.
566
+ // Live stream of the git dashboard's overview: a full windowed, dimension-sliced rollup of the filtered
567
+ // git activities (whole-window totals ride each frame), re-derived each tick.
439
568
  streamGitActivitySummary: {
440
569
  path: '/gateway.web.v1.AIGatewayService/StreamGitActivitySummary',
441
570
  requestStream: false,
@@ -447,41 +576,70 @@ streamGitActivitySummary: {
447
576
  responseSerialize: serialize_gateway_web_v1_GitActivitySummary,
448
577
  responseDeserialize: deserialize_gateway_web_v1_GitActivitySummary,
449
578
  },
450
- // Per-file working-state feed (keyset-paginated) behind the unlanded-work funnel.
451
- listFileStates: {
452
- path: '/gateway.web.v1.AIGatewayService/ListFileStates',
579
+ // Live token burn calendar: a windowed, dimension-sliced token/cost trend series
580
+ // plus whole-window totals.
581
+ streamTokenActivitySummary: {
582
+ path: '/gateway.web.v1.AIGatewayService/StreamTokenActivitySummary',
453
583
  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,
584
+ responseStream: true,
585
+ requestType: proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummaryRequest,
586
+ responseType: proto_gateway_web_v1_ai_gateway_pb.TokenActivitySummary,
587
+ requestSerialize: serialize_gateway_web_v1_TokenActivitySummaryRequest,
588
+ requestDeserialize: deserialize_gateway_web_v1_TokenActivitySummaryRequest,
589
+ responseSerialize: serialize_gateway_web_v1_TokenActivitySummary,
590
+ responseDeserialize: deserialize_gateway_web_v1_TokenActivitySummary,
591
+ },
592
+ // Live token-burn calendar over an inclusive UTC [start_date, end_date] range: one complete row per
593
+ // covered day off the precomputed daily rollup. Covered empty days are zero; uncomputed history is
594
+ // omitted; today is provisional.
595
+ streamDailyActivity: {
596
+ path: '/gateway.web.v1.AIGatewayService/StreamDailyActivity',
597
+ requestStream: false,
598
+ responseStream: true,
599
+ requestType: proto_gateway_web_v1_ai_gateway_pb.DailyActivityRequest,
600
+ responseType: proto_gateway_web_v1_ai_gateway_pb.DailyActivity,
601
+ requestSerialize: serialize_gateway_web_v1_DailyActivityRequest,
602
+ requestDeserialize: deserialize_gateway_web_v1_DailyActivityRequest,
603
+ responseSerialize: serialize_gateway_web_v1_DailyActivity,
604
+ responseDeserialize: deserialize_gateway_web_v1_DailyActivity,
461
605
  },
462
- // The unlanded-work funnel: aging tiers + discarded (git-invisible churn), observed vs unverified.
463
- getFileStateSummary: {
464
- path: '/gateway.web.v1.AIGatewayService/GetFileStateSummary',
606
+ // Live stream of one project's dashboard bundle: headline totals, model/provider/source mix,
607
+ // and top sessions by cost.
608
+ streamProjectOverview: {
609
+ path: '/gateway.web.v1.AIGatewayService/StreamProjectOverview',
610
+ requestStream: false,
611
+ responseStream: true,
612
+ requestType: proto_gateway_web_v1_ai_gateway_pb.ProjectOverviewRequest,
613
+ responseType: proto_gateway_web_v1_ai_gateway_pb.ProjectOverview,
614
+ requestSerialize: serialize_gateway_web_v1_ProjectOverviewRequest,
615
+ requestDeserialize: deserialize_gateway_web_v1_ProjectOverviewRequest,
616
+ responseSerialize: serialize_gateway_web_v1_ProjectOverview,
617
+ responseDeserialize: deserialize_gateway_web_v1_ProjectOverview,
618
+ },
619
+ // Per-file working-state feed (keyset-paginated) behind the unlanded-work funnel.
620
+ listFiles: {
621
+ path: '/gateway.web.v1.AIGatewayService/ListFiles',
465
622
  requestStream: false,
466
623
  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,
624
+ requestType: proto_gateway_web_v1_ai_gateway_pb.ListFilesRequest,
625
+ responseType: proto_gateway_web_v1_ai_gateway_pb.ListFilesResponse,
626
+ requestSerialize: serialize_gateway_web_v1_ListFilesRequest,
627
+ requestDeserialize: deserialize_gateway_web_v1_ListFilesRequest,
628
+ responseSerialize: serialize_gateway_web_v1_ListFilesResponse,
629
+ responseDeserialize: deserialize_gateway_web_v1_ListFilesResponse,
473
630
  },
474
- // Live stream of the funnel: a complete snapshot re-derived each tick.
475
- streamFileStateSummary: {
476
- path: '/gateway.web.v1.AIGatewayService/StreamFileStateSummary',
631
+ // Live stream of the unlanded-work funnel: aging tiers + discarded (git-invisible churn), observed vs
632
+ // unverified, a complete snapshot re-derived each tick.
633
+ streamFilesSummary: {
634
+ path: '/gateway.web.v1.AIGatewayService/StreamFilesSummary',
477
635
  requestStream: false,
478
636
  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,
637
+ requestType: proto_gateway_web_v1_ai_gateway_pb.FilesSummaryRequest,
638
+ responseType: proto_gateway_web_v1_ai_gateway_pb.FilesSummary,
639
+ requestSerialize: serialize_gateway_web_v1_FilesSummaryRequest,
640
+ requestDeserialize: deserialize_gateway_web_v1_FilesSummaryRequest,
641
+ responseSerialize: serialize_gateway_web_v1_FilesSummary,
642
+ responseDeserialize: deserialize_gateway_web_v1_FilesSummary,
485
643
  },
486
644
  // Latest observed list price per (source, provider, model) from the global catalog.
487
645
  listModelPrices: {