Aller au contenu principal

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éthodes
Lien 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:

string
Chemin du fichier relatif à basePath.

options?:

Options
Options de readFile.
Options

encoding?:

'utf-8' | 'binary'
Encodage texte ou binaire.

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:

string
Chemin du fichier relatif à basePath.

content:

string | Buffer
Contenu du fichier.

options?:

Options
Options de configuration.
Options

recursive?:

boolean
Crée les répertoires parents s’ils n’existent pas.

overwrite?:

boolean
Écrase le fichier existant.

expectedMtime?:

Date
Si cette valeur est fournie, l’écriture échoue avec une StaleFileError lorsque l’heure de modification actuelle du fichier ne correspond pas. Utilisez cette option pour un contrôle de concurrence optimiste afin de détecter les modifications externes entre la lecture et l’écriture.

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:

string
Chemin du fichier.

options?:

Options
Options de configuration.
Options

force?:

boolean
Ne lève pas d’erreur si le fichier n’existe pas.

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:

string
Chemin du fichier.

content:

string | Buffer
Contenu à ajouter.

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:

string
Chemin du fichier source.

dest:

string
Chemin du fichier de destination.

options?:

Options
Options de configuration.
Options

overwrite?:

boolean
Écrase la destination si elle existe.

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:

string
Chemin du fichier source.

dest:

string
Chemin du fichier de destination.

options?:

Options
Options de configuration.
Options

overwrite?:

boolean
Écrase la destination si elle existe.

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:

string
Chemin du répertoire.

options?:

Options
Options de configuration.
Options

recursive?:

boolean
Crée les répertoires parents.

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:

string
Chemin du répertoire.

options?:

Options
Options de configuration.
Options

recursive?:

boolean
Supprime le contenu récursivement.

force?:

boolean
Ne lève pas d’erreur si le répertoire n’existe pas.

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 facultatives
Lien 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?:

RequestContext
Transmis à la fonction instructions si elle a été fournie au constructeur.

Renvoie : string