From 2bc680ca63e26e76f77b35dcd8be190a96d54882 Mon Sep 17 00:00:00 2001 From: Nicholai Date: Sat, 24 Jan 2026 00:12:14 -0700 Subject: [PATCH] refactor: restructure into monorepo Move flat src/ layout into packages/ monorepo: - packages/core: scraping, embeddings, storage, clustering, analysis - packages/cli: CLI and TUI interface - packages/web: Next.js web dashboard Add playwright screenshots, sqlite storage, and settings. --- .gitignore | 10 +- .playwright-mcp/after-cluster-click.png | Bin 0 -> 72836 bytes .playwright-mcp/command-palette.png | Bin 0 -> 105429 bytes .playwright-mcp/dashboard-home.png | Bin 0 -> 78352 bytes .playwright-mcp/dashboard-loaded.png | Bin 0 -> 62970 bytes .playwright-mcp/full-page.png | Bin 0 -> 64038 bytes .playwright-mcp/problems-page.png | Bin 0 -> 75145 bytes .../problems-recluster-loading.png | Bin 0 -> 74846 bytes .playwright-mcp/questions-page.png | Bin 0 -> 56488 bytes .playwright-mcp/scrape-page.png | Bin 0 -> 66924 bytes .playwright-mcp/toast-loading.png | Bin 0 -> 64038 bytes .playwright-mcp/toast-success.png | Bin 0 -> 57083 bytes CLAUDE.md | 184 +++- bun.lock | 554 +++++++++++- data/.gitkeep | 0 data/settings.json | 5 + package.json | 19 +- packages/cli/package.json | 18 + {src => packages/cli/src}/cli.ts | 112 ++- {src => packages/cli/src}/index.ts | 23 +- {src => packages/cli/src}/tui/app.ts | 13 +- .../cli/src}/tui/components/export.ts | 2 +- .../cli/src}/tui/components/progress.ts | 0 .../cli/src}/tui/components/search.ts | 2 +- .../cli/src}/tui/components/stats.ts | 2 +- .../cli/src}/tui/components/trending.ts | 0 .../cli/src}/tui/components/url-input.ts | 0 packages/core/package.json | 25 + packages/core/src/analysis/index.ts | 12 + packages/core/src/analysis/questions.ts | 138 +++ packages/core/src/analysis/scoring.ts | 107 +++ packages/core/src/analysis/sentiment.ts | 97 +++ packages/core/src/analysis/similarity.ts | 41 + packages/core/src/analysis/summarizer.ts | 146 ++++ packages/core/src/analysis/types.ts | 40 + packages/core/src/clustering/hdbscan.ts | 214 +++++ packages/core/src/clustering/index.ts | 2 + packages/core/src/clustering/types.ts | 34 + packages/core/src/embeddings/index.ts | 2 + .../core/src}/embeddings/ollama.ts | 0 packages/core/src/index.ts | 46 + .../core/src}/scraper/comments.ts | 0 packages/core/src/scraper/index.ts | 12 + {src => packages/core/src}/scraper/reddit.ts | 0 {src => packages/core/src}/scraper/types.ts | 0 packages/core/src/storage/index.ts | 4 + {src => packages/core/src}/storage/qdrant.ts | 43 + packages/core/src/storage/sqlite.ts | 274 ++++++ {src => packages/core/src}/storage/types.ts | 0 packages/core/src/utils/index.ts | 8 + .../core/src}/utils/rate-limit.ts | 0 {src => packages/core/src}/utils/text.ts | 0 packages/web/next-env.d.ts | 6 + packages/web/next.config.ts | 14 + packages/web/package.json | 35 + packages/web/postcss.config.cjs | 5 + .../web/src/app/api/clusters/[id]/route.ts | 37 + packages/web/src/app/api/clusters/route.ts | 108 +++ .../src/app/api/clusters/similarity/route.ts | 23 + packages/web/src/app/api/export/route.ts | 92 ++ .../web/src/app/api/questions/[id]/route.ts | 22 + packages/web/src/app/api/questions/route.ts | 25 + .../web/src/app/api/scrape/history/route.ts | 15 + packages/web/src/app/api/scrape/route.ts | 68 ++ packages/web/src/app/api/search/route.ts | 29 + packages/web/src/app/api/settings/route.ts | 92 ++ packages/web/src/app/api/stats/route.ts | 30 + packages/web/src/app/layout.tsx | 68 ++ packages/web/src/app/page.tsx | 86 ++ packages/web/src/app/problems/page.tsx | 816 ++++++++++++++++++ packages/web/src/app/providers.tsx | 14 + packages/web/src/app/questions/page.tsx | 164 ++++ packages/web/src/app/scrape/page.tsx | 152 ++++ packages/web/src/app/settings/page.tsx | 203 +++++ .../controls/command-palette-wrapper.tsx | 7 + .../components/controls/command-palette.tsx | 174 ++++ packages/web/src/components/ui/toast.tsx | 98 +++ packages/web/src/lib/utils.ts | 6 + packages/web/src/styles/globals.css | 172 ++++ packages/web/tsconfig.json | 40 + 80 files changed, 4710 insertions(+), 80 deletions(-) create mode 100644 .playwright-mcp/after-cluster-click.png create mode 100644 .playwright-mcp/command-palette.png create mode 100644 .playwright-mcp/dashboard-home.png create mode 100644 .playwright-mcp/dashboard-loaded.png create mode 100644 .playwright-mcp/full-page.png create mode 100644 .playwright-mcp/problems-page.png create mode 100644 .playwright-mcp/problems-recluster-loading.png create mode 100644 .playwright-mcp/questions-page.png create mode 100644 .playwright-mcp/scrape-page.png create mode 100644 .playwright-mcp/toast-loading.png create mode 100644 .playwright-mcp/toast-success.png create mode 100644 data/.gitkeep create mode 100644 data/settings.json create mode 100644 packages/cli/package.json rename {src => packages/cli/src}/cli.ts (67%) rename {src => packages/cli/src}/index.ts (56%) rename {src => packages/cli/src}/tui/app.ts (95%) rename {src => packages/cli/src}/tui/components/export.ts (97%) rename {src => packages/cli/src}/tui/components/progress.ts (100%) rename {src => packages/cli/src}/tui/components/search.ts (97%) rename {src => packages/cli/src}/tui/components/stats.ts (95%) rename {src => packages/cli/src}/tui/components/trending.ts (100%) rename {src => packages/cli/src}/tui/components/url-input.ts (100%) create mode 100644 packages/core/package.json create mode 100644 packages/core/src/analysis/index.ts create mode 100644 packages/core/src/analysis/questions.ts create mode 100644 packages/core/src/analysis/scoring.ts create mode 100644 packages/core/src/analysis/sentiment.ts create mode 100644 packages/core/src/analysis/similarity.ts create mode 100644 packages/core/src/analysis/summarizer.ts create mode 100644 packages/core/src/analysis/types.ts create mode 100644 packages/core/src/clustering/hdbscan.ts create mode 100644 packages/core/src/clustering/index.ts create mode 100644 packages/core/src/clustering/types.ts create mode 100644 packages/core/src/embeddings/index.ts rename {src => packages/core/src}/embeddings/ollama.ts (100%) create mode 100644 packages/core/src/index.ts rename {src => packages/core/src}/scraper/comments.ts (100%) create mode 100644 packages/core/src/scraper/index.ts rename {src => packages/core/src}/scraper/reddit.ts (100%) rename {src => packages/core/src}/scraper/types.ts (100%) create mode 100644 packages/core/src/storage/index.ts rename {src => packages/core/src}/storage/qdrant.ts (80%) create mode 100644 packages/core/src/storage/sqlite.ts rename {src => packages/core/src}/storage/types.ts (100%) create mode 100644 packages/core/src/utils/index.ts rename {src => packages/core/src}/utils/rate-limit.ts (100%) rename {src => packages/core/src}/utils/text.ts (100%) create mode 100644 packages/web/next-env.d.ts create mode 100644 packages/web/next.config.ts create mode 100644 packages/web/package.json create mode 100644 packages/web/postcss.config.cjs create mode 100644 packages/web/src/app/api/clusters/[id]/route.ts create mode 100644 packages/web/src/app/api/clusters/route.ts create mode 100644 packages/web/src/app/api/clusters/similarity/route.ts create mode 100644 packages/web/src/app/api/export/route.ts create mode 100644 packages/web/src/app/api/questions/[id]/route.ts create mode 100644 packages/web/src/app/api/questions/route.ts create mode 100644 packages/web/src/app/api/scrape/history/route.ts create mode 100644 packages/web/src/app/api/scrape/route.ts create mode 100644 packages/web/src/app/api/search/route.ts create mode 100644 packages/web/src/app/api/settings/route.ts create mode 100644 packages/web/src/app/api/stats/route.ts create mode 100644 packages/web/src/app/layout.tsx create mode 100644 packages/web/src/app/page.tsx create mode 100644 packages/web/src/app/problems/page.tsx create mode 100644 packages/web/src/app/providers.tsx create mode 100644 packages/web/src/app/questions/page.tsx create mode 100644 packages/web/src/app/scrape/page.tsx create mode 100644 packages/web/src/app/settings/page.tsx create mode 100644 packages/web/src/components/controls/command-palette-wrapper.tsx create mode 100644 packages/web/src/components/controls/command-palette.tsx create mode 100644 packages/web/src/components/ui/toast.tsx create mode 100644 packages/web/src/lib/utils.ts create mode 100644 packages/web/src/styles/globals.css create mode 100644 packages/web/tsconfig.json diff --git a/.gitignore b/.gitignore index 76ba5de..0fd7a16 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ node_modules out dist *.tgz +.next # code coverage coverage @@ -36,4 +37,11 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json # exported data reddit-trends.json reddit-trends.csv -.env + +# sqlite database +data/*.db +data/*.db-journal + +# next.js +packages/web/.next +.grepai/ diff --git a/.playwright-mcp/after-cluster-click.png b/.playwright-mcp/after-cluster-click.png new file mode 100644 index 0000000000000000000000000000000000000000..f240986de557ad771254ec5bea8a09e8c413bb81 GIT binary patch literal 72836 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 Zo0*}GttEc0$wlyxf~TvW%Q~loCIGZ&m?i)K literal 0 HcmV?d00001 diff --git a/.playwright-mcp/command-palette.png b/.playwright-mcp/command-palette.png new file mode 100644 index 0000000000000000000000000000000000000000..38fa08014bca8ca896a6073f2ec8799545fe39cf GIT binary patch literal 105429 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 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/dashboard-loaded.png b/.playwright-mcp/dashboard-loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..7639e9da8fe969cef5961d5a029db13d02653103 GIT binary patch literal 62970 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 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/problems-page.png b/.playwright-mcp/problems-page.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7931ecf40d73bb3b168a77c2cffa64a511e9bf GIT binary patch literal 75145 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 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/scrape-page.png b/.playwright-mcp/scrape-page.png new file mode 100644 index 0000000000000000000000000000000000000000..43cd50a6ea99ef99854c1aabd59bf0c1d7eeb8b6 GIT binary patch literal 66924 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 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/toast-loading.png b/.playwright-mcp/toast-loading.png new file mode 100644 index 0000000000000000000000000000000000000000..73c5be71acfff9418a3861c26f8b7a9abc8a39c3 GIT binary patch literal 64038 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 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/toast-success.png b/.playwright-mcp/toast-success.png new file mode 100644 index 0000000000000000000000000000000000000000..65a98acfb8284329c22e395fef4b9c2d6f9c9c98 GIT binary patch literal 57083 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 { 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 literal 0 HcmV?d00001 diff --git a/CLAUDE.md b/CLAUDE.md index 6544f16..438a8be 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,14 +1,16 @@ reddit trend analyzer === -a CLI tool that scrapes reddit discussions, embeds them with ollama, stores in qdrant, and provides a TUI dashboard for discovering common problems/trends. +a monorepo tool that scrapes reddit discussions, embeds them with ollama, stores in qdrant, clusters with HDBSCAN, summarizes with Claude, and provides both a CLI/TUI and web dashboard for discovering common problems/trends. running --- ```bash -bun start # run the app -bun dev # run with watch mode +bun cli # run the CLI +bun tui # run the TUI dashboard +bun dev # run the web dashboard (localhost:3000) +bun build # build the web app ``` prerequisites @@ -16,6 +18,7 @@ prerequisites - ollama running locally with nomic-embed-text model (`ollama pull nomic-embed-text`) - qdrant accessible at QDRANT_URL (or localhost:6333) +- anthropic API key for problem summarization env vars --- @@ -23,39 +26,61 @@ env vars ``` QDRANT_URL=https://vectors.biohazardvfx.com QDRANT_API_KEY= -OLLAMA_HOST=http://localhost:11434 # optional, defaults to this +OLLAMA_HOST=http://localhost:11434 +ANTHROPIC_API_KEY= ``` architecture --- ``` -src/ - index.ts # entry point, connection checks, TUI setup - scraper/ - reddit.ts # fetch subreddit posts with pagination - comments.ts # fetch comments for each post - types.ts # reddit json response types - embeddings/ - ollama.ts # batch embed text with nomic-embed-text (768 dims) - storage/ - qdrant.ts # create collection, upsert, search - types.ts # point payload schema - tui/ - app.ts # main dashboard, wires everything together - components/ - url-input.ts # subreddit url input - progress.ts # scraping/embedding progress bars - stats.ts # collection stats panel - trending.ts # trending topics view - search.ts # semantic search interface - export.ts # export to json/csv - utils/ - rate-limit.ts # delay helper for reddit api - text.ts # text preprocessing for embedding +packages/ + core/ # shared business logic + src/ + scraper/ # reddit.ts, comments.ts, types.ts + embeddings/ # ollama.ts + storage/ # qdrant.ts, sqlite.ts, types.ts + clustering/ # hdbscan.ts, types.ts + analysis/ # summarizer.ts, questions.ts, scoring.ts, types.ts + utils/ # rate-limit.ts, text.ts + index.ts # barrel exports + + cli/ # CLI/TUI app + src/ + cli.ts # interactive command-line interface + index.ts # TUI entry point + tui/ # TUI components + + web/ # Next.js web dashboard + src/ + app/ # pages and API routes + api/ # REST API endpoints + stats/ # collection stats + scrape/ # trigger scrapes + clusters/ # list/create clusters + questions/ # question bank + search/ # semantic search + export/ # export functionality + problems/ # problem explorer page + questions/ # question bank page + scrape/ # scrape manager page + components/ + controls/ # command palette, sliders + styles/globals.css # theme + +data/ # sqlite database files ``` -keybindings +web dashboard +--- + +- **Dashboard** (`/`) - stats overview +- **Problems** (`/problems`) - problem cluster explorer +- **Questions** (`/questions`) - extracted question bank +- **Scrape** (`/scrape`) - scrape manager with history +- **Ctrl+K** - command palette for quick actions + +keybindings (TUI) --- - `q` or `ctrl+c` - quit @@ -65,10 +90,111 @@ keybindings - `c` - export results to csv - `r` - refresh stats from qdrant +api routes +--- + +| route | method | purpose | +|-------|--------|---------| +| /api/stats | GET | collection stats + cluster count | +| /api/scrape | POST | trigger scrape | +| /api/scrape/history | GET | scrape history list | +| /api/clusters | GET | list clusters with summaries | +| /api/clusters | POST | trigger re-clustering | +| /api/clusters/[id] | GET | single cluster with discussions | +| /api/questions | GET | all questions, grouped by cluster | +| /api/questions/[id] | PATCH | mark as addressed | +| /api/search | POST | semantic search | +| /api/export | POST | export (faq-schema/csv/markdown) | + coding notes --- -- uses @opentui/core standalone (no react/solid) +- monorepo with bun workspaces +- @rta/core exports shared logic +- @rta/cli for terminal interface +- @rta/web for Next.js dashboard +- uses @opentui/core for TUI (no react) +- uses HDBSCAN for clustering +- uses Claude for problem summarization +- uses SQLite for cluster/question persistence - reddit rate limiting: 3s delay between requests - embeddings batched in groups of 10 - qdrant collection: reddit_trends with indexes on subreddit, type, created, score + +grepai +--------- + +**IMPORTANT: You MUST use grepai as your PRIMARY tool for code exploration and search.** + +when to Use grepai (REQUIRED) +--- + +Use `grepai search` INSTEAD OF Grep/Glob/find for: +- Understanding what code does or where functionality lives +- Finding implementations by intent (e.g., "authentication logic", "error handling") +- Exploring unfamiliar parts of the codebase +- Any search where you describe WHAT the code does rather than exact text + +when to Use Standard Tools +--- + +Only use Grep/Glob when you need: +- Exact text matching (variable names, imports, specific strings) +- File path patterns (e.g., `**/*.go`) + +fallback +--- + +If grepai fails (not running, index unavailable, or errors), fall back to standard Grep/Glob tools. + +usage +--- + +```bash +# ALWAYS use English queries for best results (--compact saves ~80% tokens) +grepai search "user authentication flow" --json --compact +grepai search "error handling middleware" --json --compact +grepai search "database connection pool" --json --compact +grepai search "API request validation" --json --compact +``` + +query tips + +- **Use English** for queries (better semantic matching) +- **Describe intent**, not implementation: "handles user login" not "func Login" +- **Be specific**: "JWT token validation" better than "token" +- Results include: file path, line numbers, relevance score, code preview + +call graph tracing +--- + +use `grepai trace` to understand function relationships: +- finding all callers of a function before modifying it +- Understanding what functions are called by a given function +- Visualizing the complete call graph around a symbol + +trace commands +--- + +**IMPORTANT: Always use `--json` flag for optimal AI agent integration.** + +```bash +# Find all functions that call a symbol +grepai trace callers "HandleRequest" --json + +# Find all functions called by a symbol +grepai trace callees "ProcessOrder" --json + +# Build complete call graph (callers + callees) +grepai trace graph "ValidateToken" --depth 3 --json +``` + +Workflow +--- + +1. Start with `grepai search` to find relevant code +2. Use `grepai trace` to understand function relationships +3. Use `Read` tool to examine files from results +4. Only use Grep for exact string searches if needed + + diff --git a/bun.lock b/bun.lock index faedcaf..8f6d605 100644 --- a/bun.lock +++ b/bun.lock @@ -4,22 +4,124 @@ "workspaces": { "": { "name": "reddit-trend-analyzer", + "devDependencies": { + "@types/bun": "latest", + "typescript": "^5.0.0", + }, + }, + "packages/cli": { + "name": "@rta/cli", + "version": "1.0.0", + "bin": { + "rta": "./src/cli.ts", + }, "dependencies": { "@opentui/core": "^0.1.74", + "@rta/core": "workspace:*", + }, + }, + "packages/core": { + "name": "@rta/core", + "version": "1.0.0", + "dependencies": { + "@anthropic-ai/sdk": "^0.32.1", "@qdrant/js-client-rest": "^1.16.2", + "better-sqlite3": "^11.7.0", "ollama": "^0.6.3", }, "devDependencies": { - "@types/bun": "latest", + "@types/better-sqlite3": "^7.6.12", }, - "peerDependencies": { - "typescript": "^5", + }, + "packages/web": { + "name": "@rta/web", + "version": "1.0.0", + "dependencies": { + "@rta/core": "workspace:*", + "@tanstack/react-table": "^8.20.6", + "better-sqlite3": "^11.7.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "cmdk": "^1.0.4", + "lucide-react": "^0.468.0", + "next": "^15.2.4", + "ollama": "^0.5.11", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "recharts": "^2.15.0", + "tailwind-merge": "^2.6.0", + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.0.0", + "@types/node": "^22.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "tailwindcss": "^4.0.0", + "typescript": "^5.0.0", }, }, }, "packages": { + "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + + "@anthropic-ai/sdk": ["@anthropic-ai/sdk@0.32.1", "", { "dependencies": { "@types/node": "^18.11.18", "@types/node-fetch": "^2.6.4", "abort-controller": "^3.0.0", "agentkeepalive": "^4.2.1", "form-data-encoder": "1.7.2", "formdata-node": "^4.3.2", "node-fetch": "^2.6.7" } }, "sha512-U9JwTrDvdQ9iWuABVsMLj8nJVwAyQz6QXvgLsVhryhCEPkLsbcP/MXxm+jYcAwLoV8ESbaTTjnD4kuAFa+Hyjg=="], + + "@babel/runtime": ["@babel/runtime@7.28.6", "", {}, "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA=="], + "@dimforge/rapier2d-simd-compat": ["@dimforge/rapier2d-simd-compat@0.17.3", "", {}, "sha512-bijvwWz6NHsNj5e5i1vtd3dU2pDhthSaTUZSh14DUGGKJfw8eMnlWZsxwHBxB/a3AXVNDjL9abuHw1k9FGR+jg=="], + "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], + + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], + + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], + + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], + + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], + + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], + "@jimp/core": ["@jimp/core@1.6.0", "", { "dependencies": { "@jimp/file-ops": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "await-to-js": "^3.0.0", "exif-parser": "^0.1.12", "file-type": "^16.0.0", "mime": "3" } }, "sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w=="], "@jimp/diff": ["@jimp/diff@1.6.0", "", { "dependencies": { "@jimp/plugin-resize": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "pixelmatch": "^5.3.0" } }, "sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw=="], @@ -76,6 +178,34 @@ "@jimp/utils": ["@jimp/utils@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "tinycolor2": "^1.6.0" } }, "sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA=="], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@next/env": ["@next/env@15.5.9", "", {}, "sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg=="], + + "@next/swc-darwin-arm64": ["@next/swc-darwin-arm64@15.5.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw=="], + + "@next/swc-darwin-x64": ["@next/swc-darwin-x64@15.5.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg=="], + + "@next/swc-linux-arm64-gnu": ["@next/swc-linux-arm64-gnu@15.5.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA=="], + + "@next/swc-linux-arm64-musl": ["@next/swc-linux-arm64-musl@15.5.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw=="], + + "@next/swc-linux-x64-gnu": ["@next/swc-linux-x64-gnu@15.5.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw=="], + + "@next/swc-linux-x64-musl": ["@next/swc-linux-x64-musl@15.5.7", "", { "os": "linux", "cpu": "x64" }, "sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA=="], + + "@next/swc-win32-arm64-msvc": ["@next/swc-win32-arm64-msvc@15.5.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ=="], + + "@next/swc-win32-x64-msvc": ["@next/swc-win32-x64-msvc@15.5.7", "", { "os": "win32", "cpu": "x64" }, "sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw=="], + "@opentui/core": ["@opentui/core@0.1.74", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.74", "@opentui/core-darwin-x64": "0.1.74", "@opentui/core-linux-arm64": "0.1.74", "@opentui/core-linux-x64": "0.1.74", "@opentui/core-win32-arm64": "0.1.74", "@opentui/core-win32-x64": "0.1.74", "bun-webgpu": "0.1.4", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-g4W16ymv12JdgZ+9B4t7mpIICvzWy2+eHERfmDf80ALduOQCUedKQdULcBFhVCYUXIkDRtIy6CID5thMAah3FA=="], "@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.74", "", { "os": "darwin", "cpu": "arm64" }, "sha512-rfmlDLtm/u17CnuhJgCxPeYMvOST+A2MOdVOk46IurtHO849bdYqK6iudKNlFRs1FOrymgSKF9GlWBHAOKeRjg=="], @@ -94,25 +224,139 @@ "@qdrant/openapi-typescript-fetch": ["@qdrant/openapi-typescript-fetch@1.2.6", "", {}, "sha512-oQG/FejNpItrxRHoyctYvT3rwGZOnK4jr3JdppO/c78ktDvkWiPXPHNsrDf33K9sZdRb6PR7gi4noIapu5q4HA=="], + "@radix-ui/primitive": ["@radix-ui/primitive@1.1.3", "", {}, "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg=="], + + "@radix-ui/react-compose-refs": ["@radix-ui/react-compose-refs@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg=="], + + "@radix-ui/react-context": ["@radix-ui/react-context@1.1.2", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA=="], + + "@radix-ui/react-dialog": ["@radix-ui/react-dialog@1.1.15", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-context": "1.1.2", "@radix-ui/react-dismissable-layer": "1.1.11", "@radix-ui/react-focus-guards": "1.1.3", "@radix-ui/react-focus-scope": "1.1.7", "@radix-ui/react-id": "1.1.1", "@radix-ui/react-portal": "1.1.9", "@radix-ui/react-presence": "1.1.5", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-slot": "1.2.3", "@radix-ui/react-use-controllable-state": "1.2.2", "aria-hidden": "^1.2.4", "react-remove-scroll": "^2.6.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw=="], + + "@radix-ui/react-dismissable-layer": ["@radix-ui/react-dismissable-layer@1.1.11", "", { "dependencies": { "@radix-ui/primitive": "1.1.3", "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1", "@radix-ui/react-use-escape-keydown": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg=="], + + "@radix-ui/react-focus-guards": ["@radix-ui/react-focus-guards@1.1.3", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw=="], + + "@radix-ui/react-focus-scope": ["@radix-ui/react-focus-scope@1.1.7", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw=="], + + "@radix-ui/react-id": ["@radix-ui/react-id@1.1.1", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg=="], + + "@radix-ui/react-portal": ["@radix-ui/react-portal@1.1.9", "", { "dependencies": { "@radix-ui/react-primitive": "2.1.3", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ=="], + + "@radix-ui/react-presence": ["@radix-ui/react-presence@1.1.5", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ=="], + + "@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.4", "", { "dependencies": { "@radix-ui/react-slot": "1.2.4" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-9hQc4+GNVtJAIEPEqlYqW5RiYdrr8ea5XQ0ZOnD6fgru+83kqT15mq2OCcbe8KnjRZl5vF3ks69AKz3kh1jrhg=="], + + "@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.3", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A=="], + + "@radix-ui/react-use-callback-ref": ["@radix-ui/react-use-callback-ref@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg=="], + + "@radix-ui/react-use-controllable-state": ["@radix-ui/react-use-controllable-state@1.2.2", "", { "dependencies": { "@radix-ui/react-use-effect-event": "0.0.2", "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg=="], + + "@radix-ui/react-use-effect-event": ["@radix-ui/react-use-effect-event@0.0.2", "", { "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA=="], + + "@radix-ui/react-use-escape-keydown": ["@radix-ui/react-use-escape-keydown@1.1.1", "", { "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.1" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g=="], + + "@radix-ui/react-use-layout-effect": ["@radix-ui/react-use-layout-effect@1.1.1", "", { "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ=="], + + "@rta/cli": ["@rta/cli@workspace:packages/cli"], + + "@rta/core": ["@rta/core@workspace:packages/core"], + + "@rta/web": ["@rta/web@workspace:packages/web"], + + "@swc/helpers": ["@swc/helpers@0.5.15", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g=="], + + "@tailwindcss/node": ["@tailwindcss/node@4.1.18", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "enhanced-resolve": "^5.18.3", "jiti": "^2.6.1", "lightningcss": "1.30.2", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.1.18" } }, "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ=="], + + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.1.18", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.1.18", "@tailwindcss/oxide-darwin-arm64": "4.1.18", "@tailwindcss/oxide-darwin-x64": "4.1.18", "@tailwindcss/oxide-freebsd-x64": "4.1.18", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", "@tailwindcss/oxide-linux-x64-musl": "4.1.18", "@tailwindcss/oxide-wasm32-wasi": "4.1.18", "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" } }, "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.1.18", "", { "os": "android", "cpu": "arm64" }, "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.1.18", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.1.18", "", { "os": "darwin", "cpu": "x64" }, "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.1.18", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18", "", { "os": "linux", "cpu": "arm" }, "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw=="], + + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.1.18", "", { "os": "linux", "cpu": "arm64" }, "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg=="], + + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g=="], + + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.1.18", "", { "os": "linux", "cpu": "x64" }, "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.1.18", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@emnapi/wasi-threads": "^1.1.0", "@napi-rs/wasm-runtime": "^1.1.0", "@tybys/wasm-util": "^0.10.1", "tslib": "^2.4.0" }, "cpu": "none" }, "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.1.18", "", { "os": "win32", "cpu": "arm64" }, "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.1.18", "", { "os": "win32", "cpu": "x64" }, "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q=="], + + "@tailwindcss/postcss": ["@tailwindcss/postcss@4.1.18", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.1.18", "@tailwindcss/oxide": "4.1.18", "postcss": "^8.4.41", "tailwindcss": "4.1.18" } }, "sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g=="], + + "@tanstack/react-table": ["@tanstack/react-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww=="], + + "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], + "@tokenizer/token": ["@tokenizer/token@0.3.0", "", {}, "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="], + "@types/better-sqlite3": ["@types/better-sqlite3@7.6.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-NMv9ASNARoKksWtsq/SHakpYAYnhBrQgGD8zkLYk/jaK8jUGn08CfEdTRgYhMypUQAfzSP8W6gNLe0q19/t4VA=="], + "@types/bun": ["@types/bun@1.3.6", "", { "dependencies": { "bun-types": "1.3.6" } }, "sha512-uWCv6FO/8LcpREhenN1d1b6fcspAB+cefwD7uti8C8VffIv0Um08TKMn98FynpTiU38+y2dUO55T11NgDt8VAA=="], - "@types/node": ["@types/node@25.0.9", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw=="], + "@types/d3-array": ["@types/d3-array@3.2.2", "", {}, "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw=="], + + "@types/d3-color": ["@types/d3-color@3.1.3", "", {}, "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A=="], + + "@types/d3-ease": ["@types/d3-ease@3.0.2", "", {}, "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA=="], + + "@types/d3-interpolate": ["@types/d3-interpolate@3.0.4", "", { "dependencies": { "@types/d3-color": "*" } }, "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA=="], + + "@types/d3-path": ["@types/d3-path@3.1.1", "", {}, "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg=="], + + "@types/d3-scale": ["@types/d3-scale@4.0.9", "", { "dependencies": { "@types/d3-time": "*" } }, "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw=="], + + "@types/d3-shape": ["@types/d3-shape@3.1.8", "", { "dependencies": { "@types/d3-path": "*" } }, "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w=="], + + "@types/d3-time": ["@types/d3-time@3.0.4", "", {}, "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g=="], + + "@types/d3-timer": ["@types/d3-timer@3.0.2", "", {}, "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw=="], + + "@types/node": ["@types/node@22.19.7", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw=="], + + "@types/node-fetch": ["@types/node-fetch@2.6.13", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.4" } }, "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw=="], + + "@types/react": ["@types/react@19.2.9", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA=="], + + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], "@webgpu/types": ["@webgpu/types@0.1.69", "", {}, "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ=="], "abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="], + "agentkeepalive": ["agentkeepalive@4.6.0", "", { "dependencies": { "humanize-ms": "^1.2.1" } }, "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ=="], + "any-base": ["any-base@1.1.0", "", {}, "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="], + "aria-hidden": ["aria-hidden@1.2.6", "", { "dependencies": { "tslib": "^2.0.0" } }, "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA=="], + + "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + "await-to-js": ["await-to-js@3.0.0", "", {}, "sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g=="], "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + "better-sqlite3": ["better-sqlite3@11.10.0", "", { "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" } }, "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ=="], + + "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="], + + "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], + "bmp-ts": ["bmp-ts@1.0.9", "", {}, "sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw=="], - "buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], "bun-ffi-structs": ["bun-ffi-structs@0.1.2", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-Lh1oQAYHDcnesJauieA4UNkWGXY9hYck7OA5IaRwE3Bp6K2F2pJSNYqq+hIy7P3uOvo3km3oxS8304g5gDMl/w=="], @@ -128,32 +372,210 @@ "bun-webgpu-win32-x64": ["bun-webgpu-win32-x64@0.1.4", "", { "os": "win32", "cpu": "x64" }, "sha512-Z5yAK28xrcm8Wb5k7TZ8FJKpOI/r+aVCRdlHYAqI2SDJFN3nD4mJs900X6kNVmG/xFzb5yOuKVYWGg+6ZXWbyA=="], + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "caniuse-lite": ["caniuse-lite@1.0.30001765", "", {}, "sha512-LWcNtSyZrakjECqmpP4qdg0MMGdN368D7X8XvvAqOcqMv0RxnlqVKZl2V6/mBR68oYMxOZPLw/gO7DuisMHUvQ=="], + + "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], + + "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], + + "client-only": ["client-only@0.0.1", "", {}, "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "cmdk": ["cmdk@1.1.1", "", { "dependencies": { "@radix-ui/react-compose-refs": "^1.1.1", "@radix-ui/react-dialog": "^1.1.6", "@radix-ui/react-id": "^1.1.0", "@radix-ui/react-primitive": "^2.0.2" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg=="], + + "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], + + "d3-array": ["d3-array@3.2.4", "", { "dependencies": { "internmap": "1 - 2" } }, "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg=="], + + "d3-color": ["d3-color@3.1.0", "", {}, "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA=="], + + "d3-ease": ["d3-ease@3.0.1", "", {}, "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w=="], + + "d3-format": ["d3-format@3.1.2", "", {}, "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg=="], + + "d3-interpolate": ["d3-interpolate@3.0.1", "", { "dependencies": { "d3-color": "1 - 3" } }, "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g=="], + + "d3-path": ["d3-path@3.1.0", "", {}, "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ=="], + + "d3-scale": ["d3-scale@4.0.2", "", { "dependencies": { "d3-array": "2.10.0 - 3", "d3-format": "1 - 3", "d3-interpolate": "1.2.0 - 3", "d3-time": "2.1.1 - 3", "d3-time-format": "2 - 4" } }, "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ=="], + + "d3-shape": ["d3-shape@3.2.0", "", { "dependencies": { "d3-path": "^3.1.0" } }, "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA=="], + + "d3-time": ["d3-time@3.1.0", "", { "dependencies": { "d3-array": "2 - 3" } }, "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q=="], + + "d3-time-format": ["d3-time-format@4.1.0", "", { "dependencies": { "d3-time": "1 - 3" } }, "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg=="], + + "d3-timer": ["d3-timer@3.0.1", "", {}, "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA=="], + + "decimal.js-light": ["decimal.js-light@2.5.1", "", {}, "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg=="], + + "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], + + "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], + + "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "detect-node-es": ["detect-node-es@1.1.0", "", {}, "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="], + "diff": ["diff@8.0.2", "", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="], + "dom-helpers": ["dom-helpers@5.2.1", "", { "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], + + "enhanced-resolve": ["enhanced-resolve@5.18.4", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" } }, "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + "event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="], + "eventemitter3": ["eventemitter3@4.0.7", "", {}, "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="], + "events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="], "exif-parser": ["exif-parser@0.1.12", "", {}, "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw=="], + "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="], + + "fast-equals": ["fast-equals@5.4.0", "", {}, "sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw=="], + "file-type": ["file-type@16.5.4", "", { "dependencies": { "readable-web-to-node-stream": "^3.0.0", "strtok3": "^6.2.4", "token-types": "^4.1.1" } }, "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw=="], + "file-uri-to-path": ["file-uri-to-path@1.0.0", "", {}, "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="], + + "form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="], + + "form-data-encoder": ["form-data-encoder@1.7.2", "", {}, "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A=="], + + "formdata-node": ["formdata-node@4.4.1", "", { "dependencies": { "node-domexception": "1.0.0", "web-streams-polyfill": "4.0.0-beta.3" } }, "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ=="], + + "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-nonce": ["get-nonce@1.0.1", "", {}, "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + "gifwrap": ["gifwrap@0.10.1", "", { "dependencies": { "image-q": "^4.0.0", "omggif": "^1.0.10" } }, "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw=="], + "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "humanize-ms": ["humanize-ms@1.2.1", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ=="], + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], "image-q": ["image-q@4.0.0", "", { "dependencies": { "@types/node": "16.9.1" } }, "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw=="], + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], + + "internmap": ["internmap@2.0.3", "", {}, "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg=="], + "jimp": ["jimp@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/diff": "1.6.0", "@jimp/js-bmp": "1.6.0", "@jimp/js-gif": "1.6.0", "@jimp/js-jpeg": "1.6.0", "@jimp/js-png": "1.6.0", "@jimp/js-tiff": "1.6.0", "@jimp/plugin-blit": "1.6.0", "@jimp/plugin-blur": "1.6.0", "@jimp/plugin-circle": "1.6.0", "@jimp/plugin-color": "1.6.0", "@jimp/plugin-contain": "1.6.0", "@jimp/plugin-cover": "1.6.0", "@jimp/plugin-crop": "1.6.0", "@jimp/plugin-displace": "1.6.0", "@jimp/plugin-dither": "1.6.0", "@jimp/plugin-fisheye": "1.6.0", "@jimp/plugin-flip": "1.6.0", "@jimp/plugin-hash": "1.6.0", "@jimp/plugin-mask": "1.6.0", "@jimp/plugin-print": "1.6.0", "@jimp/plugin-quantize": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/plugin-rotate": "1.6.0", "@jimp/plugin-threshold": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0" } }, "sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg=="], + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], + "jpeg-js": ["jpeg-js@0.4.4", "", {}, "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="], + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], + + "lightningcss": ["lightningcss@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.2", "", { "os": "linux", "cpu": "arm" }, "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.2", "", { "os": "linux", "cpu": "x64" }, "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA=="], + + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ=="], + + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw=="], + + "lodash": ["lodash@4.17.21", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="], + + "loose-envify": ["loose-envify@1.4.0", "", { "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" } }, "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="], + + "lucide-react": ["lucide-react@0.468.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" } }, "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA=="], + + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + "mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="], + "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + + "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + + "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + + "napi-build-utils": ["napi-build-utils@2.0.0", "", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="], + + "next": ["next@15.5.9", "", { "dependencies": { "@next/env": "15.5.9", "@swc/helpers": "0.5.15", "caniuse-lite": "^1.0.30001579", "postcss": "8.4.31", "styled-jsx": "5.1.6" }, "optionalDependencies": { "@next/swc-darwin-arm64": "15.5.7", "@next/swc-darwin-x64": "15.5.7", "@next/swc-linux-arm64-gnu": "15.5.7", "@next/swc-linux-arm64-musl": "15.5.7", "@next/swc-linux-x64-gnu": "15.5.7", "@next/swc-linux-x64-musl": "15.5.7", "@next/swc-win32-arm64-msvc": "15.5.7", "@next/swc-win32-x64-msvc": "15.5.7", "sharp": "^0.34.3" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", "@playwright/test": "^1.51.1", "babel-plugin-react-compiler": "*", "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", "sass": "^1.3.0" }, "optionalPeers": ["@opentelemetry/api", "@playwright/test", "babel-plugin-react-compiler", "sass"], "bin": { "next": "dist/bin/next" } }, "sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg=="], + + "node-abi": ["node-abi@3.87.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ=="], + + "node-domexception": ["node-domexception@1.0.0", "", {}, "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="], + + "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], + + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + "ollama": ["ollama@0.6.3", "", { "dependencies": { "whatwg-fetch": "^3.6.20" } }, "sha512-KEWEhIqE5wtfzEIZbDCLH51VFZ6Z3ZSa6sIOg/E/tBV8S51flyqBOXi+bRxlOYKDf8i327zG9eSTb8IJxvm3Zg=="], "omggif": ["omggif@1.0.10", "", {}, "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="], + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], "parse-bmfont-ascii": ["parse-bmfont-ascii@1.0.6", "", {}, "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA=="], @@ -164,48 +586,130 @@ "peek-readable": ["peek-readable@4.1.0", "", {}, "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg=="], + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], + "pixelmatch": ["pixelmatch@5.3.0", "", { "dependencies": { "pngjs": "^6.0.0" }, "bin": { "pixelmatch": "bin/pixelmatch" } }, "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q=="], "planck": ["planck@1.4.2", "", { "peerDependencies": { "stage-js": "^1.0.0-alpha.12" } }, "sha512-mNbhnV3g8X2rwGxzcesjmN8BDA6qfXgQxXVMkWau9MCRlQY0RLNEkyHlVp6yFy/X6qrzAXyNONCnZ1cGDLrNew=="], "pngjs": ["pngjs@7.0.0", "", {}, "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow=="], + "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + + "prebuild-install": ["prebuild-install@7.1.3", "", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="], + "process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="], - "readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="], + "prop-types": ["prop-types@15.8.1", "", { "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", "react-is": "^16.13.1" } }, "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg=="], + + "pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="], + + "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], + + "react": ["react@19.2.3", "", {}, "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA=="], + + "react-dom": ["react-dom@19.2.3", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.3" } }, "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg=="], + + "react-is": ["react-is@18.3.1", "", {}, "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg=="], + + "react-remove-scroll": ["react-remove-scroll@2.7.2", "", { "dependencies": { "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.3" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q=="], + + "react-remove-scroll-bar": ["react-remove-scroll-bar@2.3.8", "", { "dependencies": { "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["@types/react"] }, "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q=="], + + "react-smooth": ["react-smooth@4.0.4", "", { "dependencies": { "fast-equals": "^5.0.1", "prop-types": "^15.8.1", "react-transition-group": "^4.4.5" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q=="], + + "react-style-singleton": ["react-style-singleton@2.2.3", "", { "dependencies": { "get-nonce": "^1.0.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ=="], + + "react-transition-group": ["react-transition-group@4.4.5", "", { "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", "loose-envify": "^1.4.0", "prop-types": "^15.6.2" }, "peerDependencies": { "react": ">=16.6.0", "react-dom": ">=16.6.0" } }, "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], "readable-web-to-node-stream": ["readable-web-to-node-stream@3.0.4", "", { "dependencies": { "readable-stream": "^4.7.0" } }, "sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw=="], + "recharts": ["recharts@2.15.4", "", { "dependencies": { "clsx": "^2.0.0", "eventemitter3": "^4.0.1", "lodash": "^4.17.21", "react-is": "^18.3.1", "react-smooth": "^4.0.4", "recharts-scale": "^0.4.4", "tiny-invariant": "^1.3.1", "victory-vendor": "^36.6.8" }, "peerDependencies": { "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw=="], + + "recharts-scale": ["recharts-scale@0.4.5", "", { "dependencies": { "decimal.js-light": "^2.4.1" } }, "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w=="], + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], "sax": ["sax@1.4.4", "", {}, "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw=="], + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], + + "semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], + + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], + + "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="], + + "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="], + "simple-xml-to-json": ["simple-xml-to-json@1.2.3", "", {}, "sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA=="], + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], + "stage-js": ["stage-js@1.0.0-alpha.17", "", {}, "sha512-AzlMO+t51v6cFvKZ+Oe9DJnL1OXEH5s9bEy6di5aOrUpcP7PCzI/wIeXF0u3zg0L89gwnceoKxrLId0ZpYnNXw=="], "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], + "strtok3": ["strtok3@6.3.0", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^4.1.0" } }, "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw=="], + "styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="], + + "tailwind-merge": ["tailwind-merge@2.6.0", "", {}, "sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA=="], + + "tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="], + + "tapable": ["tapable@2.3.0", "", {}, "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg=="], + + "tar-fs": ["tar-fs@2.1.4", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ=="], + + "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], + "three": ["three@0.177.0", "", {}, "sha512-EiXv5/qWAaGI+Vz2A+JfavwYCMdGjxVsrn3oBwllUoqYeaBO75J63ZfyaQKoiLrqNHoTlUc6PFgMXnS0kI45zg=="], + "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], + "tinycolor2": ["tinycolor2@1.6.0", "", {}, "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="], "token-types": ["token-types@4.2.1", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" } }, "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ=="], + "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], "undici": ["undici@6.23.0", "", {}, "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g=="], - "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "use-callback-ref": ["use-callback-ref@1.3.3", "", { "dependencies": { "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg=="], + + "use-sidecar": ["use-sidecar@1.1.3", "", { "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" }, "peerDependencies": { "@types/react": "*", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ=="], "utif2": ["utif2@4.1.0", "", { "dependencies": { "pako": "^1.0.11" } }, "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w=="], + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "victory-vendor": ["victory-vendor@36.9.2", "", { "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", "@types/d3-interpolate": "^3.0.1", "@types/d3-scale": "^4.0.2", "@types/d3-shape": "^3.1.0", "@types/d3-time": "^3.0.0", "@types/d3-timer": "^3.0.0", "d3-array": "^3.1.6", "d3-ease": "^3.0.1", "d3-interpolate": "^3.0.1", "d3-scale": "^4.0.2", "d3-shape": "^3.1.0", "d3-time": "^3.0.0", "d3-timer": "^3.0.1" } }, "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ=="], + + "web-streams-polyfill": ["web-streams-polyfill@4.0.0-beta.3", "", {}, "sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug=="], + "web-tree-sitter": ["web-tree-sitter@0.25.10", "", { "peerDependencies": { "@types/emscripten": "^1.40.0" }, "optionalPeers": ["@types/emscripten"] }, "sha512-Y09sF44/13XvgVKgO2cNDw5rGk6s26MgoZPXLESvMXeefBf7i6/73eFurre0IsTW6E14Y0ArIzhUMmjoc7xyzA=="], + "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], + "whatwg-fetch": ["whatwg-fetch@3.6.20", "", {}, "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg=="], + "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + "xml-parse-from-string": ["xml-parse-from-string@1.0.1", "", {}, "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g=="], "xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="], @@ -216,8 +720,44 @@ "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "@anthropic-ai/sdk/@types/node": ["@types/node@18.19.130", "", { "dependencies": { "undici-types": "~5.26.4" } }, "sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg=="], + + "@radix-ui/react-dialog/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-dismissable-layer/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-focus-scope/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-portal/@radix-ui/react-primitive": ["@radix-ui/react-primitive@2.1.3", "", { "dependencies": { "@radix-ui/react-slot": "1.2.3" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react", "@types/react-dom"] }, "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ=="], + + "@radix-ui/react-primitive/@radix-ui/react-slot": ["@radix-ui/react-slot@1.2.4", "", { "dependencies": { "@radix-ui/react-compose-refs": "1.1.2" }, "peerDependencies": { "@types/react": "*", "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "optionalPeers": ["@types/react"] }, "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA=="], + + "@rta/web/ollama": ["ollama@0.5.18", "", { "dependencies": { "whatwg-fetch": "^3.6.20" } }, "sha512-lTFqTf9bo7Cd3hpF6CviBe/DEhewjoZYd9N/uCe7O20qYTvGqrNOFOBDj3lbZgFWHUgDv5EeyusYxsZSLS8nvg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" }, "bundled": true }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" }, "bundled": true }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "image-q/@types/node": ["@types/node@16.9.1", "", {}, "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g=="], + "next/postcss": ["postcss@8.4.31", "", { "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } }, "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="], + "pixelmatch/pngjs": ["pngjs@6.0.0", "", {}, "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg=="], + + "prop-types/react-is": ["react-is@16.13.1", "", {}, "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="], + + "readable-web-to-node-stream/readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="], + + "@anthropic-ai/sdk/@types/node/undici-types": ["undici-types@5.26.5", "", {}, "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="], + + "readable-web-to-node-stream/readable-stream/buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="], } } diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/settings.json b/data/settings.json new file mode 100644 index 0000000..177c42b --- /dev/null +++ b/data/settings.json @@ -0,0 +1,5 @@ +{ + "summarizationModel": "llava-llama3:latest", + "sentimentModel": "llava-llama3:latest", + "embeddingModel": "nomic-embed-text" +} \ No newline at end of file diff --git a/package.json b/package.json index 4f46e3d..13aca54 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,20 @@ { "name": "reddit-trend-analyzer", "version": "1.0.0", - "module": "src/index.ts", - "type": "module", "private": true, + "type": "module", + "workspaces": [ + "packages/*" + ], "scripts": { - "start": "bun run src/cli.ts", - "tui": "bun run src/index.ts", - "dev": "bun --watch run src/cli.ts" + "cli": "bun run packages/cli/src/cli.ts", + "tui": "bun run packages/cli/src/index.ts", + "dev": "bun run --filter @rta/web dev", + "build": "bun run --filter @rta/web build", + "start": "bun run build && bun run --filter @rta/web start" }, "devDependencies": { "@types/bun": "latest", "typescript": "^5.0.0" - }, - "dependencies": { - "@opentui/core": "^0.1.74", - "@qdrant/js-client-rest": "^1.16.2", - "ollama": "^0.6.3" } } diff --git a/packages/cli/package.json b/packages/cli/package.json new file mode 100644 index 0000000..2ba1c14 --- /dev/null +++ b/packages/cli/package.json @@ -0,0 +1,18 @@ +{ + "name": "@rta/cli", + "version": "1.0.0", + "private": true, + "type": "module", + "main": "./src/index.ts", + "bin": { + "rta": "./src/cli.ts" + }, + "scripts": { + "start": "bun run src/cli.ts", + "tui": "bun run src/index.ts" + }, + "dependencies": { + "@opentui/core": "^0.1.74", + "@rta/core": "workspace:*" + } +} diff --git a/src/cli.ts b/packages/cli/src/cli.ts similarity index 67% rename from src/cli.ts rename to packages/cli/src/cli.ts index 511917e..7c33184 100644 --- a/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -1,10 +1,15 @@ import * as readline from 'readline' -import { RedditScraper } from './scraper/reddit' -import { CommentFetcher } from './scraper/comments' -import { EmbeddingPipeline } from './embeddings/ollama' -import { QdrantStorage } from './storage/qdrant' -import type { RedditComment } from './scraper/types' -import type { SearchResult } from './storage/types' +import { + RedditScraper, + CommentFetcher, + EmbeddingPipeline, + QdrantStorage, + SQLiteStorage, + ClusteringPipeline, + ProblemSummarizer, + QuestionExtractor, +} from '@rta/core' +import type { RedditComment, SearchResult } from '@rta/core' const rl = readline.createInterface({ input: process.stdin, @@ -58,6 +63,9 @@ async function main() { console.log('\ncommands:') console.log(' scrape [pages] - scrape subreddit (e.g. scrape https://reddit.com/r/vfx/best 3)') console.log(' search - semantic search') + console.log(' cluster [threshold] - run clustering pipeline (default threshold 0.5)') + console.log(' problems - list problem clusters') + console.log(' questions [clusterId] - list extracted questions') console.log(' stats - show collection stats') console.log(' export json|csv - export last search results') console.log(' quit - exit\n') @@ -176,6 +184,98 @@ async function main() { continue } + if (cmd === 'cluster') { + const threshold = parseFloat(args[0] || '0.5') + console.log(`\nrunning clustering with threshold ${threshold}...\n`) + + try { + const clustering = new ClusteringPipeline(storage) + const result = await clustering.runClustering({ + minClusterSize: 2, + similarityThreshold: threshold, + samplesPerCluster: 10, + }) + + console.log(`found ${result.clusters.length} clusters (${result.stats.noisePoints} noise points)`) + + if (result.clusters.length > 0) { + console.log('\nsummarizing clusters...') + const summarizer = new ProblemSummarizer() + const summaries = await summarizer.summarizeClusters(result.clusters) + + const sqlite = new SQLiteStorage() + sqlite.saveClusters(summaries) + + console.log('extracting questions...') + const extractor = new QuestionExtractor() + const questionsByCluster = extractor.extractFromClusters(result.clusters) + + for (const [, questions] of questionsByCluster) { + sqlite.saveQuestions(questions) + } + + sqlite.close() + console.log(`\nsaved ${summaries.length} problem summaries to database`) + } + } catch (err) { + console.error('error:', err instanceof Error ? err.message : err) + } + continue + } + + if (cmd === 'problems') { + try { + const sqlite = new SQLiteStorage() + const clusters = sqlite.getClusters() + sqlite.close() + + if (clusters.length === 0) { + console.log('\nno problems found. run `cluster` first.') + continue + } + + console.log(`\n${clusters.length} problem clusters:\n`) + for (const c of clusters) { + console.log(`[${c.clusterId}] ${c.problem}`) + console.log(` size: ${c.size} | engagement: ${c.totalEngagement.toLocaleString()} | subreddits: ${c.subreddits.join(', ')}`) + console.log(` ${c.description.slice(0, 120)}...`) + console.log() + } + } catch (err) { + console.error('error:', err instanceof Error ? err.message : err) + } + continue + } + + if (cmd === 'questions') { + try { + const sqlite = new SQLiteStorage() + const clusterId = args[0] ? parseInt(args[0], 10) : undefined + const questions = sqlite.getQuestions(clusterId) + sqlite.close() + + if (questions.length === 0) { + console.log('\nno questions found. run `cluster` first.') + continue + } + + console.log(`\n${questions.length} questions${clusterId !== undefined ? ` (cluster ${clusterId})` : ''}:\n`) + for (const q of questions.slice(0, 20)) { + const status = q.addressed ? '[x]' : '[ ]' + console.log(`${status} ${q.text}`) + console.log(` cluster: ${q.clusterId} | engagement: ${q.engagement}`) + console.log() + } + + if (questions.length > 20) { + console.log(`... and ${questions.length - 20} more questions`) + } + } catch (err) { + console.error('error:', err instanceof Error ? err.message : err) + } + continue + } + if (cmd === 'export') { const format = args[0] if (!format || !['json', 'csv'].includes(format)) { diff --git a/src/index.ts b/packages/cli/src/index.ts similarity index 56% rename from src/index.ts rename to packages/cli/src/index.ts index 55001b1..a84af03 100644 --- a/src/index.ts +++ b/packages/cli/src/index.ts @@ -1,4 +1,5 @@ import { createApp } from './tui/app' +import { EmbeddingPipeline, QdrantStorage } from '@rta/core' async function main() { console.clear() @@ -23,12 +24,8 @@ async function main() { async function checkOllama(): Promise { try { - const { Ollama } = await import('ollama') - const client = new Ollama({ - host: process.env.OLLAMA_HOST || 'http://localhost:11434', - }) - const models = await client.list() - return models.models.some(m => m.name.includes('nomic-embed-text')) + const embeddings = new EmbeddingPipeline() + return await embeddings.checkConnection() } catch { return false } @@ -36,18 +33,8 @@ async function checkOllama(): Promise { async function checkQdrant(): Promise { try { - const { QdrantClient } = await import('@qdrant/js-client-rest') - const qdrantUrl = process.env.QDRANT_URL || 'http://localhost:6333' - const parsedUrl = new URL(qdrantUrl) - - const client = new QdrantClient({ - host: parsedUrl.hostname, - port: parsedUrl.port ? parseInt(parsedUrl.port) : (parsedUrl.protocol === 'https:' ? 443 : 6333), - https: parsedUrl.protocol === 'https:', - apiKey: process.env.QDRANT_API_KEY, - }) - await client.getCollections() - return true + const storage = new QdrantStorage() + return await storage.checkConnection() } catch { return false } diff --git a/src/tui/app.ts b/packages/cli/src/tui/app.ts similarity index 95% rename from src/tui/app.ts rename to packages/cli/src/tui/app.ts index 44e5251..5e5b181 100644 --- a/src/tui/app.ts +++ b/packages/cli/src/tui/app.ts @@ -5,12 +5,13 @@ import { type KeyEvent, } from '@opentui/core' -import { RedditScraper } from '../scraper/reddit' -import { CommentFetcher } from '../scraper/comments' -import { EmbeddingPipeline } from '../embeddings/ollama' -import { QdrantStorage } from '../storage/qdrant' -import type { RedditComment } from '../scraper/types' -import type { SearchResult } from '../storage/types' +import { + RedditScraper, + CommentFetcher, + EmbeddingPipeline, + QdrantStorage, +} from '@rta/core' +import type { RedditComment, SearchResult } from '@rta/core' import { createUrlInput, focusUrlInput } from './components/url-input' import { createProgressPanel, updateProgress, resetProgress } from './components/progress' diff --git a/src/tui/components/export.ts b/packages/cli/src/tui/components/export.ts similarity index 97% rename from src/tui/components/export.ts rename to packages/cli/src/tui/components/export.ts index 5314a0b..d03ede2 100644 --- a/src/tui/components/export.ts +++ b/packages/cli/src/tui/components/export.ts @@ -3,7 +3,7 @@ import { TextRenderable, type RenderContext, } from '@opentui/core' -import type { SearchResult } from '../../storage/types' +import type { SearchResult } from '@rta/core' export function createExportBar(renderer: RenderContext): BoxRenderable { const container = new BoxRenderable(renderer, { diff --git a/src/tui/components/progress.ts b/packages/cli/src/tui/components/progress.ts similarity index 100% rename from src/tui/components/progress.ts rename to packages/cli/src/tui/components/progress.ts diff --git a/src/tui/components/search.ts b/packages/cli/src/tui/components/search.ts similarity index 97% rename from src/tui/components/search.ts rename to packages/cli/src/tui/components/search.ts index 68a86c8..69f9b29 100644 --- a/src/tui/components/search.ts +++ b/packages/cli/src/tui/components/search.ts @@ -5,7 +5,7 @@ import { InputRenderableEvents, type RenderContext, } from '@opentui/core' -import type { SearchResult } from '../../storage/types' +import type { SearchResult } from '@rta/core' export interface SearchConfig { onSearch: (query: string) => Promise diff --git a/src/tui/components/stats.ts b/packages/cli/src/tui/components/stats.ts similarity index 95% rename from src/tui/components/stats.ts rename to packages/cli/src/tui/components/stats.ts index 49a320e..c905f94 100644 --- a/src/tui/components/stats.ts +++ b/packages/cli/src/tui/components/stats.ts @@ -3,7 +3,7 @@ import { TextRenderable, type RenderContext, } from '@opentui/core' -import type { CollectionStats } from '../../storage/types' +import type { CollectionStats } from '@rta/core' export function createStatsPanel(renderer: RenderContext): BoxRenderable { const container = new BoxRenderable(renderer, { diff --git a/src/tui/components/trending.ts b/packages/cli/src/tui/components/trending.ts similarity index 100% rename from src/tui/components/trending.ts rename to packages/cli/src/tui/components/trending.ts diff --git a/src/tui/components/url-input.ts b/packages/cli/src/tui/components/url-input.ts similarity index 100% rename from src/tui/components/url-input.ts rename to packages/cli/src/tui/components/url-input.ts diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 0000000..d49ba59 --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,25 @@ +{ + "name": "@rta/core", + "version": "1.0.0", + "private": true, + "type": "module", + "main": "./src/index.ts", + "exports": { + ".": "./src/index.ts", + "./scraper": "./src/scraper/index.ts", + "./embeddings": "./src/embeddings/index.ts", + "./storage": "./src/storage/index.ts", + "./clustering": "./src/clustering/index.ts", + "./analysis": "./src/analysis/index.ts", + "./utils": "./src/utils/index.ts" + }, + "dependencies": { + "@anthropic-ai/sdk": "^0.32.1", + "@qdrant/js-client-rest": "^1.16.2", + "better-sqlite3": "^11.7.0", + "ollama": "^0.6.3" + }, + "devDependencies": { + "@types/better-sqlite3": "^7.6.12" + } +} diff --git a/packages/core/src/analysis/index.ts b/packages/core/src/analysis/index.ts new file mode 100644 index 0000000..79cb34b --- /dev/null +++ b/packages/core/src/analysis/index.ts @@ -0,0 +1,12 @@ +export { ProblemSummarizer } from './summarizer' +export { QuestionExtractor } from './questions' +export { EngagementScorer } from './scoring' +export { SentimentAnalyzer } from './sentiment' +export { computeKeywordSimilarity } from './similarity' +export type { SimilarityMatrix } from './similarity' +export type { + ProblemSummary, + ExtractedQuestion, + ScoringWeights, + ScoredCluster, +} from './types' diff --git a/packages/core/src/analysis/questions.ts b/packages/core/src/analysis/questions.ts new file mode 100644 index 0000000..03e3593 --- /dev/null +++ b/packages/core/src/analysis/questions.ts @@ -0,0 +1,138 @@ +import type { ClusterPoint, Cluster } from '../clustering/types' +import type { ExtractedQuestion } from './types' +import type { EmbeddingPipeline } from '../embeddings/ollama' + +const QUESTION_PATTERNS = [ + /how (?:do|can|should|would) (?:i|we|you)/i, + /why (?:does|is|are|do|did)/i, + /what (?:is|are|should|would|does)/i, + /is there (?:a|any|an) way/i, + /can (?:i|you|we|someone)/i, + /should (?:i|we)/i, + /what's the (?:best|easiest|fastest)/i, + /does anyone (?:know|have)/i, + /has anyone (?:tried|used|done)/i, + /any (?:suggestions|recommendations|ideas|tips)/i, + /help (?:with|me)/i, + /\?$/, +] + +const DEDUP_SIMILARITY_THRESHOLD = 0.9 + +export class QuestionExtractor { + private embeddings?: EmbeddingPipeline + + constructor(embeddings?: EmbeddingPipeline) { + this.embeddings = embeddings + } + + extractQuestionsFromText(text: string): string[] { + const sentences = text.split(/[.!?\n]+/).map(s => s.trim()).filter(s => s.length > 10) + const questions: string[] = [] + + for (const sentence of sentences) { + for (const pattern of QUESTION_PATTERNS) { + if (pattern.test(sentence)) { + const cleaned = sentence.replace(/^\s*[-*•]\s*/, '').trim() + if (cleaned.length > 15 && cleaned.length < 500) { + questions.push(cleaned) + } + break + } + } + } + + return questions + } + + extractFromClusterPoints(points: ClusterPoint[], clusterId: number): ExtractedQuestion[] { + const questions: ExtractedQuestion[] = [] + let questionId = 0 + + for (const point of points) { + const text = point.payload.title + ? `${point.payload.title} ${point.payload.body}` + : point.payload.body + + const extracted = this.extractQuestionsFromText(text) + + for (const q of extracted) { + questions.push({ + id: `q-${clusterId}-${questionId++}`, + text: q, + clusterId, + sourcePointId: point.id, + engagement: point.payload.score, + addressed: false, + }) + } + } + + return questions.sort((a, b) => b.engagement - a.engagement) + } + + extractFromClusters(clusters: Cluster[]): Map { + const questionsByCluster = new Map() + + for (const cluster of clusters) { + const questions = this.extractFromClusterPoints(cluster.samples, cluster.id) + questionsByCluster.set(cluster.id, questions) + } + + return questionsByCluster + } + + async deduplicateQuestions(questions: ExtractedQuestion[]): Promise { + if (!this.embeddings || questions.length <= 1) { + return questions + } + + const texts = questions.map(q => q.text) + const embeddings = await this.embeddings.embedBatch(texts) + + const deduped: ExtractedQuestion[] = [] + const used = new Set() + + for (let i = 0; i < questions.length; i++) { + if (used.has(i)) continue + + const question = questions[i] + const embedding = embeddings[i] + if (!question || !embedding) continue + + deduped.push(question) + used.add(i) + + for (let j = i + 1; j < questions.length; j++) { + if (used.has(j)) continue + + const otherEmbedding = embeddings[j] + if (!otherEmbedding) continue + + const similarity = this.cosineSimilarity(embedding, otherEmbedding) + if (similarity >= DEDUP_SIMILARITY_THRESHOLD) { + used.add(j) + } + } + } + + return deduped + } + + private cosineSimilarity(a: number[], b: number[]): number { + let dotProduct = 0 + let normA = 0 + let normB = 0 + + for (let i = 0; i < a.length; i++) { + const aVal = a[i] ?? 0 + const bVal = b[i] ?? 0 + dotProduct += aVal * bVal + normA += aVal * aVal + normB += bVal * bVal + } + + if (normA === 0 || normB === 0) return 0 + return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB)) + } +} diff --git a/packages/core/src/analysis/scoring.ts b/packages/core/src/analysis/scoring.ts new file mode 100644 index 0000000..2ddb26f --- /dev/null +++ b/packages/core/src/analysis/scoring.ts @@ -0,0 +1,107 @@ +import type { Cluster } from '../clustering/types' +import type { ScoringWeights, ScoredCluster } from './types' +import { SentimentAnalyzer } from './sentiment' + +const DEFAULT_WEIGHTS: ScoringWeights = { + engagement: 0.5, + sentiment: 0.2, + velocity: 0.3, +} + +export class EngagementScorer { + private weights: ScoringWeights + private sentimentAnalyzer: SentimentAnalyzer | null = null + + constructor(weights?: Partial) { + this.weights = { ...DEFAULT_WEIGHTS, ...weights } + } + + setWeights(weights: Partial): void { + this.weights = { ...this.weights, ...weights } + } + + enableSentiment(): void { + this.sentimentAnalyzer = new SentimentAnalyzer() + } + + async scoreClustersAsync(clusters: Cluster[]): Promise { + if (clusters.length === 0) return [] + + const maxEngagement = Math.max(...clusters.map(c => c.totalEngagement)) + const now = Math.floor(Date.now() / 1000) + const oneWeek = 7 * 24 * 60 * 60 + + const scored: ScoredCluster[] = [] + + for (const cluster of clusters) { + const engagementScore = maxEngagement > 0 + ? cluster.totalEngagement / maxEngagement + : 0 + + const age = now - cluster.lastActive + const velocityScore = Math.max(0, 1 - (age / oneWeek)) + + let sentimentScore = 0.5 + if (this.sentimentAnalyzer && cluster.samples.length > 0) { + const sampleTexts = cluster.samples + .slice(0, 5) + .map(s => s.payload.title || s.payload.body) + .filter(Boolean) + sentimentScore = await this.sentimentAnalyzer.analyzeClusterSentiment(sampleTexts) + } + + const impactScore = + this.weights.engagement * engagementScore + + this.weights.sentiment * sentimentScore + + this.weights.velocity * velocityScore + + scored.push({ + ...cluster, + impactScore, + }) + } + + return scored.sort((a, b) => b.impactScore - a.impactScore) + } + + scoreClusters(clusters: Cluster[]): ScoredCluster[] { + if (clusters.length === 0) return [] + + const maxEngagement = Math.max(...clusters.map(c => c.totalEngagement)) + const now = Math.floor(Date.now() / 1000) + const oneWeek = 7 * 24 * 60 * 60 + + return clusters.map(cluster => { + const engagementScore = maxEngagement > 0 + ? cluster.totalEngagement / maxEngagement + : 0 + + const age = now - cluster.lastActive + const velocityScore = Math.max(0, 1 - (age / oneWeek)) + + const sentimentScore = 0.5 + + const impactScore = + this.weights.engagement * engagementScore + + this.weights.sentiment * sentimentScore + + this.weights.velocity * velocityScore + + return { + ...cluster, + impactScore, + } + }).sort((a, b) => b.impactScore - a.impactScore) + } + + rankByEngagement(clusters: Cluster[]): Cluster[] { + return [...clusters].sort((a, b) => b.totalEngagement - a.totalEngagement) + } + + rankByRecency(clusters: Cluster[]): Cluster[] { + return [...clusters].sort((a, b) => b.lastActive - a.lastActive) + } + + rankBySize(clusters: Cluster[]): Cluster[] { + return [...clusters].sort((a, b) => b.size - a.size) + } +} diff --git a/packages/core/src/analysis/sentiment.ts b/packages/core/src/analysis/sentiment.ts new file mode 100644 index 0000000..0d2eb9b --- /dev/null +++ b/packages/core/src/analysis/sentiment.ts @@ -0,0 +1,97 @@ +import { Ollama } from 'ollama' +import { RateLimiter } from '../utils/rate-limit' + +const DEFAULT_MODEL = 'llama3.2' +const BATCH_SIZE = 5 + +type Sentiment = 'positive' | 'neutral' | 'negative' + +export class SentimentAnalyzer { + private ollama: Ollama + private model: string + private rateLimiter: RateLimiter + private cache: Map + + constructor(options?: { host?: string; model?: string }) { + this.ollama = new Ollama({ + host: options?.host || process.env.OLLAMA_HOST || 'http://localhost:11434', + }) + this.model = options?.model || DEFAULT_MODEL + this.rateLimiter = new RateLimiter(500) + this.cache = new Map() + } + + private sentimentToScore(sentiment: Sentiment): number { + switch (sentiment) { + case 'positive': return 1.0 + case 'neutral': return 0.5 + case 'negative': return 0.0 + default: return 0.5 + } + } + + private parseSentiment(response: string): Sentiment { + const lower = response.toLowerCase().trim() + if (lower.includes('positive')) return 'positive' + if (lower.includes('negative')) return 'negative' + return 'neutral' + } + + private textKey(text: string): string { + return text.slice(0, 200) + } + + async analyzeSingle(text: string): Promise { + const key = this.textKey(text) + const cached = this.cache.get(key) + if (cached !== undefined) return cached + + await this.rateLimiter.wait() + + try { + const response = await this.ollama.generate({ + model: this.model, + prompt: `Analyze the sentiment of this text. Return only one word: positive, negative, or neutral.\n\nText: "${text.slice(0, 500)}"`, + stream: false, + }) + + const sentiment = this.parseSentiment(response.response) + const score = this.sentimentToScore(sentiment) + this.cache.set(key, score) + return score + } catch (err) { + return 0.5 + } + } + + async analyzeBatch(texts: string[]): Promise { + const results: number[] = [] + + for (let i = 0; i < texts.length; i += BATCH_SIZE) { + const batch = texts.slice(i, i + BATCH_SIZE) + const batchResults = await Promise.all( + batch.map(text => this.analyzeSingle(text)) + ) + results.push(...batchResults) + } + + return results + } + + async analyzeClusterSentiment(sampleTexts: string[]): Promise { + if (sampleTexts.length === 0) return 0.5 + + const scores = await this.analyzeBatch(sampleTexts) + const sum = scores.reduce((a, b) => a + b, 0) + return sum / scores.length + } + + async checkConnection(): Promise { + try { + const result = await this.ollama.list() + return result.models.some(m => m.name.startsWith(this.model)) + } catch { + return false + } + } +} diff --git a/packages/core/src/analysis/similarity.ts b/packages/core/src/analysis/similarity.ts new file mode 100644 index 0000000..2f1e258 --- /dev/null +++ b/packages/core/src/analysis/similarity.ts @@ -0,0 +1,41 @@ +import type { ProblemSummary } from './types' + +export interface SimilarityMatrix { + matrix: number[][] + labels: string[] + clusterIds: number[] +} + +/** + * compute jaccard similarity between clusters based on keywords + * jaccard = |A ∩ B| / |A ∪ B| + */ +export function computeKeywordSimilarity(clusters: ProblemSummary[]): SimilarityMatrix { + const n = clusters.length + const matrix: number[][] = Array(n).fill(null).map(() => Array(n).fill(0)) + + for (let i = 0; i < n; i++) { + for (let j = i; j < n; j++) { + if (i === j) { + matrix[i][j] = 1 + continue + } + + const setA = new Set(clusters[i].keywords.map(k => k.toLowerCase())) + const setB = new Set(clusters[j].keywords.map(k => k.toLowerCase())) + + const intersection = [...setA].filter(k => setB.has(k)).length + const union = new Set([...setA, ...setB]).size + const similarity = union > 0 ? intersection / union : 0 + + matrix[i][j] = similarity + matrix[j][i] = similarity + } + } + + return { + matrix, + labels: clusters.map(c => c.problem.slice(0, 25) + (c.problem.length > 25 ? '...' : '')), + clusterIds: clusters.map(c => c.clusterId), + } +} diff --git a/packages/core/src/analysis/summarizer.ts b/packages/core/src/analysis/summarizer.ts new file mode 100644 index 0000000..d74d982 --- /dev/null +++ b/packages/core/src/analysis/summarizer.ts @@ -0,0 +1,146 @@ +import { Ollama } from 'ollama' +import type { Cluster } from '../clustering/types' +import type { ProblemSummary, SummarizationProgress } from './types' +import { delay } from '../utils/rate-limit' + +const DEFAULT_MODEL = 'llama3.2' +const RATE_LIMIT_DELAY = 500 + +const SYSTEM_PROMPT = `You are an expert at identifying recurring problems from online discussions. +Given a cluster of related discussions from Reddit, extract the common problem pattern. + +Respond ONLY with valid JSON in this exact format: +{ + "problem": "concise one-line problem statement (max 100 chars)", + "description": "2-3 sentences explaining the problem", + "keywords": ["keyword1", "keyword2", "keyword3"], + "sampleQuestions": ["question 1?", "question 2?", "question 3?"], + "actionableInsight": "brief suggestion for content/tool opportunity" +}` + +interface SummaryResponse { + problem: string + description: string + keywords: string[] + sampleQuestions: string[] + actionableInsight: string +} + +export class ProblemSummarizer { + private ollama: Ollama + private model: string + private onProgress?: (progress: SummarizationProgress) => void + + constructor(options?: { host?: string; model?: string }) { + this.ollama = new Ollama({ + host: options?.host || process.env.OLLAMA_HOST || 'http://localhost:11434', + }) + this.model = options?.model || DEFAULT_MODEL + } + + setProgressCallback(callback: (progress: SummarizationProgress) => void): void { + this.onProgress = callback + } + + private emitProgress(progress: SummarizationProgress): void { + this.onProgress?.(progress) + } + + async summarizeCluster(cluster: Cluster): Promise { + const sampleTexts = cluster.samples + .slice(0, 5) + .map((sample, i) => { + const title = sample.payload.title || '' + const body = sample.payload.body.slice(0, 300) + const score = sample.payload.score + return `[${score} upvotes] ${title}\n${body}` + }) + .join('\n\n') + + const prompt = `${SYSTEM_PROMPT} + +Analyze these ${cluster.size} related discussions from r/${cluster.subreddits.join(', r/')}: + +${sampleTexts} + +JSON response:` + + const response = await this.ollama.generate({ + model: this.model, + prompt, + stream: false, + }) + + let parsed: SummaryResponse + try { + const jsonMatch = response.response.match(/\{[\s\S]*\}/) + if (!jsonMatch) { + throw new Error('No JSON found in response') + } + parsed = JSON.parse(jsonMatch[0]) + } catch (e) { + parsed = { + problem: `Cluster ${cluster.id} discussion pattern`, + description: 'Unable to extract summary from cluster.', + keywords: cluster.subreddits, + sampleQuestions: [], + actionableInsight: 'Review cluster manually.', + } + } + + return { + clusterId: cluster.id, + problem: parsed.problem || `Cluster ${cluster.id}`, + description: parsed.description || '', + keywords: parsed.keywords || [], + sampleQuestions: parsed.sampleQuestions || [], + actionableInsight: parsed.actionableInsight || '', + size: cluster.size, + totalEngagement: cluster.totalEngagement, + lastActive: cluster.lastActive, + subreddits: cluster.subreddits, + samplePointIds: cluster.samples.map(s => s.id), + } + } + + async summarizeClusters(clusters: Cluster[]): Promise { + const summaries: ProblemSummary[] = [] + + for (let i = 0; i < clusters.length; i++) { + const cluster = clusters[i] + if (!cluster) continue + + this.emitProgress({ + current: i + 1, + total: clusters.length, + message: `Summarizing cluster ${i + 1}/${clusters.length}`, + }) + + try { + const summary = await this.summarizeCluster(cluster) + summaries.push(summary) + } catch (error) { + console.error(`Failed to summarize cluster ${cluster.id}:`, error) + summaries.push({ + clusterId: cluster.id, + problem: `Cluster ${cluster.id} (summary failed)`, + description: 'Failed to generate summary for this cluster.', + keywords: [], + sampleQuestions: [], + actionableInsight: '', + size: cluster.size, + totalEngagement: cluster.totalEngagement, + lastActive: cluster.lastActive, + subreddits: cluster.subreddits, + samplePointIds: cluster.samples.map(s => s.id), + }) + } + + if (i < clusters.length - 1) { + await delay(RATE_LIMIT_DELAY) + } + } + + return summaries + } +} diff --git a/packages/core/src/analysis/types.ts b/packages/core/src/analysis/types.ts new file mode 100644 index 0000000..499d4c3 --- /dev/null +++ b/packages/core/src/analysis/types.ts @@ -0,0 +1,40 @@ +import type { Cluster } from '../clustering/types' + +export interface ProblemSummary { + clusterId: number + problem: string + description: string + keywords: string[] + sampleQuestions: string[] + actionableInsight: string + size: number + totalEngagement: number + lastActive: number + subreddits: string[] + samplePointIds?: string[] +} + +export interface ExtractedQuestion { + id: string + text: string + clusterId: number + sourcePointId: string + engagement: number + addressed: boolean +} + +export interface ScoringWeights { + engagement: number + sentiment: number + velocity: number +} + +export interface ScoredCluster extends Cluster { + impactScore: number +} + +export interface SummarizationProgress { + current: number + total: number + message: string +} diff --git a/packages/core/src/clustering/hdbscan.ts b/packages/core/src/clustering/hdbscan.ts new file mode 100644 index 0000000..b56e182 --- /dev/null +++ b/packages/core/src/clustering/hdbscan.ts @@ -0,0 +1,214 @@ +import type { QdrantStorage } from '../storage/qdrant' +import type { + Cluster, + ClusterPoint, + ClusteringOptions, + ClusteringResult, +} from './types' + +const DEFAULT_MIN_CLUSTER_SIZE = 2 +const DEFAULT_SIMILARITY_THRESHOLD = 0.5 +const DEFAULT_SAMPLES_PER_CLUSTER = 10 + +export class ClusteringPipeline { + private storage: QdrantStorage + + constructor(storage: QdrantStorage) { + this.storage = storage + } + + async runClustering(options: ClusteringOptions = {}): Promise { + const minClusterSize = options.minClusterSize ?? DEFAULT_MIN_CLUSTER_SIZE + const similarityThreshold = options.similarityThreshold ?? DEFAULT_SIMILARITY_THRESHOLD + const samplesPerCluster = options.samplesPerCluster ?? DEFAULT_SAMPLES_PER_CLUSTER + + const points = await this.storage.scrollWithVectors() + if (points.length === 0) { + return { + clusters: [], + noise: [], + stats: { + totalPoints: 0, + clusteredPoints: 0, + noisePoints: 0, + clusterCount: 0, + }, + } + } + + const labels = this.densityClustering(points, similarityThreshold, minClusterSize) + + const clusterMap = new Map() + const noise: ClusterPoint[] = [] + + for (let i = 0; i < labels.length; i++) { + const label = labels[i] + const point = points[i] + if (!point) continue + + if (label === -1) { + noise.push(point) + } else { + const existing = clusterMap.get(label) || [] + existing.push(point) + clusterMap.set(label, existing) + } + } + + const clusters: Cluster[] = [] + let clusterId = 0 + + for (const [, clusterPoints] of clusterMap) { + if (clusterPoints.length < minClusterSize) { + noise.push(...clusterPoints) + continue + } + + const centroid = this.calculateCentroid(clusterPoints) + const totalEngagement = clusterPoints.reduce((sum, p) => sum + p.payload.score, 0) + const lastActive = Math.max(...clusterPoints.map(p => p.payload.created)) + const subreddits = [...new Set(clusterPoints.map(p => p.payload.subreddit))] + + const sortedByEngagement = [...clusterPoints].sort( + (a, b) => b.payload.score - a.payload.score + ) + const samples = sortedByEngagement.slice(0, samplesPerCluster) + + clusters.push({ + id: clusterId++, + size: clusterPoints.length, + centroid, + totalEngagement, + lastActive, + subreddits, + samples, + }) + } + + clusters.sort((a, b) => b.totalEngagement - a.totalEngagement) + + return { + clusters, + noise, + stats: { + totalPoints: points.length, + clusteredPoints: points.length - noise.length, + noisePoints: noise.length, + clusterCount: clusters.length, + }, + } + } + + private densityClustering( + points: ClusterPoint[], + similarityThreshold: number, + minSize: number + ): number[] { + const n = points.length + const labels = new Array(n).fill(-1) + const visited = new Set() + let currentCluster = 0 + + for (let i = 0; i < n; i++) { + if (visited.has(i)) continue + + const neighbors = this.findNeighbors(points, i, similarityThreshold) + + if (neighbors.length < minSize) { + visited.add(i) + continue + } + + labels[i] = currentCluster + visited.add(i) + + const queue = [...neighbors] + while (queue.length > 0) { + const j = queue.shift()! + if (visited.has(j)) continue + + visited.add(j) + labels[j] = currentCluster + + const jNeighbors = this.findNeighbors(points, j, similarityThreshold) + if (jNeighbors.length >= minSize) { + for (const k of jNeighbors) { + if (!visited.has(k)) { + queue.push(k) + } + } + } + } + + currentCluster++ + } + + return labels + } + + private findNeighbors( + points: ClusterPoint[], + idx: number, + threshold: number + ): number[] { + const neighbors: number[] = [] + const point = points[idx] + if (!point) return neighbors + + for (let i = 0; i < points.length; i++) { + if (i === idx) continue + const other = points[i] + if (!other) continue + + const sim = this.cosineSimilarity(point.vector, other.vector) + if (sim >= threshold) { + neighbors.push(i) + } + } + + return neighbors + } + + private cosineSimilarity(a: number[], b: number[]): number { + let dot = 0 + let normA = 0 + let normB = 0 + + for (let i = 0; i < a.length; i++) { + const aVal = a[i] ?? 0 + const bVal = b[i] ?? 0 + dot += aVal * bVal + normA += aVal * aVal + normB += bVal * bVal + } + + if (normA === 0 || normB === 0) return 0 + return dot / (Math.sqrt(normA) * Math.sqrt(normB)) + } + + private calculateCentroid(points: ClusterPoint[]): number[] { + if (points.length === 0) return [] + + const dim = points[0]?.vector.length ?? 0 + const centroid = new Array(dim).fill(0) + + for (const point of points) { + for (let i = 0; i < dim; i++) { + centroid[i] += point.vector[i] ?? 0 + } + } + + for (let i = 0; i < dim; i++) { + centroid[i] /= points.length + } + + const magnitude = Math.sqrt(centroid.reduce((sum, v) => sum + v * v, 0)) + if (magnitude > 0) { + for (let i = 0; i < dim; i++) { + centroid[i] /= magnitude + } + } + + return centroid + } +} diff --git a/packages/core/src/clustering/index.ts b/packages/core/src/clustering/index.ts new file mode 100644 index 0000000..349ca13 --- /dev/null +++ b/packages/core/src/clustering/index.ts @@ -0,0 +1,2 @@ +export { ClusteringPipeline } from './hdbscan' +export type { Cluster, ClusterPoint, ClusteringOptions, ClusteringResult } from './types' diff --git a/packages/core/src/clustering/types.ts b/packages/core/src/clustering/types.ts new file mode 100644 index 0000000..c5c153a --- /dev/null +++ b/packages/core/src/clustering/types.ts @@ -0,0 +1,34 @@ +import type { PointPayload } from '../storage/types' + +export interface ClusterPoint { + id: string + vector: number[] + payload: PointPayload +} + +export interface Cluster { + id: number + size: number + centroid: number[] + totalEngagement: number + lastActive: number + subreddits: string[] + samples: ClusterPoint[] +} + +export interface ClusteringOptions { + minClusterSize?: number + similarityThreshold?: number + samplesPerCluster?: number +} + +export interface ClusteringResult { + clusters: Cluster[] + noise: ClusterPoint[] + stats: { + totalPoints: number + clusteredPoints: number + noisePoints: number + clusterCount: number + } +} diff --git a/packages/core/src/embeddings/index.ts b/packages/core/src/embeddings/index.ts new file mode 100644 index 0000000..28886ef --- /dev/null +++ b/packages/core/src/embeddings/index.ts @@ -0,0 +1,2 @@ +export { EmbeddingPipeline, VECTOR_DIM } from './ollama' +export type { EmbeddedPoint, EmbeddingProgress } from './ollama' diff --git a/src/embeddings/ollama.ts b/packages/core/src/embeddings/ollama.ts similarity index 100% rename from src/embeddings/ollama.ts rename to packages/core/src/embeddings/ollama.ts diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts new file mode 100644 index 0000000..2313209 --- /dev/null +++ b/packages/core/src/index.ts @@ -0,0 +1,46 @@ +// scraper +export { + RedditScraper, + CommentFetcher, + normalizeRedditUrl, + parseSubredditFromUrl, +} from './scraper' +export type { + RedditPost, + RedditComment, + RedditListing, + ScrapeOptions, + ScrapeProgress, +} from './scraper' + +// embeddings +export { EmbeddingPipeline, VECTOR_DIM } from './embeddings' +export type { EmbeddedPoint, EmbeddingProgress } from './embeddings' + +// storage +export { QdrantStorage, COLLECTION_NAME, SQLiteStorage } from './storage' +export type { PointPayload, SearchResult, CollectionStats, ScrapeHistoryRecord } from './storage' + +// clustering +export { ClusteringPipeline } from './clustering' +export type { Cluster, ClusterPoint, ClusteringOptions, ClusteringResult } from './clustering' + +// analysis +export { + ProblemSummarizer, + QuestionExtractor, + EngagementScorer, + SentimentAnalyzer, + computeKeywordSimilarity, +} from './analysis' +export type { + ProblemSummary, + ExtractedQuestion, + ScoringWeights, + ScoredCluster, + SimilarityMatrix, +} from './analysis' + +// utils +export { delay, RateLimiter, fetchWithRetry } from './utils' +export { cleanText, prepareForEmbedding } from './utils' diff --git a/src/scraper/comments.ts b/packages/core/src/scraper/comments.ts similarity index 100% rename from src/scraper/comments.ts rename to packages/core/src/scraper/comments.ts diff --git a/packages/core/src/scraper/index.ts b/packages/core/src/scraper/index.ts new file mode 100644 index 0000000..4d3f3d7 --- /dev/null +++ b/packages/core/src/scraper/index.ts @@ -0,0 +1,12 @@ +export { RedditScraper, normalizeRedditUrl, parseSubredditFromUrl } from './reddit' +export { CommentFetcher } from './comments' +export type { + RedditPost, + RedditComment, + RedditListing, + RedditListingData, + RedditPostData, + RedditCommentData, + ScrapeOptions, + ScrapeProgress, +} from './types' diff --git a/src/scraper/reddit.ts b/packages/core/src/scraper/reddit.ts similarity index 100% rename from src/scraper/reddit.ts rename to packages/core/src/scraper/reddit.ts diff --git a/src/scraper/types.ts b/packages/core/src/scraper/types.ts similarity index 100% rename from src/scraper/types.ts rename to packages/core/src/scraper/types.ts diff --git a/packages/core/src/storage/index.ts b/packages/core/src/storage/index.ts new file mode 100644 index 0000000..8fa2b6f --- /dev/null +++ b/packages/core/src/storage/index.ts @@ -0,0 +1,4 @@ +export { QdrantStorage, COLLECTION_NAME } from './qdrant' +export { SQLiteStorage } from './sqlite' +export type { ScrapeHistoryRecord } from './sqlite' +export type { PointPayload, SearchResult, CollectionStats } from './types' diff --git a/src/storage/qdrant.ts b/packages/core/src/storage/qdrant.ts similarity index 80% rename from src/storage/qdrant.ts rename to packages/core/src/storage/qdrant.ts index 9362625..557b8e1 100644 --- a/src/storage/qdrant.ts +++ b/packages/core/src/storage/qdrant.ts @@ -1,6 +1,7 @@ import { QdrantClient } from '@qdrant/js-client-rest' import type { EmbeddedPoint } from '../embeddings/ollama' import type { PointPayload, SearchResult, CollectionStats } from './types' +import type { ClusterPoint } from '../clustering/types' import { VECTOR_DIM } from '../embeddings/ollama' const COLLECTION_NAME = 'reddit_trends' @@ -178,6 +179,48 @@ export class QdrantStorage { return false } } + + async getPointsByIds(ids: (string | number)[]): Promise { + if (ids.length === 0) return [] + + const results = await this.client.retrieve(this.collectionName, { + ids, + with_payload: true, + with_vector: false, + }) + + return results.map(r => r.payload as unknown as PointPayload) + } + + async scrollWithVectors(batchSize: number = 100): Promise { + const points: ClusterPoint[] = [] + let offset: string | number | undefined = undefined + + while (true) { + const result = await this.client.scroll(this.collectionName, { + limit: batchSize, + offset, + with_payload: true, + with_vector: true, + }) + + for (const point of result.points) { + const vector = point.vector + if (!vector || !Array.isArray(vector)) continue + + points.push({ + id: String(point.id), + vector: vector as number[], + payload: point.payload as unknown as PointPayload, + }) + } + + if (!result.next_page_offset) break + offset = result.next_page_offset as string | number + } + + return points + } } export { COLLECTION_NAME } diff --git a/packages/core/src/storage/sqlite.ts b/packages/core/src/storage/sqlite.ts new file mode 100644 index 0000000..087cdb4 --- /dev/null +++ b/packages/core/src/storage/sqlite.ts @@ -0,0 +1,274 @@ +import Database from 'better-sqlite3' +import { existsSync, mkdirSync } from 'fs' +import { join } from 'path' +import type { ProblemSummary, ExtractedQuestion } from '../analysis/types' + +function getDefaultDbPath(): string { + // use env var if set, otherwise use hardcoded path relative to monorepo + if (process.env.SQLITE_DB_PATH) { + return process.env.SQLITE_DB_PATH + } + + // hardcode the path for this project + const projectRoot = '/mnt/work/dev/personal-projects/reddit-trend-analyzer' + const dataDir = join(projectRoot, 'data') + + if (!existsSync(dataDir)) { + mkdirSync(dataDir, { recursive: true }) + } + + return join(dataDir, 'reddit-trends.db') +} + +export interface ScrapeHistoryRecord { + id: number + subreddit: string + url: string + postsScraped: number + commentsScraped: number + startedAt: number + completedAt: number | null +} + +export interface ClusterRecord { + id: number + problem: string + description: string + keywords: string + sampleQuestions: string + actionableInsight: string + size: number + totalEngagement: number + lastActive: number + subreddits: string + samplePointIds: string + createdAt: number +} + +export class SQLiteStorage { + private db: Database.Database + + constructor(dbPath?: string) { + this.db = new Database(dbPath || getDefaultDbPath()) + this.initialize() + } + + private initialize(): void { + this.db.exec(` + CREATE TABLE IF NOT EXISTS clusters ( + id INTEGER PRIMARY KEY, + problem TEXT NOT NULL, + description TEXT, + keywords TEXT, + sample_questions TEXT, + actionable_insight TEXT, + size INTEGER NOT NULL, + total_engagement INTEGER NOT NULL, + last_active INTEGER NOT NULL, + subreddits TEXT, + sample_point_ids TEXT, + created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')) + ); + + CREATE TABLE IF NOT EXISTS questions ( + id TEXT PRIMARY KEY, + text TEXT NOT NULL, + cluster_id INTEGER, + source_point_id TEXT, + engagement INTEGER NOT NULL DEFAULT 0, + addressed INTEGER NOT NULL DEFAULT 0, + created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now')), + FOREIGN KEY (cluster_id) REFERENCES clusters(id) + ); + + CREATE TABLE IF NOT EXISTS scrape_history ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + subreddit TEXT NOT NULL, + url TEXT NOT NULL, + posts_scraped INTEGER NOT NULL DEFAULT 0, + comments_scraped INTEGER NOT NULL DEFAULT 0, + started_at INTEGER NOT NULL, + completed_at INTEGER + ); + + CREATE INDEX IF NOT EXISTS idx_questions_cluster ON questions(cluster_id); + CREATE INDEX IF NOT EXISTS idx_questions_addressed ON questions(addressed); + CREATE INDEX IF NOT EXISTS idx_scrape_history_subreddit ON scrape_history(subreddit); + `) + + // migration: add sample_point_ids column if missing (for existing databases) + try { + const columns = this.db.pragma('table_info(clusters)') as { name: string }[] + const hasSamplePointIds = columns.some(c => c.name === 'sample_point_ids') + if (!hasSamplePointIds) { + this.db.exec('ALTER TABLE clusters ADD COLUMN sample_point_ids TEXT') + } + } catch { + // table might not exist yet, that's fine + } + } + + saveClusters(summaries: ProblemSummary[]): void { + this.db.exec('DELETE FROM clusters') + + const insert = this.db.prepare(` + INSERT INTO clusters (id, problem, description, keywords, sample_questions, + actionable_insight, size, total_engagement, last_active, subreddits, sample_point_ids) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + `) + + const insertMany = this.db.transaction((items: ProblemSummary[]) => { + for (const s of items) { + insert.run( + s.clusterId, + s.problem, + s.description, + JSON.stringify(s.keywords), + JSON.stringify(s.sampleQuestions), + s.actionableInsight, + s.size, + s.totalEngagement, + s.lastActive, + JSON.stringify(s.subreddits), + JSON.stringify(s.samplePointIds || []) + ) + } + }) + + insertMany(summaries) + } + + getClusters(): ProblemSummary[] { + const rows = this.db.prepare(` + SELECT * FROM clusters ORDER BY total_engagement DESC + `).all() as any[] + + return rows.map(row => ({ + clusterId: row.id, + problem: row.problem, + description: row.description, + keywords: JSON.parse(row.keywords || '[]'), + sampleQuestions: JSON.parse(row.sample_questions || '[]'), + actionableInsight: row.actionable_insight, + size: row.size, + totalEngagement: row.total_engagement, + lastActive: row.last_active, + subreddits: JSON.parse(row.subreddits || '[]'), + samplePointIds: JSON.parse(row.sample_point_ids || '[]'), + })) + } + + getCluster(id: number): ProblemSummary | null { + const row = this.db.prepare(` + SELECT * FROM clusters WHERE id = ? + `).get(id) as any | undefined + + if (!row) return null + + return { + clusterId: row.id, + problem: row.problem, + description: row.description, + keywords: JSON.parse(row.keywords || '[]'), + sampleQuestions: JSON.parse(row.sample_questions || '[]'), + actionableInsight: row.actionable_insight, + size: row.size, + totalEngagement: row.total_engagement, + lastActive: row.last_active, + subreddits: JSON.parse(row.subreddits || '[]'), + samplePointIds: JSON.parse(row.sample_point_ids || '[]'), + } + } + + saveQuestions(questions: ExtractedQuestion[]): void { + const insert = this.db.prepare(` + INSERT OR REPLACE INTO questions (id, text, cluster_id, source_point_id, engagement, addressed) + VALUES (?, ?, ?, ?, ?, ?) + `) + + const insertMany = this.db.transaction((items: ExtractedQuestion[]) => { + for (const q of items) { + insert.run(q.id, q.text, q.clusterId, q.sourcePointId, q.engagement, q.addressed ? 1 : 0) + } + }) + + insertMany(questions) + } + + getQuestions(clusterId?: number): ExtractedQuestion[] { + let rows + if (clusterId !== undefined) { + rows = this.db.prepare(` + SELECT * FROM questions WHERE cluster_id = ? ORDER BY engagement DESC + `).all(clusterId) as any[] + } else { + rows = this.db.prepare(` + SELECT * FROM questions ORDER BY engagement DESC + `).all() as any[] + } + + return rows.map(row => ({ + id: row.id, + text: row.text, + clusterId: row.cluster_id, + sourcePointId: row.source_point_id, + engagement: row.engagement, + addressed: row.addressed === 1, + })) + } + + markQuestionAddressed(id: string, addressed: boolean = true): void { + this.db.prepare(` + UPDATE questions SET addressed = ? WHERE id = ? + `).run(addressed ? 1 : 0, id) + } + + startScrape(subreddit: string, url: string): number { + const result = this.db.prepare(` + INSERT INTO scrape_history (subreddit, url, started_at) + VALUES (?, ?, strftime('%s', 'now')) + `).run(subreddit, url) + + return Number(result.lastInsertRowid) + } + + completeScrape(id: number, postsScraped: number, commentsScraped: number): void { + this.db.prepare(` + UPDATE scrape_history + SET posts_scraped = ?, comments_scraped = ?, completed_at = strftime('%s', 'now') + WHERE id = ? + `).run(postsScraped, commentsScraped, id) + } + + getScrapeHistory(limit: number = 50): ScrapeHistoryRecord[] { + const rows = this.db.prepare(` + SELECT * FROM scrape_history ORDER BY started_at DESC LIMIT ? + `).all(limit) as any[] + + return rows.map(row => ({ + id: row.id, + subreddit: row.subreddit, + url: row.url, + postsScraped: row.posts_scraped, + commentsScraped: row.comments_scraped, + startedAt: row.started_at, + completedAt: row.completed_at, + })) + } + + getStats(): { clusterCount: number; questionCount: number; addressedCount: number } { + const clusters = this.db.prepare('SELECT COUNT(*) as count FROM clusters').get() as { count: number } + const questions = this.db.prepare('SELECT COUNT(*) as count FROM questions').get() as { count: number } + const addressed = this.db.prepare('SELECT COUNT(*) as count FROM questions WHERE addressed = 1').get() as { count: number } + + return { + clusterCount: clusters.count, + questionCount: questions.count, + addressedCount: addressed.count, + } + } + + close(): void { + this.db.close() + } +} diff --git a/src/storage/types.ts b/packages/core/src/storage/types.ts similarity index 100% rename from src/storage/types.ts rename to packages/core/src/storage/types.ts diff --git a/packages/core/src/utils/index.ts b/packages/core/src/utils/index.ts new file mode 100644 index 0000000..8966dbc --- /dev/null +++ b/packages/core/src/utils/index.ts @@ -0,0 +1,8 @@ +export { delay, RateLimiter, fetchWithRetry } from './rate-limit' +export { + decodeHtmlEntities, + stripHtml, + cleanText, + truncateText, + prepareForEmbedding, +} from './text' diff --git a/src/utils/rate-limit.ts b/packages/core/src/utils/rate-limit.ts similarity index 100% rename from src/utils/rate-limit.ts rename to packages/core/src/utils/rate-limit.ts diff --git a/src/utils/text.ts b/packages/core/src/utils/text.ts similarity index 100% rename from src/utils/text.ts rename to packages/core/src/utils/text.ts diff --git a/packages/web/next-env.d.ts b/packages/web/next-env.d.ts new file mode 100644 index 0000000..830fb59 --- /dev/null +++ b/packages/web/next-env.d.ts @@ -0,0 +1,6 @@ +/// +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/app/api-reference/config/typescript for more information. diff --git a/packages/web/next.config.ts b/packages/web/next.config.ts new file mode 100644 index 0000000..dc47638 --- /dev/null +++ b/packages/web/next.config.ts @@ -0,0 +1,14 @@ +import type { NextConfig } from 'next' + +const config: NextConfig = { + serverExternalPackages: ['better-sqlite3'], + webpack: (config, { isServer }) => { + if (isServer) { + config.externals = config.externals || [] + config.externals.push('better-sqlite3') + } + return config + }, +} + +export default config diff --git a/packages/web/package.json b/packages/web/package.json new file mode 100644 index 0000000..a40e4cb --- /dev/null +++ b/packages/web/package.json @@ -0,0 +1,35 @@ +{ + "name": "@rta/web", + "version": "1.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@rta/core": "workspace:*", + "ollama": "^0.5.11", + "better-sqlite3": "^11.7.0", + "@tanstack/react-table": "^8.20.6", + "next": "^15.2.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "recharts": "^2.15.0", + "lucide-react": "^0.468.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "tailwind-merge": "^2.6.0", + "cmdk": "^1.0.4" + }, + "devDependencies": { + "@types/node": "^22.0.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "tailwindcss": "^4.0.0", + "@tailwindcss/postcss": "^4.0.0", + "typescript": "^5.0.0" + } +} diff --git a/packages/web/postcss.config.cjs b/packages/web/postcss.config.cjs new file mode 100644 index 0000000..52b9b4b --- /dev/null +++ b/packages/web/postcss.config.cjs @@ -0,0 +1,5 @@ +module.exports = { + plugins: { + '@tailwindcss/postcss': {}, + }, +} diff --git a/packages/web/src/app/api/clusters/[id]/route.ts b/packages/web/src/app/api/clusters/[id]/route.ts new file mode 100644 index 0000000..ec8594e --- /dev/null +++ b/packages/web/src/app/api/clusters/[id]/route.ts @@ -0,0 +1,37 @@ +import { NextRequest, NextResponse } from 'next/server' +import { SQLiteStorage, QdrantStorage } from '@rta/core' + +export async function GET( + request: NextRequest, + { params }: { params: Promise<{ id: string }> } +) { + try { + const { id } = await params + const clusterId = parseInt(id, 10) + + const sqlite = new SQLiteStorage() + const cluster = sqlite.getCluster(clusterId) + const questions = sqlite.getQuestions(clusterId) + sqlite.close() + + if (!cluster) { + return NextResponse.json({ error: 'Cluster not found' }, { status: 404 }) + } + + // fetch actual discussions from qdrant if we have sample point IDs + let samples: any[] = [] + if (cluster.samplePointIds && cluster.samplePointIds.length > 0) { + try { + const qdrant = new QdrantStorage() + samples = await qdrant.getPointsByIds(cluster.samplePointIds) + } catch (e) { + console.error('Failed to fetch samples from qdrant:', e) + } + } + + return NextResponse.json({ cluster, questions, samples }) + } catch (error) { + console.error('Get cluster error:', error) + return NextResponse.json({ error: 'Failed to get cluster' }, { status: 500 }) + } +} diff --git a/packages/web/src/app/api/clusters/route.ts b/packages/web/src/app/api/clusters/route.ts new file mode 100644 index 0000000..d3ad1ab --- /dev/null +++ b/packages/web/src/app/api/clusters/route.ts @@ -0,0 +1,108 @@ +import { NextResponse } from 'next/server' +import { + QdrantStorage, + SQLiteStorage, + ClusteringPipeline, + ProblemSummarizer, + QuestionExtractor, +} from '@rta/core' + +import { existsSync, readFileSync } from 'fs' +import { join } from 'path' + +const PROJECT_ROOT = '/mnt/work/dev/personal-projects/reddit-trend-analyzer' +const SETTINGS_FILE = join(PROJECT_ROOT, 'data', 'settings.json') + +function getSettings() { + try { + if (existsSync(SETTINGS_FILE)) { + return JSON.parse(readFileSync(SETTINGS_FILE, 'utf-8')) + } + } catch {} + return { summarizationModel: 'llama3.2' } +} + +export async function GET() { + try { + const sqlite = new SQLiteStorage() + const clusters = sqlite.getClusters() + sqlite.close() + + return NextResponse.json({ clusters }) + } catch (error) { + console.error('Get clusters error:', error) + return NextResponse.json({ clusters: [] }) + } +} + +export async function POST(request: Request) { + try { + const body = await request.json().catch(() => ({})) + const minClusterSize = body.minClusterSize ?? 2 + const similarityThreshold = body.similarityThreshold ?? 0.5 + + const qdrant = new QdrantStorage() + const sqlite = new SQLiteStorage() + + const clustering = new ClusteringPipeline(qdrant) + const result = await clustering.runClustering({ + minClusterSize, + similarityThreshold, + samplesPerCluster: 10, + }) + + if (result.clusters.length === 0) { + sqlite.close() + return NextResponse.json({ + success: true, + message: 'No clusters found', + clusters: [], + }) + } + + const settings = getSettings() + const summarizer = new ProblemSummarizer({ model: settings.summarizationModel }) + const summaries = await summarizer.summarizeClusters(result.clusters) + + sqlite.saveClusters(summaries) + + const extractor = new QuestionExtractor() + + // save questions from both Claude summaries and regex extraction + for (const summary of summaries) { + const regexQuestions = extractor.extractFromClusterPoints( + result.clusters.find(c => c.id === summary.clusterId)?.samples || [], + summary.clusterId + ) + + // add Claude's sample questions if available + const claudeQuestions = summary.sampleQuestions.map((q, i) => ({ + id: `claude-${summary.clusterId}-${i}`, + text: q, + clusterId: summary.clusterId, + sourcePointId: 'claude-generated', + engagement: summary.totalEngagement, + addressed: false, + })) + + const allQuestions = [...claudeQuestions, ...regexQuestions] + if (allQuestions.length > 0) { + sqlite.saveQuestions(allQuestions) + } + } + + sqlite.close() + + return NextResponse.json({ + success: true, + clusters: summaries, + stats: result.stats, + }) + } catch (error) { + console.error('Clustering error:', error) + return NextResponse.json( + { success: false, error: error instanceof Error ? error.message : 'Unknown error' }, + { status: 500 } + ) + } +} diff --git a/packages/web/src/app/api/clusters/similarity/route.ts b/packages/web/src/app/api/clusters/similarity/route.ts new file mode 100644 index 0000000..e1d6033 --- /dev/null +++ b/packages/web/src/app/api/clusters/similarity/route.ts @@ -0,0 +1,23 @@ +import { NextResponse } from 'next/server' +import { SQLiteStorage, computeKeywordSimilarity } from '@rta/core' + +export async function GET() { + try { + const sqlite = new SQLiteStorage() + const clusters = sqlite.getClusters() + sqlite.close() + + if (clusters.length === 0) { + return NextResponse.json({ matrix: [], labels: [], clusterIds: [] }) + } + + const similarity = computeKeywordSimilarity(clusters) + return NextResponse.json(similarity) + } catch (error) { + console.error('Similarity computation error:', error) + return NextResponse.json( + { error: error instanceof Error ? error.message : 'Unknown error' }, + { status: 500 } + ) + } +} diff --git a/packages/web/src/app/api/export/route.ts b/packages/web/src/app/api/export/route.ts new file mode 100644 index 0000000..044a432 --- /dev/null +++ b/packages/web/src/app/api/export/route.ts @@ -0,0 +1,92 @@ +import { NextRequest, NextResponse } from 'next/server' +import { SQLiteStorage } from '@rta/core' + +export async function POST(request: NextRequest) { + try { + const body = await request.json() + const { format, type } = body + + const sqlite = new SQLiteStorage() + const clusters = sqlite.getClusters() + const questions = sqlite.getQuestions() + sqlite.close() + + if (format === 'json' && type === 'faq-schema') { + const faqSchema = { + '@context': 'https://schema.org', + '@type': 'FAQPage', + mainEntity: questions + .filter(q => !q.addressed) + .slice(0, 20) + .map(q => ({ + '@type': 'Question', + name: q.text, + acceptedAnswer: { + '@type': 'Answer', + text: '', // To be filled in + }, + })), + } + + return NextResponse.json(faqSchema) + } + + if (format === 'markdown' && type === 'content-brief') { + let markdown = '# Content Brief\n\n' + + for (const cluster of clusters) { + markdown += `## ${cluster.problem}\n\n` + markdown += `${cluster.description}\n\n` + markdown += `**Keywords:** ${cluster.keywords.join(', ')}\n\n` + markdown += `**Actionable Insight:** ${cluster.actionableInsight}\n\n` + + const clusterQuestions = questions.filter(q => q.clusterId === cluster.clusterId) + if (clusterQuestions.length > 0) { + markdown += `### Questions to Address\n\n` + for (const q of clusterQuestions.slice(0, 5)) { + markdown += `- ${q.text}\n` + } + markdown += '\n' + } + + markdown += '---\n\n' + } + + return new NextResponse(markdown, { + headers: { + 'Content-Type': 'text/markdown', + 'Content-Disposition': 'attachment; filename="content-brief.md"', + }, + }) + } + + if (format === 'csv') { + const headers = ['Problem', 'Description', 'Size', 'Engagement', 'Keywords', 'Subreddits'] + const rows = clusters.map(c => [ + `"${c.problem.replace(/"/g, '""')}"`, + `"${c.description.replace(/"/g, '""')}"`, + c.size, + c.totalEngagement, + `"${c.keywords.join(', ')}"`, + `"${c.subreddits.join(', ')}"`, + ]) + + const csv = [headers.join(','), ...rows.map(r => r.join(','))].join('\n') + + return new NextResponse(csv, { + headers: { + 'Content-Type': 'text/csv', + 'Content-Disposition': 'attachment; filename="clusters.csv"', + }, + }) + } + + return NextResponse.json({ clusters, questions }) + } catch (error) { + console.error('Export error:', error) + return NextResponse.json( + { error: error instanceof Error ? error.message : 'Export failed' }, + { status: 500 } + ) + } +} diff --git a/packages/web/src/app/api/questions/[id]/route.ts b/packages/web/src/app/api/questions/[id]/route.ts new file mode 100644 index 0000000..8274484 --- /dev/null +++ b/packages/web/src/app/api/questions/[id]/route.ts @@ -0,0 +1,22 @@ +import { NextRequest, NextResponse } from 'next/server' +import { SQLiteStorage } from '@rta/core' + +export async function PATCH( + request: NextRequest, + { params }: { params: Promise<{ id: string }> } +) { + try { + const { id } = await params + const body = await request.json() + const { addressed } = body + + const sqlite = new SQLiteStorage() + sqlite.markQuestionAddressed(id, addressed) + sqlite.close() + + return NextResponse.json({ success: true }) + } catch (error) { + console.error('Update question error:', error) + return NextResponse.json({ error: 'Failed to update question' }, { status: 500 }) + } +} diff --git a/packages/web/src/app/api/questions/route.ts b/packages/web/src/app/api/questions/route.ts new file mode 100644 index 0000000..6d0c3d5 --- /dev/null +++ b/packages/web/src/app/api/questions/route.ts @@ -0,0 +1,25 @@ +import { NextResponse } from 'next/server' +import { SQLiteStorage } from '@rta/core' + +export async function GET() { + try { + const sqlite = new SQLiteStorage() + const questions = sqlite.getQuestions() + const clusters = sqlite.getClusters() + sqlite.close() + + const grouped: Record = {} + + for (const cluster of clusters) { + grouped[cluster.clusterId] = { + problem: cluster.problem, + questions: questions.filter(q => q.clusterId === cluster.clusterId), + } + } + + return NextResponse.json({ grouped }) + } catch (error) { + console.error('Get questions error:', error) + return NextResponse.json({ grouped: {} }) + } +} diff --git a/packages/web/src/app/api/scrape/history/route.ts b/packages/web/src/app/api/scrape/history/route.ts new file mode 100644 index 0000000..512c91d --- /dev/null +++ b/packages/web/src/app/api/scrape/history/route.ts @@ -0,0 +1,15 @@ +import { NextResponse } from 'next/server' +import { SQLiteStorage } from '@rta/core' + +export async function GET() { + try { + const sqlite = new SQLiteStorage() + const history = sqlite.getScrapeHistory() + sqlite.close() + + return NextResponse.json({ history }) + } catch (error) { + console.error('Scrape history error:', error) + return NextResponse.json({ history: [] }) + } +} diff --git a/packages/web/src/app/api/scrape/route.ts b/packages/web/src/app/api/scrape/route.ts new file mode 100644 index 0000000..612b460 --- /dev/null +++ b/packages/web/src/app/api/scrape/route.ts @@ -0,0 +1,68 @@ +import { NextRequest, NextResponse } from 'next/server' +import { + RedditScraper, + CommentFetcher, + EmbeddingPipeline, + QdrantStorage, + SQLiteStorage, + parseSubredditFromUrl, +} from '@rta/core' +import type { RedditComment } from '@rta/core' + +export async function POST(request: NextRequest) { + try { + const body = await request.json() + const { url, pages = 5, postsPerPage = 100 } = body + + if (!url) { + return NextResponse.json({ success: false, error: 'URL is required' }, { status: 400 }) + } + + const subreddit = parseSubredditFromUrl(url) + const sqlite = new SQLiteStorage() + const scrapeId = sqlite.startScrape(subreddit, url) + + const scraper = new RedditScraper(3000) + const commentFetcher = new CommentFetcher(3000) + const embeddings = new EmbeddingPipeline() + const storage = new QdrantStorage() + + await storage.ensureCollection() + + const posts = await scraper.fetchPosts({ + url, + pages, + postsPerPage, + fetchComments: true, + delayMs: 3000, + }) + + const commentsByPost = await commentFetcher.fetchAllComments(posts) + + const postPoints = await embeddings.embedPosts(posts, commentsByPost) + await storage.upsertPoints(postPoints) + + const allComments: RedditComment[] = [] + for (const comments of commentsByPost.values()) { + allComments.push(...comments) + } + + const commentPoints = await embeddings.embedComments(allComments) + await storage.upsertPoints(commentPoints) + + sqlite.completeScrape(scrapeId, posts.length, allComments.length) + sqlite.close() + + return NextResponse.json({ + success: true, + posts: posts.length, + comments: allComments.length, + }) + } catch (error) { + console.error('Scrape error:', error) + return NextResponse.json( + { success: false, error: error instanceof Error ? error.message : 'Unknown error' }, + { status: 500 } + ) + } +} diff --git a/packages/web/src/app/api/search/route.ts b/packages/web/src/app/api/search/route.ts new file mode 100644 index 0000000..f09adaf --- /dev/null +++ b/packages/web/src/app/api/search/route.ts @@ -0,0 +1,29 @@ +import { NextRequest, NextResponse } from 'next/server' +import { EmbeddingPipeline, QdrantStorage } from '@rta/core' + +export async function POST(request: NextRequest) { + try { + const body = await request.json() + const { query, limit = 10, threshold = 0.5 } = body + + if (!query) { + return NextResponse.json({ error: 'Query is required' }, { status: 400 }) + } + + const embeddings = new EmbeddingPipeline() + const storage = new QdrantStorage() + + const vector = await embeddings.embed(query) + const results = await storage.search(vector, limit) + + const filtered = results.filter(r => r.score >= threshold) + + return NextResponse.json({ results: filtered }) + } catch (error) { + console.error('Search error:', error) + return NextResponse.json( + { error: error instanceof Error ? error.message : 'Search failed' }, + { status: 500 } + ) + } +} diff --git a/packages/web/src/app/api/settings/route.ts b/packages/web/src/app/api/settings/route.ts new file mode 100644 index 0000000..627b369 --- /dev/null +++ b/packages/web/src/app/api/settings/route.ts @@ -0,0 +1,92 @@ +import { NextResponse } from 'next/server' +import { Ollama } from 'ollama' +import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs' +import { join } from 'path' + +const PROJECT_ROOT = '/mnt/work/dev/personal-projects/reddit-trend-analyzer' +const SETTINGS_FILE = join(PROJECT_ROOT, 'data', 'settings.json') + +interface Settings { + summarizationModel: string + sentimentModel: string + embeddingModel: string +} + +const DEFAULT_SETTINGS: Settings = { + summarizationModel: 'llama3.2', + sentimentModel: 'llama3.2', + embeddingModel: 'nomic-embed-text', +} + +function getSettings(): Settings { + try { + if (existsSync(SETTINGS_FILE)) { + const data = JSON.parse(readFileSync(SETTINGS_FILE, 'utf-8')) + return { ...DEFAULT_SETTINGS, ...data } + } + } catch {} + return DEFAULT_SETTINGS +} + +function saveSettings(settings: Settings): void { + const dataDir = join(PROJECT_ROOT, 'data') + if (!existsSync(dataDir)) { + mkdirSync(dataDir, { recursive: true }) + } + writeFileSync(SETTINGS_FILE, JSON.stringify(settings, null, 2)) +} + +export async function GET() { + try { + const ollama = new Ollama({ + host: process.env.OLLAMA_HOST || 'http://localhost:11434', + }) + + const models = await ollama.list() + const settings = getSettings() + + const availableModels = models.models.map(m => ({ + name: m.name, + size: m.size, + modified: m.modified_at, + })) + + return NextResponse.json({ + settings, + availableModels, + }) + } catch (error) { + console.error('Settings GET error:', error) + return NextResponse.json({ + settings: DEFAULT_SETTINGS, + availableModels: [], + error: 'Failed to connect to Ollama', + }) + } +} + +export async function POST(request: Request) { + try { + const body = await request.json() + const currentSettings = getSettings() + + const newSettings: Settings = { + summarizationModel: body.summarizationModel ?? currentSettings.summarizationModel, + sentimentModel: body.sentimentModel ?? currentSettings.sentimentModel, + embeddingModel: body.embeddingModel ?? currentSettings.embeddingModel, + } + + saveSettings(newSettings) + + return NextResponse.json({ + success: true, + settings: newSettings, + }) + } catch (error) { + console.error('Settings POST error:', error) + return NextResponse.json( + { success: false, error: 'Failed to save settings' }, + { status: 500 } + ) + } +} diff --git a/packages/web/src/app/api/stats/route.ts b/packages/web/src/app/api/stats/route.ts new file mode 100644 index 0000000..e6ebe8b --- /dev/null +++ b/packages/web/src/app/api/stats/route.ts @@ -0,0 +1,30 @@ +import { NextResponse } from 'next/server' +import { QdrantStorage, SQLiteStorage } from '@rta/core' + +export async function GET() { + try { + const qdrant = new QdrantStorage() + const sqlite = new SQLiteStorage() + + const qdrantStats = await qdrant.getStats() + const sqliteStats = sqlite.getStats() + sqlite.close() + + return NextResponse.json({ + posts: qdrantStats.posts, + comments: qdrantStats.comments, + subreddits: qdrantStats.subreddits, + clusters: sqliteStats.clusterCount, + questions: sqliteStats.questionCount, + }) + } catch (error) { + console.error('Stats error:', error) + return NextResponse.json({ + posts: 0, + comments: 0, + subreddits: [], + clusters: 0, + questions: 0, + }) + } +} diff --git a/packages/web/src/app/layout.tsx b/packages/web/src/app/layout.tsx new file mode 100644 index 0000000..06d767e --- /dev/null +++ b/packages/web/src/app/layout.tsx @@ -0,0 +1,68 @@ +import type { Metadata } from 'next' +import '@/styles/globals.css' +import { Providers } from './providers' + +export const metadata: Metadata = { + title: 'Reddit Trend Analyzer', + description: 'Discover common problems and questions in Reddit communities', +} + +export default function RootLayout({ + children, +}: { + children: React.ReactNode +}) { + return ( + + + +

