Arnav Naval
|
58c241442b
|
add local.sh Windows compatability
|
2026-04-20 01:14:39 -05:00 |
|
haikdc
|
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
|
2026-04-18 19:14:26 -07:00 |
|
haikdc
|
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
|
2026-04-18 18:29:49 -07:00 |
|
haikdc
|
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
|
2026-04-18 17:58:25 -07:00 |
|
haikdc
|
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
|
2026-04-18 17:48:12 -07:00 |
|
haikdc
|
d2004c2933
|
[Haik]: export ElementSelectionContext from useElementSelection
|
2026-04-18 17:31:33 -07:00 |
|
haikdc
|
433c10c993
|
[Haik]: refactor: relocate onboarding, element selection, and toolkit modules into proper directories and update all import paths
|
2026-04-18 17:28:15 -07:00 |
|
haikdc
|
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
|
2026-04-18 17:17:30 -07:00 |
|
haikdc
|
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
|
2026-04-18 17:06:07 -07:00 |
|
haikdc
|
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
|
2026-04-18 16:44:07 -07:00 |
|
haikdc
|
5c876493c0
|
[Haik]: rename TerminalA component to Terminal
|
2026-04-18 15:56:10 -07:00 |
|
haikdc
|
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
|
2026-04-18 15:54:48 -07:00 |
|
haikdc
|
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
|
2026-04-18 15:17:02 -07:00 |
|
haikdc
|
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)
|
2026-04-18 14:42:41 -07:00 |
|
haikdc
|
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
|
2026-04-18 14:15:02 -07:00 |
|
haikdc
|
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
|
2026-04-18 13:43:48 -07:00 |
|
haikdc
|
765cb733be
|
[Haik]: renamed OpenSwarmComposer to ChatInput
|
2026-04-18 13:26:21 -07:00 |
|
haikdc
|
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
|
2026-04-18 13:23:57 -07:00 |
|
haikdc
|
5566eaa69d
|
[Haik]: Move useCanvasControls and AppCard to proper directories
|
2026-04-18 13:04:58 -07:00 |
|
haikdc
|
4467a8b0c1
|
[Haik]: refactor: move AgentCard, BrowserCard, and DashboardViewCard from flat Dashboard/ locations into DashboardCanvas/cards/ subtree with AgentCard/, AppCard/, BrowserCard/, and shared/ subdirectories; rename DashboardViewCard to AppCard and Views/ViewCard to AppThumbnail; split useCanvasControls into useCanvasControls/ directory with utils/helpers.ts and utils/useCanvasInputs.ts; split useDashboardThumbnail into useDashboardThumbnail/ directory extracting captureDashboardThumbnail.ts; move useDashboardSelection into hooks/; relocate cardLayoutConstants and useOverlayScrollPassthrough into cards/shared/; update all import paths in Dashboard.tsx, DashboardCanvas.tsx, and Views.tsx
|
2026-04-18 12:59:55 -07:00 |
|
haikdc
|
0ee6fe7ccb
|
[Haik]: refactor: restructure Dashboard page from flat file layout into nested component directories — move DashboardCanvas, DashboardHeader, DashboardHeaderParts, DashboardToolbar, ToolbarButtons, HistoryPanel, ViewPickerPanel, CanvasControls, and DashboardViewCard into DashboardCanvas/components/ subtree with dedicated folders for DashboardToolbar and DashboardHeader; consolidate shared types (CardType, CanvasActions, TetherInfo) from useDashboardSelection, useCanvasControls, and useTetherPaths into types/types.ts; extract duplicated formatRelativeTime into utils/formatRelativeTime.ts; update all import paths across hooks, shared modules, and DashboardCard
|
2026-04-18 12:39:05 -07:00 |
|
haikdc
|
6a9dd59eec
|
[hAIk]: refactor AgentCard and BrowserCard into subdirectory modules, plumb dashboard_id from launch through Agent/AgentSnapshot, add on_done auto-persist callback, fix get_all_sessions to use GET query params, atomic PydanticStore writes, graceful backend shutdown in local.sh, and add mode config JSONs
|
2026-04-18 12:05:50 -07:00 |
|
haikdc
|
21a723a45b
|
[Haik]: Pt.1 of Abstracting AgentChat folder for downward access
|
2026-04-18 10:41:15 -07:00 |
|
haikdc
|
f98c56ab7e
|
[hAIk]: Holy fucking shit the agent finally works in the frontend: align frontend/backend naming: rename AgentSession.id→session_id across agentsTypes, agentsReducers, agentsExtraReducers, AgentCard, BrowserAgentOverlay, DashboardCanvas, useAgentChat, useToolbarActions, useDashboardKeyboard, MessageActions, and backend-bridge agents/dashboards; rename CardPosition.zOrder→z_order in dashboardLayoutTypes, dashboardLayoutReducers, dashboardLayoutSlice, and DashboardCanvas; fix circular import between dashboards.py and agents.py by deferring imports; add NINE_ROUTER_MODEL_MAP for sonnet/opus/haiku alias resolution in launch_agent; make build_agent_toolkit async and pass load_dashboard/save_dashboard into browser delegation toolkit; fix PromptMsgDict to use TypedDict, fix zip type hint bug, and fix browser agent model reference (parent.model→parent.config.model); add p_on_task_done callback with traceback logging on Agent, capture stderr and full tracebacks in run_agent_loop; add unwrages helper in agentsExtraReducers to normalize nested message payloads; pipe frontend console-message events to Electron stdout; enable ws:true on Vite proxy; add diagnostic console.logs across WS handlers, session lifecycle, and dashboard updates
|
2026-04-18 10:26:51 -07:00 |
|
haikdc
|
563af6ff80
|
[Haik]: abstracted OpenSwarmComposer
|
2026-04-18 08:34:52 -07:00 |
|
haikdc
|
5439420fa9
|
[hAIk]: fix: create modelsSlice and register it in store to resolve ModelModeSelector TypeError on dashboard agent launch. Reuses SUBSCRIPTIONS_STATUS thunk instead of duplicating the fetch.
|
2026-04-18 08:28:54 -07:00 |
|
haikdc
|
dde5c6de5c
|
[Haik]: uncommented the mcpRegistrySlice to prevent crashes on actions page - still isnt implemented in backend tho
|
2026-04-18 08:14:57 -07:00 |
|
haikdc
|
93e1af8714
|
[hAIk]: migrate frontend from webpack to vite: replace webpack.config.js with vite.config.ts, move index.html to project root with module script entry, swap build/dev npm scripts to vite commands, remove webpack/swc/css-loader devDependencies in favor of vite and @vitejs/plugin-react-swc, and drop browserslist config
|
2026-04-18 08:10:34 -07:00 |
|
haikdc
|
e91fe7f035
|
[hAIk]: optimize webpack config for faster dev builds: reorder resolve extensions from [.js, .jsx, .ts, .tsx] to [.tsx, .ts, .js] so TypeScript files resolve first, drop unused .jsx entry, and enable persistent filesystem caching in development mode to speed up rebuilds
|
2026-04-18 08:03:52 -07:00 |
|
haikdc
|
18a46d5d85
|
[hAIk]: Replace babel-loader with swc-loader and reduce shiki language bundles from 235 to 56 for faster builds. Swapped babel-loader for swc-loader (Rust-based transpiler), removed @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, and babel-loader (-106 packages). Changed code-block.tsx imports from bare shiki to shiki/bundle/web + shiki/engine/javascript. Added webpack resolve aliases to redirect @pierre/diffs nested shiki bundle-full.mjs to bundle-web.mjs and replaced its langs.mjs with a no-op shim. Switched devtool from source-map to eval-cheap-module-source-map. Results: build time ~31s to ~20s, cacheable modules 30.3 MiB to 22.6 MiB, vendor chunks 379+ to ~199.
|
2026-04-18 07:58:38 -07:00 |
|
haikdc
|
ca2ea81f82
|
[hAIk]: refactor backend settings and tools routes to use explicit endpoint names (/get_settings, /update_settings, /get_builtin_permissions, /update_builtin_permissions) with matching frontend updates; simplify base_routes.ts to relative /api path; add new appsSlice Redux slice and register in store; remove unused GET_HISTORY reducer; rename structlint to lint across CI workflow, local.sh, and publish.sh; strip ANSI escape codes from NineRouter forwarded output; add swarm-debug as backend dependency
|
2026-04-18 07:21:41 -07:00 |
|
haikdc
|
ad8add82fd
|
[hAIk]: replace HTTP file upload with native Electron showOpenDialog: remove uploadAndAttachFiles fetch-based upload in useChatSubmit and useComposerAttachments, add browseAndAttachFiles using window.openswarm.showOpenDialog with ContextPath-based attachment, declare showOpenDialog in electron.d.ts, remove hidden file input refs and upload spinner from ChatInput/ModelModeSelector/OpenSwarmComposer. Rename WebSocket from /ws/dashboard to /ws on backend and rename dashboardWs to agentsWs across WebSocketManager, useDashboardInit, and browserCommandHandler. Export AGENTS_WS_API from agents bridge. Disable modelsSlice (delete file, comment out store registration and fetchModels dispatches) and stub mcpRegistrySlice thunks with not-implemented errors, move clearDetail to local action creator in useToolsState
|
2026-04-18 06:52:50 -07:00 |
|
haikdc
|
0d3c515616
|
[hAIk]: migrate dashboard layout thunks to backend-bridge: replace legacy fetchLayout with GET_DASHBOARD and saveLayout with UPDATE_DASHBOARD, move browser-card tab normalization into slice extraReducers, extend Dashboard interface with layout type, remove dashboardLayoutThunks.ts and unused LayoutPayload/SaveLayoutPayload types. Also removed UsageStats and DiffViewer
|
2026-04-18 06:19:24 -07:00 |
|
haikdc
|
09ea76b12d
|
[hAIk]: Replace custom DirectoryBrowser with native Electron file dialog; move ContextPath type to agentsTypes, remove BrowseResult, update all imports. Also removed unused Analytics page
|
2026-04-18 06:02:13 -07:00 |
|
haikdc
|
e720f97444
|
[hAIk]: rewire toolsSlice to use tools.ts backend-bridge thunks, remove inline fetch logic, update useToolsState/useModes/useCommands/useCommandPickerItems/OpenSwarmMentionAdapter imports, replace raw OAuth disconnect fetch with OAUTH_DISCONNECT thunk
|
2026-04-18 05:43:20 -07:00 |
|
haikdc
|
216eb7018a
|
[hAIk]: integrate subscriptions backend-bridge into frontend: replace all raw fetch calls to /subscriptions/* endpoints with dispatch(THUNK).unwrap() using SUBSCRIPTIONS_STATUS, SUBSCRIPTIONS_CONNECT, SUBSCRIPTIONS_POLL, and SUBSCRIPTIONS_DISCONNECT from the bridge layer — no Redux slice needed since state stays local
|
2026-04-18 05:33:16 -07:00 |
|
haikdc
|
09f4a22209
|
[hAIk]: integrate skills.ts bridge: add typed interfaces, rewrite skillsSlice and skillRegistrySlice to import thunks from bridge, replace raw fetch calls in useSkillBuilderSession with SEED/READ_SKILL_WORKSPACE, update type imports in UI components
|
2026-04-18 05:29:02 -07:00 |
|
haikdc
|
2b8e502bcb
|
[hAIk]: integrate skills.ts bridge: add typed interfaces, rewrite skillsSlice and skillRegistrySlice to import thunks from bridge, replace raw fetch calls in useSkillBuilderSession with SEED/READ_SKILL_WORKSPACE, update type imports in UI components
|
2026-04-18 05:28:47 -07:00 |
|
haikdc
|
a7f0ea520f
|
[hAIk]: integrate settings backend-bridge into frontend: move AppSettings and CustomProvider interfaces into settings bridge with proper return types, switch Main.tsx to GET_SETTINGS, useSettings.ts to UPDATE_SETTINGS, GeneralTab.tsx to RESET_SYSTEM_PROMPT — all importing directly from the bridge
|
2026-04-18 05:15:16 -07:00 |
|
haikdc
|
825b59b875
|
[hAIk]: remove outputsSlice; migrate all 19 consumer files from state.outputs to state.apps; rewrite useViewWorkspace to use bridge thunks; remove all auto-run support
|
2026-04-18 05:10:05 -07:00 |
|
haikdc
|
a0312deaf5
|
[hAIk]: integrate modes backend-bridge into frontend: add Mode type to bridge with proper typing, rewrite modesSlice to import thunks from backend-bridge (matching dashboards pattern), update useModes hook to use LIST_MODES/CREATE_MODE/UPDATE_MODE/RESET_MODE/DELETE_MODE, update useAgentChat/ModelModeSelector/useSettings to use LIST_MODES, remove legacy @/shared/config dependency from modes
|
2026-04-18 04:35:33 -07:00 |
|
haikdc
|
650c42077a
|
[hAIk]: refactor: wire dashboardsSlice through backend-bridge, remove inline fetch calls from slice and update all 6 consumer files
|
2026-04-18 04:30:33 -07:00 |
|
haikdc
|
5c47a12181
|
[Haik]: migrate frontend thunks from agentsSlice to backend-bridge
|
2026-04-18 04:20:01 -07:00 |
|
haikdc
|
c329c0f837
|
[Haik]: migrate launchAndSendFirstMessage and searchHistory from agentsSlice to backend-bridge thunks (META_LAUNCH_AND_SEND, GET_HISTORY); wire up new thunks in useAgentChat, useToolbarActions, useDashboardToolbar, agentsExtraReducers, and dashboardLayoutSlice; normalize backend response key from SESSIONS to sessions; remove dashboardId param from history search calls; replace any types with AgentSession, CardPosition, and AgentConfig; remove stale settingsApplied useEffect; split image payload into separate data and media_type arrays for SEND_MESSAGE
|
2026-04-18 04:04:44 -07:00 |
|
haikdc
|
1ba5f11591
|
[Haik]: migrate useAgentChat, agentsExtraReducer and useToolbarActions to backend-bridge thunks
|
2026-04-18 03:28:30 -07:00 |
|
haikdc
|
86a58258ac
|
[Haik]: refactor agents extra reducers to use backend-bridge thunks and fix return types for update_system_prompt, delete_session, stop_agent, switch_branch, and close_session
|
2026-04-18 03:05:44 -07:00 |
|
haikdc
|
bf313d42c2
|
[Haik]: fixed backend-bridge imports
|
2026-04-18 02:48:21 -07:00 |
|
haikdc
|
33cf18554c
|
[Haik]: renamed shared/backend to shared/backend-bridge
|
2026-04-18 02:47:29 -07:00 |
|
haikdc
|
8ee84dac1e
|
[hAIk]: fix agents.ts bridge to match backend response shapes and payload signatures
|
2026-04-18 02:40:44 -07:00 |
|
haikdc
|
6e3cb16aca
|
[hAIk]: fix: collapse multi-param thunk payloads into single objects
|
2026-04-18 02:37:30 -07:00 |
|