파일 시스템 공급자
FilesystemProvider파일 시스템을 등록하기 위해 패키지가 구현하는 인터페이스입니다.MastraEditor. 편집자가 전화함createFilesystem(config)작업 공간 수분 공급 시간에provider저장된 이드에서StorageWorkspaceRef파일 시스템 구성을 조회 키로 사용합니다.
내장 local 파일 시스템 Provider는 자동으로 등록됩니다. 외부 Provider(예: S3 또는 GCS)는 MastraEditorConfig.filesystems를 통해 제공합니다.
사용예사용예에 대한 직접 링크
src/mastra/index.ts
import { MastraEditor } from '@mastra/editor'
import { s3FilesystemProvider } from '@mastra/s3'
new MastraEditor({
filesystems: {
[s3FilesystemProvider.id]: s3FilesystemProvider,
},
})
속성속성에 대한 직접 링크
id:
string
고유한 Provider 식별자입니다(예:
"local", "s3"). 이 Provider를 사용하는 모든 저장된 Workspace의 StorageFilesystemConfig.provider와 일치해야 합니다.name:
string
UI에 표시되는 사람이 읽기 쉬운 이름입니다.
description?:
string
Workspace 파일 시스템 선택기에 표시되는 간단한 설명입니다.
configSchema?:
Record<string, unknown>
Provider별 구성을 설명하는 JSON Schema입니다. UI에서 구성 양식을 렌더링하는 데 사용됩니다.
createFilesystem:
(config: TConfig) => WorkspaceFilesystem | Promise<WorkspaceFilesystem>
저장된 구성으로 런타임
WorkspaceFilesystem 인스턴스를 생성합니다. Workspace 하이드레이션 시점에 호출됩니다.공급자 구현공급자 구현에 대한 직접 링크
src/providers/my-filesystem.ts
import type { FilesystemProvider, WorkspaceFilesystem } from '@mastra/core/editor'
export const myFilesystemProvider: FilesystemProvider<{ bucket: string; region: string }> = {
id: 'my-fs',
name: 'My Filesystem',
description: 'Object-store-backed filesystem.',
configSchema: {
type: 'object',
required: ['bucket', 'region'],
properties: {
bucket: { type: 'string' },
region: { type: 'string' },
},
},
async createFilesystem(config): Promise<WorkspaceFilesystem> {
return createMyFilesystem({ bucket: config.bucket, region: config.region })
},
}
등록되면 관리자는 인라인 작업 공간 구성 또는 저장된 공급자를 참조할 수 있습니다.StorageWorkspaceRef.
관련된관련된에 대한 직접 링크
- 작업공간: 개념 및 작업 사례.
- 스토리지작업공간참조: 저장된 구성은 다음에서 사용됩니다.
createFilesystem. - 샌드박스 제공자: 명령 실행을 위한 형제 공급자입니다.
- MastraEditor 클래스: 공급자 레지스트리.