from dataiku.llm.agent_tools import BaseAgentTool
from shortcut_api import pick, shortcut_get


class ListIterations(BaseAgentTool):
    def get_descriptor(self, tool):
        return {
            "description": "List Shortcut iterations with their IDs, teams, dates and status.",
            "inputSchema": {"type": "object", "properties": {}, "additionalProperties": False},
        }

    def invoke(self, input, trace):
        return {"output": [
            pick(iteration, ("id", "name", "group_ids", "start_date", "end_date", "status", "app_url"))
            for iteration in shortcut_get("iterations")
        ]}
