syntax = "proto3"; package cline; import "cline/common.proto"; import "cline/state.proto"; option go_package = "github.com/cline/grpc-go/cline"; option java_multiple_files = true; option java_package = "bot.cline.proto"; service TaskService { // Cancels the currently running task rpc cancelTask(EmptyRequest) returns (Empty); // Cancels a queued prompt by ID rpc cancelQueuedPrompt(StringRequest) returns (Empty); // Cancels the currently running background command rpc cancelBackgroundCommand(EmptyRequest) returns (Empty); // Clears the current task rpc clearTask(EmptyRequest) returns (Empty); // Gets the total size of all tasks rpc getTotalTasksSize(EmptyRequest) returns (Int64); // Deletes multiple tasks with the given IDs rpc deleteTasksWithIds(StringArrayRequest) returns (Empty); // Creates a new task with the given text and optional images rpc newTask(NewTaskRequest) returns (String); // Shows a task with the specified ID rpc showTaskWithId(StringRequest) returns (TaskResponse); // Exports a task with the given ID to markdown rpc exportTaskWithId(StringRequest) returns (Empty); // Toggles the favorite status of a task rpc toggleTaskFavorite(TaskFavoriteRequest) returns (Empty); // Gets filtered task history rpc getTaskHistory(GetTaskHistoryRequest) returns (TaskHistoryArray); // Sends a response to a previous ask operation rpc askResponse(AskResponseRequest) returns (Empty); // Edits a previous user message, truncates following conversation, and regenerates rpc editMessageAndRegenerate(EditMessageAndRegenerateRequest) returns (Empty); // Records task feedback (thumbs up/down) rpc taskFeedback(StringRequest) returns (Empty); // Executes a quick win task with command and title rpc executeQuickWin(ExecuteQuickWinRequest) returns (Empty); // Deletes all task history rpc deleteAllTaskHistory(EmptyRequest) returns (DeleteAllTaskHistoryCount); } // Request message for creating a new task message NewTaskRequest { Metadata metadata = 1; string text = 2; repeated string images = 3; repeated string files = 4; optional Settings task_settings = 5; } // Request message for toggling task favorite status message TaskFavoriteRequest { Metadata metadata = 1; string task_id = 2; bool is_favorited = 3; } // Response for task details message TaskResponse { string id = 1; string task = 2; int64 ts = 3; bool is_favorited = 4; int64 size = 5; double total_cost = 6; int32 tokens_in = 7; int32 tokens_out = 8; int32 cache_writes = 9; int32 cache_reads = 10; string model_id = 11; } // Request for getting task history with filtering message GetTaskHistoryRequest { Metadata metadata = 1; bool favorites_only = 2; string search_query = 3; string sort_by = 4; bool current_workspace_only = 5; int32 limit = 6; int32 offset = 7; } // Response for task history message TaskHistoryArray { repeated TaskItem tasks = 1; bool has_more = 2; } // Task item details for history list message TaskItem { string id = 1; string task = 2; int64 ts = 3; bool is_favorited = 4; int64 size = 5; double total_cost = 6; int32 tokens_in = 7; int32 tokens_out = 8; int32 cache_writes = 9; int32 cache_reads = 10; string model_id = 11; } // Request for ask response operation message AskResponseRequest { Metadata metadata = 1; string response_type = 2; string text = 3; repeated string images = 4; repeated string files = 5; } // Request for editing a past user message and regenerating the conversation after it message EditMessageAndRegenerateRequest { Metadata metadata = 1; int64 message_ts = 2; string text = 3; repeated string images = 4; repeated string files = 5; bool restore_workspace = 6; } // Request for executing a quick win task message ExecuteQuickWinRequest { Metadata metadata = 1; string command = 2; string title = 3; } // Results returned when deleting all task history message DeleteAllTaskHistoryCount { int32 tasks_deleted = 1; }