From 74b0a0dbab7d0150a6ea5ff9018b018a35bbc165 Mon Sep 17 00:00:00 2001 From: Carlos Gutierrez Date: Wed, 4 Feb 2026 21:02:01 -0500 Subject: [PATCH] deleting index.ts files --- src/api/copilot/auth/index.ts | 6 - src/api/copilot/core/index.ts | 6 - src/api/copilot/index.ts | 22 -- src/api/index.ts | 10 - src/api/ollama/core/index.ts | 6 - src/api/ollama/index.ts | 13 - src/commands/chat-tui.ts | 16 +- .../callbacks/on-learning-detected.ts | 2 +- src/commands/components/callbacks/on-log.ts | 2 +- .../components/callbacks/on-mode-change.ts | 2 +- .../components/callbacks/on-tool-call.ts | 4 +- .../components/callbacks/on-tool-result.ts | 9 +- src/commands/components/chat/cleanup.ts | 2 +- .../components/chat/commands/show-help.ts | 2 +- src/commands/components/chat/index.ts | 28 +- src/commands/components/chat/mcp/index.ts | 6 - .../components/chat/models/show-models.ts | 2 +- .../components/chat/models/show-providers.ts | 2 +- .../components/chat/models/switch-model.ts | 6 +- .../components/chat/models/switch-provider.ts | 4 +- .../chat/session/restore-messages.ts | 2 +- src/commands/components/execute/execute.tsx | 11 +- src/commands/core/index.ts | 6 - src/constants/background-task.ts | 22 ++ src/interfaces/BackgroundTask.ts | 87 +++++ src/interfaces/index.ts | 120 ++++++ src/prompts/index.ts | 124 ------ src/providers/copilot/auth/index.ts | 7 - src/providers/copilot/core/index.ts | 6 - src/providers/core/index.ts | 8 - src/providers/index.ts | 46 --- src/providers/login/core/index.ts | 5 - src/providers/ollama/core/index.ts | 6 - src/services/background-task-service.ts | 91 +++-- src/services/cascading-provider/index.ts | 22 -- src/services/core/index.ts | 91 ----- src/services/core/session.ts | 7 +- src/services/feature-dev/index.ts | 29 +- src/services/github-pr/index.ts | 43 -- src/services/index.ts | 15 - src/services/learning/index.ts | 67 ---- src/services/mcp/index.ts | 62 --- src/services/permissions/index.ts | 75 ---- src/services/permissions/matchers/index.ts | 23 -- src/services/provider-quality/index.ts | 38 -- src/services/reasoning/index.ts | 234 ----------- src/stores/core/index.ts | 9 - src/stores/index.ts | 7 - src/tools/core/index.ts | 6 - src/tools/index.ts | 27 +- src/tools/multi-edit/index.ts | 13 - src/tools/web-fetch/index.ts | 8 - src/tui-solid/app.tsx | 2 - src/tui-solid/components/feedback/index.ts | 6 - src/tui-solid/components/index.ts | 47 --- src/tui-solid/components/inputs/index.ts | 7 - src/tui-solid/components/layout/index.ts | 8 - src/tui-solid/components/menu/index.ts | 8 - src/tui-solid/components/modals/index.ts | 8 - src/tui-solid/components/panels/index.ts | 8 - src/tui-solid/components/submenu/index.ts | 10 - src/tui-solid/context/index.ts | 7 - src/tui-solid/index.ts | 3 - src/tui-solid/routes/index.ts | 2 - src/tui-solid/types/index.ts | 16 - src/tui-solid/ui/index.ts | 4 - src/tui/index.ts | 51 --- src/types/agent-config.ts | 4 - src/types/agent-definition.ts | 16 +- src/types/agent.ts | 4 - src/types/apply-patch.ts | 54 +-- src/types/background-task.ts | 104 ----- src/types/common.ts | 12 - src/types/handlers.ts | 6 +- src/types/index.ts | 369 ------------------ src/types/input-editor.ts | 14 - src/types/learning.ts | 4 - src/types/mcp-registry.ts | 69 ---- src/types/mcp.ts | 70 ---- src/types/runner.ts | 7 +- src/types/session.ts | 6 +- src/ui/banner/core/index.ts | 6 - src/ui/banner/menu/index.ts | 5 - src/ui/components/core/index.ts | 5 - src/ui/components/menu/index.ts | 8 - src/ui/core/index.ts | 6 - src/ui/index.ts | 9 - src/ui/input-editor/core/index.ts | 5 - src/ui/spinner/core/index.ts | 5 - src/utils/core/index.ts | 8 - src/utils/index.ts | 12 - src/utils/menu/index.ts | 5 - 92 files changed, 385 insertions(+), 2082 deletions(-) delete mode 100644 src/api/copilot/auth/index.ts delete mode 100644 src/api/copilot/core/index.ts delete mode 100644 src/api/copilot/index.ts delete mode 100644 src/api/index.ts delete mode 100644 src/api/ollama/core/index.ts delete mode 100644 src/api/ollama/index.ts delete mode 100644 src/commands/components/chat/mcp/index.ts delete mode 100644 src/commands/core/index.ts create mode 100644 src/interfaces/BackgroundTask.ts create mode 100644 src/interfaces/index.ts delete mode 100644 src/prompts/index.ts delete mode 100644 src/providers/copilot/auth/index.ts delete mode 100644 src/providers/copilot/core/index.ts delete mode 100644 src/providers/core/index.ts delete mode 100644 src/providers/index.ts delete mode 100644 src/providers/login/core/index.ts delete mode 100644 src/providers/ollama/core/index.ts delete mode 100644 src/services/cascading-provider/index.ts delete mode 100644 src/services/core/index.ts delete mode 100644 src/services/github-pr/index.ts delete mode 100644 src/services/index.ts delete mode 100644 src/services/learning/index.ts delete mode 100644 src/services/mcp/index.ts delete mode 100644 src/services/permissions/index.ts delete mode 100644 src/services/permissions/matchers/index.ts delete mode 100644 src/services/provider-quality/index.ts delete mode 100644 src/services/reasoning/index.ts delete mode 100644 src/stores/core/index.ts delete mode 100644 src/stores/index.ts delete mode 100644 src/tools/core/index.ts delete mode 100644 src/tools/multi-edit/index.ts delete mode 100644 src/tools/web-fetch/index.ts delete mode 100644 src/tui-solid/components/feedback/index.ts delete mode 100644 src/tui-solid/components/index.ts delete mode 100644 src/tui-solid/components/inputs/index.ts delete mode 100644 src/tui-solid/components/layout/index.ts delete mode 100644 src/tui-solid/components/menu/index.ts delete mode 100644 src/tui-solid/components/modals/index.ts delete mode 100644 src/tui-solid/components/panels/index.ts delete mode 100644 src/tui-solid/components/submenu/index.ts delete mode 100644 src/tui-solid/context/index.ts delete mode 100644 src/tui-solid/index.ts delete mode 100644 src/tui-solid/routes/index.ts delete mode 100644 src/tui-solid/ui/index.ts delete mode 100644 src/tui/index.ts delete mode 100644 src/types/index.ts delete mode 100644 src/ui/banner/core/index.ts delete mode 100644 src/ui/banner/menu/index.ts delete mode 100644 src/ui/components/core/index.ts delete mode 100644 src/ui/components/menu/index.ts delete mode 100644 src/ui/core/index.ts delete mode 100644 src/ui/index.ts delete mode 100644 src/ui/input-editor/core/index.ts delete mode 100644 src/ui/spinner/core/index.ts delete mode 100644 src/utils/core/index.ts delete mode 100644 src/utils/index.ts delete mode 100644 src/utils/menu/index.ts diff --git a/src/api/copilot/auth/index.ts b/src/api/copilot/auth/index.ts deleted file mode 100644 index 3a906b4..0000000 --- a/src/api/copilot/auth/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copilot API Auth - Token and Authentication - */ - -export * from "./token"; -export * from "./auth"; diff --git a/src/api/copilot/core/index.ts b/src/api/copilot/core/index.ts deleted file mode 100644 index bb75937..0000000 --- a/src/api/copilot/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copilot API Core - Chat and Models API - */ - -export * from "./chat"; -export * from "./models"; diff --git a/src/api/copilot/index.ts b/src/api/copilot/index.ts deleted file mode 100644 index ba074e3..0000000 --- a/src/api/copilot/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copilot API exports - */ - -export { - fetchCopilotToken, - buildCopilotHeaders, -} from "@api/copilot/auth/token"; - -export { - requestDeviceCode, - requestAccessToken, -} from "@api/copilot/auth/auth"; - -export { fetchModels } from "@api/copilot/core/models"; - -export { - getEndpoint, - buildRequestBody, - executeChatRequest, - executeStreamRequest, -} from "@api/copilot/core/chat"; diff --git a/src/api/index.ts b/src/api/index.ts deleted file mode 100644 index e92078a..0000000 --- a/src/api/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * API Layer - * - * Low-level HTTP API calls for external services. - * Business logic should remain in providers/services. - */ - -export * as copilotApi from "@api/copilot"; -export * as ollamaApi from "@api/ollama"; -export * as brainApi from "@api/brain"; diff --git a/src/api/ollama/core/index.ts b/src/api/ollama/core/index.ts deleted file mode 100644 index 170cd49..0000000 --- a/src/api/ollama/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Ollama API Core - Chat and Models API - */ - -export * from "./chat"; -export * from "./models"; diff --git a/src/api/ollama/index.ts b/src/api/ollama/index.ts deleted file mode 100644 index 2a6b35c..0000000 --- a/src/api/ollama/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Ollama API exports - */ - -export { - executeChatRequest, - executeStreamRequest, -} from "@api/ollama/core/chat"; - -export { - fetchModels, - checkHealth, -} from "@api/ollama/core/models"; diff --git a/src/commands/chat-tui.ts b/src/commands/chat-tui.ts index 6a97fca..de874fb 100644 --- a/src/commands/chat-tui.ts +++ b/src/commands/chat-tui.ts @@ -6,14 +6,14 @@ * All business logic is delegated to chat-tui-service.ts */ -import type { ChatServiceCallbacks } from "@services/chat-tui-service.ts"; -import { onModeChange } from "@commands/components/callbacks/on-mode-change.ts"; -import { onLog } from "@commands/components/callbacks/on-log.ts"; -import { onToolCall } from "@commands/components/callbacks/on-tool-call.ts"; -import { onToolResult } from "@commands/components/callbacks/on-tool-result.ts"; -import { onPermissionRequest } from "@commands/components/callbacks/on-permission-request.ts"; -import { onLearningDetected } from "@commands/components/callbacks/on-learning-detected.ts"; -import executeCommand from "@commands/components/execute/index.ts"; +import type { ChatServiceCallbacks } from "@services/chat-tui-service"; +import { onModeChange } from "@commands/components/callbacks/on-mode-change"; +import { onLog } from "@commands/components/callbacks/on-log"; +import { onToolCall } from "@commands/components/callbacks/on-tool-call"; +import { onToolResult } from "@commands/components/callbacks/on-tool-result"; +import { onPermissionRequest } from "@commands/components/callbacks/on-permission-request"; +import { onLearningDetected } from "@commands/components/callbacks/on-learning-detected"; +import executeCommand from "@commands/components/execute/index"; export const createCallbacks = (): ChatServiceCallbacks => ({ onModeChange, diff --git a/src/commands/components/callbacks/on-learning-detected.ts b/src/commands/components/callbacks/on-learning-detected.ts index bf76736..ca96dde 100644 --- a/src/commands/components/callbacks/on-learning-detected.ts +++ b/src/commands/components/callbacks/on-learning-detected.ts @@ -1,7 +1,7 @@ import { v4 as uuidv4 } from "uuid"; import { appStore } from "@tui/index"; import type { LearningResponse } from "@/types/tui"; -import type { LearningCandidate } from "@services/learning-service.ts"; +import type { LearningCandidate } from "@services/learning-service"; export const onLearningDetected = async ( candidate: LearningCandidate, diff --git a/src/commands/components/callbacks/on-log.ts b/src/commands/components/callbacks/on-log.ts index 117fc37..290dbc2 100644 --- a/src/commands/components/callbacks/on-log.ts +++ b/src/commands/components/callbacks/on-log.ts @@ -1,4 +1,4 @@ -import { appStore } from "@tui/index.ts"; +import { appStore } from "@tui/index"; import type { LogType } from "@/types/log"; export const onLog = ( diff --git a/src/commands/components/callbacks/on-mode-change.ts b/src/commands/components/callbacks/on-mode-change.ts index c95d2af..4523c12 100644 --- a/src/commands/components/callbacks/on-mode-change.ts +++ b/src/commands/components/callbacks/on-mode-change.ts @@ -1,4 +1,4 @@ -import { appStore } from "@tui/index.ts"; +import { appStore } from "@tui/index"; export const onModeChange = (mode: string): void => { appStore.setMode(mode as Parameters[0]); diff --git a/src/commands/components/callbacks/on-tool-call.ts b/src/commands/components/callbacks/on-tool-call.ts index 7e41ea6..769254e 100644 --- a/src/commands/components/callbacks/on-tool-call.ts +++ b/src/commands/components/callbacks/on-tool-call.ts @@ -1,6 +1,6 @@ -import { appStore } from "@tui/index.ts"; +import { appStore } from "@tui/index"; import { isQuietTool } from "@utils/core/tools"; -import type { ToolCallParams } from "@interfaces/ToolCallParams.ts"; +import type { ToolCallParams } from "@interfaces/ToolCallParams"; export const onToolCall = (call: ToolCallParams): void => { appStore.setCurrentToolCall({ diff --git a/src/commands/components/callbacks/on-tool-result.ts b/src/commands/components/callbacks/on-tool-result.ts index 7f53f7b..29f2807 100644 --- a/src/commands/components/callbacks/on-tool-result.ts +++ b/src/commands/components/callbacks/on-tool-result.ts @@ -1,9 +1,6 @@ -import { appStore } from "@tui/index.ts"; -import { - truncateOutput, - detectDiffContent, -} from "@services/chat-tui-service.ts"; -import { getThinkingMessage } from "@constants/status-messages.ts"; +import { appStore } from "@tui/index"; +import { truncateOutput, detectDiffContent } from "@services/chat-tui-service"; +import { getThinkingMessage } from "@constants/status-messages"; export const onToolResult = ( success: boolean, diff --git a/src/commands/components/chat/cleanup.ts b/src/commands/components/chat/cleanup.ts index d6640c8..2897727 100644 --- a/src/commands/components/chat/cleanup.ts +++ b/src/commands/components/chat/cleanup.ts @@ -1,5 +1,5 @@ import chalk from "chalk"; -import type { ChatState } from "./state.ts"; +import type { ChatState } from "./state"; export const createCleanup = (state: ChatState) => (): void => { state.isRunning = false; diff --git a/src/commands/components/chat/commands/show-help.ts b/src/commands/components/chat/commands/show-help.ts index e206530..17ec95a 100644 --- a/src/commands/components/chat/commands/show-help.ts +++ b/src/commands/components/chat/commands/show-help.ts @@ -1,5 +1,5 @@ import chalk from "chalk"; -import { HELP_COMMANDS } from "@constants/help-commands.ts"; +import { HELP_COMMANDS } from "@constants/help-commands"; export const showHelp = (): void => { console.log("\n" + chalk.bold.underline("Commands") + "\n"); diff --git a/src/commands/components/chat/index.ts b/src/commands/components/chat/index.ts index 00b3573..06e092d 100644 --- a/src/commands/components/chat/index.ts +++ b/src/commands/components/chat/index.ts @@ -1,5 +1,9 @@ import chalk from "chalk"; -import { infoMessage, errorMessage, warningMessage } from "@utils/core/terminal"; +import { + infoMessage, + errorMessage, + warningMessage, +} from "@utils/core/terminal"; import { createSession, loadSession, @@ -9,7 +13,7 @@ import { } from "@services/core/session"; import { getConfig } from "@services/core/config"; import type { Provider as ProviderName, ChatSession } from "@/types/index"; -import { getProvider, getProviderStatus } from "@providers/index.ts"; +import { getProvider, getProviderStatus } from "@providers/index"; import { printWelcome, formatTipLine, @@ -20,16 +24,16 @@ import { import { DEFAULT_SYSTEM_PROMPT, buildSystemPromptWithRules, -} from "@prompts/index.ts"; -import type { ChatOptions } from "@interfaces/ChatOptions.ts"; +} from "@prompts/index"; +import type { ChatOptions } from "@interfaces/ChatOptions"; -import { createInitialState, type ChatState } from "./state.ts"; -import { restoreMessagesFromSession } from "./session/restore-messages.ts"; -import { addContextFile } from "./context/add-context-file.ts"; -import { handleCommand } from "./commands/handle-command.ts"; -import { handleInput } from "./messages/handle-input.ts"; -import { executePrintMode } from "./print-mode.ts"; -import { createCleanup } from "./cleanup.ts"; +import { createInitialState, type ChatState } from "./state"; +import { restoreMessagesFromSession } from "./session/restore-messages"; +import { addContextFile } from "./context/add-context-file"; +import { handleCommand } from "./commands/handle-command"; +import { handleInput } from "./messages/handle-input"; +import { executePrintMode } from "./print-mode"; +import { createCleanup } from "./cleanup"; export const execute = async (options: ChatOptions): Promise => { const config = await getConfig(); @@ -221,4 +225,4 @@ export const execute = async (options: ChatOptions): Promise => { } }; -export { createInitialState, type ChatState } from "./state.ts"; +export { createInitialState, type ChatState } from "./state"; diff --git a/src/commands/components/chat/mcp/index.ts b/src/commands/components/chat/mcp/index.ts deleted file mode 100644 index 3a6d284..0000000 --- a/src/commands/components/chat/mcp/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * MCP chat commands - */ - -export { showMCPStatus } from "@commands/components/chat/mcp/show-mcp-status"; -export { handleMCP } from "@commands/components/chat/mcp/handle-mcp"; diff --git a/src/commands/components/chat/models/show-models.ts b/src/commands/components/chat/models/show-models.ts index a9c3e82..9676bb1 100644 --- a/src/commands/components/chat/models/show-models.ts +++ b/src/commands/components/chat/models/show-models.ts @@ -1,6 +1,6 @@ import chalk from "chalk"; import type { Provider as ProviderName } from "@/types/index"; -import { getProvider } from "@providers/index.ts"; +import { getProvider } from "@providers/index"; export const showModels = async ( currentProvider: ProviderName, diff --git a/src/commands/components/chat/models/show-providers.ts b/src/commands/components/chat/models/show-providers.ts index e676e20..0e4e007 100644 --- a/src/commands/components/chat/models/show-providers.ts +++ b/src/commands/components/chat/models/show-providers.ts @@ -1,5 +1,5 @@ import { getConfig } from "@services/core/config"; -import { displayProvidersStatus } from "@providers/index.ts"; +import { displayProvidersStatus } from "@providers/index"; export const showProviders = async (): Promise => { const config = await getConfig(); diff --git a/src/commands/components/chat/models/switch-model.ts b/src/commands/components/chat/models/switch-model.ts index fd182f1..03a6776 100644 --- a/src/commands/components/chat/models/switch-model.ts +++ b/src/commands/components/chat/models/switch-model.ts @@ -5,9 +5,9 @@ import { errorMessage, } from "@utils/core/terminal"; import { getConfig } from "@services/core/config"; -import { getProvider } from "@providers/index.ts"; -import { showModels } from "./show-models.ts"; -import type { ChatState } from "../state.ts"; +import { getProvider } from "@providers/index"; +import { showModels } from "./show-models"; +import type { ChatState } from "../state"; export const switchModel = async ( modelName: string, diff --git a/src/commands/components/chat/models/switch-provider.ts b/src/commands/components/chat/models/switch-provider.ts index 7cb4455..273620d 100644 --- a/src/commands/components/chat/models/switch-provider.ts +++ b/src/commands/components/chat/models/switch-provider.ts @@ -10,8 +10,8 @@ import { getProvider, getProviderStatus, getDefaultModel, -} from "@providers/index.ts"; -import type { ChatState } from "../state.ts"; +} from "@providers/index"; +import type { ChatState } from "../state"; export const switchProvider = async ( providerName: string, diff --git a/src/commands/components/chat/session/restore-messages.ts b/src/commands/components/chat/session/restore-messages.ts index 77ee13a..067749a 100644 --- a/src/commands/components/chat/session/restore-messages.ts +++ b/src/commands/components/chat/session/restore-messages.ts @@ -1,5 +1,5 @@ import type { ChatSession } from "@/types/index"; -import type { Message } from "@providers/index.ts"; +import type { Message } from "@providers/index"; export const restoreMessagesFromSession = ( session: ChatSession, diff --git a/src/commands/components/execute/execute.tsx b/src/commands/components/execute/execute.tsx index 93f079d..21ad779 100644 --- a/src/commands/components/execute/execute.tsx +++ b/src/commands/components/execute/execute.tsx @@ -1,4 +1,6 @@ -import { tui, appStore } from "@tui/index"; +import { tui, appStore } from "@tui/app"; + +import { appStore } from "@tui-solid/context/app"; import { getProviderInfo } from "@services/chat-tui-service"; import { addServer, connectServer } from "@services/mcp/index"; import * as brainService from "@services/brain"; @@ -121,7 +123,9 @@ const defaultHandleMCPAdd = async (data: MCPAddFormData): Promise => { } }; -const defaultHandleBrainSetJwtToken = async (jwtToken: string): Promise => { +const defaultHandleBrainSetJwtToken = async ( + jwtToken: string, +): Promise => { await brainService.setJwtToken(jwtToken); const connected = await brainService.connect(); if (connected) { @@ -187,7 +191,8 @@ export const renderApp = async (props: RenderAppProps): Promise => { onMCPAdd: props.handleMCPAdd ?? defaultHandleMCPAdd, onPermissionResponse: props.handlePermissionResponse ?? (() => {}), onLearningResponse: props.handleLearningResponse ?? (() => {}), - onBrainSetJwtToken: props.handleBrainSetJwtToken ?? defaultHandleBrainSetJwtToken, + onBrainSetJwtToken: + props.handleBrainSetJwtToken ?? defaultHandleBrainSetJwtToken, onBrainSetApiKey: props.handleBrainSetApiKey ?? defaultHandleBrainSetApiKey, onBrainLogout: props.handleBrainLogout ?? defaultHandleBrainLogout, plan: props.plan, diff --git a/src/commands/core/index.ts b/src/commands/core/index.ts deleted file mode 100644 index 231b127..0000000 --- a/src/commands/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Commands Core - Main command handling - */ - -export * from "./runner"; -export * from "./handlers"; diff --git a/src/constants/background-task.ts b/src/constants/background-task.ts index b7ef70c..9866276 100644 --- a/src/constants/background-task.ts +++ b/src/constants/background-task.ts @@ -2,6 +2,28 @@ * Background task constants */ +import { BackgroundTaskPriority } from "@/types/background-task"; + +import { BackgroundTaskConfig } from "@interfaces/BackgroundTask"; + +export const DEFAULT_BACKGROUND_TASK_CONFIG: BackgroundTaskConfig = { + maxConcurrent: 3, + defaultTimeout: 300000, // 5 minutes + retryOnFailure: false, + maxRetries: 1, + notifyOnComplete: true, + persistTasks: true, +}; + +export const BACKGROUND_TASK_PRIORITIES: Record< + BackgroundTaskPriority, + number +> = { + low: 1, + normal: 5, + high: 10, +}; + export const BACKGROUND_TASK = { MAX_CONCURRENT: 3, DEFAULT_TIMEOUT: 300000, // 5 minutes diff --git a/src/interfaces/BackgroundTask.ts b/src/interfaces/BackgroundTask.ts new file mode 100644 index 0000000..82c7339 --- /dev/null +++ b/src/interfaces/BackgroundTask.ts @@ -0,0 +1,87 @@ +import { + BackgroundTaskPriority, + BackgroundTaskStatus, +} from "@/types/background-task"; + +export interface BackgroundTask { + readonly id: string; + readonly name: string; + readonly description: string; + readonly status: BackgroundTaskStatus; + readonly priority: BackgroundTaskPriority; + readonly createdAt: number; + readonly startedAt?: number; + readonly completedAt?: number; + readonly progress: TaskProgress; + readonly result?: TaskResult; + readonly error?: TaskError; + readonly metadata: TaskMetadata; +} + +export interface TaskProgress { + readonly current: number; + readonly total: number; + readonly percentage: number; + readonly message: string; + readonly steps: ReadonlyArray; +} + +export interface TaskStep { + readonly name: string; + readonly status: BackgroundTaskStatus; + readonly startedAt?: number; + readonly completedAt?: number; + readonly output?: string; +} + +export interface TaskResult { + readonly success: boolean; + readonly output: string; + readonly artifacts: ReadonlyArray; + readonly summary: string; +} + +export interface TaskArtifact { + readonly type: "file" | "diff" | "report" | "data"; + readonly name: string; + readonly path?: string; + readonly content?: string; +} + +export interface TaskError { + readonly code: string; + readonly message: string; + readonly stack?: string; + readonly recoverable: boolean; +} + +export interface TaskMetadata { + readonly sessionId: string; + readonly agentId?: string; + readonly prompt?: string; + readonly tools: ReadonlyArray; + readonly startedByUser: boolean; +} + +export interface BackgroundTaskConfig { + readonly maxConcurrent: number; + readonly defaultTimeout: number; + readonly retryOnFailure: boolean; + readonly maxRetries: number; + readonly notifyOnComplete: boolean; + readonly persistTasks: boolean; +} + +export interface TaskNotification { + readonly taskId: string; + readonly type: "started" | "progress" | "completed" | "failed"; + readonly message: string; + readonly timestamp: number; +} + +export interface BackgroundTaskStore { + readonly tasks: ReadonlyMap; + readonly queue: ReadonlyArray; + readonly running: ReadonlyArray; + readonly completed: ReadonlyArray; +} diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts new file mode 100644 index 0000000..9ca37b2 --- /dev/null +++ b/src/interfaces/index.ts @@ -0,0 +1,120 @@ +import { AgentType, IntentType, Provider } from "@/types/index"; + +export interface TuiInput { + sessionId?: string; + initialPrompt?: string; + provider?: string; + model?: string; + theme?: string; + workingDirectory?: string; + availableModels?: ProviderModel[]; + cascadeEnabled?: boolean; +} + +export interface TuiOutput { + exitCode: number; + sessionId?: string; +} + +export interface Config { + provider: Provider; + model?: string; + theme?: string; + maxIterations: number; + timeout: number; + protectedPaths: string[]; + systemPrompt?: string; + cascadeEnabled?: boolean; +} + +export interface IntentRequest { + prompt: string; + context?: string; + files?: string[]; +} + +export interface IntentResponse { + intent: IntentType; + confidence: number; + reasoning: string; + needsClarification: boolean; + clarificationQuestions?: string[]; +} + +export interface PlanStep { + id: string; + type: "read" | "edit" | "create" | "delete" | "execute"; + description: string; + file?: string; + dependencies?: string[]; + tool?: string; + args?: Record; +} + +export interface ExecutionPlan { + steps: PlanStep[]; + intent: IntentType; + summary: string; + estimatedTime?: number; +} + +export interface ValidationResult { + valid: boolean; + errors: string[]; + warnings: string[]; + protectedPaths: string[]; +} + +export interface ChatMessage { + role: "user" | "assistant" | "system"; + content: string; + timestamp: number; +} + +export interface ChatSession { + id: string; + agent: AgentType; + messages: ChatMessage[]; + contextFiles: string[]; + createdAt: number; + updatedAt: number; +} + +export interface CommandOptions { + agent?: AgentType; + model?: string; + files?: string[]; + dryRun?: boolean; + maxIterations?: number; + autoApprove?: boolean; + task?: string; + prompt?: string; + context?: string; + intent?: IntentType; + output?: string; + planFile?: string; + action?: string; + key?: string; + value?: string; +} + +export interface ToolResult { + success: boolean; + output?: string; + error?: string; + files?: string[]; +} + +export interface FileEdit { + file: string; + search: string; + replace: string; + description?: string; +} + +export interface TerminalSpinner { + start(text: string): void; + succeed(text: string): void; + fail(text: string): void; + stop(): void; +} diff --git a/src/prompts/index.ts b/src/prompts/index.ts deleted file mode 100644 index bcbad36..0000000 --- a/src/prompts/index.ts +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Prompts Index - * - * Centralized exports for all system prompts. - */ - -// System prompts -export { DEFAULT_SYSTEM_PROMPT } from "@prompts/system/default"; -export { AGENTIC_SYSTEM_PROMPT, buildAgenticPrompt } from "@prompts/system/agent"; -export { ASK_SYSTEM_PROMPT, buildAskPrompt } from "@prompts/system/ask"; -export { PLAN_SYSTEM_PROMPT } from "@prompts/system/planner"; -export { - DEBUGGING_SYSTEM_PROMPT, - DEBUGGING_CONTEXT_TEMPLATE, -} from "@prompts/system/debugging"; -export { - CODE_REVIEW_SYSTEM_PROMPT, - CODE_REVIEW_CONTEXT_TEMPLATE, - buildCodeReviewPrompt, -} from "@prompts/system/code-review"; -export { - REFACTORING_SYSTEM_PROMPT, - REFACTORING_CONTEXT_TEMPLATE, -} from "@prompts/system/refactoring"; -export { - MEMORY_SYSTEM_PROMPT, - MEMORY_CONTEXT_TEMPLATE, - MEMORY_RETRIEVAL_PROMPT, -} from "@prompts/system/memory"; - -// Environment template -export { ENVIRONMENT_PROMPT_TEMPLATE } from "@prompts/system/environment"; - -// Environment service (logic moved to services) -export { - buildEnvironmentPrompt, - getEnvironmentContext, - type EnvironmentContext, -} from "@services/environment-service"; - -// Debugging service -export { - detectDebuggingRequest, - buildDebuggingContext, - getDebuggingPrompt, - enhancePromptForDebugging, - type DebugContext, - type DebugType, -} from "@services/debugging-service"; - -// Code review service -export { - detectCodeReviewRequest, - buildCodeReviewContext, - getCodeReviewPrompt, - enhancePromptForCodeReview, - type CodeReviewContext, - type ReviewType, - type ReviewFocusArea, -} from "@services/code-review-service"; - -// Refactoring service -export { - detectRefactoringRequest, - buildRefactoringContext, - getRefactoringPrompt, - enhancePromptForRefactoring, - type RefactoringContext, - type RefactoringType, - type RefactoringGoal, -} from "@services/refactoring-service"; - -// Memory service -export { - detectMemoryCommand, - storeMemory, - getMemories, - findMemories, - getRelevantMemories, - buildMemoryContext, - buildRelevantMemoryPrompt, - getMemoryPrompt, - processMemoryCommand, - type MemoryContext, - type MemoryCommandType, - type MemoryCategory, -} from "@services/memory-service"; - -// Tool instructions -export { - BASH_TOOL_INSTRUCTIONS, - READ_TOOL_INSTRUCTIONS, - WRITE_TOOL_INSTRUCTIONS, - EDIT_TOOL_INSTRUCTIONS, - GLOB_TOOL_INSTRUCTIONS, - GREP_TOOL_INSTRUCTIONS, - ALL_TOOL_INSTRUCTIONS, -} from "@prompts/system/tools"; - -// Git instructions -export { - GIT_COMMIT_INSTRUCTIONS, - GIT_PR_INSTRUCTIONS, -} from "@prompts/system/git"; - -// UI prompts -export { HELP_TEXT, COMMAND_DESCRIPTIONS } from "@prompts/ui/help"; - -// Re-export rules utilities for backwards compatibility -export { - loadProjectRules, - buildSystemPromptWithRules, - getRulesForCategory, -} from "@services/rules-service"; - -export { MCP_CATEGORIES, TOOL_CATEGORIES } from "@constants/rules"; - -export type { - ProjectRules, - RuleFile, - RuleCategory, - MCPCategory, - ToolCategory, -} from "@/types/rules"; diff --git a/src/providers/copilot/auth/index.ts b/src/providers/copilot/auth/index.ts deleted file mode 100644 index bb7f062..0000000 --- a/src/providers/copilot/auth/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Copilot Provider Auth - Authentication and Credentials - */ - -export * from "./auth"; -export * from "./token"; -export * from "./credentials"; diff --git a/src/providers/copilot/core/index.ts b/src/providers/copilot/core/index.ts deleted file mode 100644 index e0f2f92..0000000 --- a/src/providers/copilot/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copilot Provider Core - Chat and Models - */ - -export * from "./chat"; -export * from "./models"; diff --git a/src/providers/core/index.ts b/src/providers/core/index.ts deleted file mode 100644 index 522a27a..0000000 --- a/src/providers/core/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Providers Core - Common provider functionality - */ - -export * from "./registry"; -export * from "./chat"; -export * from "./credentials"; -export * from "./status"; diff --git a/src/providers/index.ts b/src/providers/index.ts deleted file mode 100644 index 3dff274..0000000 --- a/src/providers/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Provider manager for CodeTyper CLI - * Handles provider selection, authentication, and credential management - */ - -// Re-export types -export * from "@/types/providers"; - -// Re-export registry functions -export { - getProvider, - getAllProviders, - getProviderNames, - isValidProvider, -} from "@providers/core/registry"; - -// Re-export status functions -export { getProviderStatus, displayProvidersStatus } from "@providers/core/status"; - -// Re-export login functions -export { - loginProvider, - logoutProvider, - initializeProviders, - completeCopilotLogin, -} from "@providers/login"; - -// Re-export chat functions -export { chat, chatStream, getDefaultModel, getModels } from "@providers/core/chat"; - -// Re-export copilot-specific functions -export { - initiateDeviceFlow, - pollForAccessToken, - getCopilotUserInfo as getCopilotUserInfoFn, -} from "@providers/copilot"; - -// Re-export getCopilotUserInfo with consistent naming -export const getCopilotUserInfo = async (): Promise<{ - login: string; - name?: string; - email?: string; -} | null> => { - const { getCopilotUserInfo: fn } = await import("@providers/copilot"); - return fn(); -}; diff --git a/src/providers/login/core/index.ts b/src/providers/login/core/index.ts deleted file mode 100644 index c52edc6..0000000 --- a/src/providers/login/core/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Login Core - Initialization - */ - -export * from "./initialize"; diff --git a/src/providers/ollama/core/index.ts b/src/providers/ollama/core/index.ts deleted file mode 100644 index 522d039..0000000 --- a/src/providers/ollama/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Ollama Provider Core - Chat and Models - */ - -export * from "./chat"; -export * from "./models"; diff --git a/src/services/background-task-service.ts b/src/services/background-task-service.ts index 03f1243..b5bc80f 100644 --- a/src/services/background-task-service.ts +++ b/src/services/background-task-service.ts @@ -10,24 +10,35 @@ import { existsSync } from "node:fs"; import { homedir } from "node:os"; import type { - BackgroundTask, BackgroundTaskStatus, BackgroundTaskPriority, +} from "@/types/background-task"; + +import { + BackgroundTask, BackgroundTaskConfig, TaskProgress, TaskResult, TaskError, TaskMetadata, TaskNotification, -} from "@/types/background-task"; -import { DEFAULT_BACKGROUND_TASK_CONFIG, BACKGROUND_TASK_PRIORITIES } from "@/types/background-task"; +} from "@interfaces/BackgroundTask"; + +import { + DEFAULT_BACKGROUND_TASK_CONFIG, + BACKGROUND_TASK_PRIORITIES, +} from "@constants/background-task"; + import { BACKGROUND_TASK_STORAGE, BACKGROUND_TASK_MESSAGES, BACKGROUND_TASK_STATUS_ICONS, } from "@constants/background-task"; -type TaskHandler = (task: BackgroundTask, updateProgress: (progress: Partial) => void) => Promise; +type TaskHandler = ( + task: BackgroundTask, + updateProgress: (progress: Partial) => void, +) => Promise; type NotificationHandler = (notification: TaskNotification) => void; interface BackgroundTaskState { @@ -64,12 +75,18 @@ const persistTask = async (task: BackgroundTask): Promise => { if (!state.config.persistTasks) return; await ensureStorageDirectory(); - const filePath = join(getStoragePath(), `${task.id}${BACKGROUND_TASK_STORAGE.FILE_EXTENSION}`); + const filePath = join( + getStoragePath(), + `${task.id}${BACKGROUND_TASK_STORAGE.FILE_EXTENSION}`, + ); await writeFile(filePath, JSON.stringify(task, null, 2)); }; const removePersistedTask = async (taskId: string): Promise => { - const filePath = join(getStoragePath(), `${taskId}${BACKGROUND_TASK_STORAGE.FILE_EXTENSION}`); + const filePath = join( + getStoragePath(), + `${taskId}${BACKGROUND_TASK_STORAGE.FILE_EXTENSION}`, + ); if (existsSync(filePath)) { await unlink(filePath); } @@ -80,7 +97,9 @@ const loadPersistedTasks = async (): Promise => { if (!existsSync(storagePath)) return; const files = await readdir(storagePath); - const taskFiles = files.filter((f) => f.endsWith(BACKGROUND_TASK_STORAGE.FILE_EXTENSION)); + const taskFiles = files.filter((f) => + f.endsWith(BACKGROUND_TASK_STORAGE.FILE_EXTENSION), + ); for (const file of taskFiles) { try { @@ -104,7 +123,11 @@ const loadPersistedTasks = async (): Promise => { } }; -const notify = (taskId: string, type: TaskNotification["type"], message: string): void => { +const notify = ( + taskId: string, + type: TaskNotification["type"], + message: string, +): void => { const notification: TaskNotification = { taskId, type, @@ -133,7 +156,10 @@ const processQueue = async (): Promise => { const taskA = state.tasks.get(a); const taskB = state.tasks.get(b); if (!taskA || !taskB) return 0; - return BACKGROUND_TASK_PRIORITIES[taskB.priority] - BACKGROUND_TASK_PRIORITIES[taskA.priority]; + return ( + BACKGROUND_TASK_PRIORITIES[taskB.priority] - + BACKGROUND_TASK_PRIORITIES[taskA.priority] + ); }); const taskId = state.queue.shift(); @@ -176,9 +202,10 @@ const executeTask = async (task: BackgroundTask): Promise => { const newProgress: TaskProgress = { ...currentTask.progress, ...partial, - percentage: partial.current !== undefined && partial.total !== undefined - ? Math.round((partial.current / partial.total) * 100) - : currentTask.progress.percentage, + percentage: + partial.current !== undefined && partial.total !== undefined + ? Math.round((partial.current / partial.total) * 100) + : currentTask.progress.percentage, }; const progressTask: BackgroundTask = { @@ -194,7 +221,10 @@ const executeTask = async (task: BackgroundTask): Promise => { const result = await Promise.race([ handler(updatedTask, updateProgress), new Promise((_, reject) => - setTimeout(() => reject(new Error("Task timeout")), state.config.defaultTimeout) + setTimeout( + () => reject(new Error("Task timeout")), + state.config.defaultTimeout, + ), ), ]); @@ -214,7 +244,10 @@ const executeTask = async (task: BackgroundTask): Promise => { } }; -const completeTask = async (taskId: string, result: TaskResult): Promise => { +const completeTask = async ( + taskId: string, + result: TaskResult, +): Promise => { const task = state.tasks.get(taskId); if (!task) return; @@ -240,7 +273,7 @@ const completeTask = async (taskId: string, result: TaskResult): Promise = const updateTaskStatus = async ( taskId: string, status: BackgroundTaskStatus, - error?: TaskError + error?: TaskError, ): Promise => { const task = state.tasks.get(taskId); if (!task) return; @@ -249,7 +282,9 @@ const updateTaskStatus = async ( ...task, status, error, - completedAt: ["completed", "failed", "cancelled"].includes(status) ? Date.now() : undefined, + completedAt: ["completed", "failed", "cancelled"].includes(status) + ? Date.now() + : undefined, }; state.tasks.set(taskId, updatedTask); @@ -262,7 +297,9 @@ const updateTaskStatus = async ( // Public API -export const initialize = async (config?: Partial): Promise => { +export const initialize = async ( + config?: Partial, +): Promise => { state.config = { ...DEFAULT_BACKGROUND_TASK_CONFIG, ...config }; await loadPersistedTasks(); processQueue(); @@ -272,10 +309,12 @@ export const registerHandler = (name: string, handler: TaskHandler): void => { state.handlers.set(name, handler); }; -export const onNotification = (handler: NotificationHandler): () => void => { +export const onNotification = (handler: NotificationHandler): (() => void) => { state.notificationHandlers.push(handler); return () => { - state.notificationHandlers = state.notificationHandlers.filter((h) => h !== handler); + state.notificationHandlers = state.notificationHandlers.filter( + (h) => h !== handler, + ); }; }; @@ -283,7 +322,7 @@ export const createTask = async ( name: string, description: string, metadata: TaskMetadata, - priority: BackgroundTaskPriority = "normal" + priority: BackgroundTaskPriority = "normal", ): Promise => { const task: BackgroundTask = { id: randomUUID(), @@ -349,7 +388,9 @@ export const resumeTask = async (taskId: string): Promise => { export const getTask = (taskId: string): BackgroundTask | undefined => state.tasks.get(taskId); -export const listTasks = (filter?: { status?: BackgroundTaskStatus }): ReadonlyArray => { +export const listTasks = (filter?: { + status?: BackgroundTaskStatus; +}): ReadonlyArray => { let tasks = Array.from(state.tasks.values()); if (filter?.status) { @@ -361,7 +402,10 @@ export const listTasks = (filter?: { status?: BackgroundTaskStatus }): ReadonlyA export const clearCompletedTasks = async (): Promise => { const completed = Array.from(state.tasks.values()).filter( - (t) => t.status === "completed" || t.status === "failed" || t.status === "cancelled" + (t) => + t.status === "completed" || + t.status === "failed" || + t.status === "cancelled", ); for (const task of completed) { @@ -377,7 +421,8 @@ export const getTaskStatusIcon = (status: BackgroundTaskStatus): string => export const formatTaskSummary = (task: BackgroundTask): string => { const icon = getTaskStatusIcon(task.status); - const progress = task.status === "running" ? ` (${task.progress.percentage}%)` : ""; + const progress = + task.status === "running" ? ` (${task.progress.percentage}%)` : ""; return `${icon} ${task.name}${progress} - ${task.description}`; }; diff --git a/src/services/cascading-provider/index.ts b/src/services/cascading-provider/index.ts deleted file mode 100644 index f935e8d..0000000 --- a/src/services/cascading-provider/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Cascading Provider Service - * - * Orchestrates multi-provider cascading with quality learning - */ - -export { - checkOllamaAvailability, - checkCopilotAvailability, - getProviderStatuses, - clearProviderCache, - invalidateProvider, - type ProviderStatus, -} from "./availability"; - -export { - executeCascade, - recordUserFeedback, - type CascadeCallbacks, - type CascadeOptions, - type ProviderCallFn, -} from "./orchestrator"; diff --git a/src/services/core/index.ts b/src/services/core/index.ts deleted file mode 100644 index 9a0ba09..0000000 --- a/src/services/core/index.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Services Core - Core service exports - */ - -// Agent -export { - runAgentLoop, - runAgent, - createAgent, - type AgentOptions, - type AgentResult, -} from "./agent"; - -// Permissions -export { - setWorkingDir as setPermissionsWorkingDir, - setPermissionHandler, - initializePermissions, - parsePattern, - matchesBashPattern, - matchesPathPattern, - isBashAllowed, - isBashDenied, - isFileOpAllowed, - generateBashPattern, - addSessionPattern, - addGlobalPattern, - addLocalPattern, - listPatterns, - clearSessionPatterns, - promptBashPermission, - promptFilePermission, - promptPermission, - getPermissionLevel, - type ToolType, - type PermissionPattern, - type PermissionsConfig, - type PermissionHandler, -} from "./permissions"; - -// Session -export { - createSession, - loadSession, - saveSession, - addMessage, - addContextFile, - removeContextFile, - getCurrentSession, - listSessions, - deleteSession, - clearMessages, - getMostRecentSession, - getSessionSummaries, - findSession, - setWorkingDirectory, - type SessionInfo, -} from "./session"; - -// Executor -export { - setWorkingDir as setExecutorWorkingDir, - getWorkingDir, - executeCommand, - executeStreamingCommand, - readFile, - writeFile, - editFile, - deleteFile, - createDirectory, - listDirectory, - pathExists, - getStats, - type ExecutionResult, - type FileOperation, -} from "./executor"; - -// Config -export { - loadConfig, - saveConfig, - getConfigValue, - setConfigValue, - getAllConfig, - getApiKey, - getModel, - getConfigPath, - isProtectedPath, - resetConfig, - getConfig, -} from "./config"; diff --git a/src/services/core/session.ts b/src/services/core/session.ts index f9d344b..73c5fd3 100644 --- a/src/services/core/session.ts +++ b/src/services/core/session.ts @@ -1,10 +1,7 @@ -/** - * Session management for persisting chat history - */ - import fs from "fs/promises"; import path from "path"; -import type { ChatSession, ChatMessage, AgentType } from "@/types/index"; +import type { AgentType } from "@/types/common"; +import { ChatSession, ChatMessage, AgentType } from "@interafaces/index"; import type { SessionInfo } from "@/types/session"; import { DIRS } from "@constants/paths"; diff --git a/src/services/feature-dev/index.ts b/src/services/feature-dev/index.ts index b36717e..6b30b71 100644 --- a/src/services/feature-dev/index.ts +++ b/src/services/feature-dev/index.ts @@ -4,12 +4,19 @@ * Main orchestrator for the 7-phase feature development workflow. */ -import { PHASE_ORDER, FEATURE_DEV_CONFIG, FEATURE_DEV_ERRORS } from "@constants/feature-dev"; +import { + PHASE_ORDER, + FEATURE_DEV_CONFIG, + FEATURE_DEV_ERRORS, +} from "@constants/feature-dev"; import { executePhase, validateTransition, } from "@services/feature-dev/phase-executor"; -import { buildWorkflowSummary, extractKeyInfo } from "@services/feature-dev/context-builder"; +import { + buildWorkflowSummary, + extractKeyInfo, +} from "@services/feature-dev/context-builder"; import type { FeatureDevPhase, FeatureDevState, @@ -18,11 +25,6 @@ import type { CheckpointDecision, } from "@/types/feature-dev"; -// Re-export sub-modules -export * from "@services/feature-dev/phase-executor"; -export * from "@services/feature-dev/checkpoint-handler"; -export * from "@services/feature-dev/context-builder"; - // Active workflows storage const activeWorkflows = new Map(); @@ -179,10 +181,11 @@ export const runWorkflow = async ( }; } - state = updateWorkflow(workflowId, { - phase: result.nextPhase, - phaseStatus: "pending", - }) ?? state; + state = + updateWorkflow(workflowId, { + phase: result.nextPhase, + phaseStatus: "pending", + }) ?? state; ctx.state = state; } else { // No next phase, workflow complete @@ -201,7 +204,9 @@ export const runWorkflow = async ( */ export const getWorkflowProgress = ( workflowId: string, -): { summary: string; keyInfo: Record } | undefined => { +): + | { summary: string; keyInfo: Record } + | undefined => { const workflow = getWorkflow(workflowId); if (!workflow) return undefined; diff --git a/src/services/github-pr/index.ts b/src/services/github-pr/index.ts deleted file mode 100644 index 59a6dcc..0000000 --- a/src/services/github-pr/index.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * GitHub PR Service - * - * Service for interacting with GitHub Pull Requests using the gh CLI. - */ - -export { checkGitHubCLI, clearCLIStatusCache, executeGHCommand } from "@services/github-pr/cli"; - -export { - parsePRUrl, - containsPRUrl, - extractPRUrls, - buildPRUrl, -} from "@services/github-pr/url"; - -export { - fetchPR, - fetchPRComments, - fetchPRReviews, - fetchPRDiff, - getDefaultBranch, - getCurrentBranch, - getBranchDiff, -} from "@services/github-pr/fetch"; - -export { - formatPRContext, - formatPRComments, - formatPRReviews, - formatPRDiffSummary, - formatCommentForSolving, - formatPendingComments, -} from "@services/github-pr/format"; - -export type { - GitHubPR, - GitHubPRComment, - GitHubPRReview, - GitHubPRDiff, - GitHubPRFile, - GitHubCLIStatus, - PRUrlParts, -} from "@/types/github-pr"; diff --git a/src/services/index.ts b/src/services/index.ts deleted file mode 100644 index 0ead0a0..0000000 --- a/src/services/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Services Module - Business logic extracted from UI components - */ - -// Feature services -export * from "@services/file-picker-service"; -export * from "@services/chat-tui-service"; -export * from "@services/github-issue-service"; -export * from "@services/command-suggestion-service"; -export * from "@services/learning-service"; -export * from "@services/rules-service"; -export * as brainService from "@services/brain"; - -// Note: Core services (agent, permissions, session, executor, config) are imported -// directly from @services/core/* to avoid naming conflicts with chat-tui-service diff --git a/src/services/learning/index.ts b/src/services/learning/index.ts deleted file mode 100644 index c093910..0000000 --- a/src/services/learning/index.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Learning Service Exports - * - * Central export point for all learning-related functionality - */ - -// Core persistence -export { - saveLearning, - getLearnings, - learningExists, -} from "@services/learning/persistence"; - -// Embedding service -export { - initializeEmbeddingService, - embed, - embedBatch, - isEmbeddingAvailable, - getEmbeddingModel, - getEmbeddingError, - getServiceState, - resetEmbeddingService, -} from "@services/learning/embeddings"; - -// Vector store -export { - cosineSimilarity, - euclideanDistance, - loadIndex, - saveIndex, - upsertEmbedding, - removeEmbedding, - hasEmbedding, - getEmbedding, - findSimilar, - findAboveThreshold, - getIndexStats, -} from "@services/learning/vector-store"; - -// Semantic search -export { - indexLearning, - unindexLearning, - isLearningIndexed, - searchLearnings, - rebuildIndex, - clearIndexCache, - getIndexStatistics, -} from "@services/learning/semantic-search"; - -// Re-export types -export type { - StoredLearning, - LearningCandidate, - LearningCategory, -} from "@/types/learning"; - -export type { - EmbeddingVector, - EmbeddingResult, - EmbeddingIndex, - StoredEmbedding, - SimilarityResult, - SemanticSearchResult, - SemanticSearchOptions, -} from "@/types/embeddings"; diff --git a/src/services/mcp/index.ts b/src/services/mcp/index.ts deleted file mode 100644 index 976152b..0000000 --- a/src/services/mcp/index.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** - * MCP Service - Model Context Protocol integration - * - * Provides connectivity to MCP servers for extensible tool integration. - */ - -export { MCPClient } from "@services/mcp/client"; - -export { - initializeMCP, - loadMCPConfig, - saveMCPConfig, - connectServer, - disconnectServer, - connectAllServers, - disconnectAllServers, - getServerInstances, - getAllTools, - callTool, - addServer, - removeServer, - getMCPConfig, - isMCPAvailable, -} from "@services/mcp/manager"; - -export type { - MCPConfig, - MCPServerConfig, - MCPServerInstance, - MCPToolDefinition, - MCPResourceDefinition, - MCPToolCallRequest, - MCPToolCallResult, - MCPConnectionState, - MCPTransportType, - MCPManagerState, -} from "@/types/mcp"; - -// Registry exports -export { - getAllServers, - getCuratedServers, - searchServers, - getServerById, - getServersByCategory, - isServerInstalled, - installServer, - installServerById, - getPopularServers, - getVerifiedServers, - getCategoriesWithCounts, - refreshRegistry, - clearRegistryCache, -} from "@services/mcp/registry"; - -export type { - MCPRegistryServer, - MCPSearchResult, - MCPSearchOptions, - MCPInstallResult, - MCPServerCategory, -} from "@/types/mcp-registry"; diff --git a/src/services/permissions/index.ts b/src/services/permissions/index.ts deleted file mode 100644 index cf57730..0000000 --- a/src/services/permissions/index.ts +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Permission System Index - * - * Provides optimized permission checking with cached patterns and indexed lookups. - * Maintains backward compatibility with existing API. - */ - -// Re-export optimized implementation -export { - initializePermissions, - resetPermissions, - setWorkingDir, - setPermissionHandler, - isBashAllowed, - isBashDenied, - isFileOpAllowed, - addSessionPattern, - addGlobalPattern, - addLocalPattern, - listPatterns, - clearSessionPatterns, - getPermissionStats, - generateBashPattern, - generateFilePattern, - parsePattern, - matchesBashPattern, - matchesPathPattern, - promptBashPermission, - promptFilePermission, - promptPermission, - getPermissionLevel, -} from "@services/permissions/optimized"; - -// Re-export pattern cache utilities -export { - clearPatternCache, - getCacheStats, - warmCache, -} from "@services/permissions/pattern-cache"; - -// Re-export pattern index utilities -export { - buildPatternIndex, - addToIndex, - removeFromIndex, - getPatternsForTool, - hasPattern, - getRawPatterns, - mergeIndexes, - getIndexStats, - type PatternIndex, - type PatternEntry, - type IndexStats, -} from "@services/permissions/pattern-index"; - -// Re-export matchers -export { - isBashAllowedByIndex, - findMatchingBashPatterns, - extractCommandPrefix, - isFileOpAllowedByIndex, - findMatchingFilePatterns, - normalizePath, - isPathInDirectory, -} from "@services/permissions/matchers"; - -// Re-export types -export type { - ToolType, - PermissionPattern, - PermissionsConfig, - PermissionPromptRequest, - PermissionPromptResponse, - PermissionHandler, -} from "@/types/permissions"; diff --git a/src/services/permissions/matchers/index.ts b/src/services/permissions/matchers/index.ts deleted file mode 100644 index fc82c91..0000000 --- a/src/services/permissions/matchers/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Permission Matchers Index - * - * Re-exports all matchers for convenient access - */ - -export { - matchesBashPattern, - isBashAllowedByIndex, - findMatchingBashPatterns, - generateBashPattern, - extractCommandPrefix, -} from "@services/permissions/matchers/bash"; - -export { - matchesPathPattern, - matchesFilePattern, - isFileOpAllowedByIndex, - findMatchingFilePatterns, - generateFilePattern, - normalizePath, - isPathInDirectory, -} from "@services/permissions/matchers/path"; diff --git a/src/services/provider-quality/index.ts b/src/services/provider-quality/index.ts deleted file mode 100644 index 22f434b..0000000 --- a/src/services/provider-quality/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Provider Quality Service - * - * Manages provider quality scores, routing, and learning - */ - -export { detectTaskType, getTaskTypeConfidence } from "./task-detector"; -export { - detectFeedback, - isCorrection, - isApproval, - type FeedbackType, - type FeedbackResult, -} from "./feedback-detector"; -export { - loadQualityData, - saveQualityData, - getProviderQuality, - updateProviderQuality, - calculateOverallScore, -} from "./persistence"; -export { - updateQualityScore, - getTaskScore, - getOverallScore, - recordApproval, - recordCorrection, - recordRejection, - recordAuditResult, - type Outcome, - type ScoreUpdate, -} from "./score-manager"; -export { - determineRoute, - shouldAudit, - getRoutingExplanation, - type RoutingContext, -} from "./router"; diff --git a/src/services/reasoning/index.ts b/src/services/reasoning/index.ts deleted file mode 100644 index b6879f2..0000000 --- a/src/services/reasoning/index.ts +++ /dev/null @@ -1,234 +0,0 @@ -/** - * Reasoning Control Layer - Public API - * - * This module provides cognitive control layers that create intelligence - * through control flow, not prompt engineering. - * - * Five cognitive functions: - * 1. Quality Evaluation - Assess response acceptability - * 2. Retry Policy - Control retry behavior through state machine - * 3. Context Compression - Reduce context while preserving information - * 4. Memory Selection - Select relevant memories for context - * 5. Termination Detection - Detect task completion through validation - */ - -// ============================================================================= -// QUALITY EVALUATION -// ============================================================================= - -export { - evaluateQuality, - computeQualityMetrics, - computeStructuralScore, - computeRelevanceScore, - computeCompletenessScore, - computeCoherenceScore, - computeVerdict, - detectDeficiencies, - hasHallucinationMarkers, - hasContradiction, -} from "@services/reasoning/quality-evaluation"; - -// ============================================================================= -// RETRY POLICY -// ============================================================================= - -export { - createInitialRetryState, - createRetryBudget, - computeRetryTransition, - splitTaskDescription, - isRetryable, - getCurrentTier, - getRemainingAttempts, - getElapsedTime, - getRemainingTime, -} from "@services/reasoning/retry-policy"; - -// ============================================================================= -// CONTEXT COMPRESSION -// ============================================================================= - -export { - compressContext, - determineCompressionLevel, - shouldCompress, - compressIncrementally, - calculateMessageAge, - markMessagesWithAge, - getPreservationCandidates, -} from "@services/reasoning/context-compression"; - -// ============================================================================= -// MEMORY SELECTION -// ============================================================================= - -export { - selectRelevantMemories, - computeRelevance, - computeMandatoryItems, - createMemoryItem, - createQueryContext, - createMemoryStore, - addMemory, - findMemoriesByType, - findMemoriesByPath, - pruneOldMemories, -} from "@services/reasoning/memory-selection"; - -export { MemoryStore } from "@interfaces/memory"; - -// ============================================================================= -// TERMINATION DETECTION -// ============================================================================= - -export { - createInitialTerminationState, - processTerminationTrigger, - computeTerminationConfidence, - runValidationCheck, - extractValidationFailures, - isComplete, - isFailed, - isTerminal, - requiresValidation, - getConfidencePercentage, -} from "@services/reasoning/termination-detection"; - -export type { ValidationContext } from "@services/reasoning/termination-detection"; - -// ============================================================================= -// ORCHESTRATOR -// ============================================================================= - -export { - createOrchestratorConfig, - createInitialState, - prepareContext, - evaluateResponseQuality, - decideRetry, - checkTermination, - executeReasoningCycle, -} from "@services/reasoning/orchestrator"; - -export type { - OrchestratorConfig, - ContextPreparationInput, - ContextPreparationOutput, - QualityEvaluationInput, - RetryDecisionInput, - RetryDecisionOutput, - TerminationCheckInput, - TerminationCheckOutput, - ExecutionCycleInput, - ExecutionCycleOutput, -} from "@services/reasoning/orchestrator"; - -// ============================================================================= -// UTILITIES -// ============================================================================= - -export { - estimateTokens, - estimateTokensForObject, - tokenize, - jaccardSimilarity, - weightedSum, - extractEntities, - createEntityTable, - mergeEntityTables, - truncateMiddle, - foldCode, - extractCodeBlocks, - recencyDecay, - createTimestamp, - generateId, - isValidJson, - hasBalancedBraces, - countMatches, - sum, - unique, - groupBy, -} from "@services/reasoning/utils"; - -// ============================================================================= -// RE-EXPORT TYPES -// ============================================================================= - -export type { - // Common - MessageId, - ToolId, - MemoryId, - TaskId, - Entity, - EntityType, - EntityTable, - - // Quality Evaluation - QualityVerdict, - DeficiencyTag, - QualityMetrics, - QualityEvalInput, - QualityEvalOutput, - ResponseType, - ToolCallInfo, - TaskConstraints, - AttemptRecord, - - // Retry Policy - RetryStateKind, - ExhaustionReason, - RetryState, - RetryBudget, - RetryPolicyState, - ContextDelta, - SubTask, - RetryTrigger, - ToolExecutionError, - RetryTransform, - RetryAction, - EscalationContext, - RetryPolicyInput, - RetryPolicyOutput, - - // Context Compression - CompressionLevel, - CompressibleMessage, - MessageMetadata, - CompressibleToolResult, - CodeBlock, - CompressionTrigger, - CompressionInput, - CompressionOutput, - - // Memory Selection - MemoryItemType, - MemoryItem, - QueryContext, - RelevanceScore, - RelevanceBreakdown, - SelectionInput, - ExclusionReason, - SelectionOutput, - - // Termination Detection - TerminationStatus, - CompletionSignalSource, - CompletionSignal, - ValidationCheckType, - ValidationCheck, - ValidationResult, - ValidationFailure, - TerminationState, - TerminationTrigger, - TerminationDecision, - TerminationOutput, - TerminationEvidence, - - // Orchestrator - ReasoningControlState, - ExecutionPhase, - ExecutionMetrics, - ReasoningTaskResult, -} from "@/types/reasoning"; diff --git a/src/stores/core/index.ts b/src/stores/core/index.ts deleted file mode 100644 index 26c64a9..0000000 --- a/src/stores/core/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Store Core - Re-exports all stores - */ - -export * from "./vim-store"; -export * from "./theme-store"; -export * from "./usage-store"; -export * from "./todo-store"; -export * from "./multi-agent-store"; diff --git a/src/stores/index.ts b/src/stores/index.ts deleted file mode 100644 index b01896f..0000000 --- a/src/stores/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Stores Module - Zustand state management - * - * Re-exports all stores from core/ - */ - -export * from "./core"; diff --git a/src/tools/core/index.ts b/src/tools/core/index.ts deleted file mode 100644 index ebc374a..0000000 --- a/src/tools/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Tools Core - Registry and Types - */ - -export * from "./registry"; -export * from "./types"; diff --git a/src/tools/index.ts b/src/tools/index.ts index 358ce39..1ddeb40 100644 --- a/src/tools/index.ts +++ b/src/tools/index.ts @@ -1,22 +1,3 @@ -/** - * Tool registry - exports all available tools - */ - -export * from "@tools/core/types"; -export { bashTool } from "@tools/bash"; -export { readTool } from "@tools/read"; -export { writeTool } from "@tools/write"; -export { editTool } from "@tools/edit"; -export { todoWriteTool } from "@tools/todo-write"; -export { todoReadTool } from "@tools/todo-read"; -export { globToolDefinition } from "@tools/glob/definition"; -export { grepToolDefinition } from "@tools/grep/definition"; -export { webSearchTool } from "@tools/web-search"; -export { webFetchTool } from "@tools/web-fetch"; -export { multiEditTool } from "@tools/multi-edit"; -export { lspTool } from "@tools/lsp"; -export { applyPatchTool } from "@tools/apply-patch"; - import type { ToolDefinition, FunctionDefinition } from "@tools/core/types"; import { toolToFunction } from "@tools/core/types"; import { bashTool } from "@tools/bash"; @@ -141,9 +122,7 @@ const filterToolsForMode = ( * This includes both built-in tools and MCP tools * @param chatMode - If true, only return read-only tools (no file modifications) */ -export async function getToolsForApiAsync( - chatMode = false, -): Promise< +export async function getToolsForApiAsync(chatMode = false): Promise< { type: "function"; function: FunctionDefinition; @@ -176,9 +155,7 @@ export async function getToolsForApiAsync( * Get tools synchronously (uses cached MCP tools if available) * @param chatMode - If true, only return read-only tools (no file modifications) */ -export function getToolsForApi( - chatMode = false, -): { +export function getToolsForApi(chatMode = false): { type: "function"; function: FunctionDefinition; }[] { diff --git a/src/tools/multi-edit/index.ts b/src/tools/multi-edit/index.ts deleted file mode 100644 index f12d11f..0000000 --- a/src/tools/multi-edit/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * MultiEdit Tool - * - * Batch file editing with atomic transactions - */ - -export { multiEditTool, executeMultiEdit } from "@tools/multi-edit/execute"; -export { - multiEditParams, - editItemSchema, - type EditItem, - type MultiEditParams, -} from "@tools/multi-edit/params"; diff --git a/src/tools/web-fetch/index.ts b/src/tools/web-fetch/index.ts deleted file mode 100644 index f35e164..0000000 --- a/src/tools/web-fetch/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * WebFetch Tool - * - * Fetch and convert web content to markdown - */ - -export { webFetchTool, executeWebFetch } from "@tools/web-fetch/execute"; -export { webFetchParams, type WebFetchParams } from "@tools/web-fetch/params"; diff --git a/src/tui-solid/app.tsx b/src/tui-solid/app.tsx index fa99c35..931ce0d 100644 --- a/src/tui-solid/app.tsx +++ b/src/tui-solid/app.tsx @@ -458,5 +458,3 @@ export function tui(options: TuiRenderOptions): Promise { }); }); } - -export { appStore } from "@tui-solid/context/app"; diff --git a/src/tui-solid/components/feedback/index.ts b/src/tui-solid/components/feedback/index.ts deleted file mode 100644 index 9206f66..0000000 --- a/src/tui-solid/components/feedback/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Feedback Components - */ - -export * from "./thinking-indicator"; -export * from "./bouncing-loader"; diff --git a/src/tui-solid/components/index.ts b/src/tui-solid/components/index.ts deleted file mode 100644 index 4523a1a..0000000 --- a/src/tui-solid/components/index.ts +++ /dev/null @@ -1,47 +0,0 @@ -// Layout components -export { StatusBar } from "./layout/status-bar"; -export { Logo } from "./layout/logo"; -export { StreamingMessage } from "./layout/streaming-message"; -export { Header } from "./layout/header"; - -// Feedback components -export { ThinkingIndicator } from "./feedback/thinking-indicator"; -export { BouncingLoader } from "./feedback/bouncing-loader"; - -// Log components -export { LogPanel } from "./logs/log-panel"; -export { LogEntryDisplay } from "./logs/log-entry"; -export { addDebugLog, DebugLogPanel } from "./logs/debug-log-panel"; - -// Input components -export { InputArea } from "./inputs/input-area"; -export { FilePicker } from "./inputs/file-picker"; -export { MCPAddForm } from "./inputs/mcp-add-form"; - -// Menu components -export { CommandMenu, SLASH_COMMANDS } from "./menu/command-menu"; -export { SelectMenu } from "./menu/select-menu"; -export type { SelectOption } from "./menu/select-menu"; -export { HelpMenu } from "./menu/help-menu"; -export { BrainMenu } from "./menu/brain-menu"; - -// Submenu components -export { ModelSelect } from "./submenu/model-select"; -export { AgentSelect } from "./submenu/agent-select"; -export { ThemeSelect } from "./submenu/theme-select"; -export { MCPSelect } from "./submenu/mcp-select"; -export { ModeSelect } from "./submenu/mode-select"; -export { ProviderSelect } from "./submenu/provider-select"; - -// Modal components -export { PermissionModal } from "./modals/permission-modal"; -export { LearningModal } from "./modals/learning-modal"; -export { CenteredModal } from "./modals/centered-modal"; -export { ConflictResolver, ConflictIndicator } from "./modals/conflict-resolver"; - -// Panel components -export { HelpDetail } from "./panels/help-detail"; -export { TodoPanel } from "./panels/todo-panel"; -export type { TodoItem, Plan } from "./panels/todo-panel"; -export { DiffView, parseDiffOutput, isDiffContent } from "./panels/diff-view"; -export { MultiAgentPanel } from "./panels/multi-agent-panel"; diff --git a/src/tui-solid/components/inputs/index.ts b/src/tui-solid/components/inputs/index.ts deleted file mode 100644 index 91e5efc..0000000 --- a/src/tui-solid/components/inputs/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Input Components - */ - -export * from "./input-area"; -export * from "./file-picker"; -export * from "./mcp-add-form"; diff --git a/src/tui-solid/components/layout/index.ts b/src/tui-solid/components/layout/index.ts deleted file mode 100644 index aaa55ac..0000000 --- a/src/tui-solid/components/layout/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Layout Components - */ - -export * from "./header"; -export * from "./status-bar"; -export * from "./logo"; -export * from "./streaming-message"; diff --git a/src/tui-solid/components/menu/index.ts b/src/tui-solid/components/menu/index.ts deleted file mode 100644 index 39386fd..0000000 --- a/src/tui-solid/components/menu/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Menu Components - */ - -export * from "./select-menu"; -export * from "./command-menu"; -export * from "./help-menu"; -export * from "./brain-menu"; diff --git a/src/tui-solid/components/modals/index.ts b/src/tui-solid/components/modals/index.ts deleted file mode 100644 index bb76292..0000000 --- a/src/tui-solid/components/modals/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Modal Components - */ - -export * from "./centered-modal"; -export * from "./permission-modal"; -export * from "./learning-modal"; -export * from "./conflict-resolver"; diff --git a/src/tui-solid/components/panels/index.ts b/src/tui-solid/components/panels/index.ts deleted file mode 100644 index 7e4328c..0000000 --- a/src/tui-solid/components/panels/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Panel Components - */ - -export * from "./todo-panel"; -export * from "./diff-view"; -export * from "./multi-agent-panel"; -export * from "./help-detail"; diff --git a/src/tui-solid/components/submenu/index.ts b/src/tui-solid/components/submenu/index.ts deleted file mode 100644 index c293ef0..0000000 --- a/src/tui-solid/components/submenu/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Submenu Components - */ - -export * from "./agent-select"; -export * from "./model-select"; -export * from "./provider-select"; -export * from "./theme-select"; -export * from "./mode-select"; -export * from "./mcp-select"; diff --git a/src/tui-solid/context/index.ts b/src/tui-solid/context/index.ts deleted file mode 100644 index 5e8ca25..0000000 --- a/src/tui-solid/context/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -export { createSimpleContext } from "./helper"; -export { AppStoreProvider, useAppStore, appStore, setAppStoreRef } from "./app"; -export { ThemeProvider, useTheme } from "./theme"; -export { RouteProvider, useRoute } from "./route"; -export { KeybindProvider, useKeybind } from "./keybind"; -export { DialogProvider, useDialog } from "./dialog"; -export { ExitProvider, useExit } from "./exit"; diff --git a/src/tui-solid/index.ts b/src/tui-solid/index.ts deleted file mode 100644 index a0ed91e..0000000 --- a/src/tui-solid/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { tui, appStore } from "./app"; -export type { TuiRenderOptions } from "./app"; -export type { TuiInput, TuiOutput } from "./types"; diff --git a/src/tui-solid/routes/index.ts b/src/tui-solid/routes/index.ts deleted file mode 100644 index 4c35eee..0000000 --- a/src/tui-solid/routes/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { Home } from "./home"; -export { Session } from "./session"; diff --git a/src/tui-solid/types/index.ts b/src/tui-solid/types/index.ts index e4d7740..aba743d 100644 --- a/src/tui-solid/types/index.ts +++ b/src/tui-solid/types/index.ts @@ -4,22 +4,6 @@ import type { ProviderModel } from "@/types/providers"; export type { ProviderModel }; -export interface TuiInput { - sessionId?: string; - initialPrompt?: string; - provider?: string; - model?: string; - theme?: string; - workingDirectory?: string; - availableModels?: ProviderModel[]; - cascadeEnabled?: boolean; -} - -export interface TuiOutput { - exitCode: number; - sessionId?: string; -} - export type Route = { type: "home" } | { type: "session"; sessionId: string }; export type AppMode = diff --git a/src/tui-solid/ui/index.ts b/src/tui-solid/ui/index.ts deleted file mode 100644 index 87188f5..0000000 --- a/src/tui-solid/ui/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { Dialog, DialogActions, ConfirmDialog, AlertDialog } from "./dialog"; -export { Toast, ToastContainer, ToastProvider, useToast } from "./toast"; -export type { ToastOptions, ToastVariant } from "./toast"; -export { Spinner } from "./spinner"; diff --git a/src/tui/index.ts b/src/tui/index.ts deleted file mode 100644 index ad39171..0000000 --- a/src/tui/index.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * TUI Module - Terminal User Interface for CodeTyper - * Re-exports from @opentui/solid implementation - */ - -export type { - AppMode, - CommandCategory, - SlashCommand, - CommandMenuState, - SelectOption, - DiffData, - DiffLineType, - DiffLineData, - DiffViewProps, - DiffLineProps, - LogEntryType, - ToolStatus, - LogEntryMetadata, - LogEntry, - LogEntryProps, - ThinkingIndicatorProps, - ToolCall, - PermissionType, - PermissionScope, - PermissionRequest, - PermissionResponse, - LearningScope, - LearningPrompt, - LearningResponse, - SessionStats, - HeaderProps, - CommandMenuProps, - AppState, -} from "@/types/tui"; -export { tui, appStore } from "@tui-solid/index"; -export type { TuiRenderOptions } from "@tui-solid/app"; -export { - useAppStore, - AppStoreProvider, - useTheme, - ThemeProvider, - useRoute, - RouteProvider, - useKeybind, - KeybindProvider, - useDialog, - DialogProvider, - useExit, - ExitProvider, -} from "@tui-solid/context"; diff --git a/src/types/agent-config.ts b/src/types/agent-config.ts index dab301f..75b5315 100644 --- a/src/types/agent-config.ts +++ b/src/types/agent-config.ts @@ -1,7 +1,3 @@ -/** - * Agent configuration types - */ - export interface AgentFrontmatter { name?: string; description?: string; diff --git a/src/types/agent-definition.ts b/src/types/agent-definition.ts index ebc08b0..6613135 100644 --- a/src/types/agent-definition.ts +++ b/src/types/agent-definition.ts @@ -1,9 +1,3 @@ -/** - * Agent markdown definition types - * Agents are defined in markdown files with YAML frontmatter - * Location: .codetyper/agents/*.md - */ - export type AgentTier = "fast" | "balanced" | "thorough"; export type AgentColor = @@ -87,5 +81,13 @@ export const AGENT_TIER_MODELS: Record = { export const AGENT_DEFINITION_SCHEMA = { required: ["name", "description", "tools"], - optional: ["tier", "color", "maxTurns", "triggerPhrases", "capabilities", "allowedPaths", "deniedPaths"], + optional: [ + "tier", + "color", + "maxTurns", + "triggerPhrases", + "capabilities", + "allowedPaths", + "deniedPaths", + ], }; diff --git a/src/types/agent.ts b/src/types/agent.ts index 3679d2a..247701d 100644 --- a/src/types/agent.ts +++ b/src/types/agent.ts @@ -1,7 +1,3 @@ -/** - * Agent Types - */ - import type { Message } from "@/types/providers"; export interface ToolCallMessage { diff --git a/src/types/apply-patch.ts b/src/types/apply-patch.ts index 97fdb84..381aa62 100644 --- a/src/types/apply-patch.ts +++ b/src/types/apply-patch.ts @@ -1,22 +1,9 @@ -/** - * Apply Patch Types - * - * Types for unified diff parsing and application. - * Supports fuzzy matching and rollback on failure. - */ - -/** - * Patch line type - */ export type PatchLineType = - | "context" // Unchanged line (starts with space) - | "addition" // Added line (starts with +) - | "deletion" // Removed line (starts with -) - | "header"; // Hunk header + | "context" // Unchanged line (starts with space) + | "addition" // Added line (starts with +) + | "deletion" // Removed line (starts with -) + | "header"; // Hunk header -/** - * Single line in a patch - */ export interface PatchLine { type: PatchLineType; content: string; @@ -24,9 +11,6 @@ export interface PatchLine { newLineNumber?: number; } -/** - * Patch hunk (a contiguous block of changes) - */ export interface PatchHunk { oldStart: number; oldLines: number; @@ -36,9 +20,6 @@ export interface PatchHunk { header: string; } -/** - * Parsed patch file for a single file - */ export interface ParsedFilePatch { oldPath: string; newPath: string; @@ -49,17 +30,11 @@ export interface ParsedFilePatch { isRenamed: boolean; } -/** - * Complete parsed patch (may contain multiple files) - */ export interface ParsedPatch { files: ParsedFilePatch[]; rawPatch: string; } -/** - * Fuzzy match result - */ export interface FuzzyMatchResult { found: boolean; lineNumber: number; @@ -67,9 +42,6 @@ export interface FuzzyMatchResult { confidence: number; } -/** - * Hunk application result - */ export interface HunkApplicationResult { success: boolean; hunkIndex: number; @@ -78,9 +50,6 @@ export interface HunkApplicationResult { fuzzyOffset?: number; } -/** - * File patch result - */ export interface FilePatchResult { success: boolean; filePath: string; @@ -91,9 +60,6 @@ export interface FilePatchResult { error?: string; } -/** - * Overall patch application result - */ export interface ApplyPatchResult { success: boolean; filesPatched: number; @@ -103,9 +69,6 @@ export interface ApplyPatchResult { error?: string; } -/** - * Apply patch parameters - */ export interface ApplyPatchParams { patch: string; targetFile?: string; @@ -114,9 +77,6 @@ export interface ApplyPatchParams { reverse?: boolean; } -/** - * Rollback information - */ export interface PatchRollback { filePath: string; originalContent: string; @@ -124,9 +84,6 @@ export interface PatchRollback { timestamp: number; } -/** - * Patch validation result - */ export interface PatchValidationResult { valid: boolean; errors: string[]; @@ -135,9 +92,6 @@ export interface PatchValidationResult { hunkCount: number; } -/** - * Context line match options - */ export interface ContextMatchOptions { fuzz: number; ignoreWhitespace: boolean; diff --git a/src/types/background-task.ts b/src/types/background-task.ts index e0fb611..57f89d6 100644 --- a/src/types/background-task.ts +++ b/src/types/background-task.ts @@ -1,9 +1,3 @@ -/** - * Background task types for async operations - * Allows tasks to run in background while user continues working - * Triggered with Ctrl+B or /background command - */ - export type BackgroundTaskStatus = | "pending" | "running" @@ -13,101 +7,3 @@ export type BackgroundTaskStatus = | "cancelled"; export type BackgroundTaskPriority = "low" | "normal" | "high"; - -export interface BackgroundTask { - readonly id: string; - readonly name: string; - readonly description: string; - readonly status: BackgroundTaskStatus; - readonly priority: BackgroundTaskPriority; - readonly createdAt: number; - readonly startedAt?: number; - readonly completedAt?: number; - readonly progress: TaskProgress; - readonly result?: TaskResult; - readonly error?: TaskError; - readonly metadata: TaskMetadata; -} - -export interface TaskProgress { - readonly current: number; - readonly total: number; - readonly percentage: number; - readonly message: string; - readonly steps: ReadonlyArray; -} - -export interface TaskStep { - readonly name: string; - readonly status: BackgroundTaskStatus; - readonly startedAt?: number; - readonly completedAt?: number; - readonly output?: string; -} - -export interface TaskResult { - readonly success: boolean; - readonly output: string; - readonly artifacts: ReadonlyArray; - readonly summary: string; -} - -export interface TaskArtifact { - readonly type: "file" | "diff" | "report" | "data"; - readonly name: string; - readonly path?: string; - readonly content?: string; -} - -export interface TaskError { - readonly code: string; - readonly message: string; - readonly stack?: string; - readonly recoverable: boolean; -} - -export interface TaskMetadata { - readonly sessionId: string; - readonly agentId?: string; - readonly prompt?: string; - readonly tools: ReadonlyArray; - readonly startedByUser: boolean; -} - -export interface BackgroundTaskConfig { - readonly maxConcurrent: number; - readonly defaultTimeout: number; - readonly retryOnFailure: boolean; - readonly maxRetries: number; - readonly notifyOnComplete: boolean; - readonly persistTasks: boolean; -} - -export interface TaskNotification { - readonly taskId: string; - readonly type: "started" | "progress" | "completed" | "failed"; - readonly message: string; - readonly timestamp: number; -} - -export interface BackgroundTaskStore { - readonly tasks: ReadonlyMap; - readonly queue: ReadonlyArray; - readonly running: ReadonlyArray; - readonly completed: ReadonlyArray; -} - -export const DEFAULT_BACKGROUND_TASK_CONFIG: BackgroundTaskConfig = { - maxConcurrent: 3, - defaultTimeout: 300000, // 5 minutes - retryOnFailure: false, - maxRetries: 1, - notifyOnComplete: true, - persistTasks: true, -}; - -export const BACKGROUND_TASK_PRIORITIES: Record = { - low: 1, - normal: 5, - high: 10, -}; diff --git a/src/types/common.ts b/src/types/common.ts index baea091..735d231 100644 --- a/src/types/common.ts +++ b/src/types/common.ts @@ -1,17 +1,5 @@ -/** - * Common types for CodeTyper CLI - * - * Basic domain types that don't belong to a specific feature module. - */ - -/** - * Agent type for different coding tasks - */ export type AgentType = "coder" | "tester" | "refactorer" | "documenter"; -/** - * Intent classification for user requests - */ export type IntentType = | "ask" | "code" diff --git a/src/types/handlers.ts b/src/types/handlers.ts index c0e9f95..9830879 100644 --- a/src/types/handlers.ts +++ b/src/types/handlers.ts @@ -1,8 +1,4 @@ -/** - * Handler types for command routing - */ - -import type { CommandOptions } from "@/types/index"; +import type { CommandOptions } from "@/types/common"; export type CommandName = | "chat" diff --git a/src/types/index.ts b/src/types/index.ts deleted file mode 100644 index e6e8066..0000000 --- a/src/types/index.ts +++ /dev/null @@ -1,369 +0,0 @@ -/** - * TypeScript type definitions for CodeTyper CLI - */ - -export type AgentType = "coder" | "tester" | "refactorer" | "documenter"; - -// Re-export image types -export type { - ImageMediaType, - ImageContent, - TextContent, - MessageContent, - MultimodalMessage, - PastedImage, -} from "@/types/image"; - -export { - isImageContent, - isTextContent, - createTextContent, - createImageContent, -} from "@/types/image"; - -// Re-export brain types -export type { - BrainUser, - BrainCredentials, - BrainConnectionStatus, - BrainState, - BrainConcept, - BrainMemory, - BrainMemoryType, - BrainRelationType, - BrainRecallResponse, - BrainExtractResponse, - BrainKnowledgeStats, - BrainMemoryStats, -} from "@/types/brain"; - -// Re-export brain cloud sync types -export type { - BrainSyncStatus, - ConflictStrategy, - SyncDirection, - SyncOperationType, - BrainSyncState, - CloudBrainConfig, - SyncItem, - SyncConflict, - SyncResult, - PushRequest, - PushResponse, - PullRequest, - PullResponse, - OfflineQueueItem, - OfflineQueueState, - SyncProgressEvent, - SyncOptions, -} from "@/types/brain-cloud"; - -// Re-export skills types -export type { - SkillLoadLevel, - SkillTriggerType, - SkillExample, - SkillMetadata, - SkillBody, - SkillDefinition, - SkillMatch, - SkillContext, - SkillExecutionResult, - SkillRegistryState, - SkillFrontmatter, - ParsedSkillFile, -} from "@/types/skills"; - -// Re-export parallel execution types -export type { - ParallelTaskType, - TaskPriority, - ParallelTaskStatus, - ParallelAgentConfig, - ParallelTask, - ParallelExecutionResult, - ConflictCheckResult, - ConflictResolution, - ResourceLimits, - ResourceState, - AggregatedResults, - ParallelExecutorOptions, - BatchExecutionRequest, - SemaphoreState, - DeduplicationKey, - DeduplicationResult, -} from "@/types/parallel"; - -// Re-export apply-patch types -export type { - PatchLineType, - PatchLine, - PatchHunk, - ParsedFilePatch, - ParsedPatch, - FuzzyMatchResult, - HunkApplicationResult, - FilePatchResult, - ApplyPatchResult, - ApplyPatchParams, - PatchRollback, - PatchValidationResult, - ContextMatchOptions, -} from "@/types/apply-patch"; - -// Re-export feature-dev types -export type { - FeatureDevPhase, - PhaseStatus, - CheckpointDecision, - ExplorationResult, - ExplorationFinding, - ImplementationPlan, - ImplementationStep, - FileChange, - TestResult, - TestFailure, - ReviewFinding, - Checkpoint, - FeatureDevState, - PhaseTransitionRequest, - PhaseExecutionContext, - PhaseExecutionResult, - FeatureDevConfig, -} from "@/types/feature-dev"; - -// Re-export pr-review types -export type { - ReviewFindingType, - ReviewSeverity, - ConfidenceLevel, - PRReviewFinding, - DiffHunk, - ParsedFileDiff, - ParsedDiff, - ReviewerConfig, - SecurityReviewCriteria, - PerformanceReviewCriteria, - StyleReviewCriteria, - LogicReviewCriteria, - PRReviewConfig, - ReviewerResult, - ReviewRating, - ReviewRecommendation, - PRReviewReport, - PRReviewRequest, - ReviewFileContext, -} from "@/types/pr-review"; - -export type IntentType = - | "ask" - | "code" - | "refactor" - | "fix" - | "document" - | "test" - | "explain"; - -export type Provider = "copilot" | "ollama"; - -export interface Config { - provider: Provider; - model?: string; - theme?: string; - maxIterations: number; - timeout: number; - protectedPaths: string[]; - systemPrompt?: string; - cascadeEnabled?: boolean; -} - -export interface IntentRequest { - prompt: string; - context?: string; - files?: string[]; -} - -export interface IntentResponse { - intent: IntentType; - confidence: number; - reasoning: string; - needsClarification: boolean; - clarificationQuestions?: string[]; -} - -export interface PlanStep { - id: string; - type: "read" | "edit" | "create" | "delete" | "execute"; - description: string; - file?: string; - dependencies?: string[]; - tool?: string; - args?: Record; -} - -export interface ExecutionPlan { - steps: PlanStep[]; - intent: IntentType; - summary: string; - estimatedTime?: number; -} - -export interface ValidationResult { - valid: boolean; - errors: string[]; - warnings: string[]; - protectedPaths: string[]; -} - -export interface ChatMessage { - role: "user" | "assistant" | "system"; - content: string; - timestamp: number; -} - -export interface ChatSession { - id: string; - agent: AgentType; - messages: ChatMessage[]; - contextFiles: string[]; - createdAt: number; - updatedAt: number; -} - -export interface CommandOptions { - agent?: AgentType; - model?: string; - files?: string[]; - dryRun?: boolean; - maxIterations?: number; - autoApprove?: boolean; - task?: string; - prompt?: string; - context?: string; - intent?: IntentType; - output?: string; - planFile?: string; - action?: string; - key?: string; - value?: string; -} - -export interface ToolResult { - success: boolean; - output?: string; - error?: string; - files?: string[]; -} - -export interface FileEdit { - file: string; - search: string; - replace: string; - description?: string; -} - -export interface TerminalSpinner { - start(text: string): void; - succeed(text: string): void; - fail(text: string): void; - stop(): void; -} - -// Re-export confidence filter types -export type { - ConfidenceLevel as ConfidenceFilterLevel, - ConfidenceScore, - ConfidenceFactor, - ConfidenceFilterConfig, - FilteredResult, - ValidationResult as ConfidenceValidationResult, - ConfidenceFilterStats, -} from "@/types/confidence-filter"; - -export { - CONFIDENCE_LEVELS, - DEFAULT_CONFIDENCE_FILTER_CONFIG, -} from "@/types/confidence-filter"; - -// Re-export agent definition types -export type { - AgentTier, - AgentColor, - AgentDefinition, - AgentPermissions, - AgentDefinitionFile, - AgentFrontmatter, - AgentRegistry, - AgentLoadResult, -} from "@/types/agent-definition"; - -export { - DEFAULT_AGENT_DEFINITION, - AGENT_TIER_MODELS, - AGENT_DEFINITION_SCHEMA, -} from "@/types/agent-definition"; - -// Re-export background task types -export type { - BackgroundTaskStatus, - BackgroundTaskPriority, - BackgroundTask, - TaskProgress, - TaskResult, - TaskError, - TaskMetadata, - TaskNotification, - TaskStep, - TaskArtifact, - BackgroundTaskConfig, - BackgroundTaskStore, -} from "@/types/background-task"; - -export { - DEFAULT_BACKGROUND_TASK_CONFIG, - BACKGROUND_TASK_PRIORITIES, -} from "@/types/background-task"; - -// Re-export brain project types -export type { - BrainProject, - BrainProjectStats, - BrainProjectSettings, - BrainProjectCreateInput, - BrainProjectUpdateInput, - BrainProjectSwitchResult, - BrainProjectListResult, - BrainProjectExport, - BrainProjectImportResult, - ExportedConcept, - ExportedMemory, - ExportedRelationship, -} from "@/types/brain-project"; - -export { - DEFAULT_BRAIN_PROJECT_SETTINGS, - BRAIN_PROJECT_EXPORT_VERSION, -} from "@/types/brain-project"; - -// Re-export brain MCP types -export type { - BrainMcpToolName, - BrainMcpServerConfig, - RateLimitConfig, - LoggingConfig, - BrainMcpTool, - McpInputSchema, - McpPropertySchema, - BrainMcpRequest, - BrainMcpResponse, - McpContent, - McpResource, - McpError, - BrainMcpServerStatus, -} from "@/types/brain-mcp"; - -export { - DEFAULT_BRAIN_MCP_SERVER_CONFIG, - BRAIN_MCP_TOOLS, - MCP_ERROR_CODES, -} from "@/types/brain-mcp"; diff --git a/src/types/input-editor.ts b/src/types/input-editor.ts index 1b986fb..edfe4b4 100644 --- a/src/types/input-editor.ts +++ b/src/types/input-editor.ts @@ -1,7 +1,3 @@ -/** - * Input editor types - */ - import type readline from "readline"; export type KeypressHandler = ( @@ -9,9 +5,6 @@ export type KeypressHandler = ( key: readline.Key, ) => void; -/** - * Represents a pasted text block - */ export interface PastedBlock { id: number; content: string; @@ -27,19 +20,12 @@ export type InputEditorState = { prompt: string; continuationPrompt: string; keypressHandler: KeypressHandler | null; - /** Stores pasted blocks with their full content */ pastedBlocks: Map; - /** Counter for pasted block IDs */ pasteCounter: number; - /** Buffer for collecting paste input */ pasteBuffer: string; - /** Timestamp of last paste input */ lastPasteTime: number; - /** Timer for paste flush */ pasteFlushTimer: ReturnType | null; - /** Whether currently in bracketed paste mode */ isBracketedPaste: boolean; - /** Buffer for bracketed paste content */ bracketedPasteBuffer: string; }; diff --git a/src/types/learning.ts b/src/types/learning.ts index 4f7e160..134608e 100644 --- a/src/types/learning.ts +++ b/src/types/learning.ts @@ -1,7 +1,3 @@ -/** - * Learning Service types - */ - export type LearningCategory = | "preference" | "convention" diff --git a/src/types/mcp-registry.ts b/src/types/mcp-registry.ts index 117024b..e0b694c 100644 --- a/src/types/mcp-registry.ts +++ b/src/types/mcp-registry.ts @@ -1,12 +1,3 @@ -/** - * MCP Registry Types - * - * Types for MCP server discovery and search - */ - -/** - * MCP server category - */ export type MCPServerCategory = | "database" | "filesystem" @@ -19,121 +10,61 @@ export type MCPServerCategory = | "security" | "other"; -/** - * MCP server transport type for registry - */ export type MCPRegistryTransport = "stdio" | "sse" | "http"; -/** - * MCP server entry from registry - */ export interface MCPRegistryServer { - /** Unique identifier */ id: string; - /** Display name */ name: string; - /** Short description */ description: string; - /** Author/maintainer */ author: string; - /** Repository URL */ repository: string; - /** NPM package or command */ package: string; - /** Default command to run */ command: string; - /** Default arguments */ args: string[]; - /** Category */ category: MCPServerCategory; - /** Tags for search */ tags: string[]; - /** Transport type */ transport: MCPRegistryTransport; - /** Version */ version: string; - /** Downloads/popularity score */ popularity: number; - /** Whether verified by maintainers */ verified: boolean; - /** Installation instructions */ installHint?: string; - /** Environment variables needed */ envVars?: string[]; - /** Last updated timestamp */ updatedAt: string; } -/** - * Search result from registry - */ export interface MCPSearchResult { - /** Matching servers */ servers: MCPRegistryServer[]; - /** Total count */ total: number; - /** Search query */ query: string; - /** Category filter applied */ category?: MCPServerCategory; } -/** - * Registry source configuration - */ export interface MCPRegistrySource { - /** Source name */ name: string; - /** API URL or file path */ url: string; - /** Whether enabled */ enabled: boolean; - /** Last fetched timestamp */ lastFetched?: number; } -/** - * Cached registry data - */ export interface MCPRegistryCache { - /** All servers from registry */ servers: MCPRegistryServer[]; - /** Last updated timestamp */ updatedAt: number; - /** Source URL */ source: string; } -/** - * Search options - */ export interface MCPSearchOptions { - /** Search query */ query?: string; - /** Filter by category */ category?: MCPServerCategory; - /** Filter by tags */ tags?: string[]; - /** Only verified servers */ verifiedOnly?: boolean; - /** Sort by */ sortBy?: "popularity" | "name" | "updated"; - /** Limit results */ limit?: number; - /** Offset for pagination */ offset?: number; } -/** - * Installation result - */ export interface MCPInstallResult { - /** Whether successful */ success: boolean; - /** Server name */ serverName: string; - /** Error message if failed */ error?: string; - /** Whether connected after install */ connected: boolean; } diff --git a/src/types/mcp.ts b/src/types/mcp.ts index c43c0b8..01f50b8 100644 --- a/src/types/mcp.ts +++ b/src/types/mcp.ts @@ -1,49 +1,22 @@ -/** - * MCP (Model Context Protocol) Types - */ - -/** - * MCP Server Configuration - */ export interface MCPServerConfig { - /** Server identifier */ name: string; - /** Command to start the server */ command: string; - /** Arguments for the command */ args?: string[]; - /** Environment variables */ env?: Record; - /** Transport type */ transport?: MCPTransportType; - /** Server URL (for SSE/HTTP transport) */ url?: string; - /** Whether server is enabled */ enabled?: boolean; } -/** - * Transport types supported by MCP - */ export type MCPTransportType = "stdio" | "sse" | "http"; -/** - * MCP Configuration - */ export interface MCPConfig { - /** MCP servers configuration */ servers: Record; } -/** - * MCP Tool Definition (from server) - */ export interface MCPToolDefinition { - /** Tool name */ name: string; - /** Tool description */ description?: string; - /** JSON Schema for parameters */ inputSchema: { type: "object"; properties?: Record; @@ -51,91 +24,48 @@ export interface MCPToolDefinition { }; } -/** - * MCP Resource Definition - */ export interface MCPResourceDefinition { - /** Resource URI */ uri: string; - /** Resource name */ name: string; - /** Resource description */ description?: string; - /** MIME type */ mimeType?: string; } -/** - * MCP Server Connection State - */ export type MCPConnectionState = | "disconnected" | "connecting" | "connected" | "error"; -/** - * MCP Server Instance (runtime) - */ export interface MCPServerInstance { - /** Server configuration */ config: MCPServerConfig; - /** Connection state */ state: MCPConnectionState; - /** Available tools */ tools: MCPToolDefinition[]; - /** Available resources */ resources: MCPResourceDefinition[]; - /** Error message if any */ error?: string; - /** Process ID if running via stdio */ pid?: number; } -/** - * MCP Tool Call Request - */ export interface MCPToolCallRequest { - /** Server name */ server: string; - /** Tool name */ tool: string; - /** Tool arguments */ arguments: Record; } -/** - * MCP Tool Call Result - */ export interface MCPToolCallResult { - /** Whether the call succeeded */ success: boolean; - /** Result content */ content?: unknown; - /** Error message */ error?: string; } -/** - * MCP Manager State - */ export interface MCPManagerState { - /** Configured servers */ servers: Map; - /** Whether manager is initialized */ initialized: boolean; } -/** - * MCP Add Form Data (for TUI form submission) - */ export interface MCPAddFormData { - /** Server name */ name: string; - /** Command to run */ command: string; - /** Arguments (space-separated string) */ args: string; - /** Whether to save to global config */ isGlobal: boolean; } diff --git a/src/types/runner.ts b/src/types/runner.ts index 41b8dc1..82a8097 100644 --- a/src/types/runner.ts +++ b/src/types/runner.ts @@ -1,8 +1,5 @@ -/** - * Runner types for task execution - */ - -import type { AgentType, ExecutionPlan, PlanStep } from "@/types/index"; +import type { AgentType } from "@/types/common"; +import { ExecutionPlan, PlanStep } from "@interfaces/index"; export interface RunnerOptions { task: string; diff --git a/src/types/session.ts b/src/types/session.ts index 824adef..07131d4 100644 --- a/src/types/session.ts +++ b/src/types/session.ts @@ -1,8 +1,4 @@ -/** - * Session Types - */ - -import type { AgentType } from "@/types/index"; +import type { AgentType } from "@/types/common"; export interface SessionInfo { id: string; diff --git a/src/ui/banner/core/index.ts b/src/ui/banner/core/index.ts deleted file mode 100644 index e122296..0000000 --- a/src/ui/banner/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Banner Core - Rendering and Logo - */ - -export * from "./render"; -export * from "./logo"; diff --git a/src/ui/banner/menu/index.ts b/src/ui/banner/menu/index.ts deleted file mode 100644 index 4380d33..0000000 --- a/src/ui/banner/menu/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Banner Menu - Print functions - */ - -export * from "./print"; diff --git a/src/ui/components/core/index.ts b/src/ui/components/core/index.ts deleted file mode 100644 index 8c537b9..0000000 --- a/src/ui/components/core/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Components Core - Box component - */ - -export * from "./box"; diff --git a/src/ui/components/menu/index.ts b/src/ui/components/menu/index.ts deleted file mode 100644 index a865643..0000000 --- a/src/ui/components/menu/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Components Menu - Status, Message, Header, List - */ - -export * from "./status"; -export * from "./message"; -export * from "./header"; -export * from "./list"; diff --git a/src/ui/core/index.ts b/src/ui/core/index.ts deleted file mode 100644 index 545fded..0000000 --- a/src/ui/core/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * UI Core - Core UI utilities - */ - -export * from "./styles"; -export * from "./components"; diff --git a/src/ui/index.ts b/src/ui/index.ts deleted file mode 100644 index 8b8f637..0000000 --- a/src/ui/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Terminal UI components for CodeTyper CLI - */ - -export * from "@ui/core"; -export * from "@ui/banner"; -export * from "@ui/spinner"; -export * from "@ui/tips"; -export * from "@ui/input-editor"; diff --git a/src/ui/input-editor/core/index.ts b/src/ui/input-editor/core/index.ts deleted file mode 100644 index 1ede15d..0000000 --- a/src/ui/input-editor/core/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Input Editor Core - Main editor functionality - */ - -export * from "./editor"; diff --git a/src/ui/spinner/core/index.ts b/src/ui/spinner/core/index.ts deleted file mode 100644 index b91c339..0000000 --- a/src/ui/spinner/core/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Spinner Core - Main spinner functionality - */ - -export * from "./spinner"; diff --git a/src/utils/core/index.ts b/src/utils/core/index.ts deleted file mode 100644 index 1b95270..0000000 --- a/src/utils/core/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Utils Core - Core utility functions - */ - -export * from "./terminal"; -export * from "./string-helpers"; -export * from "./tools"; -export * from "./ensure-directories"; diff --git a/src/utils/index.ts b/src/utils/index.ts deleted file mode 100644 index 5f58dd5..0000000 --- a/src/utils/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Utils Module - Utility functions - */ - -export * from "./core"; -export * from "./menu"; -export * from "./diff"; -export * from "./syntax-highlight/detect"; -export * from "./syntax-highlight/highlight"; -export * from "./tui-app/input-utils"; -export * from "./tui-app/mode-utils"; -export * from "./tui-app/paste-utils"; diff --git a/src/utils/menu/index.ts b/src/utils/menu/index.ts deleted file mode 100644 index d98c374..0000000 --- a/src/utils/menu/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Utils Menu - Menu-related utilities - */ - -export * from "./progress-bar";