package promptcompiler

import (
	"strings"

	"github.com/tidbcloud/AgentTeam/desktop/internal/types"
)

func formatWorkflowContextPrompt(context types.WorkflowContext) string {
	if !context.Normalize().Valid() {
		return ""
	}
	context = context.Normalize()
	return workflowContextPrompt(context.RunID, context.EffectID)
}

func formatWorkflowContextAvailablePrompt(context DeliveryWorkflowContext) string {
	if !context.Available || strings.TrimSpace(context.RunID) == "" || strings.TrimSpace(context.StepID) == "" {
		return ""
	}
	return workflowContextPrompt(context.RunID, context.StepID)
}

func workflowContextPrompt(runID, stepID string) string {
	return renderRegisteredPromptText("event.workflow_context", newWorkflowPromptInput(WorkflowTemplateData{Trusted: true, RunID: strings.TrimSpace(runID), StepID: strings.TrimSpace(stepID)}))
}
