|
|
1 ヶ月 前 | |
|---|---|---|
| .. | ||
| src | 1 ヶ月 前 | |
| tests | 1 ヶ月 前 | |
| README.md | 1 ヶ月 前 | |
| package.json | 1 ヶ月 前 | |
| tsconfig.json | 1 ヶ月 前 | |
| tsdown.config.ts | 1 ヶ月 前 | |
Web shell library: bootWebShell(el, seams?) mounts the whole client — loader machinery (statically held; a loader cannot load itself), pure-library module-table seeding, AppRoot (boot loading page → settled → full UI in one switch), and the SessionProvider/scopedSlots assembly closure. The vite application entry lives in apps/web and only calls bootWebShell. Contract: api-contracts v3 §9.3.
The optional seams parameter forwards the client loader's fetchBundle/executeBundle transport overrides (BootSeams); production callers omit it — it exists for test environments where <script> execution cannot reach the page context (jsdom).
The shell owns browser-title projection. With a selected session carrying a durable title, it renders <session title> — <existing HTML title> and reacts to later title revisions; no selection or a selected untitled session preserves the existing title, and shell unmount restores it. The existing HTML title remains the configurable product suffix.
None, as the entry shell boots the browser plugin tree; nothing here reaches a model request.
None; this package neither assembles nor sends a provider request.
loader.settled(); a single plugin failure keeps the loading page with a loud error, no partial availability (progressive rendering returns with its own project).