gitextract_v5gxdb39/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── CODE_OF_CONDUCT.md │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .idea/ │ ├── .gitignore │ ├── compiler.xml │ ├── git_toolbox_prj.xml │ ├── inspectionProfiles/ │ │ └── Project_Default.xml │ ├── jsLinters/ │ │ └── eslint.xml │ ├── modules.xml │ ├── prettier.xml │ ├── usex.iml │ └── vcs.xml ├── .npmignore ├── .npmrc ├── .nvmrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENCE ├── README.md ├── assets/ │ └── BRAND_ASSETS.md ├── docs/ │ ├── architecture.md │ ├── comparison.md │ └── getting-started.md ├── eslint.config.js ├── knip.json ├── package.json ├── packages/ │ ├── builder/ │ │ ├── .gitignore │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── components.json │ │ ├── docs/ │ │ │ ├── README.md │ │ │ ├── RuleEvaluator.md │ │ │ ├── components.md │ │ │ ├── examples.md │ │ │ ├── hooks.md │ │ │ └── integration.md │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── AdvancedFieldInput.tsx │ │ │ │ ├── AnimatedNumber.tsx │ │ │ │ ├── ConditionGroup.tsx │ │ │ │ ├── ConstraintEditor.tsx │ │ │ │ ├── DiffViewer.tsx │ │ │ │ ├── DraggableConditionGroup.tsx │ │ │ │ ├── DynamicFieldSelector.tsx │ │ │ │ ├── EditableJsonViewer.tsx │ │ │ │ ├── FieldSelector.tsx │ │ │ │ ├── HistoryViewer.tsx │ │ │ │ ├── ImportExport.tsx │ │ │ │ ├── JsonViewer.tsx │ │ │ │ ├── JsonVisualizer.tsx │ │ │ │ ├── ModernConstraintEditor.tsx │ │ │ │ ├── ModernRuleBuilder.tsx │ │ │ │ ├── OperatorSelector.tsx │ │ │ │ ├── RegexValidator.tsx │ │ │ │ ├── ResizablePanel.tsx │ │ │ │ ├── RuleImportModal.tsx │ │ │ │ ├── RuleImporter.tsx │ │ │ │ ├── RuleViewer.tsx │ │ │ │ ├── SmartOperatorSelector.tsx │ │ │ │ ├── ThemeToggle.tsx │ │ │ │ ├── TreeConditionGroup.tsx │ │ │ │ ├── TreeConstraintEditor.tsx │ │ │ │ ├── TreeRuleBuilder.tsx │ │ │ │ ├── UndoRedoInfo.tsx │ │ │ │ ├── ValueInput.tsx │ │ │ │ ├── VisualFieldSelector.tsx │ │ │ │ ├── condition-group.tsx │ │ │ │ ├── editable-json-viewer.tsx │ │ │ │ ├── history-viewer.tsx │ │ │ │ ├── inputs/ │ │ │ │ │ ├── AnimatedNumberInput.tsx │ │ │ │ │ ├── ArrayInput.tsx │ │ │ │ │ ├── BooleanInput.tsx │ │ │ │ │ ├── DateInput.tsx │ │ │ │ │ ├── NumberInput.tsx │ │ │ │ │ └── SmartValueInput.tsx │ │ │ │ ├── operators/ │ │ │ │ │ ├── ArrayOperatorHandler.tsx │ │ │ │ │ ├── BooleanValidationHandler.tsx │ │ │ │ │ ├── ComparisonOperatorHandler.tsx │ │ │ │ │ ├── DateOperatorHandler.tsx │ │ │ │ │ ├── ExistenceOperatorHandler.tsx │ │ │ │ │ ├── LengthValidationHandler.tsx │ │ │ │ │ ├── NumberValidationHandler.tsx │ │ │ │ │ ├── SelfReferenceHandler.tsx │ │ │ │ │ ├── StringValidationHandler.tsx │ │ │ │ │ ├── TypeValidationHandler.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── resizable-panel.tsx │ │ │ │ ├── rule-builder.tsx │ │ │ │ ├── rule-editor.tsx │ │ │ │ ├── rule-evaluator.tsx │ │ │ │ ├── rule-import-modal.tsx │ │ │ │ ├── rule-viewer.tsx │ │ │ │ ├── theme-provider.tsx │ │ │ │ ├── theme-toggle.tsx │ │ │ │ └── ui/ │ │ │ │ ├── alert.tsx │ │ │ │ ├── badge.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── calendar.tsx │ │ │ │ ├── card.tsx │ │ │ │ ├── collapsible.tsx │ │ │ │ ├── command.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── dropdown-menu.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── label.tsx │ │ │ │ ├── popover.tsx │ │ │ │ ├── scroll-area.tsx │ │ │ │ ├── select.tsx │ │ │ │ ├── separator.tsx │ │ │ │ ├── sheet.tsx │ │ │ │ ├── slider.tsx │ │ │ │ ├── sonner.tsx │ │ │ │ ├── switch.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── textarea.tsx │ │ │ │ ├── tooltip.tsx │ │ │ │ └── zoom-dialog.tsx │ │ │ ├── constants/ │ │ │ │ └── operator-help.ts │ │ │ ├── data/ │ │ │ │ └── sample-data.ts │ │ │ ├── debug-test.tsx │ │ │ ├── demo.tsx │ │ │ ├── hooks/ │ │ │ │ ├── use-field-discovery.ts │ │ │ │ ├── use-keyboard-shortcuts.ts │ │ │ │ └── use-theme.ts │ │ │ ├── index.ts │ │ │ ├── lib/ │ │ │ │ └── utils.ts │ │ │ ├── main.tsx │ │ │ ├── stores/ │ │ │ │ ├── enhanced-rule-store.ts │ │ │ │ ├── rule-store.ts │ │ │ │ └── unified-rule-store.ts │ │ │ ├── styles/ │ │ │ │ ├── animations.css │ │ │ │ └── globals.css │ │ │ ├── test-demo.tsx │ │ │ ├── test-store-debug.tsx │ │ │ ├── types/ │ │ │ │ └── index.ts │ │ │ ├── utils/ │ │ │ │ ├── json-path.ts │ │ │ │ └── operators.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.app.json │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ ├── vercel.json │ │ └── vite.config.ts │ └── core/ │ ├── CHANGELOG.md │ ├── README.md │ ├── benchmarks/ │ │ ├── builder.bench.ts │ │ ├── engine.bench.ts │ │ ├── introspector.bench.ts │ │ ├── json-path.bench.ts │ │ ├── mutator.bench.ts │ │ └── validator.bench.ts │ ├── docs/ │ │ ├── README.md │ │ ├── api-reference-v2.md │ │ ├── api-reference.md │ │ ├── best-practices.md │ │ ├── index.md │ │ ├── migration-guide.md │ │ ├── operators.md │ │ ├── refactoring-summary.md │ │ ├── typescript-guide.md │ │ └── v2-migration-guide.md │ ├── package.json │ ├── src/ │ │ ├── enums/ │ │ │ ├── condition-types.enum.ts │ │ │ ├── index.ts │ │ │ └── operators.enum.ts │ │ ├── examples/ │ │ │ └── custom-operator.example.ts │ │ ├── index.ts │ │ ├── operators/ │ │ │ ├── base.ts │ │ │ ├── factory.ts │ │ │ ├── implementations/ │ │ │ │ ├── array.ts │ │ │ │ ├── boolean.ts │ │ │ │ ├── comparison.ts │ │ │ │ ├── date-time.ts │ │ │ │ ├── existence.ts │ │ │ │ ├── index.ts │ │ │ │ ├── numeric.ts │ │ │ │ ├── pattern.ts │ │ │ │ ├── string.ts │ │ │ │ └── type.ts │ │ │ ├── index.ts │ │ │ ├── like.md │ │ │ └── registry.ts │ │ ├── services/ │ │ │ ├── builder.ts │ │ │ ├── evaluator.ts │ │ │ ├── index.ts │ │ │ ├── introspector.ts │ │ │ ├── logger.ts │ │ │ ├── mutator.ts │ │ │ ├── object-discovery.ts │ │ │ ├── rule-engine.ts │ │ │ └── validator.ts │ │ ├── types/ │ │ │ ├── index.ts │ │ │ ├── introspection.type.ts │ │ │ ├── rule.type.ts │ │ │ └── validator.type.ts │ │ └── utils/ │ │ ├── clone.util.ts │ │ ├── date.util.ts │ │ ├── error.util.ts │ │ ├── extract-jsonpath-expressions.util.ts │ │ ├── index.ts │ │ ├── is-object.util.ts │ │ └── time.util.ts │ ├── test/ │ │ ├── builder.spec.ts │ │ ├── engine.spec.ts │ │ ├── introspector.spec.ts │ │ ├── json-path.spec.ts │ │ ├── mutator.spec.ts │ │ ├── operators.spec.ts │ │ ├── rule-engine.spec.ts │ │ ├── rulesets/ │ │ │ ├── invalid2.json.ts │ │ │ ├── password-rule.json.ts │ │ │ ├── regex-rules.json.ts │ │ │ ├── self-fields-constraints.json.ts │ │ │ ├── valid1.json.ts │ │ │ ├── valid10.json.ts │ │ │ ├── valid11.json.ts │ │ │ ├── valid12.json.ts │ │ │ ├── valid13.json.ts │ │ │ ├── valid2.json.ts │ │ │ ├── valid3.json.ts │ │ │ ├── valid4.json.ts │ │ │ ├── valid5.json.ts │ │ │ ├── valid6.json.ts │ │ │ ├── valid7.json.ts │ │ │ ├── valid8.json.ts │ │ │ └── valid9.json.ts │ │ ├── utils.spec.ts │ │ └── validator.spec.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ ├── tsup.config.ts │ └── vitest.config.ts └── pnpm-workspace.yaml