Documentation
¶
Index ¶
- func CreateBackupPath(path string) string
- func EnsureDir(path string) error
- func GetFileTimestamps(info os.FileInfo) (created, accessed, modified time.Time)
- func IsPathAllowed(path string, allowedDirs []string) bool
- func NormalizePath(path string) (string, error)
- func ResolveSymlink(path string) (string, error)
- func ValidatePath(path string, allowedDirs []string) error
- type BatchFileOperationsOptions
- type BatchOpResult
- type BatchOperation
- type CodeMatch
- type CompressFilesOptions
- type CompressResult
- type CopyFileOptions
- type CreateDirectoryOptions
- type CreateDirectoryResult
- type DeleteFileOptions
- type DirectoryEntry
- type DiskUsageOptions
- type DiskUsageResult
- type EditBlockOptions
- type EditBlocksOptions
- type EditFileOptions
- type EditMultipleBlocksOptions
- type EditOpResult
- type EditPair
- type EditResult
- type ExtractArchiveOptions
- type ExtractLinesOptions
- type ExtractLinesResult
- type ExtractResult
- type FileOpResult
- type FileSearchResult
- type FindLargeFilesOptions
- type FindLargeFilesResult
- type GetDirectoryTreeOptions
- type GetDirectoryTreeResult
- type GetFileInfoOptions
- type GetFileInfoResult
- type LargeFileInfo
- type LargeWriteFileOptions
- type ListAllowedDirectoriesResult
- type ListDirectoryOptions
- type ListDirectoryResult
- type MoveFileOptions
- type MultiEditOperation
- type MultiEditResult
- type ReadFileOptions
- type ReadFileResult
- type ReadMultipleFilesOptions
- type ReadMultipleFilesResult
- type SafeEditOptions
- type SearchCodeOptions
- type SearchCodeResult
- type SearchFilesOptions
- type SearchFilesResult
- type SearchReplaceOptions
- type SearchReplaceResult
- type SyncDirectoriesOptions
- type SyncResult
- type TreeNode
- type WriteFileOptions
- type WriteFileResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateBackupPath ¶
CreateBackupPath generates a backup path
func GetFileTimestamps ¶
GetFileTimestamps returns the created, accessed, and modified timestamps for a file On Linux, creation time (birth time) is not always available, so we use ctime as fallback
func IsPathAllowed ¶
IsPathAllowed checks if a path is within any of the allowed directories
func NormalizePath ¶
NormalizePath cleans and normalizes a file path
func ResolveSymlink ¶
ResolveSymlink resolves a symlink to its target path
func ValidatePath ¶
ValidatePath checks if a path is allowed based on the allowed directories list
Types ¶
type BatchFileOperationsOptions ¶
type BatchFileOperationsOptions struct {
Operations []BatchOperation
AllowedDirs []string
}
BatchFileOperationsOptions contains input parameters for BatchFileOperations
type BatchOpResult ¶
type BatchOpResult struct {
Success int `json:"success"`
Failed int `json:"failed"`
Operations []FileOpResult `json:"operations"`
}
BatchOpResult represents the result of batch operations
func BatchFileOperations ¶
func BatchFileOperations(opts BatchFileOperationsOptions) (*BatchOpResult, error)
BatchFileOperations performs multiple file operations
type BatchOperation ¶
type BatchOperation struct {
Operation string `json:"operation"`
Source string `json:"source"`
Destination string `json:"destination,omitempty"`
Recursive bool `json:"recursive,omitempty"`
}
BatchOperation represents a single batch operation
type CodeMatch ¶
type CodeMatch struct {
File string `json:"file"`
Line int `json:"line"`
Content string `json:"content"`
Context []string `json:"context,omitempty"`
}
CodeMatch represents a single code match
type CompressFilesOptions ¶
type CompressFilesOptions struct {
Paths []string
Output string
Format string
AllowedDirs []string
}
CompressFilesOptions contains input parameters for CompressFiles
type CompressResult ¶
type CompressResult struct {
Output string `json:"output"`
Format string `json:"format"`
Size int64 `json:"size"`
FilesAdded int `json:"files_added"`
Success bool `json:"success"`
}
CompressResult represents compression result
func CompressFiles ¶
func CompressFiles(opts CompressFilesOptions) (*CompressResult, error)
CompressFiles compresses files into an archive
type CopyFileOptions ¶
CopyFileOptions contains input parameters for CopyFile
type CreateDirectoryOptions ¶
CreateDirectoryOptions contains input parameters for CreateDirectory
type CreateDirectoryResult ¶
type CreateDirectoryResult struct {
Path string `json:"path"`
Created bool `json:"created"`
Message string `json:"message"`
}
CreateDirectoryResult represents the result of creating a directory
func CreateDirectory ¶
func CreateDirectory(opts CreateDirectoryOptions) (*CreateDirectoryResult, error)
CreateDirectory creates a directory
type DeleteFileOptions ¶
DeleteFileOptions contains input parameters for DeleteFile
type DirectoryEntry ¶
type DirectoryEntry struct {
Name string `json:"name"`
Path string `json:"path"`
Type string `json:"type"` // "file" or "directory"
IsDir bool `json:"is_dir"`
Size int64 `json:"size"`
SizeReadable string `json:"size_readable"`
Mode string `json:"mode"`
Permissions uint32 `json:"permissions"`
Modified string `json:"modified"`
Created string `json:"created,omitempty"`
Accessed string `json:"accessed,omitempty"`
Extension string `json:"extension,omitempty"`
MimeType string `json:"mime_type,omitempty"`
IsReadable bool `json:"is_readable"`
IsWritable bool `json:"is_writable"`
}
DirectoryEntry represents a file or directory entry
type DiskUsageOptions ¶
DiskUsageOptions contains input parameters for GetDiskUsage
type DiskUsageResult ¶
type DiskUsageResult struct {
Path string `json:"path"`
TotalSize int64 `json:"total_size"`
TotalFiles int `json:"total_files"`
TotalDirs int `json:"total_dirs"`
}
DiskUsageResult represents disk usage information
func GetDiskUsage ¶
func GetDiskUsage(opts DiskUsageOptions) (*DiskUsageResult, error)
GetDiskUsage calculates disk usage for a path
type EditBlockOptions ¶
EditBlockOptions contains input parameters for EditBlock
type EditBlocksOptions ¶
EditBlocksOptions contains input parameters for EditBlocks
type EditFileOptions ¶
type EditFileOptions struct {
Path string
Operation string
Line int
Content string
AllowedDirs []string
}
EditFileOptions contains input parameters for EditFile
type EditMultipleBlocksOptions ¶
type EditMultipleBlocksOptions struct {
Path string
Edits []MultiEditOperation
Backup bool
AllowedDirs []string
}
EditMultipleBlocksOptions contains input parameters for EditMultipleBlocks
type EditOpResult ¶
type EditOpResult struct {
EditIndex int `json:"edit_index"`
Mode string `json:"mode"`
Status string `json:"status"`
LineNumber int `json:"line_number,omitempty"`
OldText string `json:"old_text_preview,omitempty"`
NewText string `json:"new_text_preview,omitempty"`
InsertedLine string `json:"inserted_line,omitempty"`
DeletedLine string `json:"deleted_line,omitempty"`
ChangesMade int `json:"changes_made"`
}
EditOpResult represents the result of a single edit operation
type EditResult ¶
type EditResult struct {
Path string `json:"path"`
Success bool `json:"success"`
Changes int `json:"changes"`
Backup string `json:"backup,omitempty"`
Message string `json:"message"`
OldContent string `json:"old_content,omitempty"`
NewContent string `json:"new_content,omitempty"`
}
EditResult represents the result of an edit operation
func EditBlock ¶
func EditBlock(opts EditBlockOptions) (*EditResult, error)
EditBlock replaces a single block of text in a file
func EditBlocks ¶
func EditBlocks(opts EditBlocksOptions) (*EditResult, error)
EditBlocks applies multiple edits to a single file
func EditFile ¶
func EditFile(opts EditFileOptions) (*EditResult, error)
EditFile performs line-based file editing
func SafeEdit ¶
func SafeEdit(opts SafeEditOptions) (*EditResult, error)
SafeEdit performs a safe edit with backup and dry-run support
type ExtractArchiveOptions ¶
ExtractArchiveOptions contains input parameters for ExtractArchive
type ExtractLinesOptions ¶
type ExtractLinesOptions struct {
Path string
LineNumbers []int
StartLine int
EndLine int
Pattern string
ContextLines int
AllowedDirs []string
}
ExtractLinesOptions contains input parameters for ExtractLines
type ExtractLinesResult ¶
type ExtractLinesResult struct {
Path string `json:"path"`
Content string `json:"content"`
Lines int `json:"lines"`
}
ExtractLinesResult represents the result of extracting lines
func ExtractLines ¶
func ExtractLines(opts ExtractLinesOptions) (*ExtractLinesResult, error)
ExtractLines extracts specific lines from a file
type ExtractResult ¶
type ExtractResult struct {
Archive string `json:"archive"`
Destination string `json:"destination"`
FilesExtracted int `json:"files_extracted"`
Success bool `json:"success"`
}
ExtractResult represents extraction result
func ExtractArchive ¶
func ExtractArchive(opts ExtractArchiveOptions) (*ExtractResult, error)
ExtractArchive extracts an archive to a destination
type FileOpResult ¶
type FileOpResult struct {
Path string `json:"path"`
Source string `json:"source,omitempty"`
Destination string `json:"destination,omitempty"`
Success bool `json:"success"`
Operation string `json:"operation"`
Message string `json:"message"`
}
FileOpResult represents the result of a file operation
func CopyFile ¶
func CopyFile(opts CopyFileOptions) (*FileOpResult, error)
CopyFile copies a file or directory
func DeleteFile ¶
func DeleteFile(opts DeleteFileOptions) (*FileOpResult, error)
DeleteFile deletes a file or directory
func MoveFile ¶
func MoveFile(opts MoveFileOptions) (*FileOpResult, error)
MoveFile moves or renames a file or directory
type FileSearchResult ¶
type FileSearchResult struct {
Path string `json:"path"`
Name string `json:"name"`
Size int64 `json:"size"`
IsDir bool `json:"is_dir"`
ModTime string `json:"mod_time"`
}
FileSearchResult represents a found file
type FindLargeFilesOptions ¶
FindLargeFilesOptions contains input parameters for FindLargeFiles
type FindLargeFilesResult ¶
type FindLargeFilesResult struct {
Path string `json:"path"`
MinSize int64 `json:"min_size"`
Files []LargeFileInfo `json:"files"`
Total int `json:"total"`
}
FindLargeFilesResult represents find large files result
func FindLargeFiles ¶
func FindLargeFiles(opts FindLargeFilesOptions) (*FindLargeFilesResult, error)
FindLargeFiles finds files larger than a minimum size
type GetDirectoryTreeOptions ¶
type GetDirectoryTreeOptions struct {
Path string
MaxDepth int
ShowHidden bool
IncludeFiles bool
Pattern string
AllowedDirs []string
}
GetDirectoryTreeOptions contains input parameters for GetDirectoryTree
type GetDirectoryTreeResult ¶
type GetDirectoryTreeResult struct {
Tree *TreeNode `json:"tree"`
TotalDirs int `json:"total_dirs"`
TotalFiles int `json:"total_files"`
TotalSize int64 `json:"total_size"`
}
GetDirectoryTreeResult represents the result of a directory tree operation
func GetDirectoryTree ¶
func GetDirectoryTree(opts GetDirectoryTreeOptions) (*GetDirectoryTreeResult, error)
GetDirectoryTree gets the directory tree structure
type GetFileInfoOptions ¶
GetFileInfoOptions contains input parameters for GetFileInfo
type GetFileInfoResult ¶
type GetFileInfoResult struct {
Path string `json:"path"`
Name string `json:"name"`
Size int64 `json:"size"`
IsDir bool `json:"is_dir"`
Mode string `json:"mode"`
Modified string `json:"modified"`
}
GetFileInfoResult represents file information
func GetFileInfo ¶
func GetFileInfo(opts GetFileInfoOptions) (*GetFileInfoResult, error)
GetFileInfo gets detailed information about a file or directory
type LargeFileInfo ¶
type LargeFileInfo struct {
Path string `json:"path"`
Size int64 `json:"size"`
ModTime string `json:"mod_time"`
}
LargeFileInfo represents a large file found
type LargeWriteFileOptions ¶
type LargeWriteFileOptions struct {
Path string
Content string
CreateDirs bool
Append bool
Backup bool
VerifyWrite bool
AllowedDirs []string
}
LargeWriteFileOptions contains input parameters for LargeWriteFile
type ListAllowedDirectoriesResult ¶
type ListAllowedDirectoriesResult struct {
AllowedDirectories []string `json:"allowed_directories"`
}
ListAllowedDirectoriesResult represents the allowed directories
func ListAllowedDirectories ¶
func ListAllowedDirectories(allowedDirs []string) *ListAllowedDirectoriesResult
ListAllowedDirectories returns the list of allowed directories
type ListDirectoryOptions ¶
type ListDirectoryOptions struct {
Path string
ShowHidden bool
Pattern string
SortBy string
Reverse bool
Page int
PageSize int
AllowedDirs []string
}
ListDirectoryOptions contains input parameters for ListDirectory
type ListDirectoryResult ¶
type ListDirectoryResult struct {
Path string `json:"path"`
Items []DirectoryEntry `json:"items"`
Total int `json:"total"`
Page int `json:"page,omitempty"`
PageSize int `json:"page_size,omitempty"`
TotalPages int `json:"total_pages,omitempty"`
}
ListDirectoryResult represents the result of a directory listing
func ListDirectory ¶
func ListDirectory(opts ListDirectoryOptions) (*ListDirectoryResult, error)
ListDirectory lists directory contents
type MoveFileOptions ¶
MoveFileOptions contains input parameters for MoveFile
type MultiEditOperation ¶
type MultiEditOperation struct {
OldText string `json:"old_text,omitempty"`
NewText string `json:"new_text,omitempty"`
LineNumber int `json:"line_number,omitempty"`
Mode string `json:"mode,omitempty"` // "replace", "insert_before", "insert_after", "delete_line"
}
MultiEditOperation represents a single edit operation in EditMultipleBlocks
type MultiEditResult ¶
type MultiEditResult struct {
Message string `json:"message"`
Path string `json:"path"`
TotalEdits int `json:"total_edits"`
SuccessfulEdits int `json:"successful_edits"`
TotalChanges int `json:"total_changes"`
OriginalLines int `json:"original_lines"`
NewLines int `json:"new_lines"`
EditResults []EditOpResult `json:"edit_results"`
BackupCreated *string `json:"backup_created"`
BackupEnabled bool `json:"backup_enabled"`
Size int64 `json:"size"`
SizeReadable string `json:"size_readable"`
Timestamp string `json:"timestamp"`
}
MultiEditResult represents the detailed result of EditMultipleBlocks (fast-filesystem parity)
func EditMultipleBlocks ¶
func EditMultipleBlocks(opts EditMultipleBlocksOptions) (*MultiEditResult, error)
EditMultipleBlocks applies multiple edits to a file with support for different modes Modes: replace (text matching), insert_before (line-based), insert_after (line-based), delete_line (line-based)
type ReadFileOptions ¶
type ReadFileOptions struct {
Path string
StartOffset int
MaxSize int
LineStart int
LineCount int
AllowedDirs []string
}
ReadFileOptions contains input parameters for ReadFile
type ReadFileResult ¶
type ReadFileResult struct {
Path string `json:"path"`
Content string `json:"content"`
Size int64 `json:"size"`
Lines int `json:"lines,omitempty"`
Truncated bool `json:"truncated,omitempty"`
Error string `json:"error,omitempty"`
}
ReadFileResult represents the result of a file read operation
func ReadFile ¶
func ReadFile(opts ReadFileOptions) (*ReadFileResult, error)
ReadFile reads a file with optional line range or byte offset
type ReadMultipleFilesOptions ¶
ReadMultipleFilesOptions contains input parameters for ReadMultipleFiles
type ReadMultipleFilesResult ¶
type ReadMultipleFilesResult struct {
Files []ReadFileResult `json:"files"`
Success int `json:"success"`
Failed int `json:"failed"`
}
ReadMultipleFilesResult represents results from reading multiple files
func ReadMultipleFiles ¶
func ReadMultipleFiles(opts ReadMultipleFilesOptions) (*ReadMultipleFilesResult, error)
ReadMultipleFiles reads multiple files concurrently
type SafeEditOptions ¶
type SafeEditOptions struct {
Path string
OldString string
NewString string
Backup bool
DryRun bool
AllowedDirs []string
}
SafeEditOptions contains input parameters for SafeEdit
type SearchCodeOptions ¶
type SearchCodeOptions struct {
Path string
Pattern string
CaseInsensitive bool
Regex bool
ContextLines int
FileTypes []string
MaxResults int
ShowHidden bool
AllowedDirs []string
}
SearchCodeOptions contains input parameters for SearchCode
type SearchCodeResult ¶
type SearchCodeResult struct {
Pattern string `json:"pattern"`
Path string `json:"path"`
Matches []CodeMatch `json:"matches"`
TotalFiles int `json:"total_files"`
TotalMatches int `json:"total_matches"`
}
SearchCodeResult represents the result of a code search
func SearchCode ¶
func SearchCode(opts SearchCodeOptions) (*SearchCodeResult, error)
SearchCode searches for patterns in file contents
type SearchFilesOptions ¶
type SearchFilesOptions struct {
Path string
Pattern string
Recursive bool
ShowHidden bool
MaxResults int
AllowedDirs []string
}
SearchFilesOptions contains input parameters for SearchFiles
type SearchFilesResult ¶
type SearchFilesResult struct {
Pattern string `json:"pattern"`
Path string `json:"path"`
Matches []FileSearchResult `json:"matches"`
Total int `json:"total"`
}
SearchFilesResult represents the result of a file search
func SearchFiles ¶
func SearchFiles(opts SearchFilesOptions) (*SearchFilesResult, error)
SearchFiles searches for files by name pattern
type SearchReplaceOptions ¶
type SearchReplaceOptions struct {
Path string
Pattern string
Replacement string
Regex bool
DryRun bool
FileTypes []string
AllowedDirs []string
}
SearchReplaceOptions contains input parameters for SearchAndReplace
type SearchReplaceResult ¶
type SearchReplaceResult struct {
Path string `json:"path"`
FilesModified int `json:"files_modified"`
TotalChanges int `json:"total_changes"`
Results []EditResult `json:"results"`
}
SearchReplaceResult represents results from search and replace
func SearchAndReplace ¶
func SearchAndReplace(opts SearchReplaceOptions) (*SearchReplaceResult, error)
SearchAndReplace performs search and replace across files
type SyncDirectoriesOptions ¶
SyncDirectoriesOptions contains input parameters for SyncDirectories
type SyncResult ¶
type SyncResult struct {
Source string `json:"source"`
Destination string `json:"destination"`
FilesCopied int `json:"files_copied"`
DirsCreated int `json:"dirs_created"`
Success bool `json:"success"`
}
SyncResult represents sync result
func SyncDirectories ¶
func SyncDirectories(opts SyncDirectoriesOptions) (*SyncResult, error)
SyncDirectories synchronizes two directories
type TreeNode ¶
type TreeNode struct {
Name string `json:"name"`
Path string `json:"path"`
IsDir bool `json:"is_dir"`
Size int64 `json:"size,omitempty"`
Children []*TreeNode `json:"children,omitempty"`
}
TreeNode represents a node in the directory tree
type WriteFileOptions ¶
type WriteFileOptions struct {
Path string
Content string
CreateDirs bool
Append bool
AllowedDirs []string
}
WriteFileOptions contains input parameters for WriteFile
type WriteFileResult ¶
type WriteFileResult struct {
Path string `json:"path"`
Size int64 `json:"size"`
Created bool `json:"created"`
Backup string `json:"backup,omitempty"`
Message string `json:"message"`
}
WriteFileResult represents the result of a write operation
func LargeWriteFile ¶
func LargeWriteFile(opts LargeWriteFileOptions) (*WriteFileResult, error)
LargeWriteFile writes large files with backup and verification
func WriteFile ¶
func WriteFile(opts WriteFileOptions) (*WriteFileResult, error)
WriteFile writes content to a file