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.
package/bin/cline CHANGED
Binary file
package/bin/cline-host CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cline",
3
- "version": "1.0.0-nightly.6",
3
+ "version": "1.0.0-nightly.7",
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": {
@@ -0,0 +1,136 @@
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 AccountService {
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 accountLoginClicked(EmptyRequest) returns (String);
15
+
16
+ // Handles the user clicking the logout button in the UI.
17
+ // Clears API keys and user state.
18
+ rpc accountLogoutClicked(EmptyRequest) returns (Empty);
19
+
20
+ // Subscribe to auth status update events (when authentication state changes)
21
+ rpc subscribeToAuthStatusUpdate(EmptyRequest)
22
+ returns (stream AuthState);
23
+
24
+ // Handles authentication state changes from the Firebase context.
25
+ // Updates the user info in global state and returns the updated value.
26
+ rpc authStateChanged(AuthStateChangedRequest)
27
+ returns (AuthState);
28
+
29
+ // Fetches all user credits data
30
+ // (balance, usage transactions, payment transactions)
31
+ rpc getUserCredits(EmptyRequest) returns (UserCreditsData);
32
+
33
+ rpc getOrganizationCredits(GetOrganizationCreditsRequest) returns (OrganizationCreditsData);
34
+
35
+ // Fetches all user organizations data
36
+ // Returns a list of UserOrganization objects
37
+ rpc getUserOrganizations(EmptyRequest) returns (UserOrganizationsResponse);
38
+
39
+ rpc setUserOrganization(UserOrganizationUpdateRequest) returns (Empty);
40
+
41
+ rpc openrouterAuthClicked(EmptyRequest) returns (Empty);
42
+
43
+ // Returns a link the webview can use to redirect back to the user's IDE.
44
+ rpc getRedirectUrl(EmptyRequest) returns (String);
45
+ }
46
+
47
+ message AuthStateChangedRequest {
48
+ Metadata metadata = 1;
49
+ UserInfo user = 2;
50
+ }
51
+
52
+ message AuthState {
53
+ optional UserInfo user = 1;
54
+ }
55
+
56
+ // User's information
57
+ message UserInfo {
58
+ string uid = 1;
59
+ optional string display_name = 2;
60
+ optional string email = 3;
61
+ optional string photo_url = 4;
62
+ optional string app_base_url = 5; // Cline app base URL
63
+ }
64
+
65
+ message UserOrganization {
66
+ bool active = 1;
67
+ string member_id = 2;
68
+ string name = 3;
69
+ string organization_id = 4;
70
+ repeated string roles = 5; // ["admin", "member", "owner"]
71
+ }
72
+
73
+ message UserOrganizationsResponse {
74
+ repeated UserOrganization organizations = 1;
75
+ }
76
+
77
+ message UserOrganizationUpdateRequest {
78
+ optional string organization_id = 1;
79
+ }
80
+
81
+ message UserCreditsData {
82
+ UserCreditsBalance balance = 1;
83
+ repeated UsageTransaction usage_transactions = 2;
84
+ repeated PaymentTransaction payment_transactions = 3;
85
+ }
86
+
87
+ message GetOrganizationCreditsRequest {
88
+ string organization_id = 1;
89
+ }
90
+
91
+ message OrganizationCreditsData {
92
+ UserCreditsBalance balance = 1;
93
+ string organization_id = 2;
94
+ repeated OrganizationUsageTransaction usage_transactions = 3;
95
+ }
96
+
97
+ message UserCreditsBalance {
98
+ double current_balance = 1;
99
+ }
100
+
101
+ message UsageTransaction {
102
+ string ai_inference_provider_name = 1;
103
+ string ai_model_name = 2;
104
+ string ai_model_type_name = 3;
105
+ int32 completion_tokens = 4;
106
+ double cost_usd = 5;
107
+ string created_at = 6;
108
+ double credits_used = 7;
109
+ string generation_id = 8;
110
+ string organization_id = 9;
111
+ int32 prompt_tokens = 10;
112
+ int32 total_tokens = 11;
113
+ string user_id = 12;
114
+ }
115
+
116
+ message PaymentTransaction {
117
+ string paid_at = 1;
118
+ string creator_id = 2;
119
+ int32 amount_cents = 3;
120
+ double credits = 4;
121
+ }
122
+
123
+ message OrganizationUsageTransaction {
124
+ string ai_inference_provider_name = 1;
125
+ string ai_model_name = 2;
126
+ string ai_model_type_name = 3;
127
+ int32 completion_tokens = 4;
128
+ double cost_usd = 5;
129
+ string created_at = 6;
130
+ double credits_used = 7;
131
+ string generation_id = 8;
132
+ string organization_id = 9;
133
+ int32 prompt_tokens = 10;
134
+ int32 total_tokens = 11;
135
+ string user_id = 12;
136
+ }
@@ -0,0 +1,56 @@
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 BrowserService {
10
+ rpc getBrowserConnectionInfo(EmptyRequest) returns (BrowserConnectionInfo);
11
+ rpc testBrowserConnection(StringRequest) returns (BrowserConnection);
12
+ rpc discoverBrowser(EmptyRequest) returns (BrowserConnection);
13
+ rpc getDetectedChromePath(EmptyRequest) returns (ChromePath);
14
+ rpc relaunchChromeDebugMode(EmptyRequest) returns (String);
15
+ }
16
+
17
+ message BrowserConnectionInfo {
18
+ bool is_connected = 1;
19
+ bool is_remote = 2;
20
+ optional string host = 3;
21
+ }
22
+
23
+ message BrowserConnection {
24
+ bool success = 1;
25
+ string message = 2;
26
+ optional string endpoint = 3;
27
+ }
28
+
29
+ message ChromePath {
30
+ string path = 1;
31
+ bool is_bundled = 2;
32
+ }
33
+
34
+ message Viewport {
35
+ int32 width = 1;
36
+ int32 height = 2;
37
+ }
38
+
39
+ message BrowserSettings {
40
+ Viewport viewport = 1;
41
+ optional string remote_browser_host = 2;
42
+ optional bool remote_browser_enabled = 3;
43
+ optional string chrome_executable_path = 4;
44
+ optional bool disable_tool_use = 5;
45
+ optional string custom_args = 6;
46
+ }
47
+
48
+ message UpdateBrowserSettingsRequest {
49
+ Metadata metadata = 1;
50
+ Viewport viewport = 2;
51
+ optional string remote_browser_host = 3;
52
+ optional bool remote_browser_enabled = 4;
53
+ optional string chrome_executable_path = 5;
54
+ optional bool disable_tool_use = 6;
55
+ optional string custom_args = 7;
56
+ }
@@ -0,0 +1,45 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ import "cline/common.proto";
5
+ import "google/protobuf/timestamp.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 CheckpointsService {
11
+ rpc checkpointDiff(Int64Request) returns (Empty);
12
+ rpc checkpointRestore(CheckpointRestoreRequest) returns (Empty);
13
+ rpc subscribeToCheckpoints(CheckpointSubscriptionRequest) returns (stream CheckpointEvent);
14
+ rpc getCwdHash(StringArrayRequest) returns (PathHashMap);
15
+ }
16
+
17
+ message CheckpointRestoreRequest {
18
+ Metadata metadata = 1;
19
+ int64 number = 2;
20
+ string restore_type = 3;
21
+ optional int64 offset = 4;
22
+ }
23
+
24
+ message CheckpointSubscriptionRequest {
25
+ string cwd_hash = 1;
26
+ }
27
+
28
+ message CheckpointEvent {
29
+ enum OperationType {
30
+ CHECKPOINT_INIT = 0;
31
+ CHECKPOINT_COMMIT = 1;
32
+ CHECKPOINT_RESTORE = 2;
33
+ }
34
+
35
+ OperationType operation = 1;
36
+ string cwd_hash = 2;
37
+ bool is_active = 3;
38
+ google.protobuf.Timestamp timestamp = 4;
39
+ optional string task_id = 5;
40
+ optional string commit_hash = 6;
41
+ }
42
+
43
+ message PathHashMap {
44
+ map<string, string> path_hash = 1;
45
+ }
@@ -0,0 +1,30 @@
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 running IDE commands, for example context menu actions,
10
+ // commands, etc.
11
+ // In contrast to the rest of the ProtoBus services, these are
12
+ // intended to be called by the IDE directly instead of through the webview,
13
+ // because they are triggered by interactions in the IDE.
14
+ service CommandsService {
15
+ rpc addToCline(CommandContext) returns (Empty);
16
+ rpc fixWithCline(CommandContext) returns (Empty);
17
+ rpc explainWithCline(CommandContext) returns (Empty);
18
+ rpc improveWithCline(CommandContext) returns (Empty);
19
+ }
20
+
21
+ message CommandContext {
22
+ // The absolute path of the current file.
23
+ optional string file_path = 1;
24
+ // The selected source text.
25
+ optional string selected_text = 2;
26
+ // The language identifier for the current file.
27
+ optional string language = 3;
28
+ // Any diagnostic problems for the current file.
29
+ repeated cline.Diagnostic diagnostics = 4;
30
+ }
@@ -0,0 +1,99 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ option go_package = "github.com/cline/grpc-go/cline";
5
+ option java_package = "bot.cline.proto";
6
+ option java_multiple_files = true;
7
+
8
+ message Metadata {
9
+ }
10
+
11
+ message EmptyRequest {
12
+ }
13
+
14
+ message Empty {
15
+ }
16
+
17
+ message StringRequest {
18
+ string value = 2;
19
+ }
20
+
21
+ message StringArrayRequest {
22
+ repeated string value = 2;
23
+ }
24
+
25
+ message String {
26
+ string value = 1;
27
+ }
28
+
29
+ message Int64Request {
30
+ int64 value = 2;
31
+ }
32
+
33
+ message Int64 {
34
+ int64 value = 1;
35
+ }
36
+
37
+ message BytesRequest {
38
+ bytes value = 2;
39
+ }
40
+
41
+ message Bytes {
42
+ bytes value = 1;
43
+ }
44
+
45
+ message BooleanRequest {
46
+ bool value = 2;
47
+ }
48
+
49
+ message Boolean {
50
+ bool value = 1;
51
+ }
52
+
53
+ // the same as Boolean, but avoiding name conflicts
54
+ message BooleanResponse {
55
+ bool value = 1;
56
+ }
57
+
58
+ message StringArray {
59
+ repeated string values = 1;
60
+ }
61
+
62
+ message StringArrays {
63
+ repeated string values1 = 1;
64
+ repeated string values2 = 2;
65
+ }
66
+
67
+ message KeyValuePair {
68
+ string key = 1;
69
+ string value = 2;
70
+ }
71
+
72
+ message FileDiagnostics {
73
+ string file_path = 1;
74
+ repeated Diagnostic diagnostics = 2;
75
+ }
76
+
77
+ message Diagnostic {
78
+ string message = 1;
79
+ DiagnosticRange range = 2;
80
+ DiagnosticSeverity severity = 3;
81
+ optional string source = 4;
82
+ }
83
+
84
+ message DiagnosticRange {
85
+ DiagnosticPosition start = 1;
86
+ DiagnosticPosition end = 2;
87
+ }
88
+
89
+ message DiagnosticPosition {
90
+ int32 line = 1;
91
+ int32 character = 2;
92
+ }
93
+
94
+ enum DiagnosticSeverity {
95
+ DIAGNOSTIC_ERROR = 0;
96
+ DIAGNOSTIC_WARNING = 1;
97
+ DIAGNOSTIC_INFORMATION = 2;
98
+ DIAGNOSTIC_HINT = 3;
99
+ }
@@ -0,0 +1,42 @@
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 DictationService {
10
+ rpc startRecording(EmptyRequest) returns (RecordingResult);
11
+ rpc stopRecording(EmptyRequest) returns (RecordedAudio);
12
+ rpc cancelRecording(EmptyRequest) returns (RecordingResult);
13
+ rpc getRecordingStatus(EmptyRequest) returns (RecordingStatus);
14
+ rpc transcribeAudio(TranscribeAudioRequest) returns (Transcription);
15
+ }
16
+
17
+ message TranscribeAudioRequest {
18
+ string audio_base64 = 2;
19
+ string language = 3;
20
+ }
21
+
22
+ message RecordingResult {
23
+ bool success = 1;
24
+ string error = 2;
25
+ }
26
+
27
+ message RecordedAudio {
28
+ bool success = 1;
29
+ string audio_base64 = 2;
30
+ string error = 3;
31
+ }
32
+
33
+ message RecordingStatus {
34
+ bool is_recording = 1;
35
+ double duration_seconds = 2;
36
+ string error = 3;
37
+ }
38
+
39
+ message Transcription {
40
+ string text = 1;
41
+ string error = 2;
42
+ }
@@ -0,0 +1,189 @@
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 file-related operations
10
+ service FileService {
11
+ // Copies text to clipboard
12
+ rpc copyToClipboard(StringRequest) returns (Empty);
13
+
14
+ // Opens a file in the editor
15
+ rpc openFile(StringRequest) returns (Empty);
16
+
17
+ // Opens an image in the system viewer
18
+ rpc openImage(StringRequest) returns (Empty);
19
+
20
+ // Opens a mention (file, path, git commit, problem, terminal, or URL)
21
+ rpc openMention(StringRequest) returns (Empty);
22
+
23
+ // Deletes a rule file from either global or workspace rules directory
24
+ rpc deleteRuleFile(RuleFileRequest) returns (RuleFile);
25
+
26
+ // Creates a rule file from either global or workspace rules directory
27
+ rpc createRuleFile(RuleFileRequest) returns (RuleFile);
28
+
29
+ // Search git commits in the workspace
30
+ rpc searchCommits(StringRequest) returns (GitCommits);
31
+
32
+ // Select images and other files from the file system and returns as data URLs & paths respectively
33
+ rpc selectFiles(BooleanRequest) returns (StringArrays);
34
+
35
+ // Convert URIs to workspace-relative paths
36
+ rpc getRelativePaths(RelativePathsRequest) returns (RelativePaths);
37
+
38
+ // Search for files in the workspace with fuzzy matching
39
+ rpc searchFiles(FileSearchRequest) returns (FileSearchResults);
40
+
41
+ // Toggle a Cline rule (enable or disable)
42
+ rpc toggleClineRule(ToggleClineRuleRequest) returns (ToggleClineRules);
43
+
44
+ // Toggle a Cursor rule (enable or disable)
45
+ rpc toggleCursorRule(ToggleCursorRuleRequest) returns (ClineRulesToggles);
46
+
47
+ // Toggle a Windsurf rule (enable or disable)
48
+ rpc toggleWindsurfRule(ToggleWindsurfRuleRequest) returns (ClineRulesToggles);
49
+
50
+ // Refreshes all rule toggles (Cline, External, and Workflows)
51
+ rpc refreshRules(EmptyRequest) returns (RefreshedRules);
52
+
53
+ // Opens a task's conversation history file on disk
54
+ rpc openDiskConversationHistory(StringRequest) returns (Empty);
55
+
56
+ // Toggles a workflow on or off
57
+ rpc toggleWorkflow(ToggleWorkflowRequest) returns (ClineRulesToggles);
58
+
59
+ // Check if file exists in the project
60
+ rpc ifFileExistsRelativePath(StringRequest) returns (BooleanResponse);
61
+
62
+ // Open a file in editor by a relative path
63
+ rpc openFileRelativePath(StringRequest) returns (Empty);
64
+
65
+ // Opens or creates a focus chain checklist markdown file for editing
66
+ rpc openFocusChainFile(StringRequest) returns (Empty);
67
+ }
68
+
69
+ // Response for refreshRules operation
70
+ message RefreshedRules {
71
+ ClineRulesToggles global_cline_rules_toggles = 1;
72
+ ClineRulesToggles local_cline_rules_toggles = 2;
73
+ ClineRulesToggles local_cursor_rules_toggles = 3;
74
+ ClineRulesToggles local_windsurf_rules_toggles = 4;
75
+ ClineRulesToggles local_workflow_toggles = 5;
76
+ ClineRulesToggles global_workflow_toggles = 6;
77
+ }
78
+
79
+ // Request to toggle a Windsurf rule
80
+ message ToggleWindsurfRuleRequest {
81
+ Metadata metadata = 1;
82
+ string rule_path = 2; // Path to the rule file
83
+ bool enabled = 3; // Whether to enable or disable the rule
84
+ }
85
+
86
+ // Request to convert a list of URIs to relative paths
87
+ message RelativePathsRequest {
88
+ Metadata metadata = 1;
89
+ repeated string uris = 2;
90
+ }
91
+
92
+ // Response containing the converted relative paths
93
+ message RelativePaths {
94
+ repeated string paths = 1;
95
+ }
96
+
97
+ // Enum for file search type filtering
98
+ enum FileSearchType {
99
+ FILE = 0;
100
+ FOLDER = 1;
101
+ }
102
+
103
+ // Request for file search operations
104
+ message FileSearchRequest {
105
+ Metadata metadata = 1;
106
+ string query = 2; // Search query string
107
+ optional string mentions_request_id = 3; // Optional request ID for tracking requests
108
+ optional int32 limit = 4; // Optional limit for results (default: 20)
109
+ optional FileSearchType selected_type = 5; // Optional selected type filter
110
+ optional string workspace_hint = 6; // Optional workspace name to search in
111
+ }
112
+
113
+ // Result for file search operations
114
+ message FileSearchResults {
115
+ repeated FileInfo results = 1; // Array of file/folder results
116
+ optional string mentions_request_id = 2; // Echo of the request ID for tracking
117
+ }
118
+
119
+ // File information structure for search results
120
+ message FileInfo {
121
+ string path = 1; // Relative path from workspace root
122
+ string type = 2; // "file" or "folder"
123
+ optional string label = 3; // Display name (usually basename)
124
+ optional string workspace_name = 4; // Workspace this result came from
125
+ }
126
+
127
+ // Response for searchCommits
128
+ message GitCommits {
129
+ repeated GitCommit commits = 1;
130
+ }
131
+
132
+ // Represents a Git commit
133
+ message GitCommit {
134
+ string hash = 1;
135
+ string short_hash = 2;
136
+ string subject = 3;
137
+ string author = 4;
138
+ string date = 5;
139
+ }
140
+
141
+ // Unified request for all rule file operations
142
+ message RuleFileRequest {
143
+ Metadata metadata = 1;
144
+ bool is_global = 2; // Common field for all operations
145
+ optional string rule_path = 3; // Path field for deleteRuleFile (optional)
146
+ optional string filename = 4; // Filename field for createRuleFile (optional)
147
+ optional string type = 5; // Type of the file to create (optional)
148
+ }
149
+
150
+ // Result for rule file operations with meaningful data only
151
+ message RuleFile {
152
+ string file_path = 1; // Path to the rule file
153
+ string display_name = 2; // Filename for display purposes
154
+ bool already_exists = 3; // For createRuleFile, indicates if file already existed
155
+ }
156
+
157
+ // Request to toggle a Cline rule
158
+ message ToggleClineRuleRequest {
159
+ Metadata metadata = 1;
160
+ bool is_global = 2; // Whether this is a global rule or workspace rule
161
+ string rule_path = 3; // Path to the rule file
162
+ bool enabled = 4; // Whether to enable or disable the rule
163
+ }
164
+
165
+ // Maps from filepath to enabled/disabled status, matching app's ClineRulesToggles type
166
+ message ClineRulesToggles {
167
+ map<string, bool> toggles = 1;
168
+ }
169
+
170
+ // Response for toggleClineRule operation
171
+ message ToggleClineRules {
172
+ ClineRulesToggles global_cline_rules_toggles = 1;
173
+ ClineRulesToggles local_cline_rules_toggles = 2;
174
+ }
175
+
176
+ // Request to toggle a Cursor rule
177
+ message ToggleCursorRuleRequest {
178
+ Metadata metadata = 1;
179
+ string rule_path = 2; // Path to the rule file
180
+ bool enabled = 3; // Whether to enable or disable the rule
181
+ }
182
+
183
+ // Request to toggle a workflow on or off
184
+ message ToggleWorkflowRequest {
185
+ Metadata metadata = 1;
186
+ string workflow_path = 2;
187
+ bool enabled = 3;
188
+ bool is_global = 4;
189
+ }
@@ -0,0 +1,49 @@
1
+ syntax = "proto3";
2
+
3
+ package cline;
4
+ option go_package = "github.com/cline/grpc-go/cline";
5
+ option java_package = "bot.cline.proto";
6
+ option java_multiple_files = true;
7
+
8
+ // Input message for all hooks
9
+ message HookInput {
10
+ string cline_version = 1;
11
+ string hook_name = 2;
12
+ string timestamp = 3;
13
+ string task_id = 4;
14
+ repeated string workspace_roots = 5;
15
+ string user_id = 6;
16
+ oneof data {
17
+ PreToolUseData pre_tool_use = 10;
18
+ PostToolUseData post_tool_use = 11;
19
+ // Future hooks will be added here
20
+ // UserPromptSubmitData user_prompt_submit = 12;
21
+ // TaskStartData task_start = 13;
22
+ // TaskResumeData task_resume = 14;
23
+ // TaskCancelData task_cancel = 15;
24
+ // TaskCompleteData task_complete = 16;
25
+ // PreCompactData pre_compact = 17;
26
+ }
27
+ }
28
+
29
+ // Output message for all hooks
30
+ message HookOutput {
31
+ string context_modification = 1;
32
+ bool should_continue = 2;
33
+ string error_message = 3;
34
+ }
35
+
36
+ // Data for PreToolUse hook
37
+ message PreToolUseData {
38
+ string tool_name = 1;
39
+ map<string, string> parameters = 2;
40
+ }
41
+
42
+ // Data for PostToolUse hook
43
+ message PostToolUseData {
44
+ string tool_name = 1;
45
+ map<string, string> parameters = 2;
46
+ string result = 3;
47
+ bool success = 4;
48
+ int64 execution_time_ms = 5;
49
+ }