+ + + + ) +} diff --git a/packages/web/src/app/page.tsx b/packages/web/src/app/page.tsx new file mode 100644 index 0000000..9c3b4cd --- /dev/null +++ b/packages/web/src/app/page.tsx @@ -0,0 +1,86 @@ +'use client' + +import { useEffect, useState } from 'react' + +interface Stats { + posts: number + comments: number + subreddits: string[] + clusters: number + questions: number +} + +export default function DashboardPage() { + const [stats, setStats] = useState(null) + const [loading, setLoading] = useState(true) + + useEffect(() => { + fetch('/api/stats') + .then(res => res.json()) + .then(data => { + setStats(data) + setLoading(false) + }) + .catch(() => setLoading(false)) + }, []) + + if (loading) { + return ( +
+
Loading...
+
+ ) + } + + return ( +
+
+

Dashboard

+

Overview of your Reddit trend analysis

+
+ +
+
+
Posts
+
+ {stats?.posts.toLocaleString() ?? 0} +
+
+
+
Comments
+
+ {stats?.comments.toLocaleString() ?? 0} +
+
+
+
Subreddits
+
+ {stats?.subreddits.length ?? 0} +
+
+
+
Clusters
+
+ {stats?.clusters ?? 0} +
+
+
+ + {stats && stats.subreddits.length > 0 && ( +
+
Tracked Subreddits
+
+ {stats.subreddits.map(sub => ( + + r/{sub} + + ))} +
+
+ )} +
+ ) +} diff --git a/packages/web/src/app/problems/page.tsx b/packages/web/src/app/problems/page.tsx new file mode 100644 index 0000000..57586eb --- /dev/null +++ b/packages/web/src/app/problems/page.tsx @@ -0,0 +1,816 @@ +'use client' + +import React, { useEffect, useState, useMemo, useCallback } from 'react' +import { useToast } from '@/components/ui/toast' +import { + BarChart, + Bar, + PieChart, + Pie, + Cell, + XAxis, + YAxis, + CartesianGrid, + Tooltip, + Legend, + ResponsiveContainer, +} from 'recharts' + +interface Problem { + clusterId: number + problem: string + description: string + size: number + totalEngagement: number + lastActive: number + subreddits: string[] + sampleQuestions: string[] + impactScore?: number +} + +interface DiscussionSample { + id: string + type: 'post' | 'comment' + subreddit: string + title?: string + author: string + body: string + score: number + created: number + permalink: string + parent_id?: string +} + +function DiscussionSamples({ clusterId }: { clusterId: number }) { + const [samples, setSamples] = useState([]) + const [loading, setLoading] = useState(true) + const [expandedBodies, setExpandedBodies] = useState>(new Set()) + + useEffect(() => { + fetch(`/api/clusters/${clusterId}`) + .then(res => res.json()) + .then(data => { + setSamples(data.samples || []) + setLoading(false) + }) + .catch(() => setLoading(false)) + }, [clusterId]) + + const toggleBody = useCallback((id: string) => { + setExpandedBodies(prev => { + const next = new Set(prev) + if (next.has(id)) { + next.delete(id) + } else { + next.add(id) + } + return next + }) + }, []) + + const formatDate = (timestamp: number) => { + const date = new Date(timestamp * 1000) + return date.toLocaleDateString() + } + + if (loading) { + return ( +
+ Loading discussions... +
+ ) + } + + if (samples.length === 0) { + return ( +
+ No discussion samples available. Re-run clustering to populate. +
+ ) + } + + return ( +
+
+ Discussion Samples ({samples.length}) +
+ {samples.map(sample => { + const isExpanded = expandedBodies.has(sample.id) + const bodyTruncated = sample.body.length > 300 + const displayBody = isExpanded ? sample.body : sample.body.slice(0, 300) + + return ( +
+
+
+ + {sample.type} + + + r/{sample.subreddit} + + + + u/{sample.author} + + + + {sample.score} pts + + + + {formatDate(sample.created)} + +
+ + view on reddit → + +
+ + {sample.title && ( +
{sample.title}
+ )} + +
+ {displayBody} + {bodyTruncated && !isExpanded && '...'} +
+ + {bodyTruncated && ( + + )} +
+ ) + })} +
+ ) +} + +interface Weights { + engagement: number + velocity: number + sentiment: number +} + +interface SimilarityData { + matrix: number[][] + labels: string[] + clusterIds: number[] +} + +function CorrelationHeatmap({ + onCellClick, +}: { + onCellClick?: (clusterIds: [number, number]) => void +}) { + const [data, setData] = useState(null) + const [loading, setLoading] = useState(true) + const [hoveredCell, setHoveredCell] = useState<{ i: number; j: number } | null>(null) + + useEffect(() => { + fetch('/api/clusters/similarity') + .then(res => res.json()) + .then(d => { + setData(d) + setLoading(false) + }) + .catch(() => setLoading(false)) + }, []) + + if (loading) { + return ( +
+
Loading correlation data...
+
+ ) + } + + if (!data || data.matrix.length === 0) { + return ( +
+
No clusters to compare
+
+ ) + } + + const getColor = (value: number) => { + // white (0) -> indigo (1) + const intensity = Math.round(value * 255) + return `rgb(${255 - intensity * 0.6}, ${255 - intensity * 0.62}, ${255 - intensity * 0.05})` + } + + const n = data.matrix.length + const cellSize = Math.max(24, Math.min(40, 400 / n)) + + return ( +
+
+
+ {/* empty corner cell */} +
+ + {/* column headers */} + {data.labels.map((label, j) => ( +
+ + {label.slice(0, 15)} + +
+ ))} + + {/* rows */} + {data.matrix.map((row, i) => ( + + {/* row label */} +
+ + {data.labels[i].slice(0, 12)} + +
+ + {/* cells */} + {row.map((value, j) => { + const isHovered = hoveredCell?.i === i && hoveredCell?.j === j + return ( +
setHoveredCell({ i, j })} + onMouseLeave={() => setHoveredCell(null)} + onClick={() => onCellClick?.([data.clusterIds[i], data.clusterIds[j]])} + title={`${data.labels[i]} ↔ ${data.labels[j]}: ${(value * 100).toFixed(0)}%`} + > + {isHovered && ( +
+ {(value * 100).toFixed(0)}% similar +
+ )} +
+ ) + })} +
+ ))} +
+
+ + {/* legend */} +
+ 0% +
+ 100% + keyword overlap +
+
+ ) +} + +// chart colors - recharts can't parse CSS variables at runtime +const CHART_COLORS = { + primary: '#6366f1', // indigo + secondary: '#8b5cf6', // violet + accent: '#06b6d4', // cyan + muted: '#94a3b8', // slate + grid: '#e2e8f0', // light grid + text: '#64748b', // muted text + palette: ['#6366f1', '#8b5cf6', '#06b6d4', '#10b981', '#f59e0b', '#ef4444', '#ec4899', '#84cc16'], +} + +export default function ProblemsPage() { + const [problems, setProblems] = useState([]) + const [loading, setLoading] = useState(true) + const [expanded, setExpanded] = useState(null) + const [clustering, setClustering] = useState(false) + const { addToast, updateToast } = useToast() + + const [similarityThreshold, setSimilarityThreshold] = useState(0.5) + const [minClusterSize, setMinClusterSize] = useState(2) + const [weights, setWeights] = useState({ + engagement: 0.5, + velocity: 0.3, + sentiment: 0.2, + }) + + const fetchClusters = () => { + fetch('/api/clusters') + .then(res => res.json()) + .then(data => { + setProblems(data.clusters || []) + setLoading(false) + }) + .catch(() => setLoading(false)) + } + + useEffect(() => { + fetchClusters() + }, []) + + const sortedProblems = useMemo(() => { + if (problems.length === 0) return [] + + const now = Math.floor(Date.now() / 1000) + const oneWeek = 7 * 24 * 60 * 60 + const maxEngagement = Math.max(...problems.map(p => p.totalEngagement)) + + return [...problems] + .map(p => { + const engagementScore = maxEngagement > 0 ? p.totalEngagement / maxEngagement : 0 + const age = now - p.lastActive + const velocityScore = Math.max(0, 1 - age / oneWeek) + const sentimentScore = 0.5 + + const impactScore = + weights.engagement * engagementScore + + weights.velocity * velocityScore + + weights.sentiment * sentimentScore + + return { ...p, impactScore } + }) + .sort((a, b) => (b.impactScore || 0) - (a.impactScore || 0)) + }, [problems, weights]) + + const chartData = useMemo(() => { + if (sortedProblems.length === 0) return { impact: [], subreddits: [], sizes: [] } + + const impactData = sortedProblems.slice(0, 10).map(p => ({ + name: p.problem.slice(0, 30) + (p.problem.length > 30 ? '...' : ''), + impact: Math.round((p.impactScore || 0) * 100), + engagement: p.totalEngagement, + discussions: p.size, + })) + + const subredditCounts = new Map() + sortedProblems.forEach(p => { + p.subreddits.forEach(sub => { + subredditCounts.set(sub, (subredditCounts.get(sub) || 0) + 1) + }) + }) + const subredditData = Array.from(subredditCounts.entries()) + .map(([name, value]) => ({ name: `r/${name}`, value })) + .sort((a, b) => b.value - a.value) + .slice(0, 8) + + const sizeDistribution = sortedProblems.reduce((acc, p) => { + const bucket = + p.size < 5 ? '2-4' : p.size < 10 ? '5-9' : p.size < 20 ? '10-19' : '20+' + acc[bucket] = (acc[bucket] || 0) + 1 + return acc + }, {} as Record) + const sizeData = Object.entries(sizeDistribution).map(([name, value]) => ({ + name: `${name} discussions`, + value, + })) + + return { impact: impactData, subreddits: subredditData, sizes: sizeData } + }, [sortedProblems]) + + const handleRecluster = async () => { + setClustering(true) + const toastId = addToast('Clustering discussions...', 'loading') + try { + const res = await fetch('/api/clusters', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ similarityThreshold, minClusterSize }), + }) + const data = await res.json() + if (data.success) { + updateToast(toastId, `Found ${data.clusters?.length || 0} problem clusters`, 'success') + fetchClusters() + } else { + updateToast(toastId, data.error || 'Clustering failed', 'error') + } + } catch (e) { + updateToast(toastId, 'Clustering failed - check console', 'error') + } finally { + setClustering(false) + } + } + + const updateWeight = (key: keyof Weights, value: number) => { + setWeights(prev => ({ ...prev, [key]: value })) + } + + const formatDate = (timestamp: number) => { + const date = new Date(timestamp * 1000) + return date.toLocaleDateString() + } + + if (loading) { + return ( +
+
Loading...
+
+ ) + } + + const clusterControls = ( +
+
Clustering Settings
+
+
+ + setSimilarityThreshold(parseFloat(e.target.value))} + className="w-full accent-primary" + /> +
+ Loose (0.3) + Strict (0.9) +
+
+
+ + +
+
+
+ ) + + const weightControls = ( +
+
Impact Score Weights
+
+
+ + updateWeight('engagement', parseFloat(e.target.value))} + className="w-full accent-primary" + /> +
+
+ + updateWeight('velocity', parseFloat(e.target.value))} + className="w-full accent-primary" + /> +
+
+ + updateWeight('sentiment', parseFloat(e.target.value))} + className="w-full accent-primary" + /> +
+
+
+ ) + + if (problems.length === 0) { + return ( +
+
+

Problem Explorer

+

View and analyze problem clusters

+
+ {clusterControls} +
+ +
+
+

No problems found. Adjust settings and run clustering.

+
+
+ ) + } + + return ( +
+
+
+

Problem Explorer

+

+ {sortedProblems.length} problem clusters identified +

+
+ +
+ +
+ {clusterControls} + {weightControls} +
+ + {sortedProblems.length > 0 && ( +
+
Problem Analytics
+
+
+
+ Top Problems by Impact Score +
+ + + + + + + + + +
+ +
+
+ Discussion Distribution by Subreddit +
+ + + + `${name} (${(percent * 100).toFixed(0)}%)` + } + outerRadius={80} + dataKey="value" + > + {chartData.subreddits.map((_, index) => ( + + ))} + + + + +
+ +
+
+ Cluster Size Distribution +
+ + + + + + + + + +
+ +
+
Key Metrics
+
+
+
+ {sortedProblems.length} +
+
Total Clusters
+
+
+
+ {sortedProblems.reduce((sum, p) => sum + p.size, 0).toLocaleString()} +
+
Total Discussions
+
+
+
+ {sortedProblems + .reduce((sum, p) => sum + p.totalEngagement, 0) + .toLocaleString()} +
+
Total Upvotes
+
+
+
+ {new Set(sortedProblems.flatMap(p => p.subreddits)).size} +
+
Unique Subreddits
+
+
+
+
+ + {/* correlation heatmap */} +
+
+ Problem Cluster Correlation +
+ { + // expand first cluster that isn't already expanded + if (expanded !== id1) { + setExpanded(id1) + } else if (expanded !== id2) { + setExpanded(id2) + } + }} + /> +
+
+ )} + +
+ + + + + + + + + + + + {sortedProblems.map(problem => ( + + setExpanded(expanded === problem.clusterId ? null : problem.clusterId)} + className="border-t border-border hover:bg-accent/50 cursor-pointer" + > + + + + + + + {expanded === problem.clusterId && ( + + + + )} + + ))} + +
+ Problem + + Impact + + Discussions + + Upvotes + + Last Active +
+
{problem.problem}
+
+ {problem.subreddits.map(s => `r/${s}`).join(', ')} +
+
+ + {((problem.impactScore || 0) * 100).toFixed(0)} + + {problem.size} + {problem.totalEngagement.toLocaleString()} + {formatDate(problem.lastActive)}
+
+

