refactor: rename manifest metadata fields and improve error display

Rename wrapperRepo→packageRepo, marketingSite→marketingUrl,
docsUrl→docsUrls (array), remove supportSite. Add display_src/display_dbg
helpers to Error. Fix DepInfo description type to LocaleString. Update
web UI, SDK bindings, tests, and fixtures to match. Clean up cli_attach
error handling and remove dead commented code.
This commit is contained in:
Aiden McClelland
2026-02-17 18:40:50 -07:00
parent 313b2df540
commit 4cae00cb33
16 changed files with 142 additions and 173 deletions

View File

@@ -0,0 +1,4 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { GatewayId } from './GatewayId'
export type CheckDnsParams = { gateway: GatewayId }

View File

@@ -1,7 +1,8 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { LocaleString } from './LocaleString'
import type { MetadataSrc } from './MetadataSrc'
export type DepInfo = {
description: string | null
description: LocaleString | null
optional: boolean
} & MetadataSrc

View File

@@ -13,27 +13,26 @@ import type { VolumeId } from './VolumeId'
export type Manifest = {
id: PackageId
title: string
version: Version
satisfies: Array<Version>
releaseNotes: LocaleString
canMigrateTo: string
canMigrateFrom: string
license: string
wrapperRepo: string
upstreamRepo: string
supportSite: string
marketingSite: string
donationUrl: string | null
docsUrl: string | null
description: Description
images: { [key: ImageId]: ImageConfig }
volumes: Array<VolumeId>
alerts: Alerts
dependencies: Dependencies
hardwareRequirements: HardwareRequirements
hardwareAcceleration: boolean
title: string
description: Description
releaseNotes: LocaleString
gitHash: GitHash | null
license: string
packageRepo: string
upstreamRepo: string
marketingUrl: string
donationUrl: string | null
docsUrls: string[]
alerts: Alerts
osVersion: string
sdkVersion: string | null
hardwareAcceleration: boolean
}

View File

@@ -11,22 +11,21 @@ import type { PackageId } from './PackageId'
import type { RegistryAsset } from './RegistryAsset'
export type PackageVersionInfo = {
icon: DataUrl
dependencyMetadata: { [key: PackageId]: DependencyMetadata }
sourceVersion: string | null
s9pks: Array<[HardwareRequirements, RegistryAsset<MerkleArchiveCommitment>]>
title: string
icon: DataUrl
description: Description
releaseNotes: LocaleString
gitHash: GitHash | null
license: string
wrapperRepo: string
packageRepo: string
upstreamRepo: string
supportSite: string
marketingSite: string
marketingUrl: string
donationUrl: string | null
docsUrl: string | null
docsUrls: string[]
alerts: Alerts
dependencyMetadata: { [key: PackageId]: DependencyMetadata }
osVersion: string
sdkVersion: string | null
hardwareAcceleration: boolean

View File

@@ -56,6 +56,7 @@ export { Category } from './Category'
export { Celsius } from './Celsius'
export { CheckDependenciesParam } from './CheckDependenciesParam'
export { CheckDependenciesResult } from './CheckDependenciesResult'
export { CheckDnsParams } from './CheckDnsParams'
export { CheckPortParams } from './CheckPortParams'
export { CheckPortRes } from './CheckPortRes'
export { CifsAddParams } from './CifsAddParams'

View File

@@ -21,22 +21,17 @@ export type SDKManifest = {
* URL of the StartOS package repository
* @example `https://github.com/Start9Labs/nextcloud-startos`
*/
readonly wrapperRepo: string
readonly packageRepo: string
/**
* URL of the upstream service repository
* @example `https://github.com/nextcloud/docker`
*/
readonly upstreamRepo: string
/**
* URL where users can get help using the upstream service
* @example `https://github.com/nextcloud/docker/issues`
*/
readonly supportSite: string
/**
* URL where users can learn more about the upstream service
* @example `https://nextcloud.com`
*/
readonly marketingSite: string
readonly marketingUrl: string
/**
* (optional) URL where users can donate to the upstream project
* @example `https://nextcloud.com/contribute/`
@@ -45,7 +40,7 @@ export type SDKManifest = {
/**
* URL where users can find instructions on how to use the service
*/
readonly docsUrl: string
readonly docsUrls: string[]
readonly description: {
/** Short description to display on the marketplace list page. Max length 80 chars. */
readonly short: T.LocaleString