- Implement pushHistory mutation to support pushing telemetry data to Zabbix trapper items.
- Add VERBOSITY and MCP_LOG_* environment variables for controllable request/response logging in both API and MCP server.
- Enhance ZabbixRESTDataSource with better session handling and error logging.
- Update ZabbixHistory datasource to support history push operations.
- Expand documentation with new cookbook recipes and MCP integration guides.
- Add integration tests for history pushing (src/test/history_push*).
- Reorganize documentation, moving technical product info PDF to docs/use-cases/.
- Update GraphQL generated types and VCR templates.
- Implement query optimization (reduced output, parameter skipping) to minimize Zabbix API traffic.
- Add indirect dependency handling: deviceType implies tags and state implies items.
- Move schema extensions to samples/extensions/ to clarify their role as samples.
- Enhance DistanceTrackerDevice with String time fields to support optional date portions.
- Ensure allDevices strictly filters by deviceType and populates the field in results.
- Refactor runAllRegressionTests mutation to use internal unique names and improve stability.
- Fix unnecessary Zabbix API calls for item preprocessing during template and host imports.
- Update documentation including cookbook recipes, test specifications, and optimization guides.
- Add extensive unit, integration, and regression tests covering all implemented changes.
- Update docker-compose.yml to mount the samples/ directory as a volume.
- Update IntelliJ .idea run configurations to reflect the new sample extension paths.
- **Optimization**: Implemented automatic Zabbix parameter optimization by analyzing GraphQL selection sets.
- **ZabbixRequest**: Added optimizeZabbixParams with support for skippable parameters and implied field dependencies (e.g., state -> items).
- **Resolvers**: Updated allHosts, allDevices, allHostGroups, and templates to pass requested fields to data sources.
- **Data Sources**: Optimized ZabbixQueryHostsGenericRequest and ZabbixQueryTemplatesRequest to skip unnecessary Zabbix API calls.
- **Regression Tests**: Enhanced RegressionTestExecutor with new tests for optimization (REG-OPT, REG-OPT-NEG), state retrieval (REG-STATE), dependent items (REG-DEP), and empty results (REG-EMPTY).
- **Documentation**: Created query_optimization.md How-To guide and updated roadmap.md, README.md, and tests.md.
- **Bug Fixes**: Fixed deviceType tag assignment during host import and corrected ZabbixCreateHostRequest to support tags.
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.
- Established a centralized test specification in docs/tests.md that defines test categories, cases, and a coverage checklist to ensure consistent quality and maintainability across the project.
- Implemented RegressionTestExecutor for managing automated regression tests on a live Zabbix system.
- Updated GraphQL schema and resolvers with a generic runAllRegressionTests mutation.
- Enhanced MCP integration with new operation files and detailed documentation for AI-driven automation.
- Updated README.md and How-To guides (Cookbook, Maintenance, MCP) to reflect the new testing framework and MCP capabilities.
- Verified all changes with a full Jest suite (74 tests) and live end-to-end smoketests.