cline 1.0.5 → 1.0.6

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.
@@ -2,7 +2,7 @@
2
2
  "name": "claude-dev",
3
3
  "displayName": "Cline",
4
4
  "description": "Autonomous coding agent right in your IDE, capable of creating/editing files, running commands, using the browser, and more with your permission every step of the way.",
5
- "version": "3.36.0",
5
+ "version": "3.37.0",
6
6
  "icon": "assets/icons/icon.png",
7
7
  "engines": {
8
8
  "vscode": "^1.84.0"
@@ -149,6 +149,12 @@
149
149
  "category": "Cline",
150
150
  "when": "cline.isDevMode"
151
151
  },
152
+ {
153
+ "command": "cline.dev.expireMcpOAuthTokens",
154
+ "title": "Expire MCP OAuth Tokens (for testing)",
155
+ "category": "Cline",
156
+ "when": "cline.isDevMode"
157
+ },
152
158
  {
153
159
  "command": "cline.addToChat",
154
160
  "title": "Add to Cline",
@@ -278,11 +284,11 @@
278
284
  "commandPalette": [
279
285
  {
280
286
  "command": "cline.generateGitCommitMessage",
281
- "when": "config.git.enabled && scmProvider == git && !cline.isGeneratingCommit"
287
+ "when": "config.git.enabled && !cline.isGeneratingCommit"
282
288
  },
283
289
  {
284
290
  "command": "cline.abortGitCommitMessage",
285
- "when": "config.git.enabled && scmProvider == git && cline.isGeneratingCommit"
291
+ "when": "config.git.enabled && cline.isGeneratingCommit"
286
292
  }
287
293
  ]
288
294
  },
@@ -304,6 +310,7 @@
304
310
  "dev:cli:watch": "node scripts/dev-cli-watch.mjs",
305
311
  "postcompile-standalone": "node scripts/package-standalone.mjs",
306
312
  "postcompile-standalone-npm": "node scripts/package-standalone.mjs --target=npm",
313
+ "dev": "npm run protos && npm run watch",
307
314
  "watch": "npm-run-all -p watch:*",
308
315
  "watch:esbuild": "node esbuild.mjs --watch",
309
316
  "watch:tsc": "tsc --noEmit --watch --project tsconfig.json",
@@ -330,7 +337,7 @@
330
337
  "pretest": "npm run compile && npm run compile-tests && npm run compile-standalone && npm run lint",
331
338
  "test": "npm-run-all test:unit test:integration",
332
339
  "test:integration": "vscode-test",
333
- "test:unit": "cross-env TS_NODE_PROJECT=./tsconfig.unit-test.json mocha",
340
+ "test:unit": "cross-env TS_NODE_PROJECT=./tsconfig.unit-test.json mocha # Use `UPDATE_SNAPSHOTS=true npm run test:unit` to rebuild prompt snapshots",
334
341
  "test:coverage": "vscode-test --coverage",
335
342
  "test:sca-server": "npx tsx watch scripts/test-standalone-core-api-server.ts",
336
343
  "test:tp-orchestrator": "npx tsx scripts/testing-platform-orchestrator.ts",
@@ -466,6 +473,7 @@
466
473
  "jschardet": "^3.1.4",
467
474
  "jwt-decode": "^4.0.0",
468
475
  "mammoth": "^1.11.0",
476
+ "nanoid": "^5.1.6",
469
477
  "nice-grpc": "^2.1.12",
470
478
  "node-machine-id": "^1.1.12",
471
479
  "ollama": "^0.5.13",
