Skip to content

toolmark-monorepo / @toolmark/core / WizardStep

Interface: WizardStep ​

Defined in: packages/core/src/wizard/wizard-tools.ts:43

One step of a wizard (createWizardTools, spec §8.2).

Properties ​

files? ​

optional files?: Record<string, FileFieldSpec>

Defined in: packages/core/src/wizard/wizard-tools.ts:56

File fields of the step, as FormToolOptions.files.


input ​

input: StandardSchemaV1

Defined in: packages/core/src/wizard/wizard-tools.ts:52

Full schema of the step's values (validated on fill and before submit).


jsonSchema? ​

optional jsonSchema?: JsonSchema

Defined in: packages/core/src/wizard/wizard-tools.ts:54

JSON Schema override for the step's values.


name ​

name: string

Defined in: packages/core/src/wizard/wizard-tools.ts:48

Step name: the key of the step's slice in the wizard data and the prefix of its paths in results (<step>.<path>). A–Z a–z 0–9 _ -, 1–64 characters, unique within the wizard.


options? ​

optional options?: Record<string, OptionsProvider>

Defined in: packages/core/src/wizard/wizard-tools.ts:61

Async option lookups of the step, as FormToolOptions.options; the wizard's <name>.options tool lists them as <step>.<path>.


sensitive? ​

optional sensitive?: string[]

Defined in: packages/core/src/wizard/wizard-tools.ts:73

Dot paths (within the step) whose values are always redacted (spec §14), including in the wizard's state(); published as <step>.<path> in tm.info(name).sensitivePaths. [] stands for any array index (cards[].cvc).

Element-based sensitivity (password / cc-* inputs) is only known while the step's form is mounted; the wizard remembers it for the rest of its lifetime. A step whose data exists before its form is ever mounted (prefilled getData(), an agent fill of a later step) must declare its sensitive paths here, or its values are shown in state() until the step is first mounted.


title? ​

optional title?: string

Defined in: packages/core/src/wizard/wizard-tools.ts:50

User-facing title of the step (listed in the fill description).