Skip to main content

This page covers structures common to all plugin types. Read it alongside Basic Concepts of Plugin Development and the Developer Cheatsheet for a picture of the overall architecture.

Path Specifications#

File paths in the manifest or any YAML file follow two rules, depending on the file type:

  • Multimedia files such as images and videos (for example, the plugin’s icon) go in the _assets folder under the plugin’s root directory.
  • Regular text files, such as .py or .yaml code files, are referenced by their absolute path within the plugin project.

Common Structures#

Some data structures are shared between tools, models, and Endpoints. They are defined here.

I18nObject#

I18nObject is an internationalization structure that conforms to the IETF BCP 47 standard. Four languages are supported:

en_USstring#

English (United States).

zh_Hansstring#

Simplified Chinese.

ja_JPstring#

Japanese.

pt_BRstring#

Portuguese (Brazil).

ProviderConfig#

ProviderConfig is a common provider form structure used by both Tool and Endpoint.

namestring#

Form item name.

labelI18nObjectrequired#

Display labels, following the IETF BCP 47 standard.

typeprovider_config_typerequired#

Form field type. Determines how the field is rendered in the UI.

scopeprovider_config_scope#

Optional range specification. Varies based on the value of type.

requiredboolean#

Whether the field must not be empty.

defaultany#

Default value. Only supports basic types: float, int, string.

optionsarray[provider_config_option]#

Available options. Only used when type is select.

helperobject#

Help document link label, following IETF BCP 47.

urlstring#

Help document link.

placeholderobject#

Placeholder text in multiple languages, following IETF BCP 47.

ProviderConfigOption (object)#

valuestringrequired#

Option value.

labelobjectrequired#

Option display label, following IETF BCP 47.

ProviderConfigType (string)#

secret-inputstring#

Configuration information that will be encrypted.

text-inputstring#

Plain text input field.

selectstring#

Dropdown selection field.

booleanboolean#

Switch/toggle control.

model-selectorobject#

Model configuration selector, including provider name, model name, and model parameters.

app-selectorobject#

Application ID selector.

tool-selectorobject#

Tool configuration selector, including tool provider, name, and parameters.

dataset-selectorstring#

Dataset selector (TBD).

ProviderConfigScope (string)#

When type is model-selector:

allstring#

All model types.

llmstring#

Large language models only.

text-embeddingstring#

Text embedding models only.

rerankstring#

Reranking models only.

ttsstring#

Text-to-speech models only.

speech2textstring#

Speech-to-text models only.

moderationstring#

Content moderation models only.

visionstring#

Vision models only.

When type is app-selector:

allstring#

All application types.

chatstring#

Chat applications only.

workflowstring#

Workflow applications only.

completionstring#

Completion applications only.

When type is tool-selector:

allstring#

All tool types.

pluginstring#

Plugin tools only.

apistring#

API tools only.

workflowstring#

Workflow tools only.

ModelConfig#

providerstring#

Model provider name containing the plugin_id, in the form langgenius/openai/openai.

modelstring#

Specific model name.

model_typeenum#

Model type enumeration; see Model Design Rules.

NodeResponse#

inputsdict#

Variables ultimately passed into the node.

outputsdict#

Output results of the node.

process_datadict#

Data generated during node execution.

ToolSelector#

provider_idstring#

Tool provider name.

tool_namestring#

Tool name.

tool_descriptionstring#

Tool description.

tool_configurationdict[string, any]#

Tool configuration information.

tool_parametersdict[string, dict]#

Parameters that require LLM reasoning.

namestring#

Parameter name.

typestring#

Parameter type.

requiredboolean#

Whether the parameter is required.

descriptionstring#

Parameter description.

defaultany#

Default value.

optionsarray[string]#

Available options for the parameter.