{"_id":"@amitkot/pi-open-zed","name":"@amitkot/pi-open-zed","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@amitkot/pi-open-zed","version":"0.1.0","type":"module","description":"Host-side Zed IDE bridge for Pi — opens files at a line number from the coding agent.","keywords":["pi-package","pi-extension","zed","ide"],"scripts":{"check":"node ../../scripts/check.mjs","test":"node ../../tests/open-zed.test.mjs"},"pi":{"extensions":["./src/index.ts"]},"peerDependencies":{"typebox":"*"},"peerDependenciesMeta":{"typebox":{"optional":true}},"license":"MIT","_id":"@amitkot/pi-open-zed@0.1.0","gitHead":"2ed31b29fa5747c1006d463e518a99baf5870b7b","_nodeVersion":"22.22.3","_npmVersion":"10.9.8","dist":{"integrity":"sha512-stLCnCI8YYjBV1BfQW9x8IPXJ+Ek1pFC3IARZA/wCHl0OzvYGXuz9mleick9pAuzjuNUXgTQ2XEB9MBSbkZZjg==","shasum":"e09b0da2642252e06a21e929195a2224a618ae55","tarball":"https://registry.npmjs.org/@amitkot/pi-open-zed/-/pi-open-zed-0.1.0.tgz","fileCount":3,"unpackedSize":5252,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC919y12fB2JTyU0E5H+t7POxRFge1urskxe+tY+EM6wgIgCqWVQnI1+xga2wcLW7hyPf3nYg0IhjYdWBFFUSR+F4Y="}]},"_npmUser":{"name":"amitkot","email":"amit@amitkot.com"},"directories":{},"maintainers":[{"name":"amitkot","email":"amit@amitkot.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-open-zed_0.1.0_1781469250468_0.44401491290113393"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-14T20:34:10.353Z","0.1.0":"2026-06-14T20:34:10.597Z","modified":"2026-06-14T20:34:10.780Z"},"maintainers":[{"name":"amitkot","email":"amit@amitkot.com"}],"description":"Host-side Zed IDE bridge for Pi — opens files at a line number from the coding agent.","keywords":["pi-package","pi-extension","zed","ide"],"license":"MIT","readme":"# open-zed extension\n\nOpens files in the Zed IDE from Pi, bypassing macOS sandbox restrictions.\n\n## Purpose\n\nThe sandboxed bash tool cannot run `zed` (like `gh`). This extension calls `zed` on\nthe host via `child_process.execFile`, so the LLM can open files for the user's\ninspection or editing in their IDE.\n\n## Threat Model\n\n- **Risk**: Accidental file opens, minimal.\n- **Mitigations**:\n  - Uses `child_process.execFile` with argument arrays (no shell).\n  - Adds execution timeout.\n  - Does not pass full process environment to subprocesses.\n  - Only opens files — no edits, no mutations.\n\n## Requirements\n\n- [Zed IDE](https://zed.dev) installed on the host machine\n- `zed` available on `PATH`\n\n## Tools\n\n- `open_zed` — opens a file in Zed, optionally at a specific line number\n\n### Parameters\n\n- `path` (required) — file path to open\n- `line` (optional) — line number to navigate to (1-indexed)\n\n## Prompt Guidelines\n\n- Use `open_zed` when the user asks to open or edit a file in their Zed IDE.\n- Do not use raw `zed` shell commands when this tool is available.\n\n## Installation\n\n```bash\npi install npm:@amitkot/pi-open-zed\n```\n\nFor local development from a checkout:\n\n```bash\npi -e ./packages/open-zed/src/index.ts\n```\n\nTo install the whole pi-tools monorepo from git:\n\n```bash\npi install git:github.com/amitkot/pi-tools\n```\n\nAfter installation or changes, restart Pi or run:\n\n```text\n/reload\n```\n","readmeFilename":"README.md","_rev":"1-c7299ba65d9880a10078392948b5ac94"}