@@ -35,8 +35,16 @@ class StandaloneTerminalProcess extends EventEmitter {
35
35
  // Spawn the process
36
36
  this.childProcess = spawn(shell, shellArgs, {
37
37
  cwd: cwd,
38
- stdio: ["pipe", "pipe", "pipe"],
39
- env: { ...process.env, TERM: "xterm-256color" },
38
+ stdio: ["ignore", "pipe", "pipe"], // Disable STDIN to prevent interactivity
39
+ env: {
40
+ ...process.env,
41
+ TERM: "xterm-256color",
42
+ PAGER: "cat", // Prevent less from being used, reducing interactivity
43
+ EDITOR: process.env.EDITOR || "cat", // Set EDITOR if not already set
44
+ GIT_PAGER: "cat", // Prevent git from using less
45
+ SYSTEMD_PAGER: "", // Disable systemd pager
46
+ MANPAGER: "cat", // Disable man pager
47
+ },
40
48
  })
41
49
 
42
50
  // Track process state
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cline",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Autonomous coding agent CLI - capable of creating/editing files, running commands, using the browser, and more",
5
5
  "main": "cline-core.js",
6
6
  "bin": {
@@ -49,6 +49,9 @@ service FileService {
49
49
  // Toggle a Windsurf rule (enable or disable)
50
50
  rpc toggleWindsurfRule(ToggleWindsurfRuleRequest) returns (ClineRulesToggles);
51
51
 
52
+ // Toggle an Agents rule (enable or disable)
53
+ rpc toggleAgentsRule(ToggleAgentsRuleRequest) returns (ClineRulesToggles);
54
+
52
55
  // Refreshes all rule toggles (Cline, External, and Workflows)
53
56
  rpc refreshRules(EmptyRequest) returns (RefreshedRules);
54
57
 
@@ -74,8 +77,9 @@ message RefreshedRules {
74
77
  ClineRulesToggles local_cline_rules_toggles = 2;
75
78
  ClineRulesToggles local_cursor_rules_toggles = 3;
76
79
  ClineRulesToggles local_windsurf_rules_toggles = 4;
77
- ClineRulesToggles local_workflow_toggles = 5;
78
- ClineRulesToggles global_workflow_toggles = 6;
80
+ ClineRulesToggles local_agents_rules_toggles = 5;
81
+ ClineRulesToggles local_workflow_toggles = 6;
82
+ ClineRulesToggles global_workflow_toggles = 7;
79
83
  }
80
84
 
81
85
  // Request to toggle a Windsurf rule
@@ -85,6 +89,13 @@ message ToggleWindsurfRuleRequest {
85
89
  bool enabled = 3; // Whether to enable or disable the rule
86
90
  }
87
91
 
92
+ // Request to toggle an Agents rule
93
+ message ToggleAgentsRuleRequest {
94
+ Metadata metadata = 1;
95
+ string rule_path = 2; // Path to the rule file
96
+ bool enabled = 3; // Whether to enable or disable the rule
97
+ }
98
+
88
99
  // Request to convert a list of URIs to relative paths
89
100
  message RelativePathsRequest {
90
101
  Metadata metadata = 1;
@@ -156,10 +167,17 @@ message RuleFile {
156
167
  bool already_exists = 3; // For createRuleFile, indicates if file already existed
157
168
  }
158
169
 
170
+ // Enum for rule scope (local, global, or remote)
171
+ enum RuleScope {
172
+ LOCAL = 0;
173
+ GLOBAL = 1;
174
+ REMOTE = 2;
175
+ }
176
+
159
177
  // Request to toggle a Cline rule
160
178
  message ToggleClineRuleRequest {
161
179
  Metadata metadata = 1;
162
- bool is_global = 2; // Whether this is a global rule or workspace rule
180
+ RuleScope scope = 2; // Scope of the rule (local, global, or remote)
163
181
  string rule_path = 3; // Path to the rule file
164
182
  bool enabled = 4; // Whether to enable or disable the rule
165
183
  }
@@ -173,6 +191,7 @@ message ClineRulesToggles {
173
191
  message ToggleClineRules {
174
192
  ClineRulesToggles global_cline_rules_toggles = 1;
175
193
  ClineRulesToggles local_cline_rules_toggles = 2;
194
+ ClineRulesToggles remote_rules_toggles = 3;
176
195
  }
177
196
 
178
197
  // Request to toggle a Cursor rule
@@ -187,5 +206,5 @@ message ToggleWorkflowRequest {
187
206
  Metadata metadata = 1;
188
207
  string workflow_path = 2;
189
208
  bool enabled = 3;
190
- bool is_global = 4;
209
+ RuleScope scope = 4; // Scope of the workflow (local, global, or remote)
191
210
  }
@@ -18,6 +18,7 @@ service McpService {
18
18
  rpc toggleToolAutoApprove(ToggleToolAutoApproveRequest) returns (McpServers);
19
19
  rpc refreshMcpMarketplace(EmptyRequest) returns (McpMarketplaceCatalog);
20
20
  rpc openMcpSettings(EmptyRequest) returns (Empty);
21
+ rpc authenticateMcpServer(StringRequest) returns (Empty);
21
22
 
22
23
  // Subscribe to MCP marketplace catalog updates
23
24
  rpc subscribeToMcpMarketplaceCatalog(EmptyRequest) returns (stream McpMarketplaceCatalog);
@@ -43,6 +44,7 @@ message AddRemoteMcpServerRequest {
43
44
  Metadata metadata = 1;
44
45
  string server_name = 2;
45
46
  string server_url = 3;
47
+ optional string transport_type = 4;
46
48
  }
47
49
 
48
50
  message ToggleToolAutoApproveRequest {
@@ -91,6 +93,8 @@ message McpServer {
91
93
  repeated McpResourceTemplate resource_templates = 7;
92
94
  optional bool disabled = 8;
93
95
  optional int32 timeout = 9;
96
+ optional bool oauth_required = 10;
97
+ optional string oauth_auth_status = 11;
94
98
  }
95
99
 
96
100
  message McpServers {
@@ -96,6 +96,7 @@ message OpenRouterModelInfo {
96
96
  optional ThinkingConfig thinking_config = 10;
97
97
  optional bool supports_global_endpoint = 11;
98
98
  repeated ModelTier tiers = 12;
99
+ optional string name = 13;
99
100
  }
100
101
 
101
102
  // Shared response message for model information
@@ -312,7 +313,7 @@ message ApiConfiguration {
312
313
  // Request for updating API configuration (new - uses separate options and secrets)
313
314
  message UpdateApiConfigurationRequestNew {
314
315
  Metadata metadata = 1;
315
- ApiConfiguration api_configuration = 2;
316
+ ApiConfiguration updates = 2;
316
317
 
317
318
  // Required field mask specifying which fields to update.
318
319
  // Field paths use dot notation with camelCase field names:
@@ -320,7 +321,7 @@ message UpdateApiConfigurationRequestNew {
320
321
  // - "options.openAiHeaders" (for options fields)
321
322
  // - "secrets.apiKey" (for secrets fields)
322
323
  // - "secrets.openRouterApiKey" (for secrets fields)
323
- google.protobuf.FieldMask update_mask = 3;
324
+ repeated string update_mask = 3;
324
325
  }
325
326
 
326
327
  // Request for partially updating API configuration using FieldMask
@@ -421,6 +422,7 @@ enum ApiProvider {
421
422
  MINIMAX = 36;
422
423
  HICAP = 37;
423
424
  AIHUBMIX = 38;
425
+ NOUSRESEARCH = 39;
424
426
  }
425
427
 
426
428
  // Model info for OpenAI-compatible models
@@ -545,6 +547,7 @@ message ModelsApiConfiguration {
545
547
  optional string aihubmix_api_key = 82;
546
548
  optional string aihubmix_base_url = 83;
547
549
  optional string aihubmix_app_code = 84;
550
+ optional string nous_research_api_key = 85;
548
551
 
549
552
  // Plan mode configurations
550
553
  optional ApiProvider plan_mode_api_provider = 100;
@@ -584,6 +587,7 @@ message ModelsApiConfiguration {
584
587
  optional OpenRouterModelInfo plan_mode_hicap_model_info = 134;
585
588
  optional string plan_mode_aihubmix_model_id = 135;
586
589
  optional OpenAiCompatibleModelInfo plan_mode_aihubmix_model_info = 136;
590
+ optional string plan_mode_nous_research_model_id = 137;
587
591
 
588
592
  // Act mode configurations
589
593
  optional ApiProvider act_mode_api_provider = 200;
@@ -623,4 +627,5 @@ message ModelsApiConfiguration {
623
627
  optional OpenRouterModelInfo act_mode_hicap_model_info = 234;
624
628
  optional string act_mode_aihubmix_model_id = 235;
625
629
  optional OpenAiCompatibleModelInfo act_mode_aihubmix_model_info = 236;
630
+ optional string act_mode_nous_research_model_id = 237;
626
631
  }
@@ -23,6 +23,7 @@ service StateService {
23
23
  rpc updateSettingsCli(UpdateSettingsRequestCli) returns (Empty);
24
24
  rpc updateTaskSettings(UpdateTaskSettingsRequest) returns (Empty);
25
25
  rpc updateTelemetrySetting(TelemetrySettingRequest) returns (Empty);
26
+ rpc captureOnboardingProgress(OnboardingProgressRequest) returns (Empty);
26
27
  rpc setWelcomeViewCompleted(BooleanRequest) returns (Empty);
27
28
  rpc updateInfoBannerVersion(Int64Request) returns (Empty);
28
29
  rpc updateModelBannerVersion(Int64Request) returns (Empty);
@@ -30,6 +31,7 @@ service StateService {
30
31
  rpc installClineCli(EmptyRequest) returns (Empty);
31
32
  rpc checkCliInstallation(EmptyRequest) returns (Boolean);
32
33
  rpc getProcessInfo(EmptyRequest) returns (ProcessInfo);
34
+ rpc flushPendingState(EmptyRequest) returns (Empty);
33
35
  }
34
36
 
35
37
  message AutoApprovalActions {
@@ -88,6 +90,7 @@ message Secrets {
88
90
  optional string oca_api_key = 37;
89
91
  optional string oca_refresh_token = 38;
90
92
  optional string hicap_api_key = 39;
93
+ optional string mcp_oauth_secrets = 40;
91
94
  }
92
95
 
93
96
  message Settings {
@@ -359,6 +362,7 @@ message UpdateSettingsRequest {
359
362
  optional int32 subagent_terminal_output_line_limit = 30;
360
363
  optional string cline_env = 31;
361
364
  optional bool native_tool_call_enabled = 32;
365
+ optional bool show_onboarding_flow = 33;
362
366
  }
363
367
 
364
368
  message UpdateTerminalConnectionTimeoutRequest {
@@ -379,3 +383,10 @@ message ProcessInfo {
379
383
  optional string version = 2;
380
384
  optional int64 uptime_ms = 3;
381
385
  }
386
+
387
+ message OnboardingProgressRequest {
388
+ int32 step = 1;
389
+ optional string action = 2;
390
+ optional bool completed = 3;
391
+ optional string model_selected = 4;
392
+ }
@@ -70,6 +70,7 @@ message TaskResponse {
70
70
  int32 tokens_out = 8;
71
71
  int32 cache_writes = 9;
72
72
  int32 cache_reads = 10;
73
+ string model_id = 11;
73
74
  }
74
75
 
75
76
  // Request for getting task history with filtering
@@ -99,6 +100,7 @@ message TaskItem {
99
100
  int32 tokens_out = 8;
100
101
  int32 cache_writes = 9;
101
102
  int32 cache_reads = 10;
103
+ string model_id = 11;
102
104
  }
103
105
 
104
106
  // Request for ask response operation
@@ -32,6 +32,7 @@ enum ClineAsk {
32
32
  CONDENSE = 13;
33
33
  REPORT_BUG = 14;
34
34
  SUMMARIZE_TASK = 15;
35
+ ACT_MODE_RESPOND = 16;
35
36
  }
36
37
 
37
38
  // Enum for ClineSay types
@@ -77,6 +78,7 @@ enum ClineSayToolType {
77
78
  LIST_CODE_DEFINITION_NAMES = 5;
78
79
  SEARCH_FILES = 6;
79
80
  WEB_FETCH = 7;
81
+ FILE_DELETED = 8;
80
82
  }
81
83
 
82
84
  // Enum for browser actions
@@ -183,6 +185,11 @@ message ClineApiReqInfo {
183
185
  ApiReqRetryStatus retry_status = 9;
184
186
  }
185
187
 
188
+ message ClineModelInfo {
189
+ string provider_id = 1;
190
+ string model_id = 2;
191
+ }
192
+
186
193
  // Main ClineMessage type
187
194
  message ClineMessage {
188
195
  int64 ts = 1;
@@ -209,6 +216,7 @@ message ClineMessage {
209
216
  ClineAskQuestion ask_question = 20;
210
217
  ClineAskNewTask ask_new_task = 21;
211
218
  ClineApiReqInfo api_req_info = 22;
219
+ ClineModelInfo model_info = 23;
212
220
  }
213
221
 
214
222
  // UiService provides methods for managing UI interactions
Binary file