{"_id":"freellmapi","_rev":"9-f4355164320e025ec3bed77dc08fc129","name":"freellmapi","dist-tags":{"latest":"0.8.2"},"versions":{"0.3.0":{"name":"freellmapi","version":"0.3.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.3.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"93f63cc8001e48439a3b721aa81fa18bd61ee859","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.3.0.tgz","fileCount":12,"integrity":"sha512-XfQ4HTSmZrQzXMuFDKsihkLrr6WGThlv88raaKn5MDqdAzQor304fd4BY2iY32reKN9KJN+QbZuWDjuuXXPqvg==","signatures":[{"sig":"MEUCIG4rGw2ZnbvvgHUOJl8qKwU2ctJ5uo4+mXELHyKXUd6DAiEApaEHW4kI1MMeH5DhB3n7lOx2/2F4bBRT03hwgmuvkbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50621},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"f5f86081cd6f79eadc1e66945837ba3ae57146db","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"theneusoftware","email":"theneusoftware@gmail.com"},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.16.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.18.0","dependencies":{"jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.3.0_1785402853090_0.5693173474549924","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"freellmapi","version":"0.4.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.4.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"16a673480fe8f9fcc633da9b5f083ec4085e22d8","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.4.0.tgz","fileCount":16,"integrity":"sha512-RojLMI1RH5xUEI7CsrDTliYIMN8QvWj6hjKCcYPDOGXxMlQiLVLvXU3uuaw6lF3H+Z1oh1UEXthkMSjvV2qe2A==","signatures":[{"sig":"MEUCIQDYViLoimZ5zKB6KkhUzdGb1Mja6OGe2dFM0PMELb3T5AIgU4EpJjw1HFaJn9oKz8/n1EV7bWtRXz4PwUNi5n02UxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87928},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"d8ba550c57ff9e30506d3f8de3d2b24706189bad","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.17.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.19.0","dependencies":{"jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.4.0_1787131403486_0.6263038225814568","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"freellmapi","version":"0.5.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.5.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"b06533c5ae4813a2743a150abad982aa196ec39e","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.5.0.tgz","fileCount":16,"integrity":"sha512-9M6qkCZDdjszOOqwRhsQ8a+B3nPeYG4gn3k8icPo5/8XyYFt7oqNsm4VSk/WmBZR/ySMuOHFXScrSmlkIyU9MA==","signatures":[{"sig":"MEYCIQCgXuo9FNNnvea0mxb8NUFQgPlSWgiJJGBpz+BlpUbgWQIhAMFeUILmc5bVGv+Xru5jODy/y5lLfWGkcuSkW7eQS0XM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":94369},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"db0b1b650e531f6b61316d58a8d85eb420b6b69e","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.17.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.19.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.5.0_1787488345880_0.42254275018994236","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"freellmapi","version":"0.5.1","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.5.1","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"cc48cbec2c22822a19ca0b0f344b904869faa57b","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.5.1.tgz","fileCount":16,"integrity":"sha512-I6CWXvh54E2keaPhS0yoLeV9XqKsfmaxyMhwEDzmMmyrPPyhUPiWN4pPvA6K/gJyCabHdx9AXdxiT4nQEF1lVA==","signatures":[{"sig":"MEUCIQDi3QxotVWZtg/JzoDr/rqQAOBmyawF1axP74t8tBqX+gIgP2RIqcmt8DD6JGaHUEGjUd3NzS6xBaXLOX2jHsoJuOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99723},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"461c6566f9f47930a72270fb1bd20f28f7f1b6a9","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.19.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.1.3","typescript":"~6.0.2","@types/node":"^24.12.2"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.5.1_1788428019078_0.953646540323507","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"freellmapi","version":"0.6.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.6.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"833b26837e0867034be48f9091d1a8cdb3f54732","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.6.0.tgz","fileCount":16,"integrity":"sha512-YzjqToeUPFszL3CgVx2249+CAHq/TxMXW9KNghvSoP8hV4XxkWl6sG43Q71zba8azR8Q8sdQ6oQ9VYp4zT4Ckg==","signatures":[{"sig":"MEUCICmkJ9jHdQb6b5D+jTCLSc6MsUezTl5FwRsDpYEbZwzpAiEAroA9COkQ1Ubbf6NQpx3WbZGVBPOlhLMraXq5T4lK/XI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115354},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"c1936be8967b4707d2bfc0b83d267befbae146f5","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.19.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.20.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","vitest":"^3.1.3","globals":"^17.4.0","@eslint/js":"^9.39.4","typescript":"~6.0.2","@types/node":"^24.12.2","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.6.0_1789484820488_0.5085351492564971","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"freellmapi","version":"0.7.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.7.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"274e1c34f8422c8122e95da5565e0a4842dc4412","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.7.0.tgz","fileCount":18,"integrity":"sha512-N535/dBGRkCbT6K7LBjSi2xqiJKe26u/QRXd6ZSVUolSxteiVdOxx2IkMGBRfH0CFr2BNXXzA0z1ppfyrmGQCA==","signatures":[{"sig":"MEQCIEBQ0LaYEPKMmKCI32Cl3saDKi3tBo0lS1HkMOqm8/4KAiByqbix8zXZIOqdfLvRz0leCbQdOsIzYHrDONn6TU0h0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDOof1e2ld3QpLkAruFm9qLMZhaSNvKROrceGUwkp7IdAIhANSFMuJJtm8Q2hsHNEbfSbqwKWLeP3TFfArHdpBF/8Ci","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":134603},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"617ce8c908df476a6b16216d6a7ca4ee17480f6f","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.19.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","vitest":"^3.1.3","globals":"^17.4.0","@eslint/js":"^9.39.4","typescript":"~6.0.2","@types/node":"^24.12.2","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.7.0_1790866263793_0.5006321280036667","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"freellmapi","version":"0.8.0","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.8.0","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"856df13fd6cfda0ecf50726af065554f0d54ef78","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.8.0.tgz","fileCount":18,"integrity":"sha512-zkTV8uZvco7881k5B8GYIN+KaYqIxalrw7LkP3v3HfduG/AT0MX7gPu8xHeTAdZg12LUcQTe8A+Kv6VEDlY9Lw==","signatures":[{"sig":"MEYCIQD7nlkh6NvX1JNltr7T7R99whQC4bA2zM/KuTb30Ji6dQIhANEiwYlUX35zWVUqQkDv0K2HZX3EcGFSmhXCp0BgDrKh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDCgmP2GKC+UGgqEqTWwOSx52lNsogjuMmm5BAT/VUhjwIgONf4XehSmPBsLizSwjHgVugNzqSKjantxd80iLeSurI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140625},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"653082378728d83f1bb2bc49a79e14986f3c8768","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.19.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","vitest":"^3.1.3","globals":"^17.4.0","@eslint/js":"^9.39.4","typescript":"~6.0.2","@types/node":"^24.12.2","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.8.0_1791292671666_0.9412080531217386","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"freellmapi","version":"0.8.1","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"license":"MIT","_id":"freellmapi@0.8.1","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"bin":{"freellmapi":"dist/index.js"},"dist":{"shasum":"ec33a226ac8b224ee80f1acd7c2b79ef76d30d45","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.8.1.tgz","fileCount":18,"integrity":"sha512-Es790Tv1xvXJsAOnKbCXcp8xvsRQze5QRV5iQa7+UFrsZsib4ARZ/lLVC7OvKHmxR7bRKBPgMkHL/kIzJfU1jQ==","signatures":[{"sig":"MEUCIQCcxS3AUJsCo9GWr8+2X9nWNO2KIFXGe5pMX8015cW/oQIgNv22nNbNUH2L9VDDmMdd08Mb6u9TdwZv4Ewj6/mWLms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID/IGLI/SnLXT6h9JUksfH+ZLEs7OSIUmCav4q6o1FpwAiAmPCAHtmc0mV7aImDkkyrG9M6ScEWf0huXGCFNVZeYCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":140625},"type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"9faee1fdaa7491b277c12bd0c83af6578e69e25f","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5c994641-fa58-43b7-b3df-4505a1d24855"}},"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.19.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.9.0","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","vitest":"^3.1.3","globals":"^17.4.0","@eslint/js":"^9.39.4","typescript":"~6.0.2","@types/node":"^24.12.2","typescript-eslint":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/freellmapi_0.8.1_1791756029423_0.9404799429524875","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"_id":"freellmapi@0.8.2","bin":{"freellmapi":"dist/index.js"},"bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"dist":{"shasum":"25c743ad04b706458a9f00d4f7493c8206e2a54c","tarball":"https://registry.npmjs.org/freellmapi/-/freellmapi-0.8.2.tgz","fileCount":18,"integrity":"sha512-l6DX4+b8ZRkqJh159uE7rAmUh7QWyizEn62ZwltjgI2uQKFSLnG5Hjj3KRbwJZrssytZuHK+P1qkcsz+Im9hvg==","signatures":[{"sig":"MEUCIQDaQoar0OuyqsHcxM9rHGDDXKfbo0ULY2v2rbTeP4BAhQIgSUXo1QriGR6fsHkUnqLk225HnMQ/nuQYXTEGFEkB1hw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEcifpzgtzkTDbAcXR8GvVaDR19Np0+aKol/QsjnQZFyAiBkvu8/8ajdMY5UBkpIHz4KZ3uf/wgEa/zcbAIq8iPlXw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/freellmapi@0.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147223},"name":"freellmapi","type":"module","engines":{"node":">=20.18.0 <25.0.0"},"exports":{".":"./dist/index.js","./tools":"./dist/tools.js"},"gitHead":"bb42f900d4b9d374247be4f8a993e8be052d1826","license":"MIT","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"version":"0.8.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"5c994641-fa58-43b7-b3df-4505a1d24855"}},"homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"_npmVersion":"11.19.0","description":"Set up coding agents to use a FreeLLMAPI gateway","directories":{},"maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"yaml":"^2.9.0","cross-spawn":"^7.0.6","jsonc-parser":"^3.3.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","vitest":"^3.1.3","globals":"^17.4.0","@eslint/js":"^9.39.4","typescript":"~6.0.2","@types/node":"^24.12.2","typescript-eslint":"^8.58.0","@types/cross-spawn":"^6.0.6"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/freellmapi_0.8.2_1792488465580_0.07291273771358853"}}},"time":{"created":"2026-07-30T09:14:12.961Z","modified":"2026-10-20T09:27:49.225Z","0.3.0":"2026-07-30T09:14:13.238Z","0.4.0":"2026-08-19T09:23:23.639Z","0.5.0":"2026-08-23T12:32:26.037Z","0.5.1":"2026-09-03T09:33:39.249Z","0.6.0":"2026-09-15T15:07:00.713Z","0.7.0":"2026-10-01T14:51:03.871Z","0.8.0":"2026-10-06T13:17:51.759Z","0.8.1":"2026-10-11T22:00:29.519Z","0.8.2":"2026-10-20T09:27:45.678Z"},"bugs":{"url":"https://github.com/tashfeenahmed/freellmapi/issues"},"license":"MIT","homepage":"https://github.com/tashfeenahmed/freellmapi/tree/main/cli#readme","keywords":["freellmapi","llm","openai-compatible","claude-code","codex","aider","cline","coding-agent","cli"],"repository":{"url":"git+https://github.com/tashfeenahmed/freellmapi.git","type":"git","directory":"cli"},"description":"Set up coding agents to use a FreeLLMAPI gateway","maintainers":[{"name":"theneusoftware","email":"theneusoftware@gmail.com"}],"readme":"# freellmapi\n\nPoint your coding agent at a [FreeLLMAPI](https://github.com/tashfeenahmed/freellmapi)\ngateway in one command. The generators read the models your server is actually\nserving and write the config file each tool expects.\n\n```bash\nnpx freellmapi setup-claude --url http://localhost:3001 --api-key <your-key>\n```\n\nNo install step, no account. The unified API key comes from your FreeLLMAPI\ndashboard (or the tray popover in the desktop app).\n\n## Commands\n\n| Command | Tool |\n| --- | --- |\n| `setup-claude` | Claude Code |\n| `setup-codex` | Codex CLI |\n| `setup-cline` | Cline |\n| `setup-continue` | Continue |\n| `setup-aider` | Aider |\n| `setup-opencode` | OpenCode |\n| `setup-goose` | Goose |\n| `setup-qwen` | Qwen Code |\n| `setup-roo` | Roo Code |\n| `setup-kilo` | Kilo Code |\n| `setup-crush` | Crush |\n| `setup-dsh` | DeepSeek Harness (`dsh`) |\n| `setup-mimo` | MiMo Code (`mimo`) |\n| `setup-atomcode` | AtomCode (`atomcode`) |\n| `setup-openclaw` | OpenClaw |\n| `setup-hermes` | Hermes Agent (`hermes`) |\n| `setup-pi` | Pi (`pi`) |\n| `setup-reasonix` | Reasonix (`reasonix`) |\n| `setup-zcode` | ZCode (`zcode`) |\n| `setup-cursor` | Cursor |\n| `setup-generic` | Any OpenAI-compatible client |\n| `launch` | Run Claude Code with credentials injected into the child process |\n| `launch-codex` | Run Codex the same way |\n| `list` | Print the supported tools and their base URLs |\n| `keys` | Add, list, remove, or test provider keys (`keys --help`) |\n\n## Options\n\n| Flag | Meaning |\n| --- | --- |\n| `--url URL` | Gateway base URL (default `http://localhost:3001`) |\n| `--api-key KEY` | Unified API key |\n| `--profile NAME` | Name the generated profile/provider entry |\n| `--model ID` | Pin a specific model instead of the catalog default |\n| `--dry-run` | Print the diff and write nothing |\n\n`FREELLMAPI_URL` and `FREELLMAPI_API_KEY` work in place of `--url` / `--api-key`.\n\n## Provider keys\n\nThe `keys` commands use a **dashboard session token**. Set\n`FREELLMAPI_DASHBOARD_TOKEN`, or pass `--token TOKEN` to override it. This is the\nsession returned by dashboard sign-in (stored in the signed-in browser's local\nstorage as `freellmapi_dashboard_token`). The unified `--api-key` /\n`FREELLMAPI_API_KEY` used by coding agents cannot authenticate these commands.\nThe CLI does not log in or persist the dashboard token.\n\n```bash\nexport FREELLMAPI_URL=http://localhost:3001\nexport FREELLMAPI_DASHBOARD_TOKEN='<dashboard-session-token>'\n\nnpx freellmapi keys add groq                 # hidden provider-key prompt\nnpx freellmapi keys add groq --key '<key>'   # non-interactive alternative\nnpx freellmapi keys list\nnpx freellmapi keys test groq                # check every stored Groq key\nnpx freellmapi keys test groq --id 7         # check one key\nnpx freellmapi keys remove groq --id 7\n```\n\n`keys list` prints each key's ID, platform, enabled chat model count,\nenabled/disabled state, and stored health status. Counts respect the key's model\nscope; custom keys count models registered to their endpoint. Credentials and\nmasked keys are never printed. Use the IDs from this list when a platform has\nmultiple keys: `remove` requires `--id` in that case, and also checks that the ID\nbelongs to the requested platform. With one matching key, `--id` is optional.\n\n`add` saves the key and immediately validates it through the gateway. A failed or\ninconclusive check exits with code 1 and **leaves the key saved** for later testing\nor removal. `test` also exits with code 1 if any selected key is not healthy or the\ngateway cannot confirm its validity (for example, after a provider network\nfailure). Successful commands exit with code 0; argument, authentication, and\nrequest errors exit with code 1. Validation uses the gateway's usual health\nchecks, including its policy of disabling a key after repeated confirmed failures.\n\nKeyless providers skip the prompt. Custom endpoints need a URL and model\nregistration, so create them in the dashboard; existing custom keys can be\nlisted, tested, and removed here. Requests accept `--url` / `FREELLMAPI_URL` and\n`--timeout MS` (30,000 ms per request by default). `--dry-run` is not supported for\n`keys`; it is rejected before any request.\n\n## Safety\n\nEvery generator is non-destructive: it merges into your existing configuration\nrather than replacing it, and takes a timestamped backup before touching a file\nthat already exists. `--dry-run` shows the exact diff first.\n\nThe two `launch` commands never write credentials to disk at all — they inject\nthem into the child process environment for that run only.\n\n## Requirements\n\nNode.js >= 20.18. A running FreeLLMAPI gateway\n([install guide](https://github.com/tashfeenahmed/freellmapi/blob/main/docs/en/install/01-install.md)).\n\n## Links\n\n- [Clients & coding agents guide](https://github.com/tashfeenahmed/freellmapi/blob/main/docs/en/clients/01-agent-clients.md)\n- [Issue tracker](https://github.com/tashfeenahmed/freellmapi/issues)\n\nMIT © Tashfeen Ahmed\n","readmeFilename":"README.md"}