{"ok":true,"site":{"host":"univerlab.org","url":"https://univerlab.org/","type":"live","desc":"Open-source CLI tools for LaTeX, git, CAD and AI agents — one binary each, installable today, reproducible, with docs that ship alongside the code.","tools":[{"name":"get_roadmap","kind":"answer","impl":"imperative","description":"Live UniverLab roadmap from the lab’s public announcements API, grouped by lane (now, next, later, idea, done) and read fresh on every call. Archived items are excluded. Valid topics: general, canopy, texforge, gitkit, ghscaff, astro-denoise, demostage, quorum.","title":"UniverLab roadmap","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","description":"Only rows for this experiment (or \"general\"). One of: general, canopy, texforge, gitkit, ghscaff, astro-denoise, demostage, quorum."},"lane":{"type":"string","enum":["now","next","later","idea","done"],"description":"Only this lane."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/api/","/archive/","/astro-denoise/","/canopy/","/canopy/docs/"]},{"name":"list_announcements","kind":"answer","impl":"imperative","description":"The UniverLab Logbook: announcements, launches and releases, newest first, read fresh from the lab’s public announcements API on every call.","title":"UniverLab Logbook","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"topic":{"type":"string","description":"Only entries for this experiment (or \"general\"). One of: general, canopy, texforge, gitkit, ghscaff, astro-denoise, demostage, quorum."},"type":{"type":"string","description":"Only entries of this type, exactly as published (e.g. launch, release, note)."},"limit":{"type":"integer","minimum":1,"maximum":20,"default":10,"description":"How many entries to return, 1–20."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/api/","/archive/","/astro-denoise/","/canopy/","/canopy/docs/"]},{"name":"about_univerlab","kind":"answer","impl":"imperative","description":"Who UniverLab is: the lab’s description and method, its founder, and every experiment with its status, tagline and URL. Static text, composed from the site’s own pages.","title":"About UniverLab","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/api/","/archive/","/astro-denoise/","/canopy/","/canopy/docs/"]},{"name":"translate_mission_date","kind":"answer","impl":"imperative","description":"Converts between a UniverLab mission date and a calendar date. Mission dates use the form \"<year> · Sol <n> · <HH:MM> UTC\" — Sol n is the n-th day of the year (Sol 1 = 1 January). Converts a mission date to its ISO/calendar date, or an ISO date (2026-10-09) / datetime (2026-10-09T14:00Z) to its mission-date label. Read-only, no network calls.","title":"Translate a mission date","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"input":{"type":"string","description":"A mission date (\"2026 · Sol 282\", \"Sol 282\", \"sol282\") or an ISO date/datetime (\"2026-10-09\", \"2026-10-09T14:00Z\")."},"lang":{"type":"string","enum":["en","es"],"description":"Language for the human-readable calendar date: \"en\" (default) or \"es\"."}},"required":["input"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/api/","/archive/","/astro-denoise/","/canopy/","/canopy/docs/"]}],"category":"Developer Tools","favicon":"/favicons/univerlab.org.png","apiSurface":"spec","toolCount":4}}