@theway-ai/sdk 2.0.0 → 2.2.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.
@@ -8,8 +8,70 @@ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
8
  import { makeGenericClientConstructor, } from "@grpc/grpc-js";
9
9
  import { CommandResult, Empty } from "./commands.js";
10
10
  import { ExtensionSnapshot } from "./extensions.js";
11
- import { DagRunSnapshot, SubagentJobSnapshot } from "./graph_engine.js";
11
+ import { CollapsedSessionNode, DagRunSnapshot, SessionGraphNode, SubagentJobSnapshot } from "./graph_engine.js";
12
12
  export const protobufPackage = "theway.grpc.v1";
13
+ /** Thinking levels supported by the runtime. */
14
+ export var ThinkingLevel;
15
+ (function (ThinkingLevel) {
16
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_UNSPECIFIED"] = 0] = "THINKING_LEVEL_UNSPECIFIED";
17
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_OFF"] = 1] = "THINKING_LEVEL_OFF";
18
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_MINIMAL"] = 2] = "THINKING_LEVEL_MINIMAL";
19
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_LOW"] = 3] = "THINKING_LEVEL_LOW";
20
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_MEDIUM"] = 4] = "THINKING_LEVEL_MEDIUM";
21
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_HIGH"] = 5] = "THINKING_LEVEL_HIGH";
22
+ ThinkingLevel[ThinkingLevel["THINKING_LEVEL_XHIGH"] = 6] = "THINKING_LEVEL_XHIGH";
23
+ ThinkingLevel[ThinkingLevel["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
24
+ })(ThinkingLevel || (ThinkingLevel = {}));
25
+ export function thinkingLevelFromJSON(object) {
26
+ switch (object) {
27
+ case 0:
28
+ case "THINKING_LEVEL_UNSPECIFIED":
29
+ return ThinkingLevel.THINKING_LEVEL_UNSPECIFIED;
30
+ case 1:
31
+ case "THINKING_LEVEL_OFF":
32
+ return ThinkingLevel.THINKING_LEVEL_OFF;
33
+ case 2:
34
+ case "THINKING_LEVEL_MINIMAL":
35
+ return ThinkingLevel.THINKING_LEVEL_MINIMAL;
36
+ case 3:
37
+ case "THINKING_LEVEL_LOW":
38
+ return ThinkingLevel.THINKING_LEVEL_LOW;
39
+ case 4:
40
+ case "THINKING_LEVEL_MEDIUM":
41
+ return ThinkingLevel.THINKING_LEVEL_MEDIUM;
42
+ case 5:
43
+ case "THINKING_LEVEL_HIGH":
44
+ return ThinkingLevel.THINKING_LEVEL_HIGH;
45
+ case 6:
46
+ case "THINKING_LEVEL_XHIGH":
47
+ return ThinkingLevel.THINKING_LEVEL_XHIGH;
48
+ case -1:
49
+ case "UNRECOGNIZED":
50
+ default:
51
+ return ThinkingLevel.UNRECOGNIZED;
52
+ }
53
+ }
54
+ export function thinkingLevelToJSON(object) {
55
+ switch (object) {
56
+ case ThinkingLevel.THINKING_LEVEL_UNSPECIFIED:
57
+ return "THINKING_LEVEL_UNSPECIFIED";
58
+ case ThinkingLevel.THINKING_LEVEL_OFF:
59
+ return "THINKING_LEVEL_OFF";
60
+ case ThinkingLevel.THINKING_LEVEL_MINIMAL:
61
+ return "THINKING_LEVEL_MINIMAL";
62
+ case ThinkingLevel.THINKING_LEVEL_LOW:
63
+ return "THINKING_LEVEL_LOW";
64
+ case ThinkingLevel.THINKING_LEVEL_MEDIUM:
65
+ return "THINKING_LEVEL_MEDIUM";
66
+ case ThinkingLevel.THINKING_LEVEL_HIGH:
67
+ return "THINKING_LEVEL_HIGH";
68
+ case ThinkingLevel.THINKING_LEVEL_XHIGH:
69
+ return "THINKING_LEVEL_XHIGH";
70
+ case ThinkingLevel.UNRECOGNIZED:
71
+ default:
72
+ return "UNRECOGNIZED";
73
+ }
74
+ }
13
75
  function createBaseSessionState() {
14
76
  return {
15
77
  sessionId: "",
@@ -2960,6 +3022,7 @@ export const PlainBlock = {
2960
3022
  };
2961
3023
  function createBaseSessionSummary() {
2962
3024
  return {
3025
+ id: "",
2963
3026
  sessionId: "",
2964
3027
  name: "",
2965
3028
  cwd: "",
@@ -2971,10 +3034,14 @@ function createBaseSessionSummary() {
2971
3034
  busy: false,
2972
3035
  preview: undefined,
2973
3036
  metadata: {},
3037
+ lastActivityAtRfc3339: undefined,
2974
3038
  };
2975
3039
  }
2976
3040
  export const SessionSummary = {
2977
3041
  encode(message, writer = new BinaryWriter()) {
3042
+ if (message.id !== "") {
3043
+ writer.uint32(106).string(message.id);
3044
+ }
2978
3045
  if (message.sessionId !== "") {
2979
3046
  writer.uint32(10).string(message.sessionId);
2980
3047
  }
@@ -3008,6 +3075,9 @@ export const SessionSummary = {
3008
3075
  globalThis.Object.entries(message.metadata).forEach(([key, value]) => {
3009
3076
  SessionSummary_MetadataEntry.encode({ key: key, value }, writer.uint32(90).fork()).join();
3010
3077
  });
3078
+ if (message.lastActivityAtRfc3339 !== undefined) {
3079
+ writer.uint32(98).string(message.lastActivityAtRfc3339);
3080
+ }
3011
3081
  return writer;
3012
3082
  },
3013
3083
  decode(input, length) {
@@ -3017,6 +3087,13 @@ export const SessionSummary = {
3017
3087
  while (reader.pos < end) {
3018
3088
  const tag = reader.uint32();
3019
3089
  switch (tag >>> 3) {
3090
+ case 13: {
3091
+ if (tag !== 106) {
3092
+ break;
3093
+ }
3094
+ message.id = reader.string();
3095
+ continue;
3096
+ }
3020
3097
  case 1: {
3021
3098
  if (tag !== 10) {
3022
3099
  break;
@@ -3097,6 +3174,13 @@ export const SessionSummary = {
3097
3174
  }
3098
3175
  continue;
3099
3176
  }
3177
+ case 12: {
3178
+ if (tag !== 98) {
3179
+ break;
3180
+ }
3181
+ message.lastActivityAtRfc3339 = reader.string();
3182
+ continue;
3183
+ }
3100
3184
  }
3101
3185
  if ((tag & 7) === 4 || tag === 0) {
3102
3186
  break;
@@ -3107,6 +3191,7 @@ export const SessionSummary = {
3107
3191
  },
3108
3192
  fromJSON(object) {
3109
3193
  return {
3194
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3110
3195
  sessionId: isSet(object.sessionId)
3111
3196
  ? globalThis.String(object.sessionId)
3112
3197
  : isSet(object.session_id)
@@ -3143,10 +3228,18 @@ export const SessionSummary = {
3143
3228
  return acc;
3144
3229
  }, {})
3145
3230
  : {},
3231
+ lastActivityAtRfc3339: isSet(object.lastActivityAtRfc3339)
3232
+ ? globalThis.String(object.lastActivityAtRfc3339)
3233
+ : isSet(object.last_activity_at_rfc3339)
3234
+ ? globalThis.String(object.last_activity_at_rfc3339)
3235
+ : undefined,
3146
3236
  };
3147
3237
  },
3148
3238
  toJSON(message) {
3149
3239
  const obj = {};
3240
+ if (message.id !== "") {
3241
+ obj.id = message.id;
3242
+ }
3150
3243
  if (message.sessionId !== "") {
3151
3244
  obj.sessionId = message.sessionId;
3152
3245
  }
@@ -3186,6 +3279,9 @@ export const SessionSummary = {
3186
3279
  });
3187
3280
  }
3188
3281
  }
3282
+ if (message.lastActivityAtRfc3339 !== undefined) {
3283
+ obj.lastActivityAtRfc3339 = message.lastActivityAtRfc3339;
3284
+ }
3189
3285
  return obj;
3190
3286
  },
3191
3287
  create(base) {
@@ -3193,6 +3289,7 @@ export const SessionSummary = {
3193
3289
  },
3194
3290
  fromPartial(object) {
3195
3291
  const message = createBaseSessionSummary();
3292
+ message.id = object.id ?? "";
3196
3293
  message.sessionId = object.sessionId ?? "";
3197
3294
  message.name = object.name ?? "";
3198
3295
  message.cwd = object.cwd ?? "";
@@ -3209,6 +3306,7 @@ export const SessionSummary = {
3209
3306
  }
3210
3307
  return acc;
3211
3308
  }, {});
3309
+ message.lastActivityAtRfc3339 = object.lastActivityAtRfc3339 ?? undefined;
3212
3310
  return message;
3213
3311
  },
3214
3312
  };
@@ -3280,20 +3378,26 @@ export const SessionSummary_MetadataEntry = {
3280
3378
  return message;
3281
3379
  },
3282
3380
  };
3283
- function createBaseSessionStateRequest() {
3284
- return { sessionId: "" };
3381
+ function createBaseModelRef() {
3382
+ return { provider: "", model: "", baseUrl: undefined };
3285
3383
  }
3286
- export const SessionStateRequest = {
3384
+ export const ModelRef = {
3287
3385
  encode(message, writer = new BinaryWriter()) {
3288
- if (message.sessionId !== "") {
3289
- writer.uint32(10).string(message.sessionId);
3386
+ if (message.provider !== "") {
3387
+ writer.uint32(10).string(message.provider);
3388
+ }
3389
+ if (message.model !== "") {
3390
+ writer.uint32(18).string(message.model);
3391
+ }
3392
+ if (message.baseUrl !== undefined) {
3393
+ writer.uint32(26).string(message.baseUrl);
3290
3394
  }
3291
3395
  return writer;
3292
3396
  },
3293
3397
  decode(input, length) {
3294
3398
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3295
3399
  const end = length === undefined ? reader.len : reader.pos + length;
3296
- const message = createBaseSessionStateRequest();
3400
+ const message = createBaseModelRef();
3297
3401
  while (reader.pos < end) {
3298
3402
  const tag = reader.uint32();
3299
3403
  switch (tag >>> 3) {
@@ -3301,7 +3405,21 @@ export const SessionStateRequest = {
3301
3405
  if (tag !== 10) {
3302
3406
  break;
3303
3407
  }
3304
- message.sessionId = reader.string();
3408
+ message.provider = reader.string();
3409
+ continue;
3410
+ }
3411
+ case 2: {
3412
+ if (tag !== 18) {
3413
+ break;
3414
+ }
3415
+ message.model = reader.string();
3416
+ continue;
3417
+ }
3418
+ case 3: {
3419
+ if (tag !== 26) {
3420
+ break;
3421
+ }
3422
+ message.baseUrl = reader.string();
3305
3423
  continue;
3306
3424
  }
3307
3425
  }
@@ -3314,46 +3432,103 @@ export const SessionStateRequest = {
3314
3432
  },
3315
3433
  fromJSON(object) {
3316
3434
  return {
3317
- sessionId: isSet(object.sessionId)
3318
- ? globalThis.String(object.sessionId)
3319
- : isSet(object.session_id)
3320
- ? globalThis.String(object.session_id)
3321
- : "",
3435
+ provider: isSet(object.provider) ? globalThis.String(object.provider) : "",
3436
+ model: isSet(object.model) ? globalThis.String(object.model) : "",
3437
+ baseUrl: isSet(object.baseUrl)
3438
+ ? globalThis.String(object.baseUrl)
3439
+ : isSet(object.base_url)
3440
+ ? globalThis.String(object.base_url)
3441
+ : undefined,
3322
3442
  };
3323
3443
  },
3324
3444
  toJSON(message) {
3325
3445
  const obj = {};
3326
- if (message.sessionId !== "") {
3327
- obj.sessionId = message.sessionId;
3446
+ if (message.provider !== "") {
3447
+ obj.provider = message.provider;
3448
+ }
3449
+ if (message.model !== "") {
3450
+ obj.model = message.model;
3451
+ }
3452
+ if (message.baseUrl !== undefined) {
3453
+ obj.baseUrl = message.baseUrl;
3328
3454
  }
3329
3455
  return obj;
3330
3456
  },
3331
3457
  create(base) {
3332
- return SessionStateRequest.fromPartial(base ?? {});
3458
+ return ModelRef.fromPartial(base ?? {});
3333
3459
  },
3334
3460
  fromPartial(object) {
3335
- const message = createBaseSessionStateRequest();
3336
- message.sessionId = object.sessionId ?? "";
3461
+ const message = createBaseModelRef();
3462
+ message.provider = object.provider ?? "";
3463
+ message.model = object.model ?? "";
3464
+ message.baseUrl = object.baseUrl ?? undefined;
3337
3465
  return message;
3338
3466
  },
3339
3467
  };
3340
- function createBaseUpdateSessionMetadataRequest() {
3341
- return { sessionId: "", metadata: {} };
3468
+ function createBaseSessionInfo() {
3469
+ return {
3470
+ id: "",
3471
+ name: "",
3472
+ cwd: "",
3473
+ createdAt: "",
3474
+ lastActivityAt: "0",
3475
+ lastActivityAtRfc3339: undefined,
3476
+ busy: false,
3477
+ preview: undefined,
3478
+ metadata: {},
3479
+ graphCount: 0,
3480
+ activeGraphCount: 0,
3481
+ queuedCount: 0,
3482
+ sidebar: undefined,
3483
+ };
3342
3484
  }
3343
- export const UpdateSessionMetadataRequest = {
3485
+ export const SessionInfo = {
3344
3486
  encode(message, writer = new BinaryWriter()) {
3345
- if (message.sessionId !== "") {
3346
- writer.uint32(10).string(message.sessionId);
3487
+ if (message.id !== "") {
3488
+ writer.uint32(10).string(message.id);
3489
+ }
3490
+ if (message.name !== "") {
3491
+ writer.uint32(18).string(message.name);
3492
+ }
3493
+ if (message.cwd !== "") {
3494
+ writer.uint32(26).string(message.cwd);
3495
+ }
3496
+ if (message.createdAt !== "") {
3497
+ writer.uint32(34).string(message.createdAt);
3498
+ }
3499
+ if (message.lastActivityAt !== "0") {
3500
+ writer.uint32(40).int64(message.lastActivityAt);
3501
+ }
3502
+ if (message.lastActivityAtRfc3339 !== undefined) {
3503
+ writer.uint32(50).string(message.lastActivityAtRfc3339);
3504
+ }
3505
+ if (message.busy !== false) {
3506
+ writer.uint32(56).bool(message.busy);
3507
+ }
3508
+ if (message.preview !== undefined) {
3509
+ writer.uint32(66).string(message.preview);
3347
3510
  }
3348
3511
  globalThis.Object.entries(message.metadata).forEach(([key, value]) => {
3349
- UpdateSessionMetadataRequest_MetadataEntry.encode({ key: key, value }, writer.uint32(18).fork()).join();
3512
+ SessionInfo_MetadataEntry.encode({ key: key, value }, writer.uint32(74).fork()).join();
3350
3513
  });
3514
+ if (message.graphCount !== 0) {
3515
+ writer.uint32(80).uint32(message.graphCount);
3516
+ }
3517
+ if (message.activeGraphCount !== 0) {
3518
+ writer.uint32(88).uint32(message.activeGraphCount);
3519
+ }
3520
+ if (message.queuedCount !== 0) {
3521
+ writer.uint32(96).uint32(message.queuedCount);
3522
+ }
3523
+ if (message.sidebar !== undefined) {
3524
+ SidebarSnapshot.encode(message.sidebar, writer.uint32(106).fork()).join();
3525
+ }
3351
3526
  return writer;
3352
3527
  },
3353
3528
  decode(input, length) {
3354
3529
  const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3355
3530
  const end = length === undefined ? reader.len : reader.pos + length;
3356
- const message = createBaseUpdateSessionMetadataRequest();
3531
+ const message = createBaseSessionInfo();
3357
3532
  while (reader.pos < end) {
3358
3533
  const tag = reader.uint32();
3359
3534
  switch (tag >>> 3) {
@@ -3361,17 +3536,94 @@ export const UpdateSessionMetadataRequest = {
3361
3536
  if (tag !== 10) {
3362
3537
  break;
3363
3538
  }
3364
- message.sessionId = reader.string();
3539
+ message.id = reader.string();
3365
3540
  continue;
3366
3541
  }
3367
3542
  case 2: {
3368
3543
  if (tag !== 18) {
3369
3544
  break;
3370
3545
  }
3371
- const entry2 = UpdateSessionMetadataRequest_MetadataEntry.decode(reader, reader.uint32());
3372
- if (entry2.value !== undefined) {
3373
- message.metadata[entry2.key] = entry2.value;
3546
+ message.name = reader.string();
3547
+ continue;
3548
+ }
3549
+ case 3: {
3550
+ if (tag !== 26) {
3551
+ break;
3552
+ }
3553
+ message.cwd = reader.string();
3554
+ continue;
3555
+ }
3556
+ case 4: {
3557
+ if (tag !== 34) {
3558
+ break;
3559
+ }
3560
+ message.createdAt = reader.string();
3561
+ continue;
3562
+ }
3563
+ case 5: {
3564
+ if (tag !== 40) {
3565
+ break;
3566
+ }
3567
+ message.lastActivityAt = reader.int64().toString();
3568
+ continue;
3569
+ }
3570
+ case 6: {
3571
+ if (tag !== 50) {
3572
+ break;
3573
+ }
3574
+ message.lastActivityAtRfc3339 = reader.string();
3575
+ continue;
3576
+ }
3577
+ case 7: {
3578
+ if (tag !== 56) {
3579
+ break;
3580
+ }
3581
+ message.busy = reader.bool();
3582
+ continue;
3583
+ }
3584
+ case 8: {
3585
+ if (tag !== 66) {
3586
+ break;
3587
+ }
3588
+ message.preview = reader.string();
3589
+ continue;
3590
+ }
3591
+ case 9: {
3592
+ if (tag !== 74) {
3593
+ break;
3594
+ }
3595
+ const entry9 = SessionInfo_MetadataEntry.decode(reader, reader.uint32());
3596
+ if (entry9.value !== undefined) {
3597
+ message.metadata[entry9.key] = entry9.value;
3598
+ }
3599
+ continue;
3600
+ }
3601
+ case 10: {
3602
+ if (tag !== 80) {
3603
+ break;
3604
+ }
3605
+ message.graphCount = reader.uint32();
3606
+ continue;
3607
+ }
3608
+ case 11: {
3609
+ if (tag !== 88) {
3610
+ break;
3611
+ }
3612
+ message.activeGraphCount = reader.uint32();
3613
+ continue;
3614
+ }
3615
+ case 12: {
3616
+ if (tag !== 96) {
3617
+ break;
3374
3618
  }
3619
+ message.queuedCount = reader.uint32();
3620
+ continue;
3621
+ }
3622
+ case 13: {
3623
+ if (tag !== 106) {
3624
+ break;
3625
+ }
3626
+ message.sidebar = SidebarSnapshot.decode(reader, reader.uint32());
3375
3627
  continue;
3376
3628
  }
3377
3629
  }
@@ -3384,32 +3636,1782 @@ export const UpdateSessionMetadataRequest = {
3384
3636
  },
3385
3637
  fromJSON(object) {
3386
3638
  return {
3387
- sessionId: isSet(object.sessionId)
3388
- ? globalThis.String(object.sessionId)
3389
- : isSet(object.session_id)
3390
- ? globalThis.String(object.session_id)
3639
+ id: isSet(object.id) ? globalThis.String(object.id) : "",
3640
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
3641
+ cwd: isSet(object.cwd) ? globalThis.String(object.cwd) : "",
3642
+ createdAt: isSet(object.createdAt)
3643
+ ? globalThis.String(object.createdAt)
3644
+ : isSet(object.created_at)
3645
+ ? globalThis.String(object.created_at)
3391
3646
  : "",
3647
+ lastActivityAt: isSet(object.lastActivityAt)
3648
+ ? globalThis.String(object.lastActivityAt)
3649
+ : isSet(object.last_activity_at)
3650
+ ? globalThis.String(object.last_activity_at)
3651
+ : "0",
3652
+ lastActivityAtRfc3339: isSet(object.lastActivityAtRfc3339)
3653
+ ? globalThis.String(object.lastActivityAtRfc3339)
3654
+ : isSet(object.last_activity_at_rfc3339)
3655
+ ? globalThis.String(object.last_activity_at_rfc3339)
3656
+ : undefined,
3657
+ busy: isSet(object.busy) ? globalThis.Boolean(object.busy) : false,
3658
+ preview: isSet(object.preview) ? globalThis.String(object.preview) : undefined,
3392
3659
  metadata: isObject(object.metadata)
3393
3660
  ? globalThis.Object.entries(object.metadata).reduce((acc, [key, value]) => {
3394
3661
  acc[key] = globalThis.String(value);
3395
3662
  return acc;
3396
3663
  }, {})
3397
3664
  : {},
3665
+ graphCount: isSet(object.graphCount)
3666
+ ? globalThis.Number(object.graphCount)
3667
+ : isSet(object.graph_count)
3668
+ ? globalThis.Number(object.graph_count)
3669
+ : 0,
3670
+ activeGraphCount: isSet(object.activeGraphCount)
3671
+ ? globalThis.Number(object.activeGraphCount)
3672
+ : isSet(object.active_graph_count)
3673
+ ? globalThis.Number(object.active_graph_count)
3674
+ : 0,
3675
+ queuedCount: isSet(object.queuedCount)
3676
+ ? globalThis.Number(object.queuedCount)
3677
+ : isSet(object.queued_count)
3678
+ ? globalThis.Number(object.queued_count)
3679
+ : 0,
3680
+ sidebar: isSet(object.sidebar) ? SidebarSnapshot.fromJSON(object.sidebar) : undefined,
3398
3681
  };
3399
3682
  },
3400
3683
  toJSON(message) {
3401
3684
  const obj = {};
3402
- if (message.sessionId !== "") {
3403
- obj.sessionId = message.sessionId;
3404
- }
3405
- if (message.metadata) {
3406
- const entries = globalThis.Object.entries(message.metadata);
3407
- if (entries.length > 0) {
3408
- obj.metadata = {};
3409
- entries.forEach(([k, v]) => {
3410
- obj.metadata[k] = v;
3411
- });
3412
- }
3685
+ if (message.id !== "") {
3686
+ obj.id = message.id;
3687
+ }
3688
+ if (message.name !== "") {
3689
+ obj.name = message.name;
3690
+ }
3691
+ if (message.cwd !== "") {
3692
+ obj.cwd = message.cwd;
3693
+ }
3694
+ if (message.createdAt !== "") {
3695
+ obj.createdAt = message.createdAt;
3696
+ }
3697
+ if (message.lastActivityAt !== "0") {
3698
+ obj.lastActivityAt = message.lastActivityAt;
3699
+ }
3700
+ if (message.lastActivityAtRfc3339 !== undefined) {
3701
+ obj.lastActivityAtRfc3339 = message.lastActivityAtRfc3339;
3702
+ }
3703
+ if (message.busy !== false) {
3704
+ obj.busy = message.busy;
3705
+ }
3706
+ if (message.preview !== undefined) {
3707
+ obj.preview = message.preview;
3708
+ }
3709
+ if (message.metadata) {
3710
+ const entries = globalThis.Object.entries(message.metadata);
3711
+ if (entries.length > 0) {
3712
+ obj.metadata = {};
3713
+ entries.forEach(([k, v]) => {
3714
+ obj.metadata[k] = v;
3715
+ });
3716
+ }
3717
+ }
3718
+ if (message.graphCount !== 0) {
3719
+ obj.graphCount = Math.round(message.graphCount);
3720
+ }
3721
+ if (message.activeGraphCount !== 0) {
3722
+ obj.activeGraphCount = Math.round(message.activeGraphCount);
3723
+ }
3724
+ if (message.queuedCount !== 0) {
3725
+ obj.queuedCount = Math.round(message.queuedCount);
3726
+ }
3727
+ if (message.sidebar !== undefined) {
3728
+ obj.sidebar = SidebarSnapshot.toJSON(message.sidebar);
3729
+ }
3730
+ return obj;
3731
+ },
3732
+ create(base) {
3733
+ return SessionInfo.fromPartial(base ?? {});
3734
+ },
3735
+ fromPartial(object) {
3736
+ const message = createBaseSessionInfo();
3737
+ message.id = object.id ?? "";
3738
+ message.name = object.name ?? "";
3739
+ message.cwd = object.cwd ?? "";
3740
+ message.createdAt = object.createdAt ?? "";
3741
+ message.lastActivityAt = object.lastActivityAt ?? "0";
3742
+ message.lastActivityAtRfc3339 = object.lastActivityAtRfc3339 ?? undefined;
3743
+ message.busy = object.busy ?? false;
3744
+ message.preview = object.preview ?? undefined;
3745
+ message.metadata = globalThis.Object.entries(object.metadata ?? {}).reduce((acc, [key, value]) => {
3746
+ if (value !== undefined) {
3747
+ acc[key] = globalThis.String(value);
3748
+ }
3749
+ return acc;
3750
+ }, {});
3751
+ message.graphCount = object.graphCount ?? 0;
3752
+ message.activeGraphCount = object.activeGraphCount ?? 0;
3753
+ message.queuedCount = object.queuedCount ?? 0;
3754
+ message.sidebar = (object.sidebar !== undefined && object.sidebar !== null)
3755
+ ? SidebarSnapshot.fromPartial(object.sidebar)
3756
+ : undefined;
3757
+ return message;
3758
+ },
3759
+ };
3760
+ function createBaseSessionInfo_MetadataEntry() {
3761
+ return { key: "", value: "" };
3762
+ }
3763
+ export const SessionInfo_MetadataEntry = {
3764
+ encode(message, writer = new BinaryWriter()) {
3765
+ if (message.key !== "") {
3766
+ writer.uint32(10).string(message.key);
3767
+ }
3768
+ if (message.value !== "") {
3769
+ writer.uint32(18).string(message.value);
3770
+ }
3771
+ return writer;
3772
+ },
3773
+ decode(input, length) {
3774
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3775
+ const end = length === undefined ? reader.len : reader.pos + length;
3776
+ const message = createBaseSessionInfo_MetadataEntry();
3777
+ while (reader.pos < end) {
3778
+ const tag = reader.uint32();
3779
+ switch (tag >>> 3) {
3780
+ case 1: {
3781
+ if (tag !== 10) {
3782
+ break;
3783
+ }
3784
+ message.key = reader.string();
3785
+ continue;
3786
+ }
3787
+ case 2: {
3788
+ if (tag !== 18) {
3789
+ break;
3790
+ }
3791
+ message.value = reader.string();
3792
+ continue;
3793
+ }
3794
+ }
3795
+ if ((tag & 7) === 4 || tag === 0) {
3796
+ break;
3797
+ }
3798
+ reader.skip(tag & 7);
3799
+ }
3800
+ return message;
3801
+ },
3802
+ fromJSON(object) {
3803
+ return {
3804
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
3805
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
3806
+ };
3807
+ },
3808
+ toJSON(message) {
3809
+ const obj = {};
3810
+ if (message.key !== "") {
3811
+ obj.key = message.key;
3812
+ }
3813
+ if (message.value !== "") {
3814
+ obj.value = message.value;
3815
+ }
3816
+ return obj;
3817
+ },
3818
+ create(base) {
3819
+ return SessionInfo_MetadataEntry.fromPartial(base ?? {});
3820
+ },
3821
+ fromPartial(object) {
3822
+ const message = createBaseSessionInfo_MetadataEntry();
3823
+ message.key = object.key ?? "";
3824
+ message.value = object.value ?? "";
3825
+ return message;
3826
+ },
3827
+ };
3828
+ function createBaseSessionRuntime() {
3829
+ return {
3830
+ model: undefined,
3831
+ thinkingLevel: 0,
3832
+ supportedThinkingLevels: [],
3833
+ contextUsage: undefined,
3834
+ sessionContextUsage: undefined,
3835
+ tuiMaxFeedLines: undefined,
3836
+ modelCatalog: [],
3837
+ latestTriggerPoll: undefined,
3838
+ goal: undefined,
3839
+ controlPlanePrompt: undefined,
3840
+ extensions: undefined,
3841
+ };
3842
+ }
3843
+ export const SessionRuntime = {
3844
+ encode(message, writer = new BinaryWriter()) {
3845
+ if (message.model !== undefined) {
3846
+ ModelRef.encode(message.model, writer.uint32(10).fork()).join();
3847
+ }
3848
+ if (message.thinkingLevel !== 0) {
3849
+ writer.uint32(16).int32(message.thinkingLevel);
3850
+ }
3851
+ writer.uint32(26).fork();
3852
+ for (const v of message.supportedThinkingLevels) {
3853
+ writer.int32(v);
3854
+ }
3855
+ writer.join();
3856
+ if (message.contextUsage !== undefined) {
3857
+ ContextUsage.encode(message.contextUsage, writer.uint32(34).fork()).join();
3858
+ }
3859
+ if (message.sessionContextUsage !== undefined) {
3860
+ ContextUsage.encode(message.sessionContextUsage, writer.uint32(42).fork()).join();
3861
+ }
3862
+ if (message.tuiMaxFeedLines !== undefined) {
3863
+ writer.uint32(48).uint32(message.tuiMaxFeedLines);
3864
+ }
3865
+ for (const v of message.modelCatalog) {
3866
+ ProviderGroup.encode(v, writer.uint32(58).fork()).join();
3867
+ }
3868
+ if (message.latestTriggerPoll !== undefined) {
3869
+ TriggerPollStatus.encode(message.latestTriggerPoll, writer.uint32(66).fork()).join();
3870
+ }
3871
+ if (message.goal !== undefined) {
3872
+ GoalSnapshot.encode(message.goal, writer.uint32(74).fork()).join();
3873
+ }
3874
+ if (message.controlPlanePrompt !== undefined) {
3875
+ ControlPlanePromptSnapshot.encode(message.controlPlanePrompt, writer.uint32(82).fork()).join();
3876
+ }
3877
+ if (message.extensions !== undefined) {
3878
+ ExtensionSnapshot.encode(message.extensions, writer.uint32(90).fork()).join();
3879
+ }
3880
+ return writer;
3881
+ },
3882
+ decode(input, length) {
3883
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
3884
+ const end = length === undefined ? reader.len : reader.pos + length;
3885
+ const message = createBaseSessionRuntime();
3886
+ while (reader.pos < end) {
3887
+ const tag = reader.uint32();
3888
+ switch (tag >>> 3) {
3889
+ case 1: {
3890
+ if (tag !== 10) {
3891
+ break;
3892
+ }
3893
+ message.model = ModelRef.decode(reader, reader.uint32());
3894
+ continue;
3895
+ }
3896
+ case 2: {
3897
+ if (tag !== 16) {
3898
+ break;
3899
+ }
3900
+ message.thinkingLevel = reader.int32();
3901
+ continue;
3902
+ }
3903
+ case 3: {
3904
+ if (tag === 24) {
3905
+ message.supportedThinkingLevels.push(reader.int32());
3906
+ continue;
3907
+ }
3908
+ if (tag === 26) {
3909
+ const end2 = reader.uint32() + reader.pos;
3910
+ while (reader.pos < end2) {
3911
+ message.supportedThinkingLevels.push(reader.int32());
3912
+ }
3913
+ continue;
3914
+ }
3915
+ break;
3916
+ }
3917
+ case 4: {
3918
+ if (tag !== 34) {
3919
+ break;
3920
+ }
3921
+ message.contextUsage = ContextUsage.decode(reader, reader.uint32());
3922
+ continue;
3923
+ }
3924
+ case 5: {
3925
+ if (tag !== 42) {
3926
+ break;
3927
+ }
3928
+ message.sessionContextUsage = ContextUsage.decode(reader, reader.uint32());
3929
+ continue;
3930
+ }
3931
+ case 6: {
3932
+ if (tag !== 48) {
3933
+ break;
3934
+ }
3935
+ message.tuiMaxFeedLines = reader.uint32();
3936
+ continue;
3937
+ }
3938
+ case 7: {
3939
+ if (tag !== 58) {
3940
+ break;
3941
+ }
3942
+ message.modelCatalog.push(ProviderGroup.decode(reader, reader.uint32()));
3943
+ continue;
3944
+ }
3945
+ case 8: {
3946
+ if (tag !== 66) {
3947
+ break;
3948
+ }
3949
+ message.latestTriggerPoll = TriggerPollStatus.decode(reader, reader.uint32());
3950
+ continue;
3951
+ }
3952
+ case 9: {
3953
+ if (tag !== 74) {
3954
+ break;
3955
+ }
3956
+ message.goal = GoalSnapshot.decode(reader, reader.uint32());
3957
+ continue;
3958
+ }
3959
+ case 10: {
3960
+ if (tag !== 82) {
3961
+ break;
3962
+ }
3963
+ message.controlPlanePrompt = ControlPlanePromptSnapshot.decode(reader, reader.uint32());
3964
+ continue;
3965
+ }
3966
+ case 11: {
3967
+ if (tag !== 90) {
3968
+ break;
3969
+ }
3970
+ message.extensions = ExtensionSnapshot.decode(reader, reader.uint32());
3971
+ continue;
3972
+ }
3973
+ }
3974
+ if ((tag & 7) === 4 || tag === 0) {
3975
+ break;
3976
+ }
3977
+ reader.skip(tag & 7);
3978
+ }
3979
+ return message;
3980
+ },
3981
+ fromJSON(object) {
3982
+ return {
3983
+ model: isSet(object.model) ? ModelRef.fromJSON(object.model) : undefined,
3984
+ thinkingLevel: isSet(object.thinkingLevel)
3985
+ ? thinkingLevelFromJSON(object.thinkingLevel)
3986
+ : isSet(object.thinking_level)
3987
+ ? thinkingLevelFromJSON(object.thinking_level)
3988
+ : 0,
3989
+ supportedThinkingLevels: globalThis.Array.isArray(object?.supportedThinkingLevels)
3990
+ ? object.supportedThinkingLevels.map((e) => thinkingLevelFromJSON(e))
3991
+ : globalThis.Array.isArray(object?.supported_thinking_levels)
3992
+ ? object.supported_thinking_levels.map((e) => thinkingLevelFromJSON(e))
3993
+ : [],
3994
+ contextUsage: isSet(object.contextUsage)
3995
+ ? ContextUsage.fromJSON(object.contextUsage)
3996
+ : isSet(object.context_usage)
3997
+ ? ContextUsage.fromJSON(object.context_usage)
3998
+ : undefined,
3999
+ sessionContextUsage: isSet(object.sessionContextUsage)
4000
+ ? ContextUsage.fromJSON(object.sessionContextUsage)
4001
+ : isSet(object.session_context_usage)
4002
+ ? ContextUsage.fromJSON(object.session_context_usage)
4003
+ : undefined,
4004
+ tuiMaxFeedLines: isSet(object.tuiMaxFeedLines)
4005
+ ? globalThis.Number(object.tuiMaxFeedLines)
4006
+ : isSet(object.tui_max_feed_lines)
4007
+ ? globalThis.Number(object.tui_max_feed_lines)
4008
+ : undefined,
4009
+ modelCatalog: globalThis.Array.isArray(object?.modelCatalog)
4010
+ ? object.modelCatalog.map((e) => ProviderGroup.fromJSON(e))
4011
+ : globalThis.Array.isArray(object?.model_catalog)
4012
+ ? object.model_catalog.map((e) => ProviderGroup.fromJSON(e))
4013
+ : [],
4014
+ latestTriggerPoll: isSet(object.latestTriggerPoll)
4015
+ ? TriggerPollStatus.fromJSON(object.latestTriggerPoll)
4016
+ : isSet(object.latest_trigger_poll)
4017
+ ? TriggerPollStatus.fromJSON(object.latest_trigger_poll)
4018
+ : undefined,
4019
+ goal: isSet(object.goal) ? GoalSnapshot.fromJSON(object.goal) : undefined,
4020
+ controlPlanePrompt: isSet(object.controlPlanePrompt)
4021
+ ? ControlPlanePromptSnapshot.fromJSON(object.controlPlanePrompt)
4022
+ : isSet(object.control_plane_prompt)
4023
+ ? ControlPlanePromptSnapshot.fromJSON(object.control_plane_prompt)
4024
+ : undefined,
4025
+ extensions: isSet(object.extensions) ? ExtensionSnapshot.fromJSON(object.extensions) : undefined,
4026
+ };
4027
+ },
4028
+ toJSON(message) {
4029
+ const obj = {};
4030
+ if (message.model !== undefined) {
4031
+ obj.model = ModelRef.toJSON(message.model);
4032
+ }
4033
+ if (message.thinkingLevel !== 0) {
4034
+ obj.thinkingLevel = thinkingLevelToJSON(message.thinkingLevel);
4035
+ }
4036
+ if (message.supportedThinkingLevels?.length) {
4037
+ obj.supportedThinkingLevels = message.supportedThinkingLevels.map((e) => thinkingLevelToJSON(e));
4038
+ }
4039
+ if (message.contextUsage !== undefined) {
4040
+ obj.contextUsage = ContextUsage.toJSON(message.contextUsage);
4041
+ }
4042
+ if (message.sessionContextUsage !== undefined) {
4043
+ obj.sessionContextUsage = ContextUsage.toJSON(message.sessionContextUsage);
4044
+ }
4045
+ if (message.tuiMaxFeedLines !== undefined) {
4046
+ obj.tuiMaxFeedLines = Math.round(message.tuiMaxFeedLines);
4047
+ }
4048
+ if (message.modelCatalog?.length) {
4049
+ obj.modelCatalog = message.modelCatalog.map((e) => ProviderGroup.toJSON(e));
4050
+ }
4051
+ if (message.latestTriggerPoll !== undefined) {
4052
+ obj.latestTriggerPoll = TriggerPollStatus.toJSON(message.latestTriggerPoll);
4053
+ }
4054
+ if (message.goal !== undefined) {
4055
+ obj.goal = GoalSnapshot.toJSON(message.goal);
4056
+ }
4057
+ if (message.controlPlanePrompt !== undefined) {
4058
+ obj.controlPlanePrompt = ControlPlanePromptSnapshot.toJSON(message.controlPlanePrompt);
4059
+ }
4060
+ if (message.extensions !== undefined) {
4061
+ obj.extensions = ExtensionSnapshot.toJSON(message.extensions);
4062
+ }
4063
+ return obj;
4064
+ },
4065
+ create(base) {
4066
+ return SessionRuntime.fromPartial(base ?? {});
4067
+ },
4068
+ fromPartial(object) {
4069
+ const message = createBaseSessionRuntime();
4070
+ message.model = (object.model !== undefined && object.model !== null)
4071
+ ? ModelRef.fromPartial(object.model)
4072
+ : undefined;
4073
+ message.thinkingLevel = object.thinkingLevel ?? 0;
4074
+ message.supportedThinkingLevels = object.supportedThinkingLevels?.map((e) => e) || [];
4075
+ message.contextUsage = (object.contextUsage !== undefined && object.contextUsage !== null)
4076
+ ? ContextUsage.fromPartial(object.contextUsage)
4077
+ : undefined;
4078
+ message.sessionContextUsage = (object.sessionContextUsage !== undefined && object.sessionContextUsage !== null)
4079
+ ? ContextUsage.fromPartial(object.sessionContextUsage)
4080
+ : undefined;
4081
+ message.tuiMaxFeedLines = object.tuiMaxFeedLines ?? undefined;
4082
+ message.modelCatalog = object.modelCatalog?.map((e) => ProviderGroup.fromPartial(e)) || [];
4083
+ message.latestTriggerPoll = (object.latestTriggerPoll !== undefined && object.latestTriggerPoll !== null)
4084
+ ? TriggerPollStatus.fromPartial(object.latestTriggerPoll)
4085
+ : undefined;
4086
+ message.goal = (object.goal !== undefined && object.goal !== null)
4087
+ ? GoalSnapshot.fromPartial(object.goal)
4088
+ : undefined;
4089
+ message.controlPlanePrompt = (object.controlPlanePrompt !== undefined && object.controlPlanePrompt !== null)
4090
+ ? ControlPlanePromptSnapshot.fromPartial(object.controlPlanePrompt)
4091
+ : undefined;
4092
+ message.extensions = (object.extensions !== undefined && object.extensions !== null)
4093
+ ? ExtensionSnapshot.fromPartial(object.extensions)
4094
+ : undefined;
4095
+ return message;
4096
+ },
4097
+ };
4098
+ function createBaseSessionFeed() {
4099
+ return { blocks: [], lines: [], blocksBase: "0", linesBase: "0", blockPatches: [] };
4100
+ }
4101
+ export const SessionFeed = {
4102
+ encode(message, writer = new BinaryWriter()) {
4103
+ for (const v of message.blocks) {
4104
+ FeedBlock.encode(v, writer.uint32(10).fork()).join();
4105
+ }
4106
+ for (const v of message.lines) {
4107
+ writer.uint32(18).string(v);
4108
+ }
4109
+ if (message.blocksBase !== "0") {
4110
+ writer.uint32(24).uint64(message.blocksBase);
4111
+ }
4112
+ if (message.linesBase !== "0") {
4113
+ writer.uint32(32).uint64(message.linesBase);
4114
+ }
4115
+ for (const v of message.blockPatches) {
4116
+ FeedBlockPatch.encode(v, writer.uint32(42).fork()).join();
4117
+ }
4118
+ return writer;
4119
+ },
4120
+ decode(input, length) {
4121
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4122
+ const end = length === undefined ? reader.len : reader.pos + length;
4123
+ const message = createBaseSessionFeed();
4124
+ while (reader.pos < end) {
4125
+ const tag = reader.uint32();
4126
+ switch (tag >>> 3) {
4127
+ case 1: {
4128
+ if (tag !== 10) {
4129
+ break;
4130
+ }
4131
+ message.blocks.push(FeedBlock.decode(reader, reader.uint32()));
4132
+ continue;
4133
+ }
4134
+ case 2: {
4135
+ if (tag !== 18) {
4136
+ break;
4137
+ }
4138
+ message.lines.push(reader.string());
4139
+ continue;
4140
+ }
4141
+ case 3: {
4142
+ if (tag !== 24) {
4143
+ break;
4144
+ }
4145
+ message.blocksBase = reader.uint64().toString();
4146
+ continue;
4147
+ }
4148
+ case 4: {
4149
+ if (tag !== 32) {
4150
+ break;
4151
+ }
4152
+ message.linesBase = reader.uint64().toString();
4153
+ continue;
4154
+ }
4155
+ case 5: {
4156
+ if (tag !== 42) {
4157
+ break;
4158
+ }
4159
+ message.blockPatches.push(FeedBlockPatch.decode(reader, reader.uint32()));
4160
+ continue;
4161
+ }
4162
+ }
4163
+ if ((tag & 7) === 4 || tag === 0) {
4164
+ break;
4165
+ }
4166
+ reader.skip(tag & 7);
4167
+ }
4168
+ return message;
4169
+ },
4170
+ fromJSON(object) {
4171
+ return {
4172
+ blocks: globalThis.Array.isArray(object?.blocks) ? object.blocks.map((e) => FeedBlock.fromJSON(e)) : [],
4173
+ lines: globalThis.Array.isArray(object?.lines) ? object.lines.map((e) => globalThis.String(e)) : [],
4174
+ blocksBase: isSet(object.blocksBase)
4175
+ ? globalThis.String(object.blocksBase)
4176
+ : isSet(object.blocks_base)
4177
+ ? globalThis.String(object.blocks_base)
4178
+ : "0",
4179
+ linesBase: isSet(object.linesBase)
4180
+ ? globalThis.String(object.linesBase)
4181
+ : isSet(object.lines_base)
4182
+ ? globalThis.String(object.lines_base)
4183
+ : "0",
4184
+ blockPatches: globalThis.Array.isArray(object?.blockPatches)
4185
+ ? object.blockPatches.map((e) => FeedBlockPatch.fromJSON(e))
4186
+ : globalThis.Array.isArray(object?.block_patches)
4187
+ ? object.block_patches.map((e) => FeedBlockPatch.fromJSON(e))
4188
+ : [],
4189
+ };
4190
+ },
4191
+ toJSON(message) {
4192
+ const obj = {};
4193
+ if (message.blocks?.length) {
4194
+ obj.blocks = message.blocks.map((e) => FeedBlock.toJSON(e));
4195
+ }
4196
+ if (message.lines?.length) {
4197
+ obj.lines = message.lines;
4198
+ }
4199
+ if (message.blocksBase !== "0") {
4200
+ obj.blocksBase = message.blocksBase;
4201
+ }
4202
+ if (message.linesBase !== "0") {
4203
+ obj.linesBase = message.linesBase;
4204
+ }
4205
+ if (message.blockPatches?.length) {
4206
+ obj.blockPatches = message.blockPatches.map((e) => FeedBlockPatch.toJSON(e));
4207
+ }
4208
+ return obj;
4209
+ },
4210
+ create(base) {
4211
+ return SessionFeed.fromPartial(base ?? {});
4212
+ },
4213
+ fromPartial(object) {
4214
+ const message = createBaseSessionFeed();
4215
+ message.blocks = object.blocks?.map((e) => FeedBlock.fromPartial(e)) || [];
4216
+ message.lines = object.lines?.map((e) => e) || [];
4217
+ message.blocksBase = object.blocksBase ?? "0";
4218
+ message.linesBase = object.linesBase ?? "0";
4219
+ message.blockPatches = object.blockPatches?.map((e) => FeedBlockPatch.fromPartial(e)) || [];
4220
+ return message;
4221
+ },
4222
+ };
4223
+ function createBaseSessionGraphState() {
4224
+ return { dags: [], subagents: [], nodes: [], activeNodeId: undefined };
4225
+ }
4226
+ export const SessionGraphState = {
4227
+ encode(message, writer = new BinaryWriter()) {
4228
+ for (const v of message.dags) {
4229
+ DagRunSnapshot.encode(v, writer.uint32(10).fork()).join();
4230
+ }
4231
+ for (const v of message.subagents) {
4232
+ SubagentJobSnapshot.encode(v, writer.uint32(18).fork()).join();
4233
+ }
4234
+ for (const v of message.nodes) {
4235
+ SessionGraphNode.encode(v, writer.uint32(26).fork()).join();
4236
+ }
4237
+ if (message.activeNodeId !== undefined) {
4238
+ writer.uint32(34).string(message.activeNodeId);
4239
+ }
4240
+ return writer;
4241
+ },
4242
+ decode(input, length) {
4243
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4244
+ const end = length === undefined ? reader.len : reader.pos + length;
4245
+ const message = createBaseSessionGraphState();
4246
+ while (reader.pos < end) {
4247
+ const tag = reader.uint32();
4248
+ switch (tag >>> 3) {
4249
+ case 1: {
4250
+ if (tag !== 10) {
4251
+ break;
4252
+ }
4253
+ message.dags.push(DagRunSnapshot.decode(reader, reader.uint32()));
4254
+ continue;
4255
+ }
4256
+ case 2: {
4257
+ if (tag !== 18) {
4258
+ break;
4259
+ }
4260
+ message.subagents.push(SubagentJobSnapshot.decode(reader, reader.uint32()));
4261
+ continue;
4262
+ }
4263
+ case 3: {
4264
+ if (tag !== 26) {
4265
+ break;
4266
+ }
4267
+ message.nodes.push(SessionGraphNode.decode(reader, reader.uint32()));
4268
+ continue;
4269
+ }
4270
+ case 4: {
4271
+ if (tag !== 34) {
4272
+ break;
4273
+ }
4274
+ message.activeNodeId = reader.string();
4275
+ continue;
4276
+ }
4277
+ }
4278
+ if ((tag & 7) === 4 || tag === 0) {
4279
+ break;
4280
+ }
4281
+ reader.skip(tag & 7);
4282
+ }
4283
+ return message;
4284
+ },
4285
+ fromJSON(object) {
4286
+ return {
4287
+ dags: globalThis.Array.isArray(object?.dags) ? object.dags.map((e) => DagRunSnapshot.fromJSON(e)) : [],
4288
+ subagents: globalThis.Array.isArray(object?.subagents)
4289
+ ? object.subagents.map((e) => SubagentJobSnapshot.fromJSON(e))
4290
+ : [],
4291
+ nodes: globalThis.Array.isArray(object?.nodes) ? object.nodes.map((e) => SessionGraphNode.fromJSON(e)) : [],
4292
+ activeNodeId: isSet(object.activeNodeId)
4293
+ ? globalThis.String(object.activeNodeId)
4294
+ : isSet(object.active_node_id)
4295
+ ? globalThis.String(object.active_node_id)
4296
+ : undefined,
4297
+ };
4298
+ },
4299
+ toJSON(message) {
4300
+ const obj = {};
4301
+ if (message.dags?.length) {
4302
+ obj.dags = message.dags.map((e) => DagRunSnapshot.toJSON(e));
4303
+ }
4304
+ if (message.subagents?.length) {
4305
+ obj.subagents = message.subagents.map((e) => SubagentJobSnapshot.toJSON(e));
4306
+ }
4307
+ if (message.nodes?.length) {
4308
+ obj.nodes = message.nodes.map((e) => SessionGraphNode.toJSON(e));
4309
+ }
4310
+ if (message.activeNodeId !== undefined) {
4311
+ obj.activeNodeId = message.activeNodeId;
4312
+ }
4313
+ return obj;
4314
+ },
4315
+ create(base) {
4316
+ return SessionGraphState.fromPartial(base ?? {});
4317
+ },
4318
+ fromPartial(object) {
4319
+ const message = createBaseSessionGraphState();
4320
+ message.dags = object.dags?.map((e) => DagRunSnapshot.fromPartial(e)) || [];
4321
+ message.subagents = object.subagents?.map((e) => SubagentJobSnapshot.fromPartial(e)) || [];
4322
+ message.nodes = object.nodes?.map((e) => SessionGraphNode.fromPartial(e)) || [];
4323
+ message.activeNodeId = object.activeNodeId ?? undefined;
4324
+ return message;
4325
+ },
4326
+ };
4327
+ function createBaseSessionLineage() {
4328
+ return {
4329
+ parentSessionId: undefined,
4330
+ rootSessionId: undefined,
4331
+ ancestorSessionIds: [],
4332
+ childSessionIds: [],
4333
+ collapsedFromSessionId: undefined,
4334
+ collapsedIntoSessionId: undefined,
4335
+ };
4336
+ }
4337
+ export const SessionLineage = {
4338
+ encode(message, writer = new BinaryWriter()) {
4339
+ if (message.parentSessionId !== undefined) {
4340
+ writer.uint32(10).string(message.parentSessionId);
4341
+ }
4342
+ if (message.rootSessionId !== undefined) {
4343
+ writer.uint32(18).string(message.rootSessionId);
4344
+ }
4345
+ for (const v of message.ancestorSessionIds) {
4346
+ writer.uint32(26).string(v);
4347
+ }
4348
+ for (const v of message.childSessionIds) {
4349
+ writer.uint32(34).string(v);
4350
+ }
4351
+ if (message.collapsedFromSessionId !== undefined) {
4352
+ writer.uint32(42).string(message.collapsedFromSessionId);
4353
+ }
4354
+ if (message.collapsedIntoSessionId !== undefined) {
4355
+ writer.uint32(50).string(message.collapsedIntoSessionId);
4356
+ }
4357
+ return writer;
4358
+ },
4359
+ decode(input, length) {
4360
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4361
+ const end = length === undefined ? reader.len : reader.pos + length;
4362
+ const message = createBaseSessionLineage();
4363
+ while (reader.pos < end) {
4364
+ const tag = reader.uint32();
4365
+ switch (tag >>> 3) {
4366
+ case 1: {
4367
+ if (tag !== 10) {
4368
+ break;
4369
+ }
4370
+ message.parentSessionId = reader.string();
4371
+ continue;
4372
+ }
4373
+ case 2: {
4374
+ if (tag !== 18) {
4375
+ break;
4376
+ }
4377
+ message.rootSessionId = reader.string();
4378
+ continue;
4379
+ }
4380
+ case 3: {
4381
+ if (tag !== 26) {
4382
+ break;
4383
+ }
4384
+ message.ancestorSessionIds.push(reader.string());
4385
+ continue;
4386
+ }
4387
+ case 4: {
4388
+ if (tag !== 34) {
4389
+ break;
4390
+ }
4391
+ message.childSessionIds.push(reader.string());
4392
+ continue;
4393
+ }
4394
+ case 5: {
4395
+ if (tag !== 42) {
4396
+ break;
4397
+ }
4398
+ message.collapsedFromSessionId = reader.string();
4399
+ continue;
4400
+ }
4401
+ case 6: {
4402
+ if (tag !== 50) {
4403
+ break;
4404
+ }
4405
+ message.collapsedIntoSessionId = reader.string();
4406
+ continue;
4407
+ }
4408
+ }
4409
+ if ((tag & 7) === 4 || tag === 0) {
4410
+ break;
4411
+ }
4412
+ reader.skip(tag & 7);
4413
+ }
4414
+ return message;
4415
+ },
4416
+ fromJSON(object) {
4417
+ return {
4418
+ parentSessionId: isSet(object.parentSessionId)
4419
+ ? globalThis.String(object.parentSessionId)
4420
+ : isSet(object.parent_session_id)
4421
+ ? globalThis.String(object.parent_session_id)
4422
+ : undefined,
4423
+ rootSessionId: isSet(object.rootSessionId)
4424
+ ? globalThis.String(object.rootSessionId)
4425
+ : isSet(object.root_session_id)
4426
+ ? globalThis.String(object.root_session_id)
4427
+ : undefined,
4428
+ ancestorSessionIds: globalThis.Array.isArray(object?.ancestorSessionIds)
4429
+ ? object.ancestorSessionIds.map((e) => globalThis.String(e))
4430
+ : globalThis.Array.isArray(object?.ancestor_session_ids)
4431
+ ? object.ancestor_session_ids.map((e) => globalThis.String(e))
4432
+ : [],
4433
+ childSessionIds: globalThis.Array.isArray(object?.childSessionIds)
4434
+ ? object.childSessionIds.map((e) => globalThis.String(e))
4435
+ : globalThis.Array.isArray(object?.child_session_ids)
4436
+ ? object.child_session_ids.map((e) => globalThis.String(e))
4437
+ : [],
4438
+ collapsedFromSessionId: isSet(object.collapsedFromSessionId)
4439
+ ? globalThis.String(object.collapsedFromSessionId)
4440
+ : isSet(object.collapsed_from_session_id)
4441
+ ? globalThis.String(object.collapsed_from_session_id)
4442
+ : undefined,
4443
+ collapsedIntoSessionId: isSet(object.collapsedIntoSessionId)
4444
+ ? globalThis.String(object.collapsedIntoSessionId)
4445
+ : isSet(object.collapsed_into_session_id)
4446
+ ? globalThis.String(object.collapsed_into_session_id)
4447
+ : undefined,
4448
+ };
4449
+ },
4450
+ toJSON(message) {
4451
+ const obj = {};
4452
+ if (message.parentSessionId !== undefined) {
4453
+ obj.parentSessionId = message.parentSessionId;
4454
+ }
4455
+ if (message.rootSessionId !== undefined) {
4456
+ obj.rootSessionId = message.rootSessionId;
4457
+ }
4458
+ if (message.ancestorSessionIds?.length) {
4459
+ obj.ancestorSessionIds = message.ancestorSessionIds;
4460
+ }
4461
+ if (message.childSessionIds?.length) {
4462
+ obj.childSessionIds = message.childSessionIds;
4463
+ }
4464
+ if (message.collapsedFromSessionId !== undefined) {
4465
+ obj.collapsedFromSessionId = message.collapsedFromSessionId;
4466
+ }
4467
+ if (message.collapsedIntoSessionId !== undefined) {
4468
+ obj.collapsedIntoSessionId = message.collapsedIntoSessionId;
4469
+ }
4470
+ return obj;
4471
+ },
4472
+ create(base) {
4473
+ return SessionLineage.fromPartial(base ?? {});
4474
+ },
4475
+ fromPartial(object) {
4476
+ const message = createBaseSessionLineage();
4477
+ message.parentSessionId = object.parentSessionId ?? undefined;
4478
+ message.rootSessionId = object.rootSessionId ?? undefined;
4479
+ message.ancestorSessionIds = object.ancestorSessionIds?.map((e) => e) || [];
4480
+ message.childSessionIds = object.childSessionIds?.map((e) => e) || [];
4481
+ message.collapsedFromSessionId = object.collapsedFromSessionId ?? undefined;
4482
+ message.collapsedIntoSessionId = object.collapsedIntoSessionId ?? undefined;
4483
+ return message;
4484
+ },
4485
+ };
4486
+ function createBaseSessionSnapshot() {
4487
+ return {
4488
+ sessionId: "",
4489
+ info: undefined,
4490
+ runtime: undefined,
4491
+ feed: undefined,
4492
+ graphState: undefined,
4493
+ lineage: undefined,
4494
+ };
4495
+ }
4496
+ export const SessionSnapshot = {
4497
+ encode(message, writer = new BinaryWriter()) {
4498
+ if (message.sessionId !== "") {
4499
+ writer.uint32(10).string(message.sessionId);
4500
+ }
4501
+ if (message.info !== undefined) {
4502
+ SessionInfo.encode(message.info, writer.uint32(18).fork()).join();
4503
+ }
4504
+ if (message.runtime !== undefined) {
4505
+ SessionRuntime.encode(message.runtime, writer.uint32(26).fork()).join();
4506
+ }
4507
+ if (message.feed !== undefined) {
4508
+ SessionFeed.encode(message.feed, writer.uint32(34).fork()).join();
4509
+ }
4510
+ if (message.graphState !== undefined) {
4511
+ SessionGraphState.encode(message.graphState, writer.uint32(42).fork()).join();
4512
+ }
4513
+ if (message.lineage !== undefined) {
4514
+ SessionLineage.encode(message.lineage, writer.uint32(50).fork()).join();
4515
+ }
4516
+ return writer;
4517
+ },
4518
+ decode(input, length) {
4519
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4520
+ const end = length === undefined ? reader.len : reader.pos + length;
4521
+ const message = createBaseSessionSnapshot();
4522
+ while (reader.pos < end) {
4523
+ const tag = reader.uint32();
4524
+ switch (tag >>> 3) {
4525
+ case 1: {
4526
+ if (tag !== 10) {
4527
+ break;
4528
+ }
4529
+ message.sessionId = reader.string();
4530
+ continue;
4531
+ }
4532
+ case 2: {
4533
+ if (tag !== 18) {
4534
+ break;
4535
+ }
4536
+ message.info = SessionInfo.decode(reader, reader.uint32());
4537
+ continue;
4538
+ }
4539
+ case 3: {
4540
+ if (tag !== 26) {
4541
+ break;
4542
+ }
4543
+ message.runtime = SessionRuntime.decode(reader, reader.uint32());
4544
+ continue;
4545
+ }
4546
+ case 4: {
4547
+ if (tag !== 34) {
4548
+ break;
4549
+ }
4550
+ message.feed = SessionFeed.decode(reader, reader.uint32());
4551
+ continue;
4552
+ }
4553
+ case 5: {
4554
+ if (tag !== 42) {
4555
+ break;
4556
+ }
4557
+ message.graphState = SessionGraphState.decode(reader, reader.uint32());
4558
+ continue;
4559
+ }
4560
+ case 6: {
4561
+ if (tag !== 50) {
4562
+ break;
4563
+ }
4564
+ message.lineage = SessionLineage.decode(reader, reader.uint32());
4565
+ continue;
4566
+ }
4567
+ }
4568
+ if ((tag & 7) === 4 || tag === 0) {
4569
+ break;
4570
+ }
4571
+ reader.skip(tag & 7);
4572
+ }
4573
+ return message;
4574
+ },
4575
+ fromJSON(object) {
4576
+ return {
4577
+ sessionId: isSet(object.sessionId)
4578
+ ? globalThis.String(object.sessionId)
4579
+ : isSet(object.session_id)
4580
+ ? globalThis.String(object.session_id)
4581
+ : "",
4582
+ info: isSet(object.info) ? SessionInfo.fromJSON(object.info) : undefined,
4583
+ runtime: isSet(object.runtime) ? SessionRuntime.fromJSON(object.runtime) : undefined,
4584
+ feed: isSet(object.feed) ? SessionFeed.fromJSON(object.feed) : undefined,
4585
+ graphState: isSet(object.graphState)
4586
+ ? SessionGraphState.fromJSON(object.graphState)
4587
+ : isSet(object.graph_state)
4588
+ ? SessionGraphState.fromJSON(object.graph_state)
4589
+ : undefined,
4590
+ lineage: isSet(object.lineage) ? SessionLineage.fromJSON(object.lineage) : undefined,
4591
+ };
4592
+ },
4593
+ toJSON(message) {
4594
+ const obj = {};
4595
+ if (message.sessionId !== "") {
4596
+ obj.sessionId = message.sessionId;
4597
+ }
4598
+ if (message.info !== undefined) {
4599
+ obj.info = SessionInfo.toJSON(message.info);
4600
+ }
4601
+ if (message.runtime !== undefined) {
4602
+ obj.runtime = SessionRuntime.toJSON(message.runtime);
4603
+ }
4604
+ if (message.feed !== undefined) {
4605
+ obj.feed = SessionFeed.toJSON(message.feed);
4606
+ }
4607
+ if (message.graphState !== undefined) {
4608
+ obj.graphState = SessionGraphState.toJSON(message.graphState);
4609
+ }
4610
+ if (message.lineage !== undefined) {
4611
+ obj.lineage = SessionLineage.toJSON(message.lineage);
4612
+ }
4613
+ return obj;
4614
+ },
4615
+ create(base) {
4616
+ return SessionSnapshot.fromPartial(base ?? {});
4617
+ },
4618
+ fromPartial(object) {
4619
+ const message = createBaseSessionSnapshot();
4620
+ message.sessionId = object.sessionId ?? "";
4621
+ message.info = (object.info !== undefined && object.info !== null)
4622
+ ? SessionInfo.fromPartial(object.info)
4623
+ : undefined;
4624
+ message.runtime = (object.runtime !== undefined && object.runtime !== null)
4625
+ ? SessionRuntime.fromPartial(object.runtime)
4626
+ : undefined;
4627
+ message.feed = (object.feed !== undefined && object.feed !== null)
4628
+ ? SessionFeed.fromPartial(object.feed)
4629
+ : undefined;
4630
+ message.graphState = (object.graphState !== undefined && object.graphState !== null)
4631
+ ? SessionGraphState.fromPartial(object.graphState)
4632
+ : undefined;
4633
+ message.lineage = (object.lineage !== undefined && object.lineage !== null)
4634
+ ? SessionLineage.fromPartial(object.lineage)
4635
+ : undefined;
4636
+ return message;
4637
+ },
4638
+ };
4639
+ function createBaseCollapseSessionRequest() {
4640
+ return { sessionId: "", intoSessionId: undefined, title: undefined, summary: undefined };
4641
+ }
4642
+ export const CollapseSessionRequest = {
4643
+ encode(message, writer = new BinaryWriter()) {
4644
+ if (message.sessionId !== "") {
4645
+ writer.uint32(10).string(message.sessionId);
4646
+ }
4647
+ if (message.intoSessionId !== undefined) {
4648
+ writer.uint32(18).string(message.intoSessionId);
4649
+ }
4650
+ if (message.title !== undefined) {
4651
+ writer.uint32(26).string(message.title);
4652
+ }
4653
+ if (message.summary !== undefined) {
4654
+ writer.uint32(34).string(message.summary);
4655
+ }
4656
+ return writer;
4657
+ },
4658
+ decode(input, length) {
4659
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4660
+ const end = length === undefined ? reader.len : reader.pos + length;
4661
+ const message = createBaseCollapseSessionRequest();
4662
+ while (reader.pos < end) {
4663
+ const tag = reader.uint32();
4664
+ switch (tag >>> 3) {
4665
+ case 1: {
4666
+ if (tag !== 10) {
4667
+ break;
4668
+ }
4669
+ message.sessionId = reader.string();
4670
+ continue;
4671
+ }
4672
+ case 2: {
4673
+ if (tag !== 18) {
4674
+ break;
4675
+ }
4676
+ message.intoSessionId = reader.string();
4677
+ continue;
4678
+ }
4679
+ case 3: {
4680
+ if (tag !== 26) {
4681
+ break;
4682
+ }
4683
+ message.title = reader.string();
4684
+ continue;
4685
+ }
4686
+ case 4: {
4687
+ if (tag !== 34) {
4688
+ break;
4689
+ }
4690
+ message.summary = reader.string();
4691
+ continue;
4692
+ }
4693
+ }
4694
+ if ((tag & 7) === 4 || tag === 0) {
4695
+ break;
4696
+ }
4697
+ reader.skip(tag & 7);
4698
+ }
4699
+ return message;
4700
+ },
4701
+ fromJSON(object) {
4702
+ return {
4703
+ sessionId: isSet(object.sessionId)
4704
+ ? globalThis.String(object.sessionId)
4705
+ : isSet(object.session_id)
4706
+ ? globalThis.String(object.session_id)
4707
+ : "",
4708
+ intoSessionId: isSet(object.intoSessionId)
4709
+ ? globalThis.String(object.intoSessionId)
4710
+ : isSet(object.into_session_id)
4711
+ ? globalThis.String(object.into_session_id)
4712
+ : undefined,
4713
+ title: isSet(object.title) ? globalThis.String(object.title) : undefined,
4714
+ summary: isSet(object.summary) ? globalThis.String(object.summary) : undefined,
4715
+ };
4716
+ },
4717
+ toJSON(message) {
4718
+ const obj = {};
4719
+ if (message.sessionId !== "") {
4720
+ obj.sessionId = message.sessionId;
4721
+ }
4722
+ if (message.intoSessionId !== undefined) {
4723
+ obj.intoSessionId = message.intoSessionId;
4724
+ }
4725
+ if (message.title !== undefined) {
4726
+ obj.title = message.title;
4727
+ }
4728
+ if (message.summary !== undefined) {
4729
+ obj.summary = message.summary;
4730
+ }
4731
+ return obj;
4732
+ },
4733
+ create(base) {
4734
+ return CollapseSessionRequest.fromPartial(base ?? {});
4735
+ },
4736
+ fromPartial(object) {
4737
+ const message = createBaseCollapseSessionRequest();
4738
+ message.sessionId = object.sessionId ?? "";
4739
+ message.intoSessionId = object.intoSessionId ?? undefined;
4740
+ message.title = object.title ?? undefined;
4741
+ message.summary = object.summary ?? undefined;
4742
+ return message;
4743
+ },
4744
+ };
4745
+ function createBaseCollapseSessionResponse() {
4746
+ return { sessionId: "", node: undefined, collapsed: undefined };
4747
+ }
4748
+ export const CollapseSessionResponse = {
4749
+ encode(message, writer = new BinaryWriter()) {
4750
+ if (message.sessionId !== "") {
4751
+ writer.uint32(10).string(message.sessionId);
4752
+ }
4753
+ if (message.node !== undefined) {
4754
+ SessionGraphNode.encode(message.node, writer.uint32(18).fork()).join();
4755
+ }
4756
+ if (message.collapsed !== undefined) {
4757
+ CollapsedSessionNode.encode(message.collapsed, writer.uint32(26).fork()).join();
4758
+ }
4759
+ return writer;
4760
+ },
4761
+ decode(input, length) {
4762
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4763
+ const end = length === undefined ? reader.len : reader.pos + length;
4764
+ const message = createBaseCollapseSessionResponse();
4765
+ while (reader.pos < end) {
4766
+ const tag = reader.uint32();
4767
+ switch (tag >>> 3) {
4768
+ case 1: {
4769
+ if (tag !== 10) {
4770
+ break;
4771
+ }
4772
+ message.sessionId = reader.string();
4773
+ continue;
4774
+ }
4775
+ case 2: {
4776
+ if (tag !== 18) {
4777
+ break;
4778
+ }
4779
+ message.node = SessionGraphNode.decode(reader, reader.uint32());
4780
+ continue;
4781
+ }
4782
+ case 3: {
4783
+ if (tag !== 26) {
4784
+ break;
4785
+ }
4786
+ message.collapsed = CollapsedSessionNode.decode(reader, reader.uint32());
4787
+ continue;
4788
+ }
4789
+ }
4790
+ if ((tag & 7) === 4 || tag === 0) {
4791
+ break;
4792
+ }
4793
+ reader.skip(tag & 7);
4794
+ }
4795
+ return message;
4796
+ },
4797
+ fromJSON(object) {
4798
+ return {
4799
+ sessionId: isSet(object.sessionId)
4800
+ ? globalThis.String(object.sessionId)
4801
+ : isSet(object.session_id)
4802
+ ? globalThis.String(object.session_id)
4803
+ : "",
4804
+ node: isSet(object.node) ? SessionGraphNode.fromJSON(object.node) : undefined,
4805
+ collapsed: isSet(object.collapsed) ? CollapsedSessionNode.fromJSON(object.collapsed) : undefined,
4806
+ };
4807
+ },
4808
+ toJSON(message) {
4809
+ const obj = {};
4810
+ if (message.sessionId !== "") {
4811
+ obj.sessionId = message.sessionId;
4812
+ }
4813
+ if (message.node !== undefined) {
4814
+ obj.node = SessionGraphNode.toJSON(message.node);
4815
+ }
4816
+ if (message.collapsed !== undefined) {
4817
+ obj.collapsed = CollapsedSessionNode.toJSON(message.collapsed);
4818
+ }
4819
+ return obj;
4820
+ },
4821
+ create(base) {
4822
+ return CollapseSessionResponse.fromPartial(base ?? {});
4823
+ },
4824
+ fromPartial(object) {
4825
+ const message = createBaseCollapseSessionResponse();
4826
+ message.sessionId = object.sessionId ?? "";
4827
+ message.node = (object.node !== undefined && object.node !== null)
4828
+ ? SessionGraphNode.fromPartial(object.node)
4829
+ : undefined;
4830
+ message.collapsed = (object.collapsed !== undefined && object.collapsed !== null)
4831
+ ? CollapsedSessionNode.fromPartial(object.collapsed)
4832
+ : undefined;
4833
+ return message;
4834
+ },
4835
+ };
4836
+ function createBaseGetSessionGraphNodeRequest() {
4837
+ return { sessionId: "", nodeId: "" };
4838
+ }
4839
+ export const GetSessionGraphNodeRequest = {
4840
+ encode(message, writer = new BinaryWriter()) {
4841
+ if (message.sessionId !== "") {
4842
+ writer.uint32(10).string(message.sessionId);
4843
+ }
4844
+ if (message.nodeId !== "") {
4845
+ writer.uint32(18).string(message.nodeId);
4846
+ }
4847
+ return writer;
4848
+ },
4849
+ decode(input, length) {
4850
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4851
+ const end = length === undefined ? reader.len : reader.pos + length;
4852
+ const message = createBaseGetSessionGraphNodeRequest();
4853
+ while (reader.pos < end) {
4854
+ const tag = reader.uint32();
4855
+ switch (tag >>> 3) {
4856
+ case 1: {
4857
+ if (tag !== 10) {
4858
+ break;
4859
+ }
4860
+ message.sessionId = reader.string();
4861
+ continue;
4862
+ }
4863
+ case 2: {
4864
+ if (tag !== 18) {
4865
+ break;
4866
+ }
4867
+ message.nodeId = reader.string();
4868
+ continue;
4869
+ }
4870
+ }
4871
+ if ((tag & 7) === 4 || tag === 0) {
4872
+ break;
4873
+ }
4874
+ reader.skip(tag & 7);
4875
+ }
4876
+ return message;
4877
+ },
4878
+ fromJSON(object) {
4879
+ return {
4880
+ sessionId: isSet(object.sessionId)
4881
+ ? globalThis.String(object.sessionId)
4882
+ : isSet(object.session_id)
4883
+ ? globalThis.String(object.session_id)
4884
+ : "",
4885
+ nodeId: isSet(object.nodeId)
4886
+ ? globalThis.String(object.nodeId)
4887
+ : isSet(object.node_id)
4888
+ ? globalThis.String(object.node_id)
4889
+ : "",
4890
+ };
4891
+ },
4892
+ toJSON(message) {
4893
+ const obj = {};
4894
+ if (message.sessionId !== "") {
4895
+ obj.sessionId = message.sessionId;
4896
+ }
4897
+ if (message.nodeId !== "") {
4898
+ obj.nodeId = message.nodeId;
4899
+ }
4900
+ return obj;
4901
+ },
4902
+ create(base) {
4903
+ return GetSessionGraphNodeRequest.fromPartial(base ?? {});
4904
+ },
4905
+ fromPartial(object) {
4906
+ const message = createBaseGetSessionGraphNodeRequest();
4907
+ message.sessionId = object.sessionId ?? "";
4908
+ message.nodeId = object.nodeId ?? "";
4909
+ return message;
4910
+ },
4911
+ };
4912
+ function createBaseGetSessionGraphNodeResponse() {
4913
+ return { node: undefined };
4914
+ }
4915
+ export const GetSessionGraphNodeResponse = {
4916
+ encode(message, writer = new BinaryWriter()) {
4917
+ if (message.node !== undefined) {
4918
+ SessionGraphNode.encode(message.node, writer.uint32(10).fork()).join();
4919
+ }
4920
+ return writer;
4921
+ },
4922
+ decode(input, length) {
4923
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4924
+ const end = length === undefined ? reader.len : reader.pos + length;
4925
+ const message = createBaseGetSessionGraphNodeResponse();
4926
+ while (reader.pos < end) {
4927
+ const tag = reader.uint32();
4928
+ switch (tag >>> 3) {
4929
+ case 1: {
4930
+ if (tag !== 10) {
4931
+ break;
4932
+ }
4933
+ message.node = SessionGraphNode.decode(reader, reader.uint32());
4934
+ continue;
4935
+ }
4936
+ }
4937
+ if ((tag & 7) === 4 || tag === 0) {
4938
+ break;
4939
+ }
4940
+ reader.skip(tag & 7);
4941
+ }
4942
+ return message;
4943
+ },
4944
+ fromJSON(object) {
4945
+ return { node: isSet(object.node) ? SessionGraphNode.fromJSON(object.node) : undefined };
4946
+ },
4947
+ toJSON(message) {
4948
+ const obj = {};
4949
+ if (message.node !== undefined) {
4950
+ obj.node = SessionGraphNode.toJSON(message.node);
4951
+ }
4952
+ return obj;
4953
+ },
4954
+ create(base) {
4955
+ return GetSessionGraphNodeResponse.fromPartial(base ?? {});
4956
+ },
4957
+ fromPartial(object) {
4958
+ const message = createBaseGetSessionGraphNodeResponse();
4959
+ message.node = (object.node !== undefined && object.node !== null)
4960
+ ? SessionGraphNode.fromPartial(object.node)
4961
+ : undefined;
4962
+ return message;
4963
+ },
4964
+ };
4965
+ function createBaseListSessionGraphNodeMessagesRequest() {
4966
+ return { sessionId: "", nodeId: "", offset: 0, limit: 0 };
4967
+ }
4968
+ export const ListSessionGraphNodeMessagesRequest = {
4969
+ encode(message, writer = new BinaryWriter()) {
4970
+ if (message.sessionId !== "") {
4971
+ writer.uint32(10).string(message.sessionId);
4972
+ }
4973
+ if (message.nodeId !== "") {
4974
+ writer.uint32(18).string(message.nodeId);
4975
+ }
4976
+ if (message.offset !== 0) {
4977
+ writer.uint32(24).uint32(message.offset);
4978
+ }
4979
+ if (message.limit !== 0) {
4980
+ writer.uint32(32).uint32(message.limit);
4981
+ }
4982
+ return writer;
4983
+ },
4984
+ decode(input, length) {
4985
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
4986
+ const end = length === undefined ? reader.len : reader.pos + length;
4987
+ const message = createBaseListSessionGraphNodeMessagesRequest();
4988
+ while (reader.pos < end) {
4989
+ const tag = reader.uint32();
4990
+ switch (tag >>> 3) {
4991
+ case 1: {
4992
+ if (tag !== 10) {
4993
+ break;
4994
+ }
4995
+ message.sessionId = reader.string();
4996
+ continue;
4997
+ }
4998
+ case 2: {
4999
+ if (tag !== 18) {
5000
+ break;
5001
+ }
5002
+ message.nodeId = reader.string();
5003
+ continue;
5004
+ }
5005
+ case 3: {
5006
+ if (tag !== 24) {
5007
+ break;
5008
+ }
5009
+ message.offset = reader.uint32();
5010
+ continue;
5011
+ }
5012
+ case 4: {
5013
+ if (tag !== 32) {
5014
+ break;
5015
+ }
5016
+ message.limit = reader.uint32();
5017
+ continue;
5018
+ }
5019
+ }
5020
+ if ((tag & 7) === 4 || tag === 0) {
5021
+ break;
5022
+ }
5023
+ reader.skip(tag & 7);
5024
+ }
5025
+ return message;
5026
+ },
5027
+ fromJSON(object) {
5028
+ return {
5029
+ sessionId: isSet(object.sessionId)
5030
+ ? globalThis.String(object.sessionId)
5031
+ : isSet(object.session_id)
5032
+ ? globalThis.String(object.session_id)
5033
+ : "",
5034
+ nodeId: isSet(object.nodeId)
5035
+ ? globalThis.String(object.nodeId)
5036
+ : isSet(object.node_id)
5037
+ ? globalThis.String(object.node_id)
5038
+ : "",
5039
+ offset: isSet(object.offset) ? globalThis.Number(object.offset) : 0,
5040
+ limit: isSet(object.limit) ? globalThis.Number(object.limit) : 0,
5041
+ };
5042
+ },
5043
+ toJSON(message) {
5044
+ const obj = {};
5045
+ if (message.sessionId !== "") {
5046
+ obj.sessionId = message.sessionId;
5047
+ }
5048
+ if (message.nodeId !== "") {
5049
+ obj.nodeId = message.nodeId;
5050
+ }
5051
+ if (message.offset !== 0) {
5052
+ obj.offset = Math.round(message.offset);
5053
+ }
5054
+ if (message.limit !== 0) {
5055
+ obj.limit = Math.round(message.limit);
5056
+ }
5057
+ return obj;
5058
+ },
5059
+ create(base) {
5060
+ return ListSessionGraphNodeMessagesRequest.fromPartial(base ?? {});
5061
+ },
5062
+ fromPartial(object) {
5063
+ const message = createBaseListSessionGraphNodeMessagesRequest();
5064
+ message.sessionId = object.sessionId ?? "";
5065
+ message.nodeId = object.nodeId ?? "";
5066
+ message.offset = object.offset ?? 0;
5067
+ message.limit = object.limit ?? 0;
5068
+ return message;
5069
+ },
5070
+ };
5071
+ function createBaseListSessionGraphNodeMessagesResponse() {
5072
+ return { blocks: [] };
5073
+ }
5074
+ export const ListSessionGraphNodeMessagesResponse = {
5075
+ encode(message, writer = new BinaryWriter()) {
5076
+ for (const v of message.blocks) {
5077
+ FeedBlock.encode(v, writer.uint32(10).fork()).join();
5078
+ }
5079
+ return writer;
5080
+ },
5081
+ decode(input, length) {
5082
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5083
+ const end = length === undefined ? reader.len : reader.pos + length;
5084
+ const message = createBaseListSessionGraphNodeMessagesResponse();
5085
+ while (reader.pos < end) {
5086
+ const tag = reader.uint32();
5087
+ switch (tag >>> 3) {
5088
+ case 1: {
5089
+ if (tag !== 10) {
5090
+ break;
5091
+ }
5092
+ message.blocks.push(FeedBlock.decode(reader, reader.uint32()));
5093
+ continue;
5094
+ }
5095
+ }
5096
+ if ((tag & 7) === 4 || tag === 0) {
5097
+ break;
5098
+ }
5099
+ reader.skip(tag & 7);
5100
+ }
5101
+ return message;
5102
+ },
5103
+ fromJSON(object) {
5104
+ return {
5105
+ blocks: globalThis.Array.isArray(object?.blocks) ? object.blocks.map((e) => FeedBlock.fromJSON(e)) : [],
5106
+ };
5107
+ },
5108
+ toJSON(message) {
5109
+ const obj = {};
5110
+ if (message.blocks?.length) {
5111
+ obj.blocks = message.blocks.map((e) => FeedBlock.toJSON(e));
5112
+ }
5113
+ return obj;
5114
+ },
5115
+ create(base) {
5116
+ return ListSessionGraphNodeMessagesResponse.fromPartial(base ?? {});
5117
+ },
5118
+ fromPartial(object) {
5119
+ const message = createBaseListSessionGraphNodeMessagesResponse();
5120
+ message.blocks = object.blocks?.map((e) => FeedBlock.fromPartial(e)) || [];
5121
+ return message;
5122
+ },
5123
+ };
5124
+ function createBaseStreamSessionGraphNodeRequest() {
5125
+ return { sessionId: "", nodeId: "" };
5126
+ }
5127
+ export const StreamSessionGraphNodeRequest = {
5128
+ encode(message, writer = new BinaryWriter()) {
5129
+ if (message.sessionId !== "") {
5130
+ writer.uint32(10).string(message.sessionId);
5131
+ }
5132
+ if (message.nodeId !== "") {
5133
+ writer.uint32(18).string(message.nodeId);
5134
+ }
5135
+ return writer;
5136
+ },
5137
+ decode(input, length) {
5138
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5139
+ const end = length === undefined ? reader.len : reader.pos + length;
5140
+ const message = createBaseStreamSessionGraphNodeRequest();
5141
+ while (reader.pos < end) {
5142
+ const tag = reader.uint32();
5143
+ switch (tag >>> 3) {
5144
+ case 1: {
5145
+ if (tag !== 10) {
5146
+ break;
5147
+ }
5148
+ message.sessionId = reader.string();
5149
+ continue;
5150
+ }
5151
+ case 2: {
5152
+ if (tag !== 18) {
5153
+ break;
5154
+ }
5155
+ message.nodeId = reader.string();
5156
+ continue;
5157
+ }
5158
+ }
5159
+ if ((tag & 7) === 4 || tag === 0) {
5160
+ break;
5161
+ }
5162
+ reader.skip(tag & 7);
5163
+ }
5164
+ return message;
5165
+ },
5166
+ fromJSON(object) {
5167
+ return {
5168
+ sessionId: isSet(object.sessionId)
5169
+ ? globalThis.String(object.sessionId)
5170
+ : isSet(object.session_id)
5171
+ ? globalThis.String(object.session_id)
5172
+ : "",
5173
+ nodeId: isSet(object.nodeId)
5174
+ ? globalThis.String(object.nodeId)
5175
+ : isSet(object.node_id)
5176
+ ? globalThis.String(object.node_id)
5177
+ : "",
5178
+ };
5179
+ },
5180
+ toJSON(message) {
5181
+ const obj = {};
5182
+ if (message.sessionId !== "") {
5183
+ obj.sessionId = message.sessionId;
5184
+ }
5185
+ if (message.nodeId !== "") {
5186
+ obj.nodeId = message.nodeId;
5187
+ }
5188
+ return obj;
5189
+ },
5190
+ create(base) {
5191
+ return StreamSessionGraphNodeRequest.fromPartial(base ?? {});
5192
+ },
5193
+ fromPartial(object) {
5194
+ const message = createBaseStreamSessionGraphNodeRequest();
5195
+ message.sessionId = object.sessionId ?? "";
5196
+ message.nodeId = object.nodeId ?? "";
5197
+ return message;
5198
+ },
5199
+ };
5200
+ function createBaseSessionGraphNodeStreamFrame() {
5201
+ return { payload: undefined };
5202
+ }
5203
+ export const SessionGraphNodeStreamFrame = {
5204
+ encode(message, writer = new BinaryWriter()) {
5205
+ switch (message.payload?.$case) {
5206
+ case "node":
5207
+ SessionGraphNode.encode(message.payload.node, writer.uint32(10).fork()).join();
5208
+ break;
5209
+ case "block":
5210
+ FeedBlock.encode(message.payload.block, writer.uint32(18).fork()).join();
5211
+ break;
5212
+ }
5213
+ return writer;
5214
+ },
5215
+ decode(input, length) {
5216
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5217
+ const end = length === undefined ? reader.len : reader.pos + length;
5218
+ const message = createBaseSessionGraphNodeStreamFrame();
5219
+ while (reader.pos < end) {
5220
+ const tag = reader.uint32();
5221
+ switch (tag >>> 3) {
5222
+ case 1: {
5223
+ if (tag !== 10) {
5224
+ break;
5225
+ }
5226
+ message.payload = { $case: "node", node: SessionGraphNode.decode(reader, reader.uint32()) };
5227
+ continue;
5228
+ }
5229
+ case 2: {
5230
+ if (tag !== 18) {
5231
+ break;
5232
+ }
5233
+ message.payload = { $case: "block", block: FeedBlock.decode(reader, reader.uint32()) };
5234
+ continue;
5235
+ }
5236
+ }
5237
+ if ((tag & 7) === 4 || tag === 0) {
5238
+ break;
5239
+ }
5240
+ reader.skip(tag & 7);
5241
+ }
5242
+ return message;
5243
+ },
5244
+ fromJSON(object) {
5245
+ return {
5246
+ payload: isSet(object.node)
5247
+ ? { $case: "node", node: SessionGraphNode.fromJSON(object.node) }
5248
+ : isSet(object.block)
5249
+ ? { $case: "block", block: FeedBlock.fromJSON(object.block) }
5250
+ : undefined,
5251
+ };
5252
+ },
5253
+ toJSON(message) {
5254
+ const obj = {};
5255
+ if (message.payload?.$case === "node") {
5256
+ obj.node = SessionGraphNode.toJSON(message.payload.node);
5257
+ }
5258
+ else if (message.payload?.$case === "block") {
5259
+ obj.block = FeedBlock.toJSON(message.payload.block);
5260
+ }
5261
+ return obj;
5262
+ },
5263
+ create(base) {
5264
+ return SessionGraphNodeStreamFrame.fromPartial(base ?? {});
5265
+ },
5266
+ fromPartial(object) {
5267
+ const message = createBaseSessionGraphNodeStreamFrame();
5268
+ switch (object.payload?.$case) {
5269
+ case "node": {
5270
+ if (object.payload?.node !== undefined && object.payload?.node !== null) {
5271
+ message.payload = { $case: "node", node: SessionGraphNode.fromPartial(object.payload.node) };
5272
+ }
5273
+ break;
5274
+ }
5275
+ case "block": {
5276
+ if (object.payload?.block !== undefined && object.payload?.block !== null) {
5277
+ message.payload = { $case: "block", block: FeedBlock.fromPartial(object.payload.block) };
5278
+ }
5279
+ break;
5280
+ }
5281
+ }
5282
+ return message;
5283
+ },
5284
+ };
5285
+ function createBaseSessionStateRequest() {
5286
+ return { sessionId: "" };
5287
+ }
5288
+ export const SessionStateRequest = {
5289
+ encode(message, writer = new BinaryWriter()) {
5290
+ if (message.sessionId !== "") {
5291
+ writer.uint32(10).string(message.sessionId);
5292
+ }
5293
+ return writer;
5294
+ },
5295
+ decode(input, length) {
5296
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5297
+ const end = length === undefined ? reader.len : reader.pos + length;
5298
+ const message = createBaseSessionStateRequest();
5299
+ while (reader.pos < end) {
5300
+ const tag = reader.uint32();
5301
+ switch (tag >>> 3) {
5302
+ case 1: {
5303
+ if (tag !== 10) {
5304
+ break;
5305
+ }
5306
+ message.sessionId = reader.string();
5307
+ continue;
5308
+ }
5309
+ }
5310
+ if ((tag & 7) === 4 || tag === 0) {
5311
+ break;
5312
+ }
5313
+ reader.skip(tag & 7);
5314
+ }
5315
+ return message;
5316
+ },
5317
+ fromJSON(object) {
5318
+ return {
5319
+ sessionId: isSet(object.sessionId)
5320
+ ? globalThis.String(object.sessionId)
5321
+ : isSet(object.session_id)
5322
+ ? globalThis.String(object.session_id)
5323
+ : "",
5324
+ };
5325
+ },
5326
+ toJSON(message) {
5327
+ const obj = {};
5328
+ if (message.sessionId !== "") {
5329
+ obj.sessionId = message.sessionId;
5330
+ }
5331
+ return obj;
5332
+ },
5333
+ create(base) {
5334
+ return SessionStateRequest.fromPartial(base ?? {});
5335
+ },
5336
+ fromPartial(object) {
5337
+ const message = createBaseSessionStateRequest();
5338
+ message.sessionId = object.sessionId ?? "";
5339
+ return message;
5340
+ },
5341
+ };
5342
+ function createBaseUpdateSessionMetadataRequest() {
5343
+ return { sessionId: "", metadata: {} };
5344
+ }
5345
+ export const UpdateSessionMetadataRequest = {
5346
+ encode(message, writer = new BinaryWriter()) {
5347
+ if (message.sessionId !== "") {
5348
+ writer.uint32(10).string(message.sessionId);
5349
+ }
5350
+ globalThis.Object.entries(message.metadata).forEach(([key, value]) => {
5351
+ UpdateSessionMetadataRequest_MetadataEntry.encode({ key: key, value }, writer.uint32(18).fork()).join();
5352
+ });
5353
+ return writer;
5354
+ },
5355
+ decode(input, length) {
5356
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5357
+ const end = length === undefined ? reader.len : reader.pos + length;
5358
+ const message = createBaseUpdateSessionMetadataRequest();
5359
+ while (reader.pos < end) {
5360
+ const tag = reader.uint32();
5361
+ switch (tag >>> 3) {
5362
+ case 1: {
5363
+ if (tag !== 10) {
5364
+ break;
5365
+ }
5366
+ message.sessionId = reader.string();
5367
+ continue;
5368
+ }
5369
+ case 2: {
5370
+ if (tag !== 18) {
5371
+ break;
5372
+ }
5373
+ const entry2 = UpdateSessionMetadataRequest_MetadataEntry.decode(reader, reader.uint32());
5374
+ if (entry2.value !== undefined) {
5375
+ message.metadata[entry2.key] = entry2.value;
5376
+ }
5377
+ continue;
5378
+ }
5379
+ }
5380
+ if ((tag & 7) === 4 || tag === 0) {
5381
+ break;
5382
+ }
5383
+ reader.skip(tag & 7);
5384
+ }
5385
+ return message;
5386
+ },
5387
+ fromJSON(object) {
5388
+ return {
5389
+ sessionId: isSet(object.sessionId)
5390
+ ? globalThis.String(object.sessionId)
5391
+ : isSet(object.session_id)
5392
+ ? globalThis.String(object.session_id)
5393
+ : "",
5394
+ metadata: isObject(object.metadata)
5395
+ ? globalThis.Object.entries(object.metadata).reduce((acc, [key, value]) => {
5396
+ acc[key] = globalThis.String(value);
5397
+ return acc;
5398
+ }, {})
5399
+ : {},
5400
+ };
5401
+ },
5402
+ toJSON(message) {
5403
+ const obj = {};
5404
+ if (message.sessionId !== "") {
5405
+ obj.sessionId = message.sessionId;
5406
+ }
5407
+ if (message.metadata) {
5408
+ const entries = globalThis.Object.entries(message.metadata);
5409
+ if (entries.length > 0) {
5410
+ obj.metadata = {};
5411
+ entries.forEach(([k, v]) => {
5412
+ obj.metadata[k] = v;
5413
+ });
5414
+ }
3413
5415
  }
3414
5416
  return obj;
3415
5417
  },
@@ -4599,7 +6601,10 @@ export const ClearCredentialRequest = {
4599
6601
  },
4600
6602
  };
4601
6603
  export const SessionServiceService = {
4602
- /** Full structured state (binary protobuf). */
6604
+ /**
6605
+ * Full structured state (binary protobuf). Kept for compatibility; new
6606
+ * clients should use GetSnapshot / GetHistory.
6607
+ */
4603
6608
  getState: {
4604
6609
  path: "/theway.grpc.v1.SessionService/GetState",
4605
6610
  requestStream: false,
@@ -4609,6 +6614,63 @@ export const SessionServiceService = {
4609
6614
  responseSerialize: (value) => Buffer.from(SessionState.encode(value).finish()),
4610
6615
  responseDeserialize: (value) => SessionState.decode(value),
4611
6616
  },
6617
+ /** Full nested session snapshot (session-snapshot-collapse contract). */
6618
+ getSnapshot: {
6619
+ path: "/theway.grpc.v1.SessionService/GetSnapshot",
6620
+ requestStream: false,
6621
+ responseStream: false,
6622
+ requestSerialize: (value) => Buffer.from(SessionStateRequest.encode(value).finish()),
6623
+ requestDeserialize: (value) => SessionStateRequest.decode(value),
6624
+ responseSerialize: (value) => Buffer.from(SessionSnapshot.encode(value).finish()),
6625
+ responseDeserialize: (value) => SessionSnapshot.decode(value),
6626
+ },
6627
+ /** Session history as a snapshot-shaped transcript (session-snapshot-collapse). */
6628
+ getHistory: {
6629
+ path: "/theway.grpc.v1.SessionService/GetHistory",
6630
+ requestStream: false,
6631
+ responseStream: false,
6632
+ requestSerialize: (value) => Buffer.from(SessionStateRequest.encode(value).finish()),
6633
+ requestDeserialize: (value) => SessionStateRequest.decode(value),
6634
+ responseSerialize: (value) => Buffer.from(SessionSnapshot.encode(value).finish()),
6635
+ responseDeserialize: (value) => SessionSnapshot.decode(value),
6636
+ },
6637
+ /** Collapse a session into a graph node (session-snapshot-collapse). */
6638
+ collapseSession: {
6639
+ path: "/theway.grpc.v1.SessionService/CollapseSession",
6640
+ requestStream: false,
6641
+ responseStream: false,
6642
+ requestSerialize: (value) => Buffer.from(CollapseSessionRequest.encode(value).finish()),
6643
+ requestDeserialize: (value) => CollapseSessionRequest.decode(value),
6644
+ responseSerialize: (value) => Buffer.from(CollapseSessionResponse.encode(value).finish()),
6645
+ responseDeserialize: (value) => CollapseSessionResponse.decode(value),
6646
+ },
6647
+ getSessionGraphNode: {
6648
+ path: "/theway.grpc.v1.SessionService/GetSessionGraphNode",
6649
+ requestStream: false,
6650
+ responseStream: false,
6651
+ requestSerialize: (value) => Buffer.from(GetSessionGraphNodeRequest.encode(value).finish()),
6652
+ requestDeserialize: (value) => GetSessionGraphNodeRequest.decode(value),
6653
+ responseSerialize: (value) => Buffer.from(GetSessionGraphNodeResponse.encode(value).finish()),
6654
+ responseDeserialize: (value) => GetSessionGraphNodeResponse.decode(value),
6655
+ },
6656
+ listSessionGraphNodeMessages: {
6657
+ path: "/theway.grpc.v1.SessionService/ListSessionGraphNodeMessages",
6658
+ requestStream: false,
6659
+ responseStream: false,
6660
+ requestSerialize: (value) => Buffer.from(ListSessionGraphNodeMessagesRequest.encode(value).finish()),
6661
+ requestDeserialize: (value) => ListSessionGraphNodeMessagesRequest.decode(value),
6662
+ responseSerialize: (value) => Buffer.from(ListSessionGraphNodeMessagesResponse.encode(value).finish()),
6663
+ responseDeserialize: (value) => ListSessionGraphNodeMessagesResponse.decode(value),
6664
+ },
6665
+ streamSessionGraphNode: {
6666
+ path: "/theway.grpc.v1.SessionService/StreamSessionGraphNode",
6667
+ requestStream: false,
6668
+ responseStream: true,
6669
+ requestSerialize: (value) => Buffer.from(StreamSessionGraphNodeRequest.encode(value).finish()),
6670
+ requestDeserialize: (value) => StreamSessionGraphNodeRequest.decode(value),
6671
+ responseSerialize: (value) => Buffer.from(SessionGraphNodeStreamFrame.encode(value).finish()),
6672
+ responseDeserialize: (value) => SessionGraphNodeStreamFrame.decode(value),
6673
+ },
4612
6674
  /**
4613
6675
  * Session resources: list (with current marker) / create / rename /
4614
6676
  * delete. DeleteSession reports the offending run ids when refused because