Files
deepseek-harness/packages/typert/loader
imccyu ec601ca13d build(vendor): rescope the vendored Cordis packages into @deepseek-ai
Machine-produced by `pnpm run rescope-vendor --apply` plus the regeneration it
prints: `pnpm install` for the lockfile, `pnpm run gen-third-party-notices`,
`verify-translation-pairing --write` for the touched bilingual pairs,
`gen-doc-graphs`, and one typert snapshot whose ids embed character offsets.
`pnpm run rescope-vendor --check` verifies the result.

Renames nine vendored packages (cordis, cosmokit, schemastery and the six
@cordisjs plugins) and every reference that resolves them: manifest names and
dependency keys, module specifiers including declare-module merges, cordis.yml
plugin names, tsconfig paths, every Markdown fence, and `docs/` prose.
Directory names, upstream versions, and dependency ranges are unchanged, so
vendor/README.md still reads as an upstream snapshot; its manifest table gains
an upstream-name column so THIRD_PARTY_NOTICES keeps MIT attribution pointed
at each fork's origin.

The tutorial tier follows the rename end to end: its yaml fences named plugins
the Loader can no longer resolve, its `ts ignore-check` fences disagreed with
the compiled fences beside them, and its prose quoted both. The contracts that
told readers to keep upstream names — the root convention and the vendoring
cookbook's tree comment and manifest invariant — now say to rescope instead.

Two rules read `@deepseek-ai/` as "another workspace plugin": the client bundle
purity gate now names the vendored libraries a browser bundle inlines, and the
files where a bare `cordis` is an agent-preset id keep that product data.
2026-08-10 22:04:13 +08:00
..

@deepseek-ai/dsh-typert-loader

English | 中文

Node-only Loader integration for generated Typert artifacts. The plugin requires ctx.loader and ctx.typert; it does not provide the registry itself.

During activation it scans existing Loader entries. It then follows Cordis internal/plugin lifecycle notifications, resolves each entry package's package.json, imports ./typert when exported, validates its TYPERT manifest, and registers the contribution until the entry or this plugin unmounts. An import that settles after either owner is gone is discarded.

packages lists additional package artifacts to register for plugins nested behind another Loader entry. Cordis fibers do not retain those nested plugins' npm specifiers, so this boundary is explicit; every configured package must resolve from the config tree and export ./typert.

Packages without the export are skipped. Package resolution and imported manifests are cached for the process lifetime, so adding an export requires a restart. A malformed artifact fails activation when already mounted; a later failure is logged without preventing unrelated packages from registering.

Model Experience

None, as the loader only feeds ctx.typert; consumers own any model-visible projection.

KV Cache effect

No direct effect.

Known Limitations and Deferred Work

  • Discovery imports only the host face; client runtimes need a separate composition owner before equivalent discovery is added.
  • Loader entries are discovered automatically. Nested or non-Loader plugins require an explicit packages entry or direct ctx.typert.register() ownership.