You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`ChannelSetupWizard` also supports `textInputs`, `dmPolicy`, `allowFrom`, `groupAccess`, `prepare`, `finalize`, and more. See the Discord plugin's `src/setup-core.ts` for a full bundled example.
475
475
476
+
Use `finalize` for validation or confirmation that must happen after the standard setup steps. It can return `{ cancelled: true }` to leave setup without saving any wizard-local config, recording the account, running post-write hooks, or showing the completion note. If the user accepted installation of an external plugin immediately before its wizard ran, OpenClaw keeps only that installation metadata so the installed package and config record stay consistent. Do not return `cfg` or `credentialValues` together with `cancelled`; cancelled results ignore those values.
477
+
478
+
```typescript
479
+
finalize: async ({ prompter }) => {
480
+
const save =awaitprompter.confirm({
481
+
message: "Save this channel configuration?",
482
+
initialValue: true,
483
+
});
484
+
returnsave?undefined: { cancelled: true };
485
+
},
486
+
```
487
+
476
488
<AccordionGroup>
477
489
<Accordiontitle="Shared allowFrom prompts">
478
490
For DM allowlist prompts that only need the standard `note -> prompt -> parse -> merge -> patch` flow, prefer the shared setup helpers from `openclaw/plugin-sdk/setup`: `createPromptParsedAllowFromForAccount(...)`, `createTopLevelChannelParsedAllowFromPrompt(...)`, and `createNestedChannelParsedAllowFromPrompt(...)`.
).rejects.toThrow("Signal API not reachable at http://auto-cache-no-account.local:8080");
0 commit comments