feat: publish HoloLake model-native living system source
This commit is contained in:
parent
6ad10edde1
commit
c395dd3a99
2467 changed files with 615073 additions and 0 deletions
|
|
@ -0,0 +1,57 @@
|
|||
export const FIFTH_DOMAIN_DISCOVERY_URL = 'https://guanghulab.com/.well-known/guanghu.json'
|
||||
|
||||
export interface FifthDomainDiscovery {
|
||||
access: 'public-read-only'
|
||||
canonicalRepository: string
|
||||
name: string
|
||||
nodeMap: string
|
||||
repositoryMap: string
|
||||
resolveApi: string
|
||||
schema: 'guanghu.ai-discovery/v1'
|
||||
searchApi: string
|
||||
}
|
||||
|
||||
type Fetcher = (input: RequestInfo | URL, init?: RequestInit) => Promise<Pick<Response, 'ok' | 'json'>>
|
||||
|
||||
function requiredString(document: Record<string, unknown>, key: string): string {
|
||||
const value = document[key]
|
||||
if (typeof value !== 'string' || !value.trim()) throw new Error(`Fifth Domain discovery is missing ${key}.`)
|
||||
return value
|
||||
}
|
||||
|
||||
function requiredHttpsUrl(document: Record<string, unknown>, key: string): string {
|
||||
const value = requiredString(document, key)
|
||||
if (!value.startsWith('https://guanghulab.com/')) throw new Error(`Fifth Domain discovery ${key} is not a trusted HTTPS route.`)
|
||||
return value
|
||||
}
|
||||
|
||||
export function parseFifthDomainDiscovery(value: unknown): FifthDomainDiscovery {
|
||||
if (!value || typeof value !== 'object' || Array.isArray(value)) throw new Error('Fifth Domain discovery is not an object.')
|
||||
const document = value as Record<string, unknown>
|
||||
if (document.schema !== 'guanghu.ai-discovery/v1') throw new Error('Fifth Domain discovery schema is unsupported.')
|
||||
if (document.access !== 'public-read-only') throw new Error('Fifth Domain connection must remain public-read-only.')
|
||||
|
||||
return {
|
||||
access: 'public-read-only',
|
||||
canonicalRepository: requiredHttpsUrl(document, 'canonical_repository'),
|
||||
name: requiredString(document, 'name'),
|
||||
nodeMap: requiredHttpsUrl(document, 'server_node_map'),
|
||||
repositoryMap: requiredHttpsUrl(document, 'repository_map'),
|
||||
resolveApi: requiredHttpsUrl(document, 'resolve_api'),
|
||||
schema: 'guanghu.ai-discovery/v1',
|
||||
searchApi: requiredHttpsUrl(document, 'search_api'),
|
||||
}
|
||||
}
|
||||
|
||||
export async function fetchFifthDomainDiscovery(
|
||||
fetcher: Fetcher = fetch,
|
||||
signal?: AbortSignal,
|
||||
): Promise<FifthDomainDiscovery> {
|
||||
const response = await fetcher(FIFTH_DOMAIN_DISCOVERY_URL, {
|
||||
cache: 'no-store',
|
||||
credentials: 'omit',
|
||||
signal,
|
||||
})
|
||||
if (!response.ok) throw new Error('Fifth Domain public route did not respond successfully.')
|
||||
return parseFifthDomainDiscovery(await response.json())
|
||||
}
|
||||
Loading…
Reference in a new issue