Commit Graph

59 Commits

Author SHA1 Message Date
zoeissleeping a0f2e89154 feat: add resources page with file management
- Add /resources page with file listing, filtering, and bulk operations
- Add useResources composable for file state management
- Add sidenav header and nav components for resources section
- Add files list API endpoint (GET /api/files)
- Track file size during upload
- Add resources link to home navigation
2026-05-11 17:42:28 -05:00
zoeissleeping 103dedd9cc refactor: replace focusedIndex with activeChildId
- Replace focusedIndex integer with activeChildId string in messages schema
- Add migration to convert existing data and drop focused_index column
- Add  hooks for providers.updatedAt and messageParts.lastUpdatedAt
- Add file size column to files table
- Update message navigation to use child ID-based lookup
- Simplify delete logic by removing focusedIndex math
- Fix file delete endpoint filename ([id[ -> [id])
2026-05-11 17:41:57 -05:00
zoeissleeping 7a944afdb5 style: UI polish and miscellaneous fixes
Fixes link color from hardcoded white to currentColor for proper theme
support. Adds video and audio modality icons to ModelInfo. Registers
anthropic, nvidia, and xiaomi in the provider icon map. Removes unused
pagination validation from agents and topics endpoints. Adds convenience
start script. Updates AGENTS.md.
2026-04-27 12:07:01 -05:00
zoeissleeping 03a0c3587b fix: improve chat flow and cleanup
Awaits sendMessage before navigating to prevent race conditions. Passes
agentId to startGeneration for correct agent resolution. Adds topic
deletion via Ctrl+Alt+Backspace shortcut. Adds date/time prefix to user
messages in LLM context. Fixes reasoning-container typo.
2026-04-27 12:06:46 -05:00
zoeissleeping 9bd4b36094 feat: enhance markdown rendering
Adds remark-breaks for newline-to-br conversion and a custom
remarkSplitBlocks plugin to split paragraphs at hard breaks. Code blocks
over 15KB are truncated with a 'Show all' toggle for better
performance.
2026-04-27 12:06:30 -05:00
zoeissleeping 61c73f394d feat: improve mobile responsiveness across UI
Sidenav becomes a full-screen overlay on mobile with slide-in animation.
Dialog goes full-screen on small screens. Settings dialog gets a mobile
nav with hamburger menu. Touch targets and text sizes scaled up for
mobile. Slider gets visual checked/unchecked colors. Sidebar auto-closes
on mobile route navigation. Resize handle hidden on mobile.
2026-04-27 12:06:15 -05:00
zoeissleeping 8c2cefea49 feat: add image viewer with zoom and pan
Full-featured image viewer with pinch-zoom, scroll-zoom, drag-pan,
double-click reset, and keyboard shortcuts. Animated open/close
transitions match the origin element position. Integrates into
attachment display with click-to-open behavior.
2026-04-27 12:05:58 -05:00
zoeissleeping 9914c043cb feat: add web search tool with reranking support
Integrates SearXNG web search as a tool available during chat when the
agent has search enabled. Supports optional reranking of results via a
configurable reranking model. Replaces Python subprocess evaluation with
@pydantic/monty WASM runtime. Introduces stable tool call ID mapping to
avoid exposing provider-native IDs to the database.
2026-04-27 12:05:47 -05:00
zoeissleeping 90d5698e76 feat: add agent search config and system assistant defaults
Adds a config jsonb column to agents for per-agent search settings
(enabled, rerank, maxResults). Types systemAssistants with rename and
rerank sub-objects. Backfills missing systemAssistants keys on settings
fetch. Includes generated drizzle migrations.
2026-04-27 12:05:27 -05:00
zoeissleeping 1ed2bd8b16 chore: fix drizzle migration output path
Moves migration output directory from ./migrations to ./drizzle/migrations
to keep all drizzle artifacts colocated.
2026-04-27 12:05:08 -05:00
zoeissleeping 1d40812f2a refactor: extract provider logic into modular registry
Each AI provider now has its own module implementing a ProviderModule
interface with createGateway, getAuthHeaders, and fetchModels methods.
This replaces the monolithic switch statements in ai-provider.ts and
models.post.ts with a clean registry pattern.
2026-04-27 12:04:49 -05:00
zoeissleeping 6ca4de4cab chore: update dependencies 2026-04-27 12:04:32 -05:00
zoeissleeping e2e3ac6e86 feat: ditch triplit, move to postgresql + drizzle orm 2026-04-08 17:03:07 -05:00
zoeissleeping c341c96798 feat: userids in openrouter requests 2026-03-03 10:24:40 -06:00
zoeissleeping 9b1bfcbca9 fix: money incorrectly formatted for some models 2026-03-03 10:24:00 -06:00
zoeissleeping 1d83b40fe0 feat: custom models 2026-03-03 10:23:25 -06:00
zoeissleeping ea17ee2313 feat: more in-depth token details dropdown 2026-03-03 10:22:56 -06:00
zoeissleeping 26230abc53 fix: typo 2026-03-03 10:22:32 -06:00
zoeissleeping 38bde3a73b feat: support pasting files into the chat 2026-03-03 10:22:00 -06:00
zoeissleeping 36df1de197 feat: virtualize model selector 2026-03-03 09:42:57 -06:00
zoeissleeping da0b652b29 fix: sidebar styles and search button 2026-03-02 13:55:02 -06:00
zoeissleeping e2a4643419 feat: add keyboard shortcut tooltips 2026-03-02 13:54:56 -06:00
zoeissleeping 579f4730c8 feat: add dropdown for token details 2026-03-02 10:45:55 -06:00
zoeissleeping d40e5a7404 feat: improve dropdowns a small bit 2026-03-02 00:12:28 -06:00
zoeissleeping 71985c325b feat: improve file upload and diplay stuff 2026-03-02 00:12:01 -06:00
zoeissleeping c84f982277 fix: global data not warming up correctly after hydration 2026-03-02 00:11:06 -06:00
zoeissleeping 5a35976ce0 refactor: useUserSettings uses global state to reduce db calls 2026-03-01 20:29:37 -06:00
zoeissleeping e0914b684a refactor: use floating ui for dropdowns 2026-02-28 22:23:10 -06:00
zoeissleeping 82ab72dae3 revert: no longer preprocess markdown to make singlenewlines double, breaks table rendering 2026-02-28 17:25:01 -06:00
zoeissleeping a2891e0461 fix: missing transitions to useDialog 2026-02-28 17:25:01 -06:00
zoeissleeping 874f0f7397 feat: add message attachments (wip) 2026-02-28 17:24:56 -06:00
zoeissleeping 5decf9939b feat: improve auth pages 2026-02-27 16:21:00 -06:00
zoeissleeping bf9f613e4d feat: quick switcher 2026-02-26 14:51:47 -06:00
zoeissleeping 97afa1cbe1 feat: replace nuxt icons with unocss icons 2026-02-26 14:51:07 -06:00
zoeissleeping 3ff0bcce19 fix: agent info not updating when switching routes 2026-02-26 14:02:13 -06:00
zoeissleeping ce13f66bc0 feat: add keybinds to change focused message generation 2026-02-26 13:59:19 -06:00
zoeissleeping 1dc176c33b fix: stopPropagation missing from model selector 2026-02-26 13:58:59 -06:00
zoeissleeping 6963d1e234 fix: agent header doesnt shrink properly, so chevrons are sometimes obscured 2026-02-26 10:27:25 -06:00
zoeissleeping 2c32e665f3 fix: shortcuts only block keyboard actions when needed, and change some keybinds 2026-02-26 10:26:48 -06:00
zoeissleeping fd6288a927 fix: make markdown *actually* render single newlines as double newlines 2026-02-26 10:25:50 -06:00
zoeissleeping e6bb005f11 feat: add many keyboard shortcuts 2026-02-26 08:41:22 -06:00
zoeissleeping d22d08e99f feat: make shortcuts easier to add across the app 2026-02-25 19:58:01 -06:00
zoeissleeping 50cb195486 refactor: use performance.now for more precise tps 2026-02-25 19:47:05 -06:00
zoeissleeping 5f3f81da72 feat: add remark-breaks to make for more natural writing 2026-02-25 19:46:46 -06:00
zoeissleeping c3370c27a7 refactor: cleanup auto-rename code 2026-02-25 20:42:22 +00:00
zoeissleeping e4536cbb8c fix: long topic names break rendering 2026-02-25 16:58:15 +00:00
zoeissleeping d3d44778af fix: modelselector positioning when calculated direction differs from preferred direction 2026-02-25 16:30:54 +00:00
zoeissleeping 62f1fe1c27 fix: dropdown settings buttons | fix: improve model selector
I should have split this into two commits, but I found the issue with the
settings buttons *after* I changed how the model selector worked, so its
all in this single commit.
2026-02-25 16:12:51 +00:00
zoeissleeping f6dc4c1ee9 feat: add message editing
This commit adds message editing as a feature. To accomplish this, the settings
dialog was refactored into a singleton and now the message edit and settings
use the singleton where appropriate.
2026-02-24 16:37:21 +00:00
zoeissleeping fc5aedcedd reafctor: Rely only on the database for themes
This commit makes it so that a user's theme will only be pulled from the
database rather than from a weird mix of cookies and the database. This
fixes some issues with themes rendering weirdly.
2026-02-24 16:35:40 +00:00