Files
spacesops-startos/startos/fileModels/storeJson.ts
T
2026-08-25 16:20:05 -04:00

26 lines
1.1 KiB
TypeScript

import { FileHelper, z } from '@start9labs/start-sdk'
import { sdk } from '../sdk'
const shape = z.object({
// Nostr operator keypair — generated once in init, or replaced via the
// "Import Operator Key" action. SpacesOps signs operator events with it.
operatorSecretHex: z.string().nullable().catch(null),
operatorPublicHex: z.string().nullable().catch(null),
// Strong replacement for the app's weak hardcoded session secret.
sessionSecret: z.string().nullable().catch(null),
// Optional config set via the "Configure Platform" action.
platformMode: z.enum(['prod', 'test']).nullable().catch(null),
operatorRelay: z.string().nullable().catch(null),
coingeckoApiKey: z.string().nullable().catch(null),
coingeckoTokenCoins: z.string().nullable().catch(null),
subsUrl: z.string().nullable().catch(null),
subsUser: z.string().nullable().catch(null),
subsPassword: z.string().nullable().catch(null),
platformCallbackHost: z.string().nullable().catch(null),
})
export const storeJson = FileHelper.json(
{ base: sdk.volumes.main, subpath: 'store.json' },
shape,
)