mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
The four free functions in boot.tsx become one kernel class holding what
must exist before cordis: the parsed BootManifest, the ClientModuleSystem
instance, and the loading-page handles. Context/Loader setup runs in
parallel with the immediately-tier prefetch, but entry creation awaits the
prefetch: materialization is tree.import's synchronous require, so
cross-package require edges (i18n -> runtime/client) need every
immediately-tier factory registered first — unbarriered creation raced
10-25% of boots. The kernel adopts the modules entry (writes the
__DSH_MODULES__ slot pre-cordis, creates the entry first, skips its graph
row), and provide('modules') now lives in the adoption apply. apps/web
drops its host-package edges (composition is apps/cli's job).
11 lines
434 B
TypeScript
11 lines
434 B
TypeScript
/**
|
|
* Web application entry: thin bootstrap over the shell library. Everything —
|
|
* loader holding, module-table seeding, AppRoot gate, plugin assembly — lives
|
|
* in @deepseek-ai/dsh-client-web; this file only finds the mount point.
|
|
*/
|
|
import { AppWebEntry } from '@deepseek-ai/dsh-client-web'
|
|
|
|
const el = document.getElementById('root')
|
|
if (el === null) throw new Error('web app: missing #root')
|
|
void new AppWebEntry(el).run()
|