feat: file list api

This commit is contained in:
Adam
2025-08-27 15:27:49 -05:00
parent 3359417378
commit 8749c0c707
6 changed files with 122 additions and 10 deletions

View File

@@ -59,6 +59,8 @@ import type {
FindFilesResponses,
FindSymbolsData,
FindSymbolsResponses,
FileListData,
FileListResponses,
FileReadData,
FileReadResponses,
FileStatusData,
@@ -457,12 +459,22 @@ class Find extends _HeyApiClient {
}
class File extends _HeyApiClient {
/**
* List files and directories
*/
public list<ThrowOnError extends boolean = false>(options: Options<FileListData, ThrowOnError>) {
return (options.client ?? this._client).get<FileListResponses, unknown, ThrowOnError>({
url: "/file",
...options,
})
}
/**
* Read a file
*/
public read<ThrowOnError extends boolean = false>(options: Options<FileReadData, ThrowOnError>) {
return (options.client ?? this._client).get<FileReadResponses, unknown, ThrowOnError>({
url: "/file",
url: "/file/content",
...options,
})
}

View File

@@ -1138,6 +1138,12 @@ export type Symbol = {
}
}
export type FileNode = {
name: string
path: string
type: "file" | "directory"
}
export type File = {
path: string
added: number
@@ -1804,7 +1810,7 @@ export type FindSymbolsResponses = {
export type FindSymbolsResponse = FindSymbolsResponses[keyof FindSymbolsResponses]
export type FileReadData = {
export type FileListData = {
body?: never
path?: never
query: {
@@ -1813,6 +1819,24 @@ export type FileReadData = {
url: "/file"
}
export type FileListResponses = {
/**
* Files and directories
*/
200: Array<FileNode>
}
export type FileListResponse = FileListResponses[keyof FileListResponses]
export type FileReadData = {
body?: never
path?: never
query: {
path: string
}
url: "/file/content"
}
export type FileReadResponses = {
/**
* File content