Skip to content

PersistentAI API Documentation / @persistentai/fireflow-vfs / / fileTypeRegistry

Variable: fileTypeRegistry

const fileTypeRegistry: object

Defined in: packages/fireflow-vfs/src/types/file-types.ts:17

Static file type registry. Mirrors the pattern used in secretTypeSchemas.

Type Declaration

audio

audio: object

audio.actions

actions: ("download" | "open" | "preview" | "rename" | "delete")[]

audio.category

category: "media" = 'media'

audio.description

description: string = 'Audio file'

audio.editable

editable: false = false

audio.extensions

extensions: string[]

audio.handler

handler: "download" = 'download'

audio.icon

icon: string = 'Music'

audio.id

id: string = 'audio'

audio.mimeTypes

mimeTypes: string[]

audio.name

name: string = 'Audio'

audio.previewable

previewable: false = false

audio.priority

priority: number = 50

audio.virtual

virtual: false = false

csv

csv: object

csv.actions

actions: ("download" | "open" | "preview" | "rename" | "delete")[]

csv.category

category: "data" = 'data'

csv.description

description: string = 'Comma-separated values'

csv.editable

editable: true = true

csv.extensions

extensions: string[]

csv.handler

handler: "text-editor" = 'text-editor'

csv.icon

icon: string = 'Table'

csv.id

id: string = 'csv'

csv.mimeTypes

mimeTypes: string[]

csv.name

name: string = 'CSV File'

csv.previewable

previewable: true = true

csv.priority

priority: number = 50

csv.virtual

virtual: false = false

env

env: object

env.actions

actions: ("open" | "edit" | "rename" | "delete")[]

env.category

category: "config" = 'config'

env.description

description: string = 'Environment variables'

env.editable

editable: true = true

env.extensions

extensions: string[]

env.handler

handler: "text-editor" = 'text-editor'

env.icon

icon: string = 'FileKey'

env.id

id: string = 'env'

env.mimeTypes

mimeTypes: string[]

env.name

name: string = 'Environment File'

env.previewable

previewable: false = false

env.priority

priority: number = 60

env.virtual

virtual: false = false

ffevent

ffevent: object

ffevent.actions

actions: ("open" | "preview")[]

ffevent.category

category: "fireflow" = 'fireflow'

ffevent.description

description: string = 'Event entry point for a FireFlow flow'

ffevent.dropNodeType

dropNodeType: string = 'ExecuteFlowNode'

ffevent.editable

editable: false = false

ffevent.extensions

extensions: string[]

ffevent.handler

handler: "json-viewer" = 'json-viewer'

ffevent.icon

icon: string = 'Zap'

ffevent.id

id: string = 'ffevent'

ffevent.mimeTypes

mimeTypes: string[]

ffevent.name

name: string = 'Flow Event'

ffevent.previewable

previewable: true = true

ffevent.priority

priority: number = 100

ffevent.virtual

virtual: false = false

fflow

fflow: object

fflow.actions

actions: ("open" | "edit" | "rename" | "duplicate" | "export" | "delete")[]

fflow.category

category: "fireflow" = 'fireflow'

fflow.createSchema

createSchema: ZodObject<{ description: ZodOptional<ZodString>; name: ZodString; tags: ZodOptional<ZodArray<ZodString, "many">>; }, "strip", ZodTypeAny, { description?: string; name: string; tags?: string[]; }, { description?: string; name: string; tags?: string[]; }>

fflow.defaultContent()

defaultContent: (params) => string

Parameters
params

Record<string, unknown> & object

Returns

string

fflow.description

description: string = 'Visual flow definition for FireFlow execution (single-file format - deprecated)'

fflow.dropNodeType

dropNodeType: string = 'ExecuteFlowNode'

fflow.editable

editable: false = false

fflow.extensions

extensions: string[]

fflow.handler

handler: "flow-editor" = 'flow-editor'

fflow.icon

