refactor: update all imports to use shared packages

- Updated 150+ files to import from @automaker/* packages
- Server imports now use @automaker/utils, @automaker/platform, @automaker/types, @automaker/model-resolver, @automaker/dependency-resolver, @automaker/git-utils
- UI imports now use @automaker/dependency-resolver and @automaker/types
- Deleted duplicate dependency-resolver files (222 lines eliminated)
- Updated dependency-resolver to use ES modules for Vite compatibility
- Added type annotation fix in auto-mode-service.ts
- Updated feature-loader to re-export Feature type from @automaker/types
- Both server and UI builds successfully verified

Phase 1 of server refactoring complete.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Kacper
2025-12-19 23:46:27 +01:00
parent bafddd627a
commit 060a789b45
73 changed files with 102 additions and 558 deletions

View File

@@ -2,7 +2,7 @@
* Common utilities for agent routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import { AgentService } from "../../../services/agent-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("Agent");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import { AgentService } from "../../../services/agent-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("Agent");

View File

@@ -2,7 +2,7 @@
* Common utilities and state management for spec regeneration
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
const logger = createLogger("SpecRegeneration");

View File

@@ -5,11 +5,11 @@
import { query } from "@anthropic-ai/claude-agent-sdk";
import fs from "fs/promises";
import type { EventEmitter } from "../../lib/events.js";
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { createFeatureGenerationOptions } from "../../lib/sdk-options.js";
import { logAuthStatus } from "./common.js";
import { parseAndCreateFeatures } from "./parse-and-create-features.js";
import { getAppSpecPath } from "../../lib/automaker-paths.js";
import { getAppSpecPath } from "@automaker/platform";
const logger = createLogger("SpecRegeneration");

View File

@@ -12,11 +12,11 @@ import {
getStructuredSpecPromptInstruction,
type SpecOutput,
} from "../../lib/app-spec-format.js";
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { createSpecGenerationOptions } from "../../lib/sdk-options.js";
import { logAuthStatus } from "./common.js";
import { generateFeaturesFromSpec } from "./generate-features-from-spec.js";
import { ensureAutomakerDir, getAppSpecPath } from "../../lib/automaker-paths.js";
import { ensureAutomakerDir, getAppSpecPath } from "@automaker/platform";
const logger = createLogger("SpecRegeneration");

View File

@@ -5,8 +5,8 @@
import path from "path";
import fs from "fs/promises";
import type { EventEmitter } from "../../lib/events.js";
import { createLogger } from "../../lib/logger.js";
import { getFeaturesDir } from "../../lib/automaker-paths.js";
import { createLogger } from "@automaker/utils";
import { getFeaturesDir } from "@automaker/platform";
const logger = createLogger("SpecRegeneration");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { EventEmitter } from "../../../lib/events.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getSpecRegenerationStatus,
setRunningState,

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { EventEmitter } from "../../../lib/events.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getSpecRegenerationStatus,
setRunningState,

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { EventEmitter } from "../../../lib/events.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getSpecRegenerationStatus,
setRunningState,

View File

@@ -2,7 +2,7 @@
* Common utilities for auto-mode routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { AutoModeService } from "../../../services/auto-mode-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("AutoMode");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { AutoModeService } from "../../../services/auto-mode-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("AutoMode");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { AutoModeService } from "../../../services/auto-mode-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("AutoMode");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { AutoModeService } from "../../../services/auto-mode-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("AutoMode");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { AutoModeService } from "../../../services/auto-mode-service.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getErrorMessage, logError } from "../common.js";
const logger = createLogger("AutoMode");

View File

@@ -2,7 +2,7 @@
* Common utilities shared across all route modules
*/
import { createLogger } from "../lib/logger.js";
import { createLogger } from "@automaker/utils";
import fs from "fs/promises";
import path from "path";
import { exec } from "child_process";

View File

@@ -7,14 +7,15 @@
import type { Request, Response } from "express";
import { query } from "@anthropic-ai/claude-agent-sdk";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { resolveModelString } from "@automaker/model-resolver";
import { CLAUDE_MODEL_MAP } from "@automaker/types";
import {
getSystemPrompt,
buildUserPrompt,
isValidEnhancementMode,
type EnhancementMode,
} from "../../../lib/enhancement-prompts.js";
import { resolveModelString, CLAUDE_MODEL_MAP } from "../../../lib/model-resolver.js";
const logger = createLogger("EnhancePrompt");

View File

