Repository navigation
Releases: Han-Yao94/dsh-session-toolkit
Release list
v1.0.0 — 首个正式版:会话管理工具包(DSH)
首个正式版(此前 0.1.12–0.1.16 为预发布线)。
npm 上 dsh-session-toolkit@1.0.0 已发布(2026-10-01T12:02:32Z),tarball shasum = b53ca95f1a576fc63b395efa83499bb8b39db402、19 个文件 —— 与发布前 npm pack --dry-run 的读数逐位相同。本 Release 对应 tag v1.0.0(附注对象 3e01ec9b6b19f6884340c7178aa223037df028da)指向的提交 071b8af。
release: bump the three version positions to 1.0.0 and re-land the two §0 anchors
- package.json:3, README.md:7, README.zh.md:7: 0.1.16 -> 1.0.0. These are the
three version-declaration sites (pnpm verifyfails if they disagree), each
a single line. - docs/agents/integration-contracts.md §0: re-land the
package.jsonand
README.zh.mdrows with the new SHA-256 digests and byte counts (2,023 ->
2,022 and 40,856 -> 40,855), and append the "重落锚㉓" note to the header row. - The four "latest published version: v0.1.16" claims in both READMEs are
deliberately NOT touched: they are still true right now (registry
dist-tags.latest = 0.1.16), and charter §10.4 step 4 rewrites them only after
the publish has actually succeeded. Writing them now would be a false claim.
Evidence (commands, exit codes, raw readings):
pnpm check -> EXIT 0
pnpm verify -> EXIT 0 ("current version" claim = 1.0.0, 2 hits)
node scripts/anchor.contract.selftest.mjs -> EXIT 0 (13/13 MATCH)
19 further single gates -> EXIT 0, plus bl090 self-restore (the gate restores
scripts/prompt-contract.assert.mjs byte-for-byte, frame 90d30f9625039ca3
before and after), verify.selftest.mjs, official-refs, prompt.contract.selftest
(full per-gate readings in docs/agents/board/a.md §85.5)
npm pack --dry-run -> dsh-session-toolkit@1.0.0, total files 19, tarball
contains no docs/, scripts/ or .github/ paths
Not green - listed rather than hidden:
scripts/rc1-basis.assert.mjs -> EXIT 3 INCOMPLETE. The cross-generation basis
gate was NOT run this round: this host checkout resolves only 13 of the
@deepseek-ai packages it needs (7 are MODULE_NOT_FOUND: dsh-tools,
dsh-home-paths, dsh-client-locale, dsh-client-store, dsh-client-ui-primitives,
cordis, schemastery) and it lacks the gate command files, so no --alpha-base
could be supplied. EXIT 3 is the gate's own "precondition absent, do not read
as a pass" code - not a pass, and not a failing assertion either. If CI-driven
publishing is ever restored, .github/workflows/npm-publish.yml:458 keeps this
job in publish-npm.needs and treats EXIT 3 as blocking.
scripts/dependency-skew.content.probe.mjs -> EXIT 1. Two host packages
(@deepseek-ai/dsh-client-locale, @deepseek-ai/dsh-client-ui-primitives) are
skewed. Parked by human decision (BL-091, "keep it on the books, do not
touch") and host-side only (BL-102); it is not on the publish path.
Independent review before commit (charter §14.1①): QA, docs/agents/board/d.md
§162-D -> "committable", explicitly carrying the rc1 precondition failure
forward and correcting my earlier "3 missing packages" to 7.
v0.1.16 — 全切 DeepSeek Harness dsh-v0.2.0-rc.1
v0.1.16
首个要求 DeepSeek Harness dsh-v0.2.0-rc.1(cordis 4.0.4 / schemastery 3.18.4)的版本。
变更
- 全切
0.2.0-rc.1:dependencies与peerDependencies里的宿主包代位全部抬高 ——@deepseek-ai/dsh-home-paths、@deepseek-ai/dsh-tools为^0.2.0-rc.1,@deepseek-ai/cordis为~4.0.4,@deepseek-ai/schemastery为^3.18.4,三个客户端 peer(locale / store / ui-primitives)为^0.2.0-rc.1。 pnpm-workspace.yaml的minimumReleaseAgeExclude由 alpha.1 代 13 条换成 rc1 代 24 条(供应链延迟保护仍然生效,只放行本依赖链)。- 两份 README 的宿主版本声明同步抬高;新增
scripts/rc1-basis.assert.mjs断言门(自检 14 条全过,含四条负向对照)。 - 版本位
0.1.15→0.1.16。
兼容性
- 最低支持版本 =
dsh-v0.2.0-rc.1。0.1.6及更早的内核上本插件会响亮失败而非静默降级。 - 本次核对的是契约面 + 全套门(锚表、提示词契约、自动恢复契约、客户端原语导出、打包契约等),不是一次完整的功能回归。
已知限制(环境性,非本包缺陷)
- 本机
dependency-skew门为红,经独立归因 = 宿主侧解析根仍停在0.1.7-rc.2(本机 harness checkout 尚未同步到 rc1),不是本包产物的问题;在已同步到 rc1 的宿主上该门应转绿。 - 真机端到端(安装到真实 profile 并逐功能操作)未在本次发布中执行。
v0.1.15
Inbound peer messaging gains an inbox_check tool surface (session-scoped, caller-only view of what is still queued) and the peer-inbox-discipline prompt section (order 45); inject no longer declares settings (lazy read with a null guard). The auto-resume contract gate now locates the bad fingerprint by content (earliest git log -S commit plus a tree-level filter) instead of a 50-commit window, and exits 3 when the anchor is wrong. New documentation-reference contract gate (prompt-contract.assert.mjs, C1 extraction / C2 recomputation / C3 retired-wording) mounted in CI as prompt-contract-assert; contract table re-anchored for README.zh.md; version 0.1.15.
v0.1.14
Group prompt section (order 55, keyed by session id, spanning workspaces) with a third settings tab; settings panel re-laid-out to match the native section look; checkbox lag fixed via a local optimistic layer; the group-prompt contract gate now reports an unevaluable subject as exit 2 and no longer leaks temp dirs.
v0.1.13
Release 0.1.13
Breaking: the whole web-restart feature is gone.
- Remove the web-restart feature (
e7ec303) —lib/web-restart.jsandlib/dsh-web-restart-launcher.vbsare deleted, together with its client code, itsPOST-style restart route, therestartTimeoutMs/restartSettleMsconfig knobs, and the request-guard exemption that existed only to authorise it.package.jsongoes from 6 plugins to 5. Auto-resume is unaffected — "come back online after a restart" still works; only the service that restarted on request is gone. - Keep the workspace-prompt sync from wiping user content (
049ced6) — the sync reads the existing entry before writing it back, and a new guard (scripts/workspace-prompt.guard.assert.mjs) pins the behaviour by mutation rather than by assertion. - Internal tooling and gate hygiene — board-rotation tooling (
689f7e4,f15baf4), the stale "12 anchors" comment in the anchor gate (47f95e2), and contract/README corrections (97bb5b7,a79b6f9,ff7879c,a619eab). - Compatibility unchanged — still verified against DeepSeek Harness
dsh-v0.1.7-alpha.1(also the minimum supported version) and re-verified ondsh-v0.1.7-rc.1(contract surfaces + the full gate suite, not a complete functional regression). Both READMEs were re-anchored for this version.
Published from commit e7ec30366593c6d6c1be7e6a6e9b1c1de38cd934 (tag v0.1.13), through the release-event publish job — the same path as v0.1.11 and v0.1.12.
v0.1.12
Release 0.1.12
Four commits since v0.1.11:
- Cross-session delivery fix (
7849fed) — a peer message that arrives while the receiving session is mid-turn is spliced into that running turn instead of waiting for the next one. - Re-verified on harness
dsh-v0.1.7-rc.1(cf021d5) — contract surfaces plus the full gate suite; the README compatibility notes were corrected to match. - Shared workspace-immutability guard (
617edc4) — the guard now lives inscripts/lib/manifest-guard.mjsand is proven by mutation instead of by assertion. - Recursive syntax gate (
a1e5f4a) —pnpm checkwalks nestedlib//scripts/JavaScript, and refuses symlinks it cannot follow (dangling links, symlinked directories) rather than silently skipping them.
Verification
pnpm check and pnpm verify exit 0 on this tree; the anchor gate reports 14/14 MATCH; the packaging audit builds dsh-session-toolkit-0.1.12.tgz with 21 files.
Note
0.1.9 and 0.1.10 were tagged but never reached npm, so this is the first published version since 0.1.8.
v0.1.11
First version to reach npm since 0.1.8 — 0.1.9 and 0.1.10 were tagged but never published.
- harness: adapted to DSH
dsh-v0.1.7-alpha.1. A plugin entry's user data
(identity text, global/workspace prompts, the per-session auto-resume switch, the UI
knobs) now lives in that entry'sConfigvolatilefields and is read and written
throughctx.configForms; the settings namespace andlib/ui-config.jsare gone. The
two runtime projections that used to be namespaces moved to the plugin's own read-only
routeGET /api/session-toolkit/state. Harness-provided ranges name one prerelease
generation each (^0.1.7-alpha.1, cordis^4.0.3); the client half uses the icon
names 0.1.7 renamed (IconXxxOutlineRegular), and peer messages are attributed to
their producer (source.kind: 'agent-message') as session format V4 requires. - session tools:
create_sessionandrename_session, including attaching a newly
created session to its workspace and reporting which ofattached/not-found/
unavailable/resolve-failed/attach-failedhappened. - client: the identity overlay card is draggable by its title row and is clamped to
the viewport, so every edge stays reachable when the card is larger than the window;
the sidebar session-row menu gains a "Copy session ID" row. - host: the plugin's own HTTP routes carry an Origin guard. They are registered
directly onwebServer, which puts them under/api/while bypassing the gateway that
guards that prefix, soPOST /api/restartwas reachable from a page in the browser.
Known limits are recorded in the contract table: a0.0.0.0bind still admits DNS
rebinding, and the guard addresses browser pages rather than local processes. - fixes: the session-log menu row no longer throws (
reactis required where
react.useStateis called — it had been broken since 2026-09-18 and every gate missed
it); the prompt-contract gate's fake request now carries aHostheader. - gates: two new ones, both wired into CI and into
publish-npm'sneeds—
scripts/request-guard.assert.mjs(49 cases, four structural assertions, seven
mutations, two self-defences) andscripts/scope-identifiers.assert.mjs(a block that
uses a module alias it never bound fails loudly).
v0.1.9
Patch release against dsh-v0.1.6-alpha.2.
- auto-resume: normalize the persistence entries so startup restore works on both
the snapshot and bare-headerlist()shapes; unrecognized shapes now leave a
diagnosable warning instead of failing silently. - prompt pipeline: the three own prompt sections render literally
(interpolate: false), with a fallback for pre-0.1.6 kernels; prompt dedup keeps
blank lines; oversized referenced files are skipped rather than injected. - host: lazy service resolution via
ctx.injectacross identity / global-prompt /
web-restart / peer-message; workspace-prompt isolation and projection fixes. - deps: harness-provided packages declared as forward-compatible version unions
(^0.1.2-alpha.5 || ^0.1.6-alpha.2) instead of fictional lower bounds. - docs: published-version claim bumped to 0.1.9; the §0 README anchor re-landed and
six off-by-N line references in the contract table corrected. - ci: contract gates run without
node_modules; the auto-resume gate gets full
history so its negative control can read the parent revision.