/**
 * Workflow Tools — required native tool contracts for guided and autonomous units.
 *
 * Purpose: keep workflow dispatch validation tied to native SF agent tools while
 * preserving the explicit "no workflow MCP transport" boundary.
 *
 * Consumer: guided-flow, auto dispatch, auto phases, and model selection checks.
 */
export function getRequiredWorkflowToolsForGuidedUnit(unitType) {
	switch (unitType) {
		case "discuss-milestone":
			return ["sf_summary_save", "sf_plan_milestone"];
		case "discuss-slice":
			return ["sf_summary_save"];
		case "research-milestone":
		case "research-slice":
			return ["sf_summary_save"];
		case "plan-milestone":
			return ["sf_plan_milestone"];
		case "plan-slice":
			return ["sf_plan_slice"];
		case "execute-task":
			return ["sf_task_complete"];
		case "complete-slice":
			return ["sf_slice_complete"];
		default:
			return [];
	}
}
export function getRequiredWorkflowToolsForAutoUnit(unitType) {
	switch (unitType) {
		case "discuss-milestone":
			return ["sf_summary_save", "sf_plan_milestone"];
		case "research-milestone":
		case "research-slice":
		case "run-uat":
			return ["sf_summary_save"];
		case "plan-milestone":
			return ["sf_plan_milestone"];
		case "plan-slice":
			return ["sf_plan_slice"];
		case "execute-task":
		case "execute-task-simple":
		case "reactive-execute":
			return ["sf_task_complete"];
		case "complete-slice":
			return ["sf_slice_complete"];
		case "replan-slice":
			return ["sf_replan_slice"];
		case "reassess-roadmap":
			return ["sf_milestone_status", "sf_reassess_roadmap"];
		case "gate-evaluate":
			return ["sf_save_gate_result"];
		case "validate-milestone":
			return ["sf_milestone_status", "sf_validate_milestone"];
		case "complete-milestone":
			return ["sf_milestone_status", "sf_complete_milestone"];
		default:
			return [];
	}
}
export function supportsStructuredQuestions(activeTools, options = {}) {
	void options;
	if (!activeTools.includes("ask_user_questions")) return false;
	return true;
}
export function getWorkflowTransportSupportError(
	provider,
	requiredTools,
	options = {},
) {
	void provider;
	void requiredTools;
	void options;
	return null;
}
