Merged
Conversation
- Add GET /schema/index endpoint for searchable schema index - Add GET /schema/full endpoint for comprehensive schema metadata - Implement schema indexing with category, version extraction - Implement dependency extraction (internal and external refs) - Implement environment variable extraction from x-env-value fields - Add TypeScript type definitions extraction - Add comprehensive integration tests for new endpoints - Update OpenAPI spec with new endpoint definitions - Install flexsearch dependency for future search functionality Breaking changes: None All existing endpoints remain unchanged
- Remove FlexSearch dependency from backend (not needed server-side) - /schema/index now returns only schemas array (no searchIndex field) - Frontend will build FlexSearch index client-side from schemas data - With ~500 schemas (~100KB), client-side indexing is fast and simple - Updated OpenAPI spec to reflect new response structure - Updated integration tests to match new response format - Regenerated TypeScript types from OpenAPI spec - Updated BACKEND_SCHEMA_INTEGRATION.md with design decision BREAKING CHANGE: /schema/index response no longer includes searchIndex field
- Fix null check in extractDependencies traverse function (prevents TypeError when schema has null property values) - Add unit test to cover null value handling in metadata extraction - Remove unsafe type assertions (as any) from schema controllers - Fix OpenAPI spec to use additionalProperties for rawContent/dereferencedContent - Regenerate TypeScript types from OpenAPI spec - Fix magic number eslint error with INTERNAL_REF_PREFIX_LENGTH constant - Remove explicit any from integration tests All tests passing (109/109)
- Modified getTypeScriptForSchema to extract only the typeSymbol type instead of returning the entire .d.ts file - Extracts content between 'readonly [typeSymbol]:' and 'readonly $id:' - Falls back to full content if pattern not found - Added unit test to verify typeContent extraction excludes imports/exports - Fixed strict-boolean-expressions ESLint warnings for nullable strings All tests passing (110/110)
- Replace regex approach with brace-counting algorithm - Prevents capturing extra readonly fields after typeSymbol closing brace - Now correctly extracts only the content inside typeSymbol object - Added NOT_FOUND constant for indexOf -1 return value - Enhanced test to verify readonly fields are excluded - Tested with boilerplate schema that has 'readonly description' field All tests passing (110/110)
- Changed extraction to include opening and closing braces
- Now returns valid TypeScript type object: { ... }
- Updated test to verify braces are present at start and end
- Formatting is preserved as-is from .d.ts file (includes newlines/indentation)
All tests passing (110/110)
ronenkapelian
approved these changes
Feb 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.