Repository: Marker-Inc-Korea/AutoRAG
Issue: [Feature Request] Migrate to Node.js for YAML Config Validator
Root cause: Unimplemented Feature Gap


## Is your feature request related to a problem? Please describe.
The current Python implementation of our YAML Config Validator has limitations that significantly impact its effectiveness and user experience:

1. It can only report one error at a time, requiring multiple runs to identify all issues in a configuration file.
2. The error messages lack detailed context and suggestions for fixing issues.
3. The validator's performance is suboptimal for large configuration files.
4. The Python implementation has limited support for complex JSON Schema features.

These limitations result in a time-consuming and frustrating process for users trying to validate and correct their YAML configurations.

## Describe the solution you'd like
We propose migrating the YAML Config Validator to Node.js, utilizing the following libraries:

- Ajv for JSON Schema validation
- js-yaml for YAML parsing
- better-ajv-errors for detailed error reporting

This migration would provide the following improvements:

1. Multiple error reporting in a single run
2. More comprehensive and context-rich error messages
3. Better performance for large configuration files
4. More extensive JSON Schema support for complex validation rules
5. Improved integration with web-based tools and services

## Describe alternatives you've considered
We considered the following alternatives:

1. Enhancing the current Python implementation:
   - Pros: Keeps existing codebase, familiar to current maintainers
   - Cons: Limited libraries for advanced JSON Schema validation, may not fully address all current limitations

2. Using a different language (e.g., Go, Rust):
   - Pros: Potential performance improvements
   - Cons: Smaller ecosystem for JSON Schema validation, steeper learning curve for the team

3. Creating a custom validation engine from scratch:
   - Pros: Full control over features and implementation
   - Cons: Time-consuming, risk of introducing new bugs, maintenance burden

## Additional context
The Node.js ecosystem has mature and well-maintained libraries for JSON Schema validation and YAML parsing. This migration aligns with our goal of providing a more robust and user-friendly tool for configuration validation.

Example of the improved error output with the Node.js implementation:

[full.yaml](https://github.com/Marker-Inc-Korea/AutoRAG/blob/main/sample_config/rag/full.yaml)
```sh
Validation errors:
TYPE must be number

  216 |             {
  217 |               "module_type": "recency_filter",
> 218 |               "threshold": "2015-01-01T00:00:00.000Z"
      |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ 👈🏽  type must be number
```

This migration will significantly improve the user experience and effectiveness of our YAML Config Validator.

https://github.com/hongsw/AutoRAG-YAML-Config-Validator



@vkehfdl1 we need to change the [full.yaml](https://github.com/Marker-Inc-Korea/AutoRAG/blob/main/sample_config/rag/full.yaml) file
```yaml
- module_type: recency_filter
            threshold: 2015-01-01
```



Restrict 'threshold' config to numbers only for module_type

https://json-schema-everywhere.github.io/yaml