* test: add unit tests for langfuse context and noop observer
Add tests for observation context put/get round-trip, nested context
override behavior, and noop observer: trace ID generation, parent
inheritance, explicit override, Shutdown, ForceFlush, and enqueue.
* test: add edge case tests for noop observer branch coverage
Add two missing branch tests: explicit ObservationID with no parent
context (verifies new trace generation), and explicit TraceID with
parent (verifies observation ID is NOT inherited when trace is explicit).
Adds conditional chain normalization in processChain to preserve reasoning cache when provider unchanged while fixing incomplete tool_calls and converting IDs when switching providers. Extends GraphQL API with modelProvider parameter for seamless provider changes without restart.
Add tests for NewClient with enabled=false, IsEnabled nil/disabled/enabled
receivers, GetTimeout nil/configured, AddMessages no-op on disabled client,
and all 7 search methods returning "graphiti is not enabled" error when
disabled. All tests are hermetic with no network dependency.
Add comprehensive unit tests for all utility functions in the langfuse
helpers package: mergeMaps, ObservationLevel, GenerationUsageUnit,
GenerationUsage, ModelParameters, GetLangchainModelParameters, trace/span
ID generation, time helpers, and pointer helpers.
Add comprehensive test coverage for the schema package including
Schema validation, JSON Schema Draft 7 compilation, document validation,
database serialization, and custom Type marshaling.
Tests cover:
- Schema.Valid() with various schema types (string, object, array, etc.)
- Schema.GetValidator() compilation
- Schema.ValidateString/ValidateBytes/ValidateGo with valid and invalid docs
- Schema.Value()/Scan() database serialization round-trip
- Type.MarshalJSON() including object auto-properties and ExtProps
- Type.UnmarshalJSON() including ExtProps extraction
- Pattern, enum, and array constraint validation
- scanFromJSON helper with string, bytes, and error cases
- Introduce CONTRIBUTING.md for license compliance guidelines for developers.
- Update Dockerfile to generate license reports for frontend and backend dependencies.
- Add scripts for generating license reports and include them in the Docker build process.
- Create README.md and .gitignore files in the licenses directory for better organization.
- Update go.mod and go.sum to use the latest versions of vxcontrol dependencies.
This enhances the project's compliance with licensing requirements and improves dependency management.