You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// If this Cline instance was aborted by the provider, then the only thing keeping us alive is a promise still running in the background, in which case we don't want to send its result to the webview as it is attached to a new instance of Cline now. So we can safely ignore the result of any active promises, and this class will be deallocated. (Although we set Cline = undefined in provider, that simply removes the reference to this instance, but the instance is still alive until this promise resolves or rejects.)
413
415
if(this.abort){
@@ -423,6 +425,7 @@ export class Cline {
423
425
// existing partial message, so update it
424
426
lastMessage.text=text
425
427
lastMessage.partial=partial
428
+
lastMessage.progressStatus=progressStatus
426
429
// todo be more efficient about saving and posting only new data or one whole message at a time so ignore partial for saves, and only post parts of partial message instead of whole array in new listener
// instead of streaming partialMessage events, we do a save and post like normal to persist to disk
550
558
awaitthis.saveClineMessages()
@@ -1417,6 +1425,18 @@ export class Cline {
1417
1425
returntrue
1418
1426
}
1419
1427
1428
+
constaskFinishSubTaskApproval=async()=>{
1429
+
// ask the user to approve this task has completed, and he has reviewd it, and we can declare task is finished
1430
+
// and return control to the parent task to continue running the rest of the sub-tasks
1431
+
consttoolMessage=JSON.stringify({
1432
+
tool: "finishTask",
1433
+
content:
1434
+
"Subtask completed! You can review the results and suggest any corrections or next steps. If everything looks good, confirm to return the result to the parent task.",
@@ -999,9 +1003,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
999
1003
break
1000
1004
case"clearTask":
1001
1005
// clear task resets the current session and allows for a new task to be started, if this session is a subtask - it allows the parent task to be resumed
1002
-
awaitthis.finishSubTask(
1003
-
`new_task finished with an error!, it was stopped and canceled by the user.`,
1004
-
)
1006
+
awaitthis.finishSubTask(`Task error: It was stopped and canceled by the user.`)
1005
1007
awaitthis.postStateToWebview()
1006
1008
break
1007
1009
case"didShowAnnouncement":
@@ -2200,6 +2202,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
2200
2202
alwaysAllowBrowser,
2201
2203
alwaysAllowMcp,
2202
2204
alwaysAllowModeSwitch,
2205
+
alwaysAllowSubtasks,
2203
2206
soundEnabled,
2204
2207
ttsEnabled,
2205
2208
ttsSpeed,
@@ -2249,6 +2252,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
0 commit comments