This website requires JavaScript.
Explore
Help
Sign In
starred
/
warmbly
Watch
1
Star
0
Fork
0
mirror of
https://github.com/warmbly/warmbly.git
synced
2026-09-11 16:08:09 +00:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
Files
73c80530c363f3ebd8ad8445fa7f9b5acfbc01db
warmbly
/
web
/
src
T
History
Matthew Meszaros
0b073bbe8a
feat: redraw AgentMark as the recognizable AI glyph (large spark + small companion spark, filled) and bump the header assistant icon to w-4 so it reads clearly as the AI agent
2026-07-16 07:18:56 +02:00
..
app
feat: inbox agent that drafts a suggested unibox reply on inbound human replies for human approve/edit/discard - paid + per-org opt-in (organizations.inbox_agent_enabled) feature where the consumer's reply hook, on a non-automated reply, detaches a goroutine (panic-contained, never blocks ingest) that checks entitlement, dedupes via ai_thread_drafts partial unique indexes (one pending per thread, unique source_message_id), pre-checks balance, grounds a reply in the thread history + org voice + skills via generation.Provider.Complete, reserves a draft row then charges 5 credits (idempotency inbox_agent:<draft.ID>, row unwound on a fresh context if the charge fails so no unpaid draft lingers), and emits an org-scoped AI_DRAFT_READY event gated on access_unibox; the agent never sends - only a human POST to /unibox/agent-drafts/:id/approve sends through the normal reply path, claiming pending->approved before send with an approved->pending revert on send failure, alongside list + discard endpoints; plus the unibox awaiting_agent_draft badge + agent_drafts search scope, an AgentDraftCard in the thread view with inline-editable approve-and-send/discard, the workspace settings opt-in toggle, CanUseInboxAgent paid gate, migration 000065, and docs (inbox-agent guide, endpoints, realtime)
2026-07-14 06:13:27 +02:00
components
feat: redraw AgentMark as the recognizable AI glyph (large spark + small companion spark, filled) and bump the header assistant icon to w-4 so it reads clearly as the AI agent
2026-07-16 07:18:56 +02:00
hooks
feat: add agentMinimized and per-tab unseen state to agentSlice and make Cmd+I dock-aware (restores a minimized panel instead of closing it)
2026-07-16 06:52:30 +02:00
lib
feat: add free_model to the agent stream event and transcript client types
2026-07-15 18:52:07 +02:00
stores
feat: force the dashboard light-only (theme resolver and ThemeProvider never apply the .dark root class) and drop the dark/system theme commands from the command palette, fixing the palette rendering dark inside the all-white app on a dark-mode OS
2026-07-16 07:02:38 +02:00
global.css
feat: animate the sidebar READY status with a dedicated status-breathe keyframe (halo swells 0.6x to 1.4x and fades on a 2.2s cycle, honoring prefers-reduced-motion) since animate-pulse on the tiny halo was imperceptible; CONNECTING dot pulses too
2026-07-16 07:02:38 +02:00
main.tsx
feat: connect external MCP servers whose tools the AI assistant can use - ai_mcp_servers table with bearer tokens sealed by the org DEK cipher (never returned) and SSRF-validated https urls, a dependency-free streamable-HTTP JSON-RPC client (initialize/tools/list/tools/call over safehttp dial-time IP blocking with SSE+JSON handling and body caps), an mcp service that discovers tools on connect and contributes only enabled servers' tools to the dashboard agent as namespaced mcp_<server>_<tool> defs that are always write-class and never auto-allowed, a registry DynamicToolSource hook so per-org tools join the agent's tool set and resume executes them through ToolDefs, /ai/connections CRUD gated on manage_settings with an mcp_server audit entity and spine, a Connections settings page to add servers and review/enable discovered tools, and docs
2026-07-13 20:05:24 +02:00
setupTests.ts
ci: drop tsc from web build, relax Elixir warnings, pin picomatch / path-to-regexp
2026-05-23 16:37:53 +00:00