diff --git a/src/core/Cline.ts b/src/core/Cline.ts index f8373f1..b1ec758 100644 --- a/src/core/Cline.ts +++ b/src/core/Cline.ts @@ -22,8 +22,8 @@ import { findLastIndex } from "../shared/array" import { combineApiRequests } from "../shared/combineApiRequests" import { combineCommandSequences } from "../shared/combineCommandSequences" import { - ClaudeApiReqCancelReason, - ClaudeApiReqInfo, + ClineApiReqCancelReason, + ClineApiReqInfo, ClineAsk, ClineMessage, ClineSay, @@ -416,7 +416,7 @@ export class Cline { ) if (lastApiReqStartedIndex !== -1) { const lastApiReqStarted = modifiedClaudeMessages[lastApiReqStartedIndex] - const { cost, cancelReason }: ClaudeApiReqInfo = JSON.parse(lastApiReqStarted.text || "{}") + const { cost, cancelReason }: ClineApiReqInfo = JSON.parse(lastApiReqStarted.text || "{}") if (cost === undefined && cancelReason === undefined) { modifiedClaudeMessages.splice(lastApiReqStartedIndex, 1) } @@ -710,7 +710,7 @@ export class Cline { if (previousApiReqIndex >= 0) { const previousRequest = this.claudeMessages[previousApiReqIndex] if (previousRequest && previousRequest.text) { - const { tokensIn, tokensOut, cacheWrites, cacheReads }: ClaudeApiReqInfo = JSON.parse( + const { tokensIn, tokensOut, cacheWrites, cacheReads }: ClineApiReqInfo = JSON.parse( previousRequest.text ) const totalTokens = (tokensIn || 0) + (tokensOut || 0) + (cacheWrites || 0) + (cacheReads || 0) @@ -1608,7 +1608,7 @@ export class Cline { const lastApiReqIndex = findLastIndex(this.claudeMessages, (m) => m.say === "api_req_started") this.claudeMessages[lastApiReqIndex].text = JSON.stringify({ request: userContent.map((block) => formatContentBlockToMarkdown(block)).join("\n\n"), - } satisfies ClaudeApiReqInfo) + } satisfies ClineApiReqInfo) await this.saveClaudeMessages() await this.providerRef.deref()?.postStateToWebview() @@ -1622,7 +1622,7 @@ export class Cline { // update api_req_started. we can't use api_req_finished anymore since it's a unique case where it could come after a streaming message (ie in the middle of being updated or executed) // fortunately api_req_finished was always parsed out for the gui anyways, so it remains solely for legacy purposes to keep track of prices in tasks from history // (it's worth removing a few months from now) - const updateApiReqMsg = (cancelReason?: ClaudeApiReqCancelReason, streamingFailedMessage?: string) => { + const updateApiReqMsg = (cancelReason?: ClineApiReqCancelReason, streamingFailedMessage?: string) => { this.claudeMessages[lastApiReqIndex].text = JSON.stringify({ ...JSON.parse(this.claudeMessages[lastApiReqIndex].text || "{}"), tokensIn: inputTokens, @@ -1640,10 +1640,10 @@ export class Cline { ), cancelReason, streamingFailedMessage, - } satisfies ClaudeApiReqInfo) + } satisfies ClineApiReqInfo) } - const abortStream = async (cancelReason: ClaudeApiReqCancelReason, streamingFailedMessage?: string) => { + const abortStream = async (cancelReason: ClineApiReqCancelReason, streamingFailedMessage?: string) => { if (this.diffViewProvider.isEditing) { await this.diffViewProvider.revertChanges() // closes diff view } diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index 1d2e989..355f2c8 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -90,15 +90,15 @@ export interface ClineSayTool { filePattern?: string } -export interface ClaudeApiReqInfo { +export interface ClineApiReqInfo { request?: string tokensIn?: number tokensOut?: number cacheWrites?: number cacheReads?: number cost?: number - cancelReason?: ClaudeApiReqCancelReason + cancelReason?: ClineApiReqCancelReason streamingFailedMessage?: string } -export type ClaudeApiReqCancelReason = "streaming_failed" | "user_cancelled" +export type ClineApiReqCancelReason = "streaming_failed" | "user_cancelled" diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index 56bb572..022e780 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, ClineMessage, ClineSayTool } from "../../../../src/shared/ExtensionMessage" +import { ClineApiReqInfo, ClineMessage, ClineSayTool } from "../../../../src/shared/ExtensionMessage" import { COMMAND_OUTPUT_STRING } from "../../../../src/shared/combineCommandSequences" import { vscode } from "../../utils/vscode" import CodeAccordian, { removeLeadingNonAlphanumeric } from "../common/CodeAccordian" @@ -63,7 +63,7 @@ export default ChatRow const ChatRowContent = ({ message, isExpanded, onToggleExpand, lastModifiedMessage, isLast }: ChatRowContentProps) => { const [cost, apiReqCancelReason, apiReqStreamingFailedMessage] = useMemo(() => { if (message.text != null && message.say === "api_req_started") { - const info: ClaudeApiReqInfo = JSON.parse(message.text) + const info: ClineApiReqInfo = JSON.parse(message.text) return [info.cost, info.cancelReason, info.streamingFailedMessage] } return [undefined, undefined, undefined]