{"_id":"@0xkahi/pi-model-select","_rev":"4-300721917bca1259eb472ca3f40a428b","name":"@0xkahi/pi-model-select","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@0xkahi/pi-model-select","version":"1.0.0","keywords":["pi-package","pi-extension","model-management"],"author":{"name":"0xKahi"},"_id":"@0xkahi/pi-model-select@1.0.0","maintainers":[{"name":"0xkahi","email":"waifumaximalist@gmail.com"}],"homepage":"https://github.com/0xKahi/pi-model-select#readme","bugs":{"url":"https://github.com/0xKahi/pi-model-select/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"71bbb3e0e6961c6dd3597d8d3a63a4cf5576b7ca","tarball":"https://registry.npmjs.org/@0xkahi/pi-model-select/-/pi-model-select-1.0.0.tgz","fileCount":10,"integrity":"sha512-P8H2JaaBrowN/w/uySKcFm/b2oICBCo/DqRttSOsPuogJGzoQNSlPAURE3qtunq/dyq6kPzIUqpQ/O5MH78GaA==","signatures":[{"sig":"MEUCIQDY6LjdLFB8TqYuBsu2sc8gHKePP4h+3hRh9JrfCfMY5QIgIjlwF7xA84tCeQZDjHp6KZ9ZFSL6usU4hVyQXLwLI+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31163},"type":"module","gitHead":"b55e1188fd717cd18e662a596ba13ab0a0495e55","scripts":{"lint":"bun biome","biome":"biome check ./src","check":"bun run lint:fix && bun run type-check","release":"changeset publish","version":"changeset version","lint:fix":"bun biome --write","changeset":"changeset","type-check":"tsc --noEmit"},"_npmUser":{"name":"0xkahi","email":"waifumaximalist@gmail.com"},"repository":{"url":"git+https://github.com/0xKahi/pi-model-select.git","type":"git"},"_npmVersion":"10.9.8","description":"Pi extension that adds /select-model with favourites and provider-filtered model search","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"bun-types":"latest","typescript":"^5","@types/node":"^24.0.0","@biomejs/biome":"^2.4.15","@changesets/cli":"^2.31.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-select_1.0.0_1780092802149_0.0706681590249767","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@0xkahi/pi-model-select","version":"1.0.1","keywords":["pi-package","pi-extension","model-management"],"author":{"name":"0xKahi"},"_id":"@0xkahi/pi-model-select@1.0.1","maintainers":[{"name":"0xkahi","email":"waifumaximalist@gmail.com"}],"homepage":"https://github.com/0xKahi/pi-model-select#readme","bugs":{"url":"https://github.com/0xKahi/pi-model-select/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"b37f50694725ba8cb3cb87144f5a28a11cf1d81c","tarball":"https://registry.npmjs.org/@0xkahi/pi-model-select/-/pi-model-select-1.0.1.tgz","fileCount":10,"integrity":"sha512-gGdaWmd6U1Mu94DaqFn3JkUj71oeiSquQ7FBTHm9I5w67L2bAR294OnK7aaGIa8HKtDxvSqh/v2Q6AeIoAfvog==","signatures":[{"sig":"MEUCIE2uvd5QLFGtZwCuoj+FPg1F7BP8Me3SGiTFmF2Wat7qAiEA0P31DQZi//9ynkf1XLPiy/5K5d1rJrKbwWW4EdlOp2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31175},"type":"module","gitHead":"8094e557b49ba24b55bdc04425a607e7e36a662b","scripts":{"lint":"bun biome","biome":"biome check ./src","check":"bun run lint:fix && bun run type-check","release":"changeset publish","version":"changeset version","lint:fix":"bun biome --write","changeset":"changeset","type-check":"tsc --noEmit"},"_npmUser":{"name":"0xkahi","email":"waifumaximalist@gmail.com"},"repository":{"url":"git+https://github.com/0xKahi/pi-model-select.git","type":"git"},"_npmVersion":"10.9.8","description":"Pi extension that adds /select-model with favourites and provider-filtered model search","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"bun-types":"latest","typescript":"^5","@types/node":"^24.0.0","@biomejs/biome":"^2.4.15","@changesets/cli":"^2.31.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-select_1.0.1_1780267977590_0.536529032938095","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@0xkahi/pi-model-select","version":"1.1.0","keywords":["pi-package","pi-extension","model-management"],"author":{"name":"0xKahi"},"_id":"@0xkahi/pi-model-select@1.1.0","maintainers":[{"name":"0xkahi","email":"waifumaximalist@gmail.com"}],"homepage":"https://github.com/0xKahi/pi-model-select#readme","bugs":{"url":"https://github.com/0xKahi/pi-model-select/issues"},"pi":{"extensions":["./src/index.ts"]},"dist":{"shasum":"cd38c534f8e20e32a84d8a13d116c17912a1f0c7","tarball":"https://registry.npmjs.org/@0xkahi/pi-model-select/-/pi-model-select-1.1.0.tgz","fileCount":10,"integrity":"sha512-LRR7ViQs+FA00yO5+5KPJIr1FtogW5nGDb8i9B+Z4z5rUQXYOZDqTTWZQJv9aUP3MIZwcRMT7Dz1sA32WCMkug==","signatures":[{"sig":"MEQCIFA0NN40Jbd6vwuCzrScSBPhvrNciYKIHPzkvHZEIC+UAiB+mebrEOg+r+RzxP8rlfQ9X701GTaZjR5thacDmaz6hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32353},"type":"module","gitHead":"cd8c92edadf2484757dfcfc285a3b7b2e699bb08","scripts":{"lint":"bun biome","biome":"biome check ./src","check":"bun run lint:fix && bun run type-check","release":"changeset publish","version":"changeset version","lint:fix":"bun biome --write","changeset":"changeset","type-check":"tsc --noEmit"},"_npmUser":{"name":"0xkahi","email":"waifumaximalist@gmail.com"},"repository":{"url":"git+https://github.com/0xKahi/pi-model-select.git","type":"git"},"_npmVersion":"10.9.8","description":"Pi extension that adds /select-model with favourites and provider-filtered model search","directories":{},"_nodeVersion":"22.22.3","_hasShrinkwrap":false,"devDependencies":{"bun-types":"latest","typescript":"^5","@types/node":"^24.0.0","@biomejs/biome":"^2.4.15","@changesets/cli":"^2.31.0","@earendil-works/pi-ai":"^0.79.0","@earendil-works/pi-tui":"^0.79.0","@earendil-works/pi-coding-agent":"^0.79.0"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-select_1.1.0_1780971444768_0.5856348923876824","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@0xkahi/pi-model-select","version":"1.1.1","description":"Pi extension that adds /select-model with favourites and provider-filtered model search","type":"module","keywords":["pi-package","pi-extension","model-management"],"author":{"name":"0xKahi"},"repository":{"type":"git","url":"git+https://github.com/0xKahi/pi-model-select.git"},"pi":{"extensions":["./src/index.ts"]},"scripts":{"biome":"biome check ./src","lint":"bun biome","lint:fix":"bun biome --write","type-check":"tsc --noEmit","check":"bun run lint:fix && bun run type-check","release":"changeset publish","version":"changeset version","changeset":"changeset"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*"},"devDependencies":{"@biomejs/biome":"^2.4.15","@changesets/cli":"^2.31.0","@types/node":"^24.0.0","bun-types":"latest","typescript":"^5","@earendil-works/pi-ai":"^0.79.0","@earendil-works/pi-coding-agent":"^0.79.0","@earendil-works/pi-tui":"^0.79.0"},"_id":"@0xkahi/pi-model-select@1.1.1","gitHead":"4212585c523b1bd88f374a87f27e79bb79b4083c","bugs":{"url":"https://github.com/0xKahi/pi-model-select/issues"},"homepage":"https://github.com/0xKahi/pi-model-select#readme","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-GuREDMvrUrm2Z7x2siEkPPrg5fUYn5qyM94uRlmzHMuEvBEA5HoU37ImUkGKjHmsDTHdy2l/7KkfrVNgvFyB6A==","shasum":"f1bad9c1ab600fd0cdef8b97884becf1f56f3fc4","tarball":"https://registry.npmjs.org/@0xkahi/pi-model-select/-/pi-model-select-1.1.1.tgz","fileCount":10,"unpackedSize":34943,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhzvmn3AK1xdy4bPS/6TZyRAeHJmGn+27ywjrVZvwvcgIhAPZdrfgVgAFjYs8fSwJBkYXqarlToOHAjhFGiw6uZ11f"}]},"_npmUser":{"name":"0xkahi","email":"waifumaximalist@gmail.com"},"directories":{},"maintainers":[{"name":"0xkahi","email":"waifumaximalist@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-model-select_1.1.1_1781391873380_0.35121940982682753"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T22:13:22.016Z","modified":"2026-06-13T23:04:33.668Z","1.0.0":"2026-05-29T22:13:22.287Z","1.0.1":"2026-05-31T22:52:57.766Z","1.1.0":"2026-06-09T02:17:24.946Z","1.1.1":"2026-06-13T23:04:33.558Z"},"bugs":{"url":"https://github.com/0xKahi/pi-model-select/issues"},"author":{"name":"0xKahi"},"homepage":"https://github.com/0xKahi/pi-model-select#readme","keywords":["pi-package","pi-extension","model-management"],"repository":{"type":"git","url":"git+https://github.com/0xKahi/pi-model-select.git"},"description":"Pi extension that adds /select-model with favourites and provider-filtered model search","maintainers":[{"name":"0xkahi","email":"waifumaximalist@gmail.com"}],"readme":"# pi-model-select\n\nPi extension that adds `/select-model`: a model picker with favourites plus provider-filtered fuzzy search. By default it renders inline like Pi's built-in `/model`; it can optionally render as a centered overlay.\n\n## Install\n\nInstall globally (writes to `~/.pi/agent/settings.json`):\n\n```bash\npi install npm:@0xkahi/pi-model-select\n```\n\nOr install into the current project only (writes to `.pi/settings.json`, shareable with your team):\n\n```bash\npi install npm:@0xkahi/pi-model-select -l\n```\n\nPin a specific version:\n\n```bash\npi install npm:@0xkahi/pi-model-select@1.0.0\n```\n\nInstall directly from GitHub instead of npm:\n\n```bash\npi install git:github.com/0xKahi/pi-model-select\npi install git:github.com/0xKahi/pi-model-select@v1.0.0   # pinned\n```\n\n### Try without installing\n\nUse `-e` / `--extension` to load for a single run without modifying settings:\n\n```bash\npi -e .                          # from inside this repo\n```\n\n### Manage\n\n```bash\npi list                                       # show installed packages\npi update npm:@0xkahi/pi-model-select         # update this package\npi remove npm:@0xkahi/pi-model-select         # uninstall\n```\n\nThe package manifest exposes `./src/index.ts` as a Pi extension.\n\n## Command\n\n```text\n/select-model\n```\n\n- `Tab` switches between **Favourites** and **Search**.\n- `↑/↓` navigates, `Enter` selects, `Esc` cancels.\n- Selecting a model calls Pi's model setter, matching `/model` behavior.\n- Optional direct form: `/select-model provider/modelId`.\n\n## Config files\n\n| Scope   | Path |\n| --- | --- |\n| Global | `~/.pi/agent/extensions/pi-model-select/config.json` (respects `PI_CODING_AGENT_DIR`) |\n| Project | `<cwd>/.pi/extensions/pi-model-select/config.json` |\n\nThe extension accepts JSON with comments and trailing commas.\n\nProject config overrides global `provider_filter` and `layout` when those keys are present. Favourites are combined from global then project and de-duplicated.\n\n```jsonc\n{\n  \"$schema\": \"https://raw.githubusercontent.com/0xKahi/pi-model-select/main/config.schema.json\",\n  \"favourite\": [\n    {\n      \"provider\": \"openai-codex\",\n      \"modelId\": \"gpt-5.5\"\n    },\n    {\n      \"provider\": \"anthropic\",\n      \"modelId\": \"claude-opus-4-7\"\n    },\n    {\n      \"provider\": \"opencode-go\",\n      \"modelId\": \"kimi-k2.6\"\n    }\n  ],\n  // Optional. Defaults to \"inline\", which replaces the editor at the bottom like Pi's /model.\n  // Use \"overlay\" for the previous centered floating card behavior.\n  \"layout\": \"inline\",\n  // Empty array means no filter: all authorized providers are shown.\n  \"provider_filter\": [\"openai-codex\", \"anthropic\", \"opencode-go\", \"openrouter\"]\n}\n```\n\n### Config options\n\n| Key | Type | Default | Description |\n| --- | --- | --- | --- |\n| `favourite` | `{ provider: string, modelId: string }[]` | `[]` | Models shown in the Favourites tab. Alias keys `favourites`, `favorite`, and `favorites` are also accepted. |\n| `provider_filter` | `string[]` | `[]` | Provider names shown in Search. Empty means all authorized providers. Project config overrides global when present. |\n| `layout` | `\"inline\" \\| \"overlay\"` | `\"inline\"` | `inline` replaces the editor at the bottom; `overlay` shows the centered floating card. |\n","readmeFilename":"README.md"}