Refactor ClaudeDev

This commit is contained in:
Saoud Rizwan
2024-09-24 11:02:53 -04:00
parent 4e10e1ec3d
commit 4a1f61d4b5
5 changed files with 33 additions and 33 deletions

View File

@@ -9,27 +9,27 @@ import pWaitFor from "p-wait-for"
import * as path from "path" import * as path from "path"
import { serializeError } from "serialize-error" import { serializeError } from "serialize-error"
import * as vscode from "vscode" import * as vscode from "vscode"
import { ApiHandler, buildApiHandler } from "./api" import { ApiHandler, buildApiHandler } from "../api"
import { TerminalManager } from "./integrations/TerminalManager" import { TerminalManager } from "../integrations/TerminalManager"
import { listFiles, parseSourceCodeForDefinitionsTopLevel } from "./core/tree-sitter" import { listFiles, parseSourceCodeForDefinitionsTopLevel } from "./tree-sitter"
import { ClaudeDevProvider } from "./providers/ClaudeDevProvider" import { ClaudeDevProvider } from "./webviews/ClaudeDevProvider"
import { ApiConfiguration } from "./shared/api" import { ApiConfiguration } from "../shared/api"
import { ClaudeRequestResult } from "./shared/ClaudeRequestResult" import { ClaudeRequestResult } from "../shared/ClaudeRequestResult"
import { combineApiRequests } from "./shared/combineApiRequests" import { combineApiRequests } from "../shared/combineApiRequests"
import { combineCommandSequences } from "./shared/combineCommandSequences" import { combineCommandSequences } from "../shared/combineCommandSequences"
import { ClaudeAsk, ClaudeMessage, ClaudeSay, ClaudeSayTool } from "./shared/ExtensionMessage" import { ClaudeAsk, ClaudeMessage, ClaudeSay, ClaudeSayTool } from "../shared/ExtensionMessage"
import { getApiMetrics } from "./shared/getApiMetrics" import { getApiMetrics } from "../shared/getApiMetrics"
import { HistoryItem } from "./shared/HistoryItem" import { HistoryItem } from "../shared/HistoryItem"
import { Tool, ToolName } from "./shared/Tool" import { Tool, ToolName } from "../shared/Tool"
import { ClaudeAskResponse } from "./shared/WebviewMessage" import { ClaudeAskResponse } from "../shared/WebviewMessage"
import { findLast, findLastIndex, formatContentBlockToMarkdown } from "./utils" import { findLast, findLastIndex, formatContentBlockToMarkdown } from "../utils"
import { truncateHalfConversation } from "./utils/context-management" import { truncateHalfConversation } from "../utils/context-management"
import { extractTextFromFile } from "./utils/extract-text" import { extractTextFromFile } from "../utils/extract-text"
import { regexSearchFiles } from "./utils/ripgrep" import { regexSearchFiles } from "../utils/ripgrep"
import { parseMentions } from "./utils/context-mentions" import { parseMentions } from "../utils/context-mentions"
import { UrlContentFetcher } from "./utils/UrlContentFetcher" import { UrlContentFetcher } from "../utils/UrlContentFetcher"
import { diagnosticsToProblemsString, getNewDiagnostics } from "./utils/diagnostics" import { diagnosticsToProblemsString, getNewDiagnostics } from "../utils/diagnostics"
import { arePathsEqual } from "./utils/path-helpers" import { arePathsEqual } from "../utils/path-helpers"
const SYSTEM_PROMPT = async ( const SYSTEM_PROMPT = async (
supportsImages: boolean supportsImages: boolean

View File

@@ -1,18 +1,18 @@
import { Anthropic } from "@anthropic-ai/sdk" import { Anthropic } from "@anthropic-ai/sdk"
import * as vscode from "vscode" import * as vscode from "vscode"
import { ClaudeDev } from "../ClaudeDev" import { ClaudeDev } from "../ClaudeDev"
import { ApiProvider } from "../shared/api" import { ApiProvider } from "../../shared/api"
import { ExtensionMessage } from "../shared/ExtensionMessage" import { ExtensionMessage } from "../../shared/ExtensionMessage"
import { WebviewMessage } from "../shared/WebviewMessage" import { WebviewMessage } from "../../shared/WebviewMessage"
import { downloadTask, findLast, getNonce, getUri, selectImages } from "../utils" import { downloadTask, findLast, getNonce, getUri, selectImages } from "../../utils"
import * as path from "path" import * as path from "path"
import fs from "fs/promises" import fs from "fs/promises"
import { HistoryItem } from "../shared/HistoryItem" import { HistoryItem } from "../../shared/HistoryItem"
import axios from "axios" import axios from "axios"
import { getTheme } from "../utils/getTheme" import { getTheme } from "../../utils/getTheme"
import { openFile, openImage } from "../utils/open-file" import { openFile, openImage } from "../../utils/open-file"
import WorkspaceTracker from "../integrations/WorkspaceTracker" import WorkspaceTracker from "../../integrations/WorkspaceTracker"
import { openMention } from "../utils/context-mentions" import { openMention } from "../../utils/context-mentions"
/* /*
https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/default/weather-webview/src/providers/WeatherViewProvider.ts https://github.com/microsoft/vscode-webview-ui-toolkit-samples/blob/main/default/weather-webview/src/providers/WeatherViewProvider.ts

View File

@@ -1,5 +1,5 @@
import * as vscode from "vscode" import * as vscode from "vscode"
import { ClaudeDevProvider } from "../providers/ClaudeDevProvider" import { ClaudeDevProvider } from "../core/webviews/ClaudeDevProvider"
import { ClaudeDevAPI } from "./claude-dev" import { ClaudeDevAPI } from "./claude-dev"
export function createClaudeDevAPI( export function createClaudeDevAPI(

View File

@@ -1,7 +1,7 @@
// The module 'vscode' contains the VS Code extensibility API // The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below // Import the module and reference it with the alias vscode in your code below
import * as vscode from "vscode" import * as vscode from "vscode"
import { ClaudeDevProvider } from "./providers/ClaudeDevProvider" import { ClaudeDevProvider } from "./core/webviews/ClaudeDevProvider"
import delay from "delay" import delay from "delay"
import { createClaudeDevAPI } from "./exports" import { createClaudeDevAPI } from "./exports"
import "./utils/path-helpers" // necessary to have access to String.prototype.toPosix import "./utils/path-helpers" // necessary to have access to String.prototype.toPosix

View File

@@ -1,7 +1,7 @@
import * as vscode from "vscode" import * as vscode from "vscode"
import * as path from "path" import * as path from "path"
import { listFiles } from "../core/tree-sitter/index" import { listFiles } from "../core/tree-sitter/index"
import { ClaudeDevProvider } from "../providers/ClaudeDevProvider" import { ClaudeDevProvider } from "../core/webviews/ClaudeDevProvider"
const cwd = vscode.workspace.workspaceFolders?.map((folder) => folder.uri.fsPath).at(0) const cwd = vscode.workspace.workspaceFolders?.map((folder) => folder.uri.fsPath).at(0)