Skip to main content

.STAGE

Verwaltet Stages (Bot-Abschnitte) und die Navigation dazwischen (RAGAI.STAGE).

Hintergrund

Eine Stage ist ein benannter Zustand des Bots mit eigener Skill-Auswahl, optionalem Enter-/Exit-Callback und Footer-Sichtbarkeit - das Grundgerüst für mehrstufige Dialoge, Quiz oder geführte Abläufe (State Machine). Beim Wechsel läuft immer erst exitFn der alten, dann enterFn der neuen Stage. hidden-Stages bleiben über goToName()/goToIndex() direkt ansteuerbar, tauchen aber nicht in visibleStages (z. B. für RAGAI.CARDS-Navigationslisten) auf. sortFloat bestimmt nur die Reihenfolge für next()/prev()/goToIndex(), nicht die Registrierungsreihenfolge. goTo() akzeptiert neben Index/Name auch die Spezialwerte "___PREV_STAGE___", "___NEXT_STAGE___", "___FIRST_STAGE___", "___LAST_STAGE___" (u. a. für generierten Blockly-Code).

Methoden

.add(name, stage?)

Fügt eine neue Stage hinzu.

ParameterTypBeschreibung
namestring | z.input<typeof stageAddSchema>Name der neuen Stage, oder ein Objekt gemäß stageAddSchema.
stagePartial<Omit<StageDefinition, "name">>Weitere Stage-Eigenschaften (Titel, Skills, Sichtbarkeit etc.).

Objekt-Form (validiert über stageAddSchema):

FeldTypPflichtBeschreibung
namestringEindeutiger Name der neuen Stage.
titlestringAnzeigetitel der Stage.
skillsarraySkills, die in dieser Stage aktiv sind.
hiddenbooleantrue, um die Stage aus der Stage-Liste auszublenden.
footerbooleantrue, um den Footer in dieser Stage anzuzeigen.
forceSkillsbooleantrue, um die Skills dieser Stage zu erzwingen.
sortFloatnumberSortierposition der Stage.

Rückgabewert: void

.remove(name)

Entfernt eine Stage.

ParameterTypBeschreibung
namestring | z.input<typeof stageGoToNameSchema>Name der zu entfernenden Stage, oder ein Objekt gemäß stageGoToNameSchema.

Objekt-Form (validiert über stageGoToNameSchema):

FeldTypPflichtBeschreibung
namestringName der Ziel-Stage.

Rückgabewert: void

.hide(name)

Blendet eine Stage aus der Stage-Liste aus.

ParameterTypBeschreibung
namestring | z.input<typeof stageGoToNameSchema>Name der auszublendenden Stage, oder ein Objekt gemäß stageGoToNameSchema.

Objekt-Form (validiert über stageGoToNameSchema):

FeldTypPflichtBeschreibung
namestringName der Ziel-Stage.

Rückgabewert: void

.show(name)

Blendet eine zuvor ausgeblendete Stage wieder ein.

ParameterTypBeschreibung
namestring | z.input<typeof stageGoToNameSchema>Name der einzublendenden Stage, oder ein Objekt gemäß stageGoToNameSchema.

Objekt-Form (validiert über stageGoToNameSchema):

FeldTypPflichtBeschreibung
namestringName der Ziel-Stage.

Rückgabewert: void

.goToRandom(possibleNames?)

Navigiert zu einer zufälligen (sichtbaren) Stage.

ParameterTypBeschreibung
possibleNamesstring[] | z.input<typeof stageGoToRandomSchema>Optionale Einschränkung auf bestimmte Stage-Namen, oder ein Objekt gemäß stageGoToRandomSchema.

Objekt-Form (validiert über stageGoToRandomSchema):

FeldTypPflichtBeschreibung
possibleNamesarrayEinschränkung auf bestimmte Stage-Namen; ohne Angabe alle sichtbaren Stages.

Rückgabewert: Promise<void>

Nichts.

.goToIndex(index)

Navigiert zu einer Stage per Index.

ParameterTypBeschreibung
indexnumber | z.input<typeof stageGoToIndexSchema>Index der Ziel-Stage, oder ein Objekt gemäß stageGoToIndexSchema.

Objekt-Form (validiert über stageGoToIndexSchema):

FeldTypPflichtBeschreibung
indexnumberIndex der Ziel-Stage.

Rückgabewert: Promise<void>

Nichts.

.goTo(value)

Navigiert zu einer Stage per Index, Name oder Spezial-Wert (___PREV_STAGE___, ___NEXT_STAGE___, ___FIRST_STAGE___, ___LAST_STAGE___).

ParameterTypBeschreibung
valuenumber | stringZiel-Index, Stage-Name oder Spezial-Wert.

Rückgabewert: Promise<void>

Nichts.

.goToName(name)

Navigiert zu einer Stage per Name.

ParameterTypBeschreibung
namestring | z.input<typeof stageGoToNameSchema>Name der Ziel-Stage, oder ein Objekt gemäß stageGoToNameSchema.

Objekt-Form (validiert über stageGoToNameSchema):

FeldTypPflichtBeschreibung
namestringName der Ziel-Stage.

Rückgabewert: Promise<void>

Nichts.

.next()

Navigiert zur nächsten Stage.

Rückgabewert: Promise<void>

Nichts.

.prev()

Navigiert zur vorherigen Stage.

Rückgabewert: Promise<void>

Nichts.

.restore()

Stellt die zuletzt gespeicherte Stage wieder her (z. B. nach Seiten-Reload).

Rückgabewert: Promise<void>

Nichts.

.list(includeHidden?)

Gibt die Namen aller Stages zurück.

ParameterTypBeschreibung
includeHiddenboolean | z.input<typeof stageListSchema>true, um auch ausgeblendete Stages einzuschließen, oder ein Objekt gemäß stageListSchema.

Objekt-Form (validiert über stageListSchema):

FeldTypPflichtBeschreibung
includeHiddenbooleantrue, um auch ausgeblendete Stages einzuschließen.

Rückgabewert: string[]

Liste der Stage-Namen.