fix: correct relative imports after component reorganization

Fixed import paths for 43 components moved into features/ directories.
Key fixes:
- api/, types/, hooks/, state/, utils/ imports need ../../../ from features/*/
- components/ imports need ../../ from features/*/
- Cross-feature imports use relative paths (e.g., ../tool/tools-bottom-sheet)
- app-shell.tsx updated to import from features/ subdirectories

Frontend typecheck now passes except for one pre-existing error:
xterm-addon-webgl missing type declarations.

Quality gates: ruff passed on backend, py_compile passed on all backend files.
This commit is contained in:
2026-06-04 12:46:45 +02:00
parent 2680a8c44a
commit 8c7affc933
39 changed files with 117 additions and 117 deletions
@@ -1,19 +1,19 @@
import { useCallback, useEffect, useState } from "react";
import { useNavigate } from "react-router-dom";
import { Icon } from "./icon";
import type { ToolInstance } from "../api/sessions";
import { Icon } from "../../icon";
import type { ToolInstance } from "../../../api/sessions";
import {
deleteInstance,
listInstances,
restartInstance,
startInstance,
stopInstance,
} from "../api/sessions";
import type { ToolType } from "../api/tool-types";
import { CreateSessionForm } from "./create-session-form";
import { listConfigProfiles, type ConfigProfile } from "../api/config_profiles";
import { listSSHKeys, type SSHKey } from "../api/ssh-keys";
import { useEventContext } from "../state/events";
} from "../../../api/sessions";
import type { ToolType } from "../../../api/tool-types";
import { CreateSessionForm } from "../session/create-session-form";
import { listConfigProfiles, type ConfigProfile } from "../../../api/config_profiles";
import { listSSHKeys, type SSHKey } from "../../../api/ssh-keys";
import { useEventContext } from "../../../state/events";
const API_BASE_URL =
import.meta.env.VITE_API_BASE_URL ?? "http://localhost:8000";
@@ -1,10 +1,10 @@
import { useState, useEffect, useCallback, useRef } from "react";
import { Icon } from "./icon";
import { extractErrorMessage } from "../utils/errors";
import { Icon } from "../../icon";
import { extractErrorMessage } from "../../../utils/errors";
import {
compileToolDefinition,
type ToolDefinitionManifest,
} from "../api/tool_definitions";
} from "../../../api/tool_definitions";
interface PackageEntry {
name: string;
@@ -1,10 +1,10 @@
/** Floating action button to start a tool from any page. */
import { useState } from "react";
import { Icon } from "./icon";
import { Icon } from "../../icon";
import { ToolStarter } from "./tool-starter";
import type { Workspace } from "../types/workspace";
import { listAllWorkspaces } from "../api/workspaces";
import type { Workspace } from "../../../types/workspace";
import { listAllWorkspaces } from "../../../api/workspaces";
export function StartToolFAB() {
const [open, setOpen] = useState(false);
@@ -1,10 +1,10 @@
/** Modal for starting a tool on a workspace. */
import { useState } from "react";
import { Icon } from "./icon";
import { listToolTypes, type ToolType } from "../api/tool-types";
import { useAsyncData } from "../hooks/use-async-data";
import type { Workspace } from "../types/workspace";
import { Icon } from "../../icon";
import { listToolTypes, type ToolType } from "../../../api/tool-types";
import { useAsyncData } from "../../../hooks/use-async-data";
import type { Workspace } from "../../../types/workspace";
export interface StartToolModalProps {
workspace: Workspace;
@@ -1,12 +1,12 @@
/** Unified tool starter — workspace-first, fetches real tool types and config profiles. */
import { useState, useEffect, useCallback } from "react";
import { Icon } from "./icon";
import { listToolTypes, type ToolType } from "../api/tool-types";
import { listConfigProfiles, type ConfigProfile } from "../api/config_profiles";
import { listSSHKeys, type SSHKey } from "../api/ssh-keys";
import type { Workspace } from "../types/workspace";
import type { ToolInstance } from "../api/sessions";
import { Icon } from "../../icon";
import { listToolTypes, type ToolType } from "../../../api/tool-types";
import { listConfigProfiles, type ConfigProfile } from "../../../api/config_profiles";
import { listSSHKeys, type SSHKey } from "../../../api/ssh-keys";
import type { Workspace } from "../../../types/workspace";
import type { ToolInstance } from "../../../api/sessions";
export interface ToolStarterProps {
workspace: Workspace;
@@ -114,7 +114,7 @@ export function ToolStarter({
setStarting(true);
setError(null);
try {
const { createInstance, startInstance } = await import("../api/sessions");
const { createInstance, startInstance } = await import("../../../api/sessions");
const instance = await createInstance(
workspace.project_id,
workspace.repo_id,
@@ -1,5 +1,5 @@
import { useLocation, useNavigate } from "react-router-dom";
import { Icon } from "./icon";
import { Icon } from "../../icon";
interface ToolsBottomSheetProps {
isOpen: boolean;