OptionaladdLabel for the "add item" button on list/objects fields.
OptionaldefaultInitial value when the field is unset in the node config.
OptionalfieldsSub-fields of each record for objects fields.
OptionalhintShort helper text rendered under the control.
OptionalitemScalar item control for list fields.
OptionallegacyDollar?: booleanOptionalplaceholder?: stringOptionaltemplate?: "none" | "full" | "env-only"See FieldSchema.template; resolved the same way for the item control.
OptionalitemSingular noun used to title each objects row.
Property name in the node's config object.
Label shown next to the control.
OptionallegacyField is one of the 15 legacy $var/${var} fields (Task 2) — passed
through to VarInput's legacyDollar prop so its $-completion keeps
working alongside {{path}}. Meaningless (and unused) on 'env-only'
fields, since none of the 15 legacy fields are also env-only.
OptionaloptionsChoices for radio/select; plain strings double as value and label.
OptionaloptionsSource of dynamic options for select fields, resolved at render time
from SchemaForm's dynamicOptions prop (e.g. 'stores' = the declared
stores: names). Merged AFTER options, so a static empty-choice entry
can precede the dynamic list.
OptionalplaceholderPlaceholder text for text-like inputs.
OptionalrowsVisible rows for textarea fields.
OptionalshapeFor conditions fields: single expression or an OR-ed list of them.
OptionalswitchInline label rendered beside a switch control.
OptionaltemplateWhich template-suggestion groups this field's control offers, enabling
context autocomplete (VarInput) in the first place.
'full' — every suggestion group (request/response/message/env/...).
Reserved for fields the Rust plugin genuinely renders through
crate::vars::template::Template at request time — set explicitly
here, one per field, cross-checked against the plugin's source (see
Tasks 2-5's sweep reports for the file:line of each render call).'env-only' — only the env group, for every other text-like field:
secrets/credential material, DSL/schema blobs, regexes, external
endpoints, file paths, and — critically — anything not in the sweep
above, since those fields are never re-rendered per request and
offering full request/response/message suggestions on them would be
dishonest (the suggestion would never actually resolve).
{{env.NAME}} still applies to these fields at config-load time.'none' — plain input, no VarInput/autocomplete at all.When absent, the default is type-based: 'env-only' for
text/textarea (and, for list/objects, their text-typed
item/sub-fields) — 'full' is never a default, only an explicit,
verified opt-in; radio/select/switch/number fields are
structurally 'none' and never get a template override.
Which control to render.
Declarative description of a single config field rendered by SchemaForm.