{"_id":"@dreki-gg/pi-doc-search","_rev":"4-dd71afc913cf0c7fe12671d45064a19e","name":"@dreki-gg/pi-doc-search","dist-tags":{"latest":"0.3.2"},"versions":{"0.2.0":{"name":"@dreki-gg/pi-doc-search","version":"0.2.0","keywords":["pi-package","pi","docs","documentation","context7"],"author":{"name":"Juan Albarran","email":"jalbarrandev@gmail.com"},"license":"MIT","_id":"@dreki-gg/pi-doc-search@0.2.0","maintainers":[{"name":"jalbarrang","email":"jalbarrandev@gmail.com"}],"homepage":"https://github.com/jalbarrang/pi-doc-search#readme","bugs":{"url":"https://github.com/jalbarrang/pi-doc-search/issues"},"pi":{"extensions":["./extensions/doc-search"]},"dist":{"shasum":"e00485427db22d26b9313be1d038a7d0e58469f2","tarball":"https://registry.npmjs.org/@dreki-gg/pi-doc-search/-/pi-doc-search-0.2.0.tgz","fileCount":18,"integrity":"sha512-TP9IUG1Jflhu4hZz72O4FhL1q8uCpButkmQ8y30MdEsZ9DY0TP9J3720rKOabGcS8g92UKAnNsy8gTWzsS0gTA==","signatures":[{"sig":"MEUCIAdCZuxy8I4cmRP0nZvs9UBx+RhfUINzeCRejviJ+3xhAiEAsLGXqIMrocq7RFCS6MroeZAMpE6MCPzwwwcFX/F2/Oc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105142},"type":"module","gitHead":"ce5474522dd13a8fa402a52b6b6e184ff9a97d6e","scripts":{"lint":"oxlint extensions","format":"oxfmt --write extensions","typecheck":"tsc --noEmit","format:check":"oxfmt --check extensions"},"_npmUser":{"name":"jalbarrang","email":"jalbarrandev@gmail.com"},"repository":{"url":"git+https://github.com/jalbarrang/pi-doc-search.git","type":"git"},"_npmVersion":"11.17.0","description":"Library doc-search tools for pi, powered by Context7 — direct HTTP, persistent cache, no MCP dependency","directories":{},"_nodeVersion":"26.5.0","_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0","typebox":"^1.0.55","typescript":"^6.0.0","@types/node":"24","@earendil-works/pi-coding-agent":"^0.75.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-doc-search_0.2.0_1783787505952_0.6838219667164946","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dreki-gg/pi-doc-search","version":"0.3.0","keywords":["pi-package","pi","docs","documentation","context7"],"author":{"name":"Juan Albarran","email":"jalbarrandev@gmail.com"},"license":"MIT","_id":"@dreki-gg/pi-doc-search@0.3.0","maintainers":[{"name":"jalbarrang","email":"jalbarrandev@gmail.com"}],"homepage":"https://github.com/jalbarrang/pi-doc-search#readme","bugs":{"url":"https://github.com/jalbarrang/pi-doc-search/issues"},"pi":{"extensions":["./extensions/doc-search"]},"dist":{"shasum":"26cb54f7d085e581d407cc5ff51bede64d62791b","tarball":"https://registry.npmjs.org/@dreki-gg/pi-doc-search/-/pi-doc-search-0.3.0.tgz","fileCount":18,"integrity":"sha512-qzg5sYpQgRgaUxZ3voesJ7wEdHdLhGiCihr0XBB18lnHLuo8ai768pnQ3w7LG1NSuOolG1QmOwtk16LnQgfVJA==","signatures":[{"sig":"MEUCIQDTdzZ5FdNmkYVSzu8LshV6qgEu4tfURgtd+UCDoZSn0wIgCd7rRRUHzYbOtlaHXqY1DMUVNVj+3H9WpmrApFJbRt4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dreki-gg%2fpi-doc-search@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105415},"type":"module","gitHead":"73a0e7eeaaa619e22e4e27b15a6c1ca4a9a1e869","scripts":{"lint":"oxlint extensions","format":"oxfmt --write extensions","typecheck":"tsc --noEmit","format:check":"oxfmt --check extensions"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9573485a-f74f-455b-b9e3-5d640e823a12"}},"repository":{"url":"git+https://github.com/jalbarrang/pi-doc-search.git","type":"git"},"_npmVersion":"11.16.0","description":"Library doc-search tools for pi, powered by Context7 — direct HTTP, persistent cache, no MCP dependency","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0","typebox":"^1.0.55","typescript":"^6.0.0","@types/node":"24","@earendil-works/pi-coding-agent":"^0.75.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-doc-search_0.3.0_1783789712116_0.3228665473231014","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dreki-gg/pi-doc-search","version":"0.3.1","keywords":["pi-package","pi","docs","documentation","context7"],"author":{"name":"Juan Albarran","email":"jalbarrandev@gmail.com"},"license":"MIT","_id":"@dreki-gg/pi-doc-search@0.3.1","maintainers":[{"name":"jalbarrang","email":"jalbarrandev@gmail.com"}],"homepage":"https://github.com/jalbarrang/pi-doc-search#readme","bugs":{"url":"https://github.com/jalbarrang/pi-doc-search/issues"},"pi":{"extensions":["./extensions/doc-search"]},"dist":{"shasum":"456afa8a4e9c152dd184b531cb5881d4f21f32ca","tarball":"https://registry.npmjs.org/@dreki-gg/pi-doc-search/-/pi-doc-search-0.3.1.tgz","fileCount":13,"integrity":"sha512-EdmOzqtEuDQYwE/KgZRDP0dtb2ies7k3HKFzXmxhrV7E0/LBEbXwqTSTxE7K341K0M0FxWxpy9T8/o7QyaF3SA==","signatures":[{"sig":"MEUCIQCUrpZIQYEHZSZatItC9VjhpwToynSP0RkI/y9iR0YRowIgKmO2dVYCxllA6XfZsdQzvQsNeBpmuGvzDHxlAFinP8o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dreki-gg%2fpi-doc-search@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59110},"type":"module","gitHead":"92c7fc98a47d72b69c2023a5d78d167c8d6c06a6","scripts":{"lint":"oxlint extensions","format":"oxfmt --write extensions","typecheck":"tsc --noEmit","format:check":"oxfmt --check extensions"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9573485a-f74f-455b-b9e3-5d640e823a12"}},"repository":{"url":"git+https://github.com/jalbarrang/pi-doc-search.git","type":"git"},"_npmVersion":"11.16.0","description":"Library doc-search tools for pi, powered by Context7 — direct HTTP, persistent cache, no MCP dependency","directories":{},"_nodeVersion":"24.18.0","_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.43.0","oxlint":"^1.58.0","typebox":"^1.0.55","typescript":"^6.0.0","@types/node":"24","@earendil-works/pi-coding-agent":"^0.75.4"},"peerDependencies":{"typebox":"*","@earendil-works/pi-coding-agent":"*"},"peerDependenciesMeta":{"typebox":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/pi-doc-search_0.3.1_1783797456282_0.12236498613278557","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@dreki-gg/pi-doc-search","version":"0.3.2","description":"Library doc-search tools for pi, powered by Context7 — direct HTTP, persistent cache, no MCP dependency","keywords":["pi-package","pi","docs","documentation","context7"],"author":{"name":"Juan Albarran","email":"jalbarrandev@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jalbarrang/pi-doc-search.git"},"type":"module","scripts":{"typecheck":"tsc --noEmit","lint":"oxlint extensions","format":"oxfmt --write extensions","format:check":"oxfmt --check extensions"},"pi":{"extensions":["./extensions/doc-search"]},"devDependencies":{"@types/node":"26","oxfmt":"^0.58.0","oxlint":"^1.73.0","typescript":"^7.0.2","@earendil-works/pi-coding-agent":"^0.80.6","typebox":"^1.3.6"},"peerDependencies":{"@earendil-works/pi-coding-agent":"*","typebox":"*"},"peerDependenciesMeta":{"@earendil-works/pi-coding-agent":{"optional":true},"typebox":{"optional":true}},"publishConfig":{"access":"public"},"gitHead":"f6cf26e5dcad71f4e2e9ddf5fdfe1f64704f8706","_id":"@dreki-gg/pi-doc-search@0.3.2","bugs":{"url":"https://github.com/jalbarrang/pi-doc-search/issues"},"homepage":"https://github.com/jalbarrang/pi-doc-search#readme","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-nw+8coiuleT4bI/wnLYbxS+FnXEmxu6ksHyy+JhVI2jZPkunFFOzcObaYV9J9PCGYBjiBLSRHV6fC+GIBfwAfA==","shasum":"383b26eb92ad39538fa09464ce36746c1fac99b7","tarball":"https://registry.npmjs.org/@dreki-gg/pi-doc-search/-/pi-doc-search-0.3.2.tgz","fileCount":13,"unpackedSize":59475,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@dreki-gg%2fpi-doc-search@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDv6BWeB0QKYFSi3rWmI2A2ocfwuSJiL6qyXm7eiejd2AiBzle7pDYhnBXhETPmz+nP36hMfv3mA/Ok45z+PIGTTdQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9573485a-f74f-455b-b9e3-5d640e823a12"}},"directories":{},"maintainers":[{"name":"jalbarrang","email":"jalbarrandev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-doc-search_0.3.2_1783827368636_0.23583965872500579"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-11T16:31:45.776Z","modified":"2026-07-12T03:36:09.056Z","0.2.0":"2026-07-11T16:31:46.104Z","0.3.0":"2026-07-11T17:08:32.262Z","0.3.1":"2026-07-11T19:17:36.423Z","0.3.2":"2026-07-12T03:36:08.775Z"},"bugs":{"url":"https://github.com/jalbarrang/pi-doc-search/issues"},"author":{"name":"Juan Albarran","email":"jalbarrandev@gmail.com"},"license":"MIT","homepage":"https://github.com/jalbarrang/pi-doc-search#readme","keywords":["pi-package","pi","docs","documentation","context7"],"repository":{"type":"git","url":"git+https://github.com/jalbarrang/pi-doc-search.git"},"description":"Library doc-search tools for pi, powered by Context7 — direct HTTP, persistent cache, no MCP dependency","maintainers":[{"name":"jalbarrang","email":"jalbarrandev@gmail.com"}],"readme":"# @dreki-gg/pi-doc-search\n\nLibrary doc-search tools for pi, powered by [Context7](https://context7.com). Bypasses MCP entirely — direct HTTP to the Context7 API with a persistent searchable cache.\n\nFormerly published as `@dreki-gg/pi-context7`.\n\n## Install\n\n```bash\npi install npm:@dreki-gg/pi-doc-search\n```\n\n## Tools\n\n| Tool | Description |\n|------|-------------|\n| `doc_search_resolve_library_id` | Resolve a library/package name to a Context7 library ID |\n| `doc_search_get_library_docs` | Fetch curated docs by ID or name (auto-resolves) |\n| `doc_search_get_cached_doc_raw` | Read full raw cached docs by docRef or semantic lookup |\n\n\n## Configuration\n\nSet env var (preferred):\n\n```bash\nexport CONTEXT7_API_KEY=ctx7sk-...\n```\n\nOr create `~/.pi/agent/extensions/doc-search/config.json`:\n\n```json\n{\n  \"apiKey\": \"ctx7sk-...\",\n  \"cache\": {\n    \"resolveTtlHours\": 168,\n    \"docsTtlHours\": 24\n  }\n}\n```\n\nAPI key is optional — Context7 works without one but with lower rate limits.\n\n## Cache\n\nStored under `~/.pi/agent/extensions/doc-search/cache/` with:\n- Atomic JSON writes\n- Structured indexes (by library name, version, ID, docRef)\n- TTL-based expiry with stale fallback\n- Automatic pruning of expired/orphaned entries\n","readmeFilename":"README.md"}