{"_id":"@billjr99/pi-openai-compat","_rev":"33-31510051446c862f76b100b6307e4de9","name":"@billjr99/pi-openai-compat","dist-tags":{"latest":"1.1.35"},"versions":{"1.0.0":{"name":"@billjr99/pi-openai-compat","version":"1.0.0","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.0.0","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"3e18fdc7fb3953939de43aace8f3247dc88c57a5","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.0.0.tgz","fileCount":3,"integrity":"sha512-c7ngnpftpNQlnw/zmAKw/HcQt7pnRefghfC5LBDkzxVlK7xNvcjW7OPiO9K31kTE+zHoEza52ICaFeAMVKVseQ==","signatures":[{"sig":"MEUCIQCKdJqQ5gMXrd1oH2Yf01K57bTZ/Hyr+FOtbvX6sgdZAwIgEL12U5YBmVrHrQvFtbJNv49PqvOBWATT48P5u3l0d8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21940},"gitHead":"15fb166379d71928038e1b9018bffbd9a0f58c71","_npmUser":{"name":"billjr99","email":"billmongan@gmail.com"},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.14.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.0.0_1778605883434_0.40810851344290877","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@billjr99/pi-openai-compat","version":"1.0.1","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.0.1","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"6e9d75a1b680988c1c07fce2aa0fbc0d6bd2ea9e","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.0.1.tgz","fileCount":3,"integrity":"sha512-b+vkV6oTdrlWPYfMCCPEOgRAH71p5PpjlABSyDyPt77ctBAwY3bNeXYYRxVKHaUNrPll6P7lnZznXR25zJbEzA==","signatures":[{"sig":"MEUCID+MGUc+YfR4bxcuaPp4YRcrUsHL08Rsl208SJO35NPQAiEAn7SRM64fnU5pbJUCtYByPWIEJ/viuq66cUk8H/BFK40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26447},"gitHead":"09060dd2d956db55c3ed5fcdfe99fde2d76c8ed9","_npmUser":{"name":"billjr99","email":"billmongan@gmail.com"},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.14.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.0.1_1778679024578_0.18275705635507133","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@billjr99/pi-openai-compat","version":"1.0.2","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.0.2","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"2ff7b32f1c266963cd27d3a01479ef2c6ce20ba8","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.0.2.tgz","fileCount":3,"integrity":"sha512-iAmg+C0FhBuacnVtbLbrY20kJ0KV7nBO1iOZ/JUSGojjMNBNriqHweaTjNEGR3JIWHnEHyrx2nEsz85ml8hpDA==","signatures":[{"sig":"MEYCIQCsHDIlQp2by8VQS9k8B5THEBDk0DLlqYqxJ2baUyz/KQIhAPZtieHEqrLDKbEWTp3HGM7jJnuf9lY9wm+p98p+iT/0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25539},"gitHead":"722b0aeae2793d8569c023de315489fee85813ac","_npmUser":{"name":"billjr99","email":"billmongan@gmail.com"},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.14.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.0.2_1778680065670_0.3918400871641927","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@billjr99/pi-openai-compat","version":"1.0.3","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.0.3","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"73265651a4ab03303abd58597e891b0489dde73d","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.0.3.tgz","fileCount":3,"integrity":"sha512-UGw6FxyLzqGbcfyC3pG9EXgC7htv11/TW6RNd4glkGkVCoEGN2rdqqM8d1ZGKKEINJzykK7p0lLctBulDsrioQ==","signatures":[{"sig":"MEUCIFycp/2FI5HM/64jwPL5uXvzgjgLfwKFZl304wxSaufwAiEA4qRzPImflhxCvpDp2PoWxYHfACiCWTvNAiznVG7ZEP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24233},"gitHead":"925b5e812891e8d93d8d4f6f4705267a7386dd5e","_npmUser":{"name":"billjr99","email":"billmongan@gmail.com"},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.14.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"22.22.0","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.0.3_1778680248743_0.5024689553351229","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@billjr99/pi-openai-compat","version":"1.1.9","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.9","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9177ed0ab66f13fa25abe2bfae971aaec6077445","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.9.tgz","fileCount":3,"integrity":"sha512-dPZ013mmRfale3wL6yJD3wPYsKWHvxrHx7h61nOcAQMK07pPpkx2UeQJTIX/wDuKJpKtGI5jjzkdU20zVoobBA==","signatures":[{"sig":"MEQCIHY102vKyWdtpzo969Yfp4qK4dG1C7Gddu/qcdMpVkAdAiBxOzOOF3R3Po2nkt9RThvzx3/CdlT1kDRv7U9DCEL2Gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34092},"gitHead":"2aa95653115bbd0eaca667b18379bd823b318ba2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.12.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.9_1779531876971_0.8266143778754866","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@billjr99/pi-openai-compat","version":"1.1.10","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.10","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"13575f12c77f7c68637961f89cada1a071d5f8c2","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.10.tgz","fileCount":3,"integrity":"sha512-+mxJUATNUkgOy5IvM6yiVvojBXrLP2qo1M8PXpjZ14D4LceV36loVx4FIRiXRGItAedVQBlChlicU+KxA3eVcA==","signatures":[{"sig":"MEQCIBMQ7FYgZaMAqxd8g1pVD0Exs6wR5V9a7iyPzFxN0WMzAiARhYVhgfvpCmwYI+wcNS94AJDZcmoA8bQkDrwx8NqgKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34093},"gitHead":"5786eef6632c710040c4adb7337f4cd2ae432d01","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.12.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.10_1779532174959_0.1432725497063292","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@billjr99/pi-openai-compat","version":"1.1.11","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.11","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9776f0683f6b99fc9508ea533b0c514b2ca8e4db","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.11.tgz","fileCount":3,"integrity":"sha512-Sz9tThZhlOv62SCv4wqXFhw1kS2LtqcfylqAkexKBT40zsrJwc466p5Z8rv6jEjvHiWrA02qHh+Be057TIfmBg==","signatures":[{"sig":"MEQCIGdaExed0w81QA2YoDqubdrgIpWljxbSSqwTW4uqtL7eAiBlxsR37t0fHjm+nYn55os2m9/Egot3TnryrgW1oB9FTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":34640},"gitHead":"e661cc0f72e1084d012f98ba3e0569685c558de9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.12.1","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.15.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.11_1779627455208_0.7618752096070156","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@billjr99/pi-openai-compat","version":"1.1.12","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.12","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"059c0684a8706c8aca9235b419235795b5613c79","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.12.tgz","fileCount":3,"integrity":"sha512-jpvE8MqtEsBIcB398DWE5Zv6RfTGlpyUb6iftkhMgOXD7n7iwR/WPmqIRA+RyRcSrUJ7aD45BeExa6plFjV6rw==","signatures":[{"sig":"MEUCIQCVWPgVWU2Dg7AHnoKqXFB5KGCua+H42T+KkI1RGjPLIQIgZI1IXz3PGXQAN2GZoDAAjTKe69mAw8vmSPHt2n1864U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42155},"gitHead":"c83c396d90a10d5d2c6a6776556d1ba6342e0358","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.12_1780772315207_0.07254600953233159","host":"s3://npm-registry-packages-npm-production"}},"1.1.13":{"name":"@billjr99/pi-openai-compat","version":"1.1.13","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.13","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"5d7792579ba44a2127bc05657f80ec7de9d9c03c","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.13.tgz","fileCount":3,"integrity":"sha512-yhvTh66G9gAHlyLhEoCnlL5BKidQSi5yMnfjPUaAg/0koRfdV7hzxlrAEC6iuhClshFIfRL2nzVT7oWRWJf9ww==","signatures":[{"sig":"MEUCIQCqib0iApxcePMZiT6224cBBvaBl6fAgfif8SbVNxRxnQIgIgxWwF3U5nxS6sJDuxWulvJtMa/zpfp84fsSbQeJnws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":45717},"gitHead":"db47b32f8ea869a163b3d11493735d3d0ba52269","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.13_1780772740827_0.8062272834099429","host":"s3://npm-registry-packages-npm-production"}},"1.1.14":{"name":"@billjr99/pi-openai-compat","version":"1.1.14","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.14","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c2d151554cfe4c1d847ebf61809d297f0453d05d","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.14.tgz","fileCount":3,"integrity":"sha512-C0oSUicyd6/JonAnakmR9TLYjtOjhfqk2pUUZTMENafl5KG1GkyZ0FfpQwLZkdsLQUU0epQ4s7bIhU0XyVy6+g==","signatures":[{"sig":"MEYCIQCCmPrJH7tMpGRW9AOPBbiaGRpLJPdh+4XvjuKU3B2NaQIhAJhrnGC4Ue09OWYlDK+tYPWpp2kBvjRN5dvBd/LEB/rc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50802},"gitHead":"536b61307056d9c1ac39d3f9cae26c21a029b2b9","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.14_1780773493319_0.07873680819973061","host":"s3://npm-registry-packages-npm-production"}},"1.1.15":{"name":"@billjr99/pi-openai-compat","version":"1.1.15","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.15","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4fb3410097278cf81b81736a8532bf6ceb7407ab","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.15.tgz","fileCount":3,"integrity":"sha512-ERQNgJCplz+/DhAigGtVgR0wXLEqpjaDlhR1mVYnG1c+eQsx99tjjqw/m3CBjMiCs77P7GAivY9WbSe7IxAaMQ==","signatures":[{"sig":"MEYCIQDvalSZ23tkhV1g9EAB3fUguoGPENmuYWv1T6v9ezEIDwIhAOH681IFOArsrlCYo/4AEawBkaVPwkd+Ypq6648Dk3sn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52648},"gitHead":"0d54c790155adc25c7954b5599870da592dc15da","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.15_1780774915813_0.22541062404410717","host":"s3://npm-registry-packages-npm-production"}},"1.1.16":{"name":"@billjr99/pi-openai-compat","version":"1.1.16","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.16","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"95218ad207f974d887d34f936a2d9f57ac935794","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.16.tgz","fileCount":3,"integrity":"sha512-ROuMcOXX2fOE+4TQmFMcgWObppatiATs5FyD0Mx99dPjapYT/FWB1S+/jI5/FJzfbTAVd53ezWpoDroNmteTsA==","signatures":[{"sig":"MEQCIQDYnVNQzLtoi7moliwPGX6CpOAoFYKDppqRdNIpBrAQjgIfEoOcoH7RaRCsvz0a/d4p3vaMek39+ZneBAWKG3Gk2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.16","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56643},"gitHead":"32343b28b25d842c071b1506122a106529877e07","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.16_1781704995786_0.5989305344239004","host":"s3://npm-registry-packages-npm-production"}},"1.1.17":{"name":"@billjr99/pi-openai-compat","version":"1.1.17","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.17","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"63d562341198d5e8f34a76e04ab59f84a017043e","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.17.tgz","fileCount":3,"integrity":"sha512-rdfbInurLXAye3z6JJ+e+NgmmPAWbJve4m+umTOXblqPghMECCVz/WJl1+K/IR6iBEABUU3GOR0Fl45gyWMRgg==","signatures":[{"sig":"MEUCIQDEOzd0G9a7bxok8RA4kDe7rTNzG9G78f8pDtZURTWJKwIgcDanWoErn4FmMGe4JPxx+h074lZLCLr//TPA9gxkpNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.17","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56853},"gitHead":"fa43eb9f67bb850207cfe310829befca53714482","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.17_1781706730446_0.4941373165334324","host":"s3://npm-registry-packages-npm-production"}},"1.1.18":{"name":"@billjr99/pi-openai-compat","version":"1.1.18","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.18","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d61b07e70abb913d47053779110cdea3a90223fb","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.18.tgz","fileCount":3,"integrity":"sha512-j0OwV6wnta1mgQcQfEuZ0AedYWQWJi6V/2nPHr12C9zv9AkbzEVORRAxx7QWIUCnNuuMwWYQBv0fjoDmaSvYCQ==","signatures":[{"sig":"MEYCIQDDoUuR6tlUdOb9CXMSECIstBXetPU+Pte+FSBAkGUuSAIhALcNPYXrWmn+XONM78eXAcpLHFi8mMPo+FZuF7d7xrvM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.18","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53205},"gitHead":"7868281a8c2a9d3c928a4d1eae633e890b17439b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.18_1781721283612_0.005604954820134678","host":"s3://npm-registry-packages-npm-production"}},"1.1.19":{"name":"@billjr99/pi-openai-compat","version":"1.1.19","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.19","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ebe0536d1e8a4e9de96656e1f91481e71c323fed","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.19.tgz","fileCount":3,"integrity":"sha512-ZKLzas2p7xkB8MFhf+tAeOdcAPhZBJVEwsRDVAZD8tmKmXOGZqpqxL4EMaMEhr9SQCynijOSy7k3ROCcCgxqtg==","signatures":[{"sig":"MEUCIElCstJmfWkCGZqwnJmDYu9MSE9u5FJOgrnGe897sYK8AiEAvzBmZVqfaxY6oWwOcOGGqBkSEmgxzz/tfmkipT+QJaM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.19","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":53896},"gitHead":"3d7c0b8fdb23f2b7c5ac16e0030af7201cffef3b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.13.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.16.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.19_1781721759141_0.1963744016173079","host":"s3://npm-registry-packages-npm-production"}},"1.1.20":{"name":"@billjr99/pi-openai-compat","version":"1.1.20","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.20","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"495c6e1e66efb3ce9861524e80ff257064d98bb5","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.20.tgz","fileCount":3,"integrity":"sha512-+9rRM1Ls27+rTlaOYB6E9NmAy2xdNQPP/RMfam0uAbl6O1Kjby1vaFAPyhLA3Q9qRDUicMpT/df8KB0y8dxXDg==","signatures":[{"sig":"MEYCIQCaOqMA+8igHEAunwjIADly1Ew9cmz6cQenLPUM3O37fQIhAOLAVeMcbu/aE0ymkQdZu6n4V0xz2SX8uzYn7ut1JRh/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.20","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54145},"gitHead":"5fe94fe6b9950237be2294be896445db040c4e36","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.20_1788007958187_0.11265495544012727","host":"s3://npm-registry-packages-npm-production"}},"1.1.21":{"name":"@billjr99/pi-openai-compat","version":"1.1.21","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.21","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"80e34fcc8a5926f11d43698108c8a0e5086d8909","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.21.tgz","fileCount":4,"integrity":"sha512-+wYo/bujF+A8fnde8KwHdm3hRotftXfFDnEneK7JgjWZZwHKCLE3xaqx292NGt3bQjlmCTEXqG7UoHlbI/+xFg==","signatures":[{"sig":"MEYCIQCy8GnK98rsuh6huKWMW0Ywn9UiSFV4g9oaegsOacAIeQIhANoX03rgJx19t00kkmOj3/uaJO/re9Hbny0W5OhyZmK9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.21","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76268},"gitHead":"9beffe7ad94b52dc5d8e015c946a031e7bb637c0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.17.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.19.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.21_1788025418818_0.08778123715003794","host":"s3://npm-registry-packages-npm-production"}},"1.1.22":{"name":"@billjr99/pi-openai-compat","version":"1.1.22","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.22","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"ba8b52c324327074c78c8d76c33b98a8e14281ca","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.22.tgz","fileCount":4,"integrity":"sha512-RyQg7+0rjcmMpC+Pw/SOECjPJJIPZUK8hIRJ/JATE0Fk8pTrPOOTWHP/4SKQGcNolYJzVR/yA6iAEebZh8rW7g==","signatures":[{"sig":"MEQCIG5lKTPsue6BsWVoNPLoF8Hc9kgNJp2ARbGylzfMFtmqAiBMPmf5sxQqOENGasuU3yaRKMNni5rcktQD3YQid70zLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID87BwlfG3bCdWAQNVUPYuB2g2U1Bdw2zY7GAPc2iU8LAiEAvFmIziLuNVtZQ0IlTA1Z/hJwBGBI9Nfn344/QMgtfJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.22","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":76426},"gitHead":"5b804749fadd28f0054e82304f77240e753d361c","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"deprecated":"Superseded by 1.1.23: does not validate reasoning/input from provider /models responses. Upgrade to 1.1.29.","repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.22_1788626660208_0.2307689377179707","host":"s3://npm-registry-packages-npm-production"}},"1.1.23":{"name":"@billjr99/pi-openai-compat","version":"1.1.23","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.23","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"06e0d91816c8db76f5e7f08db100c0bb4219d24a","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.23.tgz","fileCount":4,"integrity":"sha512-/bqZ4JuVRpOmuG9HDXWlVYPFgvYcVMn3hO23H+oGMIkVd1xxVN5X/J8ePKEnlCjfJ6ybjNGJqQnf1Oa5bK0i2w==","signatures":[{"sig":"MEUCIQCF5T/2F/2ZpjvUbo2jJT+1/WR8DpPskHvxDSUz5i913AIgHBSevSC3U7YqLFMmesmRVjS8Gefr96W0t09ddKwF6xU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF/byZGXquOVmDXJOqjGmeak1BhQmltT4UtoDwiX72VLAiEA0HlOghbcbS/3L3tZoBXO7Deh2BLE6UPSoGfbNeeibnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.23","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":79785},"gitHead":"2981176cf92b3383f2d35f1c47810dbc5d90b1ed","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.23_1788627277029_0.41056635299388655","host":"s3://npm-registry-packages-npm-production"}},"1.1.24":{"name":"@billjr99/pi-openai-compat","version":"1.1.24","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.24","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"66af5ecbc936ea596e6a54458a0759d7203f1a75","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.24.tgz","fileCount":4,"integrity":"sha512-pzMH2fRGFp69yJMd4it2mEtEmztvXICoIo8mbspimLbE2i685Qma9QARC2xc+EoV0GgH/Q14YZJbbsjIW01nRg==","signatures":[{"sig":"MEQCIDRt9mNHNufMo4uaRDUSWKNc7JgWw/hgC+vZcmM0UPryAiBpPOqthMkOpgyysnxyMSHNVn/gHzFKSF8yA8Z4e1Wk2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDcBbJxVUKGcVt2KPxQ/RJv4b3T5+AEdKeyon/ml9mfFAiEA8MLAunUULjEadKR9qZ6idd0IUY4XnxKQP6R6aa7EdQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.24","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":79701},"gitHead":"5fa474c2d12dafeeff89ae357ccffd4578289164","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.24_1788627597676_0.3088396474606554","host":"s3://npm-registry-packages-npm-production"}},"1.1.25":{"name":"@billjr99/pi-openai-compat","version":"1.1.25","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.25","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4ad6352628af479b874978ed75677fd8216a1ec6","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.25.tgz","fileCount":4,"integrity":"sha512-T9cDqCzdnWj8vn/5Bh9hhjOWVWjfghE5S/XCbsUhDv/9gqmJBdRkOG+Tnv32XVZJDVemgD+XDON+Nio3Idpvng==","signatures":[{"sig":"MEUCIQDuWPbHkFC6pdHZt3nR4+GN3BfYoLuTMlw1IXHAGuUomgIgIiqn8PUqlBhnbZ+KfDSTpz9awESvi2lLHKH9vHLjCeI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC1ZHaxMSJtjTbG1EzuVKYkiVYacF+WglcQgzYtr9daWgIhALqA0QONe+Bj7oZdPjkoV49G4j6FSBDpaaJEud2QHDBv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.25","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":79700},"gitHead":"f087b3dec3b1fcc6742c28bfeb364be78c201ebd","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.25_1788627653687_0.1848949352085847","host":"s3://npm-registry-packages-npm-production"}},"1.1.26":{"name":"@billjr99/pi-openai-compat","version":"1.1.26","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.26","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"bb74f5d86c029b1b29f852810d2871ae08e6c6ef","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.26.tgz","fileCount":4,"integrity":"sha512-FCbPxCvDT0Acwupw7P5CtJqeYWwuoDFbZ1BJT8zoREqQkUR6Uwzvb1v8RqO1V078XnwhbteXkj+VXsVTXprpLw==","signatures":[{"sig":"MEQCIDnzJz1BMikPYjtP6kxUwPGn6pEVTraioiwwBSqS67toAiBezNGicuSRL/XfIq3X5V5OTTi820BwdkZfPhcZMcVTwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE6ICjJTe+sStYZXqQ7Po0Ho2i81lklgNUbQJDXSV8JZAiEAsBLlk6xLLSpNNmdMBP+Tsf2EipBjVE80ci3A5NE8FxM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.26","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81134},"gitHead":"4281666293abe50d0b5093f5dddeac537271275b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.26_1789042051312_0.2721581815778429","host":"s3://npm-registry-packages-npm-production"}},"1.1.27":{"name":"@billjr99/pi-openai-compat","version":"1.1.27","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.27","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"5e93b085d0f8e0d71f907a29c0904bd7e70c51d3","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.27.tgz","fileCount":4,"integrity":"sha512-n85Yh3ibCiJfKgThEYIwoTan6s11YRM6if/kj+48TuwrL/w0AMJCso7eSxLcQFnf18HaYdtSDhnF/tAZuePY6Q==","signatures":[{"sig":"MEQCIAV+pq/2IMnSbr24Na8VCJtmk9GrBTgAnRIYmqv2nb4RAiAOOXs9d2zfnm/Gy6a37TMHjDcqMsGpClDfBYWoGrxkvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHjFbkP3ZQ6X1Zw8JSuyikOfhRxkHsUZd0uGos8QyoEeAiEAnxszA0V4UoIRBH6I4Oi7xfMaCxCuVIACedbbFJoPLr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.27","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81575},"gitHead":"b2ccd99838f552442070c40be1316039726fe69d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.27_1789311568581_0.7629937122529864","host":"s3://npm-registry-packages-npm-production"}},"1.1.28":{"name":"@billjr99/pi-openai-compat","version":"1.1.28","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.28","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"c39298e962012f8303bc1a52249fba0dacb0aabf","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.28.tgz","fileCount":4,"integrity":"sha512-xeToJKrhU9xni4TpzM8c3wz2aQSkRn5PeNtsxLVpbvFHZ8lqsQhF/GQicucFay7x3ACGTVg0kgsCxL9MnP6YjQ==","signatures":[{"sig":"MEQCIAKwDJj/MdZikwyXaVmgN/XuziLaycOEOoa0/ERM/fixAiBjq5ol9IhBRUDx8u21ElETxVD4DmubZItaHSbZkAw7hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCa9kqU1kCXAzekOWS6a0wsNFX2ohWx1E+8QryOXNUfzAIgBkLs31LGJd6EhqCT1zxspmEbFyA6/ZbtD0c0Cj+WiRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.28","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81485},"gitHead":"04880c8c6e3d0deef22894a990af98f4e9f560cd","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"deprecated":"Broken: keyless providers (Ollama, llmproxy, blank-key custom endpoints) fail to register and the extension does not load. Upgrade to 1.1.29.","repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.28_1789560439290_0.41487109698294944","host":"s3://npm-registry-packages-npm-production"}},"1.1.29":{"name":"@billjr99/pi-openai-compat","version":"1.1.29","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.29","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"a81e6579b1a597891d9a9a76738818b656b81f92","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.29.tgz","fileCount":4,"integrity":"sha512-EKQWJBi1GVfO4yrUXaXtF+wmKQA49zQfeRLqHB/gizi9O6UgOX7tohYpIbObmmZTALP1iufWXZzX5tIzfZdsXA==","signatures":[{"sig":"MEUCIQDOCUuUdD632jdllLeXs2ZT1s2vit+7rF3ziBByLt0XEgIgKJtg3ybDGUJyhS9a3SYS5Pg6XaQ8XvYNLmOU0nfL9ww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGYIGIlToQfgRs130+KFSU3U+NtIm6G2SPsOPhdR5Uh7AiAqWbQOkg1H3lqBltiDgNdiVN7Lp3kBbvkXMrnA2EtkDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.29","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":88764},"gitHead":"5ede6384271e6391721e93f232bff64ef74c0a6e","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.29_1789561785421_0.6881831650202503","host":"s3://npm-registry-packages-npm-production"}},"1.1.30":{"name":"@billjr99/pi-openai-compat","version":"1.1.30","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.30","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"95323f796d1fa43902cdf27dd2fd23c03f457969","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.30.tgz","fileCount":4,"integrity":"sha512-31VhkeXNzcBybK50FxAbLs2pMt2IOyuxL1cMYlR0Svii8OQLwxbCwhQarB9IPfSuuL50+0IX09ZLFKZPbzNlTA==","signatures":[{"sig":"MEUCIQD7FVFC3/9vuvA3uOFtDhLUoKHOrOJgWXf2j60aeTjhAAIgFPxx7jQ9Gm9p0sD1spXQktIxYsGkp0bp/6jyK3gj+bk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD2WCLZrBBNUyGI/f/T0gfkMGHZDEIz5bR6IwYlwIKhXQIgA0f/CCj3XDrtO5G4k+clyto7Q7blgYCQvQxsaCocc5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.30","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90057},"gitHead":"5bbc4b77c5ae89ef0acc3569f9b458c7d6b61853","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.30_1789726460517_0.28933352927136324","host":"s3://npm-registry-packages-npm-production"}},"1.1.31":{"name":"@billjr99/pi-openai-compat","version":"1.1.31","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.31","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"80b9c8eb739b6ec8c61d6914b635b1f97a12b022","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.31.tgz","fileCount":4,"integrity":"sha512-x5RwKAyqGaoOXo533AqrlkUNzQSBKOIcoD12qI3gn10bveAXLJwlt0bFbwxGUnq7FB6lrfG07VcXiBWJgY1cNQ==","signatures":[{"sig":"MEUCIHljmq/tgHMZpFrC1rbMmY+fbBFCElw9K3qiV8QhjIwZAiEAo7y9qWzR97P+k/fpz2AT8pJSloh6B0KciBAJxvLaPZc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIG2KVbX4+kIFhi75nymECuu5saPGdBjUuiOK4Y4yPOdqAiBXtxAdY9MOXP1Ebuzj+ph2E/q4JV1GsjSi2vUAYqoMMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.31","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91182},"gitHead":"9d8841381e64ce591ccce43f058837204f1a2792","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.31_1789832425702_0.43561452649598476","host":"s3://npm-registry-packages-npm-production"}},"1.1.32":{"name":"@billjr99/pi-openai-compat","version":"1.1.32","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.32","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"528b8fdede5270155cf342900e9c4a6fbad24236","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.32.tgz","fileCount":4,"integrity":"sha512-Jcc37ys0pHcM+6s67gbLKa7yV8GpsqkxFMFXwcI4DpCEVCzBz1HPgyRtqFratsMjRR5UveUwX5Ecl2oIIQzkFQ==","signatures":[{"sig":"MEUCIQDr8GcAgMjVeHnxoaZWPMNl1LgkdPTJNF4hcSjxPq+3swIgY5vqL23KVuCmAuxj2FUhXQCY7Yv2/+7j5rutwtLHi9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDti30vcnyyHFxWK/cr738f3ZbG7ouDFi2TTJNSsbPLuAIhAKJcZ2q09SmrpE7A2G3Ld9lrTF/lk89NXLPv4d8ttFCn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.32","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95884},"gitHead":"6a8c3b2ae15ee7c34ef29566220779c123feca25","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.32_1789939408384_0.2215930592179618","host":"s3://npm-registry-packages-npm-production"}},"1.1.33":{"name":"@billjr99/pi-openai-compat","version":"1.1.33","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.33","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9f677fe73f12ba258e65d261fb4507b211e7f451","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.33.tgz","fileCount":4,"integrity":"sha512-LUZpd9iVwoTZ8mFb3sS/eNfMPsPemQExbOk0lE3hnlTKV51THmygKyMGkvQRf5Q/xiCQXUCSlMQHkvvMz7jZcw==","signatures":[{"sig":"MEYCIQCiV31kfIc02tuF/yPP/iFA48rq0MPrSD6XLIRsarj5QAIhAMcj6Khp4JudGtUS61cniO/jKfzUkIY/0N8eezWlUOA3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICDS13F8BvlrLmAqMkYxgYeYJbNnI45qQDD8KfIv/Qx3AiBs2+rJkDCN5dcUeTfG+UNufyBD3w4xNxpYWG5tiW8OAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.33","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98957},"gitHead":"92bd96038af849668b39cc0ca52c9fb201ac6976","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.20.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.33_1789940423138_0.7739607462069591","host":"s3://npm-registry-packages-npm-production"}},"1.1.34":{"name":"@billjr99/pi-openai-compat","version":"1.1.34","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","_id":"@billjr99/pi-openai-compat@1.1.34","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"4dd12a6873ff76391854bc9ea8765e509bac4219","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.34.tgz","fileCount":4,"integrity":"sha512-n2sPodhnR9rbuzryOQmchmlOw8P7lYFkEEm1Tovc4CQBlnXb1e9UcqOkV7O4GmhgIkR/vIxY46J3XqAtJhYuJQ==","signatures":[{"sig":"MEYCIQCQBuPc7a8+WkO0ANSNW2yT8dekBkmHP6STXYCXkhS97AIhAMStyrKf/PH1utaaFDht19prnBF+2ztyNj9BTs6DoVg7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFgziTzcPK+ESW1COLy03BTeddvYRGHX98XJ2Nyz87HfAiEAmPrdWmh24cfYhLbYoQ2oeNd8q4bJKbtiztzYNezHbYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.34","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":100130},"gitHead":"da4d03d72995b0b287989dcfeb7bbb1a3ffaccef","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:41405477-d1ca-4a8a-a750-d681f555c932"}},"repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"tmp":"tmp/pi-openai-compat_1.1.34_1790363104935_0.4963840837683129","host":"s3://npm-registry-packages-npm-production"}},"1.1.35":{"pi":{"extensions":["./index.ts"]},"_id":"@billjr99/pi-openai-compat@1.1.35","bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"dist":{"shasum":"73227e386eff8d9beaecbc1753b84bd680a4b0b7","tarball":"https://registry.npmjs.org/@billjr99/pi-openai-compat/-/pi-openai-compat-1.1.35.tgz","fileCount":4,"integrity":"sha512-NemARDa1b7pzE77hIyHwgWdz+eqehhNpbrHu95bsWygK7yTyr2nRbxU8gjhNaaMp3JN1byRYwr+6ULphP607RA==","signatures":[{"sig":"MEQCIBVDlHNxYnyrmksyyr+qcS29uFKHkCr9s3+9EIUsjKubAiBfn/h0PfCUyS46+zfU/5JvRVI5+Bq9+uA4iGRpp598pQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIC5S46NYLm8qmO57A84ZHgRG2Lss76CwDAMwY8Yj8FtXAiEAvg6d0nhOCuhki97VBrLtkwG7JlycS7WlbfKp3V6zabI="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@billjr99%2fpi-openai-compat@1.1.35","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":101180},"name":"@billjr99/pi-openai-compat","author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"gitHead":"285b4dc031a6a9571a3639b6ac5d651eca009a34","license":"MIT","scripts":{"test":"node --test test/index.test.ts","typecheck":"tsc -p tsconfig.json"},"version":"1.1.35","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"41405477-d1ca-4a8a-a750-d681f555c932"}},"homepage":"https://github.com/BillJr99/pi-openai-compat#readme","repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"_npmVersion":"11.19.0","description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","directories":{},"maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"_nodeVersion":"24.21.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.0.0","@mariozechner/pi-coding-agent":"^0.73.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-openai-compat_1.1.35_1791130755423_0.7641103734092307"}}},"time":{"created":"2026-05-12T17:11:23.297Z","modified":"2026-10-04T16:19:15.857Z","1.0.0":"2026-05-12T17:11:23.594Z","1.0.1":"2026-05-13T13:30:25.299Z","1.0.2":"2026-05-13T13:47:45.880Z","1.0.3":"2026-05-13T13:50:49.040Z","1.1.9":"2026-05-23T10:24:37.173Z","1.1.10":"2026-05-23T10:29:35.102Z","1.1.11":"2026-05-24T12:57:35.399Z","1.1.12":"2026-06-06T18:58:35.350Z","1.1.13":"2026-06-06T19:05:40.978Z","1.1.14":"2026-06-06T19:18:13.668Z","1.1.15":"2026-06-06T19:41:55.945Z","1.1.16":"2026-06-17T14:03:15.916Z","1.1.17":"2026-06-17T14:32:10.585Z","1.1.18":"2026-06-17T18:34:43.780Z","1.1.19":"2026-06-17T18:42:39.294Z","1.1.20":"2026-08-29T12:52:38.333Z","1.1.21":"2026-08-29T17:43:38.953Z","1.1.22":"2026-09-05T16:44:20.284Z","1.1.23":"2026-09-05T16:54:37.110Z","1.1.24":"2026-09-05T16:59:57.771Z","1.1.25":"2026-09-05T17:00:53.768Z","1.1.26":"2026-09-10T12:07:31.397Z","1.1.27":"2026-09-13T14:59:28.656Z","1.1.28":"2026-09-16T12:07:19.377Z","1.1.29":"2026-09-16T12:29:45.519Z","1.1.30":"2026-09-18T10:14:20.593Z","1.1.31":"2026-09-19T15:40:25.783Z","1.1.32":"2026-09-20T21:23:28.462Z","1.1.33":"2026-09-20T21:40:23.226Z","1.1.34":"2026-09-25T19:05:05.042Z","1.1.35":"2026-10-04T16:19:15.519Z"},"bugs":{"url":"https://github.com/BillJr99/pi-openai-compat/issues"},"author":{"name":"Bill Mongan","email":"https://github.com/BillJr99"},"license":"MIT","homepage":"https://github.com/BillJr99/pi-openai-compat#readme","repository":{"url":"git+https://github.com/BillJr99/pi-openai-compat.git","type":"git"},"description":"pi-coding-agent extension: OpenAI-compatible endpoint support (OpenRouter, NVIDIA NIM, Nous Portal, Ollama, custom)","maintainers":[{"name":"billjr99","email":"billmongan@gmail.com"}],"readme":"# @billjr99/pi-openai-compat — pi-coding-agent extension\n\nRegisters OpenAI-compatible LLM endpoints as first-class providers inside\n[pi](https://pi.dev), so their models appear directly in pi's native `/model`\nlist and `Ctrl+L` picker alongside built-in Anthropic, OpenAI, and Google\nmodels.  No custom model selection UI — pi handles it natively.\n\nMultiple providers can be registered at the same time.  All of their models\nappear together in `/model` under their own provider label.\n\n---\n\n## Quick start\n\n```bash\n# Install from npm\npi install npm:@billjr99/pi-openai-compat\n\n# Or from GitHub\npi install git:github.com/BillJr99/pi-openai-compat\n```\n\nThen inside pi:\n\n```\n/compat-login\n```\n\nPick your provider, enter credentials, and pi fetches the model list\nautomatically.  Your models are immediately available in `/model`.\n\nIf pi is already running when you install, type `/reload` first.\n\n---\n\n## Supported providers\n\n| Provider | Default base URL | Auth |\n|---|---|---|\n| **OpenRouter** | `https://openrouter.ai/api/v1` | `sk-or-...` from openrouter.ai/keys |\n| **NVIDIA NIM** | `https://integrate.api.nvidia.com/v1` | `nvapi-...` from build.nvidia.com |\n| **Nous Research Portal** | `https://inference-api.nousresearch.com/v1` | Nous Portal API key |\n| **Google Gemini** | `https://generativelanguage.googleapis.com/v1beta/openai` | API key from aistudio.google.com/apikey |\n| **Cerebras** | `https://api.cerebras.ai/v1` | API key from cloud.cerebras.ai |\n| **SambaNova** | `https://api.sambanova.ai/v1` | API key from cloud.sambanova.ai |\n| **Mistral** | `https://api.mistral.ai/v1` | API key from console.mistral.ai/api-keys |\n| **Groq** | `https://api.groq.com/openai/v1` | API key from console.groq.com/keys |\n| **Cohere** | `https://api.cohere.com/compatibility/v1` | API key from dashboard.cohere.com/api-keys |\n| **Zhipu (Z.ai / BigModel)** | `https://open.bigmodel.cn/api/paas/v4` | API key from open.bigmodel.cn/usercenter/apikeys |\n| **DeepSeek** | `https://api.deepseek.com/v1` | API key from platform.deepseek.com |\n| **xAI (Grok)** | `https://api.x.ai/v1` | API key from console.x.ai |\n| **Hugging Face** | `https://router.huggingface.co/v1` | `hf_...` token from huggingface.co/settings/tokens |\n| **Moonshot (Kimi)** | `https://api.moonshot.ai/v1` | `sk-...` key from platform.moonshot.ai |\n| **MiniMax** | `https://api.minimax.io/v1` | API key from platform.minimax.io |\n| **Z.ai** | `https://api.z.ai/api/paas/v4` | API key from z.ai |\n| **Venice AI** | `https://api.venice.ai/api/v1` | API key from venice.ai/settings/api |\n| **Fireworks AI** | `https://api.fireworks.ai/inference/v1` | API key from fireworks.ai/account/api-keys |\n| **Together AI** | `https://api.together.xyz/v1` | API key from api.together.ai/settings/api-keys |\n| **GitHub Models** | `https://models.github.ai/inference` | GitHub PAT — fine-grained, `Models → read` |\n| **Cloudflare Workers AI** | `https://api.cloudflare.com/client/v4/accounts/{account}/ai/v1` | API token from dash.cloudflare.com (`Workers AI: Read`) |\n| **Cloudflare AI Gateway** | `https://gateway.ai.cloudflare.com/v1/{account}/{gateway}/openai` | API token from dash.cloudflare.com (`AI Gateway: Run` + `Workers AI: Read`) |\n| **Vercel AI Gateway** | `https://ai-gateway.vercel.sh/v1` | API key from vercel.com |\n| **OpenCode Zen** | `https://opencode.ai/zen/v1` | API key from opencode.ai |\n| **B.AI** | `https://api.b.ai/v1` | API key from the B.AI console at b.ai (docs.b.ai) |\n| **xKiro** | `https://api.xkiro.com/v1` | `sk-xt-...` key from the xKiro console at xkiro.com (docs.xkiro.com) |\n| **TeamoRouter** | `https://api.teamorouter.com/v1` | `sk-teamo-...` key from teamorouter.com (teamorouter.com/docs) |\n| **GMI Cloud** | `https://api.gmi-serving.com/v1` | API key from console.gmicloud.ai → Organization Settings → API Keys |\n| **Token Harbor** | `https://tokenharbor.ai/v1` | `thk_live_...` Universal Key from tokenharbor.ai/dashboard/api-keys |\n| **TokenRouter** | `https://api.tokenrouter.com/v1` | API key from the TokenRouter console at tokenrouter.com (model prices at tokenrouter.com/models) |\n| **Atria ASI** | `https://api.atria-asi.ai/v1` | `atr_...` key from api.atria-asi.ai/console/keys (Google sign-in) |\n| **Unbiased AI** | `https://api.unbiased.ai/v1` | `sk_...` key from platform.unbiased.ai (signup reviewed by hand) |\n| **Kilo AI** | `https://api.kilo.ai/api/gateway` | API key from app.kilo.ai → Your Profile (personal account), at the bottom of the page; needs account credits |\n| **ModelScope** | `https://api-inference.modelscope.cn/v1` | `ms-...` SDK token from modelscope.cn/my/myaccesstoken |\n| **Aion Labs** | `https://api.aionlabs.ai/v1` | API key from aionlabs.ai/app/api-keys (aionlabs.ai/docs) |\n| **Agnes AI** | `https://apihub.agnes-ai.com/v1` | `sk-...` key from the Agnes console at platform.agnes-ai.com (wiki.agnes-ai.com) |\n| **Xiaomi MiMo** | `https://api.xiaomimimo.com/v1` | API key from the Xiaomi MiMo console at platform.xiaomimimo.com → API Keys (mimo.mi.com/docs) |\n| **Ollama (local)** | `http://localhost:11434/v1` (editable) | Optional bearer token; leave blank for a default local install |\n| **Ollama Cloud** | `https://ollama.com/v1` | Ollama Cloud API key from ollama.com |\n| **llmproxy** | `http://localhost:8080/v1` (editable) | Keyless by default; bearer token if your instance requires one |\n| **Custom** | Any URL you supply | Optional bearer token |\n\n> **Providers whose model catalog lives at a non-standard `/models` path (as of June 2026)**\n> Some providers don't return models at `<base_url>/models`. The extension\n> handles them in one of two ways:\n>\n> 1. **Live discovery via a per-template URL override** (`modelsUrl`,\n>    `modelsIdField`, `modelsKeepTask` on the template). Used for **GitHub\n>    Models** and **Cloudflare Workers AI** — `/compat-login` fetches the real\n>    catalog and registers actual current models, not a curated guess.\n> 2. **Built-in fallback list** when no working catalog endpoint exists. Used\n>    when discovery fails or when the upstream simply has no `/models` at all\n>    (e.g. **Hugging Face** returns HTML, **Cloudflare AI Gateway** has no\n>    catalog endpoint, **Unbiased AI** has no such route).\n>\n> A fallback list stands in for a missing endpoint, never for a rejected\n> credential: a catalog fetch that fails with 401 or 403 aborts the login\n> instead, so a mistyped key cannot be saved as a provider that looks healthy\n> in `/model` and then fails on every completion.\n>\n> | Provider | Default `/models` symptom | Handling |\n> |---|---|---|\n> | **GitHub Models** | HTTP 404 at `<base_url>/models` (catalog is at `/catalog/models`, not `/inference/models`) | Live discovery — `modelsUrl: https://models.github.ai/catalog/models` |\n> | **Cloudflare Workers AI** | HTTP 405 (no `GET /v1/models`; real catalog at `/ai/models/search`, id field is `name`, mixed task types) | Live discovery — `modelsUrl: …/ai/models/search`, `modelsIdField: name`, `modelsKeepTask: \"Text Generation\"` |\n> | **Cloudflare AI Gateway** | HTTP 401 (token missing `AI Gateway: Run`) or HTTP 400 *\"Please configure AI Gateway\"* (gateway slug doesn't exist, or the upstream isn't configured on it) | Built-in fallback list |\n> | **Hugging Face** | Returns HTML rather than JSON | Built-in fallback list |\n> | **Unbiased AI** | HTTP 404 `unknown_url` with a valid key (no `/v1/models` at all; an *invalid* key returns 401 on every path, including ones that do not exist, so a 401 here proves nothing) | Built-in fallback list |\n>\n> **Auto-heal for older configs:** if you logged in before live discovery\n> existed, your saved provider is missing these `modelsUrl`/`modelsIdField`/\n> `modelsKeepTask` fields. On startup the extension backfills them from the\n> template whenever it can do so without prompting — i.e. when your saved base\n> URL still matches the template (Cloudflare Workers AI). When the base URL\n> itself changed (e.g. GitHub Models' retired `models.inference.ai.azure.com`\n> host), it can't be migrated silently and you'll get a one-time notice to run\n> `/compat-login`.\n\n---\n\n## Commands\n\nThree commands are available; `/compat-login` is the only one you need to get started.\n\n### `/compat-login`\n\nWalks you through a short wizard:\n\n1. Select a provider from the list above (or choose Custom).\n2. For Ollama, llmproxy and Custom, confirm or change the base URL.\n3. Enter your API key.  For the local templates the key is optional: press\n   Enter to skip it on a default install, or supply one if you have put the\n   server behind a reverse proxy or exposed it on your LAN.  The prompt is\n   never skipped based on the hostname, because a `.local` or LAN address is\n   no guarantee that the endpoint is unauthenticated.\n4. The extension connects, fetches the model list from `/v1/models`, and\n   registers the provider with pi.\n\nAfter login, the provider's models appear in pi's `/model` command and\n`Ctrl+L` picker immediately.  You can run `/compat-login` again to add a\nsecond provider — all providers are active simultaneously.\n\n### `/compat-refresh`\n\nRe-fetches the model list for an already-registered provider, reusing the\nsaved base URL, API key, and discovery settings — no need to re-enter URLs,\nkeys, or account IDs. Use it to pick up models a provider has added (or\ndropped) since you logged in, without restarting your session.\n\nIf you have multiple providers registered, you are asked which one to refresh\n(or choose **All providers**); with a single provider it refreshes directly.\nA failed or empty refresh leaves the existing model list untouched, so a flaky\nnetwork call can't blank out a working provider.  Capability metadata you have\nhand-edited into `cachedModels` (see [Config file](#config-file)) survives a\nrefresh: the fetched list decides which model IDs exist, and any field the\nprovider's catalog omits is carried forward from the previous cache.\n\n### `/compat-logout`\n\nUnregisters a provider from pi.  If you have multiple providers registered,\nyou are asked which one to remove.  If you have only one, you are asked to\nconfirm.\n\nWhen the last compat provider is removed, the extension restores whichever\nbuilt-in model you were using before you added any compat providers.\n\n---\n\n## Typical workflow\n\n```\n/compat-login\n  → pick Ollama\n  → press Enter to accept http://localhost:11434/v1\n  → 3 models added to /model\n\n/model\n  → scroll to ollama/gemma4:latest\n  → select it\n\n(start chatting)\n\n/compat-logout\n  → confirm remove Ollama\n  → previous model restored automatically\n```\n\nTo add OpenRouter alongside Ollama:\n\n```\n/compat-login\n  → pick OpenRouter\n  → enter API key\n  → 300+ models added to /model alongside your Ollama models\n```\n\n---\n\n## How it works\n\nThe extension uses pi's `registerProvider` API to register each configured\nendpoint as a named provider.  This is the same mechanism pi uses internally\nfor Anthropic, OpenAI, and Google.  Registered providers appear in `/model`\nand `Ctrl+L` with their own label, and pi handles all model selection,\nrouting, and request formatting natively.\n\nOn unregistration, pi's built-in `unregisterProvider` restores the original\nmodel list automatically.\n\nModel lists are cached in `config.json` at startup so no network call is\nneeded to re-register providers when pi restarts.\n\n---\n\n## Config file\n\nCredentials and cached model lists are stored at:\n\n```\n~/.config/pi-openai-compat/config.json\n```\n\nAPI keys are stored in plaintext, so the extension creates the file `0600` and\nthe directory `0700`, and tightens both on load if an older version left them\nworld-readable.  Delete the file to clear all saved credentials.\n\nEach provider's `cachedModels` array holds one entry per model.  Only `id` is\nrequired; the rest are optional and fall back to conservative defaults when the\nprovider's `/models` catalog does not report them:\n\n| Field | Type | Default | Notes |\n|---|---|---|---|\n| `id` | string | required | Model ID as sent in requests. |\n| `contextWindow` | number | `128000` | Context window in tokens. |\n| `maxTokens` | number | `4096` | Maximum output tokens per response. |\n| `reasoning` | boolean | `false` | Enables pi's thinking mode for the model. |\n| `input` | `[\"text\"]` or `[\"text\",\"image\"]` | `[\"text\"]` | Modalities pi may send; `image` lets pi attach image blocks. Any other value is ignored. |\n| `thinkingLevelMap` | object | omitted | pi thinking-level remap, passed through to the registered model. Keys are pi thinking levels (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`); string values are sent to the provider, `null` hides an unsupported level. See [pi's docs](https://pi.dev/docs/latest/models#thinking-level-map). |\n| `samplingParams` | object | omitted | **Not currently applied.** Preserved in the config and passed to pi, but pi's `registerProvider` builds each model from a fixed field list that does not include it (verified against pi 0.73.1), so it has no effect today. Kept for forward compatibility. |\n| `compat` | object | omitted | OpenAI compatibility flags for the model (`thinkingFormat`, `chatTemplateKwargs`, `maxTokensField`, `supportsDeveloperRole`, …). See [pi's docs](https://pi.dev/docs/latest/models#openai-compatibility). |\n\n`contextWindow` and `maxTokens` are validated before they reach pi: a value\nthat is not a positive finite number is ignored in favor of the default, and\nanything above 10,000,000 (context) or 1,000,000 (output) is clamped.  pi drives\nits context accounting off these numbers, so an inflated value from a\nmisreporting or hostile catalog would otherwise inflate every request sent.\n\nMost catalogs report none of these beyond the ID, so aggregators and proxies\n(CLIProxyAPI, for example) register every model as a 128K, text-only,\nnon-reasoning model.  To correct that, edit the entry by hand and `/reload`:\n\n```json\n{\n  \"providers\": {\n    \"cpa\": {\n      \"cachedModels\": [\n        { \"id\": \"claude-sonnet-4-6\", \"contextWindow\": 1000000, \"maxTokens\": 128000,\n          \"reasoning\": true, \"input\": [\"text\", \"image\"] }\n      ]\n    }\n  }\n}\n```\n\n`/compat-refresh` keeps these hand-edited fields for any model ID that is still\npresent in the refreshed catalog; a field the provider does report always wins.\n\n### Adding a provider without pi — `add-provider.sh`\n\n`/compat-login` is the normal path, but the repo also ships a standalone script\nthat writes the same config entry from a shell:\n\n```\n./add-provider.sh\n```\n\nIt lists every provider in `TEMPLATES` (read out of `index.ts` at runtime, so it\nnever drifts), then prompts for the API key and for the config file path —\ndefaulting to `~/.config/pi-openai-compat/config.json`, and offering to create it\nif it is missing.  It fetches the model catalog, writes\n`providers.<key>` with `displayName` / `baseUrl` / `apiKey` / `cachedModels`\nexactly as the wizard would, backs the old file up to `config.json.bak`, and\nleaves the result `chmod 600`.  Existing providers and `previousModel` are\npreserved, and re-running it just updates the one entry.\n\nIf the catalog cannot be fetched (wrong key, provider down), it falls back to the\ntemplate's built-in model list, or lets you type model IDs by hand.  If the\nprovider you pick is missing from this checkout's `index.ts` — the script carries\nits own copy of the newest templates — it offers to add the template and the\nREADME row too.\n\nAfterwards, run `/reload` in pi to pick up the new provider.\n\n---\n\n## Publishing to npmjs.com\n\n### First-time setup\n\n1. Register at https://www.npmjs.com/signup — use `billjr99` as your username\n   to match the `@billjr99/` package scope.\n2. Verify your email address (required before publishing).\n3. Enable two-factor authentication under your npm account settings.\n4. Log in from the command line:\n\n```bash\nnpm login\n```\n\n### Publishing\n\n```bash\ncd /path/to/pi-openai-compat\nnpm publish --access public\n```\n\n`--access public` is required for scoped packages on the first publish.\nSubsequent publishes do not need it.\n\nThe package is immediately available at\nhttps://www.npmjs.com/package/@billjr99/pi-openai-compat.\n\n### Releasing a new version\n\n```bash\nnpm version patch   # 1.0.0 → 1.0.1  (bug fixes)\nnpm version minor   # 1.0.0 → 1.1.0  (new features)\nnpm version major   # 1.0.0 → 2.0.0  (breaking changes)\nnpm publish --access public\n```\n\n`npm version` also creates a git tag, so GitHub gets release tags automatically.\n\n### Automated publishing via GitHub Actions\n\nEvery push to `main` automatically bumps the patch version and publishes to npm\nvia `.github/workflows/publish.yml`. This workflow uses **npm trusted publishing**\n(OIDC) — no long-lived token or secret is needed anywhere.\n\n#### Required one-time setup on npmjs.com\n\n> **Do this before the first automated publish or it will fail.**\n\n1. Go to **npmjs.com** → sign in → click your avatar → **Packages** →\n   `@billjr99/pi-openai-compat`\n2. Click **Settings** (in the left sidebar of the package page)\n3. Scroll to **Publishing** → enable **Trusted Publishing**\n4. Add a publisher with these exact values:\n\n| Field | Value |\n|---|---|\n| Repository owner | `BillJr99` |\n| Repository name | `pi-openai-compat` |\n| Workflow filename | `publish.yml` |\n| Environment | *(leave blank)* |\n\n5. Click **Save**\n\nNo token to copy, no secret to rotate. That's the only setup step.\n\n#### What the workflow does\n\n```yaml\n# .github/workflows/publish.yml\non:\n  push:\n    branches: [main]\n\npermissions:\n  contents: write    # push the version-bump commit back to main\n  id-token: write    # request an OIDC token from GitHub for npm auth\n```\n\nOn every push to `main` the workflow:\n\n1. Checks out the repo with `GITHUB_TOKEN` so it can push back\n2. Runs `npm version patch --no-git-tag-version` to increment the patch number\n   in `package.json` (e.g. `1.1.0` → `1.1.1`)\n3. Commits the updated `package.json` with `[skip ci]` in the message so the\n   commit does not re-trigger the workflow\n4. Pushes the bump commit to `main`\n5. Runs `npm publish --access public --provenance`\n   - GitHub mints a short-lived OIDC token proving the job is running from\n     this exact repo and workflow\n   - npm validates it against the trusted publisher config above and allows\n     the publish — no `NPM_TOKEN` secret required\n   - `--provenance` attaches a signed build attestation to the package,\n     visible on the npmjs.com package page under **Provenance**\n\nThe published package is immediately available at\nhttps://www.npmjs.com/package/@billjr99/pi-openai-compat.\n\n### Installing from npm\n\n```bash\npi install npm:@billjr99/pi-openai-compat         # latest\npi install npm:@billjr99/pi-openai-compat@1.0.0   # pinned version\npi update  npm:@billjr99/pi-openai-compat          # update to latest\npi remove  npm:@billjr99/pi-openai-compat          # uninstall\n```\n\n---\n\n## Troubleshooting\n\n**Connection fails during `/compat-login`**\nVerify the base URL does not have a trailing slash and ends with `/v1`.\nConfirm the API key is correct and has model-access permissions.\nFor Ollama: ensure `ollama serve` is running.\nFor self-hosted Open WebUI: the OpenAI-compatible API is under `/api/v1`, not\nthe SPA root — e.g. `https://your-host/api/v1`, not `https://your-host`.\nHitting the root returns the HTML SPA and `/compat-login` fails with a JSON\nparse error.\n\n**Cloudflare AI Gateway returns 401 Unauthorized**\nCheck both: (1) the API token has `AI Gateway: Run` *and* `Workers AI: Read`\nunder \"Permissions\", scoped to the correct account; and (2) the gateway slug\nin the URL actually exists under that account — list them with:\n\n```bash\ncurl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/ai-gateway/gateways \\\n  -H \"Authorization: Bearer $TOKEN\"\n```\n\nAn empty `result` array means the gateway isn't there (you may need to create it\nin **dash.cloudflare.com → AI → AI Gateway**, or you're querying the wrong\naccount).\n\n**No models appear after login**\nFor Ollama: pull at least one model first (`ollama pull llama3`).\nFor OpenRouter: some keys are restricted to free-tier models only.\nFor NIM: confirm your account has inference access enabled.\n\n**`/compat-login` reports N models but far fewer appear in `/model`**\nThe usual cause is a **scoped or restricted API key/account** — the catalog\nendpoint advertises the full model list, but your credentials are only entitled\nto a subset, so pi only surfaces the ones you can actually use. Check whether your\nkey is limited to specific models or a free tier on the provider's dashboard.\n\n**Models appear in `/model` but requests fail**\nCheck `/compat-login` ran successfully (no error message).\nVerify Ollama is still running if using a local endpoint.\n","readmeFilename":"README.md"}