{
  "title": "Line ending auditor",
  "human_url": "https://happytails.ai/en/developer-tools/line-ending-auditor/",
  "agent_url": "https://happytails.ai/agents/en/developer-tools/line-ending-auditor/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/developer-tools/line-ending-auditor.md",
  "content": "Line ending auditor\nCount CRLF, LF and CR line endings and normalize selected UTF-8 files without rewriting their other bytes.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Line ending auditor\nChoose the local file or files.\nReview the action and limits, then run the inspection.\nCheck the result and download a separate output or report.\nUseful next steps\nByte order mark editor\nBinary file comparator\nFile hash\nCount endings before changing them\nAudit the selected files to see CRLF, LF and CR counts separately. Mixed endings are reported per file.\nChoose one line-ending style\nNormalize to LF, CRLF or CR. Only newline byte sequences change; text and an existing UTF-8 marker are preserved.\nMatch numbered downloads to source files\nThe report maps each numbered result to the original selected filename. Audit-only mode creates a report without transformed files.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Byte order mark editor",
      "url": "https://happytails.ai/en/developer-tools/byte-order-mark-editor/"
    },
    {
      "name": "Binary file comparator",
      "url": "https://happytails.ai/en/developer-tools/binary-file-comparator/"
    },
    {
      "name": "File hash",
      "url": "https://happytails.ai/en/developer-tools/file-hash/"
    }
  ],
  "tool": {
    "id": "line-ending-auditor",
    "category": "developer-tools",
    "built": true,
    "requirements": "Up to 100 valid UTF-8 files and 16 MiB total. UTF-8 BOMs are preserved; other Unicode encodings, invalid UTF-8 and NUL bytes are rejected. Blank lines and the presence or absence of the final line ending are preserved.",
    "implementation": {
      "fields": [
        {
          "key": "action",
          "label": "Action",
          "value": "Audit only",
          "type": "select",
          "values": [
            "Audit only",
            "Normalize LF",
            "Normalize CRLF",
            "Normalize CR"
          ]
        }
      ],
      "files": true,
      "input": false,
      "multiple": true,
      "maxFileBytes": 16777216,
      "presentation": "metrics",
      "deferImagePreview": true,
      "note": "Check up to 100 UTF-8 files, 16 MiB total. Normalization preserves the UTF-8 BOM and non-newline bytes. Other encodings and NUL bytes are rejected; original files remain unchanged.",
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Up to 1,000,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Line ending auditor\n\n- Human page: https://happytails.ai/en/developer-tools/line-ending-auditor/\n- Markdown: https://happytails.ai/en/developer-tools/line-ending-auditor.md\n- Structured JSON: https://happytails.ai/agents/en/developer-tools/line-ending-auditor/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `line-ending-auditor` |\n| Category | developer-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nCheck up to 100 UTF-8 files, 16 MiB total. Normalization preserves the UTF-8 BOM and non-newline bytes. Other encodings and NUL bytes are rejected; original files remain unchanged.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\nAccepted browser files: `See implementation notes`. Multiple files are supported.\n\nBrowser file-input limit: 16777216 bytes in total. HTTP limits can differ.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `action` | Action | select | \"Audit only\" | Allowed: Audit only, Normalize LF, Normalize CRLF, Normalize CR |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nUp to 100 valid UTF-8 files and 16 MiB total. UTF-8 BOMs are preserved; other Unicode encodings, invalid UTF-8 and NUL bytes are rejected. Blank lines and the presence or absence of the final line ending are preserved.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"line-ending-auditor\",\n  \"category\": \"developer-tools\",\n  \"built\": true,\n  \"requirements\": \"Up to 100 valid UTF-8 files and 16 MiB total. UTF-8 BOMs are preserved; other Unicode encodings, invalid UTF-8 and NUL bytes are rejected. Blank lines and the presence or absence of the final line ending are preserved.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"action\",\n        \"label\": \"Action\",\n        \"value\": \"Audit only\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Audit only\",\n          \"Normalize LF\",\n          \"Normalize CRLF\",\n          \"Normalize CR\"\n        ]\n      }\n    ],\n    \"files\": true,\n    \"input\": false,\n    \"multiple\": true,\n    \"maxFileBytes\": 16777216,\n    \"presentation\": \"metrics\",\n    \"deferImagePreview\": true,\n    \"note\": \"Check up to 100 UTF-8 files, 16 MiB total. Normalization preserves the UTF-8 BOM and non-newline bytes. Other encodings and NUL bytes are rejected; original files remain unchanged.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCount CRLF, LF and CR line endings and normalize selected UTF-8 files without rewriting their other bytes.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Line ending auditor\n\n1. Choose the local file or files.\n2. Review the action and limits, then run the inspection.\n3. Check the result and download a separate output or report.\n\n## Useful next steps\n\n- [Byte order mark editor](https://happytails.ai/en/developer-tools/byte-order-mark-editor/) ([Markdown](https://happytails.ai/en/developer-tools/byte-order-mark-editor.md))\n\n- [Binary file comparator](https://happytails.ai/en/developer-tools/binary-file-comparator/) ([Markdown](https://happytails.ai/en/developer-tools/binary-file-comparator.md))\n\n- [File hash](https://happytails.ai/en/developer-tools/file-hash/) ([Markdown](https://happytails.ai/en/developer-tools/file-hash.md))\n\n## Count endings before changing them\n\nAudit the selected files to see CRLF, LF and CR counts separately. Mixed endings are reported per file.\n\n### Choose one line-ending style\n\nNormalize to LF, CRLF or CR. Only newline byte sequences change; text and an existing UTF-8 marker are preserved.\n\n### Match numbered downloads to source files\n\nThe report maps each numbered result to the original selected filename. Audit-only mode creates a report without transformed files.\n"
}