Files
Local-Cursor/internal/backend/forwarder/create_plan_sanitize.go
FuDie0915 db73cf5a39 chore: import Local-Cursor v1.1.8 source snapshot
Includes the current working directory changes. Historical commits and release binaries are excluded to limit Gitea storage.
Source base: d7515973fbfd6dd2001fa156c483455b8081c7cb
2026-11-10 01:24:28 +08:00

37 lines
1.1 KiB
Go

package forwarder
import (
"encoding/json"
"fmt"
"strings"
runtimecore "cursor/internal/backend/agent/core"
)
func (service *Service) sanitizeCreatePlanInvocationForCurrentPlan(stream *ActiveStream, invocation runtimecore.ToolInvocation) (runtimecore.ToolInvocation, error) {
if strings.TrimSpace(invocation.ToolName) != "CreatePlan" {
return invocation, nil
}
args, err := runtimecore.DecodeCreatePlanArgsJSON(invocation.ArgsJSON)
if err != nil {
return invocation, newRecoverableToolInvocationError(fmt.Errorf("decode CreatePlan args failed: %w", err))
}
if strings.TrimSpace(args.GetName()) == "" {
return invocation, nil
}
conversation, _, _, err := service.snapshotCheckpointConversation(stream)
if err != nil {
return invocation, err
}
if !hasCurrentPlan(conversation) {
return invocation, nil
}
args.Name = ""
sanitized, err := json.Marshal(args)
if err != nil {
return invocation, newRecoverableToolInvocationError(fmt.Errorf("encode sanitized CreatePlan args failed: %w", err))
}
invocation.ArgsJSON = sanitized
return invocation, nil
}