Return a dasha (planetary period) timeline as a nested tree anchored on a date — past, present and future in ONE call. Works for BOTH planetary (graha) and sign (rasi) dasha systems; just name the system and the tool routes it automatically.
Every period node has the SAME shape: 'level' (maha/antar/pratyantar/sookshma), 'ruler' (planet for graha, sign for rasi), 'start', 'end' (YYYY-MM-DD) and 'relation' (past/current/future). The result has 'dasha_type' ('graha' or 'rasi'), 'system', 'as_of' (anchor date), 'depth', and: 'current' — a ready-made summary of the running period ('maha'/'antar'/'pratyantar', a 'path' string, and 'current_period_ends'); 'maha_timeline' — every Maha-dasha over the life; 'current_maha' with its 'antars'; for graha systems 'current_antar' with its 'pratyantars'; and, at depth 4, 'current_pratyantar' with its 'sookshmas'. Rasi systems have two levels (no pratyantar). To drill into a SPECIFIC period regardless of date, pass 'maha' (and optionally 'antar') as a ruler name — the matching branch comes back under 'selected_maha'/'selected_antar' with a 'selection' echo.
HOW TO REQUEST: send only birth details for the default (vimsottari, anchored today, depth 3). Optionally set 'system' to EXACTLY one enum token. Planetary (graha) systems: vimsottari (standard 120-yr), ashtottari, yogini, shodasottari, dwadasottari, panchottari, satabdika, chaturaaseeti_sama, shashtisama, shattrimsa_sama, dwisatpathi, kaala, buddhi_gathi, naisargika, aayu, tara, karaka, tithi_ashtottari, tithi_yogini, karana_chaturaaseeti_sama, saptharishi_nakshathra, rasi_bhukthi_vimsottari, yoga_vimsottari, ashtaka_varga_planet, ashtaka_varga_sign, ashtaka_varga_pinda, moola_graha, rashmi. Sign (rasi) systems: narayana, chara, kendraadhi_rasi, sudasa, drig, nirayana, shoola, kendraadhi_karaka, lagnamsaka, padhanadhamsa, mandooka, sthira, tara_lagna, brahma, varnada, yogardha, navamsa, paryaaya, trikona, kalachakra, chakra, sandhya_panchaka, chathurvidha_utthara, karaka_kendraadhi, lagna_kendraadhi, niryaana, raashiyanka. Optionally set 'as_of_date' (YYYY-MM-DD, separate from birth 'date') to anchor on another time, e.g. '2030-01-01'. Data only — no interpretation.