mirror of
https://github.com/cline/cline.git
synced 2026-09-19 02:05:44 +08:00
* feat(logging): replace HostProvider with node-machine-id for machine identification Replace custom HostProvider.env.getMachineId() implementation with the node-machine-id npm package for retrieving machine identifiers. This simplifies the codebase by using a well-maintained library instead of custom host provider logic. Changes: - Add node-machine-id dependency (^1.1.12) - Remove dotenv dev dependency (no longer needed) - Update distinctId service to use node-machine-id directly - Refactor tests to stub node-machine-id instead of HostProvider - Remove HostProvider mock utilities from tests This change improves maintainability and reduces custom code while maintaining the same functionality for generating stable machine IDs. * Removing dead code
62 lines
2.3 KiB
Protocol Buffer
62 lines
2.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package host;
|
|
option go_package = "github.com/cline/grpc-go/host";
|
|
option java_package = "bot.cline.host.proto";
|
|
option java_multiple_files = true;
|
|
|
|
import "cline/common.proto";
|
|
|
|
// Provides methods for working with the user's environment.
|
|
service EnvService {
|
|
// Writes text to the system clipboard.
|
|
rpc clipboardWriteText(cline.StringRequest) returns (cline.Empty);
|
|
|
|
// Reads text from the system clipboard.
|
|
rpc clipboardReadText(cline.EmptyRequest) returns (cline.String);
|
|
|
|
// Returns the name and version of the host IDE or environment.
|
|
rpc getHostVersion(cline.EmptyRequest) returns (GetHostVersionResponse);
|
|
|
|
// Returns a URI that will redirect to the host environment.
|
|
// e.g. vscode://saoudrizwan.claude-dev, idea://, pycharm://, etc.
|
|
// If the host does not support URIs it should return empty.
|
|
rpc getIdeRedirectUri(cline.EmptyRequest) returns (cline.String);
|
|
|
|
// Returns the telemetry settings of the host environment. This may return UNSUPPORTED
|
|
// if the host does not specify telemetry settings for the plugin.
|
|
rpc getTelemetrySettings(cline.EmptyRequest) returns (GetTelemetrySettingsResponse);
|
|
|
|
// Returns events when the telemetry settings change.
|
|
rpc subscribeToTelemetrySettings(cline.EmptyRequest) returns (stream TelemetrySettingsEvent);
|
|
|
|
// Initiates a graceful shutdown of the host bridge service.
|
|
rpc shutdown(cline.EmptyRequest) returns (cline.Empty);
|
|
}
|
|
|
|
message GetHostVersionResponse {
|
|
// The name of the host platform, e.g VSCode, IntelliJ Ultimate Edition, etc.
|
|
optional string platform = 1;
|
|
// The version of the host platform, e.g. 1.103.0 for VSCode, or 2025.1.1.1 for JetBrains IDEs.
|
|
optional string version = 2;
|
|
// The type of the cline host environment, e.g. 'VSCode Extension', 'Cline for JetBrains', 'CLI'
|
|
// This is different from the platform because there are many JetBrains IDEs, but they all use the same
|
|
// plugin.
|
|
optional string cline_type = 3;
|
|
// The version of the cline host environment, e.g. 33.2.10 for extension, or 1.0.6 for JetBrains.
|
|
optional string cline_version = 4;
|
|
}
|
|
|
|
enum Setting {
|
|
UNSUPPORTED = 0; // This host does not support this setting.
|
|
ENABLED = 1;
|
|
DISABLED = 2;
|
|
}
|
|
message GetTelemetrySettingsResponse {
|
|
Setting is_enabled = 1;
|
|
}
|
|
|
|
message TelemetrySettingsEvent {
|
|
Setting is_enabled = 1;
|
|
}
|