Skip to content

Releases: johanneslatzel/llm-chat-workspace

v0.2.0

Choose a tag to compare

@johanneslatzel johanneslatzel released this 25 Aug 11:23

Breaking

  • deduplicate() mutates accesses in place and returns void instead of returning a new DirectoryConfiguration

Features

  • walk() throws when the root path does not exist or is not a directory; onError only fires for nested subdirectories
  • new config getter on Workspace exposes the live DirectoryConfiguration

Internal

  • add check-line-limits to the verify chain (check:lines script, devDependency)
  • ESLint 9 to 10, eslint-plugin-n 17 to 18
  • CI: codecov/codecov-action v6 to v7, actions/checkout v4 to v7, actions/setup-python v5 to v7, actions/upload-pages-artifact v3 to v5
  • dependency version bumps across devDependencies

Full Changelog: v0.1.1...v0.2.0

v0.1.1

Choose a tag to compare

@johanneslatzel johanneslatzel released this 13 Aug 09:24

Features

  • AccessPrecedence controls how duplicate accesses for the same directory are resolved: WriteWins (default, unchanged behavior) keeps write access over read, LastAddedWins lets the last supplied access win so a later read can downgrade an earlier write
  • DirectoryConfiguration accepts a precedence option and reads LLM_CHAT_WORKSPACE_PRECEDENCE; invalid values fall back to write-wins
  • deduplicate() and Workspace.addAccess() apply the configured precedence, and getConfiguration() preserves it
  • AccessPrecedence is exported from the package entry point

Internal

  • Mark the package sideEffects: false
  • Refresh the docs and env reference; bump dev dependencies in the lockfile

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@johanneslatzel johanneslatzel released this 11 Aug 10:24

initial release with:

Features

  • DirectoryConfiguration defines read/write access to directories, via constructor arguments or LLM_CHAT_WORKSPACE_* env vars
  • Workspace tracks the active workspace path and enforces read/write access control on every path operation
  • switch_workspace tool changes the active workspace directory within configured accessible directories
  • switchWorkspace() is mutex-guarded, with an optional awaited onSwitch hook
  • Optional symlink resolution blocks symlink-based path traversal outside configured directories
  • walk() recursively traverses directory trees, skipping configured names such as node_modules and .git
  • canRead() and canWrite() check a resolved path against the configured accesses; normalize() resolves paths against the current workspace

Full Changelog: https://github.com/johanneslatzel/llm-chat-workspace/commits/v0.1.0