Floating chat panel injected via Starlight Head override: - ChatWidget.astro wrapper with astro:after-swap for View Transitions - ~900-line TypeScript widget: SSE streaming, conversation persistence (localStorage), markdown rendering (marked + DOMPurify), suggestion pills, two-click delete, conversation history, rAF-throttled streaming - ~680-line CSS: dark/light themes (amber/slate palette), full-screen mobile layout with FAB/Ask button overlap fix, reduced-motion support - Three domain-specific suggestions: "Where is Jupiter right now?", "How do I predict satellite passes?", "What functions handle rise/set prediction?" - FAB uses orbit SVG icon (3 rotated ellipses + center circle) - Wired to /api/chat/stream endpoint (search backend)
36 lines
911 B
JSON
36 lines
911 B
JSON
{
|
|
"name": "pg-orrery-docs",
|
|
"type": "module",
|
|
"version": "2026.02.16",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "astro dev --host 0.0.0.0 --port 3000",
|
|
"build": "astro build",
|
|
"preview": "astro preview --port 3000"
|
|
},
|
|
"dependencies": {
|
|
"@astrojs/starlight": "^0.37.6",
|
|
"@fontsource/inter": "^5.0.0",
|
|
"@fontsource/jetbrains-mono": "^5.0.0",
|
|
"@iconify-json/lucide": "^1.2.91",
|
|
"astro": "^5.17.2",
|
|
"astro-icon": "^1.1.5",
|
|
"astro-mermaid": "^1.3.1",
|
|
"astro-opengraph-images": "^1.14.3",
|
|
"astro-seo-meta": "^5.2.0",
|
|
"katex": "^0.16.28",
|
|
"react": "^19.2.4",
|
|
"rehype-katex": "^7.0.1",
|
|
"remark-math": "^6.0.0",
|
|
"dompurify": "^3.2.0",
|
|
"marked": "^15.0.0",
|
|
"sharp": "^0.33.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@types/dompurify": "^3.2.0",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "^5.7.0"
|
|
}
|
|
}
|