PersistentAI API Documentation / @persistentai/fireflow-vfs / / fileTypeRegistry
Variable: fileTypeRegistry
constfileTypeRegistry: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