Commit Graph

32 Commits

Author SHA1 Message Date
28441e75f2 fix(overview): restore lost Dev Previews and Live endpoints lists that were accidentally overwritten during Dashboard migration 2026-06-12 15:57:14 -07:00
9b56cf362b fix(preview): remove brittle dev server readiness probes; trust that the server will eventually boot 2026-06-12 15:36:35 -07:00
c565a9f6ed fix(preview): properly restore zombie-killer ping with graceful fallback logic 2026-06-12 15:33:30 -07:00
4375fbcb22 fix(preview): resolve 'command not found' by prefixing next dev fallback and prompt recipes with npx 2026-06-12 15:29:01 -07:00
b2bb1bc1e9 fix(preview): remove zombie killer ping to allow container auto-wake via Traefik 2026-06-12 15:24:59 -07:00
07fb3377ad fix(preview): restore resilient zombie-killer logic to auto-restart suspended previews 2026-06-12 15:18:34 -07:00
c5454347f9 fix(preview): remove zombie killer ping to allow container auto-wake via Traefik 2026-06-12 15:12:14 -07:00
27a1f308d0 fix(preview): add 60-second grace period before zombie killer murders booting dev servers throwing 504s 2026-06-12 15:05:24 -07:00
3833ba5dd2 fix(preview): do not murder dev servers that take longer than 2 seconds to compile webpack 2026-06-12 11:36:34 -07:00
2e66ea087b fix(preview): resolve SQL column error on dev server force-start 2026-06-12 11:31:15 -07:00
2a7e87c790 fix(preview): resolve TypeError on forced dev server start when no history exists 2026-06-12 10:47:36 -07:00
08fbe8405b feat(preview): add 1-click start dev server button to empty state 2026-06-11 17:07:17 -07:00
2036df6c2b fix(preview): zombie process cleanup on anatomy load 2026-06-11 12:05:48 -07:00
ca0ae32a21 fix(preview): ignore stale ghost dev servers in auto-restarter; cap elapsed timer 2026-06-11 11:20:19 -07:00
d165ab9de1 feat(preview): auto-restart dev server on session open; WarmingUpState with elapsed timer
- New POST /api/projects/[id]/dev-server/ensure: checks if dev server is running,
  queries last known config from fs_dev_servers, fires startDevServer +
  probeDevServerReadiness in background, returns immediately
- Preview pane calls ensure on mount when anatomy is loaded but no server is running
- Distinguishes state='running' (show iframe) from state='starting' (show warming-up UI)
- WarmingUpState: indigo spinner, elapsed timer, 'View last deployed version' link if available
- ensureCalledRef prevents duplicate calls per mount
- The 5s anatomy poll handles the starting→running transition automatically
2026-06-11 11:05:58 -07:00
82a41f7e95 fix(stop+stability): stop button interrupts live generation; classifier, prompt + preview pane improvements
Stop button fix:
- Plumb AbortSignal end-to-end: callVibnChat → Gemini SDK (config.abortSignal) / OpenAI fetch → executeMcpTool (/api/mcp fetch)
- Treat abort as clean user stop (not fatal error); partial reply persisted with '(stopped by user)'

Classifier fix:
- Add timeout/gateway/5xx/connection-error vocabulary to diagnose intent
- Prevents 'I get a gateway timeout' from falling through to feature_build (40 rounds) and looping

Prompt / agent behaviour:
- Render verification is now scope-aware: small edits stop at green healthCheck; no browser_console/curl audit on healthy server
- Sanitize stale '### Phase Checkpoint' walls from loaded history so old threads stop biasing new turns
- Next.js dev command updated to --no-turbopack for container stability (per-route lazy compile caused cold-start 503s)
- New public page prompt: agent checks middleware allowlist in the same turn
- Scope discipline and QA-tool gating carried forward from prior session

Code cleanup:
- Remove duplicate AgentPhase declaration (TS2440)
- Remove dead checkpoint emit branch and orphan 'checkpoint' phase value
- Remove unused MAX_TOOL_ROUNDS constant

