Files
deepseek-harness/apps/desktop/scripts/desktop-release-environment.d.mts
T

62 lines
2.2 KiB
TypeScript

/** Environment variable that supplies the Electron application identifier. */
export const DESKTOP_APP_ID_ENV: 'DSH_DESKTOP_APP_ID'
/** Environment variable that supplies electron-builder's macOS certificate qualifier. */
export const MACOS_SIGNING_IDENTITY_ENV: 'DSH_DESKTOP_MACOS_SIGNING_IDENTITY'
/** Environment variable that supplies the expected Apple Developer Team ID. */
export const MACOS_TEAM_ID_ENV: 'DSH_DESKTOP_MACOS_TEAM_ID'
/** Public identity expected on a macOS release. */
export interface MacOSSigningEnvironment {
readonly signingIdentity: string
readonly teamId: string
}
/** Apple ID credentials accepted by notarytool. */
export interface MacOSAppleIdNotarizationEnvironment {
readonly appleId: string
readonly appleIdPassword: string
readonly teamId: string
}
/** App Store Connect API credentials accepted by notarytool. */
export interface MacOSApiKeyNotarizationEnvironment {
readonly appleApiKey: string
readonly appleApiKeyId: string
readonly appleApiIssuer: string
}
/** Keychain profile accepted by notarytool. */
export interface MacOSKeychainNotarizationEnvironment {
readonly keychainProfile: string
readonly keychain?: string
}
/** One complete credential strategy accepted by notarytool. */
export type MacOSNotarizationEnvironment =
| MacOSAppleIdNotarizationEnvironment
| MacOSApiKeyNotarizationEnvironment
| MacOSKeychainNotarizationEnvironment
/**
* Resolve and validate the application identifier shared by every platform target.
* @param env - Packaging environment.
* @returns Reverse-DNS application identifier.
*/
export function resolveDesktopAppId(env: NodeJS.ProcessEnv): string
/**
* Resolve and validate the public identity expected on a macOS release.
* @param env - Packaging environment.
* @returns Expected certificate qualifier and Team ID.
*/
export function resolveMacOSSigningEnvironment(env: NodeJS.ProcessEnv): MacOSSigningEnvironment
/**
* Resolve one complete credential set accepted by Apple's notary service.
* @param env - Packaging environment.
* @returns Notary credentials without the submitted artifact path.
*/
export function resolveMacOSNotarizationEnvironment(env: NodeJS.ProcessEnv): MacOSNotarizationEnvironment