| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- // type that represents json data that is sent from extension to webview, called ExtensionMessage and has 'type' enum which can be 'plusButtonTapped' or 'settingsButtonTapped' or 'hello'
- import { ApiConfiguration } from "./api"
- import { HistoryItem } from "./HistoryItem"
- // webview will hold state
- export interface ExtensionMessage {
- type: "action" | "state" | "selectedImages"
- text?: string
- action?: "chatButtonTapped" | "settingsButtonTapped" | "historyButtonTapped" | "didBecomeVisible"
- state?: ExtensionState
- images?: string[]
- }
- export interface ExtensionState {
- version: string
- apiConfiguration?: ApiConfiguration
- customInstructions?: string
- alwaysAllowReadOnly?: boolean
- themeName?: string
- uriScheme?: string
- claudeMessages: ClaudeMessage[]
- taskHistory: HistoryItem[]
- shouldShowAnnouncement: boolean
- }
- export interface ClaudeMessage {
- ts: number
- type: "ask" | "say"
- ask?: ClaudeAsk
- say?: ClaudeSay
- text?: string
- images?: string[]
- }
- export type ClaudeAsk =
- | "followup"
- | "command"
- | "command_output"
- | "completion_result"
- | "tool"
- | "api_req_failed"
- | "resume_task"
- | "resume_completed_task"
- export type ClaudeSay =
- | "task"
- | "error"
- | "api_req_started"
- | "api_req_finished"
- | "text"
- | "completion_result"
- | "user_feedback"
- | "user_feedback_diff"
- | "api_req_retried"
- | "command_output"
- | "tool"
- export interface ClaudeSayTool {
- tool:
- | "editedExistingFile"
- | "newFileCreated"
- | "readFile"
- | "listFilesTopLevel"
- | "listFilesRecursive"
- | "listCodeDefinitionNames"
- | "searchFiles"
- path?: string
- diff?: string
- content?: string
- regex?: string
- filePattern?: string
- }
|