cline 1.0.0-nightly.6 → 1.0.0-nightly.7

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.
@@ -0,0 +1,133 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ import "cline/common.proto";
5
+ option go_package = "github.com/cline/grpc-go/cline";
6
+ option java_package = "bot.cline.proto";
7
+ option java_multiple_files = true;
8
+
9
+ service McpService {
10
+ rpc toggleMcpServer(ToggleMcpServerRequest) returns (McpServers);
11
+ rpc updateMcpTimeout(UpdateMcpTimeoutRequest) returns (McpServers);
12
+ rpc addRemoteMcpServer(AddRemoteMcpServerRequest) returns (McpServers);
13
+ rpc downloadMcp(StringRequest) returns (McpDownloadResponse);
14
+ rpc restartMcpServer(StringRequest) returns (McpServers);
15
+ rpc deleteMcpServer(StringRequest) returns (McpServers);
16
+ rpc toggleToolAutoApprove(ToggleToolAutoApproveRequest) returns (McpServers);
17
+ rpc refreshMcpMarketplace(EmptyRequest) returns (McpMarketplaceCatalog);
18
+ rpc openMcpSettings(EmptyRequest) returns (Empty);
19
+
20
+ // Subscribe to MCP marketplace catalog updates
21
+ rpc subscribeToMcpMarketplaceCatalog(EmptyRequest) returns (stream McpMarketplaceCatalog);
22
+ rpc getLatestMcpServers(Empty) returns (McpServers);
23
+
24
+ // Subscribe to MCP server updates
25
+ rpc subscribeToMcpServers(EmptyRequest) returns (stream McpServers);
26
+ }
27
+
28
+ message ToggleMcpServerRequest {
29
+ Metadata metadata = 1;
30
+ string server_name = 2;
31
+ bool disabled = 3;
32
+ }
33
+
34
+ message UpdateMcpTimeoutRequest {
35
+ Metadata metadata = 1;
36
+ string server_name = 2;
37
+ int32 timeout = 3;
38
+ }
39
+
40
+ message AddRemoteMcpServerRequest {
41
+ Metadata metadata = 1;
42
+ string server_name = 2;
43
+ string server_url = 3;
44
+ }
45
+
46
+ message ToggleToolAutoApproveRequest {
47
+ Metadata metadata = 1;
48
+ string server_name = 2;
49
+ repeated string tool_names = 3;
50
+ bool auto_approve = 4;
51
+ }
52
+
53
+ message McpTool {
54
+ string name = 1;
55
+ optional string description = 2;
56
+ optional string input_schema = 3;
57
+ optional bool auto_approve = 4;
58
+ }
59
+
60
+ message McpResource {
61
+ string uri = 1;
62
+ string name = 2;
63
+ optional string mime_type = 3;
64
+ optional string description = 4;
65
+ }
66
+
67
+ message McpResourceTemplate {
68
+ string uri_template = 1;
69
+ string name = 2;
70
+ optional string mime_type = 3;
71
+ optional string description = 4;
72
+ }
73
+
74
+ enum McpServerStatus {
75
+ // Protobuf enums (in proto3) must have a zero value defined, which serves as the default if the field isn't explicitly set.
76
+ // To align with the required nature of the TypeScript type and avoid an unnecessary UNSPECIFIED state, we map one of the existing statuses to this zero value.
77
+ MCP_SERVER_STATUS_DISCONNECTED = 0; // default
78
+ MCP_SERVER_STATUS_CONNECTED = 1;
79
+ MCP_SERVER_STATUS_CONNECTING = 2;
80
+ }
81
+
82
+ message McpServer {
83
+ string name = 1;
84
+ string config = 2;
85
+ McpServerStatus status = 3;
86
+ optional string error = 4;
87
+ repeated McpTool tools = 5;
88
+ repeated McpResource resources = 6;
89
+ repeated McpResourceTemplate resource_templates = 7;
90
+ optional bool disabled = 8;
91
+ optional int32 timeout = 9;
92
+ }
93
+
94
+ message McpServers {
95
+ repeated McpServer mcp_servers = 1;
96
+ }
97
+
98
+ message McpMarketplaceItem {
99
+ string mcp_id = 1;
100
+ string github_url = 2;
101
+ string name = 3;
102
+ string author = 4;
103
+ string description = 5;
104
+ string codicon_icon = 6;
105
+ string logo_url = 7;
106
+ string category = 8;
107
+ repeated string tags = 9;
108
+ bool requires_api_key = 10;
109
+ optional string readme_content = 11;
110
+ optional string llms_installation_content = 12;
111
+ bool is_recommended = 13;
112
+ int32 github_stars = 14;
113
+ int32 download_count = 15;
114
+ string created_at = 16;
115
+ string updated_at = 17;
116
+ string last_github_sync = 18;
117
+ }
118
+
119
+ message McpMarketplaceCatalog {
120
+ repeated McpMarketplaceItem items = 1;
121
+ }
122
+
123
+ message McpDownloadResponse {
124
+ string mcp_id = 1;
125
+ string github_url = 2;
126
+ string name = 3;
127
+ string author = 4;
128
+ string description = 5;
129
+ string readme_content = 6;
130
+ string llms_installation_content = 7;
131
+ bool requires_api_key = 8;
132
+ optional string error = 9;
133
+ }
@@ -0,0 +1,419 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ import "cline/common.proto";
5
+ import "google/protobuf/field_mask.proto";
6
+ option go_package = "github.com/cline/grpc-go/cline";
7
+ option java_package = "bot.cline.proto";
8
+ option java_multiple_files = true;
9
+
10
+ // Service for model-related operations
11
+ service ModelsService {
12
+ // Fetches available models from Ollama
13
+ rpc getOllamaModels(StringRequest) returns (StringArray);
14
+ // Fetches available models from LM Studio
15
+ rpc getLmStudioModels(StringRequest) returns (StringArray);
16
+ // Fetches available models from VS Code LM API
17
+ rpc getVsCodeLmModels(EmptyRequest) returns (VsCodeLmModelsArray);
18
+ // Refreshes and returns OpenRouter models
19
+ rpc refreshOpenRouterModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
20
+ // Refreshes and returns Hugging Face models
21
+ rpc refreshHuggingFaceModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
22
+ // Refreshes and returns OpenAI models
23
+ rpc refreshOpenAiModels(OpenAiModelsRequest) returns (StringArray);
24
+ // Refreshes and returns Vercel AI Gateway models
25
+ rpc refreshVercelAiGatewayModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
26
+ // Refreshes and returns Requesty models
27
+ rpc refreshRequestyModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
28
+ // Subscribe to OpenRouter models updates
29
+ rpc subscribeToOpenRouterModels(EmptyRequest) returns (stream OpenRouterCompatibleModelInfo);
30
+ // Updates API configuration
31
+ rpc updateApiConfigurationProto(UpdateApiConfigurationRequest) returns (Empty);
32
+ // Updates API configuration with partial values (only updates fields that are explicitly set)
33
+ rpc updateApiConfigurationPartial(UpdateApiConfigurationPartialRequest) returns (Empty);
34
+ // Refreshes and returns Groq models
35
+ rpc refreshGroqModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
36
+ // Refreshes and returns Baseten models
37
+ rpc refreshBasetenModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
38
+ // Fetches available models from SAP AI Core
39
+ rpc getSapAiCoreModels(SapAiCoreModelsRequest) returns (SapAiCoreModelsResponse);
40
+ // Fetches available models from OCA
41
+ rpc refreshOcaModels(StringRequest) returns (OcaCompatibleModelInfo);
42
+ }
43
+
44
+ // List of VS Code LM models
45
+ message VsCodeLmModelsArray {
46
+ repeated LanguageModelChatSelector models = 1;
47
+ }
48
+
49
+ // Structure representing a language model chat selector
50
+ message LanguageModelChatSelector {
51
+ optional string vendor = 1;
52
+ optional string family = 2;
53
+ optional string version = 3;
54
+ optional string id = 4;
55
+ }
56
+
57
+ // Price tier for tiered pricing models
58
+ message PriceTier {
59
+ int64 token_limit = 1; // Upper limit (inclusive) of input tokens for this price
60
+ double price = 2; // Price per million tokens for this tier
61
+ }
62
+
63
+ // Thinking configuration for models that support thinking/reasoning
64
+ message ThinkingConfig {
65
+ optional int64 max_budget = 1; // Max allowed thinking budget tokens
66
+ optional double output_price = 2; // Output price per million tokens when budget > 0
67
+ repeated PriceTier output_price_tiers = 3; // Optional: Tiered output price when budget > 0
68
+ }
69
+
70
+ // Model tier for tiered pricing structures
71
+ message ModelTier {
72
+ int64 context_window = 1;
73
+ optional double input_price = 2;
74
+ optional double output_price = 3;
75
+ optional double cache_writes_price = 4;
76
+ optional double cache_reads_price = 5;
77
+ }
78
+
79
+ // For OpenRouterCompatibleModelInfo structure in OpenRouterModels
80
+ message OpenRouterModelInfo {
81
+ optional int64 max_tokens = 1;
82
+ optional int64 context_window = 2;
83
+ optional bool supports_images = 3;
84
+ bool supports_prompt_cache = 4;
85
+ optional double input_price = 5;
86
+ optional double output_price = 6;
87
+ optional double cache_writes_price = 7;
88
+ optional double cache_reads_price = 8;
89
+ optional string description = 9;
90
+ optional ThinkingConfig thinking_config = 10;
91
+ optional bool supports_global_endpoint = 11;
92
+ repeated ModelTier tiers = 12;
93
+ }
94
+
95
+ // Shared response message for model information
96
+ message OpenRouterCompatibleModelInfo {
97
+ map<string, OpenRouterModelInfo> models = 1;
98
+ }
99
+
100
+ // Request for fetching OpenAI models
101
+ message OpenAiModelsRequest {
102
+ Metadata metadata = 1;
103
+ string base_url = 2;
104
+ string api_key = 3;
105
+ }
106
+
107
+ // Request for fetching SAP AI Core models
108
+ message SapAiCoreModelsRequest {
109
+ Metadata metadata = 1;
110
+ string client_id = 2;
111
+ string client_secret = 3;
112
+ string base_url = 4;
113
+ string token_url = 5;
114
+ string resource_group = 6;
115
+ }
116
+
117
+ // SAP AI Core model with deployment information
118
+ message SapAiCoreModelDeployment {
119
+ string model_name = 1;
120
+ string deployment_id = 2;
121
+ }
122
+
123
+
124
+ // Response for SAP AI Core models with orchestration availability
125
+ message SapAiCoreModelsResponse {
126
+ repeated SapAiCoreModelDeployment deployments = 1;
127
+ bool orchestration_available = 2;
128
+ }
129
+
130
+ // Request for updating API configuration
131
+ message UpdateApiConfigurationRequest {
132
+ Metadata metadata = 1;
133
+ ModelsApiConfiguration api_configuration = 2;
134
+ }
135
+
136
+ // Request for partially updating API configuration using FieldMask
137
+ // Only fields specified in update_mask will be updated from api_configuration
138
+ message UpdateApiConfigurationPartialRequest {
139
+ Metadata metadata = 1;
140
+
141
+ // The API configuration with values to update.
142
+ // Only fields listed in update_mask will be applied from this configuration.
143
+ ModelsApiConfiguration api_configuration = 2;
144
+
145
+ // Mask specifying which top-level fields from api_configuration to update.
146
+ // Field names should use camelCase (e.g., "apiKey", "planModeApiProvider").
147
+ // If a field is in the mask but not set in api_configuration, it will be cleared (set to undefined).
148
+ google.protobuf.FieldMask update_mask = 3;
149
+ }
150
+
151
+ // Model info for OCA (OpenAI-compatible) models exposed by the OCA provider
152
+ message OcaModelInfo {
153
+ // Maximum completion tokens per request supported by this model
154
+ optional int64 max_tokens = 1;
155
+ // Total context window in tokens (input + output)
156
+ optional int64 context_window = 2;
157
+ // Whether the model supports image inputs
158
+ optional bool supports_images = 3;
159
+ // Whether prompt caching is supported for this model
160
+ bool supports_prompt_cache = 4;
161
+ // Price per million input tokens (USD unless otherwise specified by provider)
162
+ optional double input_price = 5;
163
+ // Price per million output tokens (USD unless otherwise specified by provider)
164
+ optional double output_price = 6;
165
+ // Thinking/reasoning configuration if the model supports it
166
+ optional ThinkingConfig thinking_config = 7;
167
+ // Price per million tokens for prompt cache writes
168
+ optional double cache_writes_price = 9;
169
+ // Price per million tokens for prompt cache reads
170
+ optional double cache_reads_price = 10;
171
+ // Human-readable model description
172
+ optional string description = 11;
173
+ // Recommended default temperature for this model
174
+ optional double temperature = 13;
175
+ // Optional survey content to display in the UI
176
+ optional string survey_content = 14;
177
+ // Identifier for the survey associated with this model
178
+ optional string survey_id = 15;
179
+ // Optional banner content (e.g., deprecation or promotion notes)
180
+ optional string banner = 16;
181
+ // Canonical model identifier as reported by OCA
182
+ string model_name = 17;
183
+ }
184
+
185
+ // Aggregated OCA model catalog keyed by model identifier
186
+ message OcaCompatibleModelInfo {
187
+ // key: canonical model id as reported by OCA (e.g., "openai/gpt-4o-mini")
188
+ // value: OcaModelInfo describing that model
189
+ map<string, OcaModelInfo> models = 1;
190
+ optional string error = 2;
191
+ }
192
+
193
+ // API Provider enumeration
194
+ enum ApiProvider {
195
+ ANTHROPIC = 0;
196
+ OPENROUTER = 1;
197
+ BEDROCK = 2;
198
+ VERTEX = 3;
199
+ OPENAI = 4;
200
+ OLLAMA = 5;
201
+ LMSTUDIO = 6;
202
+ GEMINI = 7;
203
+ OPENAI_NATIVE = 8;
204
+ REQUESTY = 9;
205
+ TOGETHER = 10;
206
+ DEEPSEEK = 11;
207
+ QWEN = 12;
208
+ DOUBAO = 13;
209
+ MISTRAL = 14;
210
+ VSCODE_LM = 15;
211
+ CLINE = 16;
212
+ LITELLM = 17;
213
+ NEBIUS = 18;
214
+ FIREWORKS = 19;
215
+ ASKSAGE = 20;
216
+ XAI = 21;
217
+ SAMBANOVA = 22;
218
+ CEREBRAS = 23;
219
+ GROQ = 24;
220
+ SAPAICORE = 25;
221
+ CLAUDE_CODE = 26;
222
+ MOONSHOT = 27;
223
+ HUGGINGFACE = 28;
224
+ HUAWEI_CLOUD_MAAS = 29;
225
+ BASETEN = 30;
226
+ ZAI = 31;
227
+ VERCEL_AI_GATEWAY = 32;
228
+ QWEN_CODE = 33;
229
+ DIFY = 34;
230
+ OCA = 35;
231
+ }
232
+
233
+ // Model info for OpenAI-compatible models
234
+ message OpenAiCompatibleModelInfo {
235
+ optional int64 max_tokens = 1;
236
+ optional int64 context_window = 2;
237
+ optional bool supports_images = 3;
238
+ bool supports_prompt_cache = 4;
239
+ optional double input_price = 5;
240
+ optional double output_price = 6;
241
+ optional ThinkingConfig thinking_config = 7;
242
+ optional bool supports_global_endpoint = 8;
243
+ optional double cache_writes_price = 9;
244
+ optional double cache_reads_price = 10;
245
+ optional string description = 11;
246
+ repeated ModelTier tiers = 12;
247
+ optional double temperature = 13;
248
+ optional bool is_r1_format_required = 14;
249
+ }
250
+
251
+ // Model info for LiteLLM models
252
+ message LiteLLMModelInfo {
253
+ optional int64 max_tokens = 1;
254
+ optional int64 context_window = 2;
255
+ optional bool supports_images = 3;
256
+ bool supports_prompt_cache = 4;
257
+ optional double input_price = 5;
258
+ optional double output_price = 6;
259
+ optional ThinkingConfig thinking_config = 7;
260
+ optional bool supports_global_endpoint = 8;
261
+ optional double cache_writes_price = 9;
262
+ optional double cache_reads_price = 10;
263
+ optional string description = 11;
264
+ repeated ModelTier tiers = 12;
265
+ optional double temperature = 13;
266
+ }
267
+
268
+ // Main ApiConfiguration message
269
+ message ModelsApiConfiguration {
270
+ // Global configuration fields (not mode-specific)
271
+ optional string api_key = 1;
272
+ optional string cline_api_key = 2;
273
+ optional string ulid = 3;
274
+ optional string lite_llm_base_url = 4;
275
+ optional string lite_llm_api_key = 5;
276
+ optional bool lite_llm_use_prompt_cache = 6;
277
+ map<string, string> open_ai_headers = 7;
278
+ optional string anthropic_base_url = 8;
279
+ optional string open_router_api_key = 9;
280
+ optional string open_router_provider_sorting = 10;
281
+ optional string aws_access_key = 11;
282
+ optional string aws_secret_key = 12;
283
+ optional string aws_session_token = 13;
284
+ optional string aws_region = 14;
285
+ optional bool aws_use_cross_region_inference = 15;
286
+ optional bool aws_bedrock_use_prompt_cache = 16;
287
+ optional bool aws_use_profile = 17;
288
+ optional string aws_profile = 18;
289
+ optional string aws_bedrock_endpoint = 19;
290
+ optional string claude_code_path = 20;
291
+ optional string vertex_project_id = 21;
292
+ optional string vertex_region = 22;
293
+ optional string open_ai_base_url = 23;
294
+ optional string open_ai_api_key = 24;
295
+ optional string ollama_base_url = 25;
296
+ optional string ollama_api_options_ctx_num = 26;
297
+ optional string lm_studio_base_url = 27;
298
+ optional string gemini_api_key = 28;
299
+ optional string gemini_base_url = 29;
300
+ optional string open_ai_native_api_key = 30;
301
+ optional string deep_seek_api_key = 31;
302
+ optional string requesty_api_key = 32;
303
+ optional string requesty_base_url = 33;
304
+ optional string together_api_key = 34;
305
+ optional string fireworks_api_key = 35;
306
+ optional int64 fireworks_model_max_completion_tokens = 36;
307
+ optional int64 fireworks_model_max_tokens = 37;
308
+ optional string qwen_api_key = 38;
309
+ optional string doubao_api_key = 39;
310
+ optional string mistral_api_key = 40;
311
+ optional string azure_api_version = 41;
312
+ optional string qwen_api_line = 42;
313
+ optional string nebius_api_key = 43;
314
+ optional string asksage_api_url = 44;
315
+ optional string asksage_api_key = 45;
316
+ optional string xai_api_key = 46;
317
+ optional string sambanova_api_key = 47;
318
+ optional string cerebras_api_key = 48;
319
+ optional int64 request_timeout_ms = 49;
320
+ optional string sap_ai_core_client_id = 50;
321
+ optional string sap_ai_core_client_secret = 51;
322
+ optional string sap_ai_resource_group = 52;
323
+ optional string sap_ai_core_token_url = 53;
324
+ optional string sap_ai_core_base_url = 54;
325
+ optional bool sap_ai_core_use_orchestration_mode = 55;
326
+ optional string moonshot_api_key = 56;
327
+ optional string moonshot_api_line = 57;
328
+ optional string aws_authentication = 58;
329
+ optional string aws_bedrock_api_key = 59;
330
+ optional string cline_account_id = 60;
331
+ optional string groq_api_key = 61;
332
+ optional string hugging_face_api_key = 62;
333
+ optional string huawei_cloud_maas_api_key = 63;
334
+ optional string baseten_api_key = 64;
335
+ optional string ollama_api_key = 65;
336
+ optional string zai_api_key = 66;
337
+ optional string zai_api_line = 67;
338
+ optional string lm_studio_max_tokens = 68;
339
+ optional string vercel_ai_gateway_api_key = 69;
340
+ optional string qwen_code_oauth_path = 70;
341
+ optional string dify_api_key = 71;
342
+ optional string dify_base_url = 72;
343
+ optional string oca_base_url = 73;
344
+ optional string oca_api_key = 74;
345
+ optional string oca_refresh_token = 75;
346
+ optional string oca_mode = 76;
347
+ optional bool aws_use_global_inference = 77;
348
+
349
+ // Plan mode configurations
350
+ optional ApiProvider plan_mode_api_provider = 100;
351
+ optional string plan_mode_api_model_id = 101;
352
+ optional int64 plan_mode_thinking_budget_tokens = 102;
353
+ optional string plan_mode_reasoning_effort = 103;
354
+ optional LanguageModelChatSelector plan_mode_vs_code_lm_model_selector = 104;
355
+ optional bool plan_mode_aws_bedrock_custom_selected = 105;
356
+ optional string plan_mode_aws_bedrock_custom_model_base_id = 106;
357
+ optional string plan_mode_open_router_model_id = 107;
358
+ optional OpenRouterModelInfo plan_mode_open_router_model_info = 108;
359
+ optional string plan_mode_open_ai_model_id = 109;
360
+ optional OpenAiCompatibleModelInfo plan_mode_open_ai_model_info = 110;
361
+ optional string plan_mode_ollama_model_id = 111;
362
+ optional string plan_mode_lm_studio_model_id = 112;
363
+ optional string plan_mode_lite_llm_model_id = 113;
364
+ optional LiteLLMModelInfo plan_mode_lite_llm_model_info = 114;
365
+ optional string plan_mode_requesty_model_id = 115;
366
+ optional OpenRouterModelInfo plan_mode_requesty_model_info = 116;
367
+ optional string plan_mode_together_model_id = 117;
368
+ optional string plan_mode_fireworks_model_id = 118;
369
+ optional string plan_mode_sap_ai_core_model_id = 119;
370
+ optional string plan_mode_sap_ai_core_deployment_id = 120;
371
+ optional string plan_mode_groq_model_id = 121;
372
+ optional OpenRouterModelInfo plan_mode_groq_model_info = 122;
373
+ optional string plan_mode_hugging_face_model_id = 123;
374
+ optional OpenRouterModelInfo plan_mode_hugging_face_model_info = 124;
375
+ optional string plan_mode_huawei_cloud_maas_model_id = 125;
376
+ optional OpenRouterModelInfo plan_mode_huawei_cloud_maas_model_info = 126;
377
+ optional string plan_mode_baseten_model_id = 127;
378
+ optional OpenRouterModelInfo plan_mode_baseten_model_info = 128;
379
+ optional string plan_mode_vercel_ai_gateway_model_id = 129;
380
+ optional OpenRouterModelInfo plan_mode_vercel_ai_gateway_model_info = 130;
381
+ optional string plan_mode_oca_model_id = 131;
382
+ optional OcaModelInfo plan_mode_oca_model_info = 132;
383
+
384
+
385
+ // Act mode configurations
386
+ optional ApiProvider act_mode_api_provider = 200;
387
+ optional string act_mode_api_model_id = 201;
388
+ optional int64 act_mode_thinking_budget_tokens = 202;
389
+ optional string act_mode_reasoning_effort = 203;
390
+ optional LanguageModelChatSelector act_mode_vs_code_lm_model_selector = 204;
391
+ optional bool act_mode_aws_bedrock_custom_selected = 205;
392
+ optional string act_mode_aws_bedrock_custom_model_base_id = 206;
393
+ optional string act_mode_open_router_model_id = 207;
394
+ optional OpenRouterModelInfo act_mode_open_router_model_info = 208;
395
+ optional string act_mode_open_ai_model_id = 209;
396
+ optional OpenAiCompatibleModelInfo act_mode_open_ai_model_info = 210;
397
+ optional string act_mode_ollama_model_id = 211;
398
+ optional string act_mode_lm_studio_model_id = 212;
399
+ optional string act_mode_lite_llm_model_id = 213;
400
+ optional LiteLLMModelInfo act_mode_lite_llm_model_info = 214;
401
+ optional string act_mode_requesty_model_id = 215;
402
+ optional OpenRouterModelInfo act_mode_requesty_model_info = 216;
403
+ optional string act_mode_together_model_id = 217;
404
+ optional string act_mode_fireworks_model_id = 218;
405
+ optional string act_mode_sap_ai_core_model_id = 219;
406
+ optional string act_mode_sap_ai_core_deployment_id = 220;
407
+ optional string act_mode_groq_model_id = 221;
408
+ optional OpenRouterModelInfo act_mode_groq_model_info = 222;
409
+ optional string act_mode_hugging_face_model_id = 223;
410
+ optional OpenRouterModelInfo act_mode_hugging_face_model_info = 224;
411
+ optional string act_mode_huawei_cloud_maas_model_id = 225;
412
+ optional OpenRouterModelInfo act_mode_huawei_cloud_maas_model_info = 226;
413
+ optional string act_mode_baseten_model_id = 227;
414
+ optional OpenRouterModelInfo act_mode_baseten_model_info = 228;
415
+ optional string act_mode_vercel_ai_gateway_model_id = 229;
416
+ optional OpenRouterModelInfo act_mode_vercel_ai_gateway_model_info = 230;
417
+ optional string act_mode_oca_model_id = 231;
418
+ optional OcaModelInfo act_mode_oca_model_info = 232;
419
+ }
@@ -0,0 +1,37 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ import "cline/common.proto";
5
+ option go_package = "github.com/cline/grpc-go/cline";
6
+ option java_package = "bot.cline.proto";
7
+ option java_multiple_files = true;
8
+
9
+ // Service for account-related operations
10
+ service OcaAccountService {
11
+ // Handles the user clicking the login link in the UI.
12
+ // Generates a secure nonce for state validation, stores it in secrets,
13
+ // and opens the authentication URL in the external browser.
14
+ rpc ocaAccountLoginClicked(EmptyRequest) returns (String);
15
+
16
+ // Handles the user clicking the logout button in the UI.
17
+ // Clears API keys and user state.
18
+ rpc ocaAccountLogoutClicked(EmptyRequest) returns (Empty);
19
+
20
+ // Subscribe to auth status update events (when authentication state changes)
21
+ rpc ocaSubscribeToAuthStatusUpdate(EmptyRequest)
22
+ returns (stream OcaAuthState);
23
+
24
+ }
25
+
26
+
27
+ message OcaAuthState {
28
+ optional OcaUserInfo user = 1;
29
+ optional string api_key = 2;
30
+ }
31
+
32
+ // User's information
33
+ message OcaUserInfo {
34
+ string uid = 1;
35
+ optional string display_name = 2;
36
+ optional string email = 3;
37
+ }
@@ -0,0 +1,14 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ import "cline/common.proto";
5
+ option go_package = "github.com/cline/grpc-go/cline";
6
+ option java_package = "bot.cline.proto";
7
+ option java_multiple_files = true;
8
+
9
+ // SlashService provides methods for managing slash
10
+ service SlashService {
11
+ // Sends button click message
12
+ rpc reportBug(StringRequest) returns (Empty);
13
+ rpc condense(StringRequest) returns (Empty);
14
+ }