This change introduces the Weather Sensor device type which retrieves data from public APIs, and enhances the core Host/Device interfaces to provide consistent access to inventory and items across all specialized device types. It also improves search logic and fixes several bugs identified during implementation.
- Weather Sensor Extension: Added schema and recipe for a device retrieving weather data via Zabbix HTTP agent items.
- Interface Enhancements: Added inventory and items fields to Host and Device interfaces to ensure all device specialized types have consistent access to monitoring and inventory data.
- Search Logic Improvements: Enhanced ParsedArgs to support searchByAny and technical name (host) searches when a name pattern is provided.
- Bug Fixes:
- Fixed getLocations argument order in the Zabbix API datasource.
- Implemented deduplication for groupids and templateids in HostImporter to prevent Zabbix duplicate value errors.
- Added missing url field to CreateTemplateItem for HTTP Agent item support.
- Testing:
- Extended the regression test suite with 4 new automated checks covering the fixed bugs.
- Updated Jest tests to accommodate the improved search parameters.
- Documentation: Updated cookbook and test specifications to reflect new features and regression testing obligations.
This commit upgrades the project to Node.js 24 (LTS) and performs a major refactoring of the documentation to support both advanced users and AI-based automation (MCP).
Changes:
- Environment & CI/CD:
- Set Node.js version to >=24 in package.json and .nvmrc.
- Updated Dockerfile to use Node 24 base image.
- Updated @types/node to ^24.10.9.
- Documentation:
- Refactored README.md with comprehensive technical reference, configuration details, and Zabbix-to-GraphQL mapping.
- Created docs/howtos/cookbook.md with practical recipes for common tasks and AI test generation.
- Updated docs/howtos/mcp.md to emphasize GraphQL's advantages for AI agents and Model Context Protocol.
- Added readme.improvement.plan.md to track documentation evolution.
- Enhanced all how-to guides with improved cross-references and up-to-date information.
- Guidelines:
- Updated .junie/guidelines.md with Node 24 requirements and enhanced commit message standards (Conventional Commits 1.0.0).
- Infrastructure & Code:
- Updated docker-compose.yml with Apollo MCP server integration.
- Refined configuration and schema handling in src/api/ and src/datasources/.
- Synchronized generated TypeScript types with schema updates.
- Added comprehensive descriptions to all types, interfaces, and fields in 'schema/api_commons.graphql'.
- Improved documentation for mutations and input/response types in 'schema/mutations.graphql'.
- Added detailed descriptions for all queries and their arguments in 'schema/queries.graphql'.
- Enhanced documentation for core Zabbix types and enums in 'schema/zabbix.graphql'.
- Updated extension schemas under 'schema/extensions/' with proper GraphQL descriptions.
- Verified schema validity via 'graphql-codegen' and ran all tests to ensure consistency.