{"_id":"@agntn/forges","_rev":"12-6b25b35ff73e81870fd51d52176ee7d2","name":"@agntn/forges","dist-tags":{"latest":"0.3.6"},"versions":{"0.1.0":{"name":"@agntn/forges","version":"0.1.0","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.1.0","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://github.com/agntn/forges#readme","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"63aef5078d6deaf7df526f3332f68e6a22e2e1be","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.1.0.tgz","fileCount":41,"integrity":"sha512-uhpXJgzHTBXC4CHrRI6YKlp5jpuvZZuicjWbQPK3yc2RKE/VLQPQIyPBnGuJaXcp12oQ0QXhetCjzzdBXpIIpw==","signatures":[{"sig":"MEUCIBdrWAWEXptF5AaYyLsqcpO0aEjZYU6tugJ2330BsYR2AiEAkszs0qzPyopq6FaV0/MK0pJCKZuoGj11phWdZ4Jjfo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":527713},"main":"./dist/index.mjs","type":"module","_from":"file:agntn-forges-0.1.0.tgz","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"},"_resolved":"/tmp/24cfe253241c4e7ed02ff1fafd26e479/agntn-forges-0.1.0.tgz","_integrity":"sha512-uhpXJgzHTBXC4CHrRI6YKlp5jpuvZZuicjWbQPK3yc2RKE/VLQPQIyPBnGuJaXcp12oQ0QXhetCjzzdBXpIIpw==","repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"12.0.2","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","dependencies":{"citty":"^0.2.2","ofetch":"^1.3.4","typebox":"1.3.14","unstorage":"^1.10.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"oxfmt":"^0.36.0","obuild":"^0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"^5.8.0","@types/node":"^24.0.0","changelogen":"^0.6.2","@oh-my-pi/omptype":"17.3.7","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.1.0_1787944694601_0.9150961196576124","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agntn/forges","version":"0.2.0","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.2.0","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://github.com/agntn/forges#readme","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"a5743c9c2c7beb922bd7c22096807b120b372980","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.2.0.tgz","fileCount":41,"integrity":"sha512-sWyV8CngsSE92DiBYG3iNFd7FgV5MsmfUDjznpmKnR6j0UhBuwi/DaKzaRddtO49TVZGji6u8mrPgMvPEP6UrQ==","signatures":[{"sig":"MEUCIQC7sfdCw99/MarDgEZLdAgIwTSIAYIH9rAbAtO7134G+QIgcTApm9v96slUeLU+gYrqM50e/RtQsNzi43kkPUsYaE0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":527783},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"6d9ddb4779b8d3efd08b127b101695967dbc6c1c","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","dependencies":{"citty":"^0.2.2","ofetch":"^1.3.4","typebox":"1.3.14","unstorage":"^1.10.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"^0.36.0","obuild":"^0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"^5.8.0","@types/node":"^24.0.0","changelogen":"^0.6.2","@oh-my-pi/omptype":"17.3.7","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.2.0_1787944808892_0.4412505270891509","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@agntn/forges","version":"0.2.1","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.2.1","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://github.com/agntn/forges#readme","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"c28bb806d77e73f1f73edc74ce22fcd3bf0f3f5d","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.2.1.tgz","fileCount":41,"integrity":"sha512-xDnhG+/M8Q3Sl84RC3zYLSrXCwJlTCz1R220/EFMak9K6s2tBooRpK0INzH9xKDxWrAJyVYqHlMNZaIFjYFMlQ==","signatures":[{"sig":"MEUCIAOT4IJl3W4RSm6eDaFGhzsVj5jj5JOXxaVvXr6i2zhUAiEAiKsQm0QlBKB/w0bMzEaXcFdeLRarlhewB5o3icYC8tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":613137},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"6614c88735ebfa486f8e09ddce75f936f8d32d63","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","dependencies":{"citty":"^0.2.2","ofetch":"^1.3.4","typebox":"1.3.14","unstorage":"^1.10.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"^0.36.0","obuild":"^0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"^5.8.0","@types/node":"^24.0.0","changelogen":"^0.6.2","@oh-my-pi/omptype":"17.3.7","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.2.1_1788195744850_0.7963642970098925","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@agntn/forges","version":"0.2.2","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.2.2","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://github.com/agntn/forges#readme","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"2915538ed91bb30ceb737e608bc4025741441e52","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.2.2.tgz","fileCount":42,"integrity":"sha512-QGGVP9xlGzu3VRCv2Womu2aRu4nlvLvHpmzPDrmlTuOMcVSD4PTmX4uVaoPsKdz/w8AZP8fQaKvXAwYeBeemyQ==","signatures":[{"sig":"MEQCIAaiiBJv7Ff0HCH8glLycm7qAKRShD0WuLFFrJRjZ0DvAiAoIUB/jUctEvE0RsgUofdtajzBqbqvEhKzxzGP6TeCRg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":630721},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"df117b74d8760325346a0e185939108a797aab98","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.0","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.8.1","dependencies":{"citty":"^0.2.2","ofetch":"^1.3.4","typebox":"1.3.14","unstorage":"^1.10.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"^0.36.0","obuild":"^0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"^5.8.0","@types/node":"^24.0.0","changelogen":"^0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.2.2_1788284143676_0.17861673189862493","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@agntn/forges","version":"0.2.3","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.2.3","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"aab87bee3303550eb135c97c75d9750affc4fd48","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.2.3.tgz","fileCount":42,"integrity":"sha512-I5pxV7lT72QBb7Mmnsg3caSGLG+AxolBqOUgwkISg4k5ygHjBuyltvuaS5W9GcfL45DBbdfZU5/G5LjOK6OKcQ==","signatures":[{"sig":"MEUCIE+gWWupbnrLo9Tn+6KLo/I5+DmvMSrkoe611ftdSMiGAiEAvXRcfnlDebM3LLjnAf9JY6tvxAi8tEdTF9g8AwC6JDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDJSreybnigNz7Sbuu+ypb4E/lnrhVkYeFgvGORPsJ+tQIgB7YTtshE2BBx91umOfhlkZsH6d4orpMt8l0yLsnJblk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":629605},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"d8f08ae06fecdd9d58caebd7c71f0695d855de4e","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","docs":"pnpm --dir docs dev","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.8.2","dependencies":{"citty":"^0.2.2","ofetch":"^1.3.4","typebox":"1.3.14","unstorage":"^1.10.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"^0.36.0","obuild":"^0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"^5.8.0","@types/node":"^24.0.0","changelogen":"^0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.2.3_1789239597384_0.3668092043611755","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@agntn/forges","version":"0.3.0","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.3.0","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"cd8d140ec278c351aadb2b78e0f8ae60bf84e99c","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.0.tgz","fileCount":50,"integrity":"sha512-qb31UORVbp8C8DOBv9E5mXjYeLJPqdOvbShDeWxQ5eU35jmyOrGne8BVcVHnejW2vZImsF+1QV4zBaC862oy6Q==","signatures":[{"sig":"MEYCIQCgi8M07r4DxQBUctZKTMMTBnhJEOlsSUpQnzGWXo4yQAIhAMbRnwM8KqeJrKCD0pntsd5f7SSyrCVtPruXeCTMTTjE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA5n1O2hibCD72E7KIfqCeX/WP6VPSA8VeNXTQ93bOxJAiEAsMJ2j9fdcBeUk3TBuwSMLtaW0RkuQhZWdDg1t9SisvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":678223},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"b2c16fa8be4a4a0d5685e7868dccb08717edc76d","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","docs":"pnpm --dir docs dev","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"^0.2.2","ofetch":"^1.3.4","typebox":"1.3.14","unstorage":"^1.10.2","@modelcontextprotocol/sdk":"^1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"^0.36.0","obuild":"^0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"^5.8.0","@types/node":"^24.0.0","changelogen":"^0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.3.0_1789650116376_0.20244950399636386","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@agntn/forges","version":"0.3.1","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.3.1","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"56e19ce474f3f188e263c9b59e5b8de1d494246d","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.1.tgz","fileCount":50,"integrity":"sha512-tvlAuW3q78gv/j2pmFFux5XGZUBto2i24o32CtoHrLj0Tf5khWAmogbGHEW5a/b+0YxoTTpNihfwEQYQAiEvlA==","signatures":[{"sig":"MEQCIFZzPzTAx06NBSLdTicJvCOM1Ow4I5k5PMqQeadLqY+7AiBE81ZPfb+F4dqvA/Ern1645X9EgTURIBYbjsyFmLVg0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9LH38MaWSaRPrRVTPgVwEch5NfW2bK0atZbuen3jBFwIhAJwke6CA63pGVl97Y52UHciLkrNvDL9FpU1ljYGYOEUk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":678327},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"d24188a5505790ff43fe6acf503ce514c4476690","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","docs":"pnpm --dir docs dev","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"0.2.2","ofetch":"1.5.1","typebox":"1.3.14","unstorage":"1.17.4","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"^0.36.0","obuild":"0.4.31","oxlint":"^1.80.0","vitest":"^3.2.0","typescript":"5.9.3","@types/node":"24.11.0","changelogen":"0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.3.1_1789753638669_0.8544881228912211","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@agntn/forges","version":"0.3.2","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.3.2","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"image":"https://forges.agntn.dev/image.png","extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"c67da5cf0f5f58e81ba0399084200e9e02df8074","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.2.tgz","fileCount":50,"integrity":"sha512-AWT+rKYN6JSBNChvwPKTIeDOKZza5UbNd6En0JeoqjYUdUcNG31zJQw3yEZzbpgeurBywi2pDk71AzV/Uw1UPw==","signatures":[{"sig":"MEYCIQDQAQJopPOsLS6e0rabqC+BIbV6SoK2J7pV6m47DTRzCQIhAKzczAz3g/QP712y4kP4FQvlMjraePXXDDYTHlSZp9z9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC61K/J9qwNDLTB//zASK+wogfa35l1M4m7OGqW7cgfpwIgZcqd2T2u7+lIpoW6reiKXyUcZs0IK4U305A7LFZkNV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":710823},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"792e3b606c3cb3a1f1c41dd4918dd14ee8b3a4ca","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","docs":"pnpm --dir docs dev","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"0.2.2","ofetch":"1.5.1","typebox":"1.3.14","unstorage":"1.17.4","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"0.36.0","obuild":"0.4.31","oxlint":"1.80.0","vitest":"3.2.4","typescript":"5.9.3","@types/node":"24.11.0","changelogen":"0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.3.2_1789828104315_0.9276300275132063","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@agntn/forges","version":"0.3.3","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.3.3","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"image":"https://forges.agntn.dev/image.png","extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"b97668f5d9bd791e411697855ba2cdddd5818e4e","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.3.tgz","fileCount":53,"integrity":"sha512-tkjxjD9T1HS/O+qvRmWb7FdU1r4J5ehHHwPrgv45cWTM0MUab9ooCqzSFOB54FksnVsi+0olBgIBOlFMKXSsoQ==","signatures":[{"sig":"MEUCIQDSj6CW1/dyAjKIrjyfpH4BT9ZwsKRI9JHIA1pyNRUjZQIgT2IFGMHp106yMvsYgFr04nA52464hC6ATevNmJdELhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF9OmsEZHiPAWvGbQra5tK0eJYnr0DKWegFRBruzHgTeAiBy3Nsb7CBZNpeSdw4P8ZcPEhbY1KXN0/PfBv9hOmOTOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":661832},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./local":{"types":"./dist/local.d.mts","import":"./dist/local.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"82ec5cf899d5eb4517c74a087afd5fe816a37401","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","docs":"pnpm --dir docs dev","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"0.2.2","ofetch":"1.5.1","typebox":"1.3.33","unstorage":"1.17.5","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"0.36.0","obuild":"0.4.40","oxlint":"1.80.0","vitest":"3.2.7","typescript":"5.9.3","@types/node":"24.11.2","changelogen":"0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.3.3_1789993313761_0.6489073969173906","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@agntn/forges","version":"0.3.4","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.3.4","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"image":"https://forges.agntn.dev/image.png","extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"bad621eb0c98f0b572081032366f799bae9dad35","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.4.tgz","fileCount":53,"integrity":"sha512-YwwjKn66RtyadMzdowH05zCzSS22P+MjrSeoGqVw+LAFQ+Ot3kcAXNleiSKAKQVdP3G9x+caOgwrQSsbQ3lJxQ==","signatures":[{"sig":"MEQCH33iJep5myZTxoGsWVRXZmlpbyIE/KhFQiPJh5aLTQ4CIQCJ2tl3hK2lk9rLmpwTsfegrTO5laJLRhVNvpX4fyCdZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICrLU+k90cj7zRUY6eSXlzfM0/E2JKjhNsv25Rzag2wcAiEAhjnI5QzHi+5GDU1i9sjU71IZgC2daYnArRHrBj32pS4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":735280},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./local":{"types":"./dist/local.d.mts","import":"./dist/local.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"5e23d3eb0079df44da87f0e2299ed9c786b3a542","scripts":{"dev":"obuild --stub","fmt":"oxlint . --fix && oxfmt .","docs":"pnpm --dir docs dev","lint":"oxlint --deny-warnings . && oxfmt --check .","test":"vitest","build":"obuild","prepack":"pnpm run build","release":"pnpm test:run && pnpm build && changelogen --release --push","test:run":"vitest --run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"0.2.2","ofetch":"1.5.1","typebox":"1.3.33","unstorage":"1.17.5","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"oxfmt":"0.36.0","obuild":"0.4.40","oxlint":"1.80.0","vitest":"3.2.7","typescript":"5.9.3","@types/node":"24.11.2","changelogen":"0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.3.4_1790119564343_0.4857832202710597","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@agntn/forges","version":"0.3.5","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","_id":"@agntn/forges@0.3.5","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"homepage":"https://forges.agntn.dev","bugs":{"url":"https://github.com/agntn/forges/issues"},"pi":{"image":"https://forges.agntn.dev/image.png","extensions":["./packages/pi/extensions/forges.ts"]},"bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"dist":{"shasum":"af3281cac969e152a94ea0ddba321dbab4b950f7","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.5.tgz","fileCount":54,"integrity":"sha512-nzHoZH0jD1+HiPaZheUEy9M9Ts+vdc8y8vV/7NHeyKsg7W9OwFvbtJX7L6p3k6yGqDx7WGUVjpprzEfum6LR4A==","signatures":[{"sig":"MEUCIQCAeZuqs3Gk6pQaYq4xH/j/owdL3QJlYAKodvDRbrPiqwIgIoNLIQKE9fUXbyTU1BmUaHXy7IgTePE+wN2ZCliI7oU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAZX4oLpPZok0IC2BK22PF7ZXboQgWBPEeNshmuXurzaAiEA8FNJTlWYfS2GOTSbTdnTWKrvRM8/cIbhgDIzzfV4bls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":796014},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./local":{"types":"./dist/local.d.mts","import":"./dist/local.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"4c0281d80419de69a80ff3ca35a6f076938d7554","scripts":{"dev":"vp pack --watch","fmt":"vp lint --fix && vp fmt","docs":"pnpm --dir docs dev","lint":"vp lint --deny-warnings && vp fmt --check","test":"vp test watch","build":"vp pack","prepack":"vp pack","release":"vp test run && vp pack && changelogen --release --push","test:run":"vp test run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"0.2.2","ofetch":"1.5.1","typebox":"1.3.33","unstorage":"1.17.5","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"vite":"catalog:","vite-plus":"catalog:","typescript":"5.9.3","@types/node":"24.11.2","changelogen":"0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/forges_0.3.5_1790195971867_0.6924560634964045","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"pi":{"image":"https://forges.agntn.dev/image.png","extensions":["./packages/pi/extensions/forges.ts"]},"_id":"@agntn/forges@0.3.6","bin":{"forges":"dist/cli.mjs"},"omp":{"extensions":["./packages/omp/extensions/forges.ts"]},"bugs":{"url":"https://github.com/agntn/forges/issues"},"dist":{"shasum":"91175af25edce3a07d730270f0bd793d7be7ee3e","tarball":"https://registry.npmjs.org/@agntn/forges/-/forges-0.3.6.tgz","fileCount":53,"integrity":"sha512-bTX7z97TaoY+fEIKTb/kftiNLB1aehrJRs5x2XaF+TJ0zhHD195YsCu6P0u8YZoiDOQSm2UzQToysKrPEXSm1g==","signatures":[{"sig":"MEYCIQDommG7Qe2Z97S2SODrb8RTp3b1evU8zQZqc6D0UNhIuQIhAIEetG3af1KSKLKhYLeNZmVZk1UlHs+PiW52t4GFHOq7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDAgyzQueswdpq5Lt3ERpNy41Xycul39ECk7jasKxURmwIgZNFPu1jVwx28E0H+okWhWtZXHcbk21de/ougcAQCzHU="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agntn%2fforges@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":813927},"main":"./dist/index.mjs","name":"@agntn/forges","type":"module","types":"./dist/index.d.mts","author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./mcp":{"types":"./dist/mcp.d.mts","import":"./dist/mcp.mjs"},"./gitea":{"types":"./dist/gitea.d.mts","import":"./dist/gitea.mjs"},"./local":{"types":"./dist/local.d.mts","import":"./dist/local.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./github":{"types":"./dist/github.d.mts","import":"./dist/github.mjs"},"./gitlab":{"types":"./dist/gitlab.d.mts","import":"./dist/gitlab.mjs"},"./provider":{"types":"./dist/provider.d.mts","import":"./dist/provider.mjs"}},"gitHead":"ce4e9608405dfbc9f93f11a22e7ffde8d171ef3b","license":"MIT","scripts":{"dev":"vp pack --watch","fmt":"vp lint --fix && vp fmt","docs":"pnpm --dir docs dev","lint":"vp lint --deny-warnings && vp fmt --check","test":"vp test watch","build":"vp pack","prepack":"vp pack","release":"vp test run && vp pack && changelogen --release --push","test:run":"vp test run","typecheck":"tsc --noEmit && pnpm build && tsc --noEmit -p tsconfig.extensions.json","docs:build":"pnpm --dir docs build","test:packed":"node --experimental-strip-types test/eval-packed-extensions.mjs"},"version":"0.3.6","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:36c4ddd2-b43e-4a8f-a0ae-3aca9d8f2ecc"}},"homepage":"https://forges.agntn.dev","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"_npmVersion":"11.19.1","description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","directories":{},"maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"sideEffects":false,"_nodeVersion":"26.9.0","dependencies":{"citty":"0.2.2","ofetch":"1.5.1","typebox":"1.3.33","unstorage":"1.17.5","@modelcontextprotocol/sdk":"1.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.12.1","devDependencies":{"vite":"catalog:","vite-plus":"catalog:","typescript":"5.9.3","@types/node":"24.11.2","changelogen":"0.6.2","@oh-my-pi/omptype":"17.3.7","@earendil-works/pi-tui":"0.84.2","@oh-my-pi/pi-coding-agent":"17.3.7","@earendil-works/pi-coding-agent":"0.84.2"},"peerDependencies":{"typebox":">=1.3.7 <2","@earendil-works/pi-tui":">=0.84.1 <1","@oh-my-pi/pi-coding-agent":">=17.3.7 <18","@earendil-works/pi-coding-agent":">=0.84.1 <1"},"peerDependenciesMeta":{"@earendil-works/pi-tui":{"optional":true},"@oh-my-pi/pi-coding-agent":{"optional":true},"@earendil-works/pi-coding-agent":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/forges_0.3.6_1790345586765_0.3612607314838032"}}},"time":{"created":"2026-08-28T19:18:14.464Z","modified":"2026-09-25T14:13:07.348Z","0.1.0":"2026-08-28T19:18:14.817Z","0.2.0":"2026-08-28T19:20:09.051Z","0.2.1":"2026-08-31T17:02:25.050Z","0.2.2":"2026-09-01T17:35:43.823Z","0.2.3":"2026-09-12T18:59:57.524Z","0.3.0":"2026-09-17T13:01:56.486Z","0.3.1":"2026-09-18T17:47:18.768Z","0.3.2":"2026-09-19T14:28:24.402Z","0.3.3":"2026-09-21T12:21:53.851Z","0.3.4":"2026-09-22T23:26:04.451Z","0.3.5":"2026-09-23T20:39:31.959Z","0.3.6":"2026-09-25T14:13:06.919Z"},"bugs":{"url":"https://github.com/agntn/forges/issues"},"author":{"url":"https://github.com/oritwoen","name":"oritwoen"},"license":"MIT","homepage":"https://forges.agntn.dev","keywords":["api","git","gitbucket","gitea","github","gitlab","mcp","omp-extension","pi-package","provider","unified"],"repository":{"url":"git+https://github.com/agntn/forges.git","type":"git"},"description":"Unified Git Provider - single TypeScript API for GitHub, GitLab, Gitea, and GitBucket","maintainers":[{"name":"oritwoen","email":"dominik.opyd+1@gmail.com"}],"readme":"# @agntn/forges\n\n[![npm version](https://npmx.dev/api/registry/badge/version/@agntn/forges)](https://npmx.dev/package/@agntn/forges)\n[![npm downloads](https://npmx.dev/api/registry/badge/downloads/@agntn/forges)](https://npmx.dev/package/@agntn/forges)\n[![license](https://npmx.dev/api/registry/badge/license/@agntn/forges)](https://npmx.dev/package/@agntn/forges)\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/agntn/forges)\n\n⚒️ Four forges, ten resources, 49 agent tools. You ask for a pull request, you get a pull request.\n\n## Why?\n\nEvery Git host does the same job and none of them agree on the words. Pull request or merge request, `per_page` or `limit`, `Link` or `x-next-page`, and GitLab's URL number is the `iid` not the `id`. An agent with four clients will pick the wrong number. Talk to one `Provider` and let it remember which header is which.\n\nDocs, and an explorer that runs the same calls: [forges.agntn.dev](https://forges.agntn.dev).\n\n## ✨ Features\n\n- 🧩 **Four forges, one `Provider`.** GitHub, GitLab, Gitea and GitBucket. Same `repos.get`, same `Issue`, same `PullRequest`.\n- 🔑 **It finds the token.** Explicit value, then env, then `gh` or `glab`, then the CLI config file. First hit wins.\n- 📦 **Loads one platform.** `createProvider(\"github\")` is async. It imports GitHub and leaves GitLab on disk.\n- 🆔 **IDs are strings.** Even when the API sent a number. A count the forge withholds is missing, not `0`.\n- 🫥 **Empty string is guest.** `{ token: \"\" }` is anonymous on purpose. Leave `token` out and you get `AuthenticationError`, not a quiet guest session.\n- 🤖 **49 tools, three surfaces.** MCP, Pi and OMP share the executors. Eleven tools write to the host.\n- 🚫 **Missing is 501.** Code search on Gitea is not an empty page. You get a `ForgesError` with status 501.\n- 🧭 **GitBucket is GitHub plus `baseURL`.** Forgejo and Codeberg are Gitea plus `baseURL`. Same class, different host.\n\n## 📦 Install\n\n```bash\npnpm add @agntn/forges\n```\n\nNode.js 22 or newer.\n\n## 🚀 First call\n\n```ts\nimport { createProvider } from \"@agntn/forges\";\n\nconst codeberg = await createProvider(\"gitea\", {\n  token: \"\",\n  baseURL: \"https://codeberg.org\",\n});\n\nconst repo = await codeberg.repos.get(\"forgejo\", \"forgejo\");\nconsole.log(repo.fullName, repo.description, repo.defaultBranch);\n```\n\n```\nforgejo/forgejo Beyond coding. We forge. forgejo\n```\n\nThey said it, not me. No key. You still pass the host. Empty string is guest.\n\nLogged into `gh`? Drop the config object.\n\n```ts\nconst github = await createProvider(\"github\");\nconst hello = await github.repos.get(\"octocat\", \"Hello-World\");\nconsole.log(hello.fullName, hello.description, hello.defaultBranch);\n```\n\n```\noctocat/Hello-World My first repository on GitHub! master\n```\n\nGitHub's first hello. Default branch is still `master`.\n\n### Commands\n\n| Command | What it does            | Example      |\n| ------- | ----------------------- | ------------ |\n| `mcp`   | The MCP server on stdio | `forges mcp` |\n\nThere is no `forges repos`. MCP is the whole binary. `pnpm exec forges mcp` after install, or `pnpm add -g @agntn/forges` once.\n\n## 🧠 Library\n\n```ts\nimport { createProvider } from \"@agntn/forges\";\n\nconst github = await createProvider(\"github\");\nconst repo = await github.repos.get(\"octocat\", \"Hello-World\");\n\nconst { items, hasNextPage } = await github.pullRequests.list(\"octocat\", \"Hello-World\", {\n  state: \"open\",\n});\n\nconst gitlab = await createProvider(\"gitlab\", {\n  token: \"glpat-…\",\n  baseURL: \"https://gitlab.example.com\",\n});\nconst gitbucket = await createProvider(\"github\", {\n  token: \"…\",\n  baseURL: \"https://gitbucket.example.com/api/v3\",\n});\n```\n\nTen resources on every provider. `repos`, `issues`, `pullRequests`, `threads`. Then `commits`, `ciRuns`, `releases`, `contributionTemplates`, `code`, `users`. Lists come back as `items` plus `hasNextPage`. `totalCount` only when the forge counted. Search adds `incomplete` when the answer is known to be partial. Guides: [Authentication](https://forges.agntn.dev/guide/auth), [Repositories](https://forges.agntn.dev/guide/repositories), [Issues](https://forges.agntn.dev/guide/issues), [Pull requests](https://forges.agntn.dev/guide/pull-requests), [Review threads](https://forges.agntn.dev/guide/threads), [Commits, CI and releases](https://forges.agntn.dev/guide/commits), [Templates](https://forges.agntn.dev/guide/templates), [Code search](https://forges.agntn.dev/guide/code-search).\n\n### Local Git\n\n`@agntn/forges/local` checks a fetched checkout without changing it. Git with `--no-lazy-fetch` support must be on `PATH`; inspection also needs `ls-files --deduplicate`.\n\n```ts\nimport { inspectLocal, verifyLocalMerge } from \"@agntn/forges/local\";\n\nconst inspection = await inspectLocal({\n  cwd: \"/path/to/checkout\",\n  paths: [\"*AGENTS.md\"],\n  historyLimit: 3,\n});\n\nconst evidence = await verifyLocalMerge({\n  cwd: \"/path/to/checkout\",\n  head: \"topic\",\n  mergeCommit: \"66c39f4bccd275e930420f408b7c311b9c494af8\",\n  target: \"origin/main\",\n  paths: [\"package.json\", \"README.md\"],\n});\nconsole.log(evidence.mergeReachable, evidence.pathsMatch);\n```\n\nStatus rows and tracked files are paged separately. Continue with `statusOffset: inspection.nextStatusOffset` or `filesOffset: inspection.nextFilesOffset` until it's `null`, keeping `paths` unchanged. The [agent guide](https://forges.agntn.dev/guide/agents) covers limits and concurrent edits.\n\nReplace the sample `mergeCommit` with the forge's actual merge or squash SHA for that PR, not the current target tip. The two booleans answer different questions: is that commit in the target's local history, and do the selected paths match the PR head? Neither authorizes deleting a branch. Details and limits: [Agents](https://forges.agntn.dev/guide/agents#local-merge-verification).\n\n## 🗺️ Providers\n\n| Platform                                                             | Provider             | Auth header            | Threads                       | Code search                        |\n| -------------------------------------------------------------------- | -------------------- | ---------------------- | ----------------------------- | ---------------------------------- |\n| [GitHub](https://forges.agntn.dev/platforms/github)                  | `github`             | `Authorization: token` | GraphQL, real flags           | global, owner, repository          |\n| [GitLab](https://forges.agntn.dev/platforms/gitlab)                  | `gitlab`             | `Private-Token`        | REST discussions              | token required, Premium for global |\n| [Gitea, Forgejo, Codeberg](https://forges.agntn.dev/platforms/gitea) | `gitea` + `baseURL`  | `Authorization: token` | one thread per review comment | none                               |\n| [GitBucket](https://forges.agntn.dev/platforms/gitbucket)            | `github` + `baseURL` | `Authorization: token` | none                          | none                               |\n\nCode search on Gitea is a 501, not an empty page. Host pages: [Platforms](https://forges.agntn.dev/platforms).\n\n## 🤖 Agents\n\n```bash\nforges mcp\npi install npm:@agntn/forges\nomp install @agntn/forges\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"forges\": { \"command\": \"npx\", \"args\": [\"-y\", \"@agntn/forges\", \"mcp\"] }\n  }\n}\n```\n\nMCP, Pi and OMP all hit the same 49 tools. Eleven write to the host, so ask `forges_users_authenticated` who you are before a model does, details in the [Agents](https://forges.agntn.dev/guide/agents) guide.\n\n## 🚫 What this does not do\n\nHosted files, trees, branches, plain tags, release assets, webhooks, org admin. The review loop is the scope: what was proposed, what was said, whether it passed, what shipped.\n\n## 🧩 Adding a provider\n\nA class extending `Provider`, the typed mappers, and a 501 for every method you skip. Copy from [Custom providers](https://forges.agntn.dev/guide/custom).\n\n## 🛠️ Development\n\n```bash\npnpm install\npnpm test        # vp test in watch mode\npnpm test:run    # single run, as CI does\npnpm typecheck   # tsc, then build, then the extension graph\npnpm lint\npnpm docs        # the site, it bundles src/\npnpm run build   # vp pack\n```\n\n## 💛 Thanks\n\nI wrote a lot of this with help from [Claude for Open Source](https://claude.com/contact-sales/claude-for-oss) and [Codex for Open Source](https://developers.openai.com/community/codex-for-oss). Grateful for both <3\n\n## 📄 License\n\n[MIT](./LICENSE)\n","readmeFilename":"README.md"}