Staging#70
Merged
Merged
Conversation
…e with AI' option which allows novice users to chat with AI to build a custom Harness.
made ui changes for harness logo, creating harness page, etc.
Fix/skills search improvement
Add TigerPath to the predefined MCP list (junction-engine /path/mcp scope) with tiger_junction auth. Fix netid resolution by adding clerk_secret_key to config, checking Clerk external_accounts (Google, Microsoft) in addition to email_addresses, and reducing netid cache TTL to 60s. Also fix Convex API endpoint in scrape-skills. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fail fast if CLERK_SECRET_KEY is not set, since Princeton netid resolution depends on the Clerk Backend API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: add TigerPath MCP and fix netid resolution
- Introduced Arcjet dependencies in package.json and bun.lock. - Added environment variable ARCJET_KEY to .env.example. - Implemented rate limiting checks using Arcjet in chat-related functions. - Created components for displaying usage statistics and integrated them into the chat interface. - Updated backend to track usage budgets and record usage data. - Added necessary API endpoints for budget checking and usage recording.
- Added error handling in the UsageDisplay component to notify users when usage data fails to load. - Updated Arcjet client logging to suppress debug and info logs while retaining error logging. - Refactored chat rate limit checks for improved readability and graceful degradation. - Cleaned up unused code in the usage module and clarified comments regarding cost limits and concurrency handling.
- env.ts: ARCJET_KEY is now optional (z.string().min(1).optional()) - arcjet.ts: only initialize the Arcjet client when the key is present; export null otherwise - chat-ratelimit.ts: skip Arcjet check and allow all requests when aj is null; wrap protect() in try-catch to fail open on errors Co-authored-by: Ibraheem Amin <DIodide@users.noreply.github.com>
This reverts commit db4fdaa.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Feat/add-arcjet-ratelimits
…dynamic adjustment for specific users needs
process.env.ARCJET_KEY is evaluated at runtime on Workers, not inlined by Vite at build time. Must be set as a Worker secret binding. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
process.env is empty on Workers — secrets aren't exposed there. import.meta.env is inlined by Vite at build time from the CD env vars. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
process.env is empty on Workers and import.meta.env only exposes VITE_-prefixed vars. Use Vite's define option to bake the value into the server bundle at build time. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fix intermediate chat manage harness
Truncation retries were bailing out too aggressively on long agentic runs that legitimately hit the cap several iterations in a row. 20 gives the model more room to make progress while still bounding worst-case spend.
fix markdown styling
…arness (#62) Previously, selecting a workspace with no harness attached rendered the generic EmptyChat plus a fully interactive ChatInput whose handleSend silently no-oped — the user could type and click send with no feedback. Adds a dedicated NoHarnessAttachedState screen that names the workspace and CTAs into the existing edit-workspace dialog (plumbed through WorkspaceSidebar via pendingEditWorkspaceId), and disables the chat textarea + send button with a context-aware placeholder when no harness is attached (or no workspace is selected).
…ep copy (#64) * landing: drop integrations strip, generalize hero example, broaden step copy - Removes the "Connects out of the box" section (IntegrationsStrip + the integrations / modelLine constants that fed it). The Princeton-branded product names lived almost entirely in this strip. - Rewrites the hero MockChatPanel from a Princeton coursework example (TigerPath / PrincetonCourses tool calls) to a generic issue-triage agent wired to GitHub + Linear MCPs, with a matching slash-command hint. Reads as a recognizable workflow for any team. - Replaces the step 02 "Connect" copy that referenced tiger_junction token wrangling with provider-agnostic language about encrypted token storage and on-demand refresh. * landing: scrub remaining Princeton references - Replace "Princeton-ready" hero check-row with "Live sandbox built in". - Drop "plus four built for Princeton students" from primaryFeatures. - Replace "course planning" rotating word with "issue triage". - Update meta description ("coursework" → "ops"). - MockMcpPopover: swap TigerJunction (Princeton-badged) for Linear. - MockSlashPalette: swap tigerjunction_search_courses for slack_send_message. - Drop unused GraduationCap icon import.
Fix/princeton mcps auth
… warn users if they make duplicate names, onboarding page first harness,
Feat/final polish
updated stale tests
removed sandboxes, patched emphermial sandboxes
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.
Final merge into main