refactor: unify onboarding secret-input prompt state wiring

This commit is contained in:
Peter Steinberger
2026-03-07 21:44:58 +00:00
parent 6b1c82c4f1
commit 5eba663c38
15 changed files with 172 additions and 60 deletions

View File

@@ -1,6 +1,7 @@
import type { DmPolicy } from "openclaw/plugin-sdk/matrix";
import {
addWildcardAllowFrom,
buildSingleChannelSecretPromptState,
formatResolvedUnresolvedNote,
formatDocsLink,
hasConfiguredSecretInput,
@@ -323,14 +324,20 @@ export const matrixOnboardingAdapter: ChannelOnboardingAdapter = {
},
}),
).trim();
const passwordPromptState = buildSingleChannelSecretPromptState({
accountConfigured: Boolean(existingPasswordConfigured),
hasConfigToken: existingPasswordConfigured,
allowEnv: true,
envValue: envPassword,
});
const passwordResult = await promptSingleChannelSecretInput({
cfg: next,
prompter,
providerHint: "matrix",
credentialLabel: "password",
accountConfigured: Boolean(existingPasswordConfigured),
canUseEnv: Boolean(envPassword?.trim()) && !existingPasswordConfigured,
hasConfigToken: existingPasswordConfigured,
accountConfigured: passwordPromptState.accountConfigured,
canUseEnv: passwordPromptState.canUseEnv,
hasConfigToken: passwordPromptState.hasConfigToken,
envPrompt: "MATRIX_PASSWORD detected. Use env var?",
keepPrompt: "Matrix password already configured. Keep it?",
inputPrompt: "Matrix password",