deepseek-ai/deepseek-harness · error · Error
typert-loader: ${pkgName} exports "${TYPERT_HOST_EXPORT}" bu
Error message
typert-loader: ${pkgName} exports "${TYPERT_HOST_EXPORT}" but TYPERT.face is not "host" What it means
Error "typert-loader: ${pkgName} exports "${TYPERT_HOST_EXPORT}" but TYPERT.face is not "host"" thrown in deepseek-ai/deepseek-harness.
Source
Thrown at packages/typert/loader/src/index.ts:94
* contribution owned by `pkgName`. This is the module/file boundary: the
* manifest crosses from a build artifact into the typed registry, so every
* field is checked and every failure names the package and the defect.
* @param pkgName - the package whose typert face was imported.
* @param exported - the module's `TYPERT` export.
* @returns the validated contribution.
*/
export function validateTypertManifest(pkgName: string, exported: unknown): TypertContribution {
if (typeof exported !== 'object' || exported === null) {
throw new Error(`typert-loader: ${pkgName} exports "${TYPERT_HOST_EXPORT}" but its module has no TYPERT manifest object`)
}
const manifest = exported as Record<string, unknown>
if (manifest.package !== pkgName) {
throw new Error(
`typert-loader: ${pkgName} TYPERT manifest names package ${JSON.stringify(manifest.package)} — the manifest must be owned by the package that exports it`,
)
}
if (manifest.face !== 'host') {
throw new Error(`typert-loader: ${pkgName} exports "${TYPERT_HOST_EXPORT}" but TYPERT.face is not "host"`)
}
if (!Array.isArray(manifest.schemas)) {
throw new Error(`typert-loader: ${pkgName} TYPERT.schemas must be an array`)
}
for (const value of manifest.schemas as unknown[]) {
if (typeof value !== 'object' || value === null) {
throw new Error(`typert-loader: ${pkgName} TYPERT.schemas contains a non-object schema`)
}
const schema = value as Record<string, unknown>
requireString(pkgName, schema, 'name', 'schema')
if (typeof schema.schema !== 'object' || schema.schema === null || !('_zod' in schema.schema)) {
throw new Error(`typert-loader: ${pkgName} TYPERT schema "${schema.name as string}" is not a zod v4 schema instance`)
}
}
const model = requireObject(pkgName, manifest.model, 'TYPERT.model')
const services = requireArray(pkgName, model.services, 'TYPERT.model.services')
const events = requireArray(pkgName, model.events, 'TYPERT.model.events')
const objects = requireArray(pkgName, model.objects, 'TYPERT.model.objects')View on GitHub (pinned to b150a551b8)
Solutions
- Export the host manifest only from the host face; set TYPERT.face to "host".
When it happens
Trigger: Thrown at packages/typert/loader/src/index.ts:94 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of deepseek-ai/deepseek-harness@b150a551b8 (2026-08-24).
Data as JSON: /api/errors/aeb9af293d3917bb.
Report an issue: GitHub.