mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
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.
34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
#!/usr/bin/env node
|
|
/** Snapshot-only Loader driver: stream one fixture turn as canonical JSONL. */
|
|
|
|
import type { Context } from '@deepseek-ai/cordis'
|
|
import { boot, installFailLoud, loadEnv, resolveConfigPath } from '@deepseek-ai/dsh-app-boot'
|
|
import { runFixtureTurn } from '@deepseek-ai/dsh-loader-smoke'
|
|
import type { SessionEvent } from '@deepseek-ai/dsh-session'
|
|
|
|
const NAME = 'headless-test-driver'
|
|
const [configPath, ...taskParts] = process.argv.slice(2)
|
|
if (configPath === undefined || taskParts.length === 0 || taskParts.every(part => part.trim() === '')) {
|
|
throw new Error(`${NAME}: expected <config-path> <task...>`)
|
|
}
|
|
|
|
const uninstallFailLoud = installFailLoud(NAME)
|
|
let ctx: Context | undefined
|
|
try {
|
|
loadEnv(NAME)
|
|
ctx = await boot(NAME, resolveConfigPath(configPath, undefined))
|
|
const result = await runFixtureTurn(ctx, {
|
|
task: taskParts.join(' '),
|
|
onEvent: (sessionId: string, event: SessionEvent) => {
|
|
process.stdout.write(`${JSON.stringify({ type: 'session_event', sessionId, event })}\n`)
|
|
},
|
|
})
|
|
process.stdout.write(`${JSON.stringify(result)}\n`)
|
|
} catch (error: unknown) {
|
|
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`)
|
|
process.exitCode = 1
|
|
} finally {
|
|
await ctx?.fiber.dispose()
|
|
uninstallFailLoud()
|
|
}
|