Skip to content

Releases: erkinalp/dsh-pijul

Release list

dsh-pijul 0.2.0

Choose a tag to compare

@erkinalp erkinalp released this 25 Oct 18:56

First public release. 0.1.0 was never published because it could not work: its tools called ctx.shell.run(), which is not part of the DeepSeek Harness shell seam.

Fixed

  • Every tool failed with ctx.shell.run is not a function. The seam is ctx.shell.resolve(request) → ctx.shell.execute(spec) → await handle.result(). All sixteen tools now use it.
  • Commands ran in the harness process directory, not the session workspace. Now resolved through ctx.workingDirectory.ensure(agent, signal), as tool-bash does.
  • pijul_record with explicit paths blocked until the shell timeout. pijul opens the commit-message editor for record <paths> -m <msg> even though -m was given (verified in every flag order against 1.0.0-beta.21). The preamble now pins EDITOR/VISUAL to the no-op true.
  • pijul_push/pijul_pull with all: false blocked the same way; the same guard covers them.
  • Paging integers were interpolated into the command unquoted — a model-supplied non-integer was shell syntax. Both are single-quoted now, with an injection test.

Added

  • pijul_add gained recursive: pijul add . records only the directory, not its contents.
  • aborted in the canonical output; network operations get a 10-minute budget.
  • Zero-dependency test suite: 34 unit tests against a stub mirroring the real service shapes, 11 integration tests driving the real pijul CLI.
  • CI, CHANGELOG, .gitignore, and a README that matches measured behaviour.

Install

dsh plugin --profile web add github:erkinalp/dsh-pijul#v0.2.0

Plain ESM, no build step: a git install needs no prepare script and no build allowance.