/**
 * 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 ["save_summary", "plan_milestone"];
		case "discuss-slice":
			return ["save_summary"];
		case "research-milestone":
		case "research-slice":
			return ["save_summary"];
		case "plan-milestone":
			return ["plan_milestone"];
		case "plan-slice":
			return ["plan_slice"];
		case "execute-task":
			return ["complete_task"];
		case "complete-slice":
			return ["complete_slice"];
		default:
			return [];
	}
}
export function getRequiredWorkflowToolsForAutoUnit(unitType) {
	switch (unitType) {
		case "discuss-milestone":
			return ["save_summary", "plan_milestone"];
		case "research-milestone":
		case "research-slice":
		case "run-uat":
			return ["save_summary"];
		case "plan-milestone":
			return ["plan_milestone"];
		case "plan-slice":
			return ["plan_slice"];
		case "execute-task":
		case "execute-task-simple":
		case "reactive-execute":
			return ["complete_task"];
		case "complete-slice":
			return ["complete_slice"];
		case "replan-slice":
			return ["replan_slice"];
		case "reassess-roadmap":
			return ["milestone_status", "reassess_roadmap"];
		case "gate-evaluate":
			return ["record_gate"];
		case "validate-milestone":
			return ["milestone_status", "validate_milestone"];
		case "complete-milestone":
			return ["milestone_status", "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;
}
