Repository navigation
Releases: JochenYang/dsh-rewind-plugin
Release list
v0.4.1
Keep the confirm button on screen, and catch up with the reference plugin's test coverage.
- The confirmation dialog's file list is bounded and scrolls inside that bound. A recall that touched dozens of files used to render every row, grow past the viewport, and push the confirm button off screen.
- The test script clears .test-dist/ before bundling: esbuild leaves orphan bundles behind, and a deleted suite kept running against a fixture that no longer existed.
- Ported the messages-only recall, turn-boundary snapshot and transport-refusal suites from plugin-rewind, so the 0.4.0 feature set has the tests the reference implementation carries. A new guard pins the dialog's height cap.
Verified: npm run build && npm run typecheck && npm test (198/198). Published to npm as @jochenyang/dsh-rewind-plugin@0.4.1.
v0.4.0
Added
- Messages-only recall —
/rewind conversation <n>cuts the messages and leaves every file alone,
and the confirmation dialog offers the same choice as a scope control. This is the case where the file
work was right and only the message was wrong; before it, the only way was to recall with files and
put them back by hand. That scope keeps the range's before-images and snapshots — no file was touched,
so those are the only record that could ever restore them. /rewind plan conversation <n>— the preview answers for the scope the recall will use, so the dialog
never lists a file it will not touch.
Changed
- The workspace snapshot is taken when a turn opens, not at its first writing tool. That earlier
moment came after you may have edited files by hand, so a recall treated those edits as the range's
own work and undid them; a recall now returns the directory to the state it had when the message was
sent. A failed snapshot releases its claim, so a later tool call can still take one.
Fixed
- The messages-only preview resolved ordinal 0 — the preview verbs were enumerated by hand when the
ordinal was extracted and the new one was missing from that list, so a perfectly recallable message
was answered as "cannot recall".
v0.3.0
Compaction boundary and a participant service for other plugins.
- A recall now names where history stops after a compaction: the listing, an out-of-range answer, the picker and the confirmation dialog all say that messages before the newest checkpoint can no longer be recalled.
- The host half publishes
dsh-rewind-participants; the file revert is its first participant. A participant that throws or misses its deadline is logged and skipped, never failing the recall.
Verified: npm run build && npm run typecheck && npm test (181/181). Published to npm as @jochenyang/dsh-rewind-plugin@0.3.0.
v0.2.0
Recall now puts back what a shell command wrote.
- A bounded workspace snapshot is taken before a turn's first writing tool, so files rewritten by pwsh, a model-run script or a renderer come back byte for byte.
- Every recall reports a coverage verdict - full, partial or none - with the reason and the writing tools involved, instead of claiming a clean revert it cannot back up.
- Before-images are bytes now; a binary file is no longer corrupted by a restore.
- The recorder is keyed by session as well as turn, and a path's before-images are ordered by write sequence.
Fixes a recall that answered {"restored":6,"removed":8,"unrestorable":[]} while 27 shell calls in the same range had rewritten a sprite sheet and a dist/ tree.
v0.1.4
Adds the confirmation-dialog screenshot (embedded in both readmes, declared in screenshots.json for storefronts) and a Simplified Chinese changelog mirror. No behavioural change from 0.1.3.
v0.1.3
Every install form now ships the same code: the built halves are committed, so dsh plugin add github:JochenYang/dsh-rewind-plugin needs no build step (pnpm refuses to run a git dependency's build script unless the profile allowlists it). prepublishOnly still rebuilds before every registry release.
The readme the npm page renders is the corrected one: centred header and real install commands.
v0.1.2
Corrects the README that the npm page renders: the title, icon and badges are centred, and the install section gives real copy-pasteable commands (registry, release tarball, git). The build also runs through prepare, so dsh plugin add github:JochenYang/dsh-rewind-plugin compiles the package on the installing machine.
No behavioural change from 0.1.1.
v0.1.1
Message recall for DeepSeek Harness: cut the conversation back to before a message you already sent.
Install from npm
dsh plugin --profile <profile> add @jochenyang/dsh-rewind-plugin
Or from the prebuilt tarball below (no registry involved)
dsh plugin --profile <profile> add /absolute/path/dsh-rewind-plugin.tgz
Verified on dsh 0.2.0-rc.2: npm run build, tsc --noEmit and 127 node:test cases pass, and a real profile install activates both halves.