Preview pane (build status):
- 4-state machine: initial-load / building (with elapsed timer) / build-failed / not-running
- pollMs 0 → 5 000ms so dev-server recovery and build completion auto-update without refresh
- anatomy route + use-anatomy type: inFlightBuild gains createdAt for elapsed timer
2026-06-10 21:40:48 -07:00
4d40496739 feat: complete live-verified GTM onboarding flow & places autocomplete search proxies 2026-06-06 17:53:13 -07:00
1926b7df22 fix(db): cast project_id to uuid in agent_sessions INSERT query 2026-05-30 12:40:14 -07:00
eb709d111d fix(auth): allow empty string appPath inside session-creation route 2026-05-29 19:23:06 -07:00
c2f71769bb feat(auth): enable requireWorkspacePrincipal on agent/sessions routes to support desktop API keys 2026-05-29 19:08:23 -07:00
7681bd1211 feat(auth): enable requireWorkspacePrincipal on individual project GET/PATCH routes to support desktop API keys 2026-05-29 18:48:28 -07:00
b263f6d392 feat(auth): enable requireWorkspacePrincipal on projects GET route to support desktop API keys 2026-05-29 17:06:23 -07:00
b3dd3714c3 feat(refactor): live zed-style codebase files autocomplete and context attachment 2026-05-21 17:20:31 -07:00
8049a7f1ab feat(refactor): premium zed-style chat UI, collapsible reasoning, and comprehensive strict type sweeps 2026-05-21 17:05:42 -07:00
329eb4eb67 feat(ai): configure Architect mode prompt with Spec Kit templates and enforce task completion rules in background runner 2026-05-19 19:40:23 -07:00
02de32958f feat(ai): automate end-to-end PRD, architecture, and task generation directly from Objective 2026-05-19 19:32:07 -07:00
096ebc278a fix(api): delete legacy atlas and advisor agent endpoints 2026-05-19 15:09:59 -07:00
67fa4a2ccc feat(runner): migrate vibn-agent-runner to use frontend MCP proxy tools and updated headless prompt 2026-05-19 14:06:12 -07:00
618f7796b2 feat(ai): optimize tool loops, fix deployments, and integrate new onboarding flow 2026-05-19 12:52:47 -07:00
6b8862ef2b feat(api): comprehensive QA hardening — security gates, chat improvements, beta scaffolds
Closes checklist items F-01..F-06, D-01..D-28, S-01..S-10, C-01..C-07,
B-01..B-07, R-01..R-02, O-03.

Security (28 deletions + 10 auth gates):
- Delete 28 unauthenticated debug/cursor/firebase/test routes
- Gate ai/chat, ai/conversation, context/summarize, work-completed with withTenantProject/withAuth
- Add HMAC-SHA256 signature verification to webhooks/coolify
- Switch all admin secret comparisons to timingSafeStringEq

Foundations (lib/server/*):
- api-handler.ts: withAuth, withTenantProject, withWorkspace, withAdminSecret, withRateLimit
- logger.ts: structured request-scoped logging with turnId
- audit-log.ts: writeAuditLog helper + audit_log table
- rate-limit.ts: Postgres sliding window rate limiter
- coolify-webhook.ts: verifyCoolifySignature
- timing-safe.ts: timingSafeStringEq

Chat hardening (chat/route.ts):
- MAX_TOOL_ROUNDS 15 → 8 (C-01)
- Loop detection: hard-break at 3 identical fingerprints (was 5) (C-02)
- Add 6-consecutive-tool-call hard-break (C-02)
- Mode: respond first, act second prompt block (C-03)
- SSE heartbeat every 25s via setInterval (C-04)
- Per-tool 45s timeout via Promise.race (C-05)
- turnId per-turn UUID for log correlation (C-06)
- Recovery fires when roundsSinceText >= 4 (C-07)
- SSE plan event on plan_task_add/edit (B-05)

Beta features:
- invites table + GET/POST /api/invites (P4.8)
- invites/[token] validate + redeem (P4.8)
- fs_project_dev_servers table + lib/server/dev-server-state.ts (P6.B1)
- fs_project_secrets table + CRUD routes (P6.D2)
- lib/integrations/brief-extract.ts (P3.7)

Documentation:
- app/api/ROUTES.md: full route map with auth + tenant
2026-05-17 19:17:22 -07:00
c51c3c21b3 fix(ai): strip deepseek xml tags from chat history & secure git tools
This commit addresses the issue where DeepSeek's raw XML markup (like <tool_calls> and <think>) was leaking into chat history, causing hallucinations in subsequent turns. It also patches a vulnerability in the git commit tool where arbitrary shell injection was possible.

Additionally, it includes UX copy and color contrast adjustments for the marketing homepage breadcrumbs.
2026-05-14 11:34:42 -07:00
abf9bf89c2 chore: convert submodules to standard directories for true monorepo structure 2026-05-13 14:54:23 -07:00