{"_id":"@ar.io/wayfinder-cli","_rev":"8-86075f9764cfa4a54cef0cfbbcd8a066","name":"@ar.io/wayfinder-cli","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@ar.io/wayfinder-cli","version":"0.0.1","keywords":["ar.io","wayfinder","cli","arweave","permaweb"],"author":{"name":"Permanent Data Solutions, Inc."},"license":"Apache-2.0","_id":"@ar.io/wayfinder-cli@0.0.1","maintainers":[{"name":"fedellen","email":"derek@ardrive.io"},{"name":"ariel_at_ardrive","email":"ariel@ardrive.io"},{"name":"dylan-ario","email":"dylan@pds.inc"}],"homepage":"https://github.com/ar-io/wayfinder/tree/main/experimental/wayfinder-cli#readme","bugs":{"url":"https://github.com/ar-io/wayfinder/issues"},"bin":{"wayfinder":"bin/wayfinder.js"},"dist":{"shasum":"3a276ca3375a4937d72ff7a1579c531e379f35ca","tarball":"https://registry.npmjs.org/@ar.io/wayfinder-cli/-/wayfinder-cli-0.0.1.tgz","fileCount":16,"integrity":"sha512-OOHNBNWK82w5NIImuGqiwcdixTxQ3wVUuItsVe6n4ZXDlChgwkpqI6CsKJNT4Q4iQVwxWRIOH3FIYMv8eSqfdg==","signatures":[{"sig":"MEUCIE7q9gBVza4EDUFSgzF1KDY4tMyq2x+EBnCm/oEaim8TAiEAkPdaI/pB5PE4OvgxUbrCFTxKG2tu6uaKLmjMyndMrtg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53260},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"35f8d48cf541b065a1ef3dac8cf3d7fbf1a066f2","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","clean":"rimraf dist","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"dylan-ario","email":"dylan@pds.inc"},"repository":{"url":"git+https://github.com/ar-io/wayfinder.git","type":"git","directory":"experimental/wayfinder-cli"},"_npmVersion":"11.6.1","description":"Fast and user-friendly CLI for fetching files via AR.IO Wayfinder","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ora":"^8.1.1","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^12.1.0","cosmiconfig":"^9.0.0","cli-progress":"^3.12.0","@ar.io/wayfinder-core":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","rimraf":"^6.0.1","vitest":"^2.1.8","typescript":"^5.4.5","@types/node":"^22.10.6","@types/fs-extra":"^11.0.4","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/wayfinder-cli_0.0.1_1767987056491_0.7612238103636544","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@ar.io/wayfinder-cli","version":"0.0.2","keywords":["ar.io","wayfinder","cli","arweave","permaweb"],"author":{"name":"Permanent Data Solutions, Inc."},"license":"Apache-2.0","_id":"@ar.io/wayfinder-cli@0.0.2","maintainers":[{"name":"fedellen","email":"derek@ardrive.io"},{"name":"ariel_at_ardrive","email":"ariel@ardrive.io"},{"name":"dylan-ario","email":"dylan@pds.inc"}],"homepage":"https://github.com/ar-io/wayfinder/tree/main/experimental/wayfinder-cli#readme","bugs":{"url":"https://github.com/ar-io/wayfinder/issues"},"bin":{"wayfinder":"dist/index.js"},"dist":{"shasum":"6c71fc0d8d48b0f3994c8c6061be58a716355958","tarball":"https://registry.npmjs.org/@ar.io/wayfinder-cli/-/wayfinder-cli-0.0.2.tgz","fileCount":55,"integrity":"sha512-UR9ToXaGG1QjOrc8S6G6291bf5wWKwyBmbCcv86tk9Fg6mAzRpc3oJ/DNjq0XaqGZE8f/zlDajQ17b/sFNlZHg==","signatures":[{"sig":"MEYCIQCGoTBf01BqYwtLNKIoFYI93G6yQZUWqEXbqLlgB40ntQIhAIp+0eSWvEa+Ba/HzoomTl8zs7OTHSgUQg6BAgvolGUE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125172},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"898b779be87246e98df38bd2d74973b0606109ea","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","clean":"rimraf dist","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"dylan-ario","email":"dylan@pds.inc"},"repository":{"url":"git+https://github.com/ar-io/wayfinder.git","type":"git","directory":"experimental/wayfinder-cli"},"_npmVersion":"11.6.1","description":"Fast and user-friendly CLI for fetching files via AR.IO Wayfinder","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ora":"^8.1.1","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^12.1.0","cosmiconfig":"^9.0.0","cli-progress":"^3.12.0","@ar.io/wayfinder-core":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","rimraf":"^6.0.1","vitest":"^2.1.8","typescript":"^5.4.5","@types/node":"^22.10.6","@types/fs-extra":"^11.0.4","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/wayfinder-cli_0.0.2_1767988311678_0.8596413490044765","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@ar.io/wayfinder-cli","version":"0.0.3","keywords":["ar.io","wayfinder","cli","arweave","permaweb"],"author":{"name":"Permanent Data Solutions, Inc."},"license":"Apache-2.0","_id":"@ar.io/wayfinder-cli@0.0.3","maintainers":[{"name":"fedellen","email":"derek@ardrive.io"},{"name":"ariel_at_ardrive","email":"ariel@ardrive.io"},{"name":"dylan-ario","email":"dylan@pds.inc"}],"homepage":"https://github.com/ar-io/wayfinder/tree/main/experimental/wayfinder-cli#readme","bugs":{"url":"https://github.com/ar-io/wayfinder/issues"},"bin":{"wayfinder":"dist/index.js"},"dist":{"shasum":"d4efa698ec187e292160c53e7b1767e3d822a649","tarball":"https://registry.npmjs.org/@ar.io/wayfinder-cli/-/wayfinder-cli-0.0.3.tgz","fileCount":55,"integrity":"sha512-DgNGUVaBcuH4v06aBJPfbTvpM4EqrNRQ3MuXDtcnu2Y9P34sjc3gAztCuMGbBaAxYqJUZ9bbidz4pdKFtTc5VQ==","signatures":[{"sig":"MEUCIQDS4QKrPPeUHouc4dcqxViaed6sV9fLeH0nepNOTPtEuQIgZDMdKNBy+BVuEOZj2unyLopjPYO2BCkH78DaGHkVWn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125238},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"898b779be87246e98df38bd2d74973b0606109ea","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","clean":"rimraf dist","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"dylan-ario","email":"dylan@pds.inc"},"repository":{"url":"git+https://github.com/ar-io/wayfinder.git","type":"git","directory":"experimental/wayfinder-cli"},"_npmVersion":"11.6.1","description":"Fast and user-friendly CLI for fetching files via AR.IO Wayfinder","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ora":"^8.1.1","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^12.1.0","cosmiconfig":"^9.0.0","cli-progress":"^3.12.0","@ar.io/wayfinder-core":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","rimraf":"^6.0.1","vitest":"^2.1.8","typescript":"^5.4.5","@types/node":"^22.10.6","@types/fs-extra":"^11.0.4","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/wayfinder-cli_0.0.3_1767988514923_0.05297178352639431","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@ar.io/wayfinder-cli","version":"0.0.4","keywords":["ar.io","wayfinder","cli","arweave","permaweb"],"author":{"name":"Permanent Data Solutions, Inc."},"license":"Apache-2.0","_id":"@ar.io/wayfinder-cli@0.0.4","maintainers":[{"name":"fedellen","email":"derek@ardrive.io"},{"name":"ariel_at_ardrive","email":"ariel@ardrive.io"},{"name":"dylan-ario","email":"dylan@pds.inc"}],"homepage":"https://github.com/ar-io/wayfinder/tree/main/experimental/wayfinder-cli#readme","bugs":{"url":"https://github.com/ar-io/wayfinder/issues"},"bin":{"wayfinder":"dist/index.js"},"dist":{"shasum":"7c831da626e2ac1eb872b7ba9be140b8a64c4857","tarball":"https://registry.npmjs.org/@ar.io/wayfinder-cli/-/wayfinder-cli-0.0.4.tgz","fileCount":55,"integrity":"sha512-q3ZMW9qP6+2qoeJogkVx+lwOy7CFZWEefIV1LHRuFwZSF80mrL1wLHOwypcJlW9b6A/gqmIPSUsd1jgp72pBvw==","signatures":[{"sig":"MEQCIAML2N7jD9tU6GOLtgexlCIAQD0bFv4vngxKdxy+24foAiAb4y12ihN9fnJLGNv2c5egsEo3UZ7CLAA/1TSJUvRvFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127197},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"898b779be87246e98df38bd2d74973b0606109ea","scripts":{"dev":"tsx src/index.ts","test":"vitest","build":"tsc","clean":"rimraf dist","test:coverage":"vitest run --coverage","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"dylan-ario","email":"dylan@pds.inc"},"repository":{"url":"git+https://github.com/ar-io/wayfinder.git","type":"git","directory":"experimental/wayfinder-cli"},"_npmVersion":"11.6.1","description":"Fast and user-friendly CLI for fetching files via AR.IO Wayfinder","directories":{},"_nodeVersion":"24.11.0","dependencies":{"ora":"^8.1.1","chalk":"^5.3.0","fs-extra":"^11.2.0","commander":"^12.1.0","cosmiconfig":"^9.0.0","cli-progress":"^3.12.0","@ar.io/wayfinder-core":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.3","rimraf":"^6.0.1","vitest":"^2.1.8","typescript":"^5.4.5","@types/node":"^22.10.6","@types/fs-extra":"^11.0.4","@types/cli-progress":"^3.11.6"},"_npmOperationalInternal":{"tmp":"tmp/wayfinder-cli_0.0.4_1767991326722_0.7854374639242285","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2026-01-09T19:30:56.396Z","modified":"2026-07-15T03:49:21.108Z","0.0.1":"2026-01-09T19:30:56.637Z","0.0.2":"2026-01-09T19:51:51.818Z","0.0.3":"2026-01-09T19:55:15.077Z","0.0.4":"2026-01-09T20:42:06.863Z"},"bugs":{"url":"https://github.com/ar-io/wayfinder/issues"},"author":{"name":"Permanent Data Solutions, Inc."},"license":"Apache-2.0","homepage":"https://github.com/ar-io/wayfinder/tree/main/experimental/wayfinder-cli#readme","keywords":["ar.io","wayfinder","cli","arweave","permaweb"],"repository":{"url":"git+https://github.com/ar-io/wayfinder.git","type":"git","directory":"experimental/wayfinder-cli"},"description":"Fast and user-friendly CLI for fetching files via AR.IO Wayfinder","maintainers":[{"email":"ariel@ardrive.io","name":"ariel_at_ardrive"},{"email":"info@ardrive.io","name":"vilenarios"},{"email":"atticusofsparta@protonmail.com","name":"atticusofsparta"}],"readme":"# Wayfinder CLI\n\nFast and user-friendly command-line interface for fetching files via AR.IO Wayfinder.\n\n## Installation\n\n```bash\nnpm install -g @ar.io/wayfinder-cli\n# or\nyarn global add @ar.io/wayfinder-cli\n```\n\n## Quick Start\n\n```bash\n# Fetch and display content (quiet by default)\nwayfinder fetch ar://ardrive\n\n# Save to file with progress bar\nwayfinder fetch ar://example.pdf -o example.pdf --progress\n\n# Enable verbose logging to see detailed information\nwayfinder fetch ar://data --verbose\n\n# Completely silent (only errors)\nwayfinder fetch ar://data -o file.txt --quiet\n```\n\n## Commands\n\n### `fetch`\n\nFetch data from ar:// URLs with support for streaming, progress tracking, and verification.\n\n```bash\nwayfinder fetch <url> [options]\n```\n\n**Options:**\n- `-o, --output <path>` - Save to file instead of stdout\n- `-r, --routing <strategy>` - Routing strategy (random, fastest, balanced, preferred)\n- `-v, --verify <strategy>` - Verification strategy (hash, data-root, signature, remote, disabled)\n- `-g, --gateway <url>` - Preferred gateway URL\n- `--progress` - Show download progress bar\n- `--json` - Output metadata as JSON\n- `--verbose` - Enable verbose logging\n- `--quiet` - Suppress all output except errors\n- `--timeout <ms>` - Request timeout in milliseconds (default: 60000)\n\n**Examples:**\n\n```bash\n# Basic fetch (quiet by default)\nwayfinder fetch ar://example-name\n\n# Save with progress and verbose output\nwayfinder fetch ar://large-file.zip -o file.zip --progress --verbose\n\n# Use fastest gateway with hash verification (verbose)\nwayfinder fetch ar://important-data -r fastest -v hash --verbose\n\n# Use specific gateway silently\nwayfinder fetch ar://data -g https://my-gateway.com --quiet\n\n# Output only JSON metadata\nwayfinder fetch ar://example --json --quiet\n```\n\n### `config`\n\nManage wayfinder configuration settings.\n\n```bash\nwayfinder config <command> [options]\n```\n\n**Subcommands:**\n- `set <key> <value>` - Set a configuration value\n- `get <key>` - Get a configuration value\n- `list` - List all configuration values\n- `path` - Show configuration file path\n\n**Options:**\n- `-g, --global` - Use global config instead of local\n\n**Configuration Keys:**\n- `routing` - Default routing strategy (random, fastest, balanced, preferred)\n- `verification` - Default verification strategy (hash, data-root, signature, remote, disabled)\n- `gateway` - Preferred gateway URL\n- `outputFormat` - Output format (human, json)\n- `verbose` - Enable verbose logging (true, false)\n- `quiet` - Suppress output (true, false)\n- `progress` - Show progress by default (true, false)\n\n**Examples:**\n\n```bash\n# Set default routing strategy\nwayfinder config set routing fastest\n\n# Set global verification strategy\nwayfinder config set verification hash --global\n\n# List all configurations\nwayfinder config list\n\n# Get specific value\nwayfinder config get gateway\n```\n\n### `info`\n\nDisplay information about available gateways with latency testing.\n\n```bash\nwayfinder info [options]\n```\n\n**Options:**\n- `--json` - Output as JSON\n- `-l, --limit <number>` - Limit number of gateways to display (default: 10)\n\n**Examples:**\n\n```bash\n# Show gateway information\nwayfinder info\n\n# Get JSON output\nwayfinder info --json\n\n# Show top 20 gateways\nwayfinder info --limit 20\n```\n\n## Configuration\n\nWayfinder CLI supports configuration files for setting default options. Configuration is loaded from:\n\n1. Local `.wayfinderrc` file in the current directory\n2. Global `~/.wayfinderrc` file in your home directory\n3. Command-line arguments (highest priority)\n\n### Configuration File Format\n\n```json\n{\n  \"routing\": \"fastest\",\n  \"verification\": \"hash\",\n  \"gateway\": \"https://preferred-gateway.com\",\n  \"progress\": true,\n  \"verbose\": false\n}\n```\n\n## Advanced Usage\n\n### Streaming Large Files\n\nWayfinder CLI efficiently streams large files to disk:\n\n```bash\nwayfinder fetch ar://large-dataset.csv -o data.csv --progress\n```\n\n### Verification\n\nEnable cryptographic verification to ensure data integrity:\n\n```bash\n# Hash verification (recommended)\nwayfinder fetch ar://important-doc -v hash\n\n# Signature verification\nwayfinder fetch ar://signed-data -v signature\n\n# Data root verification\nwayfinder fetch ar://transaction -v data-root\n```\n\n### Using with Scripts\n\nOutput JSON metadata for script processing:\n\n```bash\n# Get metadata as JSON\nMETADATA=$(wayfinder fetch ar://example --json)\n\n# Extract gateway used\nGATEWAY=$(echo $METADATA | jq -r '.gateway')\n```\n\n### Quiet Mode for Pipelines\n\nUse quiet mode when piping output:\n\n```bash\n# Pipe content to another command\nwayfinder fetch ar://data.json --quiet | jq '.results'\n\n# Save to file silently\nwayfinder fetch ar://file.txt -o output.txt --quiet\n```\n\n## Logging Levels\n\nWayfinder CLI follows a quiet-by-default philosophy with three logging levels:\n\n### Default (Quiet)\nShows only essential output like success messages and progress:\n```bash\nwayfinder fetch ar://data -o file.txt\n# ✓ Saved to file.txt\n```\n\n### Verbose (`--verbose`)\nShows detailed information about the fetch process:\n```bash\nwayfinder fetch ar://data -o file.txt --verbose\n# ⚙ Using routing strategy: default\n# ⚙ Using verification: disabled\n# ⚙ Response from gateway: arweave.net\n# ⚙ Content-Type: application/json\n# ⚙ Content-Length: 1234 bytes\n# ⚙ Verification status: skipped\n# ⚙ Received 1234 bytes\n# ✓ Saved to file.txt\n```\n\n### Quiet (`--quiet`)\nShows only errors (perfect for scripts):\n```bash\nwayfinder fetch ar://data -o file.txt --quiet\n# (no output unless there's an error)\n```\n\n## Environment Variables\n\n- `DEBUG` - Enable debug output and stack traces\n- `NO_COLOR` - Disable colored output\n\n## Error Handling\n\nWayfinder CLI provides helpful error messages with recovery suggestions:\n\n```bash\n# Invalid URL\n$ wayfinder fetch invalid-url\n✖ Invalid URL format\n  URLs must start with ar:// (e.g., ar://example-name)\n\n# Network timeout\n$ wayfinder fetch ar://example --timeout 1000\n✖ Request timeout after 1000ms\n  Try increasing the timeout or using a different gateway\n```\n\n## Performance Tips\n\n1. **Use fastest routing** for optimal gateway selection:\n   ```bash\n   wayfinder config set routing fastest\n   ```\n\n2. **Enable progress** for large downloads:\n   ```bash\n   wayfinder config set progress true\n   ```\n\n3. **Configure preferred gateway** if you have a reliable one:\n   ```bash\n   wayfinder config set gateway https://fast-gateway.com\n   ```\n\n## License\n\nLicensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details.","readmeFilename":"README.md"}