Skip to content

v0.3.0

Latest

Choose a tag to compare

@johanneslatzel johanneslatzel released this 23 Jun 12:19
· 1 commit to main since this release

Breaking

  • Removed raw mode from WebFetchTool — the raw parameter is no longer accepted; content-type is now auto-detected and dispatched to the appropriate handler
  • WebFetchTool constructor now accepts an optional FetchRegistry as second parameter
  • WebToolsPackage constructor now accepts an optional FetchRegistry as third parameter

Features

  • Content-type handler dispatch — WebFetchTool now auto-detects response content type and routes to a matching handler via FetchRegistry
  • New content handlers: HtmlHandler, JsonHandler, XmlHandler, CsvHandler, MarkdownHandler, PlainTextHandler, GenericTextHandler
  • JSON pretty-printing — application/json responses are parsed and re-serialized with 2-space indentation for readability
  • Automatic support for XML, CSV, and Markdown responses (returned as-is)
  • FetchRegistry with lazy initialization and custom handler support — register your own handlers that take priority over built-in defaults
  • New public exports: ContentHandlerRegistry (alias for FetchRegistry), all content handler classes, and the ContentHandler interface type

Internal

  • Updated @johannes.latzel/llm-chat dependency from ^0.5.0 to ^0.6.0
  • truncate function refactored from web-fetch.ts into lib/content-handlers/util.ts with improved boundary detection (paragraph → sentence → word → hard cut)
  • Config classes (WebSearchConfiguration, WebFetchConfiguration) now have JSDoc annotations on all properties
  • All docs files rewritten: README, architecture.md, configuration.md, quickstart.md, usage.md
  • New test suite for content handlers and FetchRegistry
  • Various dependency bumps (@typescript-eslint/* 8.61.1→8.62.0, nanoid 3.3.12→3.3.15, semver 7.8.4→7.8.5, @types/node 22.19.21→22.20.0)
  • README badge upgraded to NodeI co-branded shield

Full Changelog: v0.2.0...v0.3.0