anyrepair 0.2.4

A comprehensive Rust crate for repairing malformed structured data including JSON, YAML, XML, TOML, CSV, INI, Markdown, and Diff with format auto-detection
Documentation
{
  "application": {
    "name": "MyApp",
    "version": "2.5.1",
    "environment": "production",
    "debug": false
  },
  "server": {
    "host": "0.0.0.0",
    "port": 8080,
    "ssl": {
      "enabled": true,
      "certificate": "/etc/ssl/certs/app.crt",
      "key": "/etc/ssl/private/app.key",
      "protocols": ["TLSv1.2", "TLSv1.3"]
    },
    "cors": {
      "enabled": true,
      "origins": ["https://example.com", "https://app.example.com"],
      "methods": ["GET", "POST", "PUT", "DELETE"],
      "credentials": true,
      "maxAge": 86400
    }
  },
  "database": {
    "primary": {
      "type": "postgresql",
      "host": "db-primary.internal",
      "port": 5432,
      "database": "myapp_prod",
      "username": "app_user",
      "pool": {
        "min": 5,
        "max": 20,
        "idleTimeout": 30000,
        "connectionTimeout": 5000
      },
      "ssl": true,
      "replication": {
        "enabled": true,
        "replicas": [
          {
            "host": "db-replica1.internal",
            "port": 5432
          },
          {
            "host": "db-replica2.internal",
            "port": 5432
          }
        ]
      }
    },
    "cache": {
      "type": "redis",
      "host": "cache.internal",
      "port": 6379,
      "ttl": 3600,
      "cluster": {
        "enabled": true,
        "nodes": [
          "cache-node1.internal:6379",
          "cache-node2.internal:6379",
          "cache-node3.internal:6379"
        ]
      }
    }
  },
  "logging": {
    "level": "info",
    "format": "json",
    "outputs": [
      {
        "type": "file",
        "path": "/var/log/app/app.log",
        "maxSize": "100MB",
        "maxFiles": 10,
        "compress": true
      },
      {
        "type": "syslog",
        "host": "syslog.internal",
        "port": 514,
        "facility": "local0"
      },
      {
        "type": "elasticsearch",
        "host": "elasticsearch.internal",
        "port": 9200,
        "index": "app-logs"
      }
    ]
  },
  "authentication": {
    "jwt": {
      "enabled": true,
      "secret": "${JWT_SECRET}",
      "algorithm": "HS256",
      "expiresIn": "24h",
      "refreshTokenExpiresIn": "7d"
    },
    "oauth2": {
      "enabled": true,
      "providers": {
        "google": {
          "clientId": "${GOOGLE_CLIENT_ID}",
          "clientSecret": "${GOOGLE_CLIENT_SECRET}",
          "redirectUri": "https://app.example.com/auth/google/callback"
        },
        "github": {
          "clientId": "${GITHUB_CLIENT_ID}",
          "clientSecret": "${GITHUB_CLIENT_SECRET}",
          "redirectUri": "https://app.example.com/auth/github/callback"
        }
      }
    }
  },
  "features": {
    "analytics": {
      "enabled": true,
      "provider": "google-analytics",
      "trackingId": "UA-123456789-1"
    },
    "notifications": {
      "enabled": true,
      "channels": {
        "email": {
          "enabled": true,
          "provider": "sendgrid",
          "apiKey": "${SENDGRID_API_KEY}"
        },
        "sms": {
          "enabled": true,
          "provider": "twilio",
          "accountSid": "${TWILIO_ACCOUNT_SID}",
          "authToken": "${TWILIO_AUTH_TOKEN}"
        },
        "push": {
          "enabled": true,
          "provider": "firebase",
          "projectId": "${FIREBASE_PROJECT_ID}"
        }
      }
    },
    "rateLimit": {
      "enabled": true,
      "windowMs": 60000,
      "maxRequests": 100,
      "keyGenerator": "ip"
    }
  },
  "monitoring": {
    "healthCheck": {
      "enabled": true,
      "interval": 30000,
      "timeout": 5000,
      "endpoints": ["/health", "/health/ready", "/health/live"]
    },
    "metrics": {
      "enabled": true,
      "provider": "prometheus",
      "port": 9090,
      "path": "/metrics"
    },
    "tracing": {
      "enabled": true,
      "provider": "jaeger",
      "host": "jaeger.internal",
      "port": 6831,
      "samplingRate": 0.1
    }
  }
}