Files

28 lines
921 B
TypeScript

/** Host loader entry for the browser implementation exported from `./client`. */
import type { Context } from '@deepseek-ai/cordis'
import z from '@deepseek-ai/schemastery'
import { settingsNamespace } from '@deepseek-ai/dsh-settings'
/** Durable settings namespace for product-wide GUI onboarding facts. */
const ONBOARDING_SETTINGS_NAMESPACE = 'ui-onboarding'
interface OnboardingSettings {
/** Last version acknowledged by the current product welcome step. */
welcomeNoticeVersion?: string
}
const OnboardingSettingsSchema: z<OnboardingSettings> = z.object({
welcomeNoticeVersion: z.string(),
})
/** Register the durable GUI-onboarding section when a settings provider exists. */
export function apply(ctx: Context): void {
ctx.inject(['settings'], (settingsCtx) => {
settingsCtx.settings.register(
settingsNamespace(ONBOARDING_SETTINGS_NAMESPACE),
OnboardingSettingsSchema,
)
})
}