mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Implements the turndown Agent Note from the NIH dependency audit (full variant, not the minimal entities-only fallback): dsh-tool-web's fetch rendering now converts HTML through turndown + @joplin/turndown-plugin-gfm (atx headings, fenced code, dash bullets, GFM tables/strikethrough) over the real domino DOM, with script/style/noscript removed wholesale. The hand-rolled ~86-line regex converter html.ts and its entity tables are deleted; renderBody wraps the conversion in try/catch falling back to the raw HTML body, because turndown's recursive DOM walk overflows with a RangeError on pathological nesting (measured: 4k levels on the main thread, 8k in a worker) where the regex version could never throw. Closure weight, measured: tool-web IS in the single-exe runtime closure, and the exe asset globs would pack ~7.9 MB of the three new packages — but ~6 MB of that is domino's test corpus, with runtime lib/ at ~550 KB against a ~174 MB artifact (<0.5% either way), so the swap wins. Per testing policy the previously-missing keyless web_fetch snapshot ships in the same change: the acp-agent `web-fetch` scenario boots a new web.cordis.yml overlay (web seam + real dsh-web-fetch-local provider + tool-web fetch-only + a loopback HTTP fixture server on a fixed port serving deterministic HTML with entities, a GFM table, and nesting), so recording and keyless replay both drive the real HTTP fetch and real conversion end to end; the scenario pins the new `web` header class. The Agent Note moves proposed -> implemented and is rewritten per the lifecycle contract (Decision/Consequences/Testing, closure verdict and alternatives recorded); tool-web and acp-agent READMEs updated in both languages and pairs re-recorded.
78 lines
3.6 KiB
JSON
78 lines
3.6 KiB
JSON
{
|
|
"name": "dsh-examples",
|
|
"private": true,
|
|
"version": "0.0.1",
|
|
"type": "module",
|
|
"description": "Workspace umbrella for runnable demos and example-owned test compositions: declares their cordis.yml packages so plain Node resolves real exports\u2192lib. Not a build target.",
|
|
"dependencies": {
|
|
"@cordisjs/plugin-hmr": "workspace:*",
|
|
"@cordisjs/plugin-include": "workspace:*",
|
|
"@deepseek-ai/dsh-acp-demo": "workspace:*",
|
|
"@deepseek-ai/dsh-agent-spine-demo": "workspace:*",
|
|
"@deepseek-ai/dsh-app-boot": "workspace:*",
|
|
"@deepseek-ai/dsh-bash-local": "workspace:*",
|
|
"@deepseek-ai/dsh-bash-sandbox": "workspace:*",
|
|
"@deepseek-ai/dsh-cli-demo": "workspace:*",
|
|
"@deepseek-ai/dsh-code-runtime-worker": "workspace:*",
|
|
"@deepseek-ai/dsh-compact-basic": "workspace:*",
|
|
"@deepseek-ai/dsh-compact-tool-result-prune": "workspace:*",
|
|
"@deepseek-ai/dsh-fs-local": "workspace:*",
|
|
"@deepseek-ai/dsh-fs-policy": "workspace:*",
|
|
"@deepseek-ai/dsh-fs-sandbox": "workspace:^",
|
|
"@deepseek-ai/dsh-goal": "workspace:*",
|
|
"@deepseek-ai/dsh-goal-session": "workspace:*",
|
|
"@deepseek-ai/dsh-hooks-claude": "workspace:*",
|
|
"@deepseek-ai/dsh-hooks-codex": "workspace:*",
|
|
"@deepseek-ai/dsh-jsonrpc": "workspace:*",
|
|
"@deepseek-ai/dsh-llm": "workspace:*",
|
|
"@deepseek-ai/dsh-llm-deepseek": "workspace:*",
|
|
"@deepseek-ai/dsh-llm-pi-ai": "workspace:*",
|
|
"@deepseek-ai/dsh-llm-replay": "workspace:*",
|
|
"@deepseek-ai/dsh-lsp": "workspace:*",
|
|
"@deepseek-ai/dsh-lsp-local": "workspace:*",
|
|
"@deepseek-ai/dsh-plan-mode": "workspace:*",
|
|
"@deepseek-ai/dsh-permission": "workspace:*",
|
|
"@deepseek-ai/dsh-pty": "workspace:*",
|
|
"@deepseek-ai/dsh-pty-local": "workspace:*",
|
|
"@deepseek-ai/dsh-repeat-tool-guard": "workspace:*",
|
|
"@deepseek-ai/dsh-sandbox-local": "workspace:*",
|
|
"@deepseek-ai/dsh-sandbox-policy": "workspace:^",
|
|
"@deepseek-ai/dsh-session-persistence-jsonl": "workspace:*",
|
|
"@deepseek-ai/dsh-session-checkpoint-policy": "workspace:*",
|
|
"@deepseek-ai/dsh-session-query": "workspace:*",
|
|
"@deepseek-ai/dsh-session-query-sqlite": "workspace:*",
|
|
"@deepseek-ai/dsh-spill-local": "workspace:*",
|
|
"@deepseek-ai/dsh-spill-policy": "workspace:*",
|
|
"@deepseek-ai/dsh-tui-demo": "workspace:*",
|
|
"@deepseek-ai/dsh-session-title-first-message-llm": "workspace:*",
|
|
"@deepseek-ai/dsh-subagent": "workspace:*",
|
|
"@deepseek-ai/dsh-subagent-acp": "workspace:*",
|
|
"@deepseek-ai/dsh-subagent-fork": "workspace:*",
|
|
"@deepseek-ai/dsh-subagent-spawn": "workspace:*",
|
|
"@deepseek-ai/dsh-time-context": "workspace:*",
|
|
"@deepseek-ai/dsh-timeout-policy": "workspace:*",
|
|
"@deepseek-ai/dsh-token-meter": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-ask-user": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-cordis": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-fs": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-fs-search": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-pty": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-goal": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-lsp": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-ralph": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-session-query": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-subagent": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-todo": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-web": "workspace:*",
|
|
"@deepseek-ai/dsh-tool-workflow": "workspace:*",
|
|
"@deepseek-ai/dsh-tools": "workspace:*",
|
|
"@deepseek-ai/dsh-user-approval": "workspace:*",
|
|
"@deepseek-ai/dsh-web": "workspace:*",
|
|
"@deepseek-ai/dsh-web-fetch-local": "workspace:*",
|
|
"@deepseek-ai/dsh-workflow-workerthread": "workspace:*"
|
|
},
|
|
"devDependencies": {
|
|
"node-pty": "1.1.0"
|
|
}
|
|
}
|