File size: 3,475 Bytes
b51f54a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
syntax = "proto3";

message AvailableModelsResponse { 
  message AvailableModel {
    string name = 1;
    bool defaultOn = 2;
    optional bool isLongContextOnly = 3;
    optional bool isChatOnly = 4;
  }
  repeated AvailableModel models = 2;
  repeated string modelNames = 1;
}

message MessageSummary {
  string content = 1;
  string summaryId1 = 2; 
  string summaryId2 = 3; // uuid, equal to summaryId1
  string previousSummaryId = 4; 
}

message MessageThinking {
  string content = 1;
}
message StreamUnifiedChatWithToolsRequest {
  message Request {
    message Message {
      message Image {
        message Metadata {
          int32 width = 1;
          int32 height = 2;
        }
        bytes data = 1;
        Metadata metadata = 2;
      }
      string content = 1;
      int32 role = 2;
      Image image = 10;
      string messageId = 13;
      string unknown29 = 29; // 1, only for user message
      string summaryId = 32;
      MessageSummary summary = 39;
      MessageThinking thinking = 45;
      int32 chatModeEnum = 47; // 1 for ask, 2 for agent, 3 for edit
    }
    message Instruction {
      string instruction = 1;
    }
    message Model {
      string name = 1;
      bytes empty = 4;
    }
    message CursorSetting {
      message Unknown6 {
        bytes unknown1 = 1;
        bytes unknown2 = 2;
      }
      string name = 1;
      bytes unknown3 = 3;
      Unknown6 unknown6 = 6;
      int32 unknown8 = 8;
      int32 unknown9 = 9;
    }
    message Metadata {
      string os = 1; // win32
      string arch = 2; // x64
      string version = 3; // 10.0.22631
      string path = 4; // C:\Program Files\PowerShell\7\pwsh.exe
      string timestamp = 5; // 2025-03-03T13:10:08.590Z
    }
    message MessageId {
      string messageId = 1;
      string summaryId = 2;
      int32 role = 3;
    }

    repeated Message messages = 1;
    int32 unknown2 = 2; // 1
    Instruction instruction = 3;
    int32 unknown4 = 4; // 1
    Model model = 5;
    repeated string wikiTool = 7; // one url one item
    string webTool = 8; // "full search"
    int32 unknown13 = 13;
    CursorSetting cursorSetting = 15;
    int32 unknown19 = 19; // 1
    int32 unknown22 = 22; // 1
    string conversationId = 23; // uuid
    Metadata metadata = 26;
    int32 unknown27 = 27; // 1
    string unknown29 = 29;
    repeated MessageId messageIds = 30;
    int32 largeContext = 35; // 1
    int32 unknown38 = 38; // 0
    int32 chatModeEnum = 46; // 1 for ask, 2 for agent, 3 for edit
    string unknown47 = 47; 
    int32 unknown48 = 48; // 0
    int32 unknown49 = 49; // 0
    int32 unknown51 = 51; // 0
    int32 unknown53 = 53; // 0
    string chatMode = 54;
  }
  
  Request request = 1;
}

message StreamUnifiedChatWithToolsResponse {
  message Message {
    message WebTool {
      message WebPage {
        string url = 1;
        string title = 2;
        string content = 3;
      }
      repeated WebPage webPage = 1;
    }
    message Unknown12 {
      message Content {
        string content = 1;
      }
      Content content = 1;
    }
    string content = 1;
    WebTool webtool = 11;
    Unknown12 unknown12 = 12;
    string unknown22 = 22; // uuid
    string unknown23 = 23;
    string unknown27 = 27; // uuid
    MessageThinking thinking = 25;
  }

  Message message = 2;
  MessageSummary summary = 3;
}