package agent

import (
	"context"

	"github.com/tidbcloud/AgentTeam/internal/store/agent"
	"github.com/tidbcloud/AgentTeam/internal/store/message"
)

// TaskTargetResolver resolves explicit task locators for agent Task commands.
// It is a target-resolution boundary only; Task execution and wake behavior
// are owned by Task assignment and scope attention respectively.
type TaskTargetResolver interface {
	ResolveTaskTargetForAgent(ctx context.Context, sender agent.AuthenticatedAgent, target string) (message.TaskCommandTarget, error)
	ResolveTaskSourceTargetForAgent(ctx context.Context, sender agent.AuthenticatedAgent, target string) (message.TaskCommandTarget, error)
}

// TaskSourceThreadContextStore assembles bounded source-thread context windows.
type TaskSourceThreadContextStore interface {
	BuildTaskSourceThreadContext(ctx context.Context, request message.TaskSourceThreadContextRequest) (map[string]any, error)
}
