Replace the custom /dsh-context RPC channel + 2s client polling with a native contextTimeline session-projection unit: the host registers one pure init/apply/view unit on ctx.sessionProjections (framework-driven, persisted by the projection cache, streamed via session/projection push frames), and the client reads the finished value through the framework standard useProjection seat. Deletes the client stale-while-revalidate cache and the local service type stubs; grows the modern shelf registration (locale) and adds the published @deepseek-ai/* types as devDeps plus zod as the single runtime dependency (wire schema, kept external in the host bundle). Fixes tool-result node attribution to read the durable source.callId / content toolCallId instead of the never-present block.callId (tool labels had silently never rendered). Retention is tightened to trim by whole turn-runs deterministically (bounded state, no 1200<->1500 oscillation under incremental folding). Tests now drive the projection unit directly (host) and feed the view through a useProjection stub (client); all chart/render assertions preserved. Adds docs/redesign.md (review + target architecture, phases 0-3 landed) and docs/CLIENT_SURFACE.md (client-side audit).
77 lines
2.1 KiB
JSON
77 lines
2.1 KiB
JSON
{
|
|
"name": "dsh-context",
|
|
"version": "0.9.0",
|
|
"description": "Context insight panel for DeepSeek Harness: see what the model's context window is made of and how it evolves — composition, per-request history, compactions, injections, and model switches. Streamed through the harness's session-projection pipeline.",
|
|
"author": "bowenliang123",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/bowenliang123/dsh-context.git"
|
|
},
|
|
"homepage": "https://github.com/bowenliang123/dsh-context#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/bowenliang123/dsh-context/issues"
|
|
},
|
|
"type": "module",
|
|
"main": "lib/index.js",
|
|
"exports": {
|
|
".": "./lib/index.js",
|
|
"./client": "./lib/client.js",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"lib",
|
|
"cordis.patch.yml",
|
|
"README.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "node scripts/build.mjs",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "npm run typecheck && node tests/host.test.mjs && node tests/client.test.mjs",
|
|
"release": "bash scripts/publish.sh",
|
|
"prepare": "husky",
|
|
"repro": "node tests/repro-real-react.mjs"
|
|
},
|
|
"dsh": {
|
|
"bundle": {
|
|
"patch": "./cordis.patch.yml"
|
|
},
|
|
"client": {
|
|
"inject": [
|
|
"@deepseek-ai/dsh-client-connection",
|
|
"@deepseek-ai/dsh-client-locale",
|
|
"@deepseek-ai/dsh-client-runtime",
|
|
"@deepseek-ai/dsh-client-ui-conversation"
|
|
],
|
|
"platform": "web"
|
|
}
|
|
},
|
|
"keywords": [
|
|
"deepseek-harness",
|
|
"dsh",
|
|
"cordis",
|
|
"plugin",
|
|
"context",
|
|
"token",
|
|
"ui"
|
|
],
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
"@deepseek-ai/dsh-session": "0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-session-projection": "0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-token-meter": "0.1.0-rc.6",
|
|
"@types/react": "^18.3.31",
|
|
"esbuild": "^0.28.2",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^30.0.1",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"typescript": "^7.0.2"
|
|
},
|
|
"packageManager": "pnpm@11.9.0"
|
|
}
|