| """Lightweight tool documentation for Orion's Cottage. | |
| NOTE: In the current deterministic-first architecture, tool calling is handled | |
| deterministically in the router (`agent/router.py`), not by the LLM. The LLM is | |
| only used for polishing the final markdown draft. | |
| These descriptions document the three main capabilities the router uses. This file | |
| can be expanded into full agentic tool schemas in the future if we move to a | |
| tool-calling loop. | |
| """ | |
| from __future__ import annotations | |
| # 1. Geometry Data (Always Available) | |
| # Function: core.astronomy.get_geometry_data() | |
| # Description: Always-available local astronomy using Skyfield. Returns rise/set times, | |
| # peak altitude, visibility, and viewing quality for a named target. Works completely | |
| # offline. This is used unconditionally for every plan. | |
| # 2. Environment Data (Conditional) | |
| # Function: core.environment.get_environment_data() | |
| # Description: Weather summary from Open-Meteo and moon phase fallback. | |
| # Only invoked when the 'Include Weather Data' toggle is enabled AND the | |
| # 'Off Grid' mode is disabled. Never called in Off Grid mode. | |
| # 3. Sky Visualization (Conditional) | |
| # Function: agent.router._create_sky_placeholder() (or future FLUX API) | |
| # Description: Generates a sky visualization image based on the location, target, | |
| # and conditions. Only invoked when the 'View Sky' toggle is enabled. Currently | |
| # returns a local PIL placeholder; planned to use Black Forest Labs FLUX. | |