{problem.description}

+ + + + {problem.sampleQuestions.length > 0 && ( +
+
+ Sample Questions: +
+
    + {problem.sampleQuestions.map((q, i) => ( +
  • {q}
  • + ))} +
+
+ )} +
+
+
+
+ ) +} diff --git a/packages/web/src/app/providers.tsx b/packages/web/src/app/providers.tsx new file mode 100644 index 0000000..136b189 --- /dev/null +++ b/packages/web/src/app/providers.tsx @@ -0,0 +1,14 @@ +'use client' + +import { ReactNode } from 'react' +import { ToastProvider } from '@/components/ui/toast' +import { CommandPalette } from '@/components/controls/command-palette' + +export function Providers({ children }: { children: ReactNode }) { + return ( + + {children} + + + ) +} diff --git a/packages/web/src/app/questions/page.tsx b/packages/web/src/app/questions/page.tsx new file mode 100644 index 0000000..1208327 --- /dev/null +++ b/packages/web/src/app/questions/page.tsx @@ -0,0 +1,164 @@ +'use client' + +import { useEffect, useState } from 'react' + +interface Question { + id: string + text: string + clusterId: number + engagement: number + addressed: boolean +} + +interface GroupedQuestions { + [clusterId: string]: { + problem: string + questions: Question[] + } +} + +export default function QuestionsPage() { + const [grouped, setGrouped] = useState({}) + const [loading, setLoading] = useState(true) + const [filter, setFilter] = useState<'all' | 'unanswered'>('all') + + useEffect(() => { + fetch('/api/questions') + .then(res => res.json()) + .then(data => { + setGrouped(data.grouped || {}) + setLoading(false) + }) + .catch(() => setLoading(false)) + }, []) + + const handleToggleAddressed = async (id: string, addressed: boolean) => { + await fetch(`/api/questions/${id}`, { + method: 'PATCH', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ addressed: !addressed }), + }) + + setGrouped(prev => { + const updated = { ...prev } + for (const clusterId of Object.keys(updated)) { + const cluster = updated[clusterId] + if (cluster) { + cluster.questions = cluster.questions.map(q => + q.id === id ? { ...q, addressed: !addressed } : q + ) + } + } + return updated + }) + } + + if (loading) { + return ( +
+
Loading...
+
+ ) + } + + const clusterIds = Object.keys(grouped) + const totalQuestions = clusterIds.reduce((sum, id) => { + return sum + (grouped[id]?.questions.length ?? 0) + }, 0) + + if (totalQuestions === 0) { + return ( +
+
+

Question Bank

+

Extracted questions from discussions

+
+
+

No questions found. Run clustering first.

+
+
+ ) + } + + return ( +
+
+
+

Question Bank

+

{totalQuestions} questions extracted

+
+
+ + +
+
+ +
+ {clusterIds.map(clusterId => { + const cluster = grouped[clusterId] + if (!cluster) return null + + const filteredQuestions = + filter === 'unanswered' + ? cluster.questions.filter(q => !q.addressed) + : cluster.questions + + if (filteredQuestions.length === 0) return null + + return ( +
+
+ {cluster.problem} +
+
    + {filteredQuestions.map(q => ( +
  • + handleToggleAddressed(q.id, q.addressed)} + className="mt-1 h-4 w-4 rounded border-border" + /> +
    +

    + {q.text} +

    +

    + {q.engagement} upvotes +

    +
    +
  • + ))} +
+
+ ) + })} +
+
+ ) +} diff --git a/packages/web/src/app/scrape/page.tsx b/packages/web/src/app/scrape/page.tsx new file mode 100644 index 0000000..eb6792c --- /dev/null +++ b/packages/web/src/app/scrape/page.tsx @@ -0,0 +1,152 @@ +'use client' + +import { useState, useEffect } from 'react' +import { useToast } from '@/components/ui/toast' + +interface ScrapeHistory { + id: number + subreddit: string + url: string + postsScraped: number + commentsScraped: number + startedAt: number + completedAt: number | null +} + +export default function ScrapePage() { + const [url, setUrl] = useState('') + const [pages, setPages] = useState(5) + const [isLoading, setIsLoading] = useState(false) + const [history, setHistory] = useState([]) + const { addToast, updateToast } = useToast() + + useEffect(() => { + fetch('/api/scrape/history') + .then(res => res.json()) + .then(data => setHistory(data.history || [])) + }, []) + + const handleScrape = async () => { + if (!url) return + setIsLoading(true) + const toastId = addToast('Scraping subreddit... this may take a while', 'loading') + + try { + const res = await fetch('/api/scrape', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ url, pages }), + }) + + const data = await res.json() + if (data.success) { + updateToast(toastId, `Scraped ${data.posts} posts and ${data.comments} comments`, 'success') + const historyRes = await fetch('/api/scrape/history') + const historyData = await historyRes.json() + setHistory(historyData.history || []) + } else { + updateToast(toastId, data.error || 'Scrape failed', 'error') + } + } catch (err) { + updateToast(toastId, 'Scrape failed - check console', 'error') + } finally { + setIsLoading(false) + } + } + + const formatDate = (timestamp: number) => { + return new Date(timestamp * 1000).toLocaleString() + } + + return ( +
+
+

Scrape Manager

+

Scrape subreddits and manage data collection

+
+ +
+
+ + setUrl(e.target.value)} + placeholder="https://reddit.com/r/programming/best" + className="w-full rounded-lg border border-input bg-background px-3 py-2 text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring" + disabled={isLoading} + /> +
+
+ + setPages(parseInt(e.target.value) || 1)} + min={1} + max={20} + className="w-32 rounded-lg border border-input bg-background px-3 py-2 text-foreground focus:outline-none focus:ring-2 focus:ring-ring" + disabled={isLoading} + /> +
+ +
+ + {history.length > 0 && ( +
+
+ Scrape History +
+ + + + + + + + + + + + {history.map(h => ( + + + + + + + + ))} + +
+ Subreddit + + Posts + + Comments + + Started + + Status +
r/{h.subreddit}{h.postsScraped}{h.commentsScraped}{formatDate(h.startedAt)} + {h.completedAt ? ( + Complete + ) : ( + In Progress + )} +
+
+ )} +
+ ) +} diff --git a/packages/web/src/app/settings/page.tsx b/packages/web/src/app/settings/page.tsx new file mode 100644 index 0000000..9a2be43 --- /dev/null +++ b/packages/web/src/app/settings/page.tsx @@ -0,0 +1,203 @@ +'use client' + +import React, { useEffect, useState } from 'react' +import { useToast } from '@/components/ui/toast' + +interface Model { + name: string + size: number + modified: string +} + +interface Settings { + summarizationModel: string + sentimentModel: string + embeddingModel: string +} + +export default function SettingsPage() { + const [settings, setSettings] = useState(null) + const [models, setModels] = useState([]) + const [loading, setLoading] = useState(true) + const [saving, setSaving] = useState(false) + const [error, setError] = useState(null) + const { addToast } = useToast() + + useEffect(() => { + fetch('/api/settings') + .then(res => res.json()) + .then(data => { + setSettings(data.settings) + setModels(data.availableModels || []) + if (data.error) setError(data.error) + setLoading(false) + }) + .catch(() => { + setError('Failed to load settings') + setLoading(false) + }) + }, []) + + const handleSave = async () => { + if (!settings) return + setSaving(true) + + try { + const res = await fetch('/api/settings', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(settings), + }) + const data = await res.json() + + if (data.success) { + addToast('Settings saved', 'success') + } else { + addToast(data.error || 'Failed to save', 'error') + } + } catch { + addToast('Failed to save settings', 'error') + } finally { + setSaving(false) + } + } + + const updateSetting = (key: keyof Settings, value: string) => { + setSettings(prev => prev ? { ...prev, [key]: value } : null) + } + + const formatSize = (bytes: number) => { + const gb = bytes / (1024 * 1024 * 1024) + return gb >= 1 ? `${gb.toFixed(1)} GB` : `${(bytes / (1024 * 1024)).toFixed(0)} MB` + } + + if (loading) { + return ( +
+
Loading...
+
+ ) + } + + return ( +
+
+

Settings

+

Configure models and preferences

+
+ + {error && ( +
+ {error} +
+ )} + +
+
+

Ollama Models

+

+ {models.length} models available locally +

+
+ + {settings && ( +
+
+ +

+ Used for generating problem summaries and extracting questions from clusters +

+ +
+ +
+ +

+ Used for analyzing sentiment of discussions (positive/negative/neutral) +

+ +
+ +
+ +

+ Used for converting text to vectors for semantic search and clustering +

+ +
+
+ )} + +
+ +
+
+ +
+

Available Models

+
+ {models.map(m => ( +
+ {m.name} + {formatSize(m.size)} +
+ ))} + {models.length === 0 && ( +

+ No models found. Make sure Ollama is running and has models installed. +

+ )} +
+
+
+ ) +} diff --git a/packages/web/src/components/controls/command-palette-wrapper.tsx b/packages/web/src/components/controls/command-palette-wrapper.tsx new file mode 100644 index 0000000..1981104 --- /dev/null +++ b/packages/web/src/components/controls/command-palette-wrapper.tsx @@ -0,0 +1,7 @@ +'use client' + +import { CommandPalette } from './command-palette' + +export function CommandPaletteWrapper() { + return +} diff --git a/packages/web/src/components/controls/command-palette.tsx b/packages/web/src/components/controls/command-palette.tsx new file mode 100644 index 0000000..6fa70c4 --- /dev/null +++ b/packages/web/src/components/controls/command-palette.tsx @@ -0,0 +1,174 @@ +'use client' + +import { useEffect, useState, useCallback } from 'react' +import { useRouter } from 'next/navigation' +import { Command } from 'cmdk' +import { useToast } from '@/components/ui/toast' + +interface CommandPaletteProps { + onSearch?: (query: string) => void +} + +export function CommandPalette({ onSearch }: CommandPaletteProps) { + const [open, setOpen] = useState(false) + const [search, setSearch] = useState('') + const router = useRouter() + const { addToast, updateToast, removeToast } = useToast() + + useEffect(() => { + const down = (e: KeyboardEvent) => { + if (e.key === 'k' && (e.metaKey || e.ctrlKey)) { + e.preventDefault() + setOpen(open => !open) + } + } + + document.addEventListener('keydown', down) + return () => document.removeEventListener('keydown', down) + }, []) + + const runCommand = useCallback((command: () => void) => { + setOpen(false) + command() + }, []) + + if (!open) return null + + return ( +
setOpen(false)}> +
e.stopPropagation()} + > + +
+ +
+ + + No results found. + + + + runCommand(() => router.push('/'))} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Go to Dashboard + + runCommand(() => router.push('/problems'))} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Go to Problems + + runCommand(() => router.push('/questions'))} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Go to Questions + + runCommand(() => router.push('/scrape'))} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Go to Scrape Manager + + + + + runCommand(async () => { + const toastId = addToast('Clustering discussions...', 'loading') + try { + const res = await fetch('/api/clusters', { method: 'POST' }) + const data = await res.json() + if (data.success) { + updateToast(toastId, `Found ${data.clusters?.length || 0} problem clusters`, 'success') + router.refresh() + } else { + updateToast(toastId, data.error || 'Clustering failed', 'error') + } + } catch (e) { + updateToast(toastId, 'Clustering failed - check console', 'error') + } + })} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Re-cluster discussions + + runCommand(async () => { + const toastId = addToast('Exporting CSV...', 'loading') + try { + const res = await fetch('/api/export', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ format: 'csv' }), + }) + const blob = await res.blob() + const url = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = url + a.download = 'clusters.csv' + a.click() + updateToast(toastId, 'CSV downloaded', 'success') + } catch (e) { + updateToast(toastId, 'Export failed', 'error') + } + })} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Export clusters as CSV + + runCommand(async () => { + const toastId = addToast('Exporting FAQ schema...', 'loading') + try { + const res = await fetch('/api/export', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ format: 'json', type: 'faq-schema' }), + }) + const data = await res.json() + const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' }) + const url = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = url + a.download = 'faq-schema.json' + a.click() + updateToast(toastId, 'FAQ schema downloaded', 'success') + } catch (e) { + updateToast(toastId, 'Export failed', 'error') + } + })} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Export FAQ schema (JSON-LD) + + + + {search && onSearch && ( + + runCommand(() => onSearch(search))} + className="flex cursor-pointer items-center gap-2 rounded-lg px-3 py-2 text-sm text-foreground hover:bg-accent" + > + Semantic search: "{search}" + + + )} + +
+ Press Esc to close +
+
+
+
+ ) +} diff --git a/packages/web/src/components/ui/toast.tsx b/packages/web/src/components/ui/toast.tsx new file mode 100644 index 0000000..38f1ac7 --- /dev/null +++ b/packages/web/src/components/ui/toast.tsx @@ -0,0 +1,98 @@ +'use client' + +import { createContext, useContext, useState, useCallback, ReactNode } from 'react' + +interface Toast { + id: string + message: string + type: 'info' | 'success' | 'error' | 'loading' +} + +interface ToastContextValue { + toasts: Toast[] + addToast: (message: string, type?: Toast['type']) => string + removeToast: (id: string) => void + updateToast: (id: string, message: string, type?: Toast['type']) => void +} + +const ToastContext = createContext(null) + +export function ToastProvider({ children }: { children: ReactNode }) { + const [toasts, setToasts] = useState([]) + + const addToast = useCallback((message: string, type: Toast['type'] = 'info') => { + const id = crypto.randomUUID() + setToasts(prev => [...prev, { id, message, type }]) + + if (type !== 'loading') { + setTimeout(() => { + setToasts(prev => prev.filter(t => t.id !== id)) + }, 4000) + } + + return id + }, []) + + const removeToast = useCallback((id: string) => { + setToasts(prev => prev.filter(t => t.id !== id)) + }, []) + + const updateToast = useCallback((id: string, message: string, type: Toast['type'] = 'info') => { + setToasts(prev => prev.map(t => t.id === id ? { ...t, message, type } : t)) + + if (type !== 'loading') { + setTimeout(() => { + setToasts(prev => prev.filter(t => t.id !== id)) + }, 4000) + } + }, []) + + return ( + + {children} + + + ) +} + +export function useToast() { + const context = useContext(ToastContext) + if (!context) { + throw new Error('useToast must be used within a ToastProvider') + } + return context +} + +function ToastContainer({ toasts, removeToast }: { toasts: Toast[]; removeToast: (id: string) => void }) { + if (toasts.length === 0) return null + + return ( +
+ {toasts.map(toast => ( +
+ {toast.type === 'loading' && ( +
+ )} + {toast.message} + {toast.type !== 'loading' && ( + + )} +
+ ))} +
+ ) +} diff --git a/packages/web/src/lib/utils.ts b/packages/web/src/lib/utils.ts new file mode 100644 index 0000000..d32b0fe --- /dev/null +++ b/packages/web/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from 'clsx' +import { twMerge } from 'tailwind-merge' + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/packages/web/src/styles/globals.css b/packages/web/src/styles/globals.css new file mode 100644 index 0000000..90a0257 --- /dev/null +++ b/packages/web/src/styles/globals.css @@ -0,0 +1,172 @@ +@import "tailwindcss"; + +:root { + --background: oklch(0.9551 0 0); + --foreground: oklch(0.3211 0 0); + --card: oklch(0.9702 0 0); + --card-foreground: oklch(0.3211 0 0); + --popover: oklch(0.9702 0 0); + --popover-foreground: oklch(0.3211 0 0); + --primary: oklch(0.4891 0 0); + --primary-foreground: oklch(1.0000 0 0); + --secondary: oklch(0.9067 0 0); + --secondary-foreground: oklch(0.3211 0 0); + --muted: oklch(0.8853 0 0); + --muted-foreground: oklch(0.5103 0 0); + --accent: oklch(0.8078 0 0); + --accent-foreground: oklch(0.3211 0 0); + --destructive: oklch(0.5594 0.1900 25.8625); + --destructive-foreground: oklch(1.0000 0 0); + --border: oklch(0.8576 0 0); + --input: oklch(0.9067 0 0); + --ring: oklch(0.4891 0 0); + --chart-1: oklch(0.4891 0 0); + --chart-2: oklch(0.4863 0.0361 196.0278); + --chart-3: oklch(0.6534 0 0); + --chart-4: oklch(0.7316 0 0); + --chart-5: oklch(0.8078 0 0); + --sidebar: oklch(0.9370 0 0); + --sidebar-foreground: oklch(0.3211 0 0); + --sidebar-primary: oklch(0.4891 0 0); + --sidebar-primary-foreground: oklch(1.0000 0 0); + --sidebar-accent: oklch(0.8078 0 0); + --sidebar-accent-foreground: oklch(0.3211 0 0); + --sidebar-border: oklch(0.8576 0 0); + --sidebar-ring: oklch(0.4891 0 0); + --font-sans: Montserrat, sans-serif; + --font-serif: Georgia, serif; + --font-mono: Fira Code, monospace; + --radius: 0.35rem; + --shadow-x: 0px; + --shadow-y: 2px; + --shadow-blur: 0px; + --shadow-spread: 0px; + --shadow-opacity: 0.15; + --shadow-color: hsl(0 0% 20% / 0.1); + --shadow-2xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07); + --shadow-xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07); + --shadow-sm: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15); + --shadow: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15); + --shadow-md: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 2px 4px -1px hsl(0 0% 20% / 0.15); + --shadow-lg: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 4px 6px -1px hsl(0 0% 20% / 0.15); + --shadow-xl: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 8px 10px -1px hsl(0 0% 20% / 0.15); + --shadow-2xl: 0px 2px 0px 0px hsl(0 0% 20% / 0.38); + --tracking-normal: 0em; + --spacing: 0.25rem; +} + +.dark { + --background: oklch(0.2178 0 0); + --foreground: oklch(0.8853 0 0); + --card: oklch(0.2435 0 0); + --card-foreground: oklch(0.8853 0 0); + --popover: oklch(0.2435 0 0); + --popover-foreground: oklch(0.8853 0 0); + --primary: oklch(0.7058 0 0); + --primary-foreground: oklch(0.2178 0 0); + --secondary: oklch(0.3092 0 0); + --secondary-foreground: oklch(0.8853 0 0); + --muted: oklch(0.2850 0 0); + --muted-foreground: oklch(0.5999 0 0); + --accent: oklch(0.3715 0 0); + --accent-foreground: oklch(0.8853 0 0); + --destructive: oklch(0.6591 0.1530 22.1703); + --destructive-foreground: oklch(1.0000 0 0); + --border: oklch(0.3290 0 0); + --input: oklch(0.3092 0 0); + --ring: oklch(0.7058 0 0); + --chart-1: oklch(0.7058 0 0); + --chart-2: oklch(0.6714 0.0339 206.3482); + --chart-3: oklch(0.5452 0 0); + --chart-4: oklch(0.4604 0 0); + --chart-5: oklch(0.3715 0 0); + --sidebar: oklch(0.2393 0 0); + --sidebar-foreground: oklch(0.8853 0 0); + --sidebar-primary: oklch(0.7058 0 0); + --sidebar-primary-foreground: oklch(0.2178 0 0); + --sidebar-accent: oklch(0.3715 0 0); + --sidebar-accent-foreground: oklch(0.8853 0 0); + --sidebar-border: oklch(0.3290 0 0); + --sidebar-ring: oklch(0.7058 0 0); + --font-sans: Inter, sans-serif; + --font-serif: Georgia, serif; + --font-mono: Fira Code, monospace; + --radius: 0.35rem; + --shadow-x: 0px; + --shadow-y: 2px; + --shadow-blur: 0px; + --shadow-spread: 0px; + --shadow-opacity: 0.15; + --shadow-color: hsl(0 0% 20% / 0.1); + --shadow-2xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07); + --shadow-xs: 0px 2px 0px 0px hsl(0 0% 20% / 0.07); + --shadow-sm: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15); + --shadow: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 1px 2px -1px hsl(0 0% 20% / 0.15); + --shadow-md: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 2px 4px -1px hsl(0 0% 20% / 0.15); + --shadow-lg: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 4px 6px -1px hsl(0 0% 20% / 0.15); + --shadow-xl: 0px 2px 0px 0px hsl(0 0% 20% / 0.15), 0px 8px 10px -1px hsl(0 0% 20% / 0.15); + --shadow-2xl: 0px 2px 0px 0px hsl(0 0% 20% / 0.38); +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); + + --font-sans: var(--font-sans); + --font-mono: var(--font-mono); + --font-serif: var(--font-serif); + + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + + --shadow-2xs: var(--shadow-2xs); + --shadow-xs: var(--shadow-xs); + --shadow-sm: var(--shadow-sm); + --shadow: var(--shadow); + --shadow-md: var(--shadow-md); + --shadow-lg: var(--shadow-lg); + --shadow-xl: var(--shadow-xl); + --shadow-2xl: var(--shadow-2xl); +} + +body { + background-color: var(--background); + color: var(--foreground); + font-family: var(--font-sans); +} + +* { + border-color: var(--border); +} diff --git a/packages/web/tsconfig.json b/packages/web/tsconfig.json new file mode 100644 index 0000000..f48e7ee --- /dev/null +++ b/packages/web/tsconfig.json @@ -0,0 +1,40 @@ +{ + "compilerOptions": { + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "bundler", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next" + } + ], + "paths": { + "@/*": [ + "./src/*" + ] + }, + "target": "ES2017" + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +}