wizard.*
Setup wizard RPC methods
wizard.* is the JSON-RPC surface for the configuration wizard. The five methods are registered as service_unavailable placeholders inside HandlerRegistry::new() and replaced with the real handlers by install_wizard_handlers once WizardSessionManager is built at server boot (src/bin/aleph-server/commands/start/mod.rs:655-660). The runtime factory ships only the onboarding flow; any other wizard_type returns Unknown wizard type from the start handler.
The wizard state itself is process-local — restarting the daemon drops in-flight sessions. There is no CLI subcommand equivalent any more (aleph wizard was removed); the Panel drives these RPCs.
Methods
wizard.start
Start a new wizard session. Returns the first step.
Request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "wizard.start",
"params": {
"wizard_type": "onboarding",
"initial_data": {}
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
wizard_type | string | yes | onboarding is the only flow currently registered. |
initial_data | object | no | Reserved; ignored by the runtime factory. |
Response:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"session_id": "<uuid>",
"step": { "id": "...", "type": "note|select|multi_select|text|confirm|progress", ... },
"status": "running"
}
}wizard.next
Skip a non-blocking step (notes / intros) without an answer. If answer is supplied, the call is rejected — submit the answer with wizard.answer instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | yes | The session id from wizard.start |
answer | any | no | Reserved; supplying a value returns an Invalid answer error. |
Response: the next step, or the terminal step (status: done|error|cancelled).
wizard.answer
Answer a step and advance to the next one.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | yes | The session id from wizard.start |
step_id | string | yes | The id of the current step being answered |
value | any | yes | The answer (string for text, string for select, array of strings for multi_select, bool for confirm) |
Response: the next step, or the terminal step.
wizard.cancel
Cancel an in-flight wizard session. Removes the session from the manager; the WizardSession Arc drop closes the session channels.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | yes | The session id from wizard.start |
Response:
{ "result": { "cancelled": true } }wizard.status
Get the current status of a wizard session.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | yes | The session id from wizard.start |
Response:
{ "result": { "status": "running|done|error|cancelled" } }A RESOURCE_NOT_FOUND (-32004) is returned when no session with that id is active.
Wiring
wizard.* sits between the phase-1 registry and the boot-time install:
HandlerRegistry::new()— everywizard.*method is bound to a placeholder that returnsSERVICE_UNAVAILABLE(-32002) with"wizard manager not yet initialised".install_wizard_handlers(called fromstart_server) — replaces the placeholders with the real handlers fromsrc/gateway/handlers/wizard.rs. The runtime factory closes overOnboardingFlow::new; any otherwizard_typeproducesUnknown wizard typefromstart.
The 11-step onboarding flow in the current runtime covers: provider, credentials, primary model, secondary model, thinking level, session mode, exec tier, messaging apps, gateway TLS, and the final completion step. It is driven by the WizardSessionManager and WizardFlow trait, both in src/gateway/handlers/wizard.rs and src/wizard/.
See Also
- Methods Reference -- All currently registered namespaces
- Configuration -- Post-wizard configuration sources