Skip to content

Releases: Fakek0f3sT/dsh-mcp-diff

0.7.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 02 Sep 22:29

Security and robustness hardening plus reviewer UX features.

Security

  • Workspace containment for open-file links: every path this plugin forwards to the host opener is resolved and gated — absolute targets, ~ paths, .. traversal, or a bash call working outside the workspace render as plain text. Rendered content can no longer trigger an open of an arbitrary host file.
  • CI hygiene: workflow actions pinned to commit SHAs, push filtered to main, concurrency group.

Robustness (adversarially reviewed, all repro-confirmed)

  • bash parser rewritten: linear heredoc extraction (a 10k-marker command froze the tab for ~10s, now ~50ms), several heredocs on one line parse sequentially, quoted spans and comments no longer claim phantom writes, sed -i claims only its own segment's files, tee --append, fd-prefixed redirects (2> err.log), /dev skip narrowed to stream sinks (> /dev/sda stays visible).
  • diff render bounded: max 400 rows by default with a footer, LCS bails to del-all/add-all past 1M dp cells, parse memoized per command.
  • failed MCP edit/write cards now show the red outcome dot instead of reading as a clean diff; links suppressed when a cd shifts the base or the target is dynamic.

Features

  • Copy actions on every diff card: copy the rendered diff, the bash command, or the real server patch (settled edit_file, fence-stripped, git apply-able).
  • Wrap toggle for long lines and per-card show all N override of the render cap.
  • Risk annotations: plain terminal cards badge unambiguous destructive signatures (rm -rf, chmod 777, git reset --hard, git clean -f, curl … | sh, mkfs, dd of=, shred).
  • Honest write flavor in the badge (append vs write), Inspect affordance on mutation cards.

Full change log: v0.6.0...v0.7.0

v0.6.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 01 Sep 13:57

Highlights

  • feat: openable file paths on diff cards via the host opener (282d9fc)
  • feat: cover create_directory and bash path ops with info cards (a271908)
  • docs: README for open links, create_directory and bash path ops (aa8679c)

Full Changelog: v0.5.0...v0.6.0

0.5.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 31 Aug 14:34

Fixed

  • Localized terminal card labels: the Copy/Done/Failed/Running (and expand/collapse) strings in bash terminal cards now follow the GUI language instead of the primitive's built-in Chinese defaults (复制 / 已完成). The card entry registers with locale: 'conversation' and passes localized labels to the TerminalBlock primitive.

(This is the first release run under the new release protocol: annotated tag + GitHub Release + user-side npm publish.)

0.4.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 31 Aug 14:27

Added

  • Status dot on collapsed bash cards (green ok / red error / amber stopped / neutral for background acks).

Fixed

  • Empty bash card bodies for sub-calls nested inside run_code (view-less code-dispatch blocks): the card is now assembled from the raw block.
  • Red state dot for view-less failed sub-calls.
  • Badge renders the dot only (no double signal).

0.3.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 31 Aug 14:27

Added

  • Multi-file bash header: one bash command touching several files lists the rest in the card body (… · N files).
  • MCP filesystem move_file: an informational source → destination card.

CI / Build

  • GitHub Actions workflow: build, typecheck and self-checks.
  • tsx devDependency + npm run test script; esbuild build allowlist (pnpm 11).

0.2.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 31 Aug 14:27

Added

  • Bash toolview: file-mutating bash commands render as badged diff-style cards (python-heredoc old/new pairs, cat >/tee/> writes, sed -i).
    • Line-mutation detector (parse-bash) with a self-check.
    • Extra mutated files listed in the card body.
    • Non-mutating commands: a native-look terminal fallback.
  • Workspace-relative paths in diff card headers.
  • Chevron affordance on diff card summaries.

Fixed

  • Registered the bash view at priority -1 (shadows the shipped bash row).

Docs / Tests

  • README section for bash edit cards; translation of README and patch comment to English; diff-card screenshot.
  • Self-check for the server-diff parser (a mirror of the index.tsx code).

0.1.0

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 31 Aug 14:26

Initial release.

Added

  • MCP filesystem diff cards for edit_file/write_file (unified, colorized, collapsible).
  • Also overrides the built-in edit/write tools so every file mutation reads identically.
  • dsh plugin add github:… support: the prepare script builds lib/ on install.

The npm tarball ships lib/ + types only (no src/).

0.1.1

Choose a tag to compare

@Fakek0f3sT Fakek0f3sT released this 31 Aug 14:27

Fixed

  • Dropped src/ from the npm tarball — the published package ships lib/ + types only.

(Docs: README rewritten for unified/collapsible cards + git install; normalized repository.url; install leads with the npm form.)