cline 1.0.6-nightly.25 → 1.0.7-nightly.26
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.
- package/bin/cline +0 -0
- package/bin/cline-darwin-amd64 +0 -0
- package/bin/cline-darwin-arm64 +0 -0
- package/bin/cline-host +0 -0
- package/bin/cline-host-darwin-amd64 +0 -0
- package/bin/cline-host-darwin-arm64 +0 -0
- package/bin/cline-host-linux-amd64 +0 -0
- package/bin/cline-host-linux-arm64 +0 -0
- package/bin/cline-linux-amd64 +0 -0
- package/bin/cline-linux-arm64 +0 -0
- package/cline-core.js +215764 -194591
- package/extension/package.json +21 -13
- package/fake_node_modules/vscode/enhanced-terminal.js +38 -6
- package/package.json +1 -1
- package/proto/cline/file.proto +70 -0
- package/proto/cline/models.proto +8 -0
- package/proto/cline/state.proto +15 -1
- package/proto/descriptor_set.pb +0 -0
package/extension/package.json
CHANGED
|
@@ -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.
|
|
5
|
+
"version": "3.38.3",
|
|
6
6
|
"icon": "assets/icons/icon.png",
|
|
7
7
|
"engines": {
|
|
8
8
|
"vscode": "^1.84.0"
|
|
@@ -46,6 +46,15 @@
|
|
|
46
46
|
],
|
|
47
47
|
"main": "./dist/extension.js",
|
|
48
48
|
"contributes": {
|
|
49
|
+
"icons": {
|
|
50
|
+
"cline-icon": {
|
|
51
|
+
"description": "cline",
|
|
52
|
+
"default": {
|
|
53
|
+
"fontPath": "assets/icons/cline-bot.woff",
|
|
54
|
+
"fontCharacter": "\\e900"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
49
58
|
"walkthroughs": [
|
|
50
59
|
{
|
|
51
60
|
"id": "ClineWalkthrough",
|
|
@@ -174,10 +183,7 @@
|
|
|
174
183
|
"command": "cline.generateGitCommitMessage",
|
|
175
184
|
"title": "Generate Commit Message with Cline",
|
|
176
185
|
"category": "Cline",
|
|
177
|
-
"icon":
|
|
178
|
-
"light": "assets/icons/robot_panel_light.png",
|
|
179
|
-
"dark": "assets/icons/robot_panel_dark.png"
|
|
180
|
-
}
|
|
186
|
+
"icon": "$(cline-icon)"
|
|
181
187
|
},
|
|
182
188
|
{
|
|
183
189
|
"command": "cline.abortGitCommitMessage",
|
|
@@ -359,7 +365,8 @@
|
|
|
359
365
|
"docs": "cd docs && npm run dev",
|
|
360
366
|
"docs:check-links": "cd docs && npm run check",
|
|
361
367
|
"docs:rename-file": "cd docs && npm run rename",
|
|
362
|
-
"report-issue": "node scripts/report-issue.js"
|
|
368
|
+
"report-issue": "node scripts/report-issue.js",
|
|
369
|
+
"storybook": "cd webview-ui && npm run storybook"
|
|
363
370
|
},
|
|
364
371
|
"lint-staged": {
|
|
365
372
|
"*": [
|
|
@@ -417,7 +424,7 @@
|
|
|
417
424
|
"@bufbuild/protobuf": "^2.2.5",
|
|
418
425
|
"@cerebras/cerebras_cloud_sdk": "^1.35.0",
|
|
419
426
|
"@google-cloud/vertexai": "^1.9.3",
|
|
420
|
-
"@google/genai": "^1.
|
|
427
|
+
"@google/genai": "^1.30.0",
|
|
421
428
|
"@grpc/grpc-js": "^1.9.15",
|
|
422
429
|
"@grpc/reflection": "^1.0.4",
|
|
423
430
|
"@mistralai/mistralai": "^1.5.0",
|
|
@@ -442,8 +449,8 @@
|
|
|
442
449
|
"@opentelemetry/sdk-trace-node": "^1.30.1",
|
|
443
450
|
"@opentelemetry/semantic-conventions": "^1.37.0",
|
|
444
451
|
"@playwright/test": "^1.55.1",
|
|
445
|
-
"@sap-ai-sdk/ai-api": "^1.
|
|
446
|
-
"@sap-ai-sdk/orchestration": "^1.
|
|
452
|
+
"@sap-ai-sdk/ai-api": "^2.1.0",
|
|
453
|
+
"@sap-ai-sdk/orchestration": "^2.1.0",
|
|
447
454
|
"@sentry/browser": "^9.12.0",
|
|
448
455
|
"@streamparser/json": "^0.0.22",
|
|
449
456
|
"@tailwindcss/vite": "^4.1.14",
|
|
@@ -461,7 +468,6 @@
|
|
|
461
468
|
"exceljs": "^4.4.0",
|
|
462
469
|
"execa": "^9.5.2",
|
|
463
470
|
"fast-deep-equal": "^3.1.3",
|
|
464
|
-
"firebase": "^11.2.0",
|
|
465
471
|
"fzf": "^0.5.2",
|
|
466
472
|
"get-folder-size": "^5.0.0",
|
|
467
473
|
"globby": "^14.0.2",
|
|
@@ -471,7 +477,6 @@
|
|
|
471
477
|
"image-size": "^2.0.2",
|
|
472
478
|
"isbinaryfile": "^5.0.2",
|
|
473
479
|
"jschardet": "^3.1.4",
|
|
474
|
-
"jwt-decode": "^4.0.0",
|
|
475
480
|
"mammoth": "^1.11.0",
|
|
476
481
|
"nanoid": "^5.1.6",
|
|
477
482
|
"nice-grpc": "^2.1.12",
|
|
@@ -479,7 +484,7 @@
|
|
|
479
484
|
"ollama": "^0.5.13",
|
|
480
485
|
"open": "^10.1.2",
|
|
481
486
|
"open-graph-scraper": "^6.9.0",
|
|
482
|
-
"openai": "^
|
|
487
|
+
"openai": "^6.9.0",
|
|
483
488
|
"os-name": "^6.0.0",
|
|
484
489
|
"p-mutex": "^1.0.0",
|
|
485
490
|
"p-timeout": "^6.1.4",
|
|
@@ -504,7 +509,10 @@
|
|
|
504
509
|
"zod": "^3.24.2"
|
|
505
510
|
},
|
|
506
511
|
"overrides": {
|
|
507
|
-
"tar-fs": ">=3.1.1"
|
|
512
|
+
"tar-fs": ">=3.1.1",
|
|
513
|
+
"tar": "^7.5.2",
|
|
514
|
+
"vite": "^7.1.11",
|
|
515
|
+
"js-yaml": "^4.1.1"
|
|
508
516
|
},
|
|
509
517
|
"c8": {
|
|
510
518
|
"reporter": [
|
|
@@ -210,17 +210,38 @@ class StandaloneTerminalProcess extends EventEmitter {
|
|
|
210
210
|
|
|
211
211
|
// Terminate the process if it's still running
|
|
212
212
|
terminate() {
|
|
213
|
-
if (this.childProcess
|
|
214
|
-
console.log(`[StandaloneTerminal]
|
|
213
|
+
if (!this.childProcess || this.isCompleted) {
|
|
214
|
+
console.log(`[StandaloneTerminal] Process already completed or doesn't exist, skipping termination`)
|
|
215
|
+
return
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
const pid = this.childProcess.pid
|
|
219
|
+
console.log(`[StandaloneTerminal] Terminating process ${pid} with SIGTERM`)
|
|
220
|
+
|
|
221
|
+
try {
|
|
215
222
|
this.childProcess.kill("SIGTERM")
|
|
216
223
|
|
|
217
|
-
// Force kill after timeout
|
|
224
|
+
// Force kill after timeout if process doesn't exit gracefully
|
|
218
225
|
setTimeout(() => {
|
|
219
|
-
if (!this.isCompleted) {
|
|
220
|
-
console.log(`[StandaloneTerminal]
|
|
221
|
-
|
|
226
|
+
if (!this.isCompleted && this.childProcess) {
|
|
227
|
+
console.log(`[StandaloneTerminal] Process ${pid} did not exit gracefully, force killing with SIGKILL`)
|
|
228
|
+
try {
|
|
229
|
+
this.childProcess.kill("SIGKILL")
|
|
230
|
+
} catch (killError) {
|
|
231
|
+
console.error(`[StandaloneTerminal] Failed to force kill process ${pid}:`, killError)
|
|
232
|
+
}
|
|
233
|
+
} else {
|
|
234
|
+
console.log(`[StandaloneTerminal] Process ${pid} exited gracefully`)
|
|
222
235
|
}
|
|
223
236
|
}, 5000)
|
|
237
|
+
} catch (error) {
|
|
238
|
+
console.error(`[StandaloneTerminal] Failed to send SIGTERM to process ${pid}:`, error)
|
|
239
|
+
// Try SIGKILL immediately if SIGTERM fails
|
|
240
|
+
try {
|
|
241
|
+
this.childProcess.kill("SIGKILL")
|
|
242
|
+
} catch (killError) {
|
|
243
|
+
console.error(`[StandaloneTerminal] Failed to send SIGKILL to process ${pid}:`, killError)
|
|
244
|
+
}
|
|
224
245
|
}
|
|
225
246
|
}
|
|
226
247
|
}
|
|
@@ -521,6 +542,17 @@ class StandaloneTerminalManager {
|
|
|
521
542
|
}
|
|
522
543
|
}
|
|
523
544
|
|
|
545
|
+
// Ensure terminate() is accessible on the merged promise
|
|
546
|
+
// This allows Task.cancelBackgroundCommand() to kill the process
|
|
547
|
+
if (process.terminate && typeof process.terminate === "function") {
|
|
548
|
+
Object.defineProperty(process, "terminate", {
|
|
549
|
+
value: process.terminate.bind(process),
|
|
550
|
+
writable: false,
|
|
551
|
+
enumerable: false,
|
|
552
|
+
configurable: false,
|
|
553
|
+
})
|
|
554
|
+
}
|
|
555
|
+
|
|
524
556
|
return process
|
|
525
557
|
}
|
|
526
558
|
}
|
package/package.json
CHANGED
package/proto/cline/file.proto
CHANGED
|
@@ -69,6 +69,18 @@ service FileService {
|
|
|
69
69
|
|
|
70
70
|
// Opens or creates a focus chain checklist markdown file for editing
|
|
71
71
|
rpc openFocusChainFile(StringRequest) returns (Empty);
|
|
72
|
+
|
|
73
|
+
// Refreshes all hook toggles (discovers hooks and their enabled state)
|
|
74
|
+
rpc refreshHooks(EmptyRequest) returns (HooksToggles);
|
|
75
|
+
|
|
76
|
+
// Toggles a hook on or off via chmod +x/-x
|
|
77
|
+
rpc toggleHook(ToggleHookRequest) returns (ToggleHookResponse);
|
|
78
|
+
|
|
79
|
+
// Creates a new hook from template
|
|
80
|
+
rpc createHook(CreateHookRequest) returns (CreateHookResponse);
|
|
81
|
+
|
|
82
|
+
// Deletes an existing hook file
|
|
83
|
+
rpc deleteHook(DeleteHookRequest) returns (DeleteHookResponse);
|
|
72
84
|
}
|
|
73
85
|
|
|
74
86
|
// Response for refreshRules operation
|
|
@@ -208,3 +220,61 @@ message ToggleWorkflowRequest {
|
|
|
208
220
|
bool enabled = 3;
|
|
209
221
|
RuleScope scope = 4; // Scope of the workflow (local, global, or remote)
|
|
210
222
|
}
|
|
223
|
+
|
|
224
|
+
// Maps from hook name to enabled/disabled status
|
|
225
|
+
message HookInfo {
|
|
226
|
+
string name = 1;
|
|
227
|
+
bool enabled = 2;
|
|
228
|
+
string absolute_path = 3;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
message WorkspaceHooks {
|
|
232
|
+
string workspace_name = 1;
|
|
233
|
+
repeated HookInfo hooks = 2;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
message HooksToggles {
|
|
237
|
+
repeated HookInfo global_hooks = 1;
|
|
238
|
+
repeated WorkspaceHooks workspace_hooks = 2;
|
|
239
|
+
bool is_windows = 3; // Whether the system is Windows (toggles disabled)
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// Request to toggle a hook
|
|
243
|
+
message ToggleHookRequest {
|
|
244
|
+
Metadata metadata = 1;
|
|
245
|
+
string hook_name = 2; // Name of the hook (e.g., "TaskStart")
|
|
246
|
+
bool is_global = 3; // Whether this is a global or workspace hook
|
|
247
|
+
bool enabled = 4; // Whether to enable (chmod +x) or disable (chmod -x)
|
|
248
|
+
optional string workspace_name = 5; // For multi-root workspaces, specifies which workspace
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Response for toggleHook operation
|
|
252
|
+
message ToggleHookResponse {
|
|
253
|
+
HooksToggles hooks_toggles = 1;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Request to create a hook
|
|
257
|
+
message CreateHookRequest {
|
|
258
|
+
Metadata metadata = 1;
|
|
259
|
+
string hook_name = 2; // Name of the hook to create
|
|
260
|
+
bool is_global = 3; // Whether to create in global or workspace hooks directory
|
|
261
|
+
optional string workspace_name = 4; // For multi-root workspaces, specifies which workspace
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// Response for createHook operation
|
|
265
|
+
message CreateHookResponse {
|
|
266
|
+
HooksToggles hooks_toggles = 1;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// Request to delete a hook
|
|
270
|
+
message DeleteHookRequest {
|
|
271
|
+
Metadata metadata = 1;
|
|
272
|
+
string hook_name = 2; // Name of the hook to delete
|
|
273
|
+
bool is_global = 3; // Whether this is a global or workspace hook
|
|
274
|
+
optional string workspace_name = 4; // For multi-root workspaces, specifies which workspace
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
// Response for deleteHook operation
|
|
278
|
+
message DeleteHookResponse {
|
|
279
|
+
HooksToggles hooks_toggles = 1;
|
|
280
|
+
}
|
package/proto/cline/models.proto
CHANGED
|
@@ -27,8 +27,12 @@ service ModelsService {
|
|
|
27
27
|
rpc refreshRequestyModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
|
|
28
28
|
// Refreshes and returns Hicap models
|
|
29
29
|
rpc refreshHicapModels(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
|
|
30
|
+
// Refreshes and returns LiteLLM models
|
|
31
|
+
rpc refreshLiteLlmModelsRpc(EmptyRequest) returns (OpenRouterCompatibleModelInfo);
|
|
30
32
|
// Subscribe to OpenRouter models updates
|
|
31
33
|
rpc subscribeToOpenRouterModels(EmptyRequest) returns (stream OpenRouterCompatibleModelInfo);
|
|
34
|
+
// Subscribe to LiteLLM models updates
|
|
35
|
+
rpc subscribeToLiteLlmModels(EmptyRequest) returns (stream OpenRouterCompatibleModelInfo);
|
|
32
36
|
// Updates API configuration (legacy - uses combined configuration)
|
|
33
37
|
rpc updateApiConfigurationProto(UpdateApiConfigurationRequest) returns (Empty);
|
|
34
38
|
// Updates API configuration (new - uses separate options and secrets)
|
|
@@ -97,6 +101,8 @@ message OpenRouterModelInfo {
|
|
|
97
101
|
optional bool supports_global_endpoint = 11;
|
|
98
102
|
repeated ModelTier tiers = 12;
|
|
99
103
|
optional string name = 13;
|
|
104
|
+
optional double temperature = 14;
|
|
105
|
+
optional bool supports_reasoning = 15;
|
|
100
106
|
}
|
|
101
107
|
|
|
102
108
|
// Shared response message for model information
|
|
@@ -588,6 +594,7 @@ message ModelsApiConfiguration {
|
|
|
588
594
|
optional string plan_mode_aihubmix_model_id = 135;
|
|
589
595
|
optional OpenAiCompatibleModelInfo plan_mode_aihubmix_model_info = 136;
|
|
590
596
|
optional string plan_mode_nous_research_model_id = 137;
|
|
597
|
+
optional string gemini_plan_mode_thinking_level = 138;
|
|
591
598
|
|
|
592
599
|
// Act mode configurations
|
|
593
600
|
optional ApiProvider act_mode_api_provider = 200;
|
|
@@ -628,4 +635,5 @@ message ModelsApiConfiguration {
|
|
|
628
635
|
optional string act_mode_aihubmix_model_id = 235;
|
|
629
636
|
optional OpenAiCompatibleModelInfo act_mode_aihubmix_model_info = 236;
|
|
630
637
|
optional string act_mode_nous_research_model_id = 237;
|
|
638
|
+
optional string gemini_act_mode_thinking_level = 238;
|
|
631
639
|
}
|
package/proto/cline/state.proto
CHANGED
|
@@ -362,7 +362,7 @@ message UpdateSettingsRequest {
|
|
|
362
362
|
optional int32 subagent_terminal_output_line_limit = 30;
|
|
363
363
|
optional string cline_env = 31;
|
|
364
364
|
optional bool native_tool_call_enabled = 32;
|
|
365
|
-
optional
|
|
365
|
+
optional OnboardingModelGroup onboarding_models = 33;
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
message UpdateTerminalConnectionTimeoutRequest {
|
|
@@ -390,3 +390,17 @@ message OnboardingProgressRequest {
|
|
|
390
390
|
optional bool completed = 3;
|
|
391
391
|
optional string model_selected = 4;
|
|
392
392
|
}
|
|
393
|
+
|
|
394
|
+
message OnboardingModelGroup {
|
|
395
|
+
repeated OnboardingModel models = 1;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
message OnboardingModel {
|
|
399
|
+
string id = 1;
|
|
400
|
+
string name = 2;
|
|
401
|
+
int32 score = 3;
|
|
402
|
+
int32 latency = 4;
|
|
403
|
+
string badge = 5;
|
|
404
|
+
string group = 6;
|
|
405
|
+
OpenRouterModelInfo info = 7;
|
|
406
|
+
}
|
package/proto/descriptor_set.pb
CHANGED
|
Binary file
|