import { FileHelper, z } from '@start9labs/start-sdk' import { sdk } from '../sdk' const shape = z.object({ password: z.string().nullable().catch(null), btcAuth: z .object({ username: z.string(), password: z.string(), }) .nullable() .catch(null), spacedAuth: z .object({ username: z.string(), password: z.string(), }) .nullable() .catch(null), enableSubspaces: z.boolean().nullable().catch(null), enableSubsProver: z.boolean().nullable().catch(null), subsAuth: z .object({ username: z.string(), password: z.string(), }) .nullable() .catch(null), subsAuthEnabled: z.boolean().nullable().catch(null), subsProverAuth: z .object({ username: z.string(), password: z.string(), }) .nullable() .catch(null), subsProverAuthEnabled: z.boolean().nullable().catch(null), certrelaySelfUrl: z.string().nullable().catch(null), certrelayBootstrap: z.boolean().nullable().catch(null), certrelayHealthcheckHandle: z.string().nullable().catch(null), nachoWorkshopPdfLinkText: z.string().nullable().catch(null), // Bearer secrets for the embedded registry-server (examples/registry-server). // REGISTRY_API_KEY guards POST /register; SUBSD_API_KEY is the Auth Token // for the subs↔registry channel (Settings → Registry Server → Auth Token). // Both are required and must differ or registry-server refuses to start. registryApiKey: z.string().nullable().catch(null), subsdApiKey: z.string().nullable().catch(null), }) export const storeJson = FileHelper.json( { base: sdk.volumes.main, subpath: 'store.json' }, shape, )