description: "Loader integration for generated Typert artifacts: how mounted packages automatically contribute their host-face reflection and schemas to the runtime registry."
English | 中文
With dsh-typert-loader mounted, every package that mounts in a Loader composition automatically contributes its generated Typert reflection and schemas to the runtime registry — and withdraws them when the package or the plugin unmounts. Packages without the generated export are skipped, so adding the plugin to any composition is safe. An explicit packages list covers plugins nested behind another Loader entry, whose fibers carry no resolvable package specifier. It is a Node-only plugin and needs the config-tree resolution anchor to resolve packages.
Mount this plugin in a Host Loader composition that loads packages publishing generated Typert artifacts. The registry itself comes from dsh-typert-registry; this plugin only discovers and registers.
Load the registry and the loader; the loader defaults to discovering every Loader entry:
- name: '@deepseek-ai/dsh-typert-registry'
- name: '@deepseek-ai/dsh-typert-loader'
| Field | Default | Meaning |
|---|---|---|
packages |
[] |
Additional package artifacts to register for plugins nested behind another Loader entry; each must resolve from the config tree and export ./typert |
The generated configuration catalog is the exhaustive source for every accepted field.
Each qualifying Loader entry contributes its generated host-face reflection and schemas to the runtime registry. Registration follows the entry lifecycle: it is withdrawn when the entry or the plugin unmounts, and a registration whose import settles after both are gone is discarded.
Packages without the export are skipped silently. Resolution verdicts and imported manifests are cached for the process lifetime, so adding a ./typert export requires a restart. A malformed artifact among already-mounted entries fails activation loudly; a later failure is logged per package without preventing unrelated packages from registering. An explicit packages entry that cannot be resolved from the config tree, or that lacks the export, fails loudly and names the package.
Read these pages when the package-level contract is not enough; they move from the loader to what it registers and what produces it.
packages field declaration and JSDoc.None, as loader integration only registers generated artifacts; consumers own any model-visible projection.
No direct effect; registration changes reach a request only through a consumer that reads the registry.
These limits define what the loader does not discover or register; they are current package constraints, not a task backlog.
./typert artifact; client runtimes need a separate composition owner before equivalent discovery is added.packages entry or direct ctx.typert.register() ownership../typert export mid-process needs a restart before the loader registers it.