diff --git a/src/core/Cline.ts b/src/core/Cline.ts index c2d4d60..2a5ae97 100644 --- a/src/core/Cline.ts +++ b/src/core/Cline.ts @@ -25,7 +25,7 @@ import { ClaudeApiReqCancelReason, ClaudeApiReqInfo, ClaudeAsk, - ClaudeMessage, + ClineMessage, ClaudeSay, ClaudeSayTool, } from "../shared/ExtensionMessage" @@ -60,7 +60,7 @@ export class Cline { customInstructions?: string alwaysAllowReadOnly: boolean apiConversationHistory: Anthropic.MessageParam[] = [] - claudeMessages: ClaudeMessage[] = [] + claudeMessages: ClineMessage[] = [] private askResponse?: ClaudeAskResponse private askResponseText?: string private askResponseImages?: string[] @@ -150,7 +150,7 @@ export class Cline { } } - private async getSavedClaudeMessages(): Promise { + private async getSavedClaudeMessages(): Promise { const filePath = path.join(await this.ensureTaskDirectoryExists(), GlobalFileNames.claudeMessages) const fileExists = await fileExistsAtPath(filePath) if (fileExists) { @@ -159,12 +159,12 @@ export class Cline { return [] } - private async addToClaudeMessages(message: ClaudeMessage) { + private async addToClaudeMessages(message: ClineMessage) { this.claudeMessages.push(message) await this.saveClaudeMessages() } - private async overwriteClaudeMessages(newMessages: ClaudeMessage[]) { + private async overwriteClaudeMessages(newMessages: ClineMessage[]) { this.claudeMessages = newMessages await this.saveClaudeMessages() } diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 9418ce7..6d57824 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -22,7 +22,7 @@ export interface ExtensionMessage { images?: string[] ollamaModels?: string[] filePaths?: string[] - partialMessage?: ClaudeMessage + partialMessage?: ClineMessage openRouterModels?: Record } @@ -32,12 +32,12 @@ export interface ExtensionState { customInstructions?: string alwaysAllowReadOnly?: boolean uriScheme?: string - claudeMessages: ClaudeMessage[] + claudeMessages: ClineMessage[] taskHistory: HistoryItem[] shouldShowAnnouncement: boolean } -export interface ClaudeMessage { +export interface ClineMessage { ts: number type: "ask" | "say" ask?: ClaudeAsk diff --git a/src/shared/combineApiRequests.ts b/src/shared/combineApiRequests.ts index 106423a..6dcdb0e 100644 --- a/src/shared/combineApiRequests.ts +++ b/src/shared/combineApiRequests.ts @@ -1,4 +1,4 @@ -import { ClaudeMessage } from "./ExtensionMessage" +import { ClineMessage } from "./ExtensionMessage" /** * Combines API request start and finish messages in an array of ClaudeMessages. @@ -18,8 +18,8 @@ import { ClaudeMessage } from "./ExtensionMessage" * const result = combineApiRequests(messages); * // Result: [{ type: "say", say: "api_req_started", text: '{"request":"GET /api/data","cost":0.005}', ts: 1000 }] */ -export function combineApiRequests(messages: ClaudeMessage[]): ClaudeMessage[] { - const combinedApiRequests: ClaudeMessage[] = [] +export function combineApiRequests(messages: ClineMessage[]): ClineMessage[] { + const combinedApiRequests: ClineMessage[] = [] for (let i = 0; i < messages.length; i++) { if (messages[i].type === "say" && messages[i].say === "api_req_started") { diff --git a/src/shared/combineCommandSequences.ts b/src/shared/combineCommandSequences.ts index 6ebe50f..ad2623b 100644 --- a/src/shared/combineCommandSequences.ts +++ b/src/shared/combineCommandSequences.ts @@ -1,4 +1,4 @@ -import { ClaudeMessage } from "./ExtensionMessage" +import { ClineMessage } from "./ExtensionMessage" /** * Combines sequences of command and command_output messages in an array of ClaudeMessages. @@ -20,8 +20,8 @@ import { ClaudeMessage } from "./ExtensionMessage" * const result = simpleCombineCommandSequences(messages); * // Result: [{ type: 'ask', ask: 'command', text: 'ls\nfile1.txt\nfile2.txt', ts: 1625097600000 }] */ -export function combineCommandSequences(messages: ClaudeMessage[]): ClaudeMessage[] { - const combinedCommands: ClaudeMessage[] = [] +export function combineCommandSequences(messages: ClineMessage[]): ClineMessage[] { + const combinedCommands: ClineMessage[] = [] // First pass: combine commands with their outputs for (let i = 0; i < messages.length; i++) { diff --git a/src/shared/getApiMetrics.ts b/src/shared/getApiMetrics.ts index fa42584..bd7b1bb 100644 --- a/src/shared/getApiMetrics.ts +++ b/src/shared/getApiMetrics.ts @@ -1,4 +1,4 @@ -import { ClaudeMessage } from "./ExtensionMessage" +import { ClineMessage } from "./ExtensionMessage" interface ApiMetrics { totalTokensIn: number @@ -9,13 +9,13 @@ interface ApiMetrics { } /** - * Calculates API metrics from an array of ClaudeMessages. + * Calculates API metrics from an array of ClineMessages. * * This function processes 'api_req_started' messages that have been combined with their * corresponding 'api_req_finished' messages by the combineApiRequests function. * It extracts and sums up the tokensIn, tokensOut, cacheWrites, cacheReads, and cost from these messages. * - * @param messages - An array of ClaudeMessage objects to process. + * @param messages - An array of ClineMessage objects to process. * @returns An ApiMetrics object containing totalTokensIn, totalTokensOut, totalCacheWrites, totalCacheReads, and totalCost. * * @example @@ -25,7 +25,7 @@ interface ApiMetrics { * const { totalTokensIn, totalTokensOut, totalCost } = getApiMetrics(messages); * // Result: { totalTokensIn: 10, totalTokensOut: 20, totalCost: 0.005 } */ -export function getApiMetrics(messages: ClaudeMessage[]): ApiMetrics { +export function getApiMetrics(messages: ClineMessage[]): ApiMetrics { const result: ApiMetrics = { totalTokensIn: 0, totalTokensOut: 0, diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index 4ce7c03..9ac62e2 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -1,7 +1,7 @@ import { VSCodeBadge, VSCodeProgressRing } from "@vscode/webview-ui-toolkit/react" import deepEqual from "fast-deep-equal" import React, { memo, useEffect, useMemo, useRef } from "react" -import { ClaudeApiReqInfo, ClaudeMessage, ClaudeSayTool } from "../../../../src/shared/ExtensionMessage" +import { ClaudeApiReqInfo, ClineMessage, ClaudeSayTool } from "../../../../src/shared/ExtensionMessage" import { COMMAND_OUTPUT_STRING } from "../../../../src/shared/combineCommandSequences" import { vscode } from "../../utils/vscode" import CodeAccordian, { removeLeadingNonAlphanumeric } from "../common/CodeAccordian" @@ -12,10 +12,10 @@ import { highlightMentions } from "./TaskHeader" import { useSize } from "react-use" interface ChatRowProps { - message: ClaudeMessage + message: ClineMessage isExpanded: boolean onToggleExpand: () => void - lastModifiedMessage?: ClaudeMessage + lastModifiedMessage?: ClineMessage isLast: boolean onHeightChange: (isTaller: boolean) => void } diff --git a/webview-ui/src/components/chat/TaskHeader.tsx b/webview-ui/src/components/chat/TaskHeader.tsx index 91a1dd9..c4030eb 100644 --- a/webview-ui/src/components/chat/TaskHeader.tsx +++ b/webview-ui/src/components/chat/TaskHeader.tsx @@ -1,7 +1,7 @@ import { VSCodeButton } from "@vscode/webview-ui-toolkit/react" import React, { memo, useEffect, useMemo, useRef, useState } from "react" import { useWindowSize } from "react-use" -import { ClaudeMessage } from "../../../../src/shared/ExtensionMessage" +import { ClineMessage } from "../../../../src/shared/ExtensionMessage" import { useExtensionState } from "../../context/ExtensionStateContext" import { vscode } from "../../utils/vscode" import Thumbnails from "../common/Thumbnails" @@ -9,7 +9,7 @@ import { mentionRegexGlobal } from "../../../../src/shared/context-mentions" import { formatLargeNumber } from "../../utils/format" interface TaskHeaderProps { - task: ClaudeMessage + task: ClineMessage tokensIn: number tokensOut: number doesModelSupportPromptCache: boolean