{"_id":"@arvoretech/pi-git-review-bridge","_rev":"2-7d23745eecd418cc36f1aad4deea74e7","name":"@arvoretech/pi-git-review-bridge","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@arvoretech/pi-git-review-bridge","version":"0.1.0","keywords":["pi-package","pi","extension","git","code-review","pull-request"],"author":{"name":"Arvore"},"license":"MIT","_id":"@arvoretech/pi-git-review-bridge@0.1.0","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"pi":{"extensions":["./dist/index.js"]},"dist":{"shasum":"76cc98a7857ee0873dd6aec43304c6aeea4dc693","tarball":"https://registry.npmjs.org/@arvoretech/pi-git-review-bridge/-/pi-git-review-bridge-0.1.0.tgz","fileCount":14,"integrity":"sha512-vhevfUfryXb5W2gDk7jAGolnjJ8QedCg8Zds7/deuOeAG6ZxAkdj4/WNIrZiNxTBggRU+PKYuR0DixTiYYiBqQ==","signatures":[{"sig":"MEUCIQCqANHTAyXWSdjTeEIEl2uuRP4NsckzZrb9p5lZyEIyPwIgC14tHnqbjC4vn2g0SaOCuT8+KMehLObg84h3lzp/gbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33056},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"843f8091b50b28c90a7aacaf13171b8d5bb04367","scripts":{"dev":"tsc --watch","lint":"tsc --noEmit","build":"tsc"},"_npmUser":{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},"repository":{"url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","type":"git","directory":"packages/git-review-bridge"},"_npmVersion":"10.9.4","description":"PI extension that bridges a local pi session to the git-review-cloud PR reviewer: browser comments are delivered to the agent in real time over WebSocket","directories":{},"_nodeVersion":"22.21.1","dependencies":{"ws":"^8.18.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/ws":"^8.18.1","typescript":"^5.3.0","@types/node":"^20.10.0","@earendil-works/pi-ai":"latest","@earendil-works/pi-coding-agent":"latest"},"peerDependencies":{"@earendil-works/pi-coding-agent":">=0.74.0"},"_npmOperationalInternal":{"tmp":"tmp/pi-git-review-bridge_0.1.0_1783959841239_0.45383086425923835","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@arvoretech/pi-git-review-bridge","version":"0.1.1","description":"PI extension that bridges a local pi session to the git-review-cloud PR reviewer: browser comments are delivered to the agent in real time over WebSocket","main":"dist/index.js","types":"dist/index.d.ts","type":"module","peerDependencies":{"@earendil-works/pi-coding-agent":">=0.74.0"},"devDependencies":{"@earendil-works/pi-ai":"latest","@earendil-works/pi-coding-agent":"latest","@types/node":"^20.10.0","@types/ws":"^8.18.1","typescript":"^5.3.0"},"dependencies":{"ws":"^8.18.0"},"pi":{"extensions":["./dist/index.js"]},"keywords":["pi-package","pi","extension","git","code-review","pull-request"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","directory":"packages/git-review-bridge"},"author":{"name":"Arvore"},"license":"MIT","scripts":{"build":"tsc","dev":"tsc --watch","lint":"tsc --noEmit","test":"pnpm build && node --test test/*.test.mjs"},"_id":"@arvoretech/pi-git-review-bridge@0.1.1","bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","_integrity":"sha512-Ysumiibb8Z8+cGGEawwxICMiFBql4esCjf5xZBpahvPwz/SRSGuuioBS/syPnPm/4Wy/rsCSbk7Rb0tkkFImpA==","_resolved":"/tmp/arvoretech-pi-git-review-bridge-0.1.1.tgz","_from":"file:/tmp/arvoretech-pi-git-review-bridge-0.1.1.tgz","_nodeVersion":"22.23.1","_npmVersion":"11.18.0","dist":{"integrity":"sha512-Ysumiibb8Z8+cGGEawwxICMiFBql4esCjf5xZBpahvPwz/SRSGuuioBS/syPnPm/4Wy/rsCSbk7Rb0tkkFImpA==","shasum":"5ac6f46f4030d1818a29aabeada97c07dd4c5b36","tarball":"https://registry.npmjs.org/@arvoretech/pi-git-review-bridge/-/pi-git-review-bridge-0.1.1.tgz","fileCount":14,"unpackedSize":34161,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arvoretech%2fpi-git-review-bridge@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAuL0ccfl3QzL/hudEbNIwxd8oRrken0jCRFW2Dh2KcoAiEAqkPjQ4R4EBv7T8sUxDw8s4XUnNxLt3kSdQPPLzSkLGY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:9598ff1e-5243-4fba-87bd-370e8860ebc7"}},"directories":{},"maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-git-review-bridge_0.1.1_1783961915562_0.5478483553283102"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-13T16:24:01.116Z","modified":"2026-07-13T16:58:36.063Z","0.1.0":"2026-07-13T16:24:01.382Z","0.1.1":"2026-07-13T16:58:35.702Z"},"bugs":{"url":"https://github.com/arvoreeducacao/arvore-pi-extensions/issues"},"author":{"name":"Arvore"},"license":"MIT","homepage":"https://github.com/arvoreeducacao/arvore-pi-extensions#readme","keywords":["pi-package","pi","extension","git","code-review","pull-request"],"repository":{"type":"git","url":"git+https://github.com/arvoreeducacao/arvore-pi-extensions.git","directory":"packages/git-review-bridge"},"description":"PI extension that bridges a local pi session to the git-review-cloud PR reviewer: browser comments are delivered to the agent in real time over WebSocket","maintainers":[{"name":"joao.barros.arvore","email":"joao.barros@arvore.com.br"},{"name":"rafsouza","email":"rafasouza@protonmail.com"},{"name":"pedro.adas","email":"pedro.adas@gmail.com"},{"name":"guilhermebs","email":"guilhermebscontact@gmail.com"},{"name":"ricardoraposorfox","email":"ricardorbxx1@gmail.com"},{"name":"jott4","email":"jvgcunha2002@gmail.com"},{"name":"vitor.piovezan","email":"vitor.piovezan@arvore.com.br"}],"readme":"# @arvoretech/pi-git-review-bridge\n\nLocal pi extension that connects your running pi session to\n[`git-review-cloud`](../git-review-cloud). It is the only piece that touches pi:\nit opens an outbound WebSocket to the cloud hub, registers your session and its\nGitHub repos, and turns each browser review comment into a\n`pi.sendUserMessage(...)` — so the agent answers in **your** terminal.\n\n```\ncloud hub ──(wss /ws/bridge)──► this extension ──► pi.sendUserMessage(...)\n```\n\nNo inbound ports are opened locally. The bridge dials out to the cloud.\n\n## Commands\n\n- `/review-cloud-login` — GitHub **device flow**; stores a bridge token in\n  `~/.config/pi/git-review-cloud.json`.\n- `/review-cloud` — opens the cloud reviewer in your browser. Comments you make\n  there arrive as user messages in this pi session.\n\n## Config\n\n`~/.config/pi/git-review-cloud.json`:\n\n```jsonc\n{\n  \"cloudUrl\": \"https://git-review.arvore.dev\",\n  \"bridgeToken\": \"…\",   // written by /review-cloud-login\n  \"login\": \"you\"\n}\n```\n\n`cloudUrl` can also be set with the `GIT_REVIEW_CLOUD_URL` env var. Defaults to\n`https://git-review.arvore.dev`.\n\n## How repos are discovered\n\nOn session start the bridge scans the workspace for git repos (`.git` up to\ndepth 4, pruning `node_modules`) and reads each `origin` remote to build the list\nof `owner/name` slugs it reports to the cloud. The cloud lists open PRs for those\nslugs (that the GitHub App is installed on).\n\n## Message formatting\n\nThe wording sent to the agent (PR context primer, single comment, thread, batch)\nis identical to the local `@arvoretech/pi-git-review` extension — the formatters\nare duplicated here so the cloud stays agnostic about message shape.\n\n## Install\n\nWorkspace package. Build and load like the other extensions:\n\n```\npnpm --filter @arvoretech/pi-git-review-bridge build\n```\n","readmeFilename":"README.md"}