@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
45 lines • 2.05 kB
TypeScript
import type { BlobStore } from '../../storage/domains/blobs/base.js';
import type { SkillVersionTree } from '../../storage/types.js';
import type { SkillSource, SkillSourceEntry, SkillSourceStat } from './skill-source.js';
/**
* A skill entry for the composite source.
* Each entry represents one skill's versioned tree, mounted under a directory name.
*/
export interface VersionedSkillEntry {
/** Directory name for this skill (used as the subdirectory under the root) */
dirName: string;
/** The skill version's file tree manifest */
tree: SkillVersionTree;
/** When this version was created */
versionCreatedAt: Date;
}
/**
* A SkillSource that composes multiple versioned skill trees into a virtual directory.
*
* Each skill is mounted under a directory name, so the composite source looks like:
* / (root - virtual)
* /brand-guidelines/ (skill 1 root)
* /brand-guidelines/SKILL.md (skill 1 files from blob store)
* /tone-of-voice/ (skill 2 root)
* /tone-of-voice/SKILL.md (skill 2 files from blob store)
*
* This allows WorkspaceSkillsImpl to discover skills normally by scanning the root
* for subdirectories containing SKILL.md.
*
* Can also include a fallback source for "live" skills that read from the filesystem.
*/
export declare class CompositeVersionedSkillSource implements SkillSource {
#private;
constructor(entries: VersionedSkillEntry[], blobStore: BlobStore, options?: {
/** Fallback source for "live" skills that read from the filesystem */
fallback?: SkillSource;
/** Skill directory names that should be served from the fallback source */
fallbackSkills?: string[];
});
exists(path: string): Promise<boolean>;
stat(path: string): Promise<SkillSourceStat>;
readFile(path: string): Promise<string | Buffer>;
readdir(path: string): Promise<SkillSourceEntry[]>;
realpath(path: string): Promise<string>;
}
//# sourceMappingURL=composite-versioned-skill-source.d.ts.map