@miradorlabs/web-grpc 2.39.0 → 2.42.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.
@@ -304,7 +304,19 @@ export interface AISession {
304
304
  filesTouched: number;
305
305
  }
306
306
 
307
- export interface StreamSessionRequest {
307
+ export interface ListSessionEventsRequest {
308
+ organizationId: string;
309
+ projectId: string;
310
+ routingKey: string;
311
+ sourceSystem: string;
312
+ }
313
+
314
+ export interface ListSessionEventsResponse {
315
+ status: ResponseStatus | undefined;
316
+ events: AISessionEvent[];
317
+ }
318
+
319
+ export interface StreamSessionEventsRequest {
308
320
  organizationId: string;
309
321
  projectId: string;
310
322
  routingKey: string;
@@ -392,6 +404,27 @@ export interface ListGitActivitiesResponse {
392
404
  activities: AIGitActivity[];
393
405
  }
394
406
 
407
+ export interface StreamGitActivitiesRequest {
408
+ organizationId: string;
409
+ projectId: string;
410
+ routingKey: string;
411
+ sourceSystem: string;
412
+ }
413
+
414
+ /**
415
+ * GitActivityFrame mirrors telemetry.api.v1.GitActivityFrame: an UPSERT of one
416
+ * activity's latest coalesced state (replace by activity_id, re-sort by
417
+ * event_time) or a nonterminal GitActivitiesSnapshotCompleted. Streams carry no
418
+ * ResponseStatus.
419
+ */
420
+ export interface GitActivityFrame {
421
+ upsert?: AIGitActivity | undefined;
422
+ snapshotCompleted?: GitActivitiesSnapshotCompleted | undefined;
423
+ }
424
+
425
+ export interface GitActivitiesSnapshotCompleted {
426
+ }
427
+
395
428
  export interface AIGitActivity {
396
429
  eventTime: Date | undefined;
397
430
  sourceSystem: string;
@@ -401,10 +434,28 @@ export interface AIGitActivity {
401
434
  outcome: AIGitOutcome;
402
435
  ownerKey: string;
403
436
  repositoryKey: string;
404
- refName: string;
405
- commitSha: string;
437
+ remoteName: string;
438
+ remoteUrl: string;
439
+ sourceRef: string;
440
+ destRef: string;
441
+ stdoutCommitSha: string;
442
+ structuredCommitId: string;
443
+ pushOldSha: string;
444
+ pushNewSha: string;
445
+ messageHeadline: string;
446
+ filesChanged: number;
447
+ insertions: number;
448
+ deletions: number;
449
+ flags: string[];
450
+ aiCoAuthored: boolean;
406
451
  pullRequestNumber: number;
407
452
  pullRequestUrl: string;
453
+ prState: string;
454
+ prBaseRef: string;
455
+ prHeadRef: string;
456
+ mergeCommitSha: string;
457
+ /** UPSERT key for StreamGitActivities; clients replace by it */
458
+ activityId: string;
408
459
  }
409
460
 
410
461
  export interface AITokenUsage {
@@ -1385,12 +1436,232 @@ export const AISession: MessageFns<AISession> = {
1385
1436
  },
1386
1437
  };
1387
1438
 
1388
- function createBaseStreamSessionRequest(): StreamSessionRequest {
1439
+ function createBaseListSessionEventsRequest(): ListSessionEventsRequest {
1440
+ return { organizationId: "", projectId: "", routingKey: "", sourceSystem: "" };
1441
+ }
1442
+
1443
+ export const ListSessionEventsRequest: MessageFns<ListSessionEventsRequest> = {
1444
+ encode(message: ListSessionEventsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1445
+ if (message.organizationId !== "") {
1446
+ writer.uint32(10).string(message.organizationId);
1447
+ }
1448
+ if (message.projectId !== "") {
1449
+ writer.uint32(18).string(message.projectId);
1450
+ }
1451
+ if (message.routingKey !== "") {
1452
+ writer.uint32(26).string(message.routingKey);
1453
+ }
1454
+ if (message.sourceSystem !== "") {
1455
+ writer.uint32(34).string(message.sourceSystem);
1456
+ }
1457
+ return writer;
1458
+ },
1459
+
1460
+ decode(input: BinaryReader | Uint8Array, length?: number): ListSessionEventsRequest {
1461
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1462
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1463
+ if (previousRecursionDepth >= 100) {
1464
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1465
+ }
1466
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1467
+ try {
1468
+ const end = length === undefined ? reader.len : reader.pos + length;
1469
+ const message = createBaseListSessionEventsRequest();
1470
+ while (reader.pos < end) {
1471
+ const tag = reader.uint32();
1472
+ switch (tag >>> 3) {
1473
+ case 1: {
1474
+ if (tag !== 10) {
1475
+ break;
1476
+ }
1477
+
1478
+ message.organizationId = reader.string();
1479
+ continue;
1480
+ }
1481
+ case 2: {
1482
+ if (tag !== 18) {
1483
+ break;
1484
+ }
1485
+
1486
+ message.projectId = reader.string();
1487
+ continue;
1488
+ }
1489
+ case 3: {
1490
+ if (tag !== 26) {
1491
+ break;
1492
+ }
1493
+
1494
+ message.routingKey = reader.string();
1495
+ continue;
1496
+ }
1497
+ case 4: {
1498
+ if (tag !== 34) {
1499
+ break;
1500
+ }
1501
+
1502
+ message.sourceSystem = reader.string();
1503
+ continue;
1504
+ }
1505
+ }
1506
+ if ((tag & 7) === 4 || tag === 0) {
1507
+ break;
1508
+ }
1509
+ reader.skip(tag & 7);
1510
+ }
1511
+ return message;
1512
+ } finally {
1513
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1514
+ }
1515
+ },
1516
+
1517
+ fromJSON(object: any): ListSessionEventsRequest {
1518
+ return {
1519
+ organizationId: isSet(object.organizationId)
1520
+ ? globalThis.String(object.organizationId)
1521
+ : isSet(object.organization_id)
1522
+ ? globalThis.String(object.organization_id)
1523
+ : "",
1524
+ projectId: isSet(object.projectId)
1525
+ ? globalThis.String(object.projectId)
1526
+ : isSet(object.project_id)
1527
+ ? globalThis.String(object.project_id)
1528
+ : "",
1529
+ routingKey: isSet(object.routingKey)
1530
+ ? globalThis.String(object.routingKey)
1531
+ : isSet(object.routing_key)
1532
+ ? globalThis.String(object.routing_key)
1533
+ : "",
1534
+ sourceSystem: isSet(object.sourceSystem)
1535
+ ? globalThis.String(object.sourceSystem)
1536
+ : isSet(object.source_system)
1537
+ ? globalThis.String(object.source_system)
1538
+ : "",
1539
+ };
1540
+ },
1541
+
1542
+ toJSON(message: ListSessionEventsRequest): unknown {
1543
+ const obj: any = {};
1544
+ if (message.organizationId !== "") {
1545
+ obj.organizationId = message.organizationId;
1546
+ }
1547
+ if (message.projectId !== "") {
1548
+ obj.projectId = message.projectId;
1549
+ }
1550
+ if (message.routingKey !== "") {
1551
+ obj.routingKey = message.routingKey;
1552
+ }
1553
+ if (message.sourceSystem !== "") {
1554
+ obj.sourceSystem = message.sourceSystem;
1555
+ }
1556
+ return obj;
1557
+ },
1558
+
1559
+ create<I extends Exact<DeepPartial<ListSessionEventsRequest>, I>>(base?: I): ListSessionEventsRequest {
1560
+ return ListSessionEventsRequest.fromPartial(base ?? ({} as any));
1561
+ },
1562
+ fromPartial<I extends Exact<DeepPartial<ListSessionEventsRequest>, I>>(object: I): ListSessionEventsRequest {
1563
+ const message = createBaseListSessionEventsRequest();
1564
+ message.organizationId = object.organizationId ?? "";
1565
+ message.projectId = object.projectId ?? "";
1566
+ message.routingKey = object.routingKey ?? "";
1567
+ message.sourceSystem = object.sourceSystem ?? "";
1568
+ return message;
1569
+ },
1570
+ };
1571
+
1572
+ function createBaseListSessionEventsResponse(): ListSessionEventsResponse {
1573
+ return { status: undefined, events: [] };
1574
+ }
1575
+
1576
+ export const ListSessionEventsResponse: MessageFns<ListSessionEventsResponse> = {
1577
+ encode(message: ListSessionEventsResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1578
+ if (message.status !== undefined) {
1579
+ ResponseStatus.encode(message.status, writer.uint32(10).fork()).join();
1580
+ }
1581
+ for (const v of message.events) {
1582
+ AISessionEvent.encode(v!, writer.uint32(18).fork()).join();
1583
+ }
1584
+ return writer;
1585
+ },
1586
+
1587
+ decode(input: BinaryReader | Uint8Array, length?: number): ListSessionEventsResponse {
1588
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1589
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1590
+ if (previousRecursionDepth >= 100) {
1591
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1592
+ }
1593
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1594
+ try {
1595
+ const end = length === undefined ? reader.len : reader.pos + length;
1596
+ const message = createBaseListSessionEventsResponse();
1597
+ while (reader.pos < end) {
1598
+ const tag = reader.uint32();
1599
+ switch (tag >>> 3) {
1600
+ case 1: {
1601
+ if (tag !== 10) {
1602
+ break;
1603
+ }
1604
+
1605
+ message.status = ResponseStatus.decode(reader, reader.uint32());
1606
+ continue;
1607
+ }
1608
+ case 2: {
1609
+ if (tag !== 18) {
1610
+ break;
1611
+ }
1612
+
1613
+ message.events.push(AISessionEvent.decode(reader, reader.uint32()));
1614
+ continue;
1615
+ }
1616
+ }
1617
+ if ((tag & 7) === 4 || tag === 0) {
1618
+ break;
1619
+ }
1620
+ reader.skip(tag & 7);
1621
+ }
1622
+ return message;
1623
+ } finally {
1624
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
1625
+ }
1626
+ },
1627
+
1628
+ fromJSON(object: any): ListSessionEventsResponse {
1629
+ return {
1630
+ status: isSet(object.status) ? ResponseStatus.fromJSON(object.status) : undefined,
1631
+ events: globalThis.Array.isArray(object?.events) ? object.events.map((e: any) => AISessionEvent.fromJSON(e)) : [],
1632
+ };
1633
+ },
1634
+
1635
+ toJSON(message: ListSessionEventsResponse): unknown {
1636
+ const obj: any = {};
1637
+ if (message.status !== undefined) {
1638
+ obj.status = ResponseStatus.toJSON(message.status);
1639
+ }
1640
+ if (message.events?.length) {
1641
+ obj.events = message.events.map((e) => AISessionEvent.toJSON(e));
1642
+ }
1643
+ return obj;
1644
+ },
1645
+
1646
+ create<I extends Exact<DeepPartial<ListSessionEventsResponse>, I>>(base?: I): ListSessionEventsResponse {
1647
+ return ListSessionEventsResponse.fromPartial(base ?? ({} as any));
1648
+ },
1649
+ fromPartial<I extends Exact<DeepPartial<ListSessionEventsResponse>, I>>(object: I): ListSessionEventsResponse {
1650
+ const message = createBaseListSessionEventsResponse();
1651
+ message.status = (object.status !== undefined && object.status !== null)
1652
+ ? ResponseStatus.fromPartial(object.status)
1653
+ : undefined;
1654
+ message.events = object.events?.map((e) => AISessionEvent.fromPartial(e)) || [];
1655
+ return message;
1656
+ },
1657
+ };
1658
+
1659
+ function createBaseStreamSessionEventsRequest(): StreamSessionEventsRequest {
1389
1660
  return { organizationId: "", projectId: "", routingKey: "", sourceSystem: "" };
1390
1661
  }
1391
1662
 
1392
- export const StreamSessionRequest: MessageFns<StreamSessionRequest> = {
1393
- encode(message: StreamSessionRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1663
+ export const StreamSessionEventsRequest: MessageFns<StreamSessionEventsRequest> = {
1664
+ encode(message: StreamSessionEventsRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
1394
1665
  if (message.organizationId !== "") {
1395
1666
  writer.uint32(10).string(message.organizationId);
1396
1667
  }
@@ -1406,7 +1677,7 @@ export const StreamSessionRequest: MessageFns<StreamSessionRequest> = {
1406
1677
  return writer;
1407
1678
  },
1408
1679
 
1409
- decode(input: BinaryReader | Uint8Array, length?: number): StreamSessionRequest {
1680
+ decode(input: BinaryReader | Uint8Array, length?: number): StreamSessionEventsRequest {
1410
1681
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
1411
1682
  const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
1412
1683
  if (previousRecursionDepth >= 100) {
@@ -1415,7 +1686,7 @@ export const StreamSessionRequest: MessageFns<StreamSessionRequest> = {
1415
1686
  (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
1416
1687
  try {
1417
1688
  const end = length === undefined ? reader.len : reader.pos + length;
1418
- const message = createBaseStreamSessionRequest();
1689
+ const message = createBaseStreamSessionEventsRequest();
1419
1690
  while (reader.pos < end) {
1420
1691
  const tag = reader.uint32();
1421
1692
  switch (tag >>> 3) {
@@ -1463,7 +1734,7 @@ export const StreamSessionRequest: MessageFns<StreamSessionRequest> = {
1463
1734
  }
1464
1735
  },
1465
1736
 
1466
- fromJSON(object: any): StreamSessionRequest {
1737
+ fromJSON(object: any): StreamSessionEventsRequest {
1467
1738
  return {
1468
1739
  organizationId: isSet(object.organizationId)
1469
1740
  ? globalThis.String(object.organizationId)
@@ -1488,7 +1759,7 @@ export const StreamSessionRequest: MessageFns<StreamSessionRequest> = {
1488
1759
  };
1489
1760
  },
1490
1761
 
1491
- toJSON(message: StreamSessionRequest): unknown {
1762
+ toJSON(message: StreamSessionEventsRequest): unknown {
1492
1763
  const obj: any = {};
1493
1764
  if (message.organizationId !== "") {
1494
1765
  obj.organizationId = message.organizationId;
@@ -1505,11 +1776,11 @@ export const StreamSessionRequest: MessageFns<StreamSessionRequest> = {
1505
1776
  return obj;
1506
1777
  },
1507
1778
 
1508
- create<I extends Exact<DeepPartial<StreamSessionRequest>, I>>(base?: I): StreamSessionRequest {
1509
- return StreamSessionRequest.fromPartial(base ?? ({} as any));
1779
+ create<I extends Exact<DeepPartial<StreamSessionEventsRequest>, I>>(base?: I): StreamSessionEventsRequest {
1780
+ return StreamSessionEventsRequest.fromPartial(base ?? ({} as any));
1510
1781
  },
1511
- fromPartial<I extends Exact<DeepPartial<StreamSessionRequest>, I>>(object: I): StreamSessionRequest {
1512
- const message = createBaseStreamSessionRequest();
1782
+ fromPartial<I extends Exact<DeepPartial<StreamSessionEventsRequest>, I>>(object: I): StreamSessionEventsRequest {
1783
+ const message = createBaseStreamSessionEventsRequest();
1513
1784
  message.organizationId = object.organizationId ?? "";
1514
1785
  message.projectId = object.projectId ?? "";
1515
1786
  message.routingKey = object.routingKey ?? "";
@@ -3000,60 +3271,406 @@ export const ListGitActivitiesResponse: MessageFns<ListGitActivitiesResponse> =
3000
3271
  },
3001
3272
  };
3002
3273
 
3003
- function createBaseAIGitActivity(): AIGitActivity {
3004
- return {
3005
- eventTime: undefined,
3006
- sourceSystem: "",
3007
- sessionId: "",
3008
- toolCallId: "",
3009
- action: 0,
3010
- outcome: 0,
3011
- ownerKey: "",
3012
- repositoryKey: "",
3013
- refName: "",
3014
- commitSha: "",
3015
- pullRequestNumber: 0,
3016
- pullRequestUrl: "",
3017
- };
3274
+ function createBaseStreamGitActivitiesRequest(): StreamGitActivitiesRequest {
3275
+ return { organizationId: "", projectId: "", routingKey: "", sourceSystem: "" };
3018
3276
  }
3019
3277
 
3020
- export const AIGitActivity: MessageFns<AIGitActivity> = {
3021
- encode(message: AIGitActivity, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3022
- if (message.eventTime !== undefined) {
3023
- Timestamp.encode(toTimestamp(message.eventTime), writer.uint32(10).fork()).join();
3024
- }
3025
- if (message.sourceSystem !== "") {
3026
- writer.uint32(18).string(message.sourceSystem);
3278
+ export const StreamGitActivitiesRequest: MessageFns<StreamGitActivitiesRequest> = {
3279
+ encode(message: StreamGitActivitiesRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3280
+ if (message.organizationId !== "") {
3281
+ writer.uint32(10).string(message.organizationId);
3027
3282
  }
3028
- if (message.sessionId !== "") {
3029
- writer.uint32(26).string(message.sessionId);
3283
+ if (message.projectId !== "") {
3284
+ writer.uint32(18).string(message.projectId);
3030
3285
  }
3031
- if (message.toolCallId !== "") {
3032
- writer.uint32(34).string(message.toolCallId);
3286
+ if (message.routingKey !== "") {
3287
+ writer.uint32(26).string(message.routingKey);
3033
3288
  }
3034
- if (message.action !== 0) {
3035
- writer.uint32(40).int32(message.action);
3289
+ if (message.sourceSystem !== "") {
3290
+ writer.uint32(34).string(message.sourceSystem);
3036
3291
  }
3037
- if (message.outcome !== 0) {
3038
- writer.uint32(48).int32(message.outcome);
3292
+ return writer;
3293
+ },
3294
+
3295
+ decode(input: BinaryReader | Uint8Array, length?: number): StreamGitActivitiesRequest {
3296
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3297
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
3298
+ if (previousRecursionDepth >= 100) {
3299
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3039
3300
  }
3040
- if (message.ownerKey !== "") {
3301
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
3302
+ try {
3303
+ const end = length === undefined ? reader.len : reader.pos + length;
3304
+ const message = createBaseStreamGitActivitiesRequest();
3305
+ while (reader.pos < end) {
3306
+ const tag = reader.uint32();
3307
+ switch (tag >>> 3) {
3308
+ case 1: {
3309
+ if (tag !== 10) {
3310
+ break;
3311
+ }
3312
+
3313
+ message.organizationId = reader.string();
3314
+ continue;
3315
+ }
3316
+ case 2: {
3317
+ if (tag !== 18) {
3318
+ break;
3319
+ }
3320
+
3321
+ message.projectId = reader.string();
3322
+ continue;
3323
+ }
3324
+ case 3: {
3325
+ if (tag !== 26) {
3326
+ break;
3327
+ }
3328
+
3329
+ message.routingKey = reader.string();
3330
+ continue;
3331
+ }
3332
+ case 4: {
3333
+ if (tag !== 34) {
3334
+ break;
3335
+ }
3336
+
3337
+ message.sourceSystem = reader.string();
3338
+ continue;
3339
+ }
3340
+ }
3341
+ if ((tag & 7) === 4 || tag === 0) {
3342
+ break;
3343
+ }
3344
+ reader.skip(tag & 7);
3345
+ }
3346
+ return message;
3347
+ } finally {
3348
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3349
+ }
3350
+ },
3351
+
3352
+ fromJSON(object: any): StreamGitActivitiesRequest {
3353
+ return {
3354
+ organizationId: isSet(object.organizationId)
3355
+ ? globalThis.String(object.organizationId)
3356
+ : isSet(object.organization_id)
3357
+ ? globalThis.String(object.organization_id)
3358
+ : "",
3359
+ projectId: isSet(object.projectId)
3360
+ ? globalThis.String(object.projectId)
3361
+ : isSet(object.project_id)
3362
+ ? globalThis.String(object.project_id)
3363
+ : "",
3364
+ routingKey: isSet(object.routingKey)
3365
+ ? globalThis.String(object.routingKey)
3366
+ : isSet(object.routing_key)
3367
+ ? globalThis.String(object.routing_key)
3368
+ : "",
3369
+ sourceSystem: isSet(object.sourceSystem)
3370
+ ? globalThis.String(object.sourceSystem)
3371
+ : isSet(object.source_system)
3372
+ ? globalThis.String(object.source_system)
3373
+ : "",
3374
+ };
3375
+ },
3376
+
3377
+ toJSON(message: StreamGitActivitiesRequest): unknown {
3378
+ const obj: any = {};
3379
+ if (message.organizationId !== "") {
3380
+ obj.organizationId = message.organizationId;
3381
+ }
3382
+ if (message.projectId !== "") {
3383
+ obj.projectId = message.projectId;
3384
+ }
3385
+ if (message.routingKey !== "") {
3386
+ obj.routingKey = message.routingKey;
3387
+ }
3388
+ if (message.sourceSystem !== "") {
3389
+ obj.sourceSystem = message.sourceSystem;
3390
+ }
3391
+ return obj;
3392
+ },
3393
+
3394
+ create<I extends Exact<DeepPartial<StreamGitActivitiesRequest>, I>>(base?: I): StreamGitActivitiesRequest {
3395
+ return StreamGitActivitiesRequest.fromPartial(base ?? ({} as any));
3396
+ },
3397
+ fromPartial<I extends Exact<DeepPartial<StreamGitActivitiesRequest>, I>>(object: I): StreamGitActivitiesRequest {
3398
+ const message = createBaseStreamGitActivitiesRequest();
3399
+ message.organizationId = object.organizationId ?? "";
3400
+ message.projectId = object.projectId ?? "";
3401
+ message.routingKey = object.routingKey ?? "";
3402
+ message.sourceSystem = object.sourceSystem ?? "";
3403
+ return message;
3404
+ },
3405
+ };
3406
+
3407
+ function createBaseGitActivityFrame(): GitActivityFrame {
3408
+ return { upsert: undefined, snapshotCompleted: undefined };
3409
+ }
3410
+
3411
+ export const GitActivityFrame: MessageFns<GitActivityFrame> = {
3412
+ encode(message: GitActivityFrame, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3413
+ if (message.upsert !== undefined) {
3414
+ AIGitActivity.encode(message.upsert, writer.uint32(10).fork()).join();
3415
+ }
3416
+ if (message.snapshotCompleted !== undefined) {
3417
+ GitActivitiesSnapshotCompleted.encode(message.snapshotCompleted, writer.uint32(18).fork()).join();
3418
+ }
3419
+ return writer;
3420
+ },
3421
+
3422
+ decode(input: BinaryReader | Uint8Array, length?: number): GitActivityFrame {
3423
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3424
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
3425
+ if (previousRecursionDepth >= 100) {
3426
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3427
+ }
3428
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
3429
+ try {
3430
+ const end = length === undefined ? reader.len : reader.pos + length;
3431
+ const message = createBaseGitActivityFrame();
3432
+ while (reader.pos < end) {
3433
+ const tag = reader.uint32();
3434
+ switch (tag >>> 3) {
3435
+ case 1: {
3436
+ if (tag !== 10) {
3437
+ break;
3438
+ }
3439
+
3440
+ message.upsert = AIGitActivity.decode(reader, reader.uint32());
3441
+ continue;
3442
+ }
3443
+ case 2: {
3444
+ if (tag !== 18) {
3445
+ break;
3446
+ }
3447
+
3448
+ message.snapshotCompleted = GitActivitiesSnapshotCompleted.decode(reader, reader.uint32());
3449
+ continue;
3450
+ }
3451
+ }
3452
+ if ((tag & 7) === 4 || tag === 0) {
3453
+ break;
3454
+ }
3455
+ reader.skip(tag & 7);
3456
+ }
3457
+ return message;
3458
+ } finally {
3459
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3460
+ }
3461
+ },
3462
+
3463
+ fromJSON(object: any): GitActivityFrame {
3464
+ return {
3465
+ upsert: isSet(object.upsert) ? AIGitActivity.fromJSON(object.upsert) : undefined,
3466
+ snapshotCompleted: isSet(object.snapshotCompleted)
3467
+ ? GitActivitiesSnapshotCompleted.fromJSON(object.snapshotCompleted)
3468
+ : isSet(object.snapshot_completed)
3469
+ ? GitActivitiesSnapshotCompleted.fromJSON(object.snapshot_completed)
3470
+ : undefined,
3471
+ };
3472
+ },
3473
+
3474
+ toJSON(message: GitActivityFrame): unknown {
3475
+ const obj: any = {};
3476
+ if (message.upsert !== undefined) {
3477
+ obj.upsert = AIGitActivity.toJSON(message.upsert);
3478
+ }
3479
+ if (message.snapshotCompleted !== undefined) {
3480
+ obj.snapshotCompleted = GitActivitiesSnapshotCompleted.toJSON(message.snapshotCompleted);
3481
+ }
3482
+ return obj;
3483
+ },
3484
+
3485
+ create<I extends Exact<DeepPartial<GitActivityFrame>, I>>(base?: I): GitActivityFrame {
3486
+ return GitActivityFrame.fromPartial(base ?? ({} as any));
3487
+ },
3488
+ fromPartial<I extends Exact<DeepPartial<GitActivityFrame>, I>>(object: I): GitActivityFrame {
3489
+ const message = createBaseGitActivityFrame();
3490
+ message.upsert = (object.upsert !== undefined && object.upsert !== null)
3491
+ ? AIGitActivity.fromPartial(object.upsert)
3492
+ : undefined;
3493
+ message.snapshotCompleted = (object.snapshotCompleted !== undefined && object.snapshotCompleted !== null)
3494
+ ? GitActivitiesSnapshotCompleted.fromPartial(object.snapshotCompleted)
3495
+ : undefined;
3496
+ return message;
3497
+ },
3498
+ };
3499
+
3500
+ function createBaseGitActivitiesSnapshotCompleted(): GitActivitiesSnapshotCompleted {
3501
+ return {};
3502
+ }
3503
+
3504
+ export const GitActivitiesSnapshotCompleted: MessageFns<GitActivitiesSnapshotCompleted> = {
3505
+ encode(_: GitActivitiesSnapshotCompleted, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3506
+ return writer;
3507
+ },
3508
+
3509
+ decode(input: BinaryReader | Uint8Array, length?: number): GitActivitiesSnapshotCompleted {
3510
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3511
+ const previousRecursionDepth = (reader as any).__tsProtoDecodeDepth ?? 0;
3512
+ if (previousRecursionDepth >= 100) {
3513
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3514
+ }
3515
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth + 1;
3516
+ try {
3517
+ const end = length === undefined ? reader.len : reader.pos + length;
3518
+ const message = createBaseGitActivitiesSnapshotCompleted();
3519
+ while (reader.pos < end) {
3520
+ const tag = reader.uint32();
3521
+ switch (tag >>> 3) {
3522
+ }
3523
+ if ((tag & 7) === 4 || tag === 0) {
3524
+ break;
3525
+ }
3526
+ reader.skip(tag & 7);
3527
+ }
3528
+ return message;
3529
+ } finally {
3530
+ (reader as any).__tsProtoDecodeDepth = previousRecursionDepth;
3531
+ }
3532
+ },
3533
+
3534
+ fromJSON(_: any): GitActivitiesSnapshotCompleted {
3535
+ return {};
3536
+ },
3537
+
3538
+ toJSON(_: GitActivitiesSnapshotCompleted): unknown {
3539
+ const obj: any = {};
3540
+ return obj;
3541
+ },
3542
+
3543
+ create<I extends Exact<DeepPartial<GitActivitiesSnapshotCompleted>, I>>(base?: I): GitActivitiesSnapshotCompleted {
3544
+ return GitActivitiesSnapshotCompleted.fromPartial(base ?? ({} as any));
3545
+ },
3546
+ fromPartial<I extends Exact<DeepPartial<GitActivitiesSnapshotCompleted>, I>>(_: I): GitActivitiesSnapshotCompleted {
3547
+ const message = createBaseGitActivitiesSnapshotCompleted();
3548
+ return message;
3549
+ },
3550
+ };
3551
+
3552
+ function createBaseAIGitActivity(): AIGitActivity {
3553
+ return {
3554
+ eventTime: undefined,
3555
+ sourceSystem: "",
3556
+ sessionId: "",
3557
+ toolCallId: "",
3558
+ action: 0,
3559
+ outcome: 0,
3560
+ ownerKey: "",
3561
+ repositoryKey: "",
3562
+ remoteName: "",
3563
+ remoteUrl: "",
3564
+ sourceRef: "",
3565
+ destRef: "",
3566
+ stdoutCommitSha: "",
3567
+ structuredCommitId: "",
3568
+ pushOldSha: "",
3569
+ pushNewSha: "",
3570
+ messageHeadline: "",
3571
+ filesChanged: 0,
3572
+ insertions: 0,
3573
+ deletions: 0,
3574
+ flags: [],
3575
+ aiCoAuthored: false,
3576
+ pullRequestNumber: 0,
3577
+ pullRequestUrl: "",
3578
+ prState: "",
3579
+ prBaseRef: "",
3580
+ prHeadRef: "",
3581
+ mergeCommitSha: "",
3582
+ activityId: "",
3583
+ };
3584
+ }
3585
+
3586
+ export const AIGitActivity: MessageFns<AIGitActivity> = {
3587
+ encode(message: AIGitActivity, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
3588
+ if (message.eventTime !== undefined) {
3589
+ Timestamp.encode(toTimestamp(message.eventTime), writer.uint32(10).fork()).join();
3590
+ }
3591
+ if (message.sourceSystem !== "") {
3592
+ writer.uint32(18).string(message.sourceSystem);
3593
+ }
3594
+ if (message.sessionId !== "") {
3595
+ writer.uint32(26).string(message.sessionId);
3596
+ }
3597
+ if (message.toolCallId !== "") {
3598
+ writer.uint32(34).string(message.toolCallId);
3599
+ }
3600
+ if (message.action !== 0) {
3601
+ writer.uint32(40).int32(message.action);
3602
+ }
3603
+ if (message.outcome !== 0) {
3604
+ writer.uint32(48).int32(message.outcome);
3605
+ }
3606
+ if (message.ownerKey !== "") {
3041
3607
  writer.uint32(58).string(message.ownerKey);
3042
3608
  }
3043
3609
  if (message.repositoryKey !== "") {
3044
3610
  writer.uint32(66).string(message.repositoryKey);
3045
3611
  }
3046
- if (message.refName !== "") {
3047
- writer.uint32(74).string(message.refName);
3612
+ if (message.remoteName !== "") {
3613
+ writer.uint32(74).string(message.remoteName);
3614
+ }
3615
+ if (message.remoteUrl !== "") {
3616
+ writer.uint32(82).string(message.remoteUrl);
3617
+ }
3618
+ if (message.sourceRef !== "") {
3619
+ writer.uint32(90).string(message.sourceRef);
3620
+ }
3621
+ if (message.destRef !== "") {
3622
+ writer.uint32(98).string(message.destRef);
3623
+ }
3624
+ if (message.stdoutCommitSha !== "") {
3625
+ writer.uint32(106).string(message.stdoutCommitSha);
3626
+ }
3627
+ if (message.structuredCommitId !== "") {
3628
+ writer.uint32(114).string(message.structuredCommitId);
3629
+ }
3630
+ if (message.pushOldSha !== "") {
3631
+ writer.uint32(122).string(message.pushOldSha);
3632
+ }
3633
+ if (message.pushNewSha !== "") {
3634
+ writer.uint32(130).string(message.pushNewSha);
3635
+ }
3636
+ if (message.messageHeadline !== "") {
3637
+ writer.uint32(138).string(message.messageHeadline);
3638
+ }
3639
+ if (message.filesChanged !== 0) {
3640
+ writer.uint32(144).uint32(message.filesChanged);
3641
+ }
3642
+ if (message.insertions !== 0) {
3643
+ writer.uint32(152).uint32(message.insertions);
3644
+ }
3645
+ if (message.deletions !== 0) {
3646
+ writer.uint32(160).uint32(message.deletions);
3647
+ }
3648
+ for (const v of message.flags) {
3649
+ writer.uint32(170).string(v!);
3048
3650
  }
3049
- if (message.commitSha !== "") {
3050
- writer.uint32(82).string(message.commitSha);
3651
+ if (message.aiCoAuthored !== false) {
3652
+ writer.uint32(176).bool(message.aiCoAuthored);
3051
3653
  }
3052
3654
  if (message.pullRequestNumber !== 0) {
3053
- writer.uint32(88).uint32(message.pullRequestNumber);
3655
+ writer.uint32(184).uint32(message.pullRequestNumber);
3054
3656
  }
3055
3657
  if (message.pullRequestUrl !== "") {
3056
- writer.uint32(98).string(message.pullRequestUrl);
3658
+ writer.uint32(194).string(message.pullRequestUrl);
3659
+ }
3660
+ if (message.prState !== "") {
3661
+ writer.uint32(202).string(message.prState);
3662
+ }
3663
+ if (message.prBaseRef !== "") {
3664
+ writer.uint32(210).string(message.prBaseRef);
3665
+ }
3666
+ if (message.prHeadRef !== "") {
3667
+ writer.uint32(218).string(message.prHeadRef);
3668
+ }
3669
+ if (message.mergeCommitSha !== "") {
3670
+ writer.uint32(226).string(message.mergeCommitSha);
3671
+ }
3672
+ if (message.activityId !== "") {
3673
+ writer.uint32(234).string(message.activityId);
3057
3674
  }
3058
3675
  return writer;
3059
3676
  },
@@ -3140,7 +3757,7 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3140
3757
  break;
3141
3758
  }
3142
3759
 
3143
- message.refName = reader.string();
3760
+ message.remoteName = reader.string();
3144
3761
  continue;
3145
3762
  }
3146
3763
  case 10: {
@@ -3148,15 +3765,15 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3148
3765
  break;
3149
3766
  }
3150
3767
 
3151
- message.commitSha = reader.string();
3768
+ message.remoteUrl = reader.string();
3152
3769
  continue;
3153
3770
  }
3154
3771
  case 11: {
3155
- if (tag !== 88) {
3772
+ if (tag !== 90) {
3156
3773
  break;
3157
3774
  }
3158
3775
 
3159
- message.pullRequestNumber = reader.uint32();
3776
+ message.sourceRef = reader.string();
3160
3777
  continue;
3161
3778
  }
3162
3779
  case 12: {
@@ -3164,9 +3781,145 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3164
3781
  break;
3165
3782
  }
3166
3783
 
3784
+ message.destRef = reader.string();
3785
+ continue;
3786
+ }
3787
+ case 13: {
3788
+ if (tag !== 106) {
3789
+ break;
3790
+ }
3791
+
3792
+ message.stdoutCommitSha = reader.string();
3793
+ continue;
3794
+ }
3795
+ case 14: {
3796
+ if (tag !== 114) {
3797
+ break;
3798
+ }
3799
+
3800
+ message.structuredCommitId = reader.string();
3801
+ continue;
3802
+ }
3803
+ case 15: {
3804
+ if (tag !== 122) {
3805
+ break;
3806
+ }
3807
+
3808
+ message.pushOldSha = reader.string();
3809
+ continue;
3810
+ }
3811
+ case 16: {
3812
+ if (tag !== 130) {
3813
+ break;
3814
+ }
3815
+
3816
+ message.pushNewSha = reader.string();
3817
+ continue;
3818
+ }
3819
+ case 17: {
3820
+ if (tag !== 138) {
3821
+ break;
3822
+ }
3823
+
3824
+ message.messageHeadline = reader.string();
3825
+ continue;
3826
+ }
3827
+ case 18: {
3828
+ if (tag !== 144) {
3829
+ break;
3830
+ }
3831
+
3832
+ message.filesChanged = reader.uint32();
3833
+ continue;
3834
+ }
3835
+ case 19: {
3836
+ if (tag !== 152) {
3837
+ break;
3838
+ }
3839
+
3840
+ message.insertions = reader.uint32();
3841
+ continue;
3842
+ }
3843
+ case 20: {
3844
+ if (tag !== 160) {
3845
+ break;
3846
+ }
3847
+
3848
+ message.deletions = reader.uint32();
3849
+ continue;
3850
+ }
3851
+ case 21: {
3852
+ if (tag !== 170) {
3853
+ break;
3854
+ }
3855
+
3856
+ message.flags.push(reader.string());
3857
+ continue;
3858
+ }
3859
+ case 22: {
3860
+ if (tag !== 176) {
3861
+ break;
3862
+ }
3863
+
3864
+ message.aiCoAuthored = reader.bool();
3865
+ continue;
3866
+ }
3867
+ case 23: {
3868
+ if (tag !== 184) {
3869
+ break;
3870
+ }
3871
+
3872
+ message.pullRequestNumber = reader.uint32();
3873
+ continue;
3874
+ }
3875
+ case 24: {
3876
+ if (tag !== 194) {
3877
+ break;
3878
+ }
3879
+
3167
3880
  message.pullRequestUrl = reader.string();
3168
3881
  continue;
3169
3882
  }
3883
+ case 25: {
3884
+ if (tag !== 202) {
3885
+ break;
3886
+ }
3887
+
3888
+ message.prState = reader.string();
3889
+ continue;
3890
+ }
3891
+ case 26: {
3892
+ if (tag !== 210) {
3893
+ break;
3894
+ }
3895
+
3896
+ message.prBaseRef = reader.string();
3897
+ continue;
3898
+ }
3899
+ case 27: {
3900
+ if (tag !== 218) {
3901
+ break;
3902
+ }
3903
+
3904
+ message.prHeadRef = reader.string();
3905
+ continue;
3906
+ }
3907
+ case 28: {
3908
+ if (tag !== 226) {
3909
+ break;
3910
+ }
3911
+
3912
+ message.mergeCommitSha = reader.string();
3913
+ continue;
3914
+ }
3915
+ case 29: {
3916
+ if (tag !== 234) {
3917
+ break;
3918
+ }
3919
+
3920
+ message.activityId = reader.string();
3921
+ continue;
3922
+ }
3170
3923
  }
3171
3924
  if ((tag & 7) === 4 || tag === 0) {
3172
3925
  break;
@@ -3213,16 +3966,66 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3213
3966
  : isSet(object.repository_key)
3214
3967
  ? globalThis.String(object.repository_key)
3215
3968
  : "",
3216
- refName: isSet(object.refName)
3217
- ? globalThis.String(object.refName)
3218
- : isSet(object.ref_name)
3219
- ? globalThis.String(object.ref_name)
3969
+ remoteName: isSet(object.remoteName)
3970
+ ? globalThis.String(object.remoteName)
3971
+ : isSet(object.remote_name)
3972
+ ? globalThis.String(object.remote_name)
3973
+ : "",
3974
+ remoteUrl: isSet(object.remoteUrl)
3975
+ ? globalThis.String(object.remoteUrl)
3976
+ : isSet(object.remote_url)
3977
+ ? globalThis.String(object.remote_url)
3978
+ : "",
3979
+ sourceRef: isSet(object.sourceRef)
3980
+ ? globalThis.String(object.sourceRef)
3981
+ : isSet(object.source_ref)
3982
+ ? globalThis.String(object.source_ref)
3983
+ : "",
3984
+ destRef: isSet(object.destRef)
3985
+ ? globalThis.String(object.destRef)
3986
+ : isSet(object.dest_ref)
3987
+ ? globalThis.String(object.dest_ref)
3988
+ : "",
3989
+ stdoutCommitSha: isSet(object.stdoutCommitSha)
3990
+ ? globalThis.String(object.stdoutCommitSha)
3991
+ : isSet(object.stdout_commit_sha)
3992
+ ? globalThis.String(object.stdout_commit_sha)
3993
+ : "",
3994
+ structuredCommitId: isSet(object.structuredCommitId)
3995
+ ? globalThis.String(object.structuredCommitId)
3996
+ : isSet(object.structured_commit_id)
3997
+ ? globalThis.String(object.structured_commit_id)
3220
3998
  : "",
3221
- commitSha: isSet(object.commitSha)
3222
- ? globalThis.String(object.commitSha)
3223
- : isSet(object.commit_sha)
3224
- ? globalThis.String(object.commit_sha)
3999
+ pushOldSha: isSet(object.pushOldSha)
4000
+ ? globalThis.String(object.pushOldSha)
4001
+ : isSet(object.push_old_sha)
4002
+ ? globalThis.String(object.push_old_sha)
3225
4003
  : "",
4004
+ pushNewSha: isSet(object.pushNewSha)
4005
+ ? globalThis.String(object.pushNewSha)
4006
+ : isSet(object.push_new_sha)
4007
+ ? globalThis.String(object.push_new_sha)
4008
+ : "",
4009
+ messageHeadline: isSet(object.messageHeadline)
4010
+ ? globalThis.String(object.messageHeadline)
4011
+ : isSet(object.message_headline)
4012
+ ? globalThis.String(object.message_headline)
4013
+ : "",
4014
+ filesChanged: isSet(object.filesChanged)
4015
+ ? globalThis.Number(object.filesChanged)
4016
+ : isSet(object.files_changed)
4017
+ ? globalThis.Number(object.files_changed)
4018
+ : 0,
4019
+ insertions: isSet(object.insertions) ? globalThis.Number(object.insertions) : 0,
4020
+ deletions: isSet(object.deletions) ? globalThis.Number(object.deletions) : 0,
4021
+ flags: globalThis.Array.isArray(object?.flags)
4022
+ ? object.flags.map((e: any) => globalThis.String(e))
4023
+ : [],
4024
+ aiCoAuthored: isSet(object.aiCoAuthored)
4025
+ ? globalThis.Boolean(object.aiCoAuthored)
4026
+ : isSet(object.ai_co_authored)
4027
+ ? globalThis.Boolean(object.ai_co_authored)
4028
+ : false,
3226
4029
  pullRequestNumber: isSet(object.pullRequestNumber)
3227
4030
  ? globalThis.Number(object.pullRequestNumber)
3228
4031
  : isSet(object.pull_request_number)
@@ -3233,6 +4036,31 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3233
4036
  : isSet(object.pull_request_url)
3234
4037
  ? globalThis.String(object.pull_request_url)
3235
4038
  : "",
4039
+ prState: isSet(object.prState)
4040
+ ? globalThis.String(object.prState)
4041
+ : isSet(object.pr_state)
4042
+ ? globalThis.String(object.pr_state)
4043
+ : "",
4044
+ prBaseRef: isSet(object.prBaseRef)
4045
+ ? globalThis.String(object.prBaseRef)
4046
+ : isSet(object.pr_base_ref)
4047
+ ? globalThis.String(object.pr_base_ref)
4048
+ : "",
4049
+ prHeadRef: isSet(object.prHeadRef)
4050
+ ? globalThis.String(object.prHeadRef)
4051
+ : isSet(object.pr_head_ref)
4052
+ ? globalThis.String(object.pr_head_ref)
4053
+ : "",
4054
+ mergeCommitSha: isSet(object.mergeCommitSha)
4055
+ ? globalThis.String(object.mergeCommitSha)
4056
+ : isSet(object.merge_commit_sha)
4057
+ ? globalThis.String(object.merge_commit_sha)
4058
+ : "",
4059
+ activityId: isSet(object.activityId)
4060
+ ? globalThis.String(object.activityId)
4061
+ : isSet(object.activity_id)
4062
+ ? globalThis.String(object.activity_id)
4063
+ : "",
3236
4064
  };
3237
4065
  },
3238
4066
 
@@ -3262,11 +4090,47 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3262
4090
  if (message.repositoryKey !== "") {
3263
4091
  obj.repositoryKey = message.repositoryKey;
3264
4092
  }
3265
- if (message.refName !== "") {
3266
- obj.refName = message.refName;
4093
+ if (message.remoteName !== "") {
4094
+ obj.remoteName = message.remoteName;
4095
+ }
4096
+ if (message.remoteUrl !== "") {
4097
+ obj.remoteUrl = message.remoteUrl;
4098
+ }
4099
+ if (message.sourceRef !== "") {
4100
+ obj.sourceRef = message.sourceRef;
4101
+ }
4102
+ if (message.destRef !== "") {
4103
+ obj.destRef = message.destRef;
4104
+ }
4105
+ if (message.stdoutCommitSha !== "") {
4106
+ obj.stdoutCommitSha = message.stdoutCommitSha;
4107
+ }
4108
+ if (message.structuredCommitId !== "") {
4109
+ obj.structuredCommitId = message.structuredCommitId;
4110
+ }
4111
+ if (message.pushOldSha !== "") {
4112
+ obj.pushOldSha = message.pushOldSha;
4113
+ }
4114
+ if (message.pushNewSha !== "") {
4115
+ obj.pushNewSha = message.pushNewSha;
4116
+ }
4117
+ if (message.messageHeadline !== "") {
4118
+ obj.messageHeadline = message.messageHeadline;
4119
+ }
4120
+ if (message.filesChanged !== 0) {
4121
+ obj.filesChanged = Math.round(message.filesChanged);
3267
4122
  }
3268
- if (message.commitSha !== "") {
3269
- obj.commitSha = message.commitSha;
4123
+ if (message.insertions !== 0) {
4124
+ obj.insertions = Math.round(message.insertions);
4125
+ }
4126
+ if (message.deletions !== 0) {
4127
+ obj.deletions = Math.round(message.deletions);
4128
+ }
4129
+ if (message.flags?.length) {
4130
+ obj.flags = message.flags;
4131
+ }
4132
+ if (message.aiCoAuthored !== false) {
4133
+ obj.aiCoAuthored = message.aiCoAuthored;
3270
4134
  }
3271
4135
  if (message.pullRequestNumber !== 0) {
3272
4136
  obj.pullRequestNumber = Math.round(message.pullRequestNumber);
@@ -3274,6 +4138,21 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3274
4138
  if (message.pullRequestUrl !== "") {
3275
4139
  obj.pullRequestUrl = message.pullRequestUrl;
3276
4140
  }
4141
+ if (message.prState !== "") {
4142
+ obj.prState = message.prState;
4143
+ }
4144
+ if (message.prBaseRef !== "") {
4145
+ obj.prBaseRef = message.prBaseRef;
4146
+ }
4147
+ if (message.prHeadRef !== "") {
4148
+ obj.prHeadRef = message.prHeadRef;
4149
+ }
4150
+ if (message.mergeCommitSha !== "") {
4151
+ obj.mergeCommitSha = message.mergeCommitSha;
4152
+ }
4153
+ if (message.activityId !== "") {
4154
+ obj.activityId = message.activityId;
4155
+ }
3277
4156
  return obj;
3278
4157
  },
3279
4158
 
@@ -3290,10 +4169,27 @@ export const AIGitActivity: MessageFns<AIGitActivity> = {
3290
4169
  message.outcome = object.outcome ?? 0;
3291
4170
  message.ownerKey = object.ownerKey ?? "";
3292
4171
  message.repositoryKey = object.repositoryKey ?? "";
3293
- message.refName = object.refName ?? "";
3294
- message.commitSha = object.commitSha ?? "";
4172
+ message.remoteName = object.remoteName ?? "";
4173
+ message.remoteUrl = object.remoteUrl ?? "";
4174
+ message.sourceRef = object.sourceRef ?? "";
4175
+ message.destRef = object.destRef ?? "";
4176
+ message.stdoutCommitSha = object.stdoutCommitSha ?? "";
4177
+ message.structuredCommitId = object.structuredCommitId ?? "";
4178
+ message.pushOldSha = object.pushOldSha ?? "";
4179
+ message.pushNewSha = object.pushNewSha ?? "";
4180
+ message.messageHeadline = object.messageHeadline ?? "";
4181
+ message.filesChanged = object.filesChanged ?? 0;
4182
+ message.insertions = object.insertions ?? 0;
4183
+ message.deletions = object.deletions ?? 0;
4184
+ message.flags = object.flags?.map((e) => e) || [];
4185
+ message.aiCoAuthored = object.aiCoAuthored ?? false;
3295
4186
  message.pullRequestNumber = object.pullRequestNumber ?? 0;
3296
4187
  message.pullRequestUrl = object.pullRequestUrl ?? "";
4188
+ message.prState = object.prState ?? "";
4189
+ message.prBaseRef = object.prBaseRef ?? "";
4190
+ message.prHeadRef = object.prHeadRef ?? "";
4191
+ message.mergeCommitSha = object.mergeCommitSha ?? "";
4192
+ message.activityId = object.activityId ?? "";
3297
4193
  return message;
3298
4194
  },
3299
4195
  };
@@ -3461,10 +4357,16 @@ export const AITokenUsage: MessageFns<AITokenUsage> = {
3461
4357
  */
3462
4358
  export interface AIGatewayService {
3463
4359
  ListSessions(request: ListSessionsRequest, metadata?: Metadata): Promise<ListSessionsResponse>;
3464
- StreamSession(request: StreamSessionRequest, metadata?: Metadata): Observable<AISessionEventEnvelope>;
4360
+ ListSessionEvents(request: ListSessionEventsRequest, metadata?: Metadata): Promise<ListSessionEventsResponse>;
4361
+ StreamSessionEvents(request: StreamSessionEventsRequest, metadata?: Metadata): Observable<AISessionEventEnvelope>;
3465
4362
  ListPrincipals(request: ListPrincipalsRequest, metadata?: Metadata): Promise<ListPrincipalsResponse>;
3466
4363
  UpdatePrincipal(request: UpdatePrincipalRequest, metadata?: Metadata): Promise<UpdatePrincipalResponse>;
3467
4364
  ListGitActivities(request: ListGitActivitiesRequest, metadata?: Metadata): Promise<ListGitActivitiesResponse>;
4365
+ /**
4366
+ * Live stream of one session's git/GitHub actions (UPSERT per activity keyed by
4367
+ * activity_id, a nonterminal GitActivitiesSnapshotCompleted, then open until cancel).
4368
+ */
4369
+ StreamGitActivities(request: StreamGitActivitiesRequest, metadata?: Metadata): Observable<GitActivityFrame>;
3468
4370
  }
3469
4371
 
3470
4372
  export const AIGatewayServiceServiceName = "gateway.web.v1.AIGatewayService";
@@ -3475,10 +4377,12 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
3475
4377
  this.service = opts?.service || AIGatewayServiceServiceName;
3476
4378
  this.rpc = rpc;
3477
4379
  this.ListSessions = this.ListSessions.bind(this);
3478
- this.StreamSession = this.StreamSession.bind(this);
4380
+ this.ListSessionEvents = this.ListSessionEvents.bind(this);
4381
+ this.StreamSessionEvents = this.StreamSessionEvents.bind(this);
3479
4382
  this.ListPrincipals = this.ListPrincipals.bind(this);
3480
4383
  this.UpdatePrincipal = this.UpdatePrincipal.bind(this);
3481
4384
  this.ListGitActivities = this.ListGitActivities.bind(this);
4385
+ this.StreamGitActivities = this.StreamGitActivities.bind(this);
3482
4386
  }
3483
4387
  ListSessions(request: ListSessionsRequest, metadata?: Metadata): Promise<ListSessionsResponse> {
3484
4388
  const data = ListSessionsRequest.encode(request).finish();
@@ -3486,9 +4390,15 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
3486
4390
  return promise.then((data) => ListSessionsResponse.decode(new BinaryReader(data)));
3487
4391
  }
3488
4392
 
3489
- StreamSession(request: StreamSessionRequest, metadata?: Metadata): Observable<AISessionEventEnvelope> {
3490
- const data = StreamSessionRequest.encode(request).finish();
3491
- const result = this.rpc.serverStreamingRequest(this.service, "StreamSession", data, metadata);
4393
+ ListSessionEvents(request: ListSessionEventsRequest, metadata?: Metadata): Promise<ListSessionEventsResponse> {
4394
+ const data = ListSessionEventsRequest.encode(request).finish();
4395
+ const promise = this.rpc.request(this.service, "ListSessionEvents", data, metadata);
4396
+ return promise.then((data) => ListSessionEventsResponse.decode(new BinaryReader(data)));
4397
+ }
4398
+
4399
+ StreamSessionEvents(request: StreamSessionEventsRequest, metadata?: Metadata): Observable<AISessionEventEnvelope> {
4400
+ const data = StreamSessionEventsRequest.encode(request).finish();
4401
+ const result = this.rpc.serverStreamingRequest(this.service, "StreamSessionEvents", data, metadata);
3492
4402
  return result.pipe(map((data) => AISessionEventEnvelope.decode(new BinaryReader(data))));
3493
4403
  }
3494
4404
 
@@ -3509,6 +4419,12 @@ export class AIGatewayServiceClientImpl implements AIGatewayService {
3509
4419
  const promise = this.rpc.request(this.service, "ListGitActivities", data, metadata);
3510
4420
  return promise.then((data) => ListGitActivitiesResponse.decode(new BinaryReader(data)));
3511
4421
  }
4422
+
4423
+ StreamGitActivities(request: StreamGitActivitiesRequest, metadata?: Metadata): Observable<GitActivityFrame> {
4424
+ const data = StreamGitActivitiesRequest.encode(request).finish();
4425
+ const result = this.rpc.serverStreamingRequest(this.service, "StreamGitActivities", data, metadata);
4426
+ return result.pipe(map((data) => GitActivityFrame.decode(new BinaryReader(data))));
4427
+ }
3512
4428
  }
3513
4429
 
3514
4430
  interface Rpc {