/** Publication payload facts shared by static manifests and packed tarballs. */ /** * Whether a package manifest exports generated Host-for-Client metadata. * @param manifest - parsed package manifest to inspect. * @returns whether the canonical `./remote` export pair is present. */ export function hasTypertRemoteNavigation(manifest: unknown): boolean { if (manifest === null || typeof manifest !== 'object' || Array.isArray(manifest)) return false const exportsField = (manifest as Record).exports if (exportsField === null || typeof exportsField !== 'object' || Array.isArray(exportsField)) return false const remote = (exportsField as Record)['./remote'] if (remote === null || typeof remote !== 'object' || Array.isArray(remote)) return false const entry = remote as Record return entry.types === './lib/typert.remote-client.d.ts' && entry.default === './lib/typert.remote-client.js' }