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
|
d6d6bc2271
|
[hAIk]: added in debug statements instead of printing/logging
|
2026-04-18 07:43:31 -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 |
|
haikdc
|
e4f400962f
|
[hAIk]: (add frontend bridge files for all backend sub-apps) (fix: collapse multi-param async thunk payloads into single objects)
|
2026-04-18 02:35:08 -07:00 |
|
haikdc
|
2a898f3f08
|
[Haik]: refactor: overhaul agents API contract and frontend backend layer — rename all backend agent routes from RESTful path-param style (e.g. /sessions/{id}/message) to flat action-named endpoints (e.g. /send_message), replace Pydantic BaseModel request classes (LaunchBody, MessageBody, etc.) with inline FastAPI Body() parameters, delete the scattered frontend shared/routes/ directory (11 files) and agentsThunks.ts, and replace them with a co-located shared/backend/apps/ structure where each backend app has its routes, fetch functions, and async thunks in a single file
|
2026-04-18 02:23:44 -07:00 |
|
haikdc
|
f691ca1ff1
|
[Haik]: added lintignores
|
2026-04-18 00:20:44 -07:00 |
|
haikdc
|
4866e644e2
|
[hAIk]: add .lintignore sentinel files for per-folder lint suppression — drop a .lintignore in any directory to skip all checks, or .lintignore-{rule} to skip a specific one (max-file-lines, max-folder-items, no-nested-imports, vulture, eslint, knip, endpoints, classes). Adds collect_lintignores() and is_lintignored() to checks/init.py, wires filtering into lint.py and all sub-linter runners, and updates watch mode to detect .lintignore changes
|
2026-04-18 00:13:43 -07:00 |
|
haikdc
|
c306a472d5
|
[Haik]: added unified shared/routes in the frontend, gonna start porting shit over to the new backend setup now
|
2026-04-17 23:59:44 -07:00 |
|
haikdc
|
dbfa1a3c7d
|
[Haik]: Fixed all pydantic instance attribute violations
|
2026-04-17 23:34:15 -07:00 |
|
haikdc
|
e5ba3412f2
|
[Haik]: classes now extend basemodel and private vars properly dont start with an underscore
|
2026-04-05 21:17:03 -07:00 |
|
haikdc
|
2dec5b6283
|
[Haik]: created helper sub fulder and fixed imports
|
2026-04-05 21:13:18 -07:00 |
|
haikdc
|
dd79b10e3c
|
[Haik]: ckpt, made classes for NineRouterClient and NineRouterProcess, now gonna abstract the NineRouter dir a bit, then clean up the type specing/checking in all the classes
|
2026-04-05 21:10:07 -07:00 |
|
haikdc
|
e835604a09
|
[Haik]: ckpt, initial version of NineRouter singelton
|
2026-04-05 20:58:44 -07:00 |
|
haikdc
|
28820c91eb
|
[Haik]: ckpt, abstracted helpers within NineRouterProcess
|
2026-04-05 20:47:18 -07:00 |
|
haikdc
|
aa250ce203
|
[Haik]: minor cleanup focussed around naming (especially the names starting with an underscore as this just nerfs all type checking/specing) also some logger removes, pulling out constants, etc. Now gonna pull out some helpers then maybe its singelton time again?
|
2026-04-05 20:33:40 -07:00 |
|
haikdc
|
961941bd38
|
[Haik]: ckpt, ai slop subscriptions subapp done, now time for janitor haik to come in
|
2026-04-05 20:19:27 -07:00 |
|