Files

25 lines
1.1 KiB
TypeScript

import { buildManifest } from '@start9labs/start-sdk'
import { sdk } from './sdk'
import { versions } from './versions'
import { actions } from './actions'
import { setInterfaces } from './interfaces'
import { manifest as sdkManifest } from './manifest'
// Required ABI exports for a StartOS service package. The PUBLISHABLE manifest is
// the static manifest combined with version-graph metadata (version, release
// notes, migration ranges) — start-cli reads this `manifest` export, and it must
// include `version`, which buildManifest() supplies from the VersionGraph.
export const manifest = buildManifest(versions, sdkManifest)
export { main } from './main'
export { actions } from './actions'
// Back up the whole volume (config, ssh key, optional HF token, inbox, reports).
export const { createBackup, restoreInit } = sdk.setupBackups(async () =>
sdk.Backups.ofVolumes('main'),
)
// init composes: version migrations, action registration, interface export,
// and backup restore.
export const init = sdk.setupInit(versions, actions, setInterfaces, restoreInit)
export const uninit = sdk.setupUninit(versions)