AI Disclosure: This page was generated by an LLM and may contain inaccuracies. Hand-crafted documentation will be implemented over time on the road to 1.0
MetadataProvider
Since Plugin API: 1.0.0
Metadata provider - extracts structured metadata from files
Signature
interface MetadataProvider {
type: "metadata";
id: string;
name: string;
priority?: number;
extensions?: string[];
mimeTypes?: string[];
categories?: FileCategory[];
canHandle?: (file: FileEntry) => boolean;
extract: (file: FileEntry, rawMeta: RawMetadata, api: MetadataAPI) => Promise<ExtractedMetadata> | ExtractedMetadata;
schema?: MetadataSchema;
columnPolicy?: MetadataColumnPolicy;
getFilterValueOptions?: (fieldKey: string, api: MetadataAPI) => FilterValueOption[] | Promise<FilterValueOption[]>;
}Members
| Name | Type | Required | Description |
|---|---|---|---|
type | "metadata" | yes | - |
id | string | yes | - |
name | string | yes | - |
priority | number | no | Precedence when multiple providers match the same file (default 0). Higher values sort first in registry lookups and extraction order; also breaks ties for directory metadata profiles and auto-visible Details columns. |
extensions | string[] | no | File matching criteria |
mimeTypes | string[] | no | - |
categories | FileCategory[] | no | - |
canHandle | (file:FileEntry) => boolean | no | - |
extract | (file:FileEntry, rawMeta:RawMetadata, api:MetadataAPI) => Promise<ExtractedMetadata> |ExtractedMetadata | yes | Extract metadata from file |
schema | MetadataSchema | no | Schema for extracted metadata (for UI rendering) |
columnPolicy | MetadataColumnPolicy | no | How this provider appears in Details column picker and auto-visible heuristics |
getFilterValueOptions | (fieldKey: string, api:MetadataAPI) =>FilterValueOption[] | Promise<FilterValueOption[]> | no | Optional override for filter dropdown options on dynamic-enum schema fields. When absent or empty, Phials falls back to distinct-value scan over the listing. |