@@ -2,7 +2,7 @@
* Common utilities for features routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -7,7 +7,7 @@ import {
FeatureLoader,
type Feature,
} from "../../../services/feature-loader.js";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createCreateHandler(featureLoader: FeatureLoader) {

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import { FeatureLoader } from "../../../services/feature-loader.js";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createListHandler(featureLoader: FeatureLoader) {

View File

@@ -2,7 +2,7 @@
* Common utilities for fs routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -6,7 +6,7 @@ import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { getErrorMessage, logError } from "../common.js";
import { getBoardDir } from "../../../lib/automaker-paths.js";
import { getBoardDir } from "@automaker/platform";
export function createDeleteBoardBackgroundHandler() {
return async (req: Request, res: Response): Promise<void> => {

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import { validatePath } from "../../../lib/security.js";
import { validatePath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createDeleteHandler() {

View File

@@ -6,7 +6,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createMkdirHandler() {

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import { validatePath } from "../../../lib/security.js";
import { validatePath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
// Optional files that are expected to not exist in new projects

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import { validatePath } from "../../../lib/security.js";
import { validatePath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createReaddirHandler() {

View File

@@ -5,7 +5,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createResolveDirectoryHandler() {

View File

@@ -5,9 +5,9 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
import { getBoardDir } from "../../../lib/automaker-paths.js";
import { getBoardDir } from "@automaker/platform";
export function createSaveBoardBackgroundHandler() {
return async (req: Request, res: Response): Promise<void> => {

View File

@@ -5,9 +5,9 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
import { getImagesDir } from "../../../lib/automaker-paths.js";
import { getImagesDir } from "@automaker/platform";
export function createSaveImageHandler() {
return async (req: Request, res: Response): Promise<void> => {

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import { validatePath } from "../../../lib/security.js";
import { validatePath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createStatHandler() {

View File

@@ -5,7 +5,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { addAllowedPath, isPathAllowed } from "../../../lib/security.js";
import { addAllowedPath, isPathAllowed } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createValidatePathHandler() {

View File

@@ -5,7 +5,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { validatePath } from "../../../lib/security.js";
import { validatePath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
import { mkdirSafe } from "../../../lib/fs-utils.js";

View File

@@ -2,7 +2,7 @@
* Common utilities for git routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -2,7 +2,7 @@
* Common utilities for health routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -2,7 +2,7 @@
* Common utilities for models routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -2,7 +2,7 @@
* Common utilities for running-agents routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -2,7 +2,7 @@
* Common utilities for sessions routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -2,7 +2,7 @@
* Common utilities and state for setup routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import path from "path";
import fs from "fs/promises";
import {

View File

@@ -3,7 +3,7 @@
*/
import type { Request, Response } from "express";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import path from "path";
import fs from "fs/promises";

View File

@@ -9,7 +9,7 @@ import {
getErrorMessage,
logError,
} from "../common.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
const logger = createLogger("Setup");

View File

@@ -5,7 +5,7 @@
import type { Request, Response } from "express";
import { query } from "@anthropic-ai/claude-agent-sdk";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { getApiKey } from "../common.js";
const logger = createLogger("Setup");

View File

@@ -2,7 +2,7 @@
* Common utilities and state for suggestions routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -4,7 +4,7 @@
import { query } from "@anthropic-ai/claude-agent-sdk";
import type { EventEmitter } from "../../lib/events.js";
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { createSuggestionsOptions } from "../../lib/sdk-options.js";
const logger = createLogger("Suggestions");

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import type { EventEmitter } from "../../../lib/events.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getSuggestionsStatus,
setRunningState,

View File

@@ -2,7 +2,7 @@
* Common utilities for templates routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -6,7 +6,7 @@ import type { Request, Response } from "express";
import { spawn } from "child_process";
import path from "path";
import fs from "fs/promises";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { logger, getErrorMessage, logError } from "../common.js";
export function createCloneHandler() {

View File

@@ -2,7 +2,7 @@
* Common utilities and state for terminal routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import type { Request, Response, NextFunction } from "express";
import { getTerminalService } from "../../services/terminal-service.js";

View File

@@ -6,7 +6,7 @@
import type { Request, Response } from "express";
import { getTerminalService } from "../../../services/terminal-service.js";
import { getErrorMessage, logError } from "../common.js";
import { createLogger } from "../../../lib/logger.js";
import { createLogger } from "@automaker/utils";
const logger = createLogger("Terminal");

View File

@@ -2,7 +2,7 @@
* Common utilities for workspace routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import {
getErrorMessage as getErrorMessageShared,
createLogError,

View File

@@ -4,7 +4,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createConfigHandler() {

View File

@@ -5,7 +5,7 @@
import type { Request, Response } from "express";
import fs from "fs/promises";
import path from "path";
import { addAllowedPath } from "../../../lib/security.js";
import { addAllowedPath } from "@automaker/platform";
import { getErrorMessage, logError } from "../common.js";
export function createDirectoriesHandler() {

View File

@@ -2,7 +2,7 @@
* Common utilities for worktree routes
*/
import { createLogger } from "../../lib/logger.js";
import { createLogger } from "@automaker/utils";
import { exec } from "child_process";
import { promisify } from "util";
import path from "path";

View File

@@ -10,7 +10,7 @@ import path from "path";
import {
getBranchTrackingPath,
ensureAutomakerDir,
} from "../../../lib/automaker-paths.js";
} from "@automaker/platform";
export interface TrackedBranch {
name: string;

View File

@@ -5,7 +5,8 @@
import type { Request, Response } from "express";
import { exec } from "child_process";
import { promisify } from "util";
import { isGitRepo, getErrorMessage, logError } from "../common.js";
import { isGitRepo } from "@automaker/git-utils";
import { getErrorMessage, logError } from "../common.js";
const execAsync = promisify(exec);

View File

@@ -9,7 +9,8 @@ import type { Request, Response } from "express";
import { exec } from "child_process";
import { promisify } from "util";
import { existsSync } from "fs";
import { isGitRepo, getErrorMessage, logError, normalizePath } from "../common.js";
import { isGitRepo } from "@automaker/git-utils";
import { getErrorMessage, logError, normalizePath } from "../common.js";
const execAsync = promisify(exec);

View File

@@ -6,7 +6,7 @@
*/
import type { Request, Response } from "express";
import { getAutomakerDir } from "../../../lib/automaker-paths.js";
import { getAutomakerDir } from "@automaker/platform";
export function createMigrateHandler() {
return async (req: Request, res: Response): Promise<void> => {