Commit Graph

  • cb14894e94 add dead-code scan script and update .gitignore Arnav NavalandCursor 2026-05-06 18:19:50 -05:00
  • 5cc9f6f01a [arnav] remove 6 dead HTTP endpoints Verified each had no production caller (frontend, electron, or internal backend) — only test references kept them looking alive to coverage tools. Drops ~140 LOC of route handlers + helpers. - POST /api/outputs/vibe-code: never wired up; frontend has no vibe-code UI. Also drops VibeCodeRequest model and VIBE_CODE_SYSTEM_PROMPT. - GET /api/service/cost-breakdown: frontend Usage page reads /usage-summary, which already returns by_model/by_provider. - GET /api/service/status: zero callers; was placeholder. - GET /api/service/spool/count: debug-only, no UI surface. - GET /api/settings/default-system-prompt: frontend defines its own DEFAULT_SYSTEM_PROMPT in settingsSlice.ts and never fetches the backend constant. - POST /api/browser/command: sole caller (browser_mcp_server.py subprocess) was deleted in 8286cc1; browser_agent.py now calls ws_manager.send_browser_command directly in-process. Tests covering the removed endpoints are dropped along with the now-unused mock-anthropic helpers in test_api_outputs.py. Arnav Naval 2026-05-06 17:11:57 -05:00
  • 11487456b5 eric] Google OAuth via cloud-proxy + gitleaks CI ciregenz 2026-05-06 13:28:35 -07:00
  • 2bd5478405 [arnav] Re-adds backend/apps/service/models.py Also removes tests that covered code no longer present in the codebase: - test_agent_loop.py, test_tools_unit.py — deleted (targets removed) - test_mcp_servers_unit.py — deleted (targets removed) - test_providers_anthropic_extra.py, test_providers_openai_compat.py, test_providers_registry.py — deleted (providers layer refactored away) - test_api_outputs.py — drops vibe-code tests (endpoint removed) - test_browser_agent_integration.py — drops run_browser_agents fanout tests (function removed) - test_mcp_preflight.py — drops _call_classifier tests (internal removed) Arnav Naval 2026-05-06 09:42:58 -05:00
  • d8a1e333be [eric] service layer touchups ciregenz 2026-05-06 00:03:15 -07:00
  • 9630ca718a remove Tier-0 dead code: dashboard_layout package and service/models stub Arnav NavalandCursor 2026-05-05 21:35:41 -05:00
  • 6fd093e5da Merge eric/v2 into arnav/tests Arnav NavalandCursor 2026-05-05 20:29:02 -05:00
  • c64bf65c66 [eric] session state additions + ui hook refinements ciregenz 2026-05-05 17:05:54 -07:00
  • 415ab70b53 [eric] unify telemetry surface, install_method, frontend trackEvent ciregenz 2026-05-05 14:35:43 -07:00
  • 49c649e3d9 [eric] single sync function for all state syncing ciregenz 2026-05-05 12:11:07 -07:00
  • f5538a7c27 [eric] service layer improvements + URL fixes ciregenz 2026-05-05 10:48:50 -07:00
  • b2015caca7 [eric] batch heartbeats locally before sending ciregenz 2026-05-05 00:21:52 -07:00
  • 59e20e11ea [eric] clean up remaining non-opaque references ciregenz 2026-05-04 22:25:48 -07:00
  • 4cc1a3c7bd [eric] restore subscription activation CORS origins ciregenz 2026-05-04 20:32:34 -07:00
  • 3c42d8738f [eric] refactor internal service layer ciregenz 2026-05-04 19:39:19 -07:00
  • b7a1faee38 [eric] delete miscelaneous scrapped code ciregenz 2026-05-04 19:15:42 -07:00
  • 54c0c3187d gitignore: anchor /analytics to repo root ciregenz 2026-05-04 17:52:08 -07:00
  • 5df979a59a analytics: fix completion-rate, mock-cost, and tool-count accuracy bugs ciregenz 2026-05-04 17:50:11 -07:00
  • d594f2afb9 [arnav] test(backend): add unit and integration tests for browser_agent.py Arnav Naval 2026-05-04 18:02:42 -05:00
  • 3e0e4f680c [eric] 1.0.28 production push v1.0.28 ciregenz 2026-05-04 12:31:21 -07:00
  • 4ba7ed583e [eric] perceived-speed pass — skeleton placeholders replace spinners on Tools/Modes/Views/DiffViewer/DashboardSelection, dashboard rename updates instantly (rollback if server rejects), dashboard cards no longer shake neighbors during streaming, plus shared motion/loading primitives for future consistency. Toolbar model/mode/thinking pick now writes through to the global default so it sticks across reopens. ciregenz 2026-05-04 01:00:43 -07:00
  • b0515ac3c5 [eric] dashboard minimap and thumbnail no longer lie when an underlying output gets deleted from the Views page — orphan view cards now get pruned from layout state on the next render (gated on outputs loaded so the fix can't wipe valid cards during the load race), and clearing all cards from a dashboard now actually clears its thumbnail on exit instead of leaving the last 'alive' image stuck forever. ciregenz 2026-05-04 00:12:12 -07:00
  • 616e2e0be9 [eric] make the app open faster and stop crashing on small errors — split the JS so first paint is ~40% smaller (Settings/Tools/Views etc. only load when you click into them, Settings pre-loads in the background so opening it stays instant), added a safety net that shows a friendly error card instead of blacking out the whole app, and stopped a few dashboard lists from needlessly rebuilding on every chat update. ciregenz 2026-05-03 23:43:37 -07:00
  • 6f1ee49f1f [eric] silent auto-update — new versions download in the background and apply when the user next quits OpenSwarm; 4h re-check covers always-on sessions. Banner now reads 'will install when you quit' so users know what's happening. ciregenz 2026-05-03 23:17:36 -07:00
  • d0b8df0329 [eric] 117 new invariant tests (777/777 total) covering MCP gate, soft-restart, label logic, aux-LLM routing. fastapi[standard] → [standard-no-fastapi-cloud-cli] skips ~6MB sentry_sdk + cloud-cli we never use. gitignore catches python/editor/test cache noise. ciregenz 2026-05-03 23:03:15 -07:00
  • 8286cc1a5c [eric] delete ~3.6k lines of dead code (old unused agent runtime, ghost fields, orphan scripts). all 660 tests still pass, no functional change. ciregenz 2026-05-03 22:39:17 -07:00
  • 0f8cfe0510 [arnav] test(backend): add agents-subapp unit/integration suite and coverage reporting Arnav Naval 2026-05-04 00:38:53 -05:00
  • 5f5b932c53 [eric] tiny dead-code sweep — drop unused langchain pins from requirements.txt (saves ~5MB on packaged build) plus a few orphan exports left over from past iterations (temp_state slice fields, clipboard timestamp getter, three never-imported lastSeq helpers). ciregenz 2026-05-03 21:31:13 -07:00
  • d14cc89300 [eric] tool labels read like a person — Plugged into Gmail, Saved a snapshot, varied phrasings per call; session/turn labels in sentence case; activating an MCP mid-chat now actually works instead of the model guessing at made-up tool names. Also a bunch miscelaneous ui/ux tweaks, I cant be bothered :) ciregenz 2026-05-03 20:44:32 -07:00
  • 2e9d653d1b [arnav] test(backend): add API integration and unit coverage for outputs app Arnav Naval 2026-05-03 18:15:30 -05:00
  • ade79315a9 [eric] thinking pill shows full turn cost (input + output + subagent + tool work) with click-to-see input/output breakdown; reopening completed chats no longer replays the typewriter (per-session lastSeq survives AgentChat remount so resume protocol stays at the high-water mark instead of last_seq=0) ciregenz 2026-05-03 11:21:02 -07:00
  • d310f9e031 [eric] thinking pill works on GPT/Gemini (clickable bubble with duration + token count + honest "provider does not expose reasoning text" note instead of vanishing); friendlier MCP tool names (Gmail/Slack/etc with verb-derived actions); auto-collapse Anthropic thinking pill on turn end so the answer comes first; header timer matches per-turn pill (sums in ms, rounds once); thinking pill rolls 251s to 4m 11s; parallel tool count chips do not jitter as N grows; drop Gemini 2.5 from picker (Gemini 3 family only); aux-LLM calls route per-model so cheap-tier auxiliary calls do not 401 on cc/ subscription routes ciregenz 2026-05-02 23:46:13 -07:00
  • c0aeabb23f [arnav] test(backend): add AgentLoop unit coverage for streaming, tools, HITL, and WS events Arnav Naval 2026-05-03 01:37:49 -05:00
  • 154fb60584 [arnav] pytest config, conftest isolation, and API endpoint integration tests Arnav Naval 2026-05-02 11:08:38 -05:00
  • bc816437b6 [arnav] fix(ci): install local debug package via requirements-dev Arnav Naval 2026-04-30 23:47:18 -05:00
  • 249489cbd0 [arnav] add backend pytest CI workflow and local test runner script Arnav Naval 2026-04-30 23:34:26 -05:00
  • 691a92c2a1 [eric] dynamic turn labels in the thinking pill via cheap-tier aux LLM + cache pre-warm on dashboard mount for faster turn-1 TTFT ciregenz 2026-04-30 12:31:48 -04:00
  • 98349df9f1 [eric] faster replies + smarter chat: optimistic message bubbles, live thinking... pill, friendlier tool-call labels (Reading → Read), compaction chip, native completion notifications, prompt-cache flip for ~70% cheaper/faster ciregenz 2026-04-29 14:07:18 -04:00
  • b7c93e2251 [eric] global ⌘K search + ⌘L clear chat + sticky notes on canvas + merge Chat into Ask + chat composer/dock sizing + spellcheck ciregenz 2026-04-29 02:41:01 -04:00
  • f755548b93 [eric] drop (Pro/Max) suffix from cc/ model labels — group header already disambiguates from OpenSwarm Pro proxy; .gitattributes: split mcp-bundles vendored pattern into two ciregenz 2026-04-29 00:46:17 -04:00
  • 9be2d87f73 [eric] WS resilience: per-session seq + ring buffer + resume protocol so agent runs survive transient disconnects (wifi flap, sleep, NAT drop) instead of flipping to completed. Adds heartbeat (25s ping/10s pong), reconnect with infinite jittered backoff, outbound queue gated on resume_ack, gap_detected fallback for long offlines, on-disk persistence of terminal events for post-restart recovery, and a reconnecting connection state decoupled from session.status. 1089 backend tests covering 500 randomized disconnect scenarios + concurrent broadcast races. Backend/WS handler does not cancel agent task on disconnect ciregenz 2026-04-28 23:47:59 -04:00
  • 5d69215739 [eric] phase 2+3: outputs gate, smart compaction, slash commands, preflight + auto-continue, bumped Anthropic SDK ciregenz 2026-04-28 19:55:06 -04:00
  • 30d581e9ec [eric] phase 1: MCP activation gate, context pill, friendly 429s, -api routes so API keys actually work ciregenz 2026-04-28 19:01:07 -04:00
  • 24dbd999ac [eric] bump M365 MCP server to 0.90.0: adds OneDrive share links, async copy, file previews ciregenz 2026-04-27 23:56:14 -07:00
  • f0ea0fd1bc [eric] 1.0.27 production push: fixes the weird "exec" icon next to OpenSwarm on fresh Macs, faster startup (~10s less from shipping a real Node binary instead of running Electron as Node), and Google Workspace + other uvx-based MCPs work again on machines without uv installed. v1.0.27 ciregenzandClaude Opus 4.7 2026-04-27 22:37:17 -07:00
  • f4cded781b [eric] App Builder fixes: preview loads (auth-token threaded into iframe URL + sub-resource paths), agent keeps running when you switch tabs (session+workspace persisted on the app), Settings default model/thinking now flow into App + Skill Builder drafts ciregenz 2026-04-27 15:09:25 -07:00
  • 356b185f30 [eric] 1.0.26: ship Discord shim default + auto-migrate legacy + clean Google reconnect v1.0.26 ciregenz 2026-04-26 18:12:52 -07:00
  • f8557e378f [eric] 1.0.26: ship Discord shim default + auto-migrate legacy + clean Google reconnect ciregenz 2026-04-26 18:12:45 -07:00
  • 1a12db5d78 [eric] 1.0.26: OAuth/MCP reliability + chat UX polish ciregenz 2026-04-26 15:25:50 -07:00
  • c501b6340c [eric] OAuth + MCP polish: more reliable connect flow, Discord shim, connected MCPs sort to top, Haiku-overflow warning, misc fixes, security risks fixes ciregenz 2026-04-26 15:14:16 -07:00
  • bb97438b66 [eric] windows install reliability: NSIS recovery layers + PS5.1 build-script ASCII fix Eric 2026-04-26 11:35:50 -07:00
  • ee91092284 [eric] fix packaged Mac boot: splash icon path, ship OAuth-only .env, exempt tools oauth callback from auth ciregenz 2026-04-26 01:17:01 -07:00
  • 3411721025 Revert "performance updates" arnav/old-frontend-integration Arnav 2026-04-25 20:11:54 -05:00
  • 1b0d34b026 performance updates Arnav 2026-04-25 19:32:45 -05:00
  • e3a72fe3f9 bare mode to fix 9router Arnav 2026-04-25 17:38:26 -05:00
  • 021cf7cc21 working tools for api key Arnav 2026-04-25 11:54:42 -05:00
  • b2d2b1ca87 working chat mode Arnav 2026-04-25 11:02:22 -05:00
  • d8f69bb23d [eric] shrink prod payload another ~125MB: drop unused binary (-97MB), trim babel non-en locale data (-30MB), strip pip-only dist-info noise (-2MB), move pytest to dev-requirements (-4MB) ciregenz 2026-04-25 04:35:20 -07:00
  • c67d27976b [eric] splash for start up ux improvements ciregenz 2026-04-25 03:46:59 -07:00
  • 94ea07dd0c [eric] make Windows install + boot way faster: splash window so it's not frozen on startup, swap MCP node_modules for tiny esbuild bundles (138MB → 7MB), pre-compile python bytecode, parallelize Widevine, never silently quit ciregenz 2026-04-25 03:05:08 -07:00
  • 801268d6b7 [eric] fix: exempt /api/health/* (prefix) so packaged boot doesn't deadlock on 401, onboarding: mirror Settings' provider connect flow so Gemini works, fix packaged-mode boot + sync onboarding Gemini connect flow ciregenz 2026-04-25 00:12:01 -07:00
  • e14c3c57cc [eric] chat error UX: drop the "servers maxed / join waitlist" card on transient 503 ciregenz 2026-04-24 17:21:53 -07:00
  • 2379dd92be [eric] security: lock down the local websocket + http api with a per-install auth token ciregenz 2026-04-24 16:08:33 -07:00
  • f5cc3a36fb [eric] remove vendored 9router (now fetched from npm at build), remove Copilot, and fix subs + tools ciregenz 2026-04-24 12:16:21 -07:00
  • 11308e4833 fix windows eventloop Arnav Naval 2026-04-24 00:10:19 -05:00
  • 7c6e857b42 Update frontend/run.sh to use shared platform.sh helpers for Windows support Arnav Naval 2026-04-23 23:50:25 -05:00
  • 4374ea0194 fixing agent chat window Arnav Naval 2026-04-23 23:44:04 -05:00
  • 759a9baff3 fixing skills and app_builder integration Arnav Naval 2026-04-23 22:43:10 -05:00
  • 744a14dc47 [eric] 1.0.26 windows-only: fix subscription OAuth + perf pass Eric 2026-04-22 16:33:00 -07:00
  • ca9bb06b23 [eric] 9router: switch production build from webpack to turbopack — webpack's glob scan walks into runneradmin's Application Data junction (XP-era loop) on GitHub Actions Windows runners and EPERM cascades into FlightClientEntryPlugin TypeError. Turbopack is Next 16's native bundler with no user-profile scan; produces same standalone output for electron-builder packaging v1.0.25 Eric 2026-04-22 01:12:24 -07:00
  • 21a923caed [eric] 9router windows CI fix v2: webpack ignore must be single regex (not array mixing regex+globs which fails validation) — combine logs/.next/Application Data/Local Settings into one regex; snapshot.managedPaths still empty for the actual EPERM mitigation Eric 2026-04-22 01:02:42 -07:00
  • b286439e55 [eric] 9router windows CI fix: ignore XP-era junction points (Application Data) in webpack snapshot+watch — caused EPERM scandir cascading into FlightClientEntryPlugin TypeError on GitHub Actions runneradmin user Eric 2026-04-22 00:09:02 -07:00
  • a53731ccbb [eric] merge origin/eric/v2 — keep local ^0.85.0 bump of @softeria/ms-365-mcp-server over the incoming ^0.79.6 downgrade ciregenz 2026-04-21 22:17:08 -07:00
  • 4ce4dec33c [eric] windows polish + bump 1.0.25: publish-win.ps1 mirror of publish.sh + run.ps1 windows dev launcher, build-app-win.ps1 warns 8s if Mac latest-mac.yml missing in v<version> release before -Publish, python-env cache skip via OPENSWARM_REBUILD_PYTHON, pip stderr wrapped to suppress PS5.1 NativeCommandError; analytics APP_VERSION auto-derived from electron/package.json (single source of truth); OnboardingModal renders Connected state for already-active providers; gitignore fix for backend/.venv. Bumps 1.0.25 - first version that ships Mac and Windows together. eric/windows Eric 2026-04-21 21:53:48 -07:00
  • a6b18752cb starting integration of old frontend Arnav Naval 2026-04-21 23:24:10 -05:00
  • 9ff07443db [eric] windows shipping: electron-builder win+nsis + Azure Trusted Signing hook, build-app-win.ps1 / build-python-env-win.ps1 mirroring mac, release-windows.yml tag-triggered CI, icon.ico + .env.windows.example, .claude/ + .env.* gitignored. Runtime fixes: PYTHONUTF8=1 (cp1252 UnicodeDecode), python.exe / Lib\site-packages paths, PYTHONPATH path.delimiter, taskkill /T /F process tree, OAuth UA platform branch, sign-vmp postinstall via node wrapper. Backend: _resolve_command PATHEXT probing (fixes uvx not found), UV_PYTHON Windows path. Cross-env added to 9router+electron for NODE_ENV prefix on cmd. Onboarding: poll subscriptions/status while connect step is open, render Connected for active providers (was stuck on "Connect" after 30s OAuth poll timeout). Eric 2026-04-21 18:15:49 -07:00
  • c8360cc921 [eric] fix dead annual subscribe buttons: desktop was sending billing_interval="annual" but cloud zod enum only accepted "monthly"|"yearly" so the POST returned 400 and the click silently no-opped — now map annual→yearly at the fetch boundary, UI/types/analytics stay on "annual" ciregenz 2026-04-21 16:48:05 -07:00
  • 87e42d0a3a [eric] initial push for windows compatibility openswarm one click download Eric 2026-04-21 15:50:32 -07:00
  • 11b07bde28 [eric] production push 1.0.24: removed non-Claude MCP upfront-load warning (context-cost only, zero functionality impact), fixed fullscreen + webview popup dark-screen via new-window → exitFullscreen so parent stays interactive, ErrorSlime extracted to shared component and rendered on all chat error cards (Network / Servers maxed / Plan limit / Subscription), Network issue classifier tightened to real errno codes + retry CTA removed since edit_message-based replay was truncating successful tool history — copy now directs user to send-new-message once WS auto-reconnects ciregenz 2026-04-21 15:11:56 -07:00
  • b9f7698b0c [eric] default-model + thinking-mode settings overhaul: Settings dropdown mirrors the in-session picker (provider-grouped from state.models.byProvider, disambiguates same-named models by · Provider), toolbar now honors the stored default_model instead of snapping to stale Redux initial 'sonnet' and re-syncs on every reopen so last-used picks don't leak, smart fallback per priority Anthropic > OpenAI > Gemini > OpenSwarm Pro > OpenSwarm with Snackbar warning when the user's default becomes unreachable, new Default thinking mode setting (Auto/Off/Low/Medium/High) added to AppSettings and threaded into AgentSession on launch, onboarding flow for user intuitive-ness slight tweaks ciregenz 2026-04-20 14:56:09 -07:00
  • 301b0f7707 [eric] auto-heal corrupt npx cache in MCP stdio discovery: on ERR_MODULE_NOT_FOUND pointing into ~/.npm/_npx/<hash>/, wipe that dir and retry once — fixes Discord/YouTube failing with "MCP stdio process exited unexpectedly" after partial npx installs, per-browser auto-close: spawned browser cards now disappear on their own sub-agent's completion instead of lingering until the parent agent finishes, WebSocketManager agent:status matches by session.browser_id (spawned_by is the parent, so it never matched the finishing sub-agent), user-created/pre-selected browsers untouched ciregenz 2026-04-20 01:20:20 -07:00
  • 58c241442b add local.sh Windows compatability arnav/windows-scripts Arnav Naval 2026-04-20 01:14:39 -05:00
  • dfc2f63488 [eric] onboarding walkthrough videos: replace pastel placeholder with autoplay/muted/loop step videos for all 5 steps, uniform 8x8 progress dots no longer resize active step, body minHeight 130 to 200 keeps modal at the same height across all steps ciregenz 2026-04-18 23:27:44 -07:00
  • 8d19cd64cf [Haik]: refactor: migrate frontend from flat file structure to nested AppShell architecture — moves DynamicIsland under TitleBar with CompactPill/ExpandedCard subgroups, consolidates Settings and Commands pages into AppShell/components with dedicated components/hooks/shared dirs, relocates Layout pieces (Sidebar, TitleBar, UpdateBanner) as AppShell children, and updates Main.tsx import path haik/cleanup-v2 haikdc 2026-04-18 19:14:26 -07:00
  • decd61349d [hAIk]: refactor: reorganize browser modules (browserRegistry, browserCommandHandler, resolveUrl, useBrowserActivity) into shared/browsers/ subdirectory, extract duplicate useResolvedTheme hook from CodeDiff into CodeBlockRoot helpers, and update all consumer imports across Dashboard and Layout haikdc 2026-04-18 18:29:49 -07:00
  • 4ac8fa2c12 [Haik]: cleanup: remove dead code and tighten TypeScript types across frontend — delete unused AutoRunLog.tsx, LogEntry.tsx, and clearClipboard(); remove SendMessagePayload, GenerateGroupMetaPayload, SearchHistoryParams, and summarizeToolInput from shared types and agentCardUtils; replace Record<string, any> with Record<string, unknown> in agentsTypes.ts and dashboardClipboard.ts; type getStatusColors param as ClaudeTokens; relocate richEditorUtils.ts from app/components to RichPromptEditor and update imports; narrow summarizeMessage export to module-private in BrowserAgentOverlay; wrap session-change state resets in queueMicrotask to avoid render-during-render warnings haikdc 2026-04-18 17:58:25 -07:00
  • 89d81dd0aa [Haik]: fix case-sensitive Button import paths across 7 adapter files, replace React use() with useContext in CodeDiff for broader compat, remove unused useResolvedTheme/getSystemTheme/getDocumentTheme from CodeBlockRoot helpers, fix useFileSrc object URL race condition with revocation flag and queueMicrotask, replace OptionList useEffect-based activeIndex with useMemo derivation, swap process.env NODE_ENV check for import.meta.env.DEV, and wrap ElementSelectionProvider ref assignment in useEffect to avoid render-phase side effects haikdc 2026-04-18 17:48:12 -07:00
  • d2004c2933 [Haik]: export ElementSelectionContext from useElementSelection haikdc 2026-04-18 17:31:33 -07:00
  • 433c10c993 [Haik]: refactor: relocate onboarding, element selection, and toolkit modules into proper directories and update all import paths haikdc 2026-04-18 17:28:15 -07:00
  • b74bd2a006 [Haik]: refactor: co-locate UI primitives with AgentChat feature — delete avatar, button, collapsible, dialog, separator, and tooltip from src/components/ui, recreate them under AgentChat/_shared and component-local dirs (tooltip, avatar, dialog, separator), and rewire 13 consumer imports across OpenSwarmThread, ToolFallback, approvalToolkit, and nativeToolkit adapters haikdc 2026-04-18 17:17:30 -07:00
  • 015b663cbf [Haik]: refactor: remove global components/tool-ui/shared/ directory and colocate its modules under AgentChat/toolkit — move ToolUI schemas to toolkit/utils/schema, action types to approvalToolkit/utils/types, ActionButtons component to approvalToolkit/components/ActionButtons, actions-config and embedded-actions to OptionList/utils, and getMcpInputSummary and useMcpToolMeta to approvalToolkit/utils; update all imports across approvalToolkit and nativeToolkit haikdc 2026-04-18 17:06:07 -07:00
  • a8370d0cce [Haik]: refactor: break apart approval-tools.tsx, approval-question.tsx, and approval-utils.tsx into a modular approvalToolkit/ directory with ApprovalRouter, BatchApprovalWrapper, ToolApproval, ToolQuestion, getMcpInputSummary, and useMcpToolMeta as separate files; relocate tool-ui components (ApprovalCard, option-list, question-flow) into co-located component folders; inline getToolIcon into CompactActionablePill using Lucide icons; replace toolkit/index.ts with toolkit.ts; update all consumer imports across AgentChat, ExpandedCard, CompactActionablePill, and Dashboard AgentCard components haikdc 2026-04-18 16:44:07 -07:00
  • 5c876493c0 [Haik]: rename TerminalA component to Terminal haikdc 2026-04-18 15:56:10 -07:00
  • 5744e615a3 [Haik]: refactor: restructure native tool-ui components — delete flat components/tool-ui/{code-block,code-diff,terminal,shared}/ directory tree and relocate all tool rendering components into AgentChat/toolkit/nativeToolkit/components/ with dedicated subdirectories for CodeBlock/, CodeDiff/, TerminalA/, and _shared/; decompose the 464-line monolithic code-block.tsx into CodeBlockRoot (highlighter + context), CodeBlockHeader (filename + copy button), CodeBlockContent (shiki HTML output), CodeBlockCollapseToggle (expand/collapse), and a thin CodeBlock.tsx barrel; colocate schema.ts, _adapter.tsx, and README.md alongside each component; move pierre-dark-theme.js, pierre-light-theme.js, and useCopyToClipboard.ts into _shared/; replace native-tools.tsx with nativeToolkit.tsx using relative imports instead of @/ aliases; update all import paths accordingly haikdc 2026-04-18 15:54:48 -07:00
  • 8e327a57da [Haik]: refactor: restructure OpenSwarmThread component hierarchy — move AssistantMessage from flat file into AssistantMessage/ directory with colocated MarkdownText/ (MarkdownText, DEFAULT_COMPONENTS, CodeHeader) and ToolFallback/ (ToolFallback, ToolFallbackRoot, ToolFallbackTrigger, ToolFallbackContent, ToolFallbackArgs, ToolFallbackResult, ToolFallbackError); move UserMessage into UserMessage/ directory extracting UserMessageAttachments; relocate TooltipIconButton from global components/assistant-ui/tooltip-icon-button into OpenSwarmThread/components/; delete shared modules attachment.tsx, markdown-text.tsx, tool-fallback.tsx, and tooltip-icon-button.tsx from components/assistant-ui/; update import paths in OpenSwarmThread.tsx, BranchPicker.tsx, and MessageActions.tsx haikdc 2026-04-18 15:17:02 -07:00
  • 1c0b886052 [Haik]: refactor: restructure frontend component hierarchy — move OnboardingModal into OnboardingModal/ with ProviderStep, ToolsStep, and useOnboarding submodules; move OpenSwarmThread from thread/ into OpenSwarmThread/ with AssistantMessage, BranchPicker, MessageActions, UserMessage components and utils; split AgentCardCollapsed into AgentCardCollapsed/ extracting GoogleServiceIcon, getToolDisplayName, and summarizeToolInput into components/; move approval-card to ApprovalCard (PascalCase) with ApprovalCard.tsx, schema.ts, _adapter.tsx, and README.md; update import paths in AgentChat.tsx, CompactActionablePill, ExpandedCard, BrowserCard, AgentCard, and approval-utils; remove re-exports from approval-tools.tsx in favor of direct imports; replace aliased component names (ApprovalBar → ApprovalRouter, BatchApprovalBar → BatchApprovalWrapper) haikdc 2026-04-18 14:42:41 -07:00
  • 2f0ff10d3f [Haik]: refactor: restructure Dashboard module boundaries — move ElementSelectionContext (split into ElementSelectionProvider, SelectedElement, useElementSelection), SelectionOverlay, domSelectorHelpers, and useDomElementSelector from global components/ into Dashboard/_shared/element_selection and Dashboard/hooks/useDomElementSelector; relocate types.ts and formatRelativeTime.ts into Dashboard/_shared; update imports in Dashboard.tsx, DashboardCanvas, CanvasControls, DashboardHeader, ViewEditor, useIframeElementSelector, dashboardClipboard, and all Dashboard hooks haikdc 2026-04-18 14:15:02 -07:00
  • 31e3d66436 [Haik]: refactor: restructure frontend component hierarchy — move CommandPicker, RichPromptEditor, and related hooks/types out of global components/ into Modes/ModeFormDialog/components/ with nested subdirectories; relocate ToolsSelector into ModeFormDialog/components/; extract getToolGroupIcon to pages/_shared/ for cross-page reuse; update imports in Modes.tsx and useCommands.tsx haikdc 2026-04-18 13:43:48 -07:00
  • 765cb733be [Haik]: renamed OpenSwarmComposer to ChatInput haikdc 2026-04-18 13:26:21 -07:00
  • b8ca2535b9 [Haik]: Remove legacy ChatInput component tree (ChatInput, AttachmentChips, ImageAttachments, useChatSubmit) and replace DashboardToolbar usage with OpenSwarmComposer via a new ToolbarComposer wrapper backed by useStandaloneComposerRuntime and AssistantRuntimeProvider; relocate ModelModeSelector and ContextRing into OpenSwarmComposer/components; move TabLocalState from shared Dashboard types to BrowserCard directory; add embedded prop to OpenSwarmComposer for borderless toolbar rendering haikdc 2026-04-18 13:23:57 -07:00