Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
25 lines
1.1 KiB
TypeScript
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)
|