icon: string = 'Workflow'

fflow.id

id: string = 'fflow'

fflow.mimeTypes

mimeTypes: string[]

fflow.name

name: string = 'FireFlow Flow (deprecated)'

fflow.preCreateHook

preCreateHook: "flow" = 'flow'

fflow.previewable

previewable: true = true

fflow.priority

priority: number = 100

fflow.virtual

virtual: false = false

fflowFolder

fflowFolder: object

fflowFolder.actions

actions: ("open" | "rename" | "duplicate" | "delete")[]

fflowFolder.category

category: "fireflow" = 'fireflow'

fflowFolder.createSchema

createSchema: ZodObject<{ description: ZodOptional<ZodString>; name: ZodString; tags: ZodOptional<ZodArray<ZodString, "many">>; }, "strip", ZodTypeAny, { description?: string; name: string; tags?: string[]; }, { description?: string; name: string; tags?: string[]; }>

fflowFolder.description

description: string = 'Visual flow definition package (folder)'

fflowFolder.editable

editable: false = false

fflowFolder.extensions

extensions: string[]

fflowFolder.handler

handler: "flow-editor" = 'flow-editor'

fflowFolder.icon

icon: string = 'Workflow'

fflowFolder.id

id: string = 'fflow-folder'

fflowFolder.mimeTypes

mimeTypes: string[]

fflowFolder.name

name: string = 'FireFlow Flow'

fflowFolder.previewable

previewable: true = true

fflowFolder.priority

priority: number = 110

fflowFolder.virtual

virtual: false = false

ffmcp

ffmcp: object

ffmcp.actions

actions: ("open" | "configure" | "rename" | "refresh" | "delete")[]

ffmcp.category

category: "fireflow" = 'fireflow'

ffmcp.createSchema

createSchema: ZodObject<{ description: ZodOptional<ZodString>; name: ZodString; serverUrl: ZodString; title: ZodString; }, "strip", ZodTypeAny, { description?: string; name: string; serverUrl: string; title: string; }, { description?: string; name: string; serverUrl: string; title: string; }>

ffmcp.defaultContent()

defaultContent: (params) => string

Parameters
params

Record<string, unknown> & object

Returns

string

ffmcp.description

description: string = 'Model Context Protocol server configuration'

ffmcp.editable

editable: false = false

ffmcp.extensions

extensions: string[]

ffmcp.handler

handler: "mcp-config" = 'mcp-config'

ffmcp.icon

icon: string = 'Plug'

ffmcp.id

id: string = 'ffmcp'

ffmcp.mimeTypes

mimeTypes: string[]

ffmcp.name

name: string = 'MCP Integration'

ffmcp.preCreateHook

preCreateHook: "mcp" = 'mcp'

ffmcp.previewable

previewable: true = true

ffmcp.priority

priority: number = 100

ffmcp.virtual

virtual: true = true

ffmcp.virtualChildType

virtualChildType: "mcp-tool" = 'mcp-tool'

ffsecret

ffsecret: object

ffsecret.actions

actions: ("open" | "configure" | "rename" | "delete")[]

ffsecret.category

category: "fireflow" = 'fireflow'

ffsecret.createSchema

createSchema: ZodObject<{ description: ZodOptional<ZodString>; name: ZodString; secretType: ZodString; }, "strip", ZodTypeAny, { description?: string; name: string; secretType: string; }, { description?: string; name: string; secretType: string; }>

ffsecret.defaultContent()

defaultContent: (params) => string

Parameters
params

Record<string, unknown> & object

Returns

string

ffsecret.description

description: string = 'Encrypted credential reference'

ffsecret.editable

editable: false = false

ffsecret.extensions

extensions: string[]

ffsecret.handler

handler: "secret-editor" = 'secret-editor'

ffsecret.icon

icon: string = 'KeyRound'

ffsecret.id

id: string = 'ffsecret'

ffsecret.mimeTypes

mimeTypes: string[]

ffsecret.name

name: string = 'FireFlow Secret'

ffsecret.preCreateHook

preCreateHook: "secret" = 'secret'

ffsecret.previewable

previewable: false = false

ffsecret.priority

priority: number = 100

ffsecret.virtual

virtual: false = false

image

image: object

image.actions

actions: ("download" | "open" | "preview" | "rename" | "delete")[]

image.category

category: "media" = 'media'

image.description

description: string = 'Image file'

image.editable

editable: false = false

image.extensions

extensions: string[]

image.handler

handler: "image-viewer" = 'image-viewer'

image.icon

icon: string = 'Image'

image.id

id: string = 'image'

image.mimeTypes

mimeTypes: string[]

image.name

name: string = 'Image'

image.previewable

previewable: true = true

image.priority

priority: number = 50

image.virtual

virtual: false = false

javascript

javascript: object

javascript.actions

actions: ("download" | "open" | "edit" | "rename" | "delete")[]

javascript.category

category: "code" = 'code'

javascript.description

description: string = 'JavaScript source file'

javascript.editable

editable: true = true

javascript.extensions

extensions: string[]

javascript.handler

handler: "text-editor" = 'text-editor'

javascript.icon

icon: string = 'FileCode'

javascript.id

id: string = 'javascript'

javascript.mimeTypes

mimeTypes: string[]

javascript.name

name: string = 'JavaScript'

javascript.previewable

previewable: true = true

javascript.priority

priority: number = 50

javascript.virtual

virtual: false = false

json

json: object

json.actions

actions: ("download" | "open" | "edit" | "preview" | "rename" | "delete")[]

json.category

category: "data" = 'data'

json.description

description: string = 'JavaScript Object Notation'

json.editable

editable: true = true

json.extensions

extensions: string[]

json.handler

handler: "json-viewer" = 'json-viewer'

json.icon

icon: string = 'Braces'

json.id

id: string = 'json'

json.mimeTypes

mimeTypes: string[]

json.name

name: string = 'JSON File'

json.previewable

previewable: true = true

json.priority

priority: number = 50

json.virtual

virtual: false = false

markdown

markdown: object

markdown.actions

actions: ("download" | "open" | "edit" | "preview" | "rename" | "delete")[]

markdown.category

category: "document" = 'document'

markdown.description

description: string = 'Markdown document'

markdown.editable

editable: true = true

markdown.extensions

extensions: string[]

markdown.handler

handler: "text-editor" = 'text-editor'

markdown.icon

icon: string = 'FileText'

markdown.id

id: string = 'markdown'

markdown.mimeTypes

mimeTypes: string[]

markdown.name

name: string = 'Markdown'

markdown.previewable

previewable: true = true

markdown.priority

priority: number = 50

markdown.virtual

virtual: false = false

pdf

pdf: object

pdf.actions

actions: ("download" | "open" | "preview" | "rename" | "delete")[]

pdf.category

category: "document" = 'document'

pdf.description

description: string = 'Portable Document Format'

pdf.editable

editable: false = false

pdf.extensions

extensions: string[]

pdf.handler

handler: "pdf-viewer" = 'pdf-viewer'

pdf.icon

icon: string = 'FileText'

pdf.id

id: string = 'pdf'

pdf.mimeTypes

mimeTypes: string[]

pdf.name

name: string = 'PDF Document'

pdf.previewable

previewable: true = true

pdf.priority

priority: number = 50

pdf.virtual

virtual: false = false

python

python: object

python.actions

actions: ("download" | "open" | "edit" | "rename" | "delete")[]

python.category

category: "code" = 'code'

python.description

description: string = 'Python source file'

python.editable

editable: true = true

python.extensions

extensions: string[]

python.handler

handler: "text-editor" = 'text-editor'

python.icon

icon: string = 'FileCode'

python.id

id: string = 'python'

python.mimeTypes

mimeTypes: string[]

python.name

name: string = 'Python'

python.previewable

previewable: true = true

python.priority

priority: number = 50

python.virtual

virtual: false = false

text

text: object

text.actions

actions: ("download" | "open" | "edit" | "rename" | "delete")[]

text.category

category: "document" = 'document'

text.description

description: string = 'Plain text file'

text.editable

editable: true = true

text.extensions

extensions: string[]

text.handler

handler: "text-editor" = 'text-editor'

text.icon

icon: string = 'FileText'

text.id

id: string = 'text'

text.mimeTypes

mimeTypes: string[]

text.name

name: string = 'Text File'

text.previewable

previewable: true = true

text.priority

priority: number = 40

text.virtual

virtual: false = false

toml

toml: object

toml.actions

actions: ("download" | "open" | "edit" | "rename" | "delete")[]

toml.category

category: "config" = 'config'

toml.description

description: string = 'TOML configuration file'

toml.editable

editable: true = true

toml.extensions

extensions: string[]

toml.handler

handler: "text-editor" = 'text-editor'

toml.icon

icon: string = 'FileCode'

toml.id

id: string = 'toml'

toml.mimeTypes

mimeTypes: string[]

toml.name

name: string = 'TOML File'

toml.previewable

previewable: true = true

toml.priority

priority: number = 50

toml.virtual

virtual: false = false

typescript

typescript: object

typescript.actions

actions: ("download" | "open" | "edit" | "rename" | "delete")[]

typescript.category

category: "code" = 'code'

typescript.description

description: string = 'TypeScript source file'

typescript.editable

editable: true = true

typescript.extensions

extensions: string[]

typescript.handler

handler: "text-editor" = 'text-editor'

typescript.icon

icon: string = 'FileCode'

typescript.id

id: string = 'typescript'

typescript.mimeTypes

mimeTypes: string[]

typescript.name

name: string = 'TypeScript'

typescript.previewable

previewable: true = true

typescript.priority

priority: number = 50

typescript.virtual

virtual: false = false

unknown

unknown: object

unknown.actions

actions: ("download" | "rename" | "delete")[]

unknown.category

category: "basic" = 'basic'

unknown.description

description: string = 'Unrecognized file type'

unknown.editable

editable: false = false

unknown.extensions

extensions: never[] = []

unknown.handler

handler: "download" = 'download'

unknown.icon

icon: string = 'File'

unknown.id

id: string = 'unknown'

unknown.mimeTypes

mimeTypes: never[] = []

unknown.name

name: string = 'Unknown File'

unknown.previewable

previewable: false = false

unknown.priority

priority: number = 0

unknown.virtual

virtual: false = false

video

video: object

video.actions

actions: ("download" | "open" | "preview" | "rename" | "delete")[]

video.category

category: "media" = 'media'

video.description

description: string = 'Video file'

video.editable

editable: false = false

video.extensions

extensions: string[]

video.handler

handler: "video-player" = 'video-player'

video.icon

icon: string = 'Video'

video.id

id: string = 'video'

video.mimeTypes

mimeTypes: string[]

video.name

name: string = 'Video'

video.previewable

previewable: true = true

video.priority

priority: number = 50

video.virtual

virtual: false = false

yaml

yaml: object

yaml.actions

actions: ("download" | "open" | "edit" | "rename" | "delete")[]

yaml.category

category: "config" = 'config'

yaml.description

description: string = 'YAML configuration file'

yaml.editable

editable: true = true

yaml.extensions

extensions: string[]

yaml.handler

handler: "yaml-editor" = 'yaml-editor'

yaml.icon

icon: string = 'FileCode'

yaml.id

id: string = 'yaml'

yaml.mimeTypes

mimeTypes: string[]

yaml.name

name: string = 'YAML File'

yaml.previewable

previewable: true = true

yaml.priority

priority: number = 50

yaml.virtual

virtual: false = false

Licensed under BUSL-1.1