Skip to content

Releases: link-assistant/agent

[js] 0.24.0

17 Jun 15:07

Choose a tag to compare

Add a native, enforceable permission system, ported from OpenCode and fully controllable over JSON with no TUI (issue #271).

Hard layer. --read-only (env LINK_ASSISTANT_AGENT_READ_ONLY) disables every filesystem-mutating and shell tool — bash, edit, write, multiedit, patch — so the agent can only read, search and plan. The restriction is enforced at tool resolution and also when tools are invoked indirectly via the batch tool, so it cannot be bypassed. --disable-tools bash,write,edit (env LINK_ASSISTANT_AGENT_DISABLE_TOOLS) disables an explicit set of tools. This makes agent-commander's uniform --read-only flag enforceable for the agent tool, on par with the other supported tools.

Fine-grained layer. --permission-mode <auto|plan|readonly|ask> (env LINK_ASSISTANT_AGENT_PERMISSION_MODE) plus an OpenCode-compatible --permission '<json>' override (env LINK_ASSISTANT_AGENT_PERMISSION). The default mode is auto (full autonomy, never asks), so existing behavior is unchanged and the full-auto path has zero added overhead.

  • plan denies edits, allows read-only shell commands, and asks before anything else.
  • readonly denies all mutations (never asks).
  • ask requests approval before every mutating tool.
  • --permission accepts the OpenCode {edit, bash, webfetch} shape (where bash is a string or a {glob: action} map) and is merged on top of the mode.

Approvals are exchanged purely as JSON: the agent emits a permission_request event on stdout and the consumer replies with a permission_response frame (once / always / reject) on stdin, in both text and stream-json input modes. See docs/permissions.md for the full protocol and docs/case-studies/issue-271 for the design rationale and prior-art survey. The same policy/mode/override semantics, CLI flags, and JSON schemas are mirrored in the Rust implementation.

Related Pull Request: #272


npm version

[js] 0.23.0

01 May 10:46

Choose a tag to compare

Add Claude-compatible --input-format stream-json stdin frames and --output-format stream-json alias with user-prompt replay acknowledgements.

Related Pull Request: #269


npm version

[js] 0.22.10

25 Apr 12:39

Choose a tag to compare

Set opencode/minimax-m2.5-free as the default model again, update OpenCode Zen free model docs, and add a live Zen free-model fallback for models.dev lag.

Related Pull Request: #267


npm version

[js] 0.22.9

24 Apr 08:07

Choose a tag to compare

Classify provider stream status errors and usage-shape failures as retryable provider errors.

Related Pull Request: #265


npm version

[js] 0.22.8

14 Apr 07:58

Choose a tag to compare

fix(ci): add recovery for missing Rust GitHub releases and improve crates.io publish resilience

Related Pull Request: #263


npm version

[rust] 0.9.2

14 Apr 07:59

Choose a tag to compare

Fixed

  • Use CARGO_TOKEN (organization-level secret) as fallback when CARGO_REGISTRY_TOKEN is not set, fixing crates.io publishing in CI/CD

Fixed

  • Fixed git push race condition in Rust CI/CD auto-release that caused non-fast-forward rejection when JS CI pushed concurrently
  • Added fetch/rebase before commit and push retry with pull --rebase (up to 3 attempts)
  • Added shared concurrency group (release-main) across Rust and JS release jobs to serialize pushes to main

[js] 0.22.7

13 Apr 10:16

Choose a tag to compare

Handle crates.io propagation delays and treat "already exists" as successful publish in CI/CD scripts

Related Pull Request: #262


npm version

[js] 0.22.6

13 Apr 08:54

Choose a tag to compare

Added shared concurrency group to JS release jobs to prevent race condition with Rust CI/CD pushes to main

Related Pull Request: #260


npm version

[js] 0.22.5

13 Apr 07:51

Choose a tag to compare

Add CARGO_TOKEN fallback support to publish-to-crates.mjs for organization-level secrets

Related Pull Request: #258


npm version

[js] 0.22.4

13 Apr 06:21

Choose a tag to compare

Add publish verification to Rust CI/CD to prevent false positive releases

Related Pull Request: #256


npm version