# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.0.0-beta.3] - YYYY-MM-DD ### Added - Enhanced `image` tool to support optional immediate analysis of the captured screenshot by providing a `question` and `provider_config`. - If a `question` is given and no `path` is specified, the image is saved to a temporary location and deleted after analysis. - If a `question` is given, Base64 image data is not returned in the `content` array; the analysis result becomes the primary payload, alongside image metadata. ### Changed - Migrated test runner from Jest to Vitest. - Updated documentation (`README.md`, `docs/spec.md`) to reflect new `image` tool capabilities. ## [1.0.0-beta.2] - Previous Release Date ### Fixed - (Summarize fixes from beta.2 if known, otherwise remove or mark as TBD) ### Added - Initial E2E tests for CLI image capture. ## [1.0.0-beta.4] - YYYY-MM-DD ### ✨ Added - **Swift CLI `image` command:** Added `--screen-index ` option to capture a specific display when `--mode screen` is used. (Part of `image` tool simplification) - **MCP `image` tool:** Now fully supports `app_target: "screen:INDEX"` by utilizing the Swift CLI's new `--screen-index` capability. ### ♻️ Changed - **MCP `image` tool API significantly simplified:** - Replaced `app`, `mode`, and `window_specifier` parameters with a single `app_target` string (e.g., `"AppName"`, `"AppName:WINDOW_TITLE:Title"`, `"screen:0"`). - `format` parameter now includes `"data"` option to return Base64 PNG data directly. If `path` is also given with `format: "data"`, file is saved (as PNG) AND data is returned. - If `path` is omitted, `image` tool now defaults to `format: "data"` behavior (returns Base64 PNG data). - `return_data` parameter removed (behavior now implied by `format` and `path`). - `provider_config` parameter removed. AI provider for analysis (when `question` is supplied) is now automatically selected from `PEEKABOO_AI_PROVIDERS` environment variable. - **Node.js `imageToolHandler` and `buildSwiftCliArgs`:** Refactored to support the new `image` tool API and `--screen-index`. - **Tests:** Unit and Integration tests for the `image` tool were extensively updated to reflect the API changes and new functionalities. ### 🐛 Fixed - Addressed an issue in `src/tools/image.ts` where `logger.debug()` could be called without checking for logger existence (relevant for `buildSwiftCliArgs` if called in an unexpected context, though typically safe).