mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
dsh --profile <name> replaces the fixed entry modes: --config and -p are removed, --patch adds overlays over the composed profile, a positional task selects one-shot mode (requires the headless-runner row), and dsh web stays as the alias for --profile web carrying the Web flag family as patches. dsh plugin --profile <name> forwards verbatim to pnpm in the profile directory, initializes on first use, and reconciles the dsh.plugins layer list after add/remove (patch-less packages warn and stay plain dependencies). Config dumps and the keyless web e2e scaffold compose the same bundle layers over the same empty root as the boot.
35 lines
1.4 KiB
TypeScript
35 lines
1.4 KiB
TypeScript
/**
|
|
* Package-owned invariant companion for `@deepseek-ai/dsh-frontend-static`.
|
|
* @module @deepseek-ai/dsh-frontend-static/invariant
|
|
*/
|
|
|
|
import type { Context } from 'cordis'
|
|
import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants'
|
|
|
|
const PACKAGE_NAME = '@deepseek-ai/dsh-frontend-static'
|
|
|
|
/** Cordis companion plugin name. */
|
|
export const name = 'frontend-static-invariant'
|
|
/** Service required before the companion can register. */
|
|
export const inject = ['invariants']
|
|
|
|
/**
|
|
* No runtime invariant: the only owned relation is the single fallback seat,
|
|
* which cannot be probed from the teardown stream — `internal/plugin` fires
|
|
* before the disposing fiber's effects run, so the legitimate owner still
|
|
* holds the seat at notification time and any claim probe would
|
|
* false-positive on every correct disposal (unlike the webserver companion,
|
|
* whose reserved-path probes never collide with a live registration). The
|
|
* seat's register/release symmetry is covered by the package's
|
|
* real-composition HMR-safety test instead.
|
|
*/
|
|
const install: InvariantInstaller = () => {}
|
|
|
|
/**
|
|
* Register this package's invariant companion.
|
|
* @param ctx - Cordis context carrying the invariant service.
|
|
* @returns the installed registration's disposer after setup succeeds.
|
|
*/
|
|
export const apply = (ctx: Context): Promise<() => void> =>
|
|
Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install))
|