The supported range is now two baselines - dsh-v0.1.5-rc.1 (session
format V3) and dsh-v0.1.7-rc.2 (V4) - enforced by the runtime gate at
BASELINE_DSH_VERSION = 0.1.5-rc.1; below it the fallback units and the
upgrade modal take over (0.1.2/0.1.3 hosts were previously served by the
real folds).
The pre-V3 log shapes are dead code on every supported harness: the
running harness migrates historical logs on every read path (or refuses
the session wholesale), and 0.1.5-rc.1 rejects a request/header carrying
header.system outright. The fold therefore drops the V0/V2-only paths -
the header.system envelope system prompt, assistant/chunk floods,
{start, end} replacement endpoints, tool/code-dispatch - and the state
fields only they wrote (systemsFromHeader, the stepStart decode
accumulators). stateVersion stays 20: no supported log folds
differently, and pre-V3-era cached rows are discarded by the projection
cache's identity gate (and the strict stepStart sub-schema) instead of
served. The headers unit folds metadata-only epochs (envelope
systemTokens write dropped; the v1 cached-row read-compat and its pinned
stateVersion 1 stay); replaceRangeOf speaks startSeq/endSeq only; the
browser's epoch fetch maps request/header to tools and system/message to
the prompt text.
tests/baselines.ts re-fits to the two entries (the right Sidebar seam is
required on both), the compat matrix drives both tags' REAL sources
(canonical logs re-shaped to V3, the hostile probe renumbered past them),
and the version fixtures pin the new floor. Manifest: dshReleases
{0.1.5-rc.1, 0.1.7-rc.2}, dsh peers >=0.1.5-rc.1 (satisfies the 0.1.7
admission check under includePrerelease), devDeps pinned to the
0.1.5-rc.1 surface plus the ui-primitives runtime closure the client
lane inlines (test-only), and the release workflow fetches the two tags.
docs/compatibility.md is rewritten around the two-line matrix; README,
AGENTS.md and the issue template follow.
Also riding this move, from the audit pass: the fold re-proves an inject
source's form before it books the event record (the harness validates
`kind` but not `form` - a hostile one previously failed the strict
wire/state schemas on every delivery, the #44 freeze class), the headers
unit guards a data-less envelope (it has no try/catch of its own), the
schemastery schema annotations drop the explicit z<T> wrappers the 3.18.4
Mode generics reject, and the version-history note records why
stateVersion is deliberately not bumped.
156 lines
4.4 KiB
JSON
156 lines
4.4 KiB
JSON
{
|
|
"name": "dsh-context",
|
|
"version": "0.55.0",
|
|
"description": "A DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.",
|
|
"icon": "icon.svg",
|
|
"author": "bowenliang123",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/bowenliang123/dsh-context.git"
|
|
},
|
|
"homepage": "https://github.com/bowenliang123/dsh-context",
|
|
"bugs": {
|
|
"url": "https://github.com/bowenliang123/dsh-context/issues"
|
|
},
|
|
"type": "module",
|
|
"engines": {
|
|
"node": "^22.19.0 || >=24.0.0"
|
|
},
|
|
"main": "lib/index.js",
|
|
"types": "lib/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./lib/index.d.ts",
|
|
"default": "./lib/index.js"
|
|
},
|
|
"./client": "./lib/client.js",
|
|
"./package.json": "./package.json",
|
|
"./locale/*.json": "./locale/*.json"
|
|
},
|
|
"files": [
|
|
"icon.svg",
|
|
"locale/*.json",
|
|
"lib/client.js",
|
|
"lib/index.js",
|
|
"lib/index.d.ts",
|
|
"cordis.patch.yml",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "tsdown",
|
|
"lint": "oxlint",
|
|
"lint:fix": "oxlint --fix",
|
|
"watch": "bash scripts/watch.sh",
|
|
"web": "bash scripts/web.sh",
|
|
"register": "bash scripts/register.sh",
|
|
"typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.tests.json",
|
|
"test": "pnpm run typecheck && vitest run --coverage",
|
|
"coverage": "vitest run --coverage",
|
|
"release": "bash scripts/publish.sh",
|
|
"social-preview": "node docs/social-preview/generate.ts",
|
|
"prepare": "husky && tsdown"
|
|
},
|
|
"dsh": {
|
|
"bundle": {
|
|
"patch": "./cordis.patch.yml"
|
|
},
|
|
"client": {
|
|
"inject": [
|
|
"@deepseek-ai/dsh-api-remotes",
|
|
"@deepseek-ai/dsh-client-connection",
|
|
"@deepseek-ai/dsh-client-locale",
|
|
"@deepseek-ai/dsh-client-ui-conversation",
|
|
"@deepseek-ai/dsh-client-ui-settings",
|
|
"@deepseek-ai/dsh-client-ui-sidebar-right"
|
|
],
|
|
"platform": "web"
|
|
},
|
|
"compatibility": {
|
|
"dshReleases": {
|
|
"0.1.5-rc.1": "compatible",
|
|
"0.1.7-rc.2": "compatible"
|
|
}
|
|
}
|
|
},
|
|
"keywords": [
|
|
"deepseek-harness",
|
|
"dsh",
|
|
"cordis",
|
|
"plugin",
|
|
"context",
|
|
"token",
|
|
"ui"
|
|
],
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"zod": "^4.4.3"
|
|
},
|
|
"peerDependencies": {
|
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
"@deepseek-ai/dsh-client-ui-primitives": ">=0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-session": ">=0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-settings": ">=0.1.5-rc.1",
|
|
"@deepseek-ai/schemastery": "^3.18.2",
|
|
"react": "^18.3.1"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@deepseek-ai/dsh-client-ui-primitives": {
|
|
"optional": true
|
|
},
|
|
"react": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/cordis": "^4.0.2",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-invariants": "0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-scope": "0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-session": "0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-session-projection": "0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-settings": "0.1.5-rc.1",
|
|
"@deepseek-ai/dsh-util-workspace-path": "0.1.5-rc.1",
|
|
"@deepseek-ai/schemastery": "^3.18.4",
|
|
"@opencode-ai/models": "^0.0.72",
|
|
"@shikijs/langs": "^4.3.1",
|
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
"@tailwindcss/node": "4.3.3",
|
|
"@tailwindcss/oxide": "4.3.3",
|
|
"@types/node": "^26.2.0",
|
|
"@types/react": "^18.3.31",
|
|
"@types/react-dom": "^18.3.7",
|
|
"@vitest/coverage-v8": "^4.1.11",
|
|
"anser": "^2.3.5",
|
|
"clsx": "^2.0.0",
|
|
"eslint-plugin-sonarjs": "^4.2.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^30.0.1",
|
|
"katex": "^0.16.47",
|
|
"lightningcss": "1.32.0",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"mdast-util-math": "^3.0.0",
|
|
"micromark-core-commonmark": "^2.0.3",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"micromark-extension-math": "^3.1.0",
|
|
"micromark-factory-space": "^2.0.1",
|
|
"micromark-util-character": "^2.1.1",
|
|
"micromark-util-classify-character": "^2.0.1",
|
|
"micromark-util-sanitize-uri": "^2.0.1",
|
|
"micromark-util-symbol": "^2.0.1",
|
|
"oxlint": "1.82.0",
|
|
"oxlint-tsgolint": "7.0.2001",
|
|
"playwright-core": "^1.62.1",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"shiki": "^4.3.1",
|
|
"simple-icons": "16.31.0",
|
|
"tailwindcss": "4.3.3",
|
|
"tsdown": "^0.23.0",
|
|
"typescript": "^7.0.2",
|
|
"vitest": "^4.1.11",
|
|
"zod": "^4.4.3"
|
|
}
|
|
}
|