File size: 5,223 Bytes
9314c03
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
syntax = "proto3";

package warp.multi_agent.v1;

import "google/protobuf/struct.proto";
import "input_context.proto";
import "attachment.proto";
import "options.proto";
import "suggestions.proto";
import "task.proto";

option go_package = "github.com/warp/warp-proto-apis/multi_agent/v1";

message Request {
    TaskContext task_context = 1;
    message TaskContext {
        repeated Task tasks = 1;
        string active_task_id = 2;
    }
    
    Input input = 2;
    message Input {
        InputContext context = 1;
        
        oneof type {
            UserInputs user_inputs = 6;
            QueryWithCannedResponse query_with_canned_response = 4;
            AutoCodeDiffQuery auto_code_diff_query = 5;
            ResumeConversation resume_conversation = 7;
            InitProjectRules init_project_rules = 8;
            UserQuery user_query = 2 [deprecated = true];
            ToolCallResult tool_call_result = 3 [deprecated = true];
        }
        
        message UserQuery {
            string query = 1;
            map<string, Attachment> referenced_attachments = 2;
        }
        
        message UserInputs {
            repeated UserInput inputs = 1;
            message UserInput {
                oneof input {
                    UserQuery user_query = 1;
                    ToolCallResult tool_call_result = 2;
                }
            }
        }
        
        message ToolCallResult {
            string tool_call_id = 1;
            
            oneof result {
                RunShellCommandResult run_shell_command = 2;
                ReadFilesResult read_files = 3;
                SearchCodebaseResult search_codebase = 4;
                ApplyFileDiffsResult apply_file_diffs = 5;
                SuggestPlanResult suggest_plan = 6;
                SuggestCreatePlanResult suggest_create_plan = 7;
                GrepResult grep = 8;
                FileGlobResult file_glob = 9;
                RefineResult refine = 10;
                ReadMCPResourceResult read_mcp_resource = 11;
                CallMCPToolResult call_mcp_tool = 12;
                WriteToLongRunningShellCommandResult write_to_long_running_shell_command = 13;
                SuggestNewConversationResult suggest_new_conversation = 14;
                FileGlobV2Result file_glob_v2 = 15;
            }
            
            message RefineResult {
                UserQuery user_query = 1;
            }
        }
        
        message QueryWithCannedResponse {
            string query = 1;
            
            oneof type {
                Install install = 2;
                Code code = 3;
                Deploy deploy = 4;
                SomethingElse something_else = 5;
                CustomOnboardingRequest custom_onboarding_request = 6;
                AgenticOnboardingKickoff agentic_onboarding_kickoff = 7;
            }
            
            message Install {
                
            }
            
            message Code {
                
            }
            
            message Deploy {
                
            }
            
            message SomethingElse {
                
            }
            
            message CustomOnboardingRequest {
                
            }
            
            message AgenticOnboardingKickoff {
                
            }
        }
        
        message AutoCodeDiffQuery {
            string query = 1;
        }
        
        message ResumeConversation {
            
        }
        
        message InitProjectRules {
            
        }
    }
    
    Settings settings = 3;
    message Settings {
        ModelConfig model_config = 1;
        message ModelConfig {
            string base = 1;
            string planning = 2;
            string coding = 3;
        }
        
        bool rules_enabled = 2;
        bool web_context_retrieval_enabled = 3;
        bool supports_parallel_tool_calls = 4;
        bool use_anthropic_text_editor_tools = 5;
        bool planning_enabled = 6;
        bool warp_drive_context_enabled = 7;
        bool supports_create_files = 8;
        repeated ToolType supported_tools = 9;
        bool supports_long_running_commands = 10;
        bool should_preserve_file_content_in_history = 11;
        bool supports_todos_ui = 12;
        bool supports_linked_code_blocks = 13;
    }
    
    Metadata metadata = 4;
    message Metadata {
        string conversation_id = 1;
        map<string, google.protobuf.Value> logging = 2;
    }
    
    Suggestions existing_suggestions = 5;
    
    MCPContext mcp_context = 6;
    message MCPContext {
        repeated MCPResource resources = 1;
        message MCPResource {
            string uri = 1;
            string name = 2;
            string description = 3;
            string mime_type = 4;
        }
        
        repeated MCPTool tools = 2;
        message MCPTool {
            string name = 1;
            string description = 2;
            google.protobuf.Struct input_schema = 3;
        }
    }
}