mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-03-10 06:00:19 +00:00
- Implemented a new Diff View in the Workbench to visualize file changes - Added file history tracking with detailed change information - Enhanced FileTree and FileModifiedDropdown to show line additions and deletions - Integrated file history saving and retrieval in ActionRunner - Updated Workbench view types to include 'diff' option - Added support for inline and side-by-side diff view modes
45 lines
968 B
TypeScript
45 lines
968 B
TypeScript
import type { Change } from 'diff';
|
|
|
|
export type ActionType = 'file' | 'shell';
|
|
|
|
export interface BaseAction {
|
|
content: string;
|
|
}
|
|
|
|
export interface FileAction extends BaseAction {
|
|
type: 'file';
|
|
filePath: string;
|
|
}
|
|
|
|
export interface ShellAction extends BaseAction {
|
|
type: 'shell';
|
|
}
|
|
|
|
export interface StartAction extends BaseAction {
|
|
type: 'start';
|
|
}
|
|
|
|
export type BoltAction = FileAction | ShellAction | StartAction;
|
|
|
|
export type BoltActionData = BoltAction | BaseAction;
|
|
|
|
export interface ActionAlert {
|
|
type: string;
|
|
title: string;
|
|
description: string;
|
|
content: string;
|
|
source?: 'terminal' | 'preview'; // Add source to differentiate between terminal and preview errors
|
|
}
|
|
|
|
export interface FileHistory {
|
|
originalContent: string;
|
|
lastModified: number;
|
|
changes: Change[];
|
|
versions: {
|
|
timestamp: number;
|
|
content: string;
|
|
}[];
|
|
// Novo campo para rastrear a origem das mudanças
|
|
changeSource?: 'user' | 'auto-save' | 'external';
|
|
}
|