WorkspaceFilesystem
Ajouté dans : @mastra/core@1.1.0
L’interface WorkspaceFilesystem définit la manière dont les espaces de travail interagissent avec le stockage de fichiers.
MéthodesLien direct vers Méthodes
readFile(path, options?)Lien direct vers readfilepath-options
Lit le contenu d’un fichier.
const content = await filesystem.readFile('/docs/guide.md')
const buffer = await filesystem.readFile('/image.png', { encoding: 'binary' })
Paramètres :
path:
options?:
encoding?:
Renvoie : Promise<string | Buffer>
writeFile(path, content, options?)Lien direct vers writefilepath-content-options
Écrit le contenu d’un fichier.
await filesystem.writeFile('/docs/new.md', '# New Document')
await filesystem.writeFile('/nested/path/file.md', content, { recursive: true })
Paramètres :
path:
content:
options?:
recursive?:
overwrite?:
expectedMtime?:
deleteFile(path, options?)Lien direct vers deletefilepath-options
Supprime un fichier.
await filesystem.deleteFile('/docs/old.md')
await filesystem.deleteFile('/docs/maybe.md', { force: true }) // Don't throw if missing
Paramètres :
path:
options?:
force?:
appendFile(path, content)Lien direct vers appendfilepath-content
Ajoute du contenu à un fichier en le créant s’il n’existe pas encore. Les répertoires parents sont créés automatiquement.
await filesystem.appendFile('/logs/app.log', 'New log entry\n')
Paramètres :
path:
content:
copyFile(src, dest, options?)Lien direct vers copyfilesrc-dest-options
Copie un fichier vers un nouvel emplacement.
await filesystem.copyFile('/docs/template.md', '/docs/new-doc.md')
Paramètres :
src:
dest:
options?:
overwrite?:
moveFile(src, dest, options?)Lien direct vers movefilesrc-dest-options
Déplace ou renomme un fichier.
await filesystem.moveFile('/docs/draft.md', '/docs/final.md')
Paramètres :
src:
dest:
options?:
overwrite?:
readdir(path, options?)Lien direct vers readdirpath-options
Liste le contenu d’un répertoire.
const entries = await filesystem.readdir('/docs')
// [{ name: 'guide.md', type: 'file' }, { name: 'api', type: 'directory' }]
Renvoie : Promise<FileEntry[]>
interface FileEntry {
name: string
type: 'file' | 'directory'
size?: number
isSymlink?: boolean
symlinkTarget?: string
}
mkdir(path, options?)Lien direct vers mkdirpath-options
Crée un répertoire.
await filesystem.mkdir('/docs/api')
await filesystem.mkdir('/deeply/nested/path', { recursive: true })
Paramètres :
path:
options?:
recursive?:
rmdir(path, options?)Lien direct vers rmdirpath-options
Supprime un répertoire.
await filesystem.rmdir('/docs/old')
await filesystem.rmdir('/docs/nested', { recursive: true })
Paramètres :
path:
options?:
recursive?:
force?:
exists(path)Lien direct vers existspath
Vérifie si un chemin existe.
const exists = await filesystem.exists('/docs/guide.md')
Renvoie : Promise<boolean>
stat(path)Lien direct vers statpath
Obtient les métadonnées d’un fichier ou d’un répertoire.
const stat = await filesystem.stat('/docs/guide.md')
// { name: 'guide.md', path: '/docs/guide.md', type: 'file', size: 1234, createdAt: Date, modifiedAt: Date }
Renvoie : Promise<FileStat>
interface FileStat {
name: string // File or directory name (basename only)
path: string // Path relative to the filesystem basePath
type: 'file' | 'directory'
size: number
createdAt: Date
modifiedAt: Date
mimeType?: string
}
Méthodes facultativesLien direct vers Méthodes facultatives
init()Lien direct vers init
Initialise le système de fichiers. Appelée par workspace.init().
await filesystem.init?.()
destroy()Lien direct vers destroy
Libère les ressources. Appelée par workspace.destroy().
await filesystem.destroy?.()
getInfo()Lien direct vers getinfo
Obtient les métadonnées du système de fichiers.
const info = await filesystem.getInfo?.()
// { id, name, provider, basePath, readOnly, status, storage? }
Renvoie : Promise<FilesystemInfo>
interface FilesystemInfo {
id: string
name: string
provider: string
basePath?: string
readOnly?: boolean
status?: string
storage?: {
totalBytes?: number
usedBytes?: number
availableBytes?: number
}
}
getInstructions(opts?)Lien direct vers getinstructionsopts
Renvoie une description du fonctionnement de ce système de fichiers. Elle est injectée dans le message système de l’agent lorsque l’espace de travail est attribué à un agent.
const instructions = filesystem.getInstructions?.()
// 'Local filesystem at "/workspace". Files at workspace path "/foo" are stored at "/workspace/foo" on disk.'
Paramètres :
opts.requestContext?:
instructions si elle a été fournie au constructeur.Renvoie : string