Rebuild Studio shell on a responsive design with real backend wiring - #48
Open
CodesbyFebin wants to merge 4 commits into
Open
Rebuild Studio shell on a responsive design with real backend wiring#48CodesbyFebin wants to merge 4 commits into
CodesbyFebin wants to merge 4 commits into
Conversation
Replaces the assistant-first phone-frame layout with a proper responsive shell (narrow mobile nav, wide 3-column desktop) and rewires every piece to this app's actual backend instead of demo/placeholder logic: - Real pipeline: local ENGINES -> Ollama -> /api/nvidia/chat cascade (MiniMax M3 / Kimi K3 / Laguna XS 2.1 / Auto), no client-held API keys - Ported all 16 deterministic local engines 1:1, plus a new URL Safety Check engine (client-side heuristics only, clearly labeled as such) - Removed fake/dead-end UI: demo canned responses, bring-your-own-key cloud provider, Upgrade/AI Agents/duplicate Studio nav items - Added real Dashboard (live counts + activity, no simulated data), local JSON export, and saved prompt macros (explicitly not "Automation" - runs only while the tab is open) - Fixed a dead code path (getFileContent(file) || cmd) that made six engines always require a file even for typed text, inherited from the previous implementation - Fixed a mobile layout bug where long conversations scrolled the bottom nav off-screen (missing fixed height at the mobile breakpoint) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Adds named Allow blocks for DuckDuckBot, YandexBot, Baiduspider, and the full set of documented AI answer/search and training crawlers (OAI- SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User, Claude-User, Claude-SearchBot, GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, Bytespider, Amazonbot) in both the Vite app's generated robots.txt and next-app's robots.ts, keeping the two in sync. Brave Search has no distinct documented robots.txt user-agent, so it's left to the wildcard `*` rule rather than guessing a token for it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…ion check app/sitemap.ts: - Remove changeFrequency and priority - Google documents it ignores both for ranking and recrawl scheduling, so they were dead weight, not signal. - Stop stamping every static/tool/category/pillar page with the build date as lastModified. Only guides carry a real, tracked review date (guide.lastReviewed); everywhere else now omits lastModified rather than faking freshness Google explicitly says it distrusts. - Add a duplicate-canonical-URL guard that throws (fails the build) if the same URL is ever emitted twice. - Keep all 58 indexable tools in the sitemap, including the 39 that aren't yet engineVerified - that filter isn't applied until those tools are individually audited (see verify-sitemap.ts's reconciliation output), since applying it now would silently drop 39 real, public tool pages from indexing. Adds scripts/verify-sitemap.ts (npm run verify:sitemap), which runs the real sitemap() output through the required regression checks (1,510 total/unique URLs, 58 tools x 10 locales, no trailing-slash locale- homepage errors, no legacy/query/app URLs) plus a representative live sample check (status/canonical/noindex on a handful of real deployed URLs) and prints the registry reconciliation (58 published/indexable vs 19 engine-verified, held pending audit) on every run. All checks pass against the current registry and a real `next build` (2,098 static pages). Committed separately from the robots.txt crawler-allowlist change. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Each signal card now links to the specific XFree tools its own title and feed summary actually relate to, instead of only the coarse category-level list: - lib/signals/types.ts, fetchSignals.ts: capture the RSS <description> / Atom <summary> per item (HTML-stripped, length-capped) - previously only the title was retained, leaving no text to match against beyond a handful of words. - lib/signals/matchTools.ts (new): scores each published/indexable tool against the item's title + summary using its real tags/seoKeywords fields (word-boundary matching, so "css" doesn't match inside "access"). Returns up to 3 tools above a minimum-confidence bar, and falls back to the existing CATEGORY_RELATED_TOOLS when nothing scores confidently - deterministic, no AI, no network, same input always produces the same output. - components/signals/SignalCard.tsx: renders the matched tools as plain crawlable <a>-backed Link elements under each card. - scripts/verify-tool-matching.ts (new, `npm run verify:tool-matching`): tests relevance (on-topic text matches, off-topic text doesn't), deduplication, unpublished/non-indexable tool exclusion (both via a live-registry check and direct isEligibleTool unit tests, since no draft tools currently exist to exercise the live path), and fallback behavior. All pass, alongside a clean `next build` and the existing verify:sitemap suite (unaffected). Deliberately excludes automatically generated "why it matters" analysis per explicit instruction - that carries real accuracy/attribution risk and needs its own editorial-review design, not a silent addition here. This stays a narrowly scoped internal-linking enhancement to an already-production-worthy Signals implementation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/api/nvidia/chatcascade (MiniMax M3 / Kimi K3 / Laguna XS 2.1 / Auto), no client-held API keys.getFileContent(file) || cmd) that made six engines always require a file even for typed text, inherited from the previous implementation.Test plan
node --check) after every edit pass/api/nvidia/chat, model attribution in activity log🤖 Generated